diff --git a/frontend/index.html b/frontend/index.html index 6dc69508..f6941ce7 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -13,6 +13,6 @@ - + \ No newline at end of file diff --git a/frontend/main.453d519df5a5d71c.js b/frontend/main.6bd99fe2d1e0d6f8.js similarity index 51% rename from frontend/main.453d519df5a5d71c.js rename to frontend/main.6bd99fe2d1e0d6f8.js index 503d6161..ae29b8e0 100644 --- a/frontend/main.453d519df5a5d71c.js +++ b/frontend/main.6bd99fe2d1e0d6f8.js @@ -1,2 +1,2 @@ -(self.webpackChunkRTLApp=self.webpackChunkRTLApp||[]).push([["main"],{429:(Ue,q,m)=>{"use strict";m.d(q,{$A:()=>Fe,$W:()=>_e,BL:()=>N,CN:()=>p,CX:()=>S,EG:()=>I,EK:()=>w,El:()=>ye,HI:()=>o,HJ:()=>M,I8:()=>z,JK:()=>it,Lu:()=>W,Ly:()=>te,Ni:()=>_,Nr:()=>Ze,OG:()=>F,QJ:()=>Ve,RX:()=>P,Rd:()=>Ie,SN:()=>A,Sf:()=>X,TM:()=>d,UH:()=>pe,UR:()=>B,VD:()=>H,WM:()=>xe,WO:()=>y,Wi:()=>Le,X3:()=>$,YP:()=>ve,YX:()=>C,Z8:()=>ce,ZH:()=>le,Zu:()=>Oe,_9:()=>Ut,_E:()=>ie,aL:()=>et,as:()=>v,cQ:()=>n,d7:()=>un,dh:()=>Re,e9:()=>Bt,eF:()=>k,eM:()=>ee,en:()=>yn,g3:()=>Z,g6:()=>ht,i9:()=>_t,kL:()=>L,n7:()=>ke,oV:()=>h,oo:()=>s,pW:()=>a,pd:()=>u,u0:()=>je,uT:()=>Ct,v_:()=>Ke,wD:()=>D,xH:()=>E,xS:()=>Q,yl:()=>j,z:()=>he});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.AB.UPDATE_API_CALL_STATUS_CLN,(0,e.Ky)()),E=(0,e.PH)(t.AB.RESET_CLN_STORE,(0,e.Ky)()),s=(0,e.PH)(t.AB.SET_CHILD_NODE_SETTINGS_CLN,(0,e.Ky)()),D=(0,e.PH)(t.AB.FETCH_PAGE_SETTINGS_CLN),u=(0,e.PH)(t.AB.SET_PAGE_SETTINGS_CLN,(0,e.Ky)()),k=(0,e.PH)(t.AB.SAVE_PAGE_SETTINGS_CLN,(0,e.Ky)()),p=(0,e.PH)(t.AB.FETCH_INFO_CLN,(0,e.Ky)()),S=(0,e.PH)(t.AB.SET_INFO_CLN,(0,e.Ky)()),A=(0,e.PH)(t.AB.FETCH_FEES_CLN),P=(0,e.PH)(t.AB.SET_FEES_CLN,(0,e.Ky)()),M=(0,e.PH)(t.AB.FETCH_FEE_RATES_CLN,(0,e.Ky)()),z=(0,e.PH)(t.AB.SET_FEE_RATES_CLN,(0,e.Ky)()),I=(0,e.PH)(t.AB.FETCH_BALANCE_CLN),W=(0,e.PH)(t.AB.SET_BALANCE_CLN,(0,e.Ky)()),Z=(0,e.PH)(t.AB.FETCH_LOCAL_REMOTE_BALANCE_CLN),Q=(0,e.PH)(t.AB.SET_LOCAL_REMOTE_BALANCE_CLN,(0,e.Ky)()),ie=(0,e.PH)(t.AB.GET_NEW_ADDRESS_CLN,(0,e.Ky)()),_e=((0,e.PH)(t.AB.SET_NEW_ADDRESS_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.FETCH_PEERS_CLN)),ce=(0,e.PH)(t.AB.SET_PEERS_CLN,(0,e.Ky)()),ye=(0,e.PH)(t.AB.SAVE_NEW_PEER_CLN,(0,e.Ky)()),$=((0,e.PH)(t.AB.NEWLY_ADDED_PEER_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.ADD_PEER_CLN,(0,e.Ky)())),he=(0,e.PH)(t.AB.DETACH_PEER_CLN,(0,e.Ky)()),w=(0,e.PH)(t.AB.REMOVE_PEER_CLN,(0,e.Ky)()),n=(0,e.PH)(t.AB.FETCH_PAYMENTS_CLN),o=(0,e.PH)(t.AB.SET_PAYMENTS_CLN,(0,e.Ky)()),h=(0,e.PH)(t.AB.SEND_PAYMENT_CLN,(0,e.Ky)()),d=(0,e.PH)(t.AB.SEND_PAYMENT_STATUS_CLN,(0,e.Ky)()),y=(0,e.PH)(t.AB.GET_QUERY_ROUTES_CLN,(0,e.Ky)()),L=(0,e.PH)(t.AB.SET_QUERY_ROUTES_CLN,(0,e.Ky)()),B=(0,e.PH)(t.AB.FETCH_CHANNELS_CLN),v=(0,e.PH)(t.AB.SET_CHANNELS_CLN,(0,e.Ky)()),a=(0,e.PH)(t.AB.UPDATE_CHANNEL_CLN,(0,e.Ky)()),C=(0,e.PH)(t.AB.SAVE_NEW_CHANNEL_CLN,(0,e.Ky)()),N=(0,e.PH)(t.AB.CLOSE_CHANNEL_CLN,(0,e.Ky)()),F=(0,e.PH)(t.AB.REMOVE_CHANNEL_CLN,(0,e.Ky)()),X=(0,e.PH)(t.AB.PEER_LOOKUP_CLN,(0,e.Ky)()),Fe=(0,e.PH)(t.AB.CHANNEL_LOOKUP_CLN,(0,e.Ky)()),ke=(0,e.PH)(t.AB.INVOICE_LOOKUP_CLN,(0,e.Ky)()),Ke=(0,e.PH)(t.AB.SET_LOOKUP_CLN,(0,e.Ky)()),je=(0,e.PH)(t.AB.GET_FORWARDING_HISTORY_CLN,(0,e.Ky)()),Ve=(0,e.PH)(t.AB.SET_FORWARDING_HISTORY_CLN,(0,e.Ky)()),xe=(0,e.PH)(t.AB.FETCH_INVOICES_CLN,(0,e.Ky)()),Ze=(0,e.PH)(t.AB.SET_INVOICES_CLN,(0,e.Ky)()),Ie=(0,e.PH)(t.AB.SAVE_NEW_INVOICE_CLN,(0,e.Ky)()),ve=(0,e.PH)(t.AB.ADD_INVOICE_CLN,(0,e.Ky)()),et=(0,e.PH)(t.AB.UPDATE_INVOICE_CLN,(0,e.Ky)()),ht=(0,e.PH)(t.AB.DELETE_EXPIRED_INVOICE_CLN,(0,e.Ky)()),Le=(0,e.PH)(t.AB.SET_CHANNEL_TRANSACTION_CLN,(0,e.Ky)()),te=((0,e.PH)(t.AB.SET_CHANNEL_TRANSACTION_RES_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.FETCH_UTXOS_CLN)),pe=(0,e.PH)(t.AB.SET_UTXOS_CLN,(0,e.Ky)()),ee=(0,e.PH)(t.AB.FETCH_OFFER_INVOICE_CLN,(0,e.Ky)()),H=(0,e.PH)(t.AB.SET_OFFER_INVOICE_CLN,(0,e.Ky)()),j=(0,e.PH)(t.AB.FETCH_OFFERS_CLN),Oe=(0,e.PH)(t.AB.SET_OFFERS_CLN,(0,e.Ky)()),Re=(0,e.PH)(t.AB.SAVE_NEW_OFFER_CLN,(0,e.Ky)()),le=(0,e.PH)(t.AB.ADD_OFFER_CLN,(0,e.Ky)()),_t=(0,e.PH)(t.AB.DISABLE_OFFER_CLN,(0,e.Ky)()),it=(0,e.PH)(t.AB.UPDATE_OFFER_CLN,(0,e.Ky)()),Ct=(0,e.PH)(t.AB.FETCH_OFFER_BOOKMARKS_CLN),un=(0,e.PH)(t.AB.SET_OFFER_BOOKMARKS_CLN,(0,e.Ky)()),Bt=(0,e.PH)(t.AB.ADD_UPDATE_OFFER_BOOKMARK_CLN,(0,e.Ky)()),Ut=(0,e.PH)(t.AB.DELETE_OFFER_BOOKMARK_CLN,(0,e.Ky)()),yn=(0,e.PH)(t.AB.REMOVE_OFFER_BOOKMARK_CLN,(0,e.Ky)())},4947:(Ue,q,m)=>{"use strict";m.d(q,{J:()=>$});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(2340),p=m(1786),S=m(5566),A=m(7731),P=m(7861),M=m(429),z=m(9828),I=m(1462),W=m(2560),Z=m(8987),Q=m(9263),ie=m(5986),ae=m(62),_e=m(5043),ce=m(3547),ye=m(3512),ue=m(4666);class ${constructor(w,n,o,h,d,y,L,B,v){this.actions=w,this.httpClient=n,this.store=o,this.sessionService=h,this.commonService=d,this.logger=y,this.router=L,this.wsService=B,this.location=v,this.CHILD_API_URL=k.T5+"/cln",this.flgInitialized=!1,this.unSubs=[new t.x,new t.x,new t.x],this.infoFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_INFO_CLN),(0,E.z)(a=>(this.flgInitialized=!1,this.store.dispatch((0,P.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.INITIATED}})),this.store.dispatch((0,P.ac)({payload:A.m6.GET_NODE_INFO})),this.httpClient.get(this.CHILD_API_URL+k.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(A.pg.SET_SELECTED_NODE))),(0,D.U)(C=>(this.logger.info(C),C.chains&&C.chains.length&&C.chains[0]&&"object"==typeof C.chains[0]&&C.chains[0].hasOwnProperty("chain")&&C?.chains[0].chain&&C?.chains[0].chain.toLowerCase().indexOf("bitcoin")<0&&C?.chains[0].chain.toLowerCase().indexOf("liquid")<0?(this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.GET_NODE_INFO})),this.store.dispatch((0,P.ts)()),setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:A.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}}}))},500),{type:A.pg.LOGOUT}):(this.initializeRemainingData(C,a.payload.loadPage),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.GET_NODE_INFO})),{type:A.AB.SET_INFO_CLN,payload:C||{}}))),(0,u.K)(C=>{const N=this.commonService.extractErrorCode(C),F="ETIMEDOUT"===N?"Unable to Connect to Core Lightning Server.":this.commonService.extractErrorMessage(C);return this.router.navigate(["/error"],{state:{errorCode:N,errorMessage:F}}),this.handleErrorWithoutAlert("FetchInfo",A.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:N,error:F}),(0,_.of)({type:A.pg.VOID})})))))),this.fetchFeesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_FEES_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchFees",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchFees",status:A.Bn.COMPLETED}})),{type:A.AB.SET_FEES_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchFees",A.m6.NO_SPINNER,"Fetching Fees Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchFeeRatesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_FEE_RATES_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchFeeRates"+a.payload,status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/feeRates/"+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchFeeRates"+a.payload,status:A.Bn.COMPLETED}})),{type:A.AB.SET_FEE_RATES_CLN,payload:C||{}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchFeeRates"+a.payload,A.m6.NO_SPINNER,"Fetching Fee Rates Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.fetchBalanceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_BALANCE_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchBalance",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.BALANCE_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchBalance",status:A.Bn.COMPLETED}})),{type:A.AB.SET_BALANCE_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchBalance",A.m6.NO_SPINNER,"Fetching Balances Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchLocalRemoteBalanceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_LOCAL_REMOTE_BALANCE_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchLocalRemoteBalance",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/localRemoteBalance"))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchLocalRemoteBalance",status:A.Bn.COMPLETED}})),{type:A.AB.SET_LOCAL_REMOTE_BALANCE_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchLocalRemoteBalance",A.m6.NO_SPINNER,"Fetching Balances Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.getNewAddressCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_NEW_ADDRESS_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"?type="+a.payload.addressCode).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.GENERATE_NEW_ADDRESS})),{type:A.AB.SET_NEW_ADDRESS_CLN,payload:C&&C.address?C.address:{}})),(0,u.K)(C=>(this.handleErrorWithAlert("GenerateNewAddress",A.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"?type="+a.payload.addressId,C),(0,_.of)({type:A.pg.VOID})))))))),this.setNewAddressCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_NEW_ADDRESS_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.peersFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PEERS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPeers",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PEERS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPeers",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PEERS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPeers",A.m6.NO_SPINNER,"Fetching Peers Failed.",a),(0,_.of)({type:A.pg.VOID})))))))),this.saveNewPeerCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_PEER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.CONNECT_PEER})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewPeer",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PEERS_API,{id:a.payload.id}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewPeer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.CONNECT_PEER})),this.store.dispatch((0,M.Z8)({payload:C||[]})),{type:A.AB.NEWLY_ADDED_PEER_CLN,payload:{peer:C.find(N=>0===a.payload.id.indexOf(N.id?N.id:""))}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewPeer",A.m6.CONNECT_PEER,"Peer Connection Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.detachPeerCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DETACH_PEER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.PEERS_API+"/"+a.payload.id+"?force="+a.payload.force).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.DISCONNECT_PEER})),this.store.dispatch((0,P.jW)({payload:"Peer Disconnected Successfully!"})),{type:A.AB.REMOVE_PEER_CLN,payload:{id:a.payload.id}})),(0,u.K)(C=>(this.handleErrorWithAlert("PeerDisconnect",A.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+k.NZ.PEERS_API+"/"+a.payload.id,C),(0,_.of)({type:A.pg.VOID})))))))),this.channelsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_CHANNELS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchChannels",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listChannels"))),(0,D.U)(a=>{this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchChannels",status:A.Bn.COMPLETED}}));const C={activeChannels:[],pendingChannels:[],inactiveChannels:[]};return a.forEach(N=>{"CHANNELD_NORMAL"===N.state?N.connected?C.activeChannels.push(N):C.inactiveChannels.push(N):C.pendingChannels.push(N)}),{type:A.AB.SET_CHANNELS_CLN,payload:C}}),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchChannels",A.m6.NO_SPINNER,"Fetching Channels Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.openNewChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_CHANNEL_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:A.m6.OPEN_CHANNEL})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewChannel",status:A.Bn.INITIATED}}));const C={id:a.payload.peerId,satoshis:a.payload.satoshis,feeRate:a.payload.feeRate,announce:a.payload.announce};return a.payload.minconf&&(C.minconf=a.payload.minconf),a.payload.utxos&&(C.utxos=a.payload.utxos),a.payload.requestAmount&&(C.request_amt=a.payload.requestAmount),a.payload.compactLease&&(C.compact_lease=a.payload.compactLease),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API,C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewChannel",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.OPEN_CHANNEL})),this.store.dispatch((0,P.jW)({payload:"Channel Added Successfully!"})),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.Ly)()),{type:A.AB.FETCH_CHANNELS_CLN})),(0,u.K)(N=>(this.handleErrorWithoutAlert("SaveNewChannel",A.m6.OPEN_CHANNEL,"Opening Channel Failed.",N),(0,_.of)({type:A.pg.VOID}))))}))),this.updateChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.UPDATE_CHANNEL_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.UPDATE_CHAN_POLICY})),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/setChannelFee",{id:a.payload.channelId,base:a.payload.baseFeeMsat,ppm:a.payload.feeRate}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.UPDATE_CHAN_POLICY})),"all"===a.payload.channelId?this.store.dispatch((0,P.jW)({payload:{message:"All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}})):this.store.dispatch((0,P.jW)({payload:{message:"Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}})),{type:A.AB.FETCH_CHANNELS_CLN})),(0,u.K)(C=>(this.handleErrorWithAlert("UpdateChannel",A.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API,C),(0,_.of)({type:A.pg.VOID})))))))),this.closeChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.CLOSE_CHANNEL_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL}));const C=a.payload.force?"?force="+a.payload.force:"";return this.httpClient.delete(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/"+a.payload.channelId+C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,P.uO)({payload:a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL})),this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.g3)()),this.store.dispatch((0,P.jW)({payload:"Channel Closed Successfully!"})),{type:A.AB.REMOVE_CHANNEL_CLN,payload:a.payload})),(0,u.K)(N=>(this.handleErrorWithAlert("CloseChannel",a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+k.NZ.CHANNELS_API,N),(0,_.of)({type:A.pg.VOID}))))}))),this.paymentsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PAYMENTS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPayments",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PAYMENTS_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPayments",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PAYMENTS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPayments",A.m6.NO_SPINNER,"Fetching Payments Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchOfferInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFER_INVOICE_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.FETCH_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferInvoice",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.OFFERS_API+"/fetchOfferInvoice",a.payload).pipe((0,D.U)(C=>{this.logger.info(C),setTimeout(()=>{this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferInvoice",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.FETCH_INVOICE})),this.store.dispatch((0,M.VD)({payload:C||{}}))},500)}),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOfferInvoice",A.m6.FETCH_INVOICE,"Offer Invoice Fetch Failed",C),(0,_.of)({type:A.pg.VOID}))))))),{dispatch:!1}),this.setOfferInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_OFFER_INVOICE_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.sendPaymentCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SEND_PAYMENT_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.Ni)({payload:{action:"SendPayment",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PAYMENTS_API,a.payload).pipe((0,D.U)(C=>{this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SendPayment",status:A.Bn.COMPLETED}}));let N="Payment Sent Successfully!";C.saveToDBError&&(N="Payment Sent Successfully but Offer Saving to Database Failed."),C.saveToDBResponse&&"NA"!==C.saveToDBResponse&&(this.store.dispatch((0,M.e9)({payload:C.saveToDBResponse})),N="Payment Sent Successfully and Offer Saved to Database."),setTimeout(()=>{this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.cQ)()),this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),this.store.dispatch((0,P.jW)({payload:N})),this.store.dispatch((0,M.TM)({payload:C.paymentResponse}))},1e3)}),(0,u.K)(C=>(this.logger.error("Error: "+JSON.stringify(C)),a.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",a.payload.uiMessage,"Send Payment Failed.",C):this.handleErrorWithAlert("SendPayment",a.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API,C),(0,_.of)({type:A.pg.VOID}))))))),{dispatch:!1}),this.queryRoutesFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_QUERY_ROUTES_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"GetQueryRoutes",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/getRoute/"+a.payload.destPubkey+"/"+a.payload.amount).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"GetQueryRoutes",status:A.Bn.COMPLETED}})),{type:A.AB.SET_QUERY_ROUTES_CLN,payload:C})),(0,u.K)(C=>(this.store.dispatch((0,M.kL)({payload:{routes:[]}})),this.handleErrorWithAlert("GetQueryRoutes",A.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/getRoute/"+a.payload.destPubkey+"/"+a.payload.amount,C),(0,_.of)({type:A.pg.VOID})))))))),this.setQueryRoutesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_QUERY_ROUTES_CLN),(0,D.U)(a=>a.payload)),{dispatch:!1}),this.peerLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.PEER_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEARCHING_NODE})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/listNode/"+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEARCHING_NODE})),{type:A.AB.SET_LOOKUP_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithAlert("Lookup",A.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/listNode/"+a.payload,C),(0,_.of)({type:A.pg.VOID})))))))),this.channelLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.CHANNEL_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/listChannel/"+a.payload.shortChannelID).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),{type:A.AB.SET_LOOKUP_CLN,payload:C})),(0,u.K)(C=>(a.payload.showError?this.handleErrorWithAlert("Lookup",a.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/listChannel/"+a.payload.shortChannelID,C):this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.v_)({payload:[]})),(0,_.of)({type:A.pg.VOID})))))))),this.invoiceLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.INVOICE_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"?label="+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEARCHING_INVOICE})),C.invoices&&C.invoices.length&&C.invoices.length>0&&this.store.dispatch((0,M.aL)({payload:C.invoices[0]})),{type:A.AB.SET_LOOKUP_CLN,payload:C.invoices&&C.invoices.length&&C.invoices.length>0?C.invoices[0]:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("Lookup",A.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",C),this.store.dispatch((0,P.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:A.pg.VOID})))))))),this.setLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_LOOKUP_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.fetchForwardingHistoryCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_FORWARDING_HISTORY_CLN),(0,E.z)(a=>{const C=a.payload.status.charAt(0).toUpperCase();return this.store.dispatch((0,M.Ni)({payload:{action:"FetchForwardingHistory"+C,status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listForwards?status="+a.payload.status).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,M.Ni)({payload:{action:"FetchForwardingHistory"+C,status:A.Bn.COMPLETED}})),a.payload.status===A.OO.FAILED?this.store.dispatch((0,M.QJ)({payload:{status:A.OO.FAILED,totalForwards:N.length,listForwards:N}})):a.payload.status===A.OO.LOCAL_FAILED?this.store.dispatch((0,M.QJ)({payload:{status:A.OO.LOCAL_FAILED,totalForwards:N.length,listForwards:N}})):a.payload.status===A.OO.SETTLED&&this.store.dispatch((0,M.QJ)({payload:{status:A.OO.SETTLED,totalForwards:N.length,listForwards:N}})),{type:A.pg.VOID})),(0,u.K)(N=>(this.handleErrorWithAlert("FetchForwardingHistory"+C,A.m6.NO_SPINNER,"Get "+a.payload.status+" Forwarding History Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listForwards?status="+a.payload.status,N),(0,_.of)({type:A.pg.VOID}))))}))),this.deleteExpiredInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DELETE_EXPIRED_INVOICE_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:A.m6.DELETE_INVOICE}));const C=a.payload?"?maxexpiry="+a.payload:"";return this.httpClient.delete(this.CHILD_API_URL+k.NZ.INVOICES_API+C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,P.uO)({payload:A.m6.DELETE_INVOICE})),this.store.dispatch((0,P.jW)({payload:"Invoices Deleted Successfully!"})),{type:A.AB.FETCH_INVOICES_CLN,payload:{num_max_invoices:1e6,reversed:!0}})),(0,u.K)(N=>(this.handleErrorWithAlert("DeleteInvoices",A.m6.DELETE_INVOICE,"Delete Invoice Failed",this.CHILD_API_URL+k.NZ.INVOICES_API,N),(0,_.of)({type:A.pg.VOID}))))}))),this.saveNewInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_INVOICE_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.ADD_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewInvoice",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.INVOICES_API,{label:a.payload.label,amount:a.payload.amount,description:a.payload.description,expiry:a.payload.expiry,private:a.payload.private}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewInvoice",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.ADD_INVOICE})),C.msatoshi=a.payload.amount,C.label=a.payload.label,C.expires_at=Math.round((new Date).getTime()/1e3+a.payload.expiry),C.description=a.payload.description,C.status="unpaid",setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{invoice:C,newlyAdded:!0,component:S.y}}}))},200),{type:A.AB.ADD_INVOICE_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewInvoice",A.m6.ADD_INVOICE,"Add Invoice Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.saveNewOfferCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_OFFER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.CREATE_OFFER})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewOffer",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.OFFERS_API,{amount:a.payload.amount,description:a.payload.description,vendor:a.payload.vendor}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewOffer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.CREATE_OFFER})),setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{offer:C,newlyAdded:!0,component:I.k}}}))},100),{type:A.AB.ADD_OFFER_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewOffer",A.m6.CREATE_OFFER,"Create Offer Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.invoicesFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_INVOICES_CLN),(0,E.z)(a=>{this.store.dispatch((0,M.Ni)({payload:{action:"FetchInvoices",status:A.Bn.INITIATED}}));const C=a.payload.num_max_invoices?a.payload.num_max_invoices:1e6,N=a.payload.index_offset?a.payload.index_offset:0,F=!a.payload.reversed||a.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"?num_max_invoices="+C+"&index_offset="+N+"&reversed="+F).pipe((0,D.U)(X=>(this.logger.info(X),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInvoices",status:A.Bn.COMPLETED}})),{type:A.AB.SET_INVOICES_CLN,payload:X})),(0,u.K)(X=>(this.handleErrorWithoutAlert("FetchInvoices",A.m6.NO_SPINNER,"Fetching Invoices Failed.",X),(0,_.of)({type:A.pg.VOID}))))}))),this.offersFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFERS_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchOffers",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.OFFERS_API).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOffers",status:A.Bn.COMPLETED}})),{type:A.AB.SET_OFFERS_CLN,payload:C.offers?C.offers:[]})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOffers",A.m6.NO_SPINNER,"Fetching Offers Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.offersDisableCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DISABLE_OFFER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DISABLE_OFFER})),this.store.dispatch((0,M.Ni)({payload:{action:"DisableOffer",status:A.Bn.INITIATED}})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.OFFERS_API+"/"+a.payload.offer_id).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"DisableOffer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.DISABLE_OFFER})),this.store.dispatch((0,P.jW)({payload:"Offer Disabled Successfully!"})),{type:A.AB.UPDATE_OFFER_CLN,payload:{offer:C}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("DisableOffer",A.m6.DISABLE_OFFER,"Disabling Offer Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.offerBookmarksFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFER_BOOKMARKS_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferBookmarks",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmarks").pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferBookmarks",status:A.Bn.COMPLETED}})),{type:A.AB.SET_OFFER_BOOKMARKS_CLN,payload:C||[]})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOfferBookmarks",A.m6.NO_SPINNER,"Fetching Offer Bookmarks Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.peidOffersDeleteCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DELETE_OFFER_BOOKMARK_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DELETE_OFFER_BOOKMARK})),this.store.dispatch((0,M.Ni)({payload:{action:"DeleteOfferBookmark",status:A.Bn.INITIATED}})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmark/"+a.payload.bolt12).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"DeleteOfferBookmark",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.DELETE_OFFER_BOOKMARK})),this.store.dispatch((0,P.jW)({payload:"Offer Bookmark Deleted Successfully!"})),{type:A.AB.REMOVE_OFFER_BOOKMARK_CLN,payload:{bolt12:a.payload.bolt12}})),(0,u.K)(C=>(this.handleErrorWithAlert("DeleteOfferBookmark",A.m6.DELETE_OFFER_BOOKMARK,"Deleting Offer Bookmark Failed.",this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmark/"+a.payload.bolt12,C),(0,_.of)({type:A.pg.VOID})))))))),this.SetChannelTransactionCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_CHANNEL_TRANSACTION_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEND_FUNDS})),this.store.dispatch((0,M.Ni)({payload:{action:"SetChannelTransaction",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.ON_CHAIN_API,a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SetChannelTransaction",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEND_FUNDS})),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.Ly)()),{type:A.AB.SET_CHANNEL_TRANSACTION_RES_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SetChannelTransaction",A.m6.SEND_FUNDS,"Sending Fund Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.utxosFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_UTXOS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchUTXOs",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/utxos"))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchUTXOs",status:A.Bn.COMPLETED}})),{type:A.AB.SET_UTXOS_CLN,payload:a.outputs||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchUTXOs",A.m6.NO_SPINNER,"Fetching UTXOs Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.pageSettingsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PAGE_SETTINGS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPageSettings",status:A.Bn.INITIATED}})),this.httpClient.get(k.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPageSettings",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PAGE_SETTINGS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPageSettings",A.m6.NO_SPINNER,"Fetching Page Settings Failed.",a),(0,_.of)({type:A.pg.VOID})))))))),this.savePageSettingsCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_PAGE_SETTINGS_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.Ni)({payload:{action:"SavePageSettings",status:A.Bn.INITIATED}})),this.httpClient.post(k.NZ.PAGE_SETTINGS_API,a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SavePageSettings",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,P.jW)({payload:"Page Layout Updated Successfully!"})),{type:A.AB.SET_PAGE_SETTINGS_CLN,payload:C||[]})),(0,u.K)(C=>(this.handleErrorWithAlert("SavePageSettings",A.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",k.NZ.PAGE_SETTINGS_API,C),(0,_.of)({type:A.pg.VOID})))))))),this.store.select(z.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(a=>{a.FetchInfo.status!==A.Bn.COMPLETED&&a.FetchInfo.status!==A.Bn.ERROR||a.FetchFees.status!==A.Bn.COMPLETED&&a.FetchFees.status!==A.Bn.ERROR||a.FetchChannels.status!==A.Bn.COMPLETED&&a.FetchChannels.status!==A.Bn.ERROR||a.FetchBalance.status!==A.Bn.COMPLETED&&a.FetchBalance.status!==A.Bn.ERROR||a.FetchLocalRemoteBalance.status!==A.Bn.COMPLETED&&a.FetchLocalRemoteBalance.status!==A.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,P.uO)({payload:A.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.clWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(a=>{if(this.logger.info("Received new message from the service: "+JSON.stringify(a)),a)switch(a.event){case A.nM.INVOICE:this.logger.info(a),a&&a.data&&a.data.label&&this.store.dispatch((0,M.aL)({payload:a.data}));break;case A.nM.SEND_PAYMENT:case A.nM.BLOCK_HEIGHT:this.logger.info(a);break;default:this.logger.info("Received Event from WS: "+JSON.stringify(a))}})}initializeRemainingData(w,n){this.sessionService.setItem("clUnlocked","true");const o={identity_pubkey:w.id,alias:w.alias,testnet:"testnet"===w.network.toLowerCase(),chains:w.chains,uris:w.uris,version:w.version,api_version:w.api_version,numberOfPendingChannels:w.num_pending_channels};this.store.dispatch((0,P.ac)({payload:A.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,P._V)({payload:o}));let h=this.location.path();h.includes("/lnd/")?h=h?.replace("/lnd/","/cln/"):h.includes("/ecl/")&&(h=h?.replace("/ecl/","/cln/")),(h.includes("/login")||h.includes("/error")||""===h||"HOME"===n||h.includes("?access-key="))&&(h="/cln/home"),this.router.navigate([h]),this.store.dispatch((0,M.wD)()),this.store.dispatch((0,M.WM)({payload:{num_max_invoices:1e6,index_offset:0,reversed:!0}})),this.store.dispatch((0,M.SN)()),this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.g3)()),this.store.dispatch((0,M.HJ)({payload:"perkw"})),this.store.dispatch((0,M.HJ)({payload:"perkb"})),this.store.dispatch((0,M.$W)()),this.store.dispatch((0,M.Ly)()),this.store.dispatch((0,M.cQ)())}handleErrorWithoutAlert(w,n,o,h){if(this.logger.error("ERROR IN: "+w+"\n"+JSON.stringify(h)),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.ts)()),this.store.dispatch((0,P.kS)()),this.store.dispatch((0,P.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,P.uO)({payload:n}));const d=this.commonService.extractErrorMessage(h,o);this.store.dispatch((0,M.Ni)({payload:{action:w,status:A.Bn.ERROR,statusCode:h.status.toString(),message:d}}))}}handleErrorWithAlert(w,n,o,h,d){if(this.logger.error(d),401===d.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.ts)()),this.store.dispatch((0,P.kS)()),this.store.dispatch((0,P.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,P.uO)({payload:n}));const y=this.commonService.extractErrorMessage(d);this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:o,message:{code:d.status,message:y,URL:h},component:p.H}}})),this.store.dispatch((0,M.Ni)({payload:{action:w,status:A.Bn.ERROR,statusCode:d.status.toString(),message:y,URL:h}}))}}ngOnDestroy(){this.unSubs.forEach(w=>{w.next(null),w.complete()})}static#e=this.\u0275fac=function(n){return new(n||$)(W.LFG(e.eX),W.LFG(Z.eN),W.LFG(Q.yh),W.LFG(ie.m),W.LFG(ae.v),W.LFG(_e.mQ),W.LFG(ce.F0),W.LFG(ye.d),W.LFG(ue.Ye))};static#t=this.\u0275prov=W.Yz7({token:$,factory:$.\u0275fac})}},9828:(Ue,q,m)=>{"use strict";m.d(q,{AS:()=>E,Ao:()=>ye,Bo:()=>Q,EQ:()=>he,Hz:()=>ue,JG:()=>S,OL:()=>_e,PP:()=>k,Rn:()=>W,T4:()=>z,Wi:()=>p,Wj:()=>Z,Y_:()=>$,ZW:()=>I,ey:()=>s,gc:()=>M,hx:()=>P,jK:()=>ce,lK:()=>ae,lw:()=>_,xQ:()=>ie,yA:()=>u,zm:()=>A});var e=m(9263);const t=(0,e.ZF)("cln"),_=(0,e.P1)(t,n=>n.nodeSettings),E=(0,e.P1)(t,n=>({pageSettings:n.pageSettings,apiCallStatus:n.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,n=>n.information),u=((0,e.P1)(t,n=>n.apisCallStatus.FetchInfo),(0,e.P1)(t,n=>n.apisCallStatus)),k=(0,e.P1)(t,n=>({payments:n.payments,apiCallStatus:n.apisCallStatus.FetchPayments})),p=(0,e.P1)(t,n=>({peers:n.peers,apiCallStatus:n.apisCallStatus.FetchPeers})),S=(0,e.P1)(t,n=>({fees:n.fees,apiCallStatus:n.apisCallStatus.FetchFees})),A=(0,e.P1)(t,n=>({feeRatesPerKB:n.feeRatesPerKB,apiCallStatus:n.apisCallStatus.FetchFeeRatesperkb})),P=(0,e.P1)(t,n=>({feeRatesPerKW:n.feeRatesPerKW,apiCallStatus:n.apisCallStatus.FetchFeeRatesperkw})),M=(0,e.P1)(t,n=>({listInvoices:n.invoices,apiCallStatus:n.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,n=>({utxos:n.utxos,apiCallStatus:n.apisCallStatus.FetchUTXOs})),I=(0,e.P1)(t,n=>({activeChannels:n.activeChannels,pendingChannels:n.pendingChannels,inactiveChannels:n.inactiveChannels,apiCallStatus:n.apisCallStatus.FetchChannels})),W=(0,e.P1)(t,n=>({balance:n.balance,apiCallStatus:n.apisCallStatus.FetchBalance})),Z=(0,e.P1)(t,n=>({localRemoteBalance:n.localRemoteBalance,apiCallStatus:n.apisCallStatus.FetchLocalRemoteBalance})),Q=(0,e.P1)(t,n=>({forwardingHistory:n.forwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryS})),ie=(0,e.P1)(t,n=>({failedForwardingHistory:n.failedForwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryF})),ae=(0,e.P1)(t,n=>({localFailedForwardingHistory:n.localFailedForwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryL})),_e=(0,e.P1)(t,n=>({information:n.information,nodeSettings:n.nodeSettings,balance:n.balance})),ce=(0,e.P1)(t,n=>({information:n.information,balance:n.balance,numPeers:n.peers.length})),ye=(0,e.P1)(t,n=>({information:n.information,balance:n.balance})),ue=(0,e.P1)(t,n=>({information:n.information,nodeSettings:n.nodeSettings,apisCallStatus:[n.apisCallStatus.FetchInfo,n.apisCallStatus.FetchForwardingHistoryS]})),$=(0,e.P1)(t,n=>({offers:n.offers,apiCallStatus:n.apisCallStatus.FetchOffers})),he=(0,e.P1)(t,n=>({offersBookmarks:n.offersBookmarks,apiCallStatus:n.apisCallStatus.FetchOfferBookmarks}))},5566:(Ue,q,m)=>{"use strict";m.d(q,{y:()=>ht});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(9828),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),Q=m(1528),ie=m(1708),ae=m(6896),_e=m(6021),ce=m(6895),ye=m(3390);function ue(Le,Ae){if(1&Le&&u._UZ(0,"qr-code",33),2&Le){const te=u.oxw();u.Q6J("value",(null==te.invoice?null:te.invoice.bolt11)||(null==te.invoice?null:te.invoice.bolt12))("size",te.qrWidth)("errorCorrectionLevel","L")}}function $(Le,Ae){1&Le&&(u.TgZ(0,"span",34),u._uU(1,"N/A"),u.qZA())}const he=function(Le){return{"mr-0":Le}};function w(Le,Ae){if(1&Le&&u._UZ(0,"span",35),2&Le){const te=u.oxw();u.Q6J("ngClass",u.VKq(1,he,te.screenSize===te.screenSizeEnum.XS))}}function n(Le,Ae){if(1&Le&&u._UZ(0,"span",36),2&Le){const te=u.oxw();u.Q6J("ngClass",u.VKq(1,he,te.screenSize===te.screenSizeEnum.XS))}}function o(Le,Ae){if(1&Le&&u._UZ(0,"span",37),2&Le){const te=u.oxw();u.Q6J("ngClass",u.VKq(1,he,te.screenSize===te.screenSizeEnum.XS))}}function h(Le,Ae){if(1&Le&&u._UZ(0,"qr-code",33),2&Le){const te=u.oxw();u.Q6J("value",(null==te.invoice?null:te.invoice.bolt11)||(null==te.invoice?null:te.invoice.bolt12))("size",te.qrWidth)("errorCorrectionLevel","L")}}function d(Le,Ae){1&Le&&(u.TgZ(0,"span",38),u._uU(1,"QR Code Not Applicable"),u.qZA())}function y(Le,Ae){1&Le&&u._UZ(0,"mat-divider",39),2&Le&&u.Q6J("inset",!0)}function L(Le,Ae){if(1&Le&&(u.TgZ(0,"div",19)(1,"div",40),u._UZ(2,"fa-icon",41),u.TgZ(3,"span"),u._uU(4),u.qZA()()()),2&Le){const te=u.oxw();u.xp6(2),u.Q6J("icon",te.faExclamationTriangle),u.xp6(2),u.Oqu(null==te.invoice?null:te.invoice.warning_capacity)}}function B(Le,Ae){1&Le&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function v(Le,Ae){1&Le&&u._UZ(0,"span",47)}const a=function(){return[]};function C(Le,Ae){if(1&Le&&(u.TgZ(0,"div",43)(1,"div",44)(2,"span",45),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,v,1,0,"span",46),u.qZA()()),2&Le){const te=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,(null==te.invoice?null:te.invoice.msatoshi_received)/1e3)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,a).constructor(35))}}function N(Le,Ae){if(1&Le&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&Le){const te=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,(null==te.invoice?null:te.invoice.msatoshi_received)/1e3)," Sats")}}function F(Le,Ae){if(1&Le&&(u.ynx(0),u.YNc(1,C,6,5,"div",42),u.YNc(2,N,3,3,"div",23),u.BQk()),2&Le){const te=u.oxw();u.xp6(1),u.Q6J("ngIf",te.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!te.flgInvoicePaid)}}function X(Le,Ae){1&Le&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function Fe(Le,Ae){1&Le&&u._UZ(0,"mat-spinner",49),2&Le&&u.Q6J("diameter",20)}function ke(Le,Ae){if(1&Le&&(u.ynx(0),u.YNc(1,X,2,0,"span",23),u.YNc(2,Fe,1,1,"mat-spinner",48),u.BQk()),2&Le){const te=u.oxw();u.xp6(1),u.Q6J("ngIf","unpaid"!==(null==te.invoice?null:te.invoice.status)||!te.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==te.invoice?null:te.invoice.status)&&te.flgVersionCompatible)}}function Ke(Le,Ae){if(1&Le&&(u.TgZ(0,"div"),u._UZ(1,"mat-divider",25),u.TgZ(2,"div",19)(3,"div",26)(4,"h4",21),u._uU(5,"Payment Hash"),u.qZA(),u.TgZ(6,"span",24),u._uU(7),u.qZA()()(),u._UZ(8,"mat-divider",25),u.TgZ(9,"div",19)(10,"div",26)(11,"h4",21),u._uU(12,"Label"),u.qZA(),u.TgZ(13,"span",24),u._uU(14),u.qZA()()(),u._UZ(15,"mat-divider",25),u.qZA()),2&Le){const te=u.oxw();u.xp6(7),u.Oqu(null==te.invoice?null:te.invoice.payment_hash),u.xp6(7),u.Oqu(null==te.invoice?null:te.invoice.label)}}function je(Le,Ae){1&Le&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function Ve(Le,Ae){1&Le&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function xe(Le,Ae){if(1&Le){const te=u.EpF();u.TgZ(0,"button",50),u.NdJ("copied",function(ee){u.CHM(te);const H=u.oxw();return u.KtG(H.onCopyPayment(ee))}),u._uU(1,"Copy Invoice"),u.qZA()}if(2&Le){const te=u.oxw();u.Q6J("payload",(null==te.invoice?null:te.invoice.bolt11)||(null==te.invoice?null:te.invoice.bolt12))}}function Ze(Le,Ae){if(1&Le){const te=u.EpF();u.TgZ(0,"button",51),u.NdJ("click",function(){u.CHM(te);const ee=u.oxw();return u.KtG(ee.onClose())}),u._uU(1,"OK"),u.qZA()}}const Ie=function(Le){return{"display-none":Le}},ve=function(Le){return{"xs-scroll-y":Le}},et=function(Le,Ae){return{"mt-2":Le,"mt-1":Ae}};class ht{constructor(Ae,te,pe,ee,H,j){this.dialogRef=Ae,this.data=te,this.logger=pe,this.commonService=ee,this.snackBar=H,this.store=j,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.ey).pipe((0,E.R)(this.unSubs[0])).subscribe(Ae=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(Ae.api_version,"0.6.0")}),this.store.select(D.gc).pipe((0,E.R)(this.unSubs[1])).subscribe(Ae=>{const te=this.invoice.status,ee=(Ae.listInvoices.invoices||[])?.find(H=>H.payment_hash===this.invoice.payment_hash)||null;ee&&(this.invoice=ee),te!==this.invoice.status&&"paid"===this.invoice.status&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(Ae)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(Ae){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+Ae)}ngOnDestroy(){this.unSubs.forEach(Ae=>{Ae.next(null),Ae.complete()})}static#e=this.\u0275fac=function(te){return new(te||ht)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:ht,selectors:[["rtl-cln-invoice-information"]],decls:72,vars:49,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["class","dot green ml-1","matTooltip","Paid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow ml-1","matTooltip","Unpaid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red ml-1","matTooltip","Expired","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"overflow-wrap","foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],["matTooltip","Paid","matTooltipPosition","right",1,"dot","green","ml-1",3,"ngClass"],["matTooltip","Unpaid","matTooltipPosition","right",1,"dot","yellow","ml-1",3,"ngClass"],["matTooltip","Expired","matTooltipPosition","right",1,"dot","red","ml-1",3,"ngClass"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(te,pe){if(1&te&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,ue,1,3,"qr-code",2),u.YNc(3,$,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.YNc(10,w,1,3,"span",9),u.YNc(11,n,1,3,"span",10),u.YNc(12,o,1,3,"span",11),u.qZA()(),u.TgZ(13,"button",12),u.NdJ("click",function(){return pe.onClose()}),u._uU(14,"X"),u.qZA()(),u.TgZ(15,"mat-card-content",13)(16,"div",14)(17,"div",15),u.YNc(18,h,1,3,"qr-code",2),u.YNc(19,d,2,0,"span",16),u.qZA(),u.YNc(20,y,1,1,"mat-divider",17),u.YNc(21,L,5,2,"div",18),u.TgZ(22,"div",19)(23,"div",20)(24,"h4",21),u._uU(25),u.qZA(),u.TgZ(26,"span",22),u._uU(27),u.ALo(28,"number"),u.YNc(29,B,2,0,"ng-container",23),u.qZA()(),u.TgZ(30,"div",20)(31,"h4",21),u._uU(32,"Amount Received"),u.qZA(),u.TgZ(33,"span",24),u.YNc(34,F,3,2,"ng-container",23),u.YNc(35,ke,3,2,"ng-container",23),u.qZA()()(),u._UZ(36,"mat-divider",25),u.TgZ(37,"div",19)(38,"div",20)(39,"h4",21),u._uU(40,"Date Expiry"),u.qZA(),u.TgZ(41,"span",22),u._uU(42),u.ALo(43,"date"),u.qZA()(),u.TgZ(44,"div",20)(45,"h4",21),u._uU(46,"Date Settled"),u.qZA(),u.TgZ(47,"span",22),u._uU(48),u.ALo(49,"date"),u.qZA()()(),u._UZ(50,"mat-divider",25),u.TgZ(51,"div",19)(52,"div",26)(53,"h4",21),u._uU(54,"Description"),u.qZA(),u.TgZ(55,"span",22),u._uU(56),u.qZA()()(),u._UZ(57,"mat-divider",25),u.TgZ(58,"div",19)(59,"div",26)(60,"h4",21),u._uU(61),u.qZA(),u.TgZ(62,"span",24),u._uU(63),u.qZA()()(),u.YNc(64,Ke,16,2,"div",23),u.TgZ(65,"div",27)(66,"button",28),u.NdJ("click",function(){return pe.onShowAdvanced()}),u.YNc(67,je,2,0,"p",29),u.YNc(68,Ve,2,0,"ng-template",null,30,u.W1O),u.qZA(),u.YNc(70,xe,2,1,"button",31),u.YNc(71,Ze,2,0,"button",32),u.qZA()()()()()),2&te){const ee=u.MAs(69);u.xp6(1),u.Q6J("fxLayoutAlign",null!=pe.invoice&&pe.invoice.bolt11&&""!==(null==pe.invoice?null:pe.invoice.bolt11)||null!=pe.invoice&&pe.invoice.bolt12&&""!==(null==pe.invoice?null:pe.invoice.bolt12)?"center start":"center center")("ngClass",u.VKq(40,Ie,pe.screenSize===pe.screenSizeEnum.XS||pe.screenSize===pe.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==pe.invoice?null:pe.invoice.bolt11)&&""!==(null==pe.invoice?null:pe.invoice.bolt11)||(null==pe.invoice?null:pe.invoice.bolt12)&&""!==(null==pe.invoice?null:pe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=pe.invoice&&pe.invoice.bolt11||null!=pe.invoice&&pe.invoice.bolt12)),u.xp6(4),u.Q6J("icon",pe.faReceipt),u.xp6(2),u.hij(" ",pe.screenSize===pe.screenSizeEnum.XS?pe.newlyAdded?"Created":"Invoice":pe.newlyAdded?"Invoice Created":"Invoice Information"," "),u.xp6(1),u.Q6J("ngIf","paid"===(null==pe.invoice?null:pe.invoice.status)),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==pe.invoice?null:pe.invoice.status)),u.xp6(1),u.Q6J("ngIf","expired"===(null==pe.invoice?null:pe.invoice.status)),u.xp6(3),u.Q6J("ngClass",u.VKq(42,ve,pe.screenSize===pe.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=pe.invoice&&pe.invoice.bolt11&&""!==(null==pe.invoice?null:pe.invoice.bolt11)||null!=pe.invoice&&pe.invoice.bolt12&&""!==(null==pe.invoice?null:pe.invoice.bolt12)?"center start":"center center")("ngClass",u.VKq(44,Ie,pe.screenSize!==pe.screenSizeEnum.XS&&pe.screenSize!==pe.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==pe.invoice?null:pe.invoice.bolt11)&&""!==(null==pe.invoice?null:pe.invoice.bolt11)||(null==pe.invoice?null:pe.invoice.bolt12)&&""!==(null==pe.invoice?null:pe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=pe.invoice&&pe.invoice.bolt11||null!=pe.invoice&&pe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",pe.screenSize===pe.screenSizeEnum.XS||pe.screenSize===pe.screenSizeEnum.SM),u.xp6(1),u.Q6J("ngIf",null==pe.invoice?null:pe.invoice.warning_capacity),u.xp6(4),u.Oqu(pe.screenSize===pe.screenSizeEnum.XS?"Amount":"Amount Requested"),u.xp6(2),u.hij(" ",u.lcZ(28,32,(null==pe.invoice?null:pe.invoice.msatoshi)/1e3||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=pe.invoice&&pe.invoice.msatoshi)||"0"===(null==pe.invoice?null:pe.invoice.msatoshi)),u.xp6(5),u.Q6J("ngIf","paid"===(null==pe.invoice?null:pe.invoice.status)),u.xp6(1),u.Q6J("ngIf","paid"!==(null==pe.invoice?null:pe.invoice.status)),u.xp6(7),u.Oqu(u.xi3(43,34,1e3*(null==pe.invoice?null:pe.invoice.expires_at),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.xi3(49,37,1e3*(null==pe.invoice?null:pe.invoice.paid_at),"dd/MMM/y HH:mm")||"-"),u.xp6(8),u.Oqu((null==pe.invoice?null:pe.invoice.description)||"-"),u.xp6(5),u.hij("",null!=pe.invoice&&pe.invoice.bolt12?"Bolt12":null!=pe.invoice&&pe.invoice.bolt11&&!pe.invoice.label.includes("keysend-")?"Bolt11":"Keysend"," Invoice"),u.xp6(2),u.Oqu((null==pe.invoice?null:pe.invoice.bolt11)||(null==pe.invoice?null:pe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",pe.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(46,et,!pe.showAdvanced,pe.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!pe.showAdvanced)("ngIfElse",ee),u.xp6(3),u.Q6J("ngIf",(null==pe.invoice?null:pe.invoice.bolt11)&&""!==(null==pe.invoice?null:pe.invoice.bolt11)||(null==pe.invoice?null:pe.invoice.bolt12)&&""!==(null==pe.invoice?null:pe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=pe.invoice&&pe.invoice.bolt11||null!=pe.invoice&&pe.invoice.bolt12))}},dependencies:[P.mk,P.sg,P.O5,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,Q.d,ie.Ou,ae.gM,_e.uU,ce.y,ye.h,P.JJ,P.uU]})}},1462:(Ue,q,m)=>{"use strict";m.d(q,{k:()=>X});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(9828),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(8104),M=m(4666),z=m(3505),I=m(6722),W=m(3704),Z=m(4522),Q=m(2156),ie=m(1528),ae=m(6021),_e=m(6895),ce=m(3390);function ye(Fe,ke){if(1&Fe&&u._UZ(0,"qr-code",28),2&Fe){const Ke=u.oxw();u.Q6J("value",null==Ke.offer?null:Ke.offer.bolt12)("size",Ke.qrWidth)("errorCorrectionLevel","L")}}function ue(Fe,ke){1&Fe&&(u.TgZ(0,"span",29),u._uU(1,"N/A"),u.qZA())}function $(Fe,ke){if(1&Fe&&u._UZ(0,"qr-code",28),2&Fe){const Ke=u.oxw();u.Q6J("value",null==Ke.offer?null:Ke.offer.bolt12)("size",Ke.qrWidth)("errorCorrectionLevel","L")}}function he(Fe,ke){1&Fe&&(u.TgZ(0,"span",30),u._uU(1,"QR Code Not Applicable"),u.qZA())}function w(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",31),2&Fe&&u.Q6J("inset",!0)}function n(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",19)}function o(Fe,ke){if(1&Fe&&(u.TgZ(0,"div",15)(1,"div",16)(2,"h4",17),u._uU(3,"Used"),u.qZA(),u.TgZ(4,"span",18),u._uU(5),u.qZA()(),u.TgZ(6,"div",16)(7,"h4",17),u._uU(8,"Single Use"),u.qZA(),u.TgZ(9,"span",18),u._uU(10),u.qZA()()()),2&Fe){const Ke=u.oxw(2);u.xp6(5),u.hij(" ",null!=Ke.offer&&Ke.offer.used?null!=Ke.offer&&Ke.offer.used?"Yes":"No":"N/K"," "),u.xp6(5),u.hij(" ",null!=Ke.offer&&Ke.offer.single_use?null!=Ke.offer&&Ke.offer.single_use?"Yes":"No":"N/K"," ")}}function h(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",19)}function d(Fe,ke){if(1&Fe&&(u.TgZ(0,"div",15)(1,"div",20)(2,"h4",17),u._uU(3,"Vendor"),u.qZA(),u.TgZ(4,"span",34),u._uU(5),u.qZA()()()),2&Fe){const Ke=u.oxw(2);u.xp6(5),u.Oqu((null==Ke.offerDecoded?null:Ke.offerDecoded.vendor)||(null==Ke.offerDecoded?null:Ke.offerDecoded.issuer))}}function y(Fe,ke){if(1&Fe&&(u.TgZ(0,"div"),u.YNc(1,n,1,0,"mat-divider",32),u.YNc(2,o,11,2,"div",33),u.YNc(3,h,1,0,"mat-divider",32),u.YNc(4,d,6,1,"div",33),u._UZ(5,"mat-divider",19),u.TgZ(6,"div",15)(7,"div",20)(8,"h4",17),u._uU(9,"Offer ID"),u.qZA(),u.TgZ(10,"span",18),u._uU(11),u.qZA()()(),u._UZ(12,"mat-divider",19),u.qZA()),2&Fe){const Ke=u.oxw();u.xp6(1),u.Q6J("ngIf",(null==Ke.offer?null:Ke.offer.used)||(null==Ke.offer?null:Ke.offer.single_use)),u.xp6(1),u.Q6J("ngIf",(null==Ke.offer?null:Ke.offer.used)||(null==Ke.offer?null:Ke.offer.single_use)),u.xp6(1),u.Q6J("ngIf",(null==Ke.offerDecoded?null:Ke.offerDecoded.vendor)||(null==Ke.offerDecoded?null:Ke.offerDecoded.issuer)),u.xp6(1),u.Q6J("ngIf",(null==Ke.offerDecoded?null:Ke.offerDecoded.vendor)||(null==Ke.offerDecoded?null:Ke.offerDecoded.issuer)),u.xp6(7),u.Oqu(Ke.offerDecoded.offer_id)}}function L(Fe,ke){1&Fe&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function B(Fe,ke){1&Fe&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function v(Fe,ke){if(1&Fe){const Ke=u.EpF();u.TgZ(0,"button",35),u.NdJ("copied",function(Ve){u.CHM(Ke);const xe=u.oxw();return u.KtG(xe.onCopyOffer(Ve))}),u._uU(1,"Copy Offer"),u.qZA()}if(2&Fe){const Ke=u.oxw();u.Q6J("payload",null==Ke.offer?null:Ke.offer.bolt12)}}function a(Fe,ke){if(1&Fe){const Ke=u.EpF();u.TgZ(0,"button",36),u.NdJ("click",function(){u.CHM(Ke);const Ve=u.oxw();return u.KtG(Ve.onClose())}),u._uU(1,"OK"),u.qZA()}}const C=function(Fe){return{"display-none":Fe}},N=function(Fe){return{"xs-scroll-y":Fe}},F=function(Fe,ke){return{"mt-2":Fe,"mt-1":ke}};class X{constructor(ke,Ke,je,Ve,xe,Ze,Ie){this.dialogRef=ke,this.data=Ke,this.logger=je,this.commonService=Ve,this.snackBar=xe,this.store=Ze,this.dataService=Ie,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.offerDecoded={},this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOfferPaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.offer=this.data.offer,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.ey).pipe((0,E.R)(this.unSubs[0])).subscribe(ke=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(ke.api_version,"0.6.0")}),this.dataService.decodePayment(this.offer.bolt12,!0).pipe((0,E.R)(this.unSubs[1])).subscribe(ke=>{this.offerDecoded=ke,this.offerDecoded.offer_id&&!this.offerDecoded.amount_msat?(this.offerDecoded.amount_msat="0msat",this.offerDecoded.amount=0):this.offerDecoded.amount=this.offerDecoded.amount?+this.offerDecoded.amount:this.offerDecoded.amount_msat?+this.offerDecoded.amount_msat?.slice(0,-4):null})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyOffer(ke){this.snackBar.open("Offer copied."),this.logger.info("Copied Text: "+ke)}ngOnDestroy(){this.unSubs.forEach(ke=>{ke.next(null),ke.complete()})}static#e=this.\u0275fac=function(Ke){return new(Ke||X)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh),u.Y36(P.D))};static#t=this.\u0275cmp=u.Xpm({type:X,selectors:[["rtl-cln-offer-information"]],decls:52,vars:33,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","100"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],[1,"overflow-wrap","foreground-secondary-text"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(Ke,je){if(1&Ke&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,ye,1,3,"qr-code",2),u.YNc(3,ue,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return je.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,$,1,3,"qr-code",2),u.YNc(16,he,2,0,"span",13),u.qZA(),u.YNc(17,w,1,1,"mat-divider",14),u.TgZ(18,"div",15)(19,"div",16)(20,"h4",17),u._uU(21,"Amount Requested (Sats)"),u.qZA(),u.TgZ(22,"span",18),u._uU(23),u.ALo(24,"number"),u.qZA()(),u.TgZ(25,"div",16)(26,"h4",17),u._uU(27,"Active"),u.qZA(),u.TgZ(28,"span",18),u._uU(29),u.qZA()()(),u._UZ(30,"mat-divider",19),u.TgZ(31,"div",15)(32,"div",20)(33,"h4",17),u._uU(34,"Description"),u.qZA(),u.TgZ(35,"span",18),u._uU(36),u.qZA()()(),u._UZ(37,"mat-divider",19),u.TgZ(38,"div",15)(39,"div",20)(40,"h4",17),u._uU(41,"Offer Request"),u.qZA(),u.TgZ(42,"span",18),u._uU(43),u.qZA()()(),u.YNc(44,y,13,5,"div",21),u.TgZ(45,"div",22)(46,"button",23),u.NdJ("click",function(){return je.onShowAdvanced()}),u.YNc(47,L,2,0,"p",24),u.YNc(48,B,2,0,"ng-template",null,25,u.W1O),u.qZA(),u.YNc(50,v,2,1,"button",26),u.YNc(51,a,2,0,"button",27),u.qZA()()()()()),2&Ke){const Ve=u.MAs(49);u.xp6(1),u.Q6J("fxLayoutAlign",null!=je.offer&&je.offer.bolt12&&""!==(null==je.offer?null:je.offer.bolt12)?"center start":"center center")("ngClass",u.VKq(24,C,je.screenSize===je.screenSizeEnum.XS||je.screenSize===je.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12)),u.xp6(4),u.Q6J("icon",je.faReceipt),u.xp6(2),u.Oqu(je.screenSize===je.screenSizeEnum.XS?je.newlyAdded?"Created":"Offer":je.newlyAdded?"Offer Created":"Offer Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(26,N,je.screenSize===je.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=je.offer&&je.offer.bolt12&&""!==(null==je.offer?null:je.offer.bolt12)?"center start":"center center")("ngClass",u.VKq(28,C,je.screenSize!==je.screenSizeEnum.XS&&je.screenSize!==je.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",je.screenSize===je.screenSizeEnum.XS||je.screenSize===je.screenSizeEnum.SM),u.xp6(6),u.hij(" ",null!=je.offerDecoded&&je.offerDecoded.amount_msat&&0!==(null==je.offerDecoded?null:je.offerDecoded.amount)?u.lcZ(24,22,(null==je.offerDecoded?null:je.offerDecoded.amount)/1e3):"Open Offer"," "),u.xp6(6),u.hij(" ",null!=je.offer&&je.offer.active?null!=je.offer&&je.offer.active?"Active":"Inactive":"N/K"," "),u.xp6(7),u.hij(" ",null==je.offerDecoded?null:je.offerDecoded.description," "),u.xp6(7),u.Oqu(null==je.offer?null:je.offer.bolt12),u.xp6(1),u.Q6J("ngIf",je.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(30,F,!je.showAdvanced,je.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!je.showAdvanced)("ngIfElse",Ve),u.xp6(3),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12))}},dependencies:[M.mk,M.O5,z.BN,I.xw,I.Wh,I.yH,W.oO,Z.lW,Q.dk,Q.dn,ie.d,ae.uU,_e.y,ce.h,M.JJ]})}},2994:(Ue,q,m)=>{"use strict";m.d(q,{$W:()=>_e,BL:()=>y,Bw:()=>Q,CX:()=>S,DJ:()=>Le,EK:()=>w,El:()=>ye,Fd:()=>E,GD:()=>he,HG:()=>ae,HI:()=>v,Iy:()=>ke,Lf:()=>Fe,Nr:()=>Ve,OG:()=>L,On:()=>ie,QZ:()=>_,RX:()=>P,SN:()=>A,Sf:()=>ve,TM:()=>F,TW:()=>I,UR:()=>M,WM:()=>je,WO:()=>a,YP:()=>Ze,YX:()=>h,Z$:()=>xe,Z8:()=>ce,Zr:()=>s,_E:()=>n,aL:()=>Ie,cQ:()=>B,eF:()=>k,eN:()=>z,i:()=>W,iL:()=>Z,iz:()=>p,kL:()=>C,mC:()=>X,n7:()=>et,oV:()=>N,pW:()=>d,pd:()=>u,ti:()=>Ae,wD:()=>D});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.lr.UPDATE_API_CALL_STATUS_ECL,(0,e.Ky)()),E=(0,e.PH)(t.lr.RESET_ECL_STORE,(0,e.Ky)()),s=(0,e.PH)(t.lr.SET_CHILD_NODE_SETTINGS_ECL,(0,e.Ky)()),D=(0,e.PH)(t.lr.FETCH_PAGE_SETTINGS_ECL),u=(0,e.PH)(t.lr.SET_PAGE_SETTINGS_ECL,(0,e.Ky)()),k=(0,e.PH)(t.lr.SAVE_PAGE_SETTINGS_ECL,(0,e.Ky)()),p=(0,e.PH)(t.lr.FETCH_INFO_ECL,(0,e.Ky)()),S=(0,e.PH)(t.lr.SET_INFO_ECL,(0,e.Ky)()),A=(0,e.PH)(t.lr.FETCH_FEES_ECL),P=(0,e.PH)(t.lr.SET_FEES_ECL,(0,e.Ky)()),M=(0,e.PH)(t.lr.FETCH_CHANNELS_ECL,(0,e.Ky)()),z=(0,e.PH)(t.lr.SET_ACTIVE_CHANNELS_ECL,(0,e.Ky)()),I=(0,e.PH)(t.lr.SET_PENDING_CHANNELS_ECL,(0,e.Ky)()),W=(0,e.PH)(t.lr.SET_INACTIVE_CHANNELS_ECL,(0,e.Ky)()),Z=(0,e.PH)(t.lr.FETCH_ONCHAIN_BALANCE_ECL),Q=(0,e.PH)(t.lr.SET_ONCHAIN_BALANCE_ECL,(0,e.Ky)()),ie=(0,e.PH)(t.lr.SET_LIGHTNING_BALANCE_ECL,(0,e.Ky)()),ae=(0,e.PH)(t.lr.SET_CHANNELS_STATUS_ECL,(0,e.Ky)()),_e=(0,e.PH)(t.lr.FETCH_PEERS_ECL),ce=(0,e.PH)(t.lr.SET_PEERS_ECL,(0,e.Ky)()),ye=(0,e.PH)(t.lr.SAVE_NEW_PEER_ECL,(0,e.Ky)()),he=((0,e.PH)(t.lr.NEWLY_ADDED_PEER_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.ADD_PEER_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.DETACH_PEER_ECL,(0,e.Ky)())),w=(0,e.PH)(t.lr.REMOVE_PEER_ECL,(0,e.Ky)()),n=(0,e.PH)(t.lr.GET_NEW_ADDRESS_ECL),h=((0,e.PH)(t.lr.SET_NEW_ADDRESS_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.SAVE_NEW_CHANNEL_ECL,(0,e.Ky)())),d=(0,e.PH)(t.lr.UPDATE_CHANNEL_ECL,(0,e.Ky)()),y=(0,e.PH)(t.lr.CLOSE_CHANNEL_ECL,(0,e.Ky)()),L=(0,e.PH)(t.lr.REMOVE_CHANNEL_ECL,(0,e.Ky)()),B=(0,e.PH)(t.lr.FETCH_PAYMENTS_ECL),v=(0,e.PH)(t.lr.SET_PAYMENTS_ECL,(0,e.Ky)()),a=(0,e.PH)(t.lr.GET_QUERY_ROUTES_ECL,(0,e.Ky)()),C=(0,e.PH)(t.lr.SET_QUERY_ROUTES_ECL,(0,e.Ky)()),N=(0,e.PH)(t.lr.SEND_PAYMENT_ECL,(0,e.Ky)()),F=(0,e.PH)(t.lr.SEND_PAYMENT_STATUS_ECL,(0,e.Ky)()),X=(0,e.PH)(t.lr.FETCH_TRANSACTIONS_ECL),Fe=(0,e.PH)(t.lr.SET_TRANSACTIONS_ECL,(0,e.Ky)()),ke=(0,e.PH)(t.lr.SEND_ONCHAIN_FUNDS_ECL,(0,e.Ky)()),je=((0,e.PH)(t.lr.SEND_ONCHAIN_FUNDS_RES_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.FETCH_INVOICES_ECL)),Ve=(0,e.PH)(t.lr.SET_INVOICES_ECL,(0,e.Ky)()),xe=(0,e.PH)(t.lr.CREATE_INVOICE_ECL,(0,e.Ky)()),Ze=(0,e.PH)(t.lr.ADD_INVOICE_ECL,(0,e.Ky)()),Ie=(0,e.PH)(t.lr.UPDATE_INVOICE_ECL,(0,e.Ky)()),ve=(0,e.PH)(t.lr.PEER_LOOKUP_ECL,(0,e.Ky)()),et=(0,e.PH)(t.lr.INVOICE_LOOKUP_ECL,(0,e.Ky)()),Le=((0,e.PH)(t.lr.SET_LOOKUP_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.UPDATE_CHANNEL_STATE_ECL,(0,e.Ky)())),Ae=(0,e.PH)(t.lr.UPDATE_RELAYED_PAYMENT_ECL,(0,e.Ky)())},3289:(Ue,q,m)=>{"use strict";m.d(q,{o:()=>ue});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(2340),p=m(1786),S=m(7731),A=m(7861),P=m(7766),M=m(2994),z=m(2501),I=m(2560),W=m(8987),Z=m(9263),Q=m(5986),ie=m(62),ae=m(5043),_e=m(3547),ce=m(3512),ye=m(4666);class ue{constructor(he,w,n,o,h,d,y,L,B){this.actions=he,this.httpClient=w,this.store=n,this.sessionService=o,this.commonService=h,this.logger=d,this.router=y,this.wsService=L,this.location=B,this.CHILD_API_URL=k.T5+"/ecl",this.flgInitialized=!1,this.flgReceivedPaymentUpdateFromWS=!1,this.latestPaymentRes="",this.rawChannelsList=[],this.unSubs=[new t.x,new t.x,new t.x],this.infoFetchECL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_INFO_ECL),(0,E.z)(v=>(this.flgInitialized=!1,this.store.dispatch((0,A.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,A.ac)({payload:S.m6.GET_NODE_INFO})),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInfo",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(S.pg.SET_SELECTED_NODE))),(0,D.U)(a=>(this.logger.info(a),this.initializeRemainingData(a,v.payload.loadPage),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInfo",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.GET_NODE_INFO})),{type:S.lr.SET_INFO_ECL,payload:a||{}})),(0,u.K)(a=>{const C=this.commonService.extractErrorCode(a),N=503===C?"Unable to Connect to Eclair Server.":this.commonService.extractErrorMessage(a);return this.router.navigate(["/error"],{state:{errorCode:C,errorMessage:N}}),this.handleErrorWithoutAlert("FetchInfo",S.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:C,error:N}),(0,_.of)({type:S.pg.VOID})})))))),this.fetchFees=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_FEES_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchFees",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API+"/fees").pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchFees",status:S.Bn.COMPLETED}})),{type:S.lr.SET_FEES_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchFees",S.m6.NO_SPINNER,"Fetching Fees Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.fetchPayments=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PAYMENTS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPayments",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API+"/payments").pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPayments",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PAYMENTS_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPayments",S.m6.NO_SPINNER,"Fetching Payments Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.channelsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_CHANNELS_ECL),(0,E.z)(v=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchChannels",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.rawChannelsList=a,this.setChannelsAndStatusAndBalances(),this.store.dispatch((0,M.QZ)({payload:{action:"FetchChannels",status:S.Bn.COMPLETED}})),v.payload&&v.payload.fetchPayments&&this.store.dispatch((0,M.cQ)()),{type:S.pg.VOID})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchChannels",S.m6.NO_SPINNER,"Fetching Channels Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.fetchOnchainBalance=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_ONCHAIN_BALANCE_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchOnchainBalance",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/balance"))),(0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchOnchainBalance",status:S.Bn.COMPLETED}})),{type:S.lr.SET_ONCHAIN_BALANCE_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchOnchainBalance",S.m6.NO_SPINNER,"Fetching Onchain Balances Failed.",v),(0,_.of)({type:S.pg.VOID}))))),this.peersFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PEERS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPeers",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PEERS_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPeers",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PEERS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPeers",S.m6.NO_SPINNER,"Fetching Peers Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.getNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.GET_NEW_ADDRESS_ECL),(0,E.z)(()=>(this.store.dispatch((0,A.ac)({payload:S.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,A.uO)({payload:S.m6.GENERATE_NEW_ADDRESS})),{type:S.lr.SET_NEW_ADDRESS_ECL,payload:v})),(0,u.K)(v=>(this.handleErrorWithAlert("GetNewAddress",S.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+k.NZ.ON_CHAIN_API,v),(0,_.of)({type:S.pg.VOID})))))))),this.setNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_NEW_ADDRESS_ECL),(0,D.U)(v=>(this.logger.info(v.payload),v.payload))),{dispatch:!1}),this.saveNewPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_NEW_PEER_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.CONNECT_PEER})),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewPeer",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PEERS_API+(v.payload.id.includes("@")?"?uri=":"?nodeId=")+v.payload.id,{}).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewPeer",status:S.Bn.COMPLETED}})),a=a||[],this.store.dispatch((0,A.uO)({payload:S.m6.CONNECT_PEER})),this.store.dispatch((0,M.Z8)({payload:a})),{type:S.lr.NEWLY_ADDED_PEER_ECL,payload:{peer:a.find(C=>C.nodeId===(v.payload.id.includes("@")?v.payload.id.substring(0,v.payload.id.indexOf("@")):v.payload.id))}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("SaveNewPeer",S.m6.CONNECT_PEER,"Peer Connection Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.detachPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.DETACH_PEER_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.PEERS_API+"/"+v.payload.nodeId).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,A.uO)({payload:S.m6.DISCONNECT_PEER})),this.store.dispatch((0,A.jW)({payload:"Disconnecting Peer!"})),{type:S.lr.REMOVE_PEER_ECL,payload:{nodeId:v.payload.nodeId}})),(0,u.K)(a=>(this.handleErrorWithAlert("DisconnectPeer",S.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+k.NZ.PEERS_API+"/"+v.payload.nodeId,a),(0,_.of)({type:S.pg.VOID})))))))),this.openNewChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_NEW_CHANNEL_ECL),(0,E.z)(v=>{this.store.dispatch((0,A.ac)({payload:S.m6.OPEN_CHANNEL})),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewChannel",status:S.Bn.INITIATED}}));const a={nodeId:v.payload.nodeId,fundingSatoshis:v.payload.amount,announceChannel:!v.payload.private};return v.payload.feeRate&&v.payload.feeRate>0&&(a.fundingFeerateSatByte=v.payload.feeRate),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API,a).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewChannel",status:S.Bn.COMPLETED}})),this.store.dispatch((0,M.$W)()),this.store.dispatch((0,M.iL)()),this.store.dispatch((0,A.uO)({payload:S.m6.OPEN_CHANNEL})),this.store.dispatch((0,A.jW)({payload:"Channel Added Successfully!"})),{type:S.lr.FETCH_CHANNELS_ECL,payload:{fetchPayments:!1}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewChannel",S.m6.OPEN_CHANNEL,"Opening Channel Failed.",C),(0,_.of)({type:S.pg.VOID}))))}))),this.updateChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.UPDATE_CHANNEL_ECL),(0,E.z)(v=>{this.store.dispatch((0,A.ac)({payload:S.m6.UPDATE_CHAN_POLICY}));let a="?feeBaseMsat="+v.payload.baseFeeMsat+"&feeProportionalMillionths="+v.payload.feeRate;return a=v.payload.nodeIds?a+"&nodeIds="+v.payload.nodeIds:v.payload.nodeId?a+"&nodeId="+v.payload.nodeId:v.payload.channelIds?a+"&channelIds="+v.payload.channelIds:a+"&channelId="+v.payload.channelId,this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/updateRelayFee"+a,{}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,A.uO)({payload:S.m6.UPDATE_CHAN_POLICY})),v.payload.nodeIds||v.payload.channelIds?this.store.dispatch((0,A.jW)({payload:"Channels Updated Successfully."})):this.store.dispatch((0,A.jW)({payload:"Channel Updated Successfully!"})),{type:S.lr.FETCH_CHANNELS_ECL,payload:{fetchPayments:!1}})),(0,u.K)(C=>(this.handleErrorWithAlert("UpdateChannels",S.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API,C),(0,_.of)({type:S.pg.VOID}))))}))),this.closeChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.CLOSE_CHANNEL_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.CHANNELS_API+"?channelId="+v.payload.channelId+"&force="+v.payload.force).pipe((0,D.U)(a=>(this.logger.info(a),setTimeout(()=>{this.store.dispatch((0,A.uO)({payload:v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL})),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!1}})),this.store.dispatch((0,A.jW)({payload:v.payload.force?"Channel Force Closed Successfully!":"Channel Closed Successfully!"}))},2e3),{type:S.pg.VOID})),(0,u.K)(a=>(this.handleErrorWithAlert("CloseChannel",v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+k.NZ.CHANNELS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.queryRoutesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.GET_QUERY_ROUTES_ECL),(0,E.z)(v=>this.httpClient.get(this.CHILD_API_URL+k.NZ.PAYMENTS_API+"/route?nodeId="+v.payload.nodeId+"&amountMsat="+v.payload.amount).pipe((0,D.U)(a=>(this.logger.info(a),{type:S.lr.SET_QUERY_ROUTES_ECL,payload:a})),(0,u.K)(a=>(this.store.dispatch((0,M.kL)({payload:[]})),this.handleErrorWithAlert("GetQueryRoutes",S.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API+"/route?nodeId="+v.payload.nodeId+"&amountMsat="+v.payload.amount,a),(0,_.of)({type:S.pg.VOID}))))))),this.setQueryRoutes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_QUERY_ROUTES_ECL),(0,D.U)(v=>v.payload)),{dispatch:!1}),this.sendPayment=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SEND_PAYMENT_ECL),(0,E.z)(v=>(this.flgReceivedPaymentUpdateFromWS=!1,this.latestPaymentRes="",this.store.dispatch((0,A.ac)({payload:S.m6.SEND_PAYMENT})),this.store.dispatch((0,M.QZ)({payload:{action:"SendPayment",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PAYMENTS_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.latestPaymentRes=a,setTimeout(()=>{this.flgReceivedPaymentUpdateFromWS||this.handleSendPaymentStatus("Payment Submitted!")},3e3),{type:S.pg.VOID})),(0,u.K)(a=>(this.logger.error("Error: "+JSON.stringify(a)),v.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",S.m6.SEND_PAYMENT,"Send Payment Failed.",a):this.handleErrorWithAlert("SendPayment",S.m6.SEND_PAYMENT,"Send Payment Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.transactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_TRANSACTIONS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchTransactions",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/transactions?count=1000&skip=0"))),(0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchTransactions",status:S.Bn.COMPLETED}})),{type:S.lr.SET_TRANSACTIONS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchTransactions",S.m6.NO_SPINNER,"Fetching Transactions Failed.",v),(0,_.of)({type:S.pg.VOID}))))),this.SendOnchainFunds=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SEND_ONCHAIN_FUNDS_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEND_FUNDS})),this.store.dispatch((0,M.QZ)({payload:{action:"SendOnchainFunds",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.ON_CHAIN_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SendOnchainFunds",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEND_FUNDS})),this.store.dispatch((0,M.iL)()),{type:S.lr.SEND_ONCHAIN_FUNDS_RES_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("SendOnchainFunds",S.m6.SEND_FUNDS,"Sending Fund Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.createInvoice=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.CREATE_INVOICE_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.CREATE_INVOICE})),this.store.dispatch((0,M.QZ)({payload:{action:"CreateInvoice",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.INVOICES_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"CreateInvoice",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.CREATE_INVOICE})),a.timestamp=Math.round((new Date).getTime()/1e3),a.expiresAt=Math.round(a.timestamp+v.payload.expireIn),a.description=v.payload.description,a.status="unpaid",setTimeout(()=>{this.store.dispatch((0,A.qR)({payload:{data:{invoice:a,newlyAdded:!0,component:P.R}}}))},200),{type:S.lr.ADD_INVOICE_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("CreateInvoice",S.m6.CREATE_INVOICE,"Create Invoice Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.invoicesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_INVOICES_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchInvoices",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInvoices",status:S.Bn.COMPLETED}})),{type:S.lr.SET_INVOICES_ECL,payload:v})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchInvoices",S.m6.NO_SPINNER,"Fetching Invoices Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.peerLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.PEER_LOOKUP_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEARCHING_NODE})),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/nodes/"+v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEARCHING_NODE})),{type:S.lr.SET_LOOKUP_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithAlert("Lookup",S.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/nodes/"+v.payload,a),(0,_.of)({type:S.pg.VOID})))))))),this.invoiceLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.INVOICE_LOOKUP_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"/"+v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.aL)({payload:a})),{type:S.lr.SET_LOOKUP_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("Lookup",S.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",a),this.store.dispatch((0,A.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:S.pg.VOID})))))))),this.setLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_LOOKUP_ECL),(0,D.U)(v=>(this.logger.info(v.payload),v.payload))),{dispatch:!1}),this.pageSettingsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PAGE_SETTINGS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPageSettings",status:S.Bn.INITIATED}})),this.httpClient.get(k.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPageSettings",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PAGE_SETTINGS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPageSettings",S.m6.NO_SPINNER,"Fetching Page Settings Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.savePageSettingsCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_PAGE_SETTINGS_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.QZ)({payload:{action:"SavePageSettings",status:S.Bn.INITIATED}})),this.httpClient.post(k.NZ.PAGE_SETTINGS_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SavePageSettings",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,A.jW)({payload:"Page Layout Updated Successfully!"})),{type:S.lr.SET_PAGE_SETTINGS_ECL,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithAlert("SavePageSettings",S.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",k.NZ.PAGE_SETTINGS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.handleSendPaymentStatus=v=>{this.store.dispatch((0,M.QZ)({payload:{action:"SendPayment",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEND_PAYMENT})),this.store.dispatch((0,M.TM)({payload:this.latestPaymentRes})),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!0}})),this.store.dispatch((0,A.jW)({payload:v}))},this.store.select(z.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(v=>{v.FetchInfo.status!==S.Bn.COMPLETED&&v.FetchInfo.status!==S.Bn.ERROR||v.FetchFees.status!==S.Bn.COMPLETED&&v.FetchFees.status!==S.Bn.ERROR||v.FetchOnchainBalance.status!==S.Bn.COMPLETED&&v.FetchOnchainBalance.status!==S.Bn.ERROR||v.FetchChannels.status!==S.Bn.COMPLETED&&v.FetchChannels.status!==S.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,A.uO)({payload:S.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.eclWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(v=>{this.logger.info("Received new message from the service: "+JSON.stringify(v));let a="";if(v)switch(v.type){case S.$v.PAYMENT_SENT:v&&v.id&&this.latestPaymentRes===v.id&&(this.flgReceivedPaymentUpdateFromWS=!0,a="Payment Sent: "+(v.paymentHash?"with payment hash "+v.paymentHash:JSON.stringify(v)),this.handleSendPaymentStatus(a));break;case S.$v.PAYMENT_FAILED:v&&v.id&&this.latestPaymentRes===v.id&&(this.flgReceivedPaymentUpdateFromWS=!0,a="Payment Failed: "+(v.failures&&v.failures.length&&v.failures.length>0&&v.failures[0].t?v.failures[0].t:v.failures&&v.failures.length&&v.failures.length>0&&v.failures[0].e&&v.failures[0].e.failureMessage?v.failures[0].e.failureMessage:JSON.stringify(v)),this.handleSendPaymentStatus(a));break;case S.$v.PAYMENT_RECEIVED:this.store.dispatch((0,M.aL)({payload:v}));break;case S.$v.PAYMENT_RELAYED:delete v.source,this.store.dispatch((0,M.ti)({payload:v}));break;case S.$v.CHANNEL_STATE_CHANGED:"NORMAL"===v.currentState||"CLOSED"===v.currentState?(this.rawChannelsList=this.rawChannelsList?.map(C=>(C.channelId===v.channelId&&C.nodeId===v.remoteNodeId&&(C.state=v.currentState),C)),this.setChannelsAndStatusAndBalances()):this.store.dispatch((0,M.DJ)({payload:v}));break;default:this.logger.info("Received Event from WS: "+JSON.stringify(v))}})}setChannelsAndStatusAndBalances(){let he=0,w=0,n=0,o={localBalance:0,remoteBalance:0},h=[];const d=[],y=[],L={active:{channels:0,capacity:0},inactive:{channels:0,capacity:0},pending:{channels:0,capacity:0}};this.rawChannelsList.forEach((B,v)=>{B&&("NORMAL"===B.state?(he=(B.toLocal||0)+(B.toRemote||0),w+=B.toLocal||0,n+=B.toRemote||0,B.balancedness=0===he?1:+(1-Math.abs(((B.toLocal||0)-(B.toRemote||0))/he)).toFixed(3),h.push(B),L.active.channels=L.active.channels+1,L.active.capacity=L.active.capacity+(B.toLocal||0)):B.state?.includes("WAIT")||B.state?.includes("CLOSING")||B.state?.includes("SYNCING")?(B.state=B.state?.replace(/_/g," "),d.push(B),L.pending.channels=L.pending.channels+1,L.pending.capacity=L.pending.capacity+(B.toLocal||0)):(B.state=B.state?.replace(/_/g," "),y.push(B),L.inactive.channels=L.inactive.channels+1,L.inactive.capacity=L.inactive.capacity+(B.toLocal||0)))}),o={localBalance:w,remoteBalance:n},h=this.commonService.sortDescByKey(h,"balancedness"),this.logger.info("Active Channels: "+JSON.stringify(h)),this.logger.info("Pending Channels: "+JSON.stringify(d)),this.logger.info("Inactive Channels: "+JSON.stringify(y)),this.logger.info("Lightning Balances: "+JSON.stringify(o)),this.logger.info("Channels Status: "+JSON.stringify(L)),this.logger.info("Channel, status and balances: "+JSON.stringify({active:h,pending:d,inactive:y,balances:o,status:L})),this.store.dispatch((0,M.eN)({payload:h})),this.store.dispatch((0,M.TW)({payload:d})),this.store.dispatch((0,M.i)({payload:y})),this.store.dispatch((0,M.On)({payload:o})),this.store.dispatch((0,M.HG)({payload:L}))}initializeRemainingData(he,w){this.sessionService.setItem("eclUnlocked","true");const n={identity_pubkey:he.nodeId,alias:he.alias,testnet:"testnet"===he.network,chains:he.publicAddresses,uris:he.uris,version:he.version,numberOfPendingChannels:0};this.store.dispatch((0,A.ac)({payload:S.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,A._V)({payload:n}));let o=this.location.path();o.includes("/lnd/")?o=o?.replace("/lnd/","/ecl/"):o.includes("/cln/")&&(o=o?.replace("/cln/","/ecl/")),(o.includes("/login")||o.includes("/error")||""===o||"HOME"===w||o.includes("?access-key="))&&(o="/ecl/home"),this.router.navigate([o]),this.store.dispatch((0,M.wD)()),this.store.dispatch((0,M.WM)()),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!0}})),this.store.dispatch((0,M.SN)()),this.store.dispatch((0,M.iL)()),this.store.dispatch((0,M.$W)())}handleErrorWithoutAlert(he,w,n,o){this.logger.error("ERROR IN: "+he+"\n"+JSON.stringify(o)),401===o.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,A.ts)()),this.store.dispatch((0,A.kS)()),this.store.dispatch((0,A.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,A.uO)({payload:w})),this.store.dispatch((0,M.QZ)({payload:{action:he,status:S.Bn.ERROR,statusCode:o.status.toString(),message:this.commonService.extractErrorMessage(o,n)}})))}handleErrorWithAlert(he,w,n,o,h){if(this.logger.error(h),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,A.ts)()),this.store.dispatch((0,A.kS)()),this.store.dispatch((0,A.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,A.uO)({payload:w}));const d=this.commonService.extractErrorMessage(h);this.store.dispatch((0,A.qR)({payload:{data:{type:"ERROR",alertTitle:n,message:{code:h.status,message:d,URL:o},component:p.H}}})),this.store.dispatch((0,M.QZ)({payload:{action:he,status:S.Bn.ERROR,statusCode:h.status.toString(),message:d,URL:o}}))}}ngOnDestroy(){this.unSubs.forEach(he=>{he.next(null),he.complete()})}static#e=this.\u0275fac=function(w){return new(w||ue)(I.LFG(e.eX),I.LFG(W.eN),I.LFG(Z.yh),I.LFG(Q.m),I.LFG(ie.v),I.LFG(ae.mQ),I.LFG(_e.F0),I.LFG(ce.d),I.LFG(ye.Ye))};static#t=this.\u0275prov=I.Yz7({token:ue,factory:ue.\u0275fac})}},2501:(Ue,q,m)=>{"use strict";m.d(q,{Bo:()=>z,Ef:()=>M,JG:()=>S,LR:()=>_,PP:()=>p,T$:()=>D,Xz:()=>A,dx:()=>P,kY:()=>I,nF:()=>E,yA:()=>k,yD:()=>s});var e=m(9263);const t=(0,e.ZF)("ecl"),_=(0,e.P1)(t,W=>W.nodeSettings),E=(0,e.P1)(t,W=>({pageSettings:W.pageSettings,apiCallStatus:W.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,W=>W.information),D=(0,e.P1)(t,W=>({information:W.information,apiCallStatus:W.apisCallStatus.FetchInfo})),k=((0,e.P1)(t,W=>W.apisCallStatus.FetchInfo),(0,e.P1)(t,W=>W.apisCallStatus)),p=(0,e.P1)(t,W=>({payments:W.payments,apiCallStatus:W.apisCallStatus.FetchPayments})),S=(0,e.P1)(t,W=>({fees:W.fees,apiCallStatus:W.apisCallStatus.FetchFees})),A=(0,e.P1)(t,W=>({activeChannels:W.activeChannels,pendingChannels:W.pendingChannels,inactiveChannels:W.inactiveChannels,lightningBalance:W.lightningBalance,channelsStatus:W.channelsStatus,apiCallStatus:W.apisCallStatus.FetchChannels})),P=(0,e.P1)(t,W=>({transactions:W.transactions,apiCallStatus:W.apisCallStatus.FetchTransactions})),M=(0,e.P1)(t,W=>({invoices:W.invoices,apiCallStatus:W.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,W=>({peers:W.peers,apiCallStatus:W.apisCallStatus.FetchPeers})),I=(0,e.P1)(t,W=>({onchainBalance:W.onchainBalance,apiCallStatus:W.apisCallStatus.FetchOnchainBalance}))},7766:(Ue,q,m)=>{"use strict";m.d(q,{R:()=>Ve});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(2501),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),Q=m(1528),ie=m(1708),ae=m(6021),_e=m(6895),ce=m(3390);function ye(xe,Ze){if(1&xe&&u._UZ(0,"qr-code",29),2&xe){const Ie=u.oxw();u.Q6J("value",null==Ie.invoice?null:Ie.invoice.serialized)("size",Ie.qrWidth)("errorCorrectionLevel","L")}}function ue(xe,Ze){1&xe&&(u.TgZ(0,"span",30),u._uU(1,"N/A"),u.qZA())}function $(xe,Ze){if(1&xe&&u._UZ(0,"qr-code",29),2&xe){const Ie=u.oxw();u.Q6J("value",null==Ie.invoice?null:Ie.invoice.serialized)("size",Ie.qrWidth)("errorCorrectionLevel","L")}}function he(xe,Ze){1&xe&&(u.TgZ(0,"span",31),u._uU(1,"QR Code Not Applicable"),u.qZA())}function w(xe,Ze){1&xe&&u._UZ(0,"mat-divider",32),2&xe&&u.Q6J("inset",!0)}function n(xe,Ze){1&xe&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function o(xe,Ze){1&xe&&u._UZ(0,"span",38)}const h=function(){return[]};function d(xe,Ze){if(1&xe&&(u.TgZ(0,"div",34)(1,"div",35)(2,"span",36),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,o,1,0,"span",37),u.qZA()()),2&xe){const Ie=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,null==Ie.invoice?null:Ie.invoice.amountSettled)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,h).constructor(35))}}function y(xe,Ze){if(1&xe&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&xe){const Ie=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,null==Ie.invoice?null:Ie.invoice.amountSettled)," Sats")}}function L(xe,Ze){if(1&xe&&(u.ynx(0),u.YNc(1,d,6,5,"div",33),u.YNc(2,y,3,3,"div",19),u.BQk()),2&xe){const Ie=u.oxw();u.xp6(1),u.Q6J("ngIf",Ie.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!Ie.flgInvoicePaid)}}function B(xe,Ze){1&xe&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function v(xe,Ze){1&xe&&u._UZ(0,"mat-spinner",40),2&xe&&u.Q6J("diameter",20)}function a(xe,Ze){if(1&xe&&(u.ynx(0),u.YNc(1,B,2,0,"span",19),u.YNc(2,v,1,1,"mat-spinner",39),u.BQk()),2&xe){const Ie=u.oxw();u.xp6(1),u.Q6J("ngIf","unpaid"!==(null==Ie.invoice?null:Ie.invoice.status)||!Ie.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==Ie.invoice?null:Ie.invoice.status)&&Ie.flgVersionCompatible)}}function C(xe,Ze){if(1&xe&&(u.TgZ(0,"div"),u._UZ(1,"mat-divider",20),u.TgZ(2,"div",15)(3,"div",41)(4,"h4",17),u._uU(5,"Date Expiry"),u.qZA(),u.TgZ(6,"span",18),u._uU(7),u.ALo(8,"date"),u.qZA()(),u.TgZ(9,"div",42)(10,"h4",17),u._uU(11,"Date Settled"),u.qZA(),u.TgZ(12,"span",21),u._uU(13),u.ALo(14,"date"),u.qZA()()(),u._UZ(15,"mat-divider",20),u.TgZ(16,"div",15)(17,"div",22)(18,"h4",17),u._uU(19,"Payment Hash"),u.qZA(),u.TgZ(20,"span",21),u._uU(21),u.qZA()()(),u._UZ(22,"mat-divider",20),u.TgZ(23,"div",15)(24,"div",22)(25,"h4",17),u._uU(26,"Node ID"),u.qZA(),u.TgZ(27,"span",21),u._uU(28),u.qZA()()(),u._UZ(29,"mat-divider",20),u.qZA()),2&xe){const Ie=u.oxw();u.xp6(7),u.Oqu(u.xi3(8,4,1e3*(null==Ie.invoice?null:Ie.invoice.expiresAt),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.xi3(14,7,1e3*(null==Ie.invoice?null:Ie.invoice.receivedAt),"dd/MMM/y HH:mm")),u.xp6(8),u.Oqu(null==Ie.invoice?null:Ie.invoice.paymentHash),u.xp6(7),u.Oqu(null==Ie.invoice?null:Ie.invoice.nodeId)}}function N(xe,Ze){1&xe&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function F(xe,Ze){1&xe&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function X(xe,Ze){if(1&xe){const Ie=u.EpF();u.TgZ(0,"button",43),u.NdJ("copied",function(et){u.CHM(Ie);const ht=u.oxw();return u.KtG(ht.onCopyPayment(et))}),u._uU(1,"Copy Invoice"),u.qZA()}if(2&xe){const Ie=u.oxw();u.Q6J("payload",null==Ie.invoice?null:Ie.invoice.serialized)}}function Fe(xe,Ze){if(1&xe){const Ie=u.EpF();u.TgZ(0,"button",44),u.NdJ("click",function(){u.CHM(Ie);const et=u.oxw();return u.KtG(et.onClose())}),u._uU(1,"OK"),u.qZA()}}const ke=function(xe){return{"display-none":xe}},Ke=function(xe){return{"xs-scroll-y":xe}},je=function(xe,Ze){return{"mt-2":xe,"mt-1":Ze}};class Ve{constructor(Ze,Ie,ve,et,ht,Le){this.dialogRef=Ze,this.data=Ie,this.logger=ve,this.commonService=et,this.snackBar=ht,this.store=Le,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.yD).pipe((0,E.R)(this.unSubs[0])).subscribe(Ze=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(Ze.version,"0.5.0")}),this.store.select(D.Ef).pipe((0,E.R)(this.unSubs[1])).subscribe(Ze=>{const Ie=this.invoice.status,et=(Ze.invoices&&Ze.invoices.length>0?Ze.invoices:[])?.find(ht=>ht.paymentHash===this.invoice.paymentHash)||null;et&&(this.invoice=et),Ie!==this.invoice.status&&"received"===this.invoice.status&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(Ze)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(Ze){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+Ze)}ngOnDestroy(){this.unSubs.forEach(Ze=>{Ze.next(null),Ze.complete()})}static#e=this.\u0275fac=function(Ie){return new(Ie||Ve)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:Ve,selectors:[["rtl-ecl-invoice-information"]],decls:68,vars:42,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],[1,"overflow-wrap","foreground-secondary-text"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],["fxFlex","40"],["fxFlex","60"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(Ie,ve){if(1&Ie&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,ye,1,3,"qr-code",2),u.YNc(3,ue,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return ve.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,$,1,3,"qr-code",2),u.YNc(16,he,2,0,"span",13),u.qZA(),u.YNc(17,w,1,1,"mat-divider",14),u.TgZ(18,"div",15)(19,"div",16)(20,"h4",17),u._uU(21,"Amount Requested"),u.qZA(),u.TgZ(22,"span",18),u._uU(23),u.ALo(24,"number"),u.YNc(25,n,2,0,"ng-container",19),u.qZA()(),u.TgZ(26,"div",16)(27,"h4",17),u._uU(28,"Amount Settled"),u.qZA(),u.TgZ(29,"span",18),u.YNc(30,L,3,2,"ng-container",19),u.YNc(31,a,3,2,"ng-container",19),u.qZA()()(),u._UZ(32,"mat-divider",20),u.TgZ(33,"div",15)(34,"div",16)(35,"h4",17),u._uU(36,"Date Created"),u.qZA(),u.TgZ(37,"span",21),u._uU(38),u.ALo(39,"date"),u.qZA()(),u.TgZ(40,"div",16)(41,"h4",17),u._uU(42,"Status"),u.qZA(),u.TgZ(43,"span",21),u._uU(44),u.ALo(45,"titlecase"),u.qZA()()(),u._UZ(46,"mat-divider",20),u.TgZ(47,"div",15)(48,"div",22)(49,"h4",17),u._uU(50,"Description"),u.qZA(),u.TgZ(51,"span",18),u._uU(52),u.qZA()()(),u._UZ(53,"mat-divider",20),u.TgZ(54,"div",15)(55,"div",22)(56,"h4",17),u._uU(57,"Invoice"),u.qZA(),u.TgZ(58,"span",21),u._uU(59),u.qZA()()(),u.YNc(60,C,30,10,"div",19),u.TgZ(61,"div",23)(62,"button",24),u.NdJ("click",function(){return ve.onShowAdvanced()}),u.YNc(63,N,2,0,"p",25),u.YNc(64,F,2,0,"ng-template",null,26,u.W1O),u.qZA(),u.YNc(66,X,2,1,"button",27),u.YNc(67,Fe,2,0,"button",28),u.qZA()()()()()),2&Ie){const et=u.MAs(65);u.xp6(1),u.Q6J("fxLayoutAlign",null!=ve.invoice&&ve.invoice.serialized&&""!==(null==ve.invoice?null:ve.invoice.serialized)?"center start":"center center")("ngClass",u.VKq(33,ke,ve.screenSize===ve.screenSizeEnum.XS||ve.screenSize===ve.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==ve.invoice?null:ve.invoice.serialized)&&""!==(null==ve.invoice?null:ve.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ve.invoice&&ve.invoice.serialized)||""===(null==ve.invoice?null:ve.invoice.serialized)),u.xp6(4),u.Q6J("icon",ve.faReceipt),u.xp6(2),u.Oqu(ve.screenSize===ve.screenSizeEnum.XS?ve.newlyAdded?"Created":"Invoice":ve.newlyAdded?"Invoice Created":"Invoice Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(35,Ke,ve.screenSize===ve.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=ve.invoice&&ve.invoice.serialized&&""!==(null==ve.invoice?null:ve.invoice.serialized)?"center start":"center center")("ngClass",u.VKq(37,ke,ve.screenSize!==ve.screenSizeEnum.XS&&ve.screenSize!==ve.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==ve.invoice?null:ve.invoice.serialized)&&""!==(null==ve.invoice?null:ve.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ve.invoice&&ve.invoice.serialized)||""===(null==ve.invoice?null:ve.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",ve.screenSize===ve.screenSizeEnum.XS||ve.screenSize===ve.screenSizeEnum.SM),u.xp6(6),u.hij("",u.lcZ(24,26,(null==ve.invoice?null:ve.invoice.amount)||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=ve.invoice&&ve.invoice.amount)||"0"===(null==ve.invoice?null:ve.invoice.amount)),u.xp6(5),u.Q6J("ngIf",null==ve.invoice?null:ve.invoice.amountSettled),u.xp6(1),u.Q6J("ngIf",!(null!=ve.invoice&&ve.invoice.amountSettled)),u.xp6(7),u.Oqu(u.xi3(39,28,1e3*(null==ve.invoice?null:ve.invoice.timestamp),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.lcZ(45,31,null==ve.invoice?null:ve.invoice.status)),u.xp6(8),u.Oqu((null==ve.invoice?null:ve.invoice.description)||"-"),u.xp6(7),u.Oqu((null==ve.invoice?null:ve.invoice.serialized)||"N/A"),u.xp6(1),u.Q6J("ngIf",ve.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(39,je,!ve.showAdvanced,ve.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!ve.showAdvanced)("ngIfElse",et),u.xp6(3),u.Q6J("ngIf",(null==ve.invoice?null:ve.invoice.serialized)&&""!==(null==ve.invoice?null:ve.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ve.invoice&&ve.invoice.serialized)||""===(null==ve.invoice?null:ve.invoice.serialized))}},dependencies:[P.mk,P.sg,P.O5,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,Q.d,ie.Ou,ae.uU,_e.y,ce.h,P.JJ,P.rS,P.uU]})}},6523:(Ue,q,m)=>{"use strict";m.d(q,{$A:()=>yn,$W:()=>A,BL:()=>B,B_:()=>Fe,Bl:()=>ce,CX:()=>S,Cp:()=>C,EK:()=>W,El:()=>M,Fr:()=>dt,HI:()=>Ae,JT:()=>s,Jl:()=>ye,Jo:()=>vt,Lf:()=>ve,Ll:()=>E,Ly:()=>et,Nr:()=>Ve,OG:()=>v,PC:()=>_,QJ:()=>tn,RX:()=>_e,Rd:()=>Z,Rv:()=>ue,SN:()=>ae,Sf:()=>Ut,TW:()=>o,UH:()=>ht,UR:()=>he,Vv:()=>a,WM:()=>je,WO:()=>pn,Wi:()=>Re,YP:()=>ie,YX:()=>L,Z7:()=>n,Z8:()=>P,Zh:()=>h,_E:()=>j,_L:()=>d,aL:()=>xe,as:()=>w,cQ:()=>Le,dV:()=>ee,eF:()=>k,fu:()=>_t,kL:()=>tt,ks:()=>$,mC:()=>Ie,n7:()=>Xt,oV:()=>te,pW:()=>y,pd:()=>u,qY:()=>Ze,sQ:()=>p,tb:()=>X,u0:()=>rn,vV:()=>ke,wD:()=>D,xG:()=>Bt,y2:()=>Ct,yZ:()=>Gt,z:()=>I});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.uR.UPDATE_API_CALL_STATUS_LND,(0,e.Ky)()),E=(0,e.PH)(t.uR.RESET_LND_STORE,(0,e.Ky)()),s=(0,e.PH)(t.uR.SET_CHILD_NODE_SETTINGS_LND,(0,e.Ky)()),D=(0,e.PH)(t.uR.FETCH_PAGE_SETTINGS_LND),u=(0,e.PH)(t.uR.SET_PAGE_SETTINGS_LND,(0,e.Ky)()),k=(0,e.PH)(t.uR.SAVE_PAGE_SETTINGS_LND,(0,e.Ky)()),p=(0,e.PH)(t.uR.FETCH_INFO_LND,(0,e.Ky)()),S=(0,e.PH)(t.uR.SET_INFO_LND,(0,e.Ky)()),A=(0,e.PH)(t.uR.FETCH_PEERS_LND),P=(0,e.PH)(t.uR.SET_PEERS_LND,(0,e.Ky)()),M=(0,e.PH)(t.uR.SAVE_NEW_PEER_LND,(0,e.Ky)()),I=((0,e.PH)(t.uR.NEWLY_ADDED_PEER_LND,(0,e.Ky)()),(0,e.PH)(t.uR.DETACH_PEER_LND,(0,e.Ky)())),W=(0,e.PH)(t.uR.REMOVE_PEER_LND,(0,e.Ky)()),Z=(0,e.PH)(t.uR.SAVE_NEW_INVOICE_LND,(0,e.Ky)()),ie=((0,e.PH)(t.uR.NEWLY_SAVED_INVOICE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.ADD_INVOICE_LND,(0,e.Ky)())),ae=(0,e.PH)(t.uR.FETCH_FEES_LND),_e=(0,e.PH)(t.uR.SET_FEES_LND,(0,e.Ky)()),ce=(0,e.PH)(t.uR.FETCH_BLOCKCHAIN_BALANCE_LND),ye=(0,e.PH)(t.uR.SET_BLOCKCHAIN_BALANCE_LND,(0,e.Ky)()),ue=(0,e.PH)(t.uR.FETCH_NETWORK_LND),$=(0,e.PH)(t.uR.SET_NETWORK_LND,(0,e.Ky)()),he=(0,e.PH)(t.uR.FETCH_CHANNELS_LND),w=(0,e.PH)(t.uR.SET_CHANNELS_LND,(0,e.Ky)()),n=(0,e.PH)(t.uR.FETCH_PENDING_CHANNELS_LND),o=(0,e.PH)(t.uR.SET_PENDING_CHANNELS_LND,(0,e.Ky)()),h=(0,e.PH)(t.uR.FETCH_CLOSED_CHANNELS_LND),d=(0,e.PH)(t.uR.SET_CLOSED_CHANNELS_LND,(0,e.Ky)()),y=(0,e.PH)(t.uR.UPDATE_CHANNEL_LND,(0,e.Ky)()),L=(0,e.PH)(t.uR.SAVE_NEW_CHANNEL_LND,(0,e.Ky)()),B=(0,e.PH)(t.uR.CLOSE_CHANNEL_LND,(0,e.Ky)()),v=(0,e.PH)(t.uR.REMOVE_CHANNEL_LND,(0,e.Ky)()),a=(0,e.PH)(t.uR.BACKUP_CHANNELS_LND,(0,e.Ky)()),C=(0,e.PH)(t.uR.VERIFY_CHANNEL_LND,(0,e.Ky)()),X=((0,e.PH)(t.uR.BACKUP_CHANNELS_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.VERIFY_CHANNEL_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.RESTORE_CHANNELS_LIST_LND)),Fe=(0,e.PH)(t.uR.SET_RESTORE_CHANNELS_LIST_LND,(0,e.Ky)()),ke=(0,e.PH)(t.uR.RESTORE_CHANNELS_LND,(0,e.Ky)()),je=((0,e.PH)(t.uR.RESTORE_CHANNELS_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.FETCH_INVOICES_LND,(0,e.Ky)())),Ve=(0,e.PH)(t.uR.SET_INVOICES_LND,(0,e.Ky)()),xe=(0,e.PH)(t.uR.UPDATE_INVOICE_LND,(0,e.Ky)()),Ze=(0,e.PH)(t.uR.UPDATE_PAYMENT_LND,(0,e.Ky)()),Ie=(0,e.PH)(t.uR.FETCH_TRANSACTIONS_LND),ve=(0,e.PH)(t.uR.SET_TRANSACTIONS_LND,(0,e.Ky)()),et=(0,e.PH)(t.uR.FETCH_UTXOS_LND),ht=(0,e.PH)(t.uR.SET_UTXOS_LND,(0,e.Ky)()),Le=(0,e.PH)(t.uR.FETCH_PAYMENTS_LND,(0,e.Ky)()),Ae=(0,e.PH)(t.uR.SET_PAYMENTS_LND,(0,e.Ky)()),te=(0,e.PH)(t.uR.SEND_PAYMENT_LND,(0,e.Ky)()),ee=((0,e.PH)(t.uR.SEND_PAYMENT_STATUS_LND,(0,e.Ky)()),(0,e.PH)(t.uR.FETCH_GRAPH_NODE_LND,(0,e.Ky)())),j=((0,e.PH)(t.uR.SET_GRAPH_NODE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GET_NEW_ADDRESS_LND,(0,e.Ky)())),Re=((0,e.PH)(t.uR.SET_NEW_ADDRESS_LND,(0,e.Ky)()),(0,e.PH)(t.uR.SET_CHANNEL_TRANSACTION_LND,(0,e.Ky)())),_t=((0,e.PH)(t.uR.SET_CHANNEL_TRANSACTION_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GEN_SEED_LND,(0,e.Ky)())),Ct=((0,e.PH)(t.uR.GEN_SEED_RESPONSE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.INIT_WALLET_LND,(0,e.Ky)())),Bt=((0,e.PH)(t.uR.INIT_WALLET_RESPONSE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.UNLOCK_WALLET_LND,(0,e.Ky)())),Ut=(0,e.PH)(t.uR.PEER_LOOKUP_LND,(0,e.Ky)()),yn=(0,e.PH)(t.uR.CHANNEL_LOOKUP_LND,(0,e.Ky)()),Xt=(0,e.PH)(t.uR.INVOICE_LOOKUP_LND,(0,e.Ky)()),Gt=(0,e.PH)(t.uR.PAYMENT_LOOKUP_LND,(0,e.Ky)()),rn=((0,e.PH)(t.uR.SET_LOOKUP_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GET_FORWARDING_HISTORY_LND,(0,e.Ky)())),tn=(0,e.PH)(t.uR.SET_FORWARDING_HISTORY_LND,(0,e.Ky)()),pn=(0,e.PH)(t.uR.GET_QUERY_ROUTES_LND,(0,e.Ky)()),tt=(0,e.PH)(t.uR.SET_QUERY_ROUTES_LND,(0,e.Ky)()),vt=(0,e.PH)(t.uR.GET_ALL_LIGHTNING_TRANSATIONS_LND),dt=(0,e.PH)(t.uR.SET_ALL_LIGHTNING_TRANSATIONS_LND,(0,e.Ky)())},3172:(Ue,q,m)=>{"use strict";m.d(q,{l:()=>he});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(538),p=m(2340),S=m(8627),A=m(1786),P=m(7731),M=m(7861),z=m(6523),I=m(6529),W=m(2560),Z=m(8987),Q=m(9263),ie=m(5043),ae=m(62),_e=m(5986),ce=m(640),ye=m(3547),ue=m(3512),$=m(4666);class he{constructor(n,o,h,d,y,L,B,v,a,C){this.actions=n,this.httpClient=o,this.store=h,this.logger=d,this.commonService=y,this.sessionService=L,this.dialog=B,this.router=v,this.wsService=a,this.location=C,this.CHILD_API_URL=p.T5+"/lnd",this.invoicesPageSize=P.IV,this.paymentsPageSize=P.IV,this.flgInitialized=!1,this.unSubs=[new t.x,new t.x],this.infoFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_INFO_LND),(0,E.z)(N=>(this.flgInitialized=!1,this.store.dispatch((0,M.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.ac)({payload:P.m6.GET_NODE_INFO})),this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(P.pg.SET_SELECTED_NODE))),(0,D.U)(F=>(this.logger.info(F),F.chains&&F.chains.length&&F.chains[0]&&("string"==typeof F.chains[0]&&F.chains[0].toLowerCase().indexOf("bitcoin")<0||"object"==typeof F.chains[0]&&F.chains[0].hasOwnProperty("chain")&&F.chains[0].chain&&F.chains[0].chain.toLowerCase().indexOf("bitcoin")<0)?(this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.qR)({payload:{data:{type:P.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}}})),{type:P.pg.LOGOUT}):F.identity_pubkey?(F.lnImplementation="LND",this.initializeRemainingData(F,N.payload.loadPage),this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),{type:P.uR.SET_INFO_LND,payload:F||{}}):(this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),{type:P.uR.SET_INFO_LND,payload:{}}))),(0,u.K)(F=>{if("string"==typeof F.error.error&&F.error.error.includes("Not Found")||"string"==typeof F.error.error&&F.error.error.includes("wallet locked")||502===F.status&&!F.error.message.includes("Bad or Missing Macaroon"))this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),this.handleErrorWithoutAlert("FetchInfo",P.m6.GET_NODE_INFO,"Fetching Node Info Failed.",F);else if("string"==typeof F.error.error&&F.error.error.includes("starting up")&&500===F.status)setTimeout(()=>{this.store.dispatch((0,z.sQ)({payload:{loadPage:"HOME"}}))},2e3);else{const X=this.commonService.extractErrorCode(F),Fe=503===X?"Unable to Connect to LND Server.":this.commonService.extractErrorMessage(F);this.router.navigate(["/error"],{state:{errorCode:X,errorMessage:Fe}}),this.handleErrorWithoutAlert("FetchInfo",P.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:X,error:Fe})}return(0,_.of)({type:P.pg.VOID})})))))),this.peersFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PEERS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPeers",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PEERS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPeers",status:P.Bn.COMPLETED}})),{type:P.uR.SET_PEERS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPeers",P.m6.NO_SPINNER,"Fetching Peers Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.saveNewPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_PEER_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.CONNECT_PEER})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewPeer",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.PEERS_API,{pubkey:N.payload.pubkey,host:N.payload.host,perm:N.payload.perm}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewPeer",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.CONNECT_PEER})),this.store.dispatch((0,z.Z8)({payload:F||[]})),{type:P.uR.NEWLY_ADDED_PEER_LND,payload:{peer:F[0]}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewPeer",P.m6.CONNECT_PEER,"Peer Connection Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.detachPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.DETACH_PEER_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+p.NZ.PEERS_API+"/"+N.payload.pubkey).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.DISCONNECT_PEER})),this.store.dispatch((0,M.jW)({payload:"Peer Disconnected Successfully."})),{type:P.uR.REMOVE_PEER_LND,payload:{pubkey:N.payload.pubkey}})),(0,u.K)(F=>(this.handleErrorWithAlert("DetachPeer",P.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+p.NZ.PEERS_API+"/"+N.payload.pubkey,F),(0,_.of)({type:P.pg.VOID})))))))),this.saveNewInvoice=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_INVOICE_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewInvoice",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.INVOICES_API,{memo:N.payload.memo,value:N.payload.value,private:N.payload.private,expiry:N.payload.expiry,is_amp:N.payload.is_amp}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewInvoice",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.WM)({payload:{num_max_invoices:N.payload.pageSize,reversed:!0}})),N.payload.openModal?(F.memo=N.payload.memo,F.value=N.payload.value,F.expiry=N.payload.expiry,F.private=N.payload.private,F.is_amp=N.payload.is_amp,F.cltv_expiry="144",F.creation_date=Math.round((new Date).getTime()/1e3).toString(),setTimeout(()=>{this.store.dispatch((0,M.qR)({payload:{data:{invoice:F,newlyAdded:!0,component:S.v}}}))},200),{type:P.pg.CLOSE_SPINNER,payload:N.payload.uiMessage}):{type:P.uR.NEWLY_SAVED_INVOICE_LND,payload:{paymentRequest:F.payment_request}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewInvoice",N.payload.uiMessage,"Add Invoice Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.openNewChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.OPEN_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewChannel",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API,{node_pubkey:N.payload.selectedPeerPubkey,local_funding_amount:N.payload.fundingAmount,private:N.payload.private,trans_type:N.payload.transType,trans_type_value:N.payload.transTypeValue,spend_unconfirmed:N.payload.spendUnconfirmed}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewChannel",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.OPEN_CHANNEL})),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Vv)({payload:{uiMessage:P.m6.NO_SPINNER,channelPoint:"ALL",showMessage:"Channel Added Successfully!"}})),{type:P.uR.FETCH_PENDING_CHANNELS_LND})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewChannel",P.m6.OPEN_CHANNEL,"Opening Channel Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.updateChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.UPDATE_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UPDATE_CHAN_POLICY})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/chanPolicy",{baseFeeMsat:N.payload.baseFeeMsat,feeRate:N.payload.feeRate,timeLockDelta:N.payload.timeLockDelta,max_htlc_msat:N.payload.maxHtlcMsat,min_htlc_msat:N.payload.minHtlcMsat,chanPoint:N.payload.chanPoint}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.UPDATE_CHAN_POLICY})),"all"===N.payload.chanPoint?this.store.dispatch((0,M.jW)({payload:"All Channels Updated Successfully."})):this.store.dispatch((0,M.jW)({payload:"Channel Updated Successfully!"})),{type:P.uR.FETCH_CHANNELS_LND})),(0,u.K)(F=>(this.handleErrorWithAlert("UpdateChannels",P.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/chanPolicy",F),(0,_.of)({type:P.pg.VOID})))))))),this.closeChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.CLOSE_CHANNEL_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL}));let F=this.CHILD_API_URL+p.NZ.CHANNELS_API+"/"+N.payload.channelPoint+"?force="+N.payload.forcibly;return N.payload.targetConf&&(F=F+"&target_conf="+N.payload.targetConf),N.payload.satPerByte&&(F=F+"&sat_per_byte="+N.payload.satPerByte),this.httpClient.delete(F).pipe((0,D.U)(X=>(this.logger.info(X),this.store.dispatch((0,M.uO)({payload:N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL})),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Z7)()),this.store.dispatch((0,z.Vv)({payload:{uiMessage:P.m6.NO_SPINNER,channelPoint:"ALL",showMessage:X.message}})),{type:P.pg.VOID})),(0,u.K)(X=>(this.handleErrorWithAlert("CloseChannel",N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/"+N.payload.channelPoint+"?force="+N.payload.forcibly,X),(0,_.of)({type:P.pg.VOID}))))}))),this.backupChannels=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.BACKUP_CHANNELS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"BackupChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/"+N.payload.channelPoint).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"BackupChannels",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,M.jW)({payload:N.payload.showMessage+" "+F.message})),{type:P.uR.BACKUP_CHANNELS_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("BackupChannels",N.payload.uiMessage,N.payload.showMessage+" Unable to Backup Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.verifyChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.VERIFY_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.VERIFY_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"VerifyChannel",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/verify/"+N.payload.channelPoint,{}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"VerifyChannel",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.VERIFY_CHANNEL})),this.store.dispatch((0,M.jW)({payload:F.message})),{type:P.uR.VERIFY_CHANNEL_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("VerifyChannel",P.m6.VERIFY_CHANNEL,"Unable to Verify Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/verify/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.restoreChannels=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.RESTORE_CHANNELS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.RESTORE_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannels",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/"+N.payload.channelPoint,{}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannels",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.RESTORE_CHANNEL})),this.store.dispatch((0,M.jW)({payload:F.message})),this.store.dispatch((0,z.B_)({payload:F.list})),{type:P.uR.RESTORE_CHANNELS_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("RestoreChannels",P.m6.RESTORE_CHANNEL,"Unable to Restore Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.fetchFees=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_FEES_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchFees",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.FEES_API))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchFees",status:P.Bn.COMPLETED}})),N.forwarding_events_history&&(this.store.dispatch((0,z.QJ)({payload:N.forwarding_events_history})),delete N.forwarding_events_history),{type:P.uR.SET_FEES_LND,payload:N||{}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchFees",P.m6.NO_SPINNER,"Fetching Fees Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.balanceBlockchainFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_BLOCKCHAIN_BALANCE_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchBalance",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.BALANCE_API))),(0,D.U)(N=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchBalance",status:P.Bn.COMPLETED}})),this.logger.info(N),{type:P.uR.SET_BLOCKCHAIN_BALANCE_LND,payload:N||{total_balance:""}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchBalance",P.m6.NO_SPINNER,"Fetching Blockchain Balance Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.networkInfoFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_NETWORK_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchNetwork",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/info"))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchNetwork",status:P.Bn.COMPLETED}})),{type:P.uR.SET_NETWORK_LND,payload:N||{}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchNetwork",P.m6.NO_SPINNER,"Fetching Network Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.channelsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchChannels",status:P.Bn.COMPLETED}})),{type:P.uR.SET_CHANNELS_LND,payload:N.channels||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchChannels",P.m6.NO_SPINNER,"Fetching Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.channelsPendingFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PENDING_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPendingChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/pending").pipe((0,D.U)(N=>{this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPendingChannels",status:P.Bn.COMPLETED}}));const F={open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0};return N&&(F.total_limbo_balance=N.total_limbo_balance,N.pending_closing_channels&&(F.closing.num_channels=N.pending_closing_channels.length,F.total_channels=F.total_channels+N.pending_closing_channels.length,N.pending_closing_channels.forEach(X=>{F.closing.limbo_balance=+F.closing.limbo_balance+(X.channel.local_balance?+X.channel.local_balance:0)})),N.pending_force_closing_channels&&(F.force_closing.num_channels=N.pending_force_closing_channels.length,F.total_channels=F.total_channels+N.pending_force_closing_channels.length,N.pending_force_closing_channels.forEach(X=>{F.force_closing.limbo_balance=+F.force_closing.limbo_balance+(X.channel.local_balance?+X.channel.local_balance:0)})),N.pending_open_channels&&(F.open.num_channels=N.pending_open_channels.length,F.total_channels=F.total_channels+N.pending_open_channels.length,N.pending_open_channels.forEach(X=>{F.open.limbo_balance=+F.open.limbo_balance+(X.channel.local_balance?+X.channel.local_balance:0)})),N.waiting_close_channels&&(F.waiting_close.num_channels=N.waiting_close_channels.length,F.total_channels=F.total_channels+N.waiting_close_channels.length,N.waiting_close_channels.forEach(X=>{F.waiting_close.limbo_balance=+F.waiting_close.limbo_balance+(X.channel.local_balance?+X.channel.local_balance:0)}))),{type:P.uR.SET_PENDING_CHANNELS_LND,payload:N?{pendingChannels:N,pendingChannelsSummary:F}:{pendingChannels:{},pendingChannelsSummary:F}}}),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPendingChannels",P.m6.NO_SPINNER,"Fetching Pending Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.channelsClosedFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_CLOSED_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchClosedChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/closed").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchClosedChannels",status:P.Bn.COMPLETED}})),{type:P.uR.SET_CLOSED_CHANNELS_LND,payload:N.channels||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchClosedChannels",P.m6.NO_SPINNER,"Fetching Closed Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.invoicesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_INVOICES_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchInvoices",status:P.Bn.INITIATED}}));const F=N.payload.num_max_invoices?N.payload.num_max_invoices:100,X=N.payload.index_offset?N.payload.index_offset:0,Fe=!!N.payload.reversed&&N.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+p.NZ.INVOICES_API+"?num_max_invoices="+F+"&index_offset="+X+"&reversed="+Fe).pipe((0,D.U)(ke=>(this.logger.info(ke),this.store.dispatch((0,z.PC)({payload:{action:"FetchInvoices",status:P.Bn.COMPLETED}})),N.payload.reversed&&!N.payload.index_offset&&(ke.total_invoices=+(ke.last_index_offset||0)),{type:P.uR.SET_INVOICES_LND,payload:ke})),(0,u.K)(ke=>(this.handleErrorWithoutAlert("FetchInvoices",P.m6.NO_SPINNER,"Fetching Invoices Failed.",ke),(0,_.of)({type:P.pg.VOID}))))}))),this.transactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_TRANSACTIONS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchTransactions",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.TRANSACTIONS_API))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchTransactions",status:P.Bn.COMPLETED}})),{type:P.uR.SET_TRANSACTIONS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchTransactions",P.m6.NO_SPINNER,"Fetching Transactions Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.utxosFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_UTXOS_LND),(0,k.M)(this.store.select(I.Q5)),(0,E.z)(([N,F])=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchUTXOs",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/getUTXOs?max_confs="+(F&&F.block_height?F.block_height:1e9)))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchUTXOs",status:P.Bn.COMPLETED}})),{type:P.uR.SET_UTXOS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchUTXOs",P.m6.NO_SPINNER,"Fetching UTXOs Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.paymentsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PAYMENTS_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchPayments",status:P.Bn.INITIATED}}));const F=N.payload.max_payments?N.payload.max_payments:100,X=N.payload.index_offset?N.payload.index_offset:0,Fe=!!N.payload.reversed&&N.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"?max_payments="+F+"&index_offset="+X+"&reversed="+Fe).pipe((0,D.U)(ke=>(this.logger.info(ke),this.store.dispatch((0,z.PC)({payload:{action:"FetchPayments",status:P.Bn.COMPLETED}})),{type:P.uR.SET_PAYMENTS_LND,payload:ke})),(0,u.K)(ke=>(this.handleErrorWithoutAlert("FetchPayments",P.m6.NO_SPINNER,"Fetching Payments Failed.",ke),(0,_.of)({type:P.uR.SET_PAYMENTS_LND,payload:{payments:[]}}))))}))),this.sendPayment=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SEND_PAYMENT_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.INITIATED}}));const F={};return F.paymentReq=N.payload.paymentReq,N.payload.paymentAmount&&(F.paymentAmount=N.payload.paymentAmount),N.payload.outgoingChannel&&(F.outgoingChannel=N.payload.outgoingChannel.chan_id),N.payload.allowSelfPayment&&(F.allowSelfPayment=N.payload.allowSelfPayment),N.payload.lastHopPubkey&&(F.lastHopPubkey=N.payload.lastHopPubkey),N.payload.feeLimitType&&N.payload.feeLimitType!==P.Vc[0].id&&(F.feeLimit={},F.feeLimit[N.payload.feeLimitType]=N.payload.feeLimit),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",F).pipe((0,D.U)(X=>{if(this.logger.info(X),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.COMPLETED}})),X.payment_error)return N.payload.allowSelfPayment?(this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),{type:P.uR.SEND_PAYMENT_STATUS_LND,payload:X}):(N.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",X.payment_error):this.handleErrorWithAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",X.payment_error),{type:P.pg.VOID});if(this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.cQ)({payload:{max_payments:this.paymentsPageSize,reversed:!0}})),N.payload.allowSelfPayment)this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}}));else{let Fe="Payment Sent Successfully.";X.payment_route&&X.payment_route.total_fees_msat&&(Fe="Payment sent successfully with the total fee "+X.payment_route.total_fees_msat+" (mSats)."),this.store.dispatch((0,M.jW)({payload:Fe}))}return{type:P.uR.SEND_PAYMENT_STATUS_LND,payload:X}}),(0,u.K)(X=>(this.logger.error("Error: "+JSON.stringify(X)),N.payload.allowSelfPayment?(this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",X),this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),(0,_.of)({type:P.uR.SEND_PAYMENT_STATUS_LND,payload:{error:this.commonService.extractErrorMessage(X)}})):(N.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",X):this.handleErrorWithAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",X),(0,_.of)({type:P.pg.VOID})))))}))),this.graphNodeFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_GRAPH_NODE_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GET_NODE_ADDRESS})),this.store.dispatch((0,z.PC)({payload:{action:"FetchGraphNode",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload.pubkey).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GET_NODE_ADDRESS})),this.store.dispatch((0,z.PC)({payload:{action:"FetchGraphNode",status:P.Bn.COMPLETED}})),{type:P.uR.SET_GRAPH_NODE_LND,payload:F&&F.node?{node:F.node}:{node:null}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("FetchGraphNode",P.m6.GET_NODE_ADDRESS,"Fetching Graph Node Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.setGraphNode=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_GRAPH_NODE_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.getNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_NEW_ADDRESS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NEW_ADDRESS_API+"?type="+N.payload.addressId).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GENERATE_NEW_ADDRESS})),{type:P.uR.SET_NEW_ADDRESS_LND,payload:F&&F.address?F.address:{}})),(0,u.K)(F=>(this.handleErrorWithAlert("GetNewAddress",P.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+p.NZ.NEW_ADDRESS_API+"?type="+N.payload.addressId,F),(0,_.of)({type:P.pg.VOID})))))))),this.setNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_NEW_ADDRESS_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.SetChannelTransaction=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_CHANNEL_TRANSACTION_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEND_FUNDS})),this.store.dispatch((0,z.PC)({payload:{action:"SetChannelTransaction",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.TRANSACTIONS_API,{amount:N.payload.amount,address:N.payload.address,sendAll:N.payload.sendAll,fees:N.payload.fees,blocks:N.payload.blocks}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SetChannelTransaction",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.SEND_FUNDS})),this.store.dispatch((0,z.mC)()),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),{type:P.uR.SET_CHANNEL_TRANSACTION_RES_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SetChannelTransaction",P.m6.SEND_FUNDS,"Sending Fund Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.fetchForwardingHistory=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_FORWARDING_HISTORY_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchForwardingHistory",status:P.Bn.INITIATED}}));const F={num_max_events:N.payload.num_max_events,index_offset:N.payload.index_offset,end_time:N.payload.end_time,start_time:N.payload.start_time};return this.httpClient.post(this.CHILD_API_URL+p.NZ.SWITCH_API,F).pipe((0,D.U)(X=>(this.logger.info(X),this.store.dispatch((0,z.PC)({payload:{action:"FetchForwardingHistory",status:P.Bn.COMPLETED}})),{type:P.uR.SET_FORWARDING_HISTORY_LND,payload:X})),(0,u.K)(X=>(this.handleErrorWithAlert("FetchForwardingHistory",P.m6.NO_SPINNER,"Get Forwarding History Failed",this.CHILD_API_URL+p.NZ.SWITCH_API,X),(0,_.of)({type:P.pg.VOID}))))}))),this.queryRoutesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_QUERY_ROUTES_LND),(0,E.z)(N=>{let F=this.CHILD_API_URL+p.NZ.NETWORK_API+"/routes/"+N.payload.destPubkey+"/"+N.payload.amount;return N.payload.outgoingChanId&&(F=F+"?outgoing_chan_id="+N.payload.outgoingChanId),this.httpClient.get(F).pipe((0,D.U)(X=>(this.logger.info(X),{type:P.uR.SET_QUERY_ROUTES_LND,payload:X})),(0,u.K)(X=>(this.store.dispatch((0,z.kL)({payload:{routes:[]}})),this.handleErrorWithAlert("GetQueryRoutes",P.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+p.NZ.NETWORK_API,X),(0,_.of)({type:P.pg.VOID}))))}))),this.setQueryRoutes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_QUERY_ROUTES_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.genSeed=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GEN_SEED_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GEN_SEED})),this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/genseed/"+N.payload).pipe((0,D.U)(F=>(this.logger.info("Generated GenSeed!"),this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GEN_SEED})),{type:P.uR.GEN_SEED_RESPONSE_LND,payload:F.cipher_seed_mnemonic})),(0,u.K)(F=>(this.handleErrorWithAlert("GenSeed",P.m6.GEN_SEED,"Genseed Generation Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/genseed/"+N.payload,F),(0,_.of)({type:P.pg.VOID})))))))),this.updateSelNodeOptions=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.pg.UPDATE_SELECTED_NODE_OPTIONS),(0,E.z)(()=>this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/updateSelNodeOptions").pipe((0,D.U)(N=>(this.logger.info("Update Sel Node Successfull"),this.logger.info(N),{type:P.pg.VOID})),(0,u.K)(N=>(this.handleErrorWithAlert("UpdateSelectedNodeOptions",P.m6.NO_SPINNER,"Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!","Update Macaroon",N),(0,_.of)({type:P.pg.VOID}))))))),this.genSeedResponse=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GEN_SEED_RESPONSE_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.initWalletRes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INIT_WALLET_RESPONSE_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.initWallet=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INIT_WALLET_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.INITIALIZE_WALLET})),this.httpClient.post(this.CHILD_API_URL+p.NZ.WALLET_API+"/wallet/initwallet",{wallet_password:N.payload.pwd,cipher_seed_mnemonic:N.payload.cipher?N.payload.cipher:"",aezeed_passphrase:N.payload.passphrase?N.payload.passphrase:""}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.INITIALIZE_WALLET})),{type:P.uR.INIT_WALLET_RESPONSE_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("InitWallet",P.m6.INITIALIZE_WALLET,"Wallet Initialization Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/initwallet",F),(0,_.of)({type:P.pg.VOID})))))))),this.unlockWallet=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.UNLOCK_WALLET_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UNLOCK_WALLET})),this.httpClient.post(this.CHILD_API_URL+p.NZ.WALLET_API+"/wallet/unlockwallet",{wallet_password:N.payload.pwd}).pipe((0,D.U)(F=>(this.logger.info(F),this.logger.info("Successfully Unlocked!"),this.sessionService.setItem("lndUnlocked","true"),this.store.dispatch((0,M.uO)({payload:P.m6.UNLOCK_WALLET})),this.store.dispatch((0,M.ac)({payload:P.m6.WAIT_SYNC_NODE})),setTimeout(()=>{this.store.dispatch((0,M.uO)({payload:P.m6.WAIT_SYNC_NODE})),this.store.dispatch((0,z.sQ)({payload:{loadPage:"HOME"}}))},5e3),{type:P.pg.VOID})),(0,u.K)(F=>(this.handleErrorWithAlert("UnlockWallet",P.m6.UNLOCK_WALLET,"Unlock Wallet Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/unlockwallet",F),(0,_.of)({type:P.pg.VOID}))))))),{dispatch:!1}),this.peerLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.PEER_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_NODE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_NODE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("Lookup",P.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload,F),(0,_.of)({type:P.pg.VOID})))))))),this.channelLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.CHANNEL_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/edge/"+N.payload.channelID).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("Lookup",N.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+p.NZ.NETWORK_API+"/edge/"+N.payload.channelID,F),(0,_.of)({type:P.pg.VOID})))))))),this.invoiceLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INVOICE_LOOKUP_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_INVOICE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}}));let F=this.CHILD_API_URL+p.NZ.INVOICES_API+"/lookup";return F=N.payload.paymentAddress&&""!==N.payload.paymentAddress?F+"?payment_addr="+N.payload.paymentAddress:F+"?payment_hash="+N.payload.paymentHash,this.httpClient.get(F).pipe((0,D.U)(X=>(this.logger.info(X),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_INVOICE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.aL)({payload:X})),{type:P.uR.SET_LOOKUP_LND,payload:X})),(0,u.K)(X=>(this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.ERROR}})),this.handleErrorWithoutAlert("Lookup",P.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",X),N.payload.openSnackBar&&this.store.dispatch((0,M.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:P.uR.SET_LOOKUP_LND,payload:{error:X}}))))}))),this.paymentLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.PAYMENT_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_PAYMENT})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"/lookup/"+N.payload).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_PAYMENT})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.qY)({payload:F})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.ERROR}})),this.handleErrorWithoutAlert("Lookup",P.m6.SEARCHING_PAYMENT,"Payment Lookup Failed",F),(0,_.of)({type:P.uR.SET_LOOKUP_LND,payload:{error:F}})))))))),this.setLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_LOOKUP_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.getRestoreChannelList=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.RESTORE_CHANNELS_LIST_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannelsList",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/list").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannelsList",status:P.Bn.COMPLETED}})),{type:P.uR.SET_RESTORE_CHANNELS_LIST_LND,payload:N||{all_restore_exists:!1,files:[]}})),(0,u.K)(N=>(this.handleErrorWithAlert("RestoreChannelsList",P.m6.NO_SPINNER,"Restore Channels List Failed",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API,N),(0,_.of)({type:P.pg.VOID})))))))),this.setRestoreChannelList=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_RESTORE_CHANNELS_LIST_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.allLightningTransactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_ALL_LIGHTNING_TRANSATIONS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchLightningTransactions",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"/alltransactions").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchLightningTransactions",status:P.Bn.COMPLETED}})),{type:P.uR.SET_ALL_LIGHTNING_TRANSATIONS_LND,payload:N})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchLightningTransactions",P.m6.NO_SPINNER,"Fetching All Lightning Transaction Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.pageSettingsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PAGE_SETTINGS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPageSettings",status:P.Bn.INITIATED}})),this.httpClient.get(p.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPageSettings",status:P.Bn.COMPLETED}})),this.invoicesPageSize=(N&&Object.keys(N).length>0?N.find(F=>"transactions"===F.pageId)?.tables.find(F=>"invoices"===F.tableId):P.gK.find(F=>"transactions"===F.pageId)?.tables.find(F=>"invoices"===F.tableId)).recordsPerPage,this.paymentsPageSize=(N&&Object.keys(N).length>0?N.find(F=>"transactions"===F.pageId)?.tables.find(F=>"payments"===F.tableId):P.gK.find(F=>"transactions"===F.pageId)?.tables.find(F=>"payments"===F.tableId)).recordsPerPage,this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),{type:P.uR.SET_PAGE_SETTINGS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPageSettings",P.m6.NO_SPINNER,"Fetching Page Settings Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.savePageSettings=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_PAGE_SETTINGS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,z.PC)({payload:{action:"SavePageSettings",status:P.Bn.INITIATED}})),this.httpClient.post(p.NZ.PAGE_SETTINGS_API,N.payload).pipe((0,D.U)(F=>{this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SavePageSettings",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.jW)({payload:"Page Layout Updated Successfully!"}));const X=(F.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"invoices"===ke.tableId)||P.gK.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"invoices"===ke.tableId)).recordsPerPage,Fe=(F.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"payments"===ke.tableId)||P.gK.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"payments"===ke.tableId)).recordsPerPage;return X!==this.invoicesPageSize&&(this.invoicesPageSize=X,this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}}))),Fe!==this.paymentsPageSize&&(this.paymentsPageSize=Fe),{type:P.uR.SET_PAGE_SETTINGS_LND,payload:F||[]}}),(0,u.K)(F=>(this.handleErrorWithAlert("SavePageSettings",P.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",p.NZ.PAGE_SETTINGS_API,F),(0,_.of)({type:P.pg.VOID})))))))),this.store.select(I.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(N=>{N.FetchInfo.status!==P.Bn.COMPLETED&&N.FetchInfo.status!==P.Bn.ERROR||N.FetchFees.status!==P.Bn.COMPLETED&&N.FetchFees.status!==P.Bn.ERROR||N.FetchBalanceBlockchain.status!==P.Bn.COMPLETED&&N.FetchBalanceBlockchain.status!==P.Bn.ERROR||N.FetchAllChannels.status!==P.Bn.COMPLETED&&N.FetchAllChannels.status!==P.Bn.ERROR||N.FetchPendingChannels.status!==P.Bn.COMPLETED&&N.FetchPendingChannels.status!==P.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,M.uO)({payload:P.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.lndWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(N=>{if(this.logger.info("Received new message from the service: "+JSON.stringify(N)),N)if(N.type===P.g8.INVOICE)this.logger.info(N),N&&N.result&&N.result.payment_request&&this.store.dispatch((0,z.aL)({payload:N.result}));else this.logger.info("Received Event from WS: "+JSON.stringify(N))})}initializeRemainingData(n,o){this.sessionService.setItem("lndUnlocked","true");const h={identity_pubkey:n.identity_pubkey,alias:n.alias,testnet:n.testnet,chains:n.chains,uris:n.uris,version:n.version?n.version.split(" ")[0]:""};this.store.dispatch((0,M.ac)({payload:P.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,M._V)({payload:h}));let d=this.location.path();d.includes("/cln/")?d=d?.replace("/cln/","/lnd/"):d.includes("/ecl/")&&(d=d?.replace("/ecl/","/lnd/")),(d.includes("/unlock")||d.includes("/login")||d.includes("/error")||""===d||"HOME"===o||d.includes("?access-key="))&&(d="/lnd/home"),this.router.navigate([d]),this.store.dispatch((0,z.wD)()),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Z7)()),this.store.dispatch((0,z.Zh)()),this.store.dispatch((0,z.$W)()),this.store.dispatch((0,z.Rv)()),this.store.dispatch((0,z.SN)()),this.store.dispatch((0,z.cQ)({payload:{max_payments:1e5,reversed:!0}}))}handleErrorWithoutAlert(n,o,h,d){this.logger.error("ERROR IN: "+n+"\n"+JSON.stringify(d)),401===d.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.kS)()),this.store.dispatch((0,M.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,M.uO)({payload:o})),this.store.dispatch((0,z.PC)({payload:{action:n,status:P.Bn.ERROR,statusCode:d.status.toString(),message:this.commonService.extractErrorMessage(d,h)}})))}handleErrorWithAlert(n,o,h,d,y){if(this.logger.error(y),401===y.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.kS)()),this.store.dispatch((0,M.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,M.uO)({payload:o}));const L=this.commonService.extractErrorMessage(y);this.store.dispatch((0,M.qR)({payload:{data:{type:"ERROR",alertTitle:h,message:{code:y.status,message:L,URL:d},component:A.H}}})),this.store.dispatch((0,z.PC)({payload:{action:n,status:P.Bn.ERROR,statusCode:y.status.toString(),message:L,URL:d}}))}}ngOnDestroy(){this.unSubs.forEach(n=>{n.next(null),n.complete()})}static#e=this.\u0275fac=function(o){return new(o||he)(W.LFG(e.eX),W.LFG(Z.eN),W.LFG(Q.yh),W.LFG(ie.mQ),W.LFG(ae.v),W.LFG(_e.m),W.LFG(ce.uw),W.LFG(ye.F0),W.LFG(ue.d),W.LFG($.Ye))};static#t=this.\u0275prov=W.Yz7({token:he,factory:he.\u0275fac})}},6529:(Ue,q,m)=>{"use strict";m.d(q,{$k:()=>_,Bo:()=>k,Ef:()=>M,JG:()=>S,N7:()=>_e,P2:()=>Z,PP:()=>p,Pr:()=>E,Q5:()=>s,T4:()=>ae,Wi:()=>A,ZW:()=>z,_f:()=>ye,bx:()=>ue,dx:()=>P,l5:()=>ce,ni:()=>W,qU:()=>Q,yA:()=>u});var e=m(9263);const t=(0,e.ZF)("lnd"),_=(0,e.P1)(t,$=>$.nodeSettings),E=(0,e.P1)(t,$=>({pageSettings:$.pageSettings,apiCallStatus:$.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,$=>$.information),u=((0,e.P1)(t,$=>({information:$.information,apiCallStatus:$.apisCallStatus.FetchInfo})),(0,e.P1)(t,$=>$.apisCallStatus)),k=(0,e.P1)(t,$=>({forwardingHistory:$.forwardingHistory,apiCallStatus:$.apisCallStatus.FetchForwardingHistory})),p=(0,e.P1)(t,$=>({listPayments:$.listPayments,apiCallStatus:$.apisCallStatus.FetchPayments})),S=(0,e.P1)(t,$=>({fees:$.fees,apiCallStatus:$.apisCallStatus.FetchFees})),A=(0,e.P1)(t,$=>({peers:$.peers,apiCallStatus:$.apisCallStatus.FetchPeers})),P=(0,e.P1)(t,$=>({transactions:$.transactions,apiCallStatus:$.apisCallStatus.FetchTransactions})),M=(0,e.P1)(t,$=>({listInvoices:$.listInvoices,apiCallStatus:$.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,$=>({channels:$.channels,channelsSummary:$.channelsSummary,lightningBalance:$.lightningBalance,apiCallStatus:$.apisCallStatus.FetchAllChannels})),W=((0,e.P1)(t,$=>({channelsSummary:$.channelsSummary,pendingChannels:$.pendingChannels,closedChannels:$.closedChannels,apiCallStatus:$.apisCallStatus.FetchAllChannels})),(0,e.P1)(t,$=>({pendingChannels:$.pendingChannels,pendingChannelsSummary:$.pendingChannelsSummary,apiCallStatus:$.apisCallStatus.FetchPendingChannels}))),Z=(0,e.P1)(t,$=>({closedChannels:$.closedChannels,apiCallStatus:$.apisCallStatus.FetchClosedChannels})),Q=(0,e.P1)(t,$=>({blockchainBalance:$.blockchainBalance,apiCallStatus:$.apisCallStatus.FetchBalanceBlockchain})),ae=((0,e.P1)(t,$=>({lightningBalance:$.lightningBalance,apiCallStatus:$.apisCallStatus.FetchAllChannels})),(0,e.P1)(t,$=>({utxos:$.utxos,apiCallStatus:$.apisCallStatus.FetchUTXOs}))),_e=(0,e.P1)(t,$=>({networkInfo:$.networkInfo,apiCallStatus:$.apisCallStatus.FetchNetwork})),ce=(0,e.P1)(t,$=>({allLightningTransactions:$.allLightningTransactions,apiCallStatus:$.apisCallStatus.FetchLightningTransactions})),ye=(0,e.P1)(t,$=>({channels:$.channels,pendingChannels:$.pendingChannels,closedChannels:$.closedChannels})),ue=(0,e.P1)(t,$=>({information:$.information,nodeSettings:$.nodeSettings,apiCallStatus:$.apisCallStatus.FetchInfo}))},8627:(Ue,q,m)=>{"use strict";m.d(q,{v:()=>Oe});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(6529),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),Q=m(3012),ie=m(7822),ae=m(1528),_e=m(1708),ce=m(6896),ye=m(6021),ue=m(6895),$=m(3390);const he=["scrollContainer"];function w(Re,le){if(1&Re&&u._UZ(0,"qr-code",33),2&Re){const _t=u.oxw();u.Q6J("value",null==_t.invoice?null:_t.invoice.payment_request)("size",_t.qrWidth)("errorCorrectionLevel","L")}}function n(Re,le){1&Re&&(u.TgZ(0,"span",34),u._uU(1,"N/A"),u.qZA())}function o(Re,le){if(1&Re&&u._UZ(0,"qr-code",33),2&Re){const _t=u.oxw();u.Q6J("value",null==_t.invoice?null:_t.invoice.payment_request)("size",_t.qrWidth)("errorCorrectionLevel","L")}}function h(Re,le){1&Re&&(u.TgZ(0,"span",35),u._uU(1,"QR Code Not Applicable"),u.qZA())}function d(Re,le){1&Re&&u._UZ(0,"mat-divider",22),2&Re&&u.Q6J("inset",!0)}function y(Re,le){1&Re&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function L(Re,le){1&Re&&u._UZ(0,"span",41)}const B=function(){return[]};function v(Re,le){if(1&Re&&(u.TgZ(0,"div",37)(1,"div",38)(2,"span",39),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,L,1,0,"span",40),u.qZA()()),2&Re){const _t=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,null==_t.invoice?null:_t.invoice.amt_paid_sat)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,B).constructor(35))}}function a(Re,le){if(1&Re&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&Re){const _t=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,null==_t.invoice?null:_t.invoice.amt_paid_sat)," Sats")}}function C(Re,le){if(1&Re&&(u.ynx(0),u.YNc(1,v,6,5,"div",36),u.YNc(2,a,3,3,"div",21),u.BQk()),2&Re){const _t=u.oxw();u.xp6(1),u.Q6J("ngIf",_t.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!_t.flgInvoicePaid)}}function N(Re,le){1&Re&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function F(Re,le){1&Re&&u._UZ(0,"mat-spinner",43),2&Re&&u.Q6J("diameter",20)}function X(Re,le){if(1&Re&&(u.ynx(0),u.YNc(1,N,2,0,"span",21),u.YNc(2,F,1,1,"mat-spinner",42),u.BQk()),2&Re){const _t=u.oxw();u.xp6(1),u.Q6J("ngIf","OPEN"!==(null==_t.invoice?null:_t.invoice.state)||!_t.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","OPEN"===(null==_t.invoice?null:_t.invoice.state)&&_t.flgVersionCompatible)}}function Fe(Re,le){1&Re&&u.GkF(0)}function ke(Re,le){if(1&Re&&(u.TgZ(0,"div"),u.YNc(1,Fe,1,0,"ng-container",44),u.qZA()),2&Re){u.oxw();const _t=u.MAs(79);u.xp6(1),u.Q6J("ngTemplateOutlet",_t)}}function Ke(Re,le){if(1&Re){const _t=u.EpF();u.TgZ(0,"div",45)(1,"button",46),u.NdJ("click",function(){u.CHM(_t);const Ct=u.oxw();return u.KtG(Ct.onScrollDown())}),u.TgZ(2,"mat-icon",47),u._uU(3,"arrow_downward"),u.qZA()()()}}function je(Re,le){1&Re&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function Ve(Re,le){1&Re&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function xe(Re,le){if(1&Re){const _t=u.EpF();u.TgZ(0,"button",48),u.NdJ("copied",function(Ct){u.CHM(_t);const un=u.oxw();return u.KtG(un.onCopyPayment(Ct))}),u._uU(1),u.qZA()}if(2&Re){const _t=u.oxw();u.Q6J("payload",null==_t.invoice?null:_t.invoice.payment_request),u.xp6(1),u.Oqu(_t.screenSize===_t.screenSizeEnum.XS?"Copy Payment":"Copy Payment Request")}}function Ze(Re,le){if(1&Re){const _t=u.EpF();u.TgZ(0,"button",49),u.NdJ("click",function(){u.CHM(_t);const Ct=u.oxw();return u.KtG(Ct.onClose())}),u._uU(1,"OK"),u.qZA()}}const Ie=function(Re){return{"mr-0":Re}};function ve(Re,le){if(1&Re&&u._UZ(0,"span",64),2&Re){const _t=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,_t.screenSize===_t.screenSizeEnum.XS))}}function et(Re,le){if(1&Re&&u._UZ(0,"span",65),2&Re){const _t=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,_t.screenSize===_t.screenSizeEnum.XS))}}function ht(Re,le){if(1&Re&&u._UZ(0,"span",66),2&Re){const _t=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,_t.screenSize===_t.screenSizeEnum.XS))}}function Le(Re,le){if(1&Re&&(u.TgZ(0,"div",53)(1,"div",58)(2,"span",59),u.YNc(3,ve,1,3,"span",60),u.YNc(4,et,1,3,"span",61),u.YNc(5,ht,1,3,"span",62),u._uU(6),u.qZA(),u.TgZ(7,"span",63),u._uU(8),u.ALo(9,"number"),u.qZA()(),u._UZ(10,"mat-divider",22),u.qZA()),2&Re){const _t=le.$implicit,it=u.oxw(3);u.xp6(3),u.Q6J("ngIf","SETTLED"===_t.state),u.xp6(1),u.Q6J("ngIf","ACCEPTED"===_t.state),u.xp6(1),u.Q6J("ngIf","CANCELED"===_t.state),u.xp6(1),u.hij(" ",_t.chan_id," "),u.xp6(2),u.Oqu(u.xi3(9,6,+_t.amt_msat/1e3||0,it.getDecimalFormat(_t))),u.xp6(2),u.Q6J("inset",!0)}}function Ae(Re,le){if(1&Re){const _t=u.EpF();u.TgZ(0,"div",17)(1,"mat-expansion-panel",51),u.NdJ("opened",function(){u.CHM(_t);const Ct=u.oxw(2);return u.KtG(Ct.flgOpened=!0)})("closed",function(){u.CHM(_t);const Ct=u.oxw(2);return u.KtG(Ct.onExpansionClosed())}),u.TgZ(2,"mat-expansion-panel-header")(3,"mat-panel-title")(4,"h4",52),u._uU(5,"HTLCs"),u.qZA()()(),u.TgZ(6,"div",53)(7,"div",54)(8,"span",55),u._uU(9,"Channel ID"),u.qZA(),u.TgZ(10,"span",56),u._uU(11,"Amount (Sats)"),u.qZA()(),u._UZ(12,"mat-divider",22),u.YNc(13,Le,11,9,"div",57),u.qZA()()()}if(2&Re){const _t=u.oxw(2);u.xp6(12),u.Q6J("inset",!0),u.xp6(1),u.Q6J("ngForOf",null==_t.invoice?null:_t.invoice.htlcs)}}function te(Re,le){1&Re&&u._UZ(0,"mat-divider",22),2&Re&&u.Q6J("inset",!0)}function pe(Re,le){if(1&Re&&(u._UZ(0,"mat-divider",22),u.TgZ(1,"div",17)(2,"div",23)(3,"h4",19),u._uU(4,"Preimage"),u.qZA(),u.TgZ(5,"span",24),u._uU(6),u.qZA()()(),u._UZ(7,"mat-divider",22),u.TgZ(8,"div",17)(9,"div",18)(10,"h4",19),u._uU(11,"State"),u.qZA(),u.TgZ(12,"span",24),u._uU(13),u.qZA()(),u.TgZ(14,"div",18)(15,"h4",19),u._uU(16,"Expiry"),u.qZA(),u.TgZ(17,"span",24),u._uU(18),u.ALo(19,"date"),u.qZA()()(),u._UZ(20,"mat-divider",22),u.TgZ(21,"div",17)(22,"div",18)(23,"h4",19),u._uU(24,"Private Routing Hints"),u.qZA(),u.TgZ(25,"span",24),u._uU(26),u.qZA()(),u.TgZ(27,"div",18)(28,"h4",19),u._uU(29,"AMP Invoice"),u.qZA(),u.TgZ(30,"span",24),u._uU(31),u.qZA()()(),u._UZ(32,"mat-divider",22),u.YNc(33,Ae,14,2,"div",50),u.YNc(34,te,1,1,"mat-divider",14)),2&Re){const _t=u.oxw();u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==_t.invoice?null:_t.invoice.r_preimage)||"-"),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null==_t.invoice?null:_t.invoice.state),u.xp6(5),u.Oqu(u.xi3(19,11,1e3*(+(null==_t.invoice?null:_t.invoice.creation_date)+ +(null==_t.invoice?null:_t.invoice.expiry)),"dd/MMM/y HH:mm")),u.xp6(2),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null!=_t.invoice&&_t.invoice.private?"Yes":"No"),u.xp6(5),u.Oqu(null!=_t.invoice&&_t.invoice.is_amp?"Yes":"No"),u.xp6(1),u.Q6J("inset",!0),u.xp6(1),u.Q6J("ngIf",(null==_t.invoice?null:_t.invoice.htlcs)&&(null==_t.invoice?null:_t.invoice.htlcs.length)>0),u.xp6(1),u.Q6J("ngIf",(null==_t.invoice?null:_t.invoice.htlcs)&&(null==_t.invoice?null:_t.invoice.htlcs.length)>0)}}const ee=function(Re){return{"display-none":Re}},H=function(Re){return{"xs-scroll-y":Re}},j=function(Re){return{"h-50":Re}};class Oe{constructor(le,_t,it,Ct,un,Bt){this.dialogRef=le,this.data=_t,this.logger=it,this.commonService=Ct,this.snackBar=un,this.store=Bt,this.faReceipt=t.dLy,this.showAdvanced=!1,this.newlyAdded=!1,this.invoice=null,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOpened=!1,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}set container(le){le&&(this.scrollContainer=le)}ngOnInit(){this.invoice=JSON.parse(JSON.stringify(this.data.invoice)),this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.Q5).pipe((0,E.R)(this.unSubs[0])).subscribe(_t=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(_t.version,"0.11.0")});const le=JSON.parse(JSON.stringify(this.invoice));this.store.select(D.Ef).pipe((0,E.R)(this.unSubs[1])).subscribe(_t=>{const it=this.invoice?.state,un=(_t.listInvoices.invoices||[]).find(Bt=>Bt.r_hash===le.r_hash)||null;un&&(this.invoice=un),it!==this.invoice?.state&&"SETTLED"===this.invoice?.state&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(_t)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced,this.flgOpened=!1}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+60}onExpansionClosed(){this.flgOpened=!1,this.scrollContainer.nativeElement.scrollTop=0}onCopyPayment(le){this.snackBar.open("Payment request copied."),this.logger.info("Copied Text: "+le)}getDecimalFormat(le){return le.amt_msat<1e3?"1.0-4":"1.0-0"}ngOnDestroy(){this.unSubs.forEach(le=>{le.next(null),le.complete()})}static#e=this.\u0275fac=function(_t){return new(_t||Oe)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:Oe,selectors:[["rtl-invoice-information"]],viewQuery:function(_t,it){if(1&_t&&u.Gf(he,5),2&_t){let Ct;u.iGM(Ct=u.CRH())&&(it.container=Ct.first)}},decls:80,vars:49,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxLayout","column","fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],[3,"ngClass"],["scrollContainer",""],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"my-1",3,"inset"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["advancedBlock",""],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],[4,"ngTemplateOutlet"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"flat-expansion-panel",3,"opened","closed"],["fxLayoutAlign","start center","fxFlex","100",1,"font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"mt-minus-1"],["fxFlex","60",1,"foreground-secondary-text","font-bold-500"],["fxFlex","40",1,"foreground-secondary-text","font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100"],["fxFlex","60",1,"foreground-secondary-text"],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Accepted","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Cancelled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["fxFlex","40",1,"foreground-secondary-text"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Accepted","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Cancelled","matTooltipPosition","right",1,"dot","red",3,"ngClass"]],template:function(_t,it){if(1&_t&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,w,1,3,"qr-code",2),u.YNc(3,n,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return it.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,o,1,3,"qr-code",2),u.YNc(16,h,2,0,"span",13),u.qZA(),u.YNc(17,d,1,1,"mat-divider",14),u.TgZ(18,"div",15,16)(20,"div",17)(21,"div",18)(22,"h4",19),u._uU(23),u.qZA(),u.TgZ(24,"span",20),u._uU(25),u.ALo(26,"number"),u.YNc(27,y,2,0,"ng-container",21),u.qZA()(),u.TgZ(28,"div",18)(29,"h4",19),u._uU(30,"Amount Settled"),u.qZA(),u.TgZ(31,"span",20),u.YNc(32,C,3,2,"ng-container",21),u.YNc(33,X,3,2,"ng-container",21),u.qZA()()(),u._UZ(34,"mat-divider",22),u.TgZ(35,"div",17)(36,"div",18)(37,"h4",19),u._uU(38,"Date Created"),u.qZA(),u.TgZ(39,"span",20),u._uU(40),u.ALo(41,"date"),u.qZA()(),u.TgZ(42,"div",18)(43,"h4",19),u._uU(44,"Date Settled"),u.qZA(),u.TgZ(45,"span",20),u._uU(46),u.ALo(47,"date"),u.qZA()()(),u._UZ(48,"mat-divider",22),u.TgZ(49,"div",17)(50,"div",23)(51,"h4",19),u._uU(52,"Memo"),u.qZA(),u.TgZ(53,"span",20),u._uU(54),u.qZA()()(),u._UZ(55,"mat-divider",22),u.TgZ(56,"div",17)(57,"div",23)(58,"h4",19),u._uU(59,"Payment Request"),u.qZA(),u.TgZ(60,"span",24),u._uU(61),u.qZA()()(),u._UZ(62,"mat-divider",22),u.TgZ(63,"div",17)(64,"div",23)(65,"h4",19),u._uU(66,"Payment Hash"),u.qZA(),u.TgZ(67,"span",24),u._uU(68),u.qZA()()(),u.YNc(69,ke,2,1,"div",21),u.qZA()()(),u.YNc(70,Ke,4,0,"div",25),u.TgZ(71,"div",26)(72,"button",27),u.NdJ("click",function(){return it.onShowAdvanced()}),u.YNc(73,je,2,0,"p",28),u.YNc(74,Ve,2,0,"ng-template",null,29,u.W1O),u.qZA(),u.YNc(76,xe,2,2,"button",30),u.YNc(77,Ze,2,0,"button",31),u.qZA()()(),u.YNc(78,pe,35,14,"ng-template",null,32,u.W1O)),2&_t){const Ct=u.MAs(75);u.xp6(1),u.Q6J("fxLayoutAlign",null!=it.invoice&&it.invoice.payment_request&&""!==(null==it.invoice?null:it.invoice.payment_request)?"center start":"center center")("ngClass",u.VKq(41,ee,it.screenSize===it.screenSizeEnum.XS||it.screenSize===it.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request)),u.xp6(4),u.Q6J("icon",it.faReceipt),u.xp6(2),u.Oqu(it.screenSize===it.screenSizeEnum.XS?it.newlyAdded?"Created":"Invoice":it.newlyAdded?"Invoice Created":"Invoice Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(43,H,it.screenSize===it.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=it.invoice&&it.invoice.payment_request&&""!==(null==it.invoice?null:it.invoice.payment_request)?"center start":"center center")("ngClass",u.VKq(45,ee,it.screenSize!==it.screenSizeEnum.XS&&it.screenSize!==it.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",it.screenSize===it.screenSizeEnum.XS||it.screenSize===it.screenSizeEnum.SM),u.xp6(1),u.Q6J("ngClass",u.VKq(47,j,(null==it.invoice?null:it.invoice.htlcs)&&(null==it.invoice?null:it.invoice.htlcs.length)>0&&it.showAdvanced)),u.xp6(5),u.Oqu(it.screenSize===it.screenSizeEnum.XS?"Amount":"Amount Requested"),u.xp6(2),u.hij("",u.lcZ(26,33,(null==it.invoice?null:it.invoice.value)||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.value)||"0"===(null==it.invoice?null:it.invoice.value)),u.xp6(5),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.amt_paid_sat)&&"OPEN"!==(null==it.invoice?null:it.invoice.state)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.amt_paid_sat)||"0"===(null==it.invoice?null:it.invoice.amt_paid_sat)),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu(u.xi3(41,35,1e3*(null==it.invoice?null:it.invoice.creation_date),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(0!=+(null==it.invoice?null:it.invoice.settle_date)?u.xi3(47,38,1e3*+(null==it.invoice?null:it.invoice.settle_date),"dd/MMM/y HH:mm"):"-"),u.xp6(2),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null==it.invoice?null:it.invoice.memo),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==it.invoice?null:it.invoice.payment_request)||"N/A"),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==it.invoice?null:it.invoice.r_hash)||""),u.xp6(1),u.Q6J("ngIf",it.showAdvanced),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.htlcs)&&(null==it.invoice?null:it.invoice.htlcs.length)>0&&it.showAdvanced&&it.flgOpened),u.xp6(3),u.Q6J("ngIf",!it.showAdvanced)("ngIfElse",Ct),u.xp6(3),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request))}},dependencies:[P.mk,P.sg,P.O5,P.tP,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,Q.ib,Q.yz,Q.yK,ie.Hw,ae.d,_e.Ou,ce.gM,ye.uU,ue.y,$.h,P.JJ,P.uU]})}},7772:(Ue,q,m)=>{"use strict";m.d(q,{J:()=>_,_:()=>t});var e=m(4851);const t=[(0,e.X$)("opacityAnimation",[(0,e.eR)(":enter",[(0,e.oB)({opacity:0}),(0,e.jt)("1000ms ease-in",(0,e.oB)({opacity:1}))]),(0,e.eR)(":leave",[(0,e.jt)("0ms",(0,e.oB)({opacity:0}))])])],_=[(0,e.X$)("fadeIn",[(0,e.eR)("void => *",[]),(0,e.eR)("* => void",[]),(0,e.eR)("* => *",[(0,e.jt)(800,(0,e.F4)([(0,e.oB)({opacity:0,transform:"translateY(100%)"}),(0,e.oB)({opacity:1,transform:"translateY(0%)"})]))])])]},8878:(Ue,q,m)=>{"use strict";m.d(q,{g:()=>t});var e=m(4851);const t=(0,e.X$)("routeAnimation",[(0,e.eR)("* => *",[(0,e.IO)(":enter, :leave",(0,e.oB)({position:"fixed",width:"100%"}),{optional:!0}),(0,e.ru)([(0,e.IO)(":enter",[(0,e.oB)({transform:"translateX(100%)"}),(0,e.jt)("1000ms ease-in-out",(0,e.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,e.IO)(":leave",[(0,e.oB)({transform:"translateX(0%)"}),(0,e.jt)("1000ms ease-in-out",(0,e.oB)({transform:"translateX(-100%)"}))],{optional:!0})])])])},113:(Ue,q,m)=>{"use strict";m.d(q,{l:()=>t});var e=m(4851);const t=[(0,e.X$)("sliderAnimation",[(0,e.SB)("*",(0,e.oB)({transform:"translateX(0)"})),(0,e.eR)("void => backward",[(0,e.oB)({transform:"translateX(-100%"}),(0,e.jt)("800ms")]),(0,e.eR)("backward => void",[(0,e.jt)("0ms",(0,e.oB)({transform:"translateX(100%)"}))]),(0,e.eR)("void => forward",[(0,e.oB)({transform:"translateX(100%"}),(0,e.jt)("800ms")]),(0,e.eR)("forward => void",[(0,e.jt)("0ms",(0,e.oB)({transform:"translateX(-100%)"}))])])]},1786:(Ue,q,m)=>{"use strict";m.d(q,{H:()=>A});var e=m(640),t=m(2560),_=m(5043),E=m(4666),s=m(6722),D=m(4522),u=m(2156),k=m(1528),p=m(3390);function S(P,M){if(1&P&&(t.TgZ(0,"p",14),t._uU(1),t.qZA()),2&P){const z=t.oxw();t.xp6(1),t.Oqu(z.data.titleMessage)}}class A{constructor(M,z,I){this.dialogRef=M,this.data=z,this.logger=I,this.errorMessage=""}ngOnInit(){this.errorMessage=this.data.message&&this.data.message.message&&"object"==typeof this.data.message.message?JSON.stringify(this.data.message.message):this.data.message&&this.data.message.message?this.data.message.message:"",!this.data.message&&!this.data.titleMessage&&!this.data.message&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.data.message)}onClose(){this.dialogRef.close(!1)}static#e=this.\u0275fac=function(z){return new(z||A)(t.Y36(e.so),t.Y36(e.WI),t.Y36(_.mQ))};static#t=this.\u0275cmp=t.Xpm({type:A,selectors:[["rtl-error-message"]],decls:29,vars:6,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large","error-alert-block"],["fxLayout","column"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],[1,"word-break"],["fxLayout","row","fxLayoutAlign","end center"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","start center",1,"pb-1"]],template:function(z,I){1&z&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return I.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"div",7),t.YNc(10,S,2,1,"p",8),t.TgZ(11,"h4",9),t._uU(12,"Error Code"),t.qZA(),t.TgZ(13,"span"),t._uU(14),t.qZA(),t._UZ(15,"mat-divider",10),t.TgZ(16,"h4",9),t._uU(17,"Error Message"),t.qZA(),t.TgZ(18,"span",11),t._uU(19),t.qZA(),t._UZ(20,"mat-divider",10),t.TgZ(21,"h4",9),t._uU(22,"API URL"),t.qZA(),t.TgZ(23,"span",11),t._uU(24),t.qZA(),t._UZ(25,"mat-divider",10),t.TgZ(26,"div",12)(27,"button",13),t._uU(28,"OK"),t.qZA()()()()()()),2&z&&(t.xp6(5),t.Oqu(I.data.alertTitle||"ERROR"),t.xp6(5),t.Q6J("ngIf",I.data.titleMessage),t.xp6(4),t.Oqu(I.data.message.code),t.xp6(5),t.Oqu(I.errorMessage),t.xp6(5),t.Oqu(I.data.message.URL),t.xp6(3),t.Q6J("mat-dialog-close",!1))},dependencies:[E.O5,s.xw,s.Wh,s.yH,e.ZT,D.lW,u.dk,u.dn,k.d,p.h],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]})}},2615:(Ue,q,m)=>{"use strict";m.d(q,{a:()=>Yn});var e=m(2508),t=m(253),_=m(8951),E=m(640),s=m(9306),D=m(7772),u=m(7731),k=m(6529),p=m(2560),S=m(9263),A=m(1419),P=m(4666),M=m(5043),z=m(3547),I=m(62),W=m(6722),Z=m(3704),Q=m(4522),ie=m(2156),ae=m(3012),_e=m(7822),ce=m(5074),ye=m(1267),ue=m(1294),$=m(2922),he=m(4714),w=m(6896),n=m(4193),o=m(3390),h=m(1528);function d(Mt,Ge){1&Mt&&p.GkF(0)}function y(Mt,Ge){1&Mt&&p.GkF(0)}const L=function(Mt){return{"h-5":Mt}};function B(Mt,Ge){if(1&Mt&&(p.TgZ(0,"mat-expansion-panel",3)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",4),p._uU(4),p.ALo(5,"number"),p.qZA()()(),p.YNc(6,y,1,0,"ng-container",0),p.qZA()),2&Mt){const Be=p.oxw(),ft=p.MAs(4);p.Q6J("expanded",Be.panelExpanded)("ngClass",p.VKq(7,L,!Be.flgShowPanel)),p.xp6(4),p.AsE("Quote for ",Be.termCaption," amount (",p.lcZ(5,5,Be.quote.amount)," Sats)"),p.xp6(2),p.Q6J("ngTemplateOutlet",ft)}}function v(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",19)(1,"h4",8),p._uU(2," Prepay Amount (Sats) "),p.TgZ(3,"mat-icon",20),p._uU(4,"info_outline"),p.qZA()(),p.TgZ(5,"span",10),p._uU(6),p.ALo(7,"number"),p.qZA()()),2&Mt){const Be=p.oxw(2);p.xp6(6),p.Oqu(p.lcZ(7,1,null==Be.quote?null:Be.quote.prepay_amt_sat))}}function a(Mt,Ge){1&Mt&&p._UZ(0,"mat-divider",13)}function C(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",6)(1,"div",21)(2,"h4",8),p._uU(3," Swap Server Node Pubkey "),p.TgZ(4,"mat-icon",22),p._uU(5,"info_outline"),p.qZA()(),p.TgZ(6,"span",10),p._uU(7),p.qZA()()()),2&Mt){const Be=p.oxw(2);p.xp6(7),p.Oqu(null==Be.quote?null:Be.quote.swap_payment_dest)}}function N(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",5)(1,"div",6)(2,"div",7)(3,"h4",8),p._uU(4," Swap Fee (Sats) "),p.TgZ(5,"mat-icon",9),p._uU(6,"info_outline"),p.qZA()(),p.TgZ(7,"span",10),p._uU(8),p.ALo(9,"number"),p.qZA()(),p.TgZ(10,"div",7)(11,"h4",8),p._uU(12),p.TgZ(13,"mat-icon",11),p._uU(14,"info_outline"),p.qZA()(),p.TgZ(15,"span",10),p._uU(16),p.ALo(17,"number"),p.qZA()(),p.YNc(18,v,8,3,"div",12),p.qZA(),p._UZ(19,"mat-divider",13),p.TgZ(20,"div",6)(21,"div",14)(22,"h4",8),p._uU(23," Max Off-chain Swap Routing Fee (Sats) "),p.TgZ(24,"mat-icon",15),p._uU(25,"info_outline"),p.qZA()(),p.TgZ(26,"span",10),p._uU(27),p.ALo(28,"number"),p.qZA()(),p.TgZ(29,"div",14)(30,"h4",8),p._uU(31," Max Off-chain Prepay Routing Fee (Sats) "),p.TgZ(32,"mat-icon",16),p._uU(33,"info_outline"),p.qZA()(),p.TgZ(34,"span",10),p._uU(35,"36"),p.qZA()()(),p.YNc(36,a,1,0,"mat-divider",17),p.YNc(37,C,8,1,"div",18),p.qZA()),2&Mt){const Be=p.oxw();p.xp6(2),p.Q6J("fxFlex",null!=Be.quote&&Be.quote.prepay_amt_sat?"30":"50"),p.xp6(6),p.Oqu(p.lcZ(9,9,null==Be.quote?null:Be.quote.swap_fee_sat)),p.xp6(2),p.Q6J("fxFlex",null!=Be.quote&&Be.quote.prepay_amt_sat?"35":"50"),p.xp6(2),p.hij(" ",null!=Be.quote&&Be.quote.htlc_sweep_fee_sat?"HTLC Sweep Fee (Sats)":null!=Be.quote&&Be.quote.htlc_publish_fee_sat?"HTLC Publish Fee (Sats)":""," "),p.xp6(4),p.Oqu(p.lcZ(17,11,null!=Be.quote&&Be.quote.htlc_sweep_fee_sat?Be.quote.htlc_sweep_fee_sat:null!=Be.quote&&Be.quote.htlc_publish_fee_sat?Be.quote.htlc_publish_fee_sat:0)),p.xp6(2),p.Q6J("ngIf",null==Be.quote?null:Be.quote.prepay_amt_sat),p.xp6(9),p.Oqu(p.lcZ(28,13,(null==Be.quote?null:Be.quote.amount)*((null!=Be.quote&&Be.quote.off_chain_swap_routing_fee_percentage?null==Be.quote?null:Be.quote.off_chain_swap_routing_fee_percentage:2)/100))),p.xp6(9),p.Q6J("ngIf",""!==(null==Be.quote?null:Be.quote.swap_payment_dest)),p.xp6(1),p.Q6J("ngIf",""!==(null==Be.quote?null:Be.quote.swap_payment_dest))}}class F{constructor(){this.quote={},this.termCaption="",this.showPanel=!0,this.panelExpanded=!1,this.flgShowPanel=!1}ngOnInit(){setTimeout(()=>{this.flgShowPanel=!0},1200)}static#e=this.\u0275fac=function(Be){return new(Be||F)};static#t=this.\u0275cmp=p.Xpm({type:F,selectors:[["rtl-loop-quote"]],inputs:{quote:"quote",termCaption:"termCaption",showPanel:"showPanel",panelExpanded:"panelExpanded"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["informationBlock",""],["quoteDetailsBlock",""],["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded","ngClass"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],[3,"fxFlex"],["fxLayoutAlign","start center",1,"font-bold-500"],["matTooltip","Estimated fee charged by the loop server for the swap",1,"info-icon","info-icon-text"],[1,"foreground-secondary-text"],["matTooltip","An estimate of the on-chain fee that needs to be paid to sweep the HTLC",1,"info-icon","info-icon-text"],["fxFlex","35",4,"ngIf"],[1,"w-100","my-1"],["fxFlex","50"],["matTooltip","Maximum off-chain fee that may be paid for routing the payment amount to the server",1,"info-icon","info-icon-text"],["matTooltip","Maximum off-chain fee that may be paid for routing the pre-payment amount to the server","matTooltipPosition","before",1,"info-icon","info-icon-text"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxFlex","35"],["matTooltip","The part of the swap fee that is requested as a prepayment","matTooltipPosition","before",1,"info-icon","info-icon-text"],["fxFlex","100"],["matTooltip","The node pubkey, where the swap payments will be sent",1,"info-icon","info-icon-text"]],template:function(Be,ft){if(1&Be&&(p.YNc(0,d,1,0,"ng-container",0),p.YNc(1,B,7,9,"ng-template",null,1,p.W1O),p.YNc(3,N,38,15,"ng-template",null,2,p.W1O)),2&Be){const re=p.MAs(2),Te=p.MAs(4);p.Q6J("ngTemplateOutlet",ft.showPanel?re:Te)}},dependencies:[P.mk,P.O5,P.tP,W.xw,W.Wh,W.yH,Z.oO,ae.ib,ae.yz,ae.yK,_e.Hw,h.d,w.gM,P.JJ]})}function X(Mt,Ge){1&Mt&&p.GkF(0)}function Fe(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",3)(1,"span",4),p._uU(2),p.qZA()()),2&Mt){const Be=p.oxw();p.xp6(2),p.Oqu(null!=Be.loopStatus&&Be.loopStatus.error?null==Be.loopStatus?null:Be.loopStatus.error:"Unknown Error.")}}function ke(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",3)(1,"div",5)(2,"div",6)(3,"h4",7),p._uU(4,"ID"),p.qZA(),p.TgZ(5,"span",4),p._uU(6),p.qZA()()(),p._UZ(7,"mat-divider",8),p.TgZ(8,"div",5)(9,"div",6)(10,"h4",7),p._uU(11,"HTLC Address"),p.qZA(),p.TgZ(12,"span",4),p._uU(13),p.qZA()()()()),2&Mt){const Be=p.oxw();p.xp6(6),p.Oqu(null==Be.loopStatus?null:Be.loopStatus.id_bytes),p.xp6(7),p.Oqu(null==Be.loopStatus?null:Be.loopStatus.htlc_address)}}class Ke{constructor(){}static#e=this.\u0275fac=function(Be){return new(Be||Ke)};static#t=this.\u0275cmp=p.Xpm({type:Ke,selectors:[["rtl-loop-status"]],inputs:{loopStatus:"loopStatus"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["loopFailedBlock",""],["loopSuccessfulBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"]],template:function(Be,ft){if(1&Be&&(p.YNc(0,X,1,0,"ng-container",0),p.YNc(1,Fe,3,1,"ng-template",null,1,p.W1O),p.YNc(3,ke,14,2,"ng-template",null,2,p.W1O)),2&Be){const re=p.MAs(2),Te=p.MAs(4);p.Q6J("ngTemplateOutlet",null!=ft.loopStatus&&ft.loopStatus.error?re:Te)}},dependencies:[P.tP,W.xw,W.Wh,W.yH,h.d]})}var je=m(113);function Ve(Mt,Ge){1&Mt&&p.GkF(0)}const xe=function(Mt,Ge){return{"small-svg":Mt,"large-svg":Ge}};function Ze(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",7)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",9)(6,"g",10)(7,"g",11),p._UZ(8,"circle",12)(9,"path",13),p.qZA(),p.TgZ(10,"g",14),p._UZ(11,"ellipse",15)(12,"ellipse",16)(13,"rect",17)(14,"rect",18)(15,"rect",19)(16,"rect",20)(17,"rect",21)(18,"rect",22)(19,"rect",23)(20,"rect",24)(21,"rect",25)(22,"rect",26)(23,"rect",27)(24,"rect",28)(25,"rect",29),p.qZA()()()()(),p.kcU(),p.TgZ(26,"div",30)(27,"mat-card-title"),p._uU(28,"Loop In explained."),p.qZA()(),p.TgZ(29,"div",31)(30,"mat-card-subtitle",32),p._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,xe,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function Ie(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",33)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",38)(11,"g",39)(12,"g",40),p._UZ(13,"rect",41)(14,"rect",42)(15,"rect",43)(16,"circle",44)(17,"rect",45)(18,"rect",46)(19,"circle",47)(20,"rect",48)(21,"rect",49)(22,"rect",50)(23,"rect",51)(24,"rect",52)(25,"circle",53)(26,"circle",54)(27,"circle",55),p.qZA(),p.TgZ(28,"g",56)(29,"g",57)(30,"g",58),p._UZ(31,"path",59)(32,"rect",60)(33,"polygon",61),p.TgZ(34,"g",62),p._UZ(35,"path",63),p.qZA(),p._UZ(36,"rect",64)(37,"rect",65)(38,"rect",66)(39,"rect",67)(40,"rect",68)(41,"rect",69)(42,"rect",70)(43,"path",71)(44,"path",72),p.qZA(),p.TgZ(45,"g",73),p._UZ(46,"path",74)(47,"path",75)(48,"path",76)(49,"path",77)(50,"path",78)(51,"path",79)(52,"path",80)(53,"path",81)(54,"path",82)(55,"path",83)(56,"path",84)(57,"circle",85)(58,"circle",86),p.qZA(),p._UZ(59,"path",87),p.qZA()()()()()(),p.kcU(),p.TgZ(60,"div",30)(61,"mat-card-title"),p._uU(62,"Step 1: Deciding to Loop In"),p.qZA()(),p.TgZ(63,"div",31)(64,"mat-card-subtitle",32),p._uU(65," Your outgoing capacity is depleted and you want to regain it without opening new channels. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,xe,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ve(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",88)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",89),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",90)(10,"g",91)(11,"g",92)(12,"g",93)(13,"g",94),p._UZ(14,"circle",95)(15,"path",96),p.TgZ(16,"g",97),p._UZ(17,"polygon",98)(18,"polygon",99)(19,"path",100),p.qZA(),p.TgZ(20,"g",101),p._UZ(21,"polygon",102)(22,"path",103)(23,"rect",104)(24,"path",105)(25,"rect",106)(26,"rect",107)(27,"rect",108)(28,"rect",109)(29,"circle",110)(30,"path",111),p.TgZ(31,"g",112)(32,"g",113),p._UZ(33,"g",114),p.qZA(),p._UZ(34,"g",115),p.qZA()()(),p.TgZ(35,"g",116)(36,"g",40),p._UZ(37,"rect",117)(38,"rect",42)(39,"rect",43)(40,"circle",118)(41,"rect",45)(42,"rect",46)(43,"circle",119)(44,"rect",48)(45,"rect",49)(46,"rect",50)(47,"rect",51)(48,"rect",52)(49,"circle",120)(50,"circle",54)(51,"circle",55)(52,"circle",121),p.qZA(),p.TgZ(53,"g",56)(54,"g",57)(55,"g",58),p._UZ(56,"path",59)(57,"rect",60)(58,"polygon",61),p.TgZ(59,"g",122),p._UZ(60,"path",63),p.qZA(),p._UZ(61,"rect",123)(62,"rect",124)(63,"rect",125)(64,"rect",126)(65,"rect",127)(66,"rect",128)(67,"rect",129)(68,"path",130)(69,"path",72),p.qZA(),p.TgZ(70,"g",73),p._UZ(71,"path",131)(72,"path",132)(73,"path",133)(74,"path",134)(75,"path",135)(76,"path",136)(77,"path",80)(78,"path",81)(79,"path",137)(80,"path",83)(81,"path",138)(82,"circle",85)(83,"circle",86),p.qZA(),p._UZ(84,"path",139),p.qZA()()()(),p._UZ(85,"path",140)(86,"path",141),p.qZA()()()(),p.kcU(),p.TgZ(87,"div",30)(88,"mat-card-title"),p._uU(89,"Step 2: Send payment out"),p.qZA()(),p.TgZ(90,"div",31)(91,"mat-card-subtitle",32),p._uU(92," Your node sends funds on-chain to loop server to be swapped with off-chain liquidity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,xe,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function et(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",142)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",90)(5,"g",143)(6,"g",144)(7,"g")(8,"g",145)(9,"g",146),p._UZ(10,"circle",12)(11,"path",147),p.qZA(),p.TgZ(12,"g",14),p._UZ(13,"ellipse",148)(14,"ellipse",16)(15,"rect",17)(16,"rect",18)(17,"rect",19)(18,"rect",20)(19,"rect",21)(20,"rect",22)(21,"rect",23)(22,"rect",24)(23,"rect",25)(24,"rect",26)(25,"rect",27)(26,"rect",28)(27,"rect",29),p.qZA()(),p.TgZ(28,"g",149),p._UZ(29,"polygon",150)(30,"polygon",99)(31,"path",151),p.qZA(),p.TgZ(32,"g",152),p._UZ(33,"polygon",102)(34,"path",103)(35,"rect",104)(36,"path",105)(37,"rect",106)(38,"rect",107)(39,"rect",108)(40,"rect",109)(41,"circle",110)(42,"path",111),p.TgZ(43,"g",112)(44,"g",113),p._UZ(45,"g",114),p.qZA(),p._UZ(46,"g",115),p.qZA()()(),p._UZ(47,"path",153),p.qZA()()()(),p.kcU(),p.TgZ(48,"div",30)(49,"mat-card-title"),p._uU(50,"Step 3: Recieve Funds Off-chain"),p.qZA()(),p.TgZ(51,"div",31)(52,"mat-card-subtitle",32),p._uU(53," Loop server sends equivalent funds off-chain to your node by making a lightning payment to you. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,xe,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ht(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",154)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",90)(10,"g",155)(11,"g",156)(12,"g",157)(13,"g",158)(14,"g",40),p._UZ(15,"rect",159)(16,"rect",160)(17,"rect",161)(18,"circle",162)(19,"rect",163)(20,"rect",164)(21,"circle",165)(22,"rect",166)(23,"rect",167)(24,"rect",168)(25,"rect",169)(26,"circle",170)(27,"circle",171),p.qZA(),p.TgZ(28,"g",172),p._UZ(29,"path",173)(30,"rect",174)(31,"polygon",175)(32,"circle",176)(33,"path",177)(34,"rect",178)(35,"rect",179)(36,"rect",180)(37,"rect",181)(38,"rect",182)(39,"rect",183)(40,"rect",184)(41,"path",185)(42,"path",186),p.qZA(),p._UZ(43,"path",187),p.qZA()(),p._UZ(44,"circle",188),p.qZA()()()(),p.kcU(),p.TgZ(45,"div",30)(46,"mat-card-title"),p._uU(47,"Done!"),p.qZA()(),p.TgZ(48,"div",31)(49,"mat-card-subtitle",32),p._uU(50," You send the payment on-chain from your wallet and also move remote balance to the local side of the node, gaining outgoing capacity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,xe,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}class Le{constructor(Ge){this.commonService=Ge,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new p.vpe,this.screenSize="",this.screenSizeEnum=u.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(Ge){2===Ge.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===Ge.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(Be){return new(Be||Le)(p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Le,selectors:[["rtl-loop-in-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopIn_Step02","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(542.000000, 210.000000)"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"],["fxFlex","30","viewBox","0 0 364 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","Loopv0.3","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step03","transform","translate(-1127.000000, -164.000000)"],["id","LoopIn_Step03","transform","translate(1127.000000, 164.000000)"],["id","Group-21"],["id","Group-35","transform","translate(107.000000, 10.000000)"],["id","Oval","fill-rule","nonzero","cx","214.487742","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M232.082742,28.5000036 C236.446821,28.5000036 239.999928,25.1343958 239.999928,21.0000215 C239.999928,16.8656472 236.446821,13.5000393 232.082742,13.5000393 C228.98433,13.5000393 226.560889,15.4359631 224.999964,17.1843872 C223.43904,15.4359631 221.015599,13.5000393 217.917187,13.5000393 C213.553107,13.5000393 210,16.8656472 210,21.0000215 C210,25.1343958 213.553107,28.5000036 217.917187,28.5000036 C221.015599,28.5000036 223.43904,26.5640798 224.999964,24.8156557 C226.560889,26.5640798 228.98433,28.5000036 232.082742,28.5000036 Z M217.917187,24.0000143 C216.032807,24.0000143 214.499989,22.6546959 214.499989,21.0000286 C214.499989,19.3453471 216.032807,18.0000286 217.917187,18.0000286 C219.707771,18.0000286 221.357776,19.6921938 222.323426,21.0000286 C221.36716,22.2937501 219.703102,24.0000143 217.917187,24.0000143 Z M232.082742,24.0000143 C230.292157,24.0000143 228.642152,22.3078492 227.676502,21.0000286 C228.632768,19.7062929 230.296827,18.0000286 232.082742,18.0000286 C233.967121,18.0000286 235.499939,19.3453471 235.499939,21.0000286 C235.499939,22.6546959 233.967121,24.0000143 232.082742,24.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(0.000000, 64.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-20"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-20"],["id","Group-43","transform","translate(152.000000, 35.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["id","LoopIn_Step03","fill-rule","nonzero"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-10"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","15.8607624","r","7.93434243"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.35996418",1,"fill-color-31"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-4"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-20"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-20"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-16"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-9"],["d","M93.2292414,91.9116485 L93.2292414,89.7922708 C93.647506,89.8022089 94.0558324,89.8022089 94.4442517,89.8022089 L94.4442517,91.9116485 L95.9779294,91.9116485 L95.9779294,89.7623948 C98.5473303,89.6229527 100.264986,88.975618 100.494057,86.5555973 C100.673282,84.6136241 99.757032,83.7471573 98.3030443,83.3986138 C99.1794183,82.9504733 99.7371558,82.1537275 99.6076827,80.8291821 C99.4383337,79.0166511 97.9497787,78.4091306 95.9778985,78.2398742 L95.9778985,75.7301945 L94.4442208,75.7301945 L94.4442208,78.1701531 C94.0458325,78.1701531 93.6375061,78.1800912 93.2292106,78.1900602 L93.2292106,75.7301945 L91.695502,75.7301945 L91.695502,78.2398742 C91.1316227,78.2569109 90.4748746,78.2485777 88.6181777,78.2398742 L88.6181777,79.8731181 C89.8290831,79.8516987 90.4644118,79.7738914 90.6099957,80.5502979 L90.6099957,87.4220333 C90.517559,88.0380413 90.0245427,87.9493391 88.926907,87.9299259 L88.6181777,89.7524258 L89.5798445,89.7528809 C91.4824304,89.7548325 91.6955329,89.7623948 91.6955329,89.7623948 L91.6955329,91.9116485 L93.2292414,91.9116485 Z M93.2591175,83.0400705 L93.2591175,79.9826533 C94.1255534,79.9826533 96.8343964,79.7137998 96.8343964,81.5163618 C96.8343964,83.2392647 94.1255843,83.0400705 93.2591175,83.0400705 Z M93.2591175,87.9398948 L93.2591175,84.5737791 C94.2948407,84.5737791 97.4665153,84.2849568 97.4665153,86.2568678 C97.4665153,88.1589961 94.2948407,87.9398948 93.2591175,87.9398948 Z","id","b","fill-rule","nonzero","transform","translate(94.567271, 83.820921) rotate(14.000000) translate(-94.567271, -83.820921) ",1,"fill-color-9"],["d","M305.611064,96.181454 L305.611064,94.0620763 C306.029328,94.0720144 306.437655,94.0720144 306.826074,94.0720144 L306.826074,96.181454 L308.359752,96.181454 L308.359752,94.0322003 C310.929153,93.8927582 312.646809,93.2454235 312.875879,90.8254028 C313.055104,88.8834296 312.138854,88.0169628 310.684867,87.6684193 C311.561241,87.2202788 312.118978,86.423533 311.989505,85.0989876 C311.820156,83.2864566 310.331601,82.678936 308.359721,82.5096797 L308.359721,80 L306.826043,80 L306.826043,82.4399586 C306.427655,82.4399586 306.019328,82.4498967 305.611033,82.4598657 L305.611033,80 L304.077324,80 L304.077324,82.5096797 C303.513445,82.5267164 302.856697,82.5183832 301,82.5096797 L301,84.1429236 C302.210905,84.1215042 302.846234,84.0436969 302.991818,84.8201034 L302.991818,91.6918387 C302.899381,92.3078468 302.406365,92.2191446 301.308729,92.1997314 L301,94.0222313 L301.961667,94.0226864 C303.864253,94.024638 304.077355,94.0322003 304.077355,94.0322003 L304.077355,96.181454 L305.611064,96.181454 Z M305.64094,87.309876 L305.64094,84.2524587 C306.507376,84.2524587 309.216219,83.9836053 309.216219,85.7861673 C309.216219,87.5090702 306.507407,87.309876 305.64094,87.309876 Z M305.64094,92.2097003 L305.64094,88.8435846 C306.676663,88.8435846 309.848338,88.5547623 309.848338,90.5266733 C309.848338,92.4288016 306.676663,92.2097003 305.64094,92.2097003 Z","id","b","fill-rule","nonzero","transform","translate(306.949093, 88.090727) rotate(14.000000) translate(-306.949093, -88.090727) ",1,"fill-color-26"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step04","transform","translate(-1799.000000, -756.000000)"],["id","LoopIn_Step04","transform","translate(1799.000000, 756.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["d","M225.805162,92.2474279 C226.071703,92.2474279 226.325569,92.1077892 226.465207,91.8666288 L232.050261,82.2197185 C232.345374,81.7151473 231.980441,81.0773212 231.393376,81.0773212 L227.731346,81.0773212 L229.083201,76.9583506 C229.210134,76.4759989 228.845202,76 228.346983,76 L223.777394,76 C223.396595,76 223.07291,76.2824384 223.022149,76.6600456 L222.006685,84.2760274 C221.946379,84.7329987 222.301798,85.1391782 222.76193,85.1391782 L226.528674,85.1391782 L225.065752,91.3112968 C224.951525,91.7936485 225.319618,92.2474279 225.805162,92.2474279 Z","id","b","fill-rule","nonzero","transform","translate(227.077378, 84.123714) rotate(14.000000) translate(-227.077378, -84.123714) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step05","transform","translate(-2386.000000, -764.000000)","fill-rule","nonzero"],["id","LoopIn_Step05","transform","translate(2386.000000, 764.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"]],template:function(Be,ft){if(1&Be&&(p.YNc(0,Ve,1,0,"ng-container",0),p.YNc(1,Ze,32,5,"ng-template",null,1,p.W1O),p.YNc(3,Ie,66,5,"ng-template",null,2,p.W1O),p.YNc(5,ve,93,5,"ng-template",null,3,p.W1O),p.YNc(7,et,54,5,"ng-template",null,4,p.W1O),p.YNc(9,ht,51,5,"ng-template",null,5,p.W1O)),2&Be){const re=p.MAs(2),Te=p.MAs(4),pt=p.MAs(6),Lt=p.MAs(8),nn=p.MAs(10);p.Q6J("ngTemplateOutlet",1===ft.stepNumber?re:2===ft.stepNumber?Te:3===ft.stepNumber?pt:4===ft.stepNumber?Lt:nn)}},dependencies:[P.mk,P.tP,W.xw,W.Wh,W.yH,Z.oO,ie.n5,ie.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[je.l]}})}function Ae(Mt,Ge){1&Mt&&p.GkF(0)}const te=function(Mt,Ge){return{"small-svg":Mt,"large-svg":Ge}};function pe(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",7)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",9)(6,"g",10)(7,"g",11),p._UZ(8,"circle",12)(9,"path",13),p.qZA(),p.TgZ(10,"g",14),p._UZ(11,"ellipse",15)(12,"ellipse",16)(13,"rect",17)(14,"rect",18)(15,"rect",19)(16,"rect",20)(17,"rect",21)(18,"rect",22)(19,"rect",23)(20,"rect",24)(21,"rect",25)(22,"rect",26)(23,"rect",27)(24,"rect",28)(25,"rect",29),p.qZA()()()()(),p.kcU(),p.TgZ(26,"div",30)(27,"mat-card-title"),p._uU(28,"Loop Out explained."),p.qZA()(),p.TgZ(29,"div",31)(30,"mat-card-subtitle",32),p._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,te,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ee(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",33)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",38)(11,"g",39)(12,"g",40)(13,"g",41)(14,"g",42),p._UZ(15,"rect",43)(16,"rect",44)(17,"rect",45)(18,"circle",46)(19,"rect",47)(20,"rect",48)(21,"circle",49)(22,"rect",50)(23,"rect",51)(24,"rect",52)(25,"rect",53)(26,"circle",54)(27,"circle",55),p.qZA(),p.TgZ(28,"g",56),p._UZ(29,"path",57)(30,"rect",58)(31,"polygon",59)(32,"circle",60)(33,"path",61)(34,"rect",62)(35,"rect",63)(36,"rect",64)(37,"rect",65)(38,"rect",66)(39,"rect",67)(40,"rect",68)(41,"path",69)(42,"path",70),p.qZA(),p._UZ(43,"path",71),p.qZA()(),p._UZ(44,"circle",72),p.qZA()()()(),p.kcU(),p.TgZ(45,"div",30)(46,"mat-card-title"),p._uU(47,"Step 1: Deciding to Loop Out"),p.qZA()(),p.TgZ(48,"div",31)(49,"mat-card-subtitle",32),p._uU(50," You have a channel with a local balance amount and you want to gain inbound liquidity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,te,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function H(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",73)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",74),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",75)(11,"g",76),p._UZ(12,"circle",77)(13,"path",78),p.TgZ(14,"g",79),p._UZ(15,"polygon",80)(16,"polygon",81)(17,"path",82),p.qZA(),p.TgZ(18,"g",83),p._UZ(19,"polygon",84)(20,"path",85)(21,"rect",86)(22,"path",87)(23,"rect",88)(24,"rect",89)(25,"rect",90)(26,"rect",91)(27,"circle",92)(28,"path",93),p.TgZ(29,"g",94)(30,"g",95),p._UZ(31,"g",96),p.qZA(),p._UZ(32,"g",97),p.qZA(),p._UZ(33,"path",98),p.qZA(),p.TgZ(34,"g",99)(35,"g",41)(36,"g",42),p._UZ(37,"rect",43)(38,"rect",44)(39,"rect",45)(40,"circle",46)(41,"rect",47)(42,"rect",48)(43,"circle",49)(44,"rect",50)(45,"rect",51)(46,"rect",52)(47,"rect",53)(48,"circle",100)(49,"circle",54)(50,"circle",55)(51,"circle",101),p.qZA(),p.TgZ(52,"g",56),p._UZ(53,"path",57)(54,"rect",102)(55,"polygon",103)(56,"circle",104)(57,"path",61)(58,"rect",105)(59,"rect",106)(60,"rect",107)(61,"rect",108)(62,"rect",109)(63,"rect",110)(64,"rect",68)(65,"path",69)(66,"path",70),p.qZA(),p._UZ(67,"path",111),p.qZA()()()()()(),p.kcU(),p.TgZ(68,"div",30)(69,"mat-card-title"),p._uU(70,"Step 2: Send lightning payment"),p.qZA()(),p.TgZ(71,"div",31)(72,"mat-card-subtitle",32),p._uU(73," Your node pays a lightning invoice for the amount requested via the loop service. This moves the local balance, for the amount paid, to the remote side of the channel. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,te,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function j(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",112)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",113)(6,"g",114)(7,"g",115)(8,"g",116),p._UZ(9,"circle",12)(10,"path",117),p.qZA(),p.TgZ(11,"g",14),p._UZ(12,"ellipse",118)(13,"ellipse",16)(14,"rect",17)(15,"rect",18)(16,"rect",19)(17,"rect",20)(18,"rect",21)(19,"rect",22)(20,"rect",23)(21,"rect",24)(22,"rect",25)(23,"rect",26)(24,"rect",27)(25,"rect",28)(26,"rect",29),p.qZA()(),p.TgZ(27,"g",119),p._UZ(28,"polygon",80)(29,"polygon",120)(30,"path",82),p.qZA(),p.TgZ(31,"g",121),p._UZ(32,"polygon",84)(33,"path",85)(34,"rect",86)(35,"path",87)(36,"rect",88)(37,"rect",89)(38,"rect",90)(39,"rect",91)(40,"circle",122)(41,"path",93),p.TgZ(42,"g",94)(43,"g",95),p._UZ(44,"g",96),p.qZA(),p._UZ(45,"g",97),p.qZA(),p._UZ(46,"path",123),p.qZA()()()()(),p.kcU(),p.TgZ(47,"div",30)(48,"mat-card-title"),p._uU(49,"Step 3: Receive funds back"),p.qZA()(),p.TgZ(50,"div",31)(51,"mat-card-subtitle",32),p._uU(52," Loop service then sends you a payment on-chain for the amount same as the lightning payment minus the fee. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,te,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function Oe(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.onSwipe(re))}),p.O4$(),p.TgZ(1,"svg",124)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",125)(11,"g",126)(12,"g",42),p._UZ(13,"rect",127)(14,"rect",128)(15,"rect",129)(16,"circle",130)(17,"rect",131)(18,"rect",132)(19,"circle",133)(20,"rect",134)(21,"rect",135)(22,"rect",136)(23,"rect",137)(24,"rect",138)(25,"circle",139)(26,"circle",140)(27,"circle",141),p.qZA(),p.TgZ(28,"g",142)(29,"g",143)(30,"g",144),p._UZ(31,"path",145)(32,"rect",146)(33,"polygon",147),p.TgZ(34,"g",148),p._UZ(35,"path",149),p.qZA(),p._UZ(36,"rect",150)(37,"rect",151)(38,"rect",152)(39,"rect",153)(40,"rect",154)(41,"rect",155)(42,"rect",156)(43,"path",157)(44,"path",158),p.qZA(),p.TgZ(45,"g",159),p._UZ(46,"path",160)(47,"path",161)(48,"path",162)(49,"path",163)(50,"path",164)(51,"path",165)(52,"path",166)(53,"path",167)(54,"path",168)(55,"path",169)(56,"path",170)(57,"circle",171)(58,"circle",172),p.qZA(),p._UZ(59,"path",173),p.qZA()()()()()(),p.kcU(),p.TgZ(60,"div",30)(61,"mat-card-title"),p._uU(62,"Done!"),p.qZA()(),p.TgZ(63,"div",31)(64,"mat-card-subtitle",32),p._uU(65," Final settlement occurs when your node sweeps the on-chain payment and the loop server settles the lightning invoice. You receive the payment on-chain in your wallet and also move local balance to the remote side of the channel, gaining inbound capacity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,te,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}class Re{constructor(Ge){this.commonService=Ge,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new p.vpe,this.screenSize="",this.screenSizeEnum=u.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(Ge){2===Ge.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===Ge.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(Be){return new(Be||Re)(p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Re,selectors:[["rtl-loop-out-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopOut_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopOut_Step02","transform","translate(-540.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(540.000000, 210.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["fxFlex","30","viewBox","0 0 373 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","LoopOut_Step03","transform","translate(-460.000000, -210.000000)"],["id","Loop_Step03","transform","translate(460.000000, 210.000000)"],["id","Oval","fill-rule","nonzero","cx","330.487742","cy","57.4877419","r","42.4877419",1,"fill-color-2"],["d","M345.082742,43.5000036 C349.446821,43.5000036 352.999928,40.1343958 352.999928,36.0000215 C352.999928,31.8656472 349.446821,28.5000393 345.082742,28.5000393 C341.98433,28.5000393 339.560889,30.4359631 337.999964,32.1843872 C336.43904,30.4359631 334.015599,28.5000393 330.917187,28.5000393 C326.553107,28.5000393 323,31.8656472 323,36.0000215 C323,40.1343958 326.553107,43.5000036 330.917187,43.5000036 C334.015599,43.5000036 336.43904,41.5640798 337.999964,39.8156557 C339.560889,41.5640798 341.98433,43.5000036 345.082742,43.5000036 Z M330.917187,39.0000143 C329.032807,39.0000143 327.499989,37.6546959 327.499989,36.0000286 C327.499989,34.3453471 329.032807,33.0000286 330.917187,33.0000286 C332.707771,33.0000286 334.357776,34.6921938 335.323426,36.0000286 C334.36716,37.2937501 332.703102,39.0000143 330.917187,39.0000143 Z M345.082742,39.0000143 C343.292157,39.0000143 341.642152,37.3078492 340.676502,36.0000286 C341.632768,34.7062929 343.296827,33.0000286 345.082742,33.0000286 C346.967121,33.0000286 348.499939,34.3453471 348.499939,36.0000286 C348.499939,37.6546959 346.967121,39.0000143 345.082742,39.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(113.000000, 79.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-22"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(265.000000, 50.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-3"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["d","M46.60483,51.432122 C46.8713708,51.432122 47.1252368,51.2924832 47.2648756,51.0513229 L52.8499289,41.4044125 C53.145042,40.8998413 52.7801095,40.2620153 52.1930443,40.2620153 L48.5310139,40.2620153 L49.8828693,36.1430446 C50.0098023,35.6606929 49.6448699,35.184694 49.1466515,35.184694 L44.5770624,35.184694 C44.1962633,35.184694 43.8725779,35.4671324 43.8218171,35.8447396 L42.8063528,43.4607214 C42.7460473,43.9176927 43.1014659,44.3238722 43.5615982,44.3238722 L47.3283421,44.3238722 L45.8654203,50.4959909 C45.751193,50.9783426 46.1192864,51.432122 46.60483,51.432122 Z","id","b","fill-rule","nonzero","transform","translate(47.877046, 43.308408) rotate(14.000000) translate(-47.877046, -43.308408) ",1,"fill-color-12"],["id","Group-34","fill-rule","nonzero"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","17.5648113","r","8.78679245"],["id","Oval","cx","76.317438","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-8"],["id","Path","opacity","0.222721354","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-18"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-8"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-14"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step04","transform","translate(-503.000000, -212.000000)"],["id","Loop_Step04","transform","translate(503.000000, 212.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M46.519593,50.6740439 L46.519593,48.5460252 C46.9395628,48.5560039 47.349554,48.5560039 47.739557,48.5560039 L47.739557,50.6740439 L49.2794877,50.6740439 L49.2794877,48.5160274 C51.8593644,48.3760168 53.5840235,47.7260428 53.8140277,45.2961554 C53.9939838,43.3462645 53.0739982,42.476265 51.6140824,42.1263004 C52.4940295,41.6763328 53.054041,40.8763386 52.92404,39.5463928 C52.7540005,37.7264719 51.2593765,37.1164744 49.2794567,36.9465279 L49.2794567,34.4266159 L47.739526,34.4266159 L47.739526,36.8765226 C47.3395134,36.8765226 46.9295222,36.8865012 46.519562,36.8965108 L46.519562,34.4266159 L44.9796003,34.4266159 L44.9796003,36.9465279 C44.413422,36.9636341 43.7539962,36.9552669 41.8897293,36.9465279 L41.8897293,38.5864308 C43.1055717,38.564924 43.7434908,38.4867995 43.8896683,39.2663716 L43.8896683,46.1661239 C43.7968547,46.7846435 43.3018283,46.6955796 42.1997174,46.6760872 L41.8897293,48.5060178 C44.6975648,48.5060178 44.9796313,48.5160274 44.9796313,48.5160274 L44.9796313,50.6740439 L46.519593,50.6740439 Z M46.5495908,41.7662953 L46.5495908,38.6964125 C47.4195593,38.6964125 50.1394466,38.4264629 50.1394466,40.2363742 C50.1394466,41.9663016 47.4195903,41.7662953 46.5495908,41.7662953 Z M46.5495908,46.6860969 L46.5495908,43.306257 C47.5895368,43.306257 50.7741427,43.0162572 50.7741427,44.9962079 C50.7741427,46.9060914 47.5895368,46.6860969 46.5495908,46.6860969 Z","id","B","fill-rule","nonzero","transform","translate(47.863077, 42.550330) rotate(14.000000) translate(-47.863077, -42.550330) ",1,"fill-color-29"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step05","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step05","transform","translate(542.000000, 210.000000)"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"]],template:function(Be,ft){if(1&Be&&(p.YNc(0,Ae,1,0,"ng-container",0),p.YNc(1,pe,32,5,"ng-template",null,1,p.W1O),p.YNc(3,ee,51,5,"ng-template",null,2,p.W1O),p.YNc(5,H,74,5,"ng-template",null,3,p.W1O),p.YNc(7,j,53,5,"ng-template",null,4,p.W1O),p.YNc(9,Oe,66,5,"ng-template",null,5,p.W1O)),2&Be){const re=p.MAs(2),Te=p.MAs(4),pt=p.MAs(6),Lt=p.MAs(8),nn=p.MAs(10);p.Q6J("ngTemplateOutlet",1===ft.stepNumber?re:2===ft.stepNumber?Te:3===ft.stepNumber?pt:4===ft.stepNumber?Lt:nn)}},dependencies:[P.mk,P.tP,W.xw,W.Wh,W.yH,Z.oO,ie.n5,ie.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[je.l]}})}const le=["stepper"];function _t(Mt,Ge){if(1&Mt&&(p.TgZ(0,"div",48)(1,"p",49)(2,"strong"),p._uU(3,"Channel Peer:\xa0"),p.qZA(),p._uU(4),p.ALo(5,"titlecase"),p.qZA(),p.TgZ(6,"p",50)(7,"strong"),p._uU(8,"Channel ID:\xa0"),p.qZA(),p._uU(9),p.qZA(),p._UZ(10,"p",50),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(4),p.Oqu(p.lcZ(5,2,Be.channel.remote_alias)),p.xp6(5),p.Oqu(Be.channel.chan_id)}}function it(Mt,Ge){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.Oqu(Be.inputFormLabel)}}function Ct(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Amount is required."),p.qZA())}function un(Mt,Ge){if(1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1),p.ALo(2,"number"),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Amount must be greater than or equal to ",p.lcZ(2,1,Be.minQuote.amount),".")}}function Bt(Mt,Ge){if(1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1),p.ALo(2,"number"),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Amount must be less than or equal to ",p.lcZ(2,1,Be.maxQuote.amount),".")}}function Ut(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Confirmation target is required."),p.qZA())}function yn(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Confirmation target must be a positive number."),p.qZA())}function Xt(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Percentage is required."),p.qZA())}function Gt(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Percentage must be a positive number."),p.qZA())}function In(Mt,Ge){if(1&Mt&&(p.TgZ(0,"mat-form-field",50),p._UZ(1,"input",51),p.YNc(2,Xt,2,0,"mat-error",25),p.YNc(3,Gt,2,0,"mat-error",25),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Q6J("step",1),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.routingFeePercent.errors?null:Be.inputFormGroup.controls.routingFeePercent.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.routingFeePercent.errors?null:Be.inputFormGroup.controls.routingFeePercent.errors.min)}}function rn(Mt,Ge){1&Mt&&(p.TgZ(0,"div",52)(1,"mat-slide-toggle",53),p._uU(2,"Fast"),p.qZA(),p.TgZ(3,"mat-icon",54),p._uU(4,"info_outline"),p.qZA()())}function tn(Mt,Ge){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.Oqu(Be.quoteFormLabel)}}function pn(Mt,Ge){1&Mt&&(p.TgZ(0,"p",55)(1,"mat-icon",56),p._uU(2,"close"),p.qZA(),p._uU(3,"Local balance amount is insufficient for swap."),p.qZA())}function tt(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",57),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onValidateAmount())}),p._uU(1,"Next"),p.qZA()}}function vt(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",58),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onLoop())}),p._uU(1),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Initiate ",Be.loopDirectionCaption,"")}}function dt(Mt,Ge){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(3);p.Oqu(Be.addressFormLabel)}}function se(Mt,Ge){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Address is required."),p.qZA())}function J(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"mat-step",16)(1,"form",17),p.YNc(2,dt,1,1,"ng-template",18),p.TgZ(3,"div",59)(4,"mat-radio-group",60),p.NdJ("change",function(re){p.CHM(Be);const Te=p.oxw(2);return p.KtG(Te.onAddressTypeChange(re))}),p.TgZ(5,"mat-radio-button",61),p._uU(6,"Node Local Address"),p.qZA(),p.TgZ(7,"mat-radio-button",62),p._uU(8,"External Address"),p.qZA()(),p.TgZ(9,"mat-form-field",63),p._UZ(10,"input",64),p.YNc(11,se,2,0,"mat-error",25),p.qZA()(),p.TgZ(12,"div",29)(13,"button",65),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onLoop())}),p._uU(14),p.qZA()()()()}if(2&Mt){const Be=p.oxw(2);p.Q6J("stepControl",Be.addressFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.addressFormGroup),p.xp6(9),p.Q6J("required","external"===Be.addressFormGroup.controls.addressType.value),p.xp6(1),p.Q6J("ngIf",null==Be.addressFormGroup.controls.address.errors?null:Be.addressFormGroup.controls.address.errors.required),p.xp6(3),p.hij("Initiate ",Be.loopDirectionCaption,"")}}function oe(Mt,Ge){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.hij("",Be.loopDirectionCaption," Status")}}function De(Mt,Ge){if(1&Mt&&(p.TgZ(0,"mat-icon",66),p._uU(1),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Oqu(Be.loopStatus&&null!=Be.loopStatus&&Be.loopStatus.id_bytes?"check":"close")}}function Ye(Mt,Ge){1&Mt&&p._UZ(0,"div")}function Dt(Mt,Ge){1&Mt&&p._UZ(0,"mat-progress-bar",67)}function ut(Mt,Ge){if(1&Mt&&(p.TgZ(0,"h4",68),p._uU(1),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Oqu(Be.loopStatus&&Be.loopStatus.error?Be.loopDirectionCaption+" failed.":Be.loopStatus&&Be.loopStatus.id_bytes&&Be.channel?Be.loopDirectionCaption+" request placed successfully. You can check the status of the request on the 'Loop' menu.":Be.loopDirectionCaption+" request placed successfully.")}}function ze(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",69),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.goToLoop())}),p._uU(1,"Check Status"),p.qZA()}}function Me(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",70),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onRestart())}),p._uU(1,"Start Again"),p.qZA()}}function Ce(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",3)(1,"div",4)(2,"mat-card-header",5)(3,"div",6)(4,"span",7),p._uU(5),p.qZA()(),p.TgZ(6,"div",8)(7,"button",9),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw();return p.KtG(re.showInfo())}),p._uU(8,"?"),p.qZA(),p.TgZ(9,"button",10),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw();return p.KtG(re.onClose())}),p._uU(10,"X"),p.qZA()()(),p.TgZ(11,"mat-card-content",11)(12,"div",12),p.YNc(13,_t,11,4,"div",13),p.TgZ(14,"mat-vertical-stepper",14,15),p.NdJ("selectionChange",function(re){p.CHM(Be);const Te=p.oxw();return p.KtG(Te.stepSelectionChanged(re))}),p.TgZ(16,"mat-step",16)(17,"form",17),p.YNc(18,it,1,1,"ng-template",18),p.TgZ(19,"div",19),p._UZ(20,"rtl-loop-quote",20)(21,"rtl-loop-quote",20),p.qZA(),p.TgZ(22,"div",21)(23,"mat-form-field",22),p._UZ(24,"input",23),p.TgZ(25,"mat-hint"),p._uU(26),p.ALo(27,"number"),p.ALo(28,"number"),p.qZA(),p.TgZ(29,"span",24),p._uU(30,"Sats"),p.qZA(),p.YNc(31,Ct,2,0,"mat-error",25),p.YNc(32,un,3,3,"mat-error",25),p.YNc(33,Bt,3,3,"mat-error",25),p.qZA(),p.TgZ(34,"mat-form-field",22),p._UZ(35,"input",26),p.YNc(36,Ut,2,0,"mat-error",25),p.YNc(37,yn,2,0,"mat-error",25),p.qZA(),p.YNc(38,In,4,3,"mat-form-field",27),p.qZA(),p.YNc(39,rn,5,0,"div",28),p.TgZ(40,"div",29)(41,"button",30),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw();return p.KtG(re.onEstimateQuote())}),p._uU(42,"Estimate Quote"),p.qZA()()()(),p.TgZ(43,"mat-step",16)(44,"form",17),p.YNc(45,tn,1,1,"ng-template",18),p._UZ(46,"rtl-loop-quote",31),p.YNc(47,pn,4,0,"p",32),p.TgZ(48,"div",29),p.YNc(49,tt,2,0,"button",33),p.YNc(50,vt,2,1,"button",34),p.qZA()()(),p.YNc(51,J,15,6,"mat-step",35),p.TgZ(52,"mat-step",36)(53,"form",17),p.YNc(54,oe,1,1,"ng-template",18),p.TgZ(55,"div",37)(56,"mat-expansion-panel",38)(57,"mat-expansion-panel-header")(58,"mat-panel-title")(59,"span",39),p._uU(60),p.YNc(61,De,2,1,"mat-icon",40),p.qZA()()(),p.YNc(62,Ye,1,0,"div",41),p.qZA(),p.YNc(63,Dt,1,0,"mat-progress-bar",42),p.qZA(),p.YNc(64,ut,2,1,"h4",43),p.TgZ(65,"div",29),p.YNc(66,ze,2,0,"button",44),p.YNc(67,Me,2,0,"button",45),p.qZA()()()(),p.TgZ(68,"div",46)(69,"button",47),p._uU(70,"Close"),p.qZA()()()()()()}if(2&Mt){const Be=p.oxw(),ft=p.MAs(2);p.Q6J("@opacityAnimation",void 0),p.xp6(3),p.Q6J("fxFlex",Be.screenSize===Be.screenSizeEnum.XS||Be.screenSize===Be.screenSizeEnum.SM?"83":"91"),p.xp6(2),p.Oqu(Be.channel?"Channel "+Be.loopDirectionCaption:Be.loopDirectionCaption),p.xp6(1),p.Q6J("fxFlex",Be.screenSize===Be.screenSizeEnum.XS||Be.screenSize===Be.screenSizeEnum.SM?"17":"9"),p.xp6(7),p.Q6J("ngIf",Be.channel),p.xp6(1),p.Q6J("linear",!0),p.xp6(2),p.Q6J("stepControl",Be.inputFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.inputFormGroup),p.xp6(3),p.Q6J("quote",Be.minQuote)("termCaption","min")("panelExpanded",!1)("showPanel",!0),p.xp6(1),p.Q6J("quote",Be.maxQuote)("termCaption","max")("panelExpanded",!1)("showPanel",!0),p.xp6(2),p.Q6J("fxFlex",Be.direction===Be.LoopTypeEnum.LOOP_OUT?"35":"48"),p.xp6(1),p.Q6J("step",1e3),p.xp6(2),p.AsE("Range: ",p.lcZ(27,51,Be.minQuote.amount),"-",p.lcZ(28,53,Be.maxQuote.amount),""),p.xp6(5),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.min),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.max),p.xp6(1),p.Q6J("fxFlex",Be.direction===Be.LoopTypeEnum.LOOP_OUT?"30":"48"),p.xp6(1),p.Q6J("step",1),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.sweepConfTarget.errors?null:Be.inputFormGroup.controls.sweepConfTarget.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.sweepConfTarget.errors?null:Be.inputFormGroup.controls.sweepConfTarget.errors.min),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(4),p.Q6J("stepControl",Be.quoteFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.quoteFormGroup),p.xp6(2),p.Q6J("quote",Be.quote)("showPanel",!1),p.xp6(1),p.Q6J("ngIf",Be.inputFormGroup.controls.amount.value>Be.localBalanceToCompare),p.xp6(2),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_IN),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("stepControl",Be.statusFormGroup),p.xp6(1),p.Q6J("formGroup",Be.statusFormGroup),p.xp6(3),p.Q6J("expanded",!!Be.loopStatus),p.xp6(4),p.Oqu(Be.loopStatus?Be.loopStatus.id_bytes?Be.loopDirectionCaption+" request details":Be.loopDirectionCaption+" error details":"Waiting for "+Be.loopDirectionCaption+" request..."),p.xp6(1),p.Q6J("ngIf",Be.loopStatus),p.xp6(1),p.Q6J("ngIf",!Be.loopStatus)("ngIfElse",ft),p.xp6(1),p.Q6J("ngIf",!Be.loopStatus),p.xp6(1),p.Q6J("ngIf",Be.loopStatus),p.xp6(2),p.Q6J("ngIf",Be.loopStatus&&Be.loopStatus.id_bytes&&Be.channel),p.xp6(1),p.Q6J("ngIf",Be.loopStatus&&(Be.loopStatus.error||!Be.loopStatus.id_bytes)),p.xp6(2),p.Q6J("mat-dialog-close",!1)}}function Je(Mt,Ge){if(1&Mt&&p._UZ(0,"rtl-loop-status",71),2&Mt){const Be=p.oxw();p.Q6J("loopStatus",Be.loopStatus)}}function zt(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"rtl-loop-out-info-graphics",88),p.NdJ("stepNumberChange",function(re){p.CHM(Be);const Te=p.oxw(2);return p.KtG(Te.stepNumber=re)}),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.Q6J("animationDirection",Be.animationDirection)("stepNumber",Be.stepNumber)}}function At(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"rtl-loop-in-info-graphics",88),p.NdJ("stepNumberChange",function(re){p.CHM(Be);const Te=p.oxw(2);return p.KtG(Te.stepNumber=re)}),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.Q6J("animationDirection",Be.animationDirection)("stepNumber",Be.stepNumber)}}const Tt=function(Mt,Ge){return{"dot-primary":Mt,"dot-primary-lighter":Ge}};function Ht(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"span",89),p.NdJ("click",function(){const Te=p.CHM(Be).$implicit,pt=p.oxw(2);return p.KtG(pt.onStepChanged(Te))}),p._UZ(1,"p",90),p.qZA()}if(2&Mt){const Be=Ge.$implicit,ft=p.oxw(2);p.xp6(1),p.Q6J("ngClass",p.WLB(1,Tt,ft.stepNumber===Be,ft.stepNumber!==Be))}}function He(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",91),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onReadMore())}),p._uU(1,"Read More"),p.qZA()}}function $e(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",92),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onStepChanged(4))}),p._uU(1,"Back"),p.qZA()}}function $t(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",93),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return re.flgShowInfo=!1,p.KtG(re.stepNumber=1)}),p._uU(1,"Close"),p.qZA()}}function Rt(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",94),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return re.flgShowInfo=!1,p.KtG(re.stepNumber=1)}),p._uU(1,"Close"),p.qZA()}}function Jt(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",95),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onStepChanged(re.stepNumber-1))}),p._uU(1,"Back"),p.qZA()}}function Vn(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",96),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw(2);return p.KtG(re.onStepChanged(re.stepNumber+1))}),p._uU(1,"Next"),p.qZA()}}const zn=function(){return[1,2,3,4,5]};function Tn(Mt,Ge){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",72)(1,"div",19)(2,"mat-card-header",73)(3,"div",74),p._UZ(4,"span",7),p.qZA(),p.TgZ(5,"div",75)(6,"button",76),p.NdJ("click",function(){p.CHM(Be);const re=p.oxw();return re.flgShowInfo=!1,p.KtG(re.stepNumber=1)}),p._uU(7,"X"),p.qZA()()(),p.TgZ(8,"mat-card-content",77),p.YNc(9,zt,1,2,"rtl-loop-out-info-graphics",78),p.YNc(10,At,1,2,"rtl-loop-in-info-graphics",78),p.qZA(),p.TgZ(11,"div",79),p.YNc(12,Ht,2,4,"span",80),p.qZA(),p.TgZ(13,"div",81),p.YNc(14,He,2,0,"button",82),p.YNc(15,$e,2,0,"button",83),p.YNc(16,$t,2,0,"button",84),p.YNc(17,Rt,2,0,"button",85),p.YNc(18,Jt,2,0,"button",86),p.YNc(19,Vn,2,0,"button",87),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@opacityAnimation",void 0),p.xp6(9),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_IN),p.xp6(2),p.Q6J("ngForOf",p.DdM(10,zn)),p.xp6(2),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",Be.stepNumber<5),p.xp6(1),p.Q6J("ngIf",Be.stepNumber>1&&Be.stepNumber<5),p.xp6(1),p.Q6J("ngIf",Be.stepNumber<5)}}class Yn{constructor(Ge,Be,ft,re,Te,pt,Lt,nn,Bn){this.dialogRef=Ge,this.data=Be,this.store=ft,this.loopService=re,this.formBuilder=Te,this.decimalPipe=pt,this.logger=Lt,this.router=nn,this.commonService=Bn,this.faInfoCircle=s.sqG,this.LoopTypeEnum=u.$I,this.direction=u.$I.LOOP_OUT,this.loopDirectionCaption="Loop out",this.loopStatus=null,this.inputFormLabel="Amount to loop out",this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address",this.prepayRoutingFee=36,this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=u.cu,this.animationDirection="forward",this.flgEditable=!0,this.localBalanceToCompare=null,this.unSubs=[new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.channel=this.data.channel,this.minQuote=this.data.minQuote?this.data.minQuote:{},this.maxQuote=this.data.maxQuote?this.data.maxQuote:{},this.direction=this.data.direction||u.$I.LOOP_OUT,this.loopDirectionCaption=this.direction===u.$I.LOOP_IN?"Loop in":"Loop out",this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.minQuote.amount,[e.kI.required,e.kI.min(this.minQuote.amount||0),e.kI.max(this.maxQuote.amount||0)]],sweepConfTarget:[6,[e.kI.required,e.kI.min(1)]],routingFeePercent:[2,[e.kI.required,e.kI.min(0)]],fast:[!1,[e.kI.required]]}),this.inputFormGroup.setErrors({Invalid:!0}),this.quoteFormGroup=this.formBuilder.group({}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[e.kI.required]],address:[{value:"",disabled:!0}]}),this.direction===u.$I.LOOP_OUT&&this.addressFormGroup.setErrors({Invalid:!0}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges(),this.store.select(k.ZW).pipe((0,_.R)(this.unSubs[6])).subscribe(Ge=>{this.localBalanceToCompare=this.channel&&this.channel.local_balance?+this.channel.local_balance:Ge.lightningBalance&&Ge.lightningBalance.local?+Ge.lightningBalance.local:null})}onFormValueChanges(){this.inputFormGroup.valueChanges.pipe((0,_.R)(this.unSubs[4])).subscribe(Ge=>{this.inputFormGroup.setErrors({Invalid:!0})}),this.direction===u.$I.LOOP_OUT&&this.addressFormGroup.valueChanges.pipe((0,_.R)(this.unSubs[5])).subscribe(Ge=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(Ge){"external"===Ge.value?(this.addressFormGroup.controls.address.setValidators([e.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onValidateAmount(){this.localBalanceToCompare&&this.inputFormGroup.controls.amount.value<=this.localBalanceToCompare&&this.stepper.next()}onLoop(){if(!this.inputFormGroup.controls.amount.value||this.minQuote.amount&&this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2||this.direction===u.$I.LOOP_OUT&&(!this.inputFormGroup.controls.routingFeePercent.value||this.inputFormGroup.controls.routingFeePercent.value<0)||this.direction===u.$I.LOOP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected?.stepControl.setErrors(null),this.stepper.next(),this.direction===u.$I.LOOP_IN)this.loopService.loopIn(this.inputFormGroup.controls.amount.value,+(this.quote.swap_fee_sat||0),+(this.quote.htlc_publish_fee_sat||0),"",!0).pipe((0,_.R)(this.unSubs[0])).subscribe({next:Ge=>{this.loopStatus=Ge,this.loopService.listSwaps(),this.flgEditable=!0},error:Ge=>{this.loopStatus={error:Ge},this.flgEditable=!0,this.logger.error(Ge)}});else{const Ge=Math.ceil(this.inputFormGroup.controls.amount.value*(this.inputFormGroup.controls.routingFeePercent.value/100)),Be="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"",ft=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.loopService.loopOut(this.inputFormGroup.controls.amount.value,this.channel&&this.channel.chan_id?this.channel.chan_id:"",this.inputFormGroup.controls.sweepConfTarget.value,Ge,+(this.quote.htlc_sweep_fee_sat||0),this.prepayRoutingFee,+(this.quote.prepay_amt_sat||0),+(this.quote.swap_fee_sat||0),ft,Be).pipe((0,_.R)(this.unSubs[1])).subscribe({next:re=>{this.loopStatus=re,this.loopService.listSwaps(),this.flgEditable=!0},error:re=>{this.loopStatus={error:re},this.flgEditable=!0,this.logger.error(re)}})}}onEstimateQuote(){if(!this.inputFormGroup.controls.amount.value||this.minQuote.amount&&this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2)return!0;const Ge=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.direction===u.$I.LOOP_IN?this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,Ge).pipe((0,_.R)(this.unSubs[2])).subscribe(Be=>{this.quote=Be,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}):this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,Ge).pipe((0,_.R)(this.unSubs[3])).subscribe(Be=>{this.quote=Be,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}),this.stepper.selected?.stepControl.setErrors(null),this.stepper.next()}stepSelectionChanged(Ge){switch(Ge.selectedIndex){case 0:default:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===u.$I.LOOP_IN?this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Percentage: "+(this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:"2")+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 2:this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===u.$I.LOOP_IN?this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quote&&this.quote.swap_fee_sat&&(this.quote.htlc_sweep_fee_sat||this.quote.htlc_publish_fee_sat)&&this.quote.prepay_amt_sat?this.quoteFormLabel="Quote confirmed | Estimated Fees: "+this.decimalPipe.transform(+this.quote.swap_fee_sat+ +(this.quote.htlc_sweep_fee_sat?this.quote.htlc_sweep_fee_sat:this.quote.htlc_publish_fee_sat?this.quote.htlc_publish_fee_sat:0))+" Sats":this.quoteFormLabel="Quote confirmed",this.addressFormGroup.controls.addressType.value?this.addressFormLabel="Withdrawal Address | Type: "+this.addressFormGroup.controls.addressType.value:this.addressFormLabel="Withdrawal Address"}(this.direction===u.$I.LOOP_OUT&&1!==Ge.selectedIndex&&Ge.selectedIndex{Ge.next(null),Ge.complete()})}static#e=this.\u0275fac=function(Be){return new(Be||Yn)(p.Y36(E.so),p.Y36(E.WI),p.Y36(S.yh),p.Y36(A.W),p.Y36(e.QS),p.Y36(P.JJ),p.Y36(M.mQ),p.Y36(z.F0),p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Yn,selectors:[["rtl-loop-modal"]],viewQuery:function(Be,ft){if(1&Be&&p.Gf(le,5),2&Be){let re;p.iGM(re=p.CRH())&&(ft.stepper=re.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["loopStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["class","padding-gap-large","fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngIf"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"quote","termCaption","panelExpanded","showPanel"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],[3,"fxFlex"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["matInput","","placeholder","Sweep Confirmation Target","type","number","tabindex","2","formControlName","sweepConfTarget","required","",3,"step"],["fxFlex","30",4,"ngIf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","class","mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","5","type","button",3,"click"],[3,"quote","showPanel"],["fxFlex","100","class","color-warn mt-2","fxLayoutAlign","start center",4,"ngIf"],["mat-button","","color","primary","tabindex","6","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","7","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-button","","color","primary","tabindex","12","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],["matInput","","placeholder","Max Off-chain Routing Fee (%)","type","number","tabindex","3","formControlName","routingFeePercent","required","",3,"step"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center",1,"mt-1"],["tabindex","4","color","primary","formControlName","fast","fxFlex","none"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","matTooltipPosition","above","fxFlex","none",1,"info-icon"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn","mt-2"],[1,"mr-1","icon-small"],["mat-button","","color","primary","tabindex","6","type","button",3,"click"],["mat-button","","color","primary","tabindex","7","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-button","","color","primary","tabindex","12","type","button",3,"click"],["mat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"loopStatus"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(Be,ft){1&Be&&(p.YNc(0,Ce,71,55,"div",0),p.YNc(1,Je,1,1,"ng-template",null,1,p.W1O),p.YNc(3,Tn,20,11,"div",2)),2&Be&&(p.Q6J("ngIf",!ft.flgShowInfo),p.xp6(3),p.Q6J("ngIf",ft.flgShowInfo))},dependencies:[P.mk,P.sg,P.O5,e._Y,e.Fj,e.wV,e.JJ,e.JL,e.Q7,e.sg,e.u,W.xw,W.Wh,W.yH,Z.oO,E.ZT,Q.lW,ie.dk,ie.dn,ae.ib,ae.yz,ae.yK,_e.Hw,ce.TO,ce.KE,ce.bx,ce.R9,ye.Nt,ue.pW,$.VQ,$.U0,he.Rr,w.gM,n.C0,n.VY,n.Vq,o.h,F,Ke,Le,Re,P.JJ,P.rS],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[D._]}})}},9442:(Ue,q,m)=>{"use strict";m.d(q,{w:()=>k});var e=m(9306),t=m(2560),_=m(3547),E=m(3505),s=m(6722),D=m(4522),u=m(2156);class k{constructor(S){this.router=S,this.faTimes=e.NBC}goToHelp(){this.router.navigate(["/help"])}static#e=this.\u0275fac=function(A){return new(A||k)(t.Y36(_.F0))};static#t=this.\u0275cmp=t.Xpm({type:k,selectors:[["rtl-not-found"]],decls:13,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column",1,"padding-gap-large"],["fxLayout","column","fxLayoutAlign","start start"],[1,"box-text"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(A,P){1&A&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Page Not Found"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"div",5)(8,"div",6),t._uU(9,"This page does not exist!"),t.qZA(),t.TgZ(10,"span",7)(11,"button",8),t.NdJ("click",function(){return P.goToHelp()}),t._uU(12,"Go To Help"),t.qZA()()()()()()),2&A&&(t.xp6(1),t.Q6J("icon",P.faTimes))},dependencies:[E.BN,s.xw,s.Wh,s.yH,D.lW,u.a8,u.dn],encapsulation:2})}},3390:(Ue,q,m)=>{"use strict";m.d(q,{h:()=>t});var e=m(2560);class t{constructor(E){this.el=E}ngAfterContentInit(){setTimeout(()=>{this.el.nativeElement.focus()},500)}static#e=this.\u0275fac=function(s){return new(s||t)(e.Y36(e.SBq))};static#t=this.\u0275dir=e.lG2({type:t,selectors:[["","autoFocus",""]],inputs:{appAutoFocus:"appAutoFocus"}})}},6895:(Ue,q,m)=>{"use strict";m.d(q,{y:()=>t});var e=m(2560);class t{constructor(){this.copied=new e.vpe}onClick(E){E.preventDefault(),this.payload&&navigator.clipboard&&navigator.clipboard.writeText(this.payload.toString()).then(()=>{this.copied.emit(this.payload.toString())},s=>{this.copied.emit("Error could not copy text: "+JSON.stringify(s))})}static#e=this.\u0275fac=function(s){return new(s||t)};static#t=this.\u0275dir=e.lG2({type:t,selectors:[["","rtlClipboard",""]],hostBindings:function(s,D){1&s&&e.NdJ("click",function(k){return D.onClick(k)})},inputs:{payload:"payload"},outputs:{copied:"copied"}})}},9843:(Ue,q,m)=>{"use strict";m.d(q,{F:()=>_});var e=m(2508),t=m(2560);class _{validate(s){return this.max?e.kI.max(+this.max)(s):null}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275dir=t.lG2({type:_,selectors:[["input","max",""]],inputs:{max:"max"},features:[t._Bn([{provide:e.Cf,useExisting:_,multi:!0}])]})}},6534:(Ue,q,m)=>{"use strict";m.d(q,{q:()=>_});var e=m(2508),t=m(2560);class _{validate(s){return this.min?e.kI.min(+this.min)(s):null}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275dir=t.lG2({type:_,selectors:[["input","min",""]],inputs:{min:"min"},features:[t._Bn([{provide:e.Cf,useExisting:_,multi:!0}])]})}},9445:(Ue,q,m)=>{"use strict";m.d(q,{D3:()=>s,al:()=>t,h9:()=>_,i1:()=>E});var e=m(2560);class t{transform(u,k){return u?.replace(/^[0]+/g,"")}static#e=this.\u0275fac=function(k){return new(k||t)};static#t=this.\u0275pipe=e.Yjl({name:"removeleadingzeros",type:t,pure:!0})}class _{transform(u,k){return u?.replace(/(?:^\w|[A-Z]|\b\w)/g,(p,S)=>p.toUpperCase())?.replace(/\s+/g,"")?.replace(/-/g," ")}static#e=this.\u0275fac=function(k){return new(k||_)};static#t=this.\u0275pipe=e.Yjl({name:"camelcase",type:_,pure:!0})}class E{transform(u,k,p){return u.replace(/(?:^\w|[A-Z]|\b\w)/g,(S,A)=>" "+S.toUpperCase())}static#e=this.\u0275fac=function(k){return new(k||E)};static#t=this.\u0275pipe=e.Yjl({name:"camelCaseWithSpaces",type:E,pure:!0})}class s{transform(u,k,p){return u=u?.toLowerCase().replace(/\s+/g,"")?.replace(/-/g," "),k&&(u=u.replace(new RegExp(k,"g")," ")),p&&(u=u.replace(new RegExp(p,"g")," ")),u.replace(/(?:^\w|[A-Z]|\b\w)/g,(S,A)=>S.toUpperCase())}static#e=this.\u0275fac=function(k){return new(k||s)};static#t=this.\u0275pipe=e.Yjl({name:"camelcaseWithReplace",type:s,pure:!0})}},1643:(Ue,q,m)=>{"use strict";m.d(q,{QM:()=>D,a1:()=>s,eQ:()=>u,fY:()=>k});var e=m(635),t=m(2560),_=m(3547),E=m(5986);class s{constructor(S,A){this.router=S,this.sessionService=A}canActivate(S){return!!this.sessionService.getItem("token")&&("settings"===S.url[0].path||"auth"===S.url[0].path||"true"!==this.sessionService.getItem("defaultPassword")||(this.router.navigate(["/settings/auth"]),!1))}static#e=this.\u0275fac=function(A){return new(A||s)(t.LFG(_.F0),t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:s,factory:s.\u0275fac})}class D{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.lndUnlocked))}static#e=this.\u0275fac=function(A){return new(A||D)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac})}class u{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.clUnlocked))}static#e=this.\u0275fac=function(A){return new(A||u)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac})}class k{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.eclUnlocked))}static#e=this.\u0275fac=function(A){return new(A||k)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:k,factory:k.\u0275fac})}},62:(Ue,q,m)=>{"use strict";m.d(q,{v:()=>A});var e=m(6317),t=m(745),_=m(5474),E=m(9295),s=m(635),D=m(3158),u=m(7731),k=m(2560),p=m(8104),S=m(5043);class A{constructor(M,z){this.dataService=M,this.logger=z,this.currencyUnits=[],this.CurrencyUnitEnum=u.NT,this.conversionData={data:null,last_fetched:null},this.ratesAPIStatus=u.Bn.UN_INITIATED,this.screenSize=u.cu.MD,this.containerSize={width:0,height:0},this.containerSizeUpdated=new e.X(this.containerSize)}getScreenSize(){return this.screenSize}setScreenSize(M){this.screenSize=M}getContainerSize(){return this.containerSize}setContainerSize(M,z){this.containerSize={width:M,height:z},this.logger.info("Container Size: "+JSON.stringify(this.containerSize)),this.containerSizeUpdated.next(this.containerSize)}sortByKey(M,z,I,W="asc"){return"number"===I?"desc"===W?M.sort((Z,Q)=>+Z[z]>+Q[z]?-1:1):M.sort((Z,Q)=>+Z[z]>+Q[z]?1:-1):"desc"===W?M.sort((Z,Q)=>Z[z]>Q[z]?-1:1):M.sort((Z,Q)=>Z[z]>Q[z]?1:-1)}sortDescByKey(M,z){return M.sort((I,W)=>{const Z=+I[z],Q=+W[z];return Z>Q?-1:Z{const Z=+I[z],Q=+W[z];return ZQ?1:0})}camelCase(M){return M?.replace(/(?:^\w|[A-Z]|\b\w)/g,(z,I)=>z.toUpperCase())?.replace(/\s+/g,"")?.replace(/-/g," ")}titleCase(M,z,I){return z&&I&&""!==z&&""!==I&&(M=M?.replace(new RegExp(z,"g"),I)),M.indexOf("!\n")>0||M.indexOf(".\n")>0?M.split("\n")?.reduce((W,Z)=>W+Z.charAt(0).toUpperCase()+Z.substring(1).toLowerCase()+"\n",""):M.indexOf(" ")>0?M.split(" ")?.reduce((W,Z)=>W+Z.charAt(0).toUpperCase()+Z.substring(1).toLowerCase()+" ",""):M.charAt(0).toUpperCase()+M.substring(1).toLowerCase()}convertCurrency(M,z,I,W,Z){const Q=(new Date).valueOf();return Z&&W&&this.ratesAPIStatus!==u.Bn.INITIATED&&(z===u.NT.OTHER||I===u.NT.OTHER)?this.conversionData.data&&this.conversionData.last_fetched&&Q(this.ratesAPIStatus=u.Bn.COMPLETED,this.conversionData.data=ie&&"object"==typeof ie?ie:ie&&"string"==typeof ie?JSON.parse(ie):{},this.conversionData.last_fetched=Q,this.convertWithFiat(M,z,W))),(0,D.K)(ie=>(this.ratesAPIStatus=u.Bn.ERROR,(0,_._)(()=>this.extractErrorMessage(ie,"Currency Conversion Error.")))))):(0,t.of)(this.convertWithoutFiat(M,z))}convertWithoutFiat(M,z){const I={};switch(I[u.NT.SATS]=0,I[u.NT.BTC]=0,z){case u.NT.SATS:I[u.NT.SATS]=M,I[u.NT.BTC]=1e-8*M;break;case u.NT.BTC:I[u.NT.SATS]=1e8*M,I[u.NT.BTC]=M}return I}convertWithFiat(M,z,I){const W={unit:I,symbol:this.conversionData.data[I].symbol};switch(W[u.NT.SATS]=0,W[u.NT.BTC]=0,W[u.NT.OTHER]=0,z){case u.NT.SATS:W[u.NT.SATS]=M,W[u.NT.BTC]=1e-8*M,W[u.NT.OTHER]=1e-8*M*this.conversionData.data[I].last;break;case u.NT.BTC:W[u.NT.SATS]=1e8*M,W[u.NT.BTC]=M,W[u.NT.OTHER]=M*this.conversionData.data[I].last;break;case u.NT.OTHER:W[u.NT.SATS]=M/this.conversionData.data[I].last*1e8,W[u.NT.BTC]=M/this.conversionData.data[I].last,W[u.NT.OTHER]=M}return W}convertTime(M,z,I){switch(z){case u.Qk.SECS:switch(I){case u.Qk.MINS:M/=60;break;case u.Qk.HOURS:M/=3600;break;case u.Qk.DAYS:M/=86400}break;case u.Qk.MINS:switch(I){case u.Qk.SECS:M*=60;break;case u.Qk.HOURS:M/=60;break;case u.Qk.DAYS:M/=1440}break;case u.Qk.HOURS:switch(I){case u.Qk.SECS:M*=3600;break;case u.Qk.MINS:M*=60;break;case u.Qk.DAYS:M/=24}break;case u.Qk.DAYS:switch(I){case u.Qk.SECS:M=3600*M*24;break;case u.Qk.MINS:M=60*M*24;break;case u.Qk.HOURS:M*=24}}return M}downloadFile(M,z,I=".json",W=".csv"){let Z=new Blob;Z=".json"===I?new Blob(["\ufeff"+this.convertToCSV(M)],{type:"text/csv;charset=utf-8;"}):new Blob([M.toString()],{type:"text/plain;charset=utf-8"});const Q=document.createElement("a"),ie=URL.createObjectURL(Z);-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&Q.setAttribute("target","_blank"),Q.setAttribute("href",ie),Q.setAttribute("download",z+W),Q.style.visibility="hidden",document.body.appendChild(Q),Q.click(),document.body.removeChild(Q)}convertToCSV(M){const z=[];let I="",W="",Z="";return"object"!=typeof M&&(M=JSON.parse(M)),M.forEach((ie,ae)=>{for(const _e in ie)z.findIndex(ce=>ce===_e)<0&&z.push(_e)}),Z=z.join(",")+"\r\n",M.forEach(ie=>{I="",z.forEach(ae=>{ie.hasOwnProperty(ae)?Array.isArray(ie[ae])?(W="",ie[ae].forEach((_e,ce)=>{W+="object"==typeof _e?"("+JSON.stringify(_e)?.replace(/\,/g,";")+")":"("+_e+")"}),I+=W+","):"object"==typeof ie[ae]?I+=JSON.stringify(ie[ae])?.replace(/\,/g,";")+",":I+=ie[ae]+",":I+=","}),Z+=I.slice(0,-1)+"\r\n"}),Z}isVersionCompatible(M,z){if(M){const I=M.trim()?.replace("v","").split("-")[0].split(".")||[],W=z.split(".");return+I[0]>+W[0]||+I[0]==+W[0]&&+I[1]>+W[1]||+I[0]==+W[0]&&+I[1]==+W[1]&&+I[2]>=+W[2]}return!1}extractErrorMessage(M,z="Unknown Error."){const I=this.titleCase(M.error&&M.error.text&&"string"==typeof M.error.text&&M.error.text.includes('')?"API Route Does Not Exist.":M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&M.error.error.error.error.error&&"string"==typeof M.error.error.error.error.error?M.error.error.error.error.error:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&"string"==typeof M.error.error.error.error?M.error.error.error.error:M.error&&M.error.error&&M.error.error.error&&"string"==typeof M.error.error.error?M.error.error.error:M.error&&M.error.error&&"string"==typeof M.error.error?M.error.error:M.error&&"string"==typeof M.error?M.error:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&M.error.error.error.error.message&&"string"==typeof M.error.error.error.error.message?M.error.error.error.error.message:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.message&&"string"==typeof M.error.error.error.message?M.error.error.error.message:M.error&&M.error.error&&M.error.error.message&&"string"==typeof M.error.error.message?M.error.error.message:M.error&&M.error.message&&"string"==typeof M.error.message?M.error.message:M.message&&"string"==typeof M.message?M.message:z);return this.logger.info("Error Message: "+I),I}extractErrorCode(M,z=500){const I=M.error&&M.error.error&&M.error.error.message&&M.error.error.message.code?M.error.error.message.code:M.error&&M.error.error&&M.error.error.code?M.error.error.code:M.error&&M.error.code?M.error.code:M.code?M.code:M.status?M.status:z;return this.logger.info("Error Code: "+I),I}extractErrorNumber(M,z=500){const I=M.error&&M.error.error&&M.error.error.errno?M.error.error.errno:M.error&&M.error.errno?M.error.errno:M.errno?M.errno:M.status?M.status:z;return this.logger.info("Error Number: "+I),I}ngOnDestroy(){this.containerSizeUpdated.next(null),this.containerSizeUpdated.complete()}static#e=this.\u0275fac=function(z){return new(z||A)(k.LFG(p.D),k.LFG(S.mQ))};static#t=this.\u0275prov=k.Yz7({token:A,factory:A.\u0275fac})}},7731:(Ue,q,m)=>{"use strict";m.d(q,{$I:()=>o,$v:()=>z,AB:()=>ke,At:()=>ee,Bn:()=>a,Df:()=>je,Dr:()=>S,Er:()=>s,Fq:()=>n,Gi:()=>ce,HW:()=>ue,H_:()=>Ve,IV:()=>u,IX:()=>N,JX:()=>B,LO:()=>D,NT:()=>_e,OJ:()=>ie,OO:()=>Ie,Pi:()=>Ae,Qk:()=>ae,Qw:()=>d,TJ:()=>k,Vc:()=>A,Xk:()=>Re,Xr:()=>F,Xz:()=>E,Zs:()=>w,_t:()=>p,c3:()=>Oe,cu:()=>ye,g8:()=>W,gB:()=>Ze,gG:()=>pe,gK:()=>H,gg:()=>y,hG:()=>j,hZ:()=>xe,hc:()=>h,kO:()=>v,lr:()=>Ke,m6:()=>C,nM:()=>I,n_:()=>Q,ol:()=>Z,op:()=>L,p7:()=>he,pg:()=>X,pt:()=>t,uA:()=>_,uR:()=>Fe,vn:()=>P,wZ:()=>M,x$:()=>$,zZ:()=>te});var e=m(6060);function t(le){const _t=new e.ye;return _t.itemsPerPageLabel=le+" per page:",_t}const _=["Sats","BTC"],E={Sats:"1.0-0",BTC:"1.6-6",OTHER:"1.2-2"},s=[{id:"USD",name:"USD"},{id:"AUD",name:"AUD"},{id:"BRL",name:"BRL"},{id:"CAD",name:"CAD"},{id:"CHF",name:"CHF"},{id:"CLP",name:"CLP"},{id:"CNY",name:"CNY"},{id:"DKK",name:"DKK"},{id:"EUR",name:"EUR"},{id:"GBP",name:"GBP"},{id:"HKD",name:"HKD"},{id:"INR",name:"INR"},{id:"ISK",name:"ISK"},{id:"JPY",name:"JPY"},{id:"KRW",name:"KRW"},{id:"NZD",name:"NZD"},{id:"PLN",name:"PLN"},{id:"RUB",name:"RUB"},{id:"SEK",name:"SEK"},{id:"SGD",name:"SGD"},{id:"THB",name:"THB"},{id:"TWD",name:"TWD"}],D=["SECS","MINS","HOURS","DAYS"],u=10,k=[5,10,25,100],p=[{addressId:"0",addressCode:"bech32",addressTp:"Bech32 (P2WKH)",addressDetails:"Pay to witness key hash"},{addressId:"1",addressCode:"p2sh-segwit",addressTp:"P2SH (NP2WKH)",addressDetails:"Pay to nested witness key hash (default)"},{addressId:"4",addressCode:"p2tr",addressTp:"Taproot (P2TR)",addressDetails:"Pay to taproot pubkey"}],S=[{id:"0",name:"Priority (Default)"},{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],A=[{id:"none",name:"No Fee Limit",placeholder:"No Limit"},{id:"fixed",name:"Fixed Limit (Sats)",placeholder:"Fixed Limit in Sats"},{id:"percent",name:"Percentage of Payment Amount",placeholder:"Percentage Limit"}],P=[{feeRateId:"urgent",feeRateType:"Urgent"},{feeRateId:"normal",feeRateType:"Normal"},{feeRateId:"slow",feeRateType:"Slow"},{feeRateId:"customperkb",feeRateType:"Custom (Sats/vByte)"}],M={themes:[{id:"PURPLE",name:"Diogo"},{id:"TEAL",name:"My2Sats"},{id:"INDIGO",name:"RTL"},{id:"PINK",name:"BK"},{id:"YELLOW",name:"Gold"}],modes:[{id:"DAY",name:"Day"},{id:"NIGHT",name:"Night"}]};var z,le,I,W,Z,Q,ie,ae,_e,ce,ye;(le=z||(z={})).PAYMENT_RECEIVED="payment-received",le.PAYMENT_RELAYED="payment-relayed",le.PAYMENT_SENT="payment-sent",le.PAYMENT_SETTLING_ONCHAIN="payment-settling-onchain",le.PAYMENT_FAILED="payment-failed",le.CHANNEL_OPENED="channel-opened",le.CHANNEL_STATE_CHANGED="channel-state-changed",le.CHANNEL_CLOSED="channel-closed",function(le){le.INVOICE="invoice",le.BLOCK_HEIGHT="block-height",le.SEND_PAYMENT="send-payment"}(I||(I={})),function(le){le.INVOICE="invoice"}(W||(W={})),function(le){le.OPERATOR="OPERATOR",le.MERCHANT="MERCHANT",le.ALL="ALL"}(Z||(Z={})),function(le){le.INFORMATION="Information",le.WARNING="Warning",le.ERROR="Error",le.SUCCESS="Success",le.CONFIRM="Confirm"}(Q||(Q={})),function(le){le.JWT="JWT",le.PASSWORD="PASSWORD"}(ie||(ie={})),function(le){le.SECS="SECS",le.MINS="MINS",le.HOURS="HOURS",le.DAYS="DAYS"}(ae||(ae={})),function(le){le.SATS="Sats",le.BTC="BTC",le.OTHER="OTHER"}(_e||(_e={})),function(le){le.ARRAY="ARRAY",le.NUMBER="NUMBER",le.STRING="STRING",le.BOOLEAN="BOOLEAN",le.PASSWORD="PASSWORD",le.DATE="DATE",le.DATE_TIME="DATE_TIME"}(ce||(ce={})),function(le){le.XS="XS",le.SM="SM",le.MD="MD",le.LG="LG",le.XL="XL"}(ye||(ye={}));const ue={COOPERATIVE_CLOSE:{name:"Co-operative Close",tooltip:"Channel closed cooperatively"},LOCAL_FORCE_CLOSE:{name:"Local Force Close",tooltip:"Channel force-closed by the local node"},REMOTE_FORCE_CLOSE:{name:"Remote Force Close",tooltip:"Channel force-closed by the remote node"},BREACH_CLOSE:{name:"Breach Close",tooltip:"Remote node attempted to broadcast a prior revoked channel state"},FUNDING_CANCELED:{name:"Funding Canceled",tooltip:"Channel never fully opened"},ABANDONED:{name:"Abandoned",tooltip:"Channel abandoned by the local node"}},$={WITNESS_PUBKEY_HASH:{name:"Witness Pubkey Hash",tooltip:""},NESTED_PUBKEY_HASH:{name:"Nested Pubkey Hash",tooltip:""},UNUSED_WITNESS_PUBKEY_HASH:{name:"Unused Witness Pubkey Hash",tooltip:""},UNUSED_NESTED_PUBKEY_HASH:{name:"Unused Nested Pubkey Hash",tooltip:""},TAPROOT_PUBKEY:{name:"Taproot Pubkey Hash",tooltip:""}};var he,w,n,o,h,d;!function(le){le.WIRE_INVALID_ONION_VERSION="Invalid Onion Version",le.WIRE_INVALID_ONION_HMAC="Invalid Onion HMAC",le.WIRE_INVALID_ONION_KEY="Invalid Onion Key",le.WIRE_TEMPORARY_CHANNEL_FAILURE="Temporary Channel Failure",le.WIRE_PERMANENT_CHANNEL_FAILURE="Permanent Channel Failure",le.WIRE_REQUIRED_CHANNEL_FEATURE_MISSING="Missing Required Channel Feature",le.WIRE_UNKNOWN_NEXT_PEER="Unknown Next Peer",le.WIRE_AMOUNT_BELOW_MINIMUM="Amount Below Minimum",le.WIRE_FEE_INSUFFICIENT="Insufficient Fee",le.WIRE_INCORRECT_CLTV_EXPIRY="Incorrect CLTV Expiry",le.WIRE_EXPIRY_TOO_FAR="Expiry Too Far",le.WIRE_EXPIRY_TOO_SOON="Expiry Too Soon",le.WIRE_CHANNEL_DISABLED="Channel Disabled",le.WIRE_INVALID_ONION_PAYLOAD="Invalid Onion Payload",le.WIRE_INVALID_REALM="Invalid Realm",le.WIRE_PERMANENT_NODE_FAILURE="Permanent Node Failure",le.WIRE_TEMPORARY_NODE_FAILURE="Temporary Node Failure",le.WIRE_REQUIRED_NODE_FEATURE_MISSING="Missing Required Node Feature",le.WIRE_INVALID_ONION_BLINDING="Invalid Onion Binding",le.WIRE_INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS="Incorrect or Unknow Payment Details",le.WIRE_MPP_TIMEOUT="MPP Timeout",le.WIRE_FINAL_INCORRECT_CLTV_EXPIRY="Incorrect CLTV Expiry",le.WIRE_FINAL_INCORRECT_HTLC_AMOUNT="Incorrect HTLC Amount"}(he||(he={})),function(le){le.CHANNELD_NORMAL="Active",le.OPENINGD="Opening",le.CHANNELD_AWAITING_LOCKIN="Pending Open",le.CHANNELD_SHUTTING_DOWN="Shutting Down",le.CLOSINGD_SIGEXCHANGE="Closing: Sig Exchange",le.CLOSINGD_COMPLETE="Closed",le.AWAITING_UNILATERAL="Awaiting Unilateral Close",le.FUNDING_SPEND_SEEN="Funding Spend Seen",le.ONCHAIN="Onchain",le.DUALOPEND_OPEN_INIT="Dual Open Initialized",le.DUALOPEND_AWAITING_LOCKIN="Dual Pending Open"}(w||(w={})),function(le){le.INITIATED="Initiated",le.PREIMAGE_REVEALED="Preimage Revealed",le.HTLC_PUBLISHED="HTLC Published",le.SUCCESS="Successful",le.FAILED="Failed",le.INVOICE_SETTLED="Invoice Settled"}(n||(n={})),function(le){le.LOOP_OUT="LOOP_OUT",le.LOOP_IN="LOOP_IN"}(o||(o={})),function(le){le.SWAP_OUT="SWAP_OUT",le.SWAP_IN="SWAP_IN"}(h||(h={})),function(le){le["swap.created"]="Swap Created",le["swap.expired"]="Swap Expired",le["invoice.set"]="Invoice Set",le["invoice.paid"]="Invoice Paid",le["invoice.pending"]="Invoice Pending",le["invoice.settled"]="Invoice Settled",le["invoice.failedToPay"]="Invoice Failed To Pay",le["channel.created"]="Channel Created",le["transaction.failed"]="Transaction Failed",le["transaction.mempool"]="Transaction Mempool",le["transaction.claimed"]="Transaction Claimed",le["transaction.refunded"]="Transaction Refunded",le["transaction.confirmed"]="Transaction Confirmed",le["swap.refunded"]="Swap Refunded",le["swap.abandoned"]="Swap Abandoned"}(d||(d={}));const y=[{name:"Jan",days:31},{name:"Feb",days:28},{name:"Mar",days:31},{name:"Apr",days:30},{name:"May",days:31},{name:"Jun",days:30},{name:"Jul",days:31},{name:"Aug",days:31},{name:"Sep",days:30},{name:"Oct",days:31},{name:"Nov",days:30},{name:"Dec",days:31}],L=["MONTHLY","YEARLY"];var B;!function(le){le.LOOP="LOOP",le.BOLTZ="BOLTZ",le.OFFERS="OFFERS",le.PEERSWAP="PEERSWAP"}(B||(B={}));const v=["password","changeme","moneyprintergobrrr"];var a;!function(le){le.UN_INITIATED="UN_INITIATED",le.INITIATED="INITIATED",le.COMPLETED="COMPLETED",le.ERROR="ERROR"}(a||(a={}));const C={NO_SPINNER:"No Spinner...",GET_NODE_INFO:"Getting Node Information...",INITALIZE_NODE_DATA:"Initializing Node Data...",GENERATE_NEW_ADDRESS:"Getting New Address...",SEND_FUNDS:"Sending Funds...",UPDATE_CHAN_POLICY:"Updating Channel Policy...",GET_CHAN_POLICY:"Fetching Channel Policy...",GET_REMOTE_POLICY:"Fetching Remote Policy...",CLOSE_CHANNEL:"Closing Channel...",FORCE_CLOSE_CHANNEL:"Force Closing Channel...",OPEN_CHANNEL:"Opening Channel...",CONNECT_PEER:"Connecting Peer...",DISCONNECT_PEER:"Disconnecting Peer...",ADD_INVOICE:"Adding Invoice...",CREATE_INVOICE:"Creating Invoice...",DELETE_INVOICE:"Deleting Invoices...",DECODE_PAYMENT:"Decoding Payment...",DECODE_OFFER:"Decoding Offer...",DECODE_PAYMENTS:"Decoding Payments...",FETCH_INVOICE:"Fetching Invoice...",GET_SENT_PAYMENTS:"Getting Sent Payments...",SEND_PAYMENT:"Sending Payment...",SEND_KEYSEND:"Sending Keysend Payment...",SEARCHING_NODE:"Searching Node...",SEARCHING_CHANNEL:"Searching Channel...",SEARCHING_INVOICE:"Searching Invoice...",SEARCHING_PAYMENT:"Searching Payment...",BACKUP_CHANNEL:"Backup Channels...",VERIFY_CHANNEL:"Verify Channel...",DOWNLOAD_BACKUP_FILE:"Downloading Backup File...",RESTORE_CHANNEL:"Restoring Channels...",GET_TERMS_QUOTES:"Getting Terms and Quotes...",LABEL_UTXO:"Labelling UTXO...",GET_NODE_ADDRESS:"Getting Node Address...",GEN_SEED:"Generating Seed...",INITIALIZE_WALLET:"Initializing Wallet...",UNLOCK_WALLET:"Unlocking Wallet...",WAIT_SYNC_NODE:"Waiting for Node Sync...",UPDATE_BOLTZ_SETTINGS:"Updating Boltz Service Settings...",UPDATE_LOOP_SETTINGS:"Updating Loop Service Settings...",UPDATE_PEERSWAP_SETTINGS:"Updating Peerswap Service Settings...",UPDATE_SETTING:"Updating Setting...",UPDATE_UI_SETTINGS:"Updating Settings...",UPDATE_NODE_SETTINGS:"Updating Node Settings...",UPDATE_SELECTED_NODE:"Updating Selected Node...",OPEN_CONFIG_FILE:"Opening Config File...",GET_SERVICE_INFO:"Getting Service Info...",GET_QUOTE:"Getting Quotes...",UPDATE_DEFAULT_NODE_SETTING:"Updating Defaule Node Settings...",GET_BOLTZ_SWAPS:"Getting Boltz Swaps...",SIGN_MESSAGE:"Signing Message...",VERIFY_MESSAGE:"Verifying Message...",BUMP_FEE:"Bumping Fee...",LEASE_UTXO:"Leasing UTXO...",GET_LOOP_SWAPS:"Getting List Swaps...",GET_FORWARDING_HISTORY:"Getting Forwarding History...",GET_LOOKUP_DETAILS:"Getting Lookup Details...",GET_RTL_CONFIG:"Getting RTL Config...",VERIFY_TOKEN:"Verify Token...",DISABLE_OFFER:"Disabling Offer...",CREATE_OFFER:"Creating Offer...",DELETE_OFFER_BOOKMARK:"Deleting Bookmark...",GET_FUNDER_POLICY:"Getting Or Updating Funder Policy...",GET_LIST_CONFIGS:"Getting Configurations List...",LIST_NETWORK_NODES:"Getting Network Nodes List...",GET_PAGE_SETTINGS:"Getting Page Settings...",SET_PAGE_SETTINGS:"Setting Page Settings...",UPDATE_PAGE_SETTINGS:"Updating Page Layout...",LOG_OUT:"Logging Out..."};var N,F,X,Fe,ke,Ke;!function(le){le.INVOICE="INVOICE",le.OFFER="OFFER",le.KEYSEND="KEYSEND"}(N||(N={})),function(le){le.FEES="FEES",le.EVENTS="EVENTS"}(F||(F={})),function(le){le.VOID="VOID",le.SET_API_URL_ECL="SET_API_URL_ECL",le.UPDATE_SELECTED_NODE_OPTIONS="UPDATE_SELECTED_NODE_OPTIONS",le.UPDATE_API_CALL_STATUS_ROOT="UPDATE_API_CALL_STATUS_ROOT",le.RESET_ROOT_STORE="RESET_ROOT_STORE",le.CLOSE_ALL_DIALOGS="CLOSE_ALL_DIALOGS",le.OPEN_SNACK_BAR="OPEN_SNACKBAR",le.OPEN_SPINNER="OPEN_SPINNER",le.CLOSE_SPINNER="CLOSE_SPINNER",le.OPEN_ALERT="OPEN_ALERT",le.CLOSE_ALERT="CLOSE_ALERT",le.OPEN_CONFIRMATION="OPEN_CONFIRMATION",le.CLOSE_CONFIRMATION="CLOSE_CONFIRMATION",le.SHOW_PUBKEY="SHOW_PUBKEY",le.FETCH_CONFIG="FETCH_CONFIG",le.SHOW_CONFIG="SHOW_CONFIG",le.FETCH_STORE="FETCH_STORE",le.SET_STORE="SET_STORE",le.FETCH_RTL_CONFIG="FETCH_RTL_CONFIG",le.SET_RTL_CONFIG="SET_RTL_CONFIG",le.SAVE_SSO="SAVE_SSO",le.SAVE_SETTINGS="SAVE_SETTINGS",le.TWO_FA_SAVE_SETTINGS="TWO_FA_SAVE_SETTINGS",le.SET_SELECTED_NODE="SET_SELECTED_NODE",le.UPDATE_ROOT_NODE_SETTINGS="UPDATE_ROOT_NODE_SETTINGS",le.UPDATE_SERVICE_SETTINGS="UPDATE_SERVICE_SETTINGS",le.SET_NODE_DATA="SET_NODE_DATA",le.IS_AUTHORIZED="IS_AUTHORIZED",le.IS_AUTHORIZED_RES="IS_AUTHORIZED_RES",le.LOGIN="LOGIN",le.VERIFY_TWO_FA="VERIFY_TWO_FA",le.LOGOUT="LOGOUT",le.RESET_PASSWORD="RESET_PASSWORD",le.RESET_PASSWORD_RES="RESET_PASSWORD_RES",le.FETCH_FILE="FETCH_FILE",le.SHOW_FILE="SHOW_FILE"}(X||(X={})),function(le){le.RESET_LND_STORE="RESET_LND_STORE",le.UPDATE_API_CALL_STATUS_LND="UPDATE_API_CALL_STATUS_LND",le.SET_CHILD_NODE_SETTINGS_LND="SET_CHILD_NODE_SETTINGS_LND",le.FETCH_PAGE_SETTINGS_LND="FETCH_PAGE_SETTINGS_LND",le.SET_PAGE_SETTINGS_LND="SET_PAGE_SETTINGS_LND",le.SAVE_PAGE_SETTINGS_LND="SAVE_PAGE_SETTINGS_LND",le.FETCH_INFO_LND="FETCH_INFO_LND",le.SET_INFO_LND="SET_INFO_LND",le.FETCH_PEERS_LND="FETCH_PEERS_LND",le.SET_PEERS_LND="SET_PEERS_LND",le.SAVE_NEW_PEER_LND="SAVE_NEW_PEER_LND",le.NEWLY_ADDED_PEER_LND="NEWLY_ADDED_PEER_LND",le.DETACH_PEER_LND="DETACH_PEER_LND",le.REMOVE_PEER_LND="REMOVE_PEER_LND",le.SAVE_NEW_INVOICE_LND="SAVE_NEW_INVOICE_LND",le.NEWLY_SAVED_INVOICE_LND="NEWLY_SAVED_INVOICE_LND",le.ADD_INVOICE_LND="ADD_INVOICE_LND",le.FETCH_FEES_LND="FETCH_FEES_LND",le.SET_FEES_LND="SET_FEES_LND",le.FETCH_BLOCKCHAIN_BALANCE_LND="FETCH_BLOCKCHAIN_BALANCE_LND",le.SET_BLOCKCHAIN_BALANCE_LND="SET_BLOCKCHAIN_BALANCE_LND",le.FETCH_NETWORK_LND="FETCH_NETWORK_LND",le.SET_NETWORK_LND="SET_NETWORK_LND",le.FETCH_CHANNELS_LND="FETCH_CHANNELS_LND",le.FETCH_PENDING_CHANNELS_LND="FETCH_PENDING_CHANNELS_LND",le.FETCH_CLOSED_CHANNELS_LND="FETCH_CLOSED_CHANNELS_LND",le.SET_CHANNELS_LND="SET_CHANNELS_LND",le.SET_PENDING_CHANNELS_LND="SET_PENDING_CHANNELS_LND",le.SET_CLOSED_CHANNELS_LND="SET_CLOSED_CHANNELS_LND",le.UPDATE_CHANNEL_LND="UPDATE_CHANNEL_LND",le.SAVE_NEW_CHANNEL_LND="SAVE_NEW_CHANNEL_LND",le.CLOSE_CHANNEL_LND="CLOSE_CHANNEL_LND",le.REMOVE_CHANNEL_LND="REMOVE_CHANNEL_LND",le.BACKUP_CHANNELS_LND="BACKUP_CHANNELS_LND",le.VERIFY_CHANNEL_LND="VERIFY_CHANNEL_LND",le.BACKUP_CHANNELS_RES_LND="BACKUP_CHANNELS_RES_LND",le.VERIFY_CHANNEL_RES_LND="VERIFY_CHANNEL_RES_LND",le.RESTORE_CHANNELS_LIST_LND="RESTORE_CHANNELS_LIST_LND",le.SET_RESTORE_CHANNELS_LIST_LND="SET_RESTORE_CHANNELS_LIST_LND",le.RESTORE_CHANNELS_LND="RESTORE_CHANNELS_LND",le.RESTORE_CHANNELS_RES_LND="RESTORE_CHANNELS_RES_LND",le.FETCH_INVOICES_LND="FETCH_INVOICES_LND",le.SET_INVOICES_LND="SET_INVOICES_LND",le.UPDATE_INVOICE_LND="UPDATE_INVOICE_LND",le.UPDATE_PAYMENT_LND="UPDATE_PAYMENT_LND",le.SET_TOTAL_INVOICES_LND="SET_TOTAL_INVOICES_LND",le.FETCH_TRANSACTIONS_LND="FETCH_TRANSACTIONS_LND",le.SET_TRANSACTIONS_LND="SET_TRANSACTIONS_LND",le.FETCH_UTXOS_LND="FETCH_UTXOS_LND",le.SET_UTXOS_LND="SET_UTXOS_LND",le.FETCH_PAYMENTS_LND="FETCH_PAYMENTS_LND",le.SET_PAYMENTS_LND="SET_PAYMENTS_LND",le.SEND_PAYMENT_LND="SEND_PAYMENT_LND",le.SEND_PAYMENT_STATUS_LND="SEND_PAYMENT_STATUS_LND",le.FETCH_GRAPH_NODE_LND="FETCH_GRAPH_NODE_LND",le.SET_GRAPH_NODE_LND="SET_GRAPH_NODE_LND",le.GET_NEW_ADDRESS_LND="GET_NEW_ADDRESS_LND",le.SET_NEW_ADDRESS_LND="SET_NEW_ADDRESS_LND",le.SET_CHANNEL_TRANSACTION_LND="SET_CHANNEL_TRANSACTION_LND",le.SET_CHANNEL_TRANSACTION_RES_LND="SET_CHANNEL_TRANSACTION_RES_LND",le.GEN_SEED_LND="GEN_SEED_LND",le.GEN_SEED_RESPONSE_LND="GEN_SEED_RESPONSE_LND",le.INIT_WALLET_LND="INIT_WALLET_LND",le.INIT_WALLET_RESPONSE_LND="INIT_WALLET_RESPONSE_LND",le.UNLOCK_WALLET_LND="UNLOCK_WALLET_LND",le.PEER_LOOKUP_LND="PEER_LOOKUP_LND",le.CHANNEL_LOOKUP_LND="CHANNEL_LOOKUP_LND",le.INVOICE_LOOKUP_LND="INVOICE_LOOKUP_LND",le.PAYMENT_LOOKUP_LND="PAYMENT_LOOKUP_LND",le.SET_LOOKUP_LND="SET_LOOKUP_LND",le.GET_FORWARDING_HISTORY_LND="GET_FORWARDING_HISTORY_LND",le.SET_FORWARDING_HISTORY_LND="SET_FORWARDING_HISTORY_LND",le.GET_QUERY_ROUTES_LND="GET_QUERY_ROUTES_LND",le.SET_QUERY_ROUTES_LND="SET_QUERY_ROUTES_LND",le.GET_ALL_LIGHTNING_TRANSATIONS_LND="GET_ALL_LIGHTNING_TRANSATIONS_LND",le.SET_ALL_LIGHTNING_TRANSATIONS_LND="SET_ALL_LIGHTNING_TRANSATIONS_LND"}(Fe||(Fe={})),function(le){le.RESET_CLN_STORE="RESET_CLN_STORE",le.UPDATE_API_CALL_STATUS_CLN="UPDATE_API_CALL_STATUS_CLN",le.SET_CHILD_NODE_SETTINGS_CLN="SET_CHILD_NODE_SETTINGS_CLN",le.FETCH_PAGE_SETTINGS_CLN="FETCH_PAGE_SETTINGS_CLN",le.SET_PAGE_SETTINGS_CLN="SET_PAGE_SETTINGS_CLN",le.SAVE_PAGE_SETTINGS_CLN="SAVE_PAGE_SETTINGS_CLN",le.FETCH_INFO_CLN="FETCH_INFO_CL_CLN",le.SET_INFO_CLN="SET_INFO_CLN",le.FETCH_FEES_CLN="FETCH_FEES_CLN",le.SET_FEES_CLN="SET_FEES_CLN",le.FETCH_FEE_RATES_CLN="FETCH_FEE_RATES_CLN",le.SET_FEE_RATES_CLN="SET_FEE_RATES_CLN",le.FETCH_BALANCE_CLN="FETCH_BALANCE_CLN",le.SET_BALANCE_CLN="SET_BALANCE_CLN",le.FETCH_LOCAL_REMOTE_BALANCE_CLN="FETCH_LOCAL_REMOTE_BALANCE_CLN",le.SET_LOCAL_REMOTE_BALANCE_CLN="SET_LOCAL_REMOTE_BALANCE_CLN",le.GET_NEW_ADDRESS_CLN="GET_NEW_ADDRESS_CLN",le.SET_NEW_ADDRESS_CLN="SET_NEW_ADDRESS_CLN",le.FETCH_UTXOS_CLN="FETCH_UTXOS_CLN",le.SET_UTXOS_CLN="SET_UTXOS_CLN",le.FETCH_PEERS_CLN="FETCH_PEERS_CLN",le.SET_PEERS_CLN="SET_PEERS_CLN",le.SAVE_NEW_PEER_CLN="SAVE_NEW_PEER_CLN",le.NEWLY_ADDED_PEER_CLN="NEWLY_ADDED_PEER_CLN",le.ADD_PEER_CLN="ADD_PEER_CLN",le.DETACH_PEER_CLN="DETACH_PEER_CLN",le.REMOVE_PEER_CLN="REMOVE_PEER_CLN",le.FETCH_CHANNELS_CLN="FETCH_CHANNELS_CLN",le.SET_CHANNELS_CLN="SET_CHANNELS_CLN",le.UPDATE_CHANNEL_CLN="UPDATE_CHANNEL_CLN",le.SAVE_NEW_CHANNEL_CLN="SAVE_NEW_CHANNEL_CLN",le.CLOSE_CHANNEL_CLN="CLOSE_CHANNEL_CLN",le.REMOVE_CHANNEL_CLN="REMOVE_CHANNEL_CLN",le.FETCH_PAYMENTS_CLN="FETCH_PAYMENTS_CLN",le.SET_PAYMENTS_CLN="SET_PAYMENTS_CLN",le.SEND_PAYMENT_CLN="SEND_PAYMENT_CLN",le.SEND_PAYMENT_STATUS_CLN="SEND_PAYMENT_STATUS_CLN",le.GET_QUERY_ROUTES_CLN="GET_QUERY_ROUTES_CLN",le.SET_QUERY_ROUTES_CLN="SET_QUERY_ROUTES_CLN",le.PEER_LOOKUP_CLN="PEER_LOOKUP_CLN",le.CHANNEL_LOOKUP_CLN="CHANNEL_LOOKUP_CLN",le.INVOICE_LOOKUP_CLN="INVOICE_LOOKUP_CLN",le.SET_LOOKUP_CLN="SET_LOOKUP_CLN",le.GET_FORWARDING_HISTORY_CLN="GET_FORWARDING_HISTORY_CLN",le.SET_FORWARDING_HISTORY_CLN="SET_FORWARDING_HISTORY_CLN",le.GET_FAILED_FORWARDING_HISTORY_CLN="GET_FAILED_FORWARDING_HISTORY_CLN",le.SET_FAILED_FORWARDING_HISTORY_CLN="SET_FAILED_FORWARDING_HISTORY_CLN",le.GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN="GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN",le.SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN="SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN",le.FETCH_INVOICES_CLN="FETCH_INVOICES_CLN",le.SET_INVOICES_CLN="SET_INVOICES_CLN",le.SAVE_NEW_INVOICE_CLN="SAVE_NEW_INVOICE_CLN",le.ADD_INVOICE_CLN="ADD_INVOICE_CLN",le.UPDATE_INVOICE_CLN="UPDATE_INVOICE_CLN",le.DELETE_EXPIRED_INVOICE_CLN="DELETE_EXPIRED_INVOICE_CLN",le.SET_CHANNEL_TRANSACTION_CLN="SET_CHANNEL_TRANSACTION_CLN",le.SET_CHANNEL_TRANSACTION_RES_CLN="SET_CHANNEL_TRANSACTION_RES_CLN",le.FETCH_OFFER_INVOICE_CLN="FETCH_OFFER_INVOICE_CLN",le.SET_OFFER_INVOICE_CLN="SET_OFFER_INVOICE_CLN",le.FETCH_OFFERS_CLN="FETCH_OFFERS_CLN",le.SET_OFFERS_CLN="SET_OFFERS_CLN",le.SAVE_NEW_OFFER_CLN="SAVE_NEW_OFFER_CLN",le.ADD_OFFER_CLN="ADD_OFFER_CLN",le.DISABLE_OFFER_CLN="DISABLE_OFFER_CLN",le.UPDATE_OFFER_CLN="UPDATE_OFFER_CLN",le.FETCH_OFFER_BOOKMARKS_CLN="FETCH_OFFER_BOOKMARKS_CLN",le.SET_OFFER_BOOKMARKS_CLN="SET_OFFER_BOOKMARKS_CLN",le.ADD_UPDATE_OFFER_BOOKMARK_CLN="ADD_UPDATE_OFFER_BOOKMARK_CLN",le.DELETE_OFFER_BOOKMARK_CLN="DELETE_OFFER_BOOKMARK_CLN",le.REMOVE_OFFER_BOOKMARK_CLN="REMOVE_OFFER_BOOKMARK_CL"}(ke||(ke={})),function(le){le.RESET_ECL_STORE="RESET_ECL_STORE",le.UPDATE_API_CALL_STATUS_ECL="UPDATE_API_CALL_STATUS_ECL",le.SET_CHILD_NODE_SETTINGS_ECL="SET_CHILD_NODE_SETTINGS_ECL",le.FETCH_PAGE_SETTINGS_ECL="FETCH_PAGE_SETTINGS_ECL",le.SET_PAGE_SETTINGS_ECL="SET_PAGE_SETTINGS_ECL",le.SAVE_PAGE_SETTINGS_ECL="SAVE_PAGE_SETTINGS_ECL",le.FETCH_INFO_ECL="FETCH_INFO_ECL",le.SET_INFO_ECL="SET_INFO_ECL",le.FETCH_FEES_ECL="FETCH_FEES_ECL",le.SET_FEES_ECL="SET_FEES_ECL",le.FETCH_CHANNELS_ECL="FETCH_CHANNELS_ECL",le.SET_ACTIVE_CHANNELS_ECL="SET_ACTIVE_CHANNELS_ECL",le.SET_PENDING_CHANNELS_ECL="SET_PENDING_CHANNELS_ECL",le.SET_INACTIVE_CHANNELS_ECL="SET_INACTIVE_CHANNELS_ECL",le.FETCH_ONCHAIN_BALANCE_ECL="FETCH_ONCHAIN_BALANCE_ECL",le.SET_ONCHAIN_BALANCE_ECL="SET_ONCHAIN_BALANCE_ECL",le.FETCH_LIGHTNING_BALANCE_ECL="FETCH_LIGHTNING_BALANCE_ECL",le.SET_LIGHTNING_BALANCE_ECL="SET_LIGHTNING_BALANCE_ECL",le.SET_CHANNELS_STATUS_ECL="SET_CHANNELS_STATUS_ECL",le.FETCH_PEERS_ECL="FETCH_PEERS_ECL",le.SET_PEERS_ECL="SET_PEERS_ECL",le.SAVE_NEW_PEER_ECL="SAVE_NEW_PEER_ECL",le.NEWLY_ADDED_PEER_ECL="NEWLY_ADDED_PEER_ECL",le.ADD_PEER_ECL="ADD_PEER_ECL",le.DETACH_PEER_ECL="DETACH_PEER_ECL",le.REMOVE_PEER_ECL="REMOVE_PEER_ECL",le.GET_NEW_ADDRESS_ECL="GET_NEW_ADDRESS_ECL",le.SET_NEW_ADDRESS_ECL="SET_NEW_ADDRESS_ECL",le.SAVE_NEW_CHANNEL_ECL="SAVE_NEW_CHANNEL_ECL",le.UPDATE_CHANNEL_ECL="UPDATE_CHANNEL_ECL",le.CLOSE_CHANNEL_ECL="CLOSE_CHANNEL_ECL",le.REMOVE_CHANNEL_ECL="REMOVE_CHANNEL_ECL",le.FETCH_PAYMENTS_ECL="FETCH_PAYMENTS_ECL",le.SET_PAYMENTS_ECL="SET_PAYMENTS_ECL",le.GET_QUERY_ROUTES_ECL="GET_QUERY_ROUTES_ECL",le.SET_QUERY_ROUTES_ECL="SET_QUERY_ROUTES_ECL",le.SEND_PAYMENT_ECL="SEND_PAYMENT_ECL",le.SEND_PAYMENT_STATUS_ECL="SEND_PAYMENT_STATUS_ECL",le.FETCH_TRANSACTIONS_ECL="FETCH_TRANSACTIONS_ECL",le.SET_TRANSACTIONS_ECL="SET_TRANSACTIONS_ECL",le.SEND_ONCHAIN_FUNDS_ECL="SEND_ONCHAIN_FUNDS_ECL",le.SEND_ONCHAIN_FUNDS_RES_ECL="SEND_ONCHAIN_FUNDS_RES_ECL",le.FETCH_INVOICES_ECL="FETCH_INVOICES_ECL",le.SET_INVOICES_ECL="SET_INVOICES_ECL",le.SET_TOTAL_INVOICES_ECL="SET_TOTAL_INVOICES_ECL",le.CREATE_INVOICE_ECL="CREATE_INVOICE_ECL",le.ADD_INVOICE_ECL="ADD_INVOICE_ECL",le.UPDATE_INVOICE_ECL="UPDATE_INVOICE_ECL",le.PEER_LOOKUP_ECL="PEER_LOOKUP_ECL",le.INVOICE_LOOKUP_ECL="INVOICE_LOOKUP_ECL",le.SET_LOOKUP_ECL="SET_LOOKUP_ECL",le.UPDATE_CHANNEL_STATE_ECL="UPDATE_CHANNEL_STATE_ECL",le.UPDATE_RELAYED_PAYMENT_ECL="UPDATE_RELAYED_PAYMENT_ECL"}(Ke||(Ke={}));const je=[{range:{min:0,max:1},description:"Requires or supports extra channel re-establish fields"},{range:{min:4,max:5},description:"Commits to a shutdown script pubkey when opening channel"},{range:{min:6,max:7},description:"More sophisticated gossip control"},{range:{min:8,max:9},description:"Requires/supports variable-length routing onion payloads"},{range:{min:10,max:11},description:"Gossip queries can include additional information"},{range:{min:12,max:13},description:"Static key for remote output"},{range:{min:14,max:15},description:"Node supports payment secret field"},{range:{min:16,max:17},description:"Node can receive basic multi-part payments"},{range:{min:18,max:19},description:"Node can create large channels"},{range:{min:20,max:21},description:"Anchor outputs"},{range:{min:22,max:23},description:"Anchor commitment type with zero fee HTLC transactions"},{range:{min:26,max:27},description:"Future segwit versions allowed in shutdown"}];var Ve,xe;!function(le){le.gossip_queries_ex="Gossip queries including additional information",le.option_anchor_outputs="Anchor outputs",le.option_data_loss_protect="Extra channel re-establish fields",le.var_onion_optin="Variable-length routing onion payloads",le.option_static_remotekey="Static key for remote output",le.option_support_large_channel="Create large channels",le.option_anchors_zero_fee_htlc_tx="Anchor commitment type with zero fee HTLC transactions",le.payment_secret="Payment secret field",le.option_shutdown_anysegwit="Future segwit versions allowed in shutdown",le.basic_mpp="Basic multi-part payments",le.gossip_queries="More sophisticated gossip control",le.option_upfront_shutdown_script="Shutdown script pubkey when opening channel",le.anchors_zero_fee_htlc_tx="Anchor commitment type with zero fee HTLC transactions",le.amp="AMP"}(Ve||(Ve={})),function(le){le["data-loss-protect"]="Extra channel re-establish fields",le["upfront-shutdown-script"]="Shutdown script pubkey when opening channel",le["gossip-queries"]="More sophisticated gossip control",le["tlv-onion"]="Variable-length routing onion payloads",le["ext-gossip-queries"]="Gossip queries can include additional information",le["static-remote-key"]="Static key for remote output",le["payment-addr"]="Payment secret field",le["multi-path-payments"]="Basic multi-part payments",le["wumbo-channels"]="Wumbo Channels",le.anchors="Anchor outputs",le["anchors-zero-fee-htlc-tx"]="Anchor commitment type with zero fee HTLC transactions",le.amp="AMP"}(xe||(xe={}));const Ze=[{id:"match",placeholder:"Policy Match (%age)",min:0,max:200},{id:"available",placeholder:"Policy Available (%age)",min:0,max:100},{id:"fixed",placeholder:"Fixed Policy (Sats)",min:0,max:100}];var Ie,ve,et,ht,Le,Ae;!function(le){le.OFFERED="offered",le.SETTLED="settled",le.FAILED="failed",le.LOCAL_FAILED="local_failed"}(Ie||(Ie={})),function(le){le.SWAP_OUT="swap-out",le.SWAP_IN="swap-in"}(ve||(ve={})),function(le){le.SENDER="sender",le.RECEIVER="receiver"}(et||(et={})),function(le){le.SWAP_CANCELED="State_SwapCanceled"}(ht||(ht={})),function(le){le.ALLOWED="allowed",le.SUSPICIOUS="suspicious"}(Le||(Le={})),function(le){le.ASCENDING="asc",le.DESCENDING="desc"}(Ae||(Ae={}));const te=["asc","desc"],pe=[{pageId:"on_chain",tables:[{tableId:"utxos",recordsPerPage:u,sortBy:"blockheight",sortOrder:Ae.DESCENDING,columnSelectionSM:["txid","value"],columnSelection:["txid","output","value","blockheight"]},{tableId:"dust_utxos",recordsPerPage:u,sortBy:"blockheight",sortOrder:Ae.DESCENDING,columnSelectionSM:["txid","value"],columnSelection:["txid","output","value","blockheight"]}]},{pageId:"peers_channels",tables:[{tableId:"open_channels",recordsPerPage:u,sortBy:"msatoshi_to_us",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","msatoshi_to_us","msatoshi_to_them"],columnSelection:["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","balancedness"]},{tableId:"pending_inactive_channels",recordsPerPage:u,sortBy:"state",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","state"],columnSelection:["alias","connected","state","msatoshi_total"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.ASCENDING,columnSelectionSM:["alias","id"],columnSelection:["alias","id","netaddr"]}]},{pageId:"liquidity_ads",tables:[{tableId:"liquidity_ads",recordsPerPage:u,sortBy:"channel_opening_fee",sortOrder:Ae.ASCENDING,columnSelectionSM:["alias","channel_opening_fee"],columnSelection:["alias","last_timestamp","lease_fee","routing_fee","channel_opening_fee"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"created_at",sortOrder:Ae.DESCENDING,columnSelectionSM:["created_at","msatoshi"],columnSelection:["created_at","type","payment_hash","msatoshi_sent","msatoshi"]},{tableId:"invoices",recordsPerPage:u,sortBy:"expires_at",sortOrder:Ae.DESCENDING,columnSelectionSM:["expires_at","msatoshi"],columnSelection:["expires_at","paid_at","type","description","msatoshi","msatoshi_received"]},{tableId:"offers",recordsPerPage:u,sortBy:"offer_id",sortOrder:Ae.DESCENDING,columnSelectionSM:["offer_id","single_use"],columnSelection:["offer_id","single_use","used"]},{tableId:"offer_bookmarks",recordsPerPage:u,sortBy:"lastUpdatedAt",sortOrder:Ae.DESCENDING,columnSelectionSM:["lastUpdatedAt","amountMSat"],columnSelection:["lastUpdatedAt","title","description","amountMSat"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"received_time",sortOrder:Ae.DESCENDING,columnSelectionSM:["received_time","in_msatoshi","out_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"total_fee",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","events","total_fee"],columnSelection:["channel_id","alias","events","total_amount","total_fee"]},{tableId:"failed",recordsPerPage:u,sortBy:"received_time",sortOrder:Ae.DESCENDING,columnSelectionSM:["received_time","in_channel_alias","in_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"local_failed",recordsPerPage:u,sortBy:"received_time",sortOrder:Ae.DESCENDING,columnSelectionSM:["received_time","in_channel_alias","in_msatoshi"],columnSelection:["received_time","in_channel_alias","in_msatoshi","style","failreason"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"received_time",sortOrder:Ae.DESCENDING,columnSelectionSM:["received_time","in_msatoshi","out_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:Ae.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]},{pageId:"graph_lookup",tables:[{tableId:"query_routes",recordsPerPage:u,sortBy:"msatoshi",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","direction","msatoshi"],columnSelection:["alias","channel","direction","delay","msatoshi"]}]},{pageId:"peerswap",tables:[{tableId:"swaps",recordsPerPage:u,sortBy:"created_at",sortOrder:Ae.DESCENDING,columnSelectionSM:["id","state","amount"],columnSelection:["id","alias","short_channel_id","created_at","state","amount"]}]}],ee={on_chain:{utxos:{maxColumns:7,allowedColumns:[{column:"txid",label:"Transaction ID"},{column:"address"},{column:"scriptpubkey",label:"Script Pubkey"},{column:"output"},{column:"value"},{column:"blockheight"},{column:"reserved"}]},dust_utxos:{maxColumns:7,allowedColumns:[{column:"txid",label:"Transaction ID"},{column:"address"},{column:"scriptpubkey",label:"Script Pubkey"},{column:"output"},{column:"value"},{column:"blockheight"},{column:"reserved"}]}},peers_channels:{open_channels:{maxColumns:8,allowedColumns:[{column:"short_channel_id"},{column:"alias"},{column:"id"},{column:"channel_id"},{column:"funding_txid",label:"Funding Transaction ID"},{column:"connected"},{column:"our_channel_reserve_satoshis",label:"Local Reserve"},{column:"their_channel_reserve_satoshis",label:"Remote Reserve"},{column:"msatoshi_total",label:"Total"},{column:"spendable_msatoshi",label:"Spendable"},{column:"msatoshi_to_us",label:"Local Balance"},{column:"msatoshi_to_them",label:"Remote Balance"},{column:"balancedness",label:"Balance Score"}]},pending_inactive_channels:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"id"},{column:"channel_id"},{column:"funding_txid",label:"Funding Transaction ID"},{column:"connected"},{column:"state"},{column:"our_channel_reserve_satoshis",label:"Local Reserve"},{column:"their_channel_reserve_satoshis",label:"Remote Reserve"},{column:"msatoshi_total",label:"Total"},{column:"spendable_msatoshi",label:"Spendable"},{column:"msatoshi_to_us",label:"Local Balance"},{column:"msatoshi_to_them",label:"Remote Balance"}]},peers:{maxColumns:3,allowedColumns:[{column:"alias"},{column:"id"},{column:"netaddr",label:"Network Address"}]}},liquidity_ads:{liquidity_ads:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"nodeid",label:"Node ID"},{column:"last_timestamp",label:"Last Announcement At"},{column:"compact_lease"},{column:"lease_fee"},{column:"routing_fee"},{column:"channel_opening_fee"},{column:"funding_weight"}]}},transactions:{payments:{maxColumns:7,allowedColumns:[{column:"created_at",label:"Created At"},{column:"type"},{column:"payment_hash"},{column:"bolt11",label:"Invoice"},{column:"destination"},{column:"memo"},{column:"label"},{column:"msatoshi_sent",label:"Sats Sent"},{column:"msatoshi",label:"Sats Received"}]},invoices:{maxColumns:7,allowedColumns:[{column:"expires_at",label:"Expiry Date"},{column:"paid_at",label:"Date Settled"},{column:"type"},{column:"description"},{column:"label"},{column:"payment_hash"},{column:"bolt11",label:"Invoice"},{column:"msatoshi",label:"Amount"},{column:"msatoshi_received",label:"Amount Settled"}]},offers:{maxColumns:4,allowedColumns:[{column:"offer_id",label:"Offer ID"},{column:"single_use"},{column:"used"},{column:"bolt12",label:"Invoice"}]},offer_bookmarks:{maxColumns:6,allowedColumns:[{column:"lastUpdatedAt",label:"Updated At"},{column:"title"},{column:"description"},{column:"vendor"},{column:"bolt12",label:"Invoice"},{column:"amountMSat",label:"Amount"}]}},routing:{forwarding_history:{maxColumns:8,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"payment_hash"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},routing_peers:{maxColumns:5,allowedColumns:[{column:"channel_id"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"total_amount",label:"Amount"},{column:"total_fee",label:"Fee"}]},failed:{maxColumns:7,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},local_failed:{maxColumns:6,allowedColumns:[{column:"received_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"in_msatoshi",label:"Amount In"},{column:"style"},{column:"failreason",label:"Fail Reason"}]}},reports:{routing:{maxColumns:8,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"payment_hash"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}},graph_lookup:{query_routes:{maxColumns:6,allowedColumns:[{column:"id"},{column:"alias"},{column:"channel"},{column:"direction"},{column:"delay"},{column:"msatoshi",label:"Amount"}]}},peerswap:{swaps:{maxColumns:6,allowedColumns:[{column:"id"},{column:"alias"},{column:"short_channel_id"},{column:"created_at"},{column:"state"},{column:"amount"}]}}},H=[{pageId:"on_chain",tables:[{tableId:"utxos",recordsPerPage:u,sortBy:"tx_id",sortOrder:Ae.DESCENDING,columnSelectionSM:["output","amount_sat","confirmations"],columnSelection:["tx_id","output","label","amount_sat","confirmations"]},{tableId:"transactions",recordsPerPage:u,sortBy:"time_stamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["time_stamp","amount","num_confirmations"],columnSelection:["time_stamp","label","amount","total_fees","block_height","num_confirmations"]},{tableId:"dust_utxos",recordsPerPage:u,sortBy:"tx_id",sortOrder:Ae.DESCENDING,columnSelectionSM:["output","amount_sat","confirmations"],columnSelection:["tx_id","output","label","amount_sat","confirmations"]}]},{pageId:"peers_channels",tables:[{tableId:"open",recordsPerPage:u,sortBy:"balancedness",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","local_balance"],columnSelection:["remote_alias","uptime_str","total_satoshis_sent","total_satoshis_received","local_balance","remote_balance","balancedness"]},{tableId:"pending_open",sortBy:"capacity",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","capacity"],columnSelection:["remote_alias","commit_fee","commit_weight","capacity"]},{tableId:"pending_force_closing",sortBy:"limbo_balance",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","limbo_balance"],columnSelection:["remote_alias","recovered_balance","limbo_balance","capacity"]},{tableId:"pending_closing",sortBy:"capacity",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","capacity"],columnSelection:["remote_alias","local_balance","remote_balance","capacity"]},{tableId:"pending_waiting_close",sortBy:"limbo_balance",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","limbo_balance"],columnSelection:["remote_alias","limbo_balance","local_balance","remote_balance"]},{tableId:"closed",recordsPerPage:u,sortBy:"close_type",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","settled_balance"],columnSelection:["close_type","remote_alias","capacity","close_height","settled_balance"]},{tableId:"active_HTLCs",recordsPerPage:u,sortBy:"expiration_height",sortOrder:Ae.DESCENDING,columnSelectionSM:["amount","incoming","expiration_height"],columnSelection:["amount","incoming","expiration_height","hash_lock"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","sat_sent","sat_recv"],columnSelection:["alias","pub_key","sat_sent","sat_recv","ping_time"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"creation_date",sortOrder:Ae.DESCENDING,columnSelectionSM:["creation_date","fee","value"],columnSelection:["creation_date","payment_hash","fee","value","hops"]},{tableId:"invoices",recordsPerPage:u,sortBy:"creation_date",sortOrder:Ae.DESCENDING,columnSelectionSM:["creation_date","settle_date","value"],columnSelection:["creation_date","settle_date","memo","value","amt_paid_sat"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"timestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amt_in","amt_out"],columnSelection:["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"total_amount",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","events","total_amount"],columnSelection:["chan_id","alias","events","total_amount"]},{tableId:"non_routing_peers",recordsPerPage:u,sortBy:"remote_alias",sortOrder:Ae.DESCENDING,columnSelectionSM:["remote_alias","local_balance","remote_balance"],columnSelection:["chan_id","remote_alias","total_satoshis_received","total_satoshis_sent","local_balance","remote_balance"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"timestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amt_in","amt_out"],columnSelection:["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:Ae.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]},{pageId:"graph_lookup",tables:[{tableId:"query_routes",recordsPerPage:u,sortBy:"hop_sequence",sortOrder:Ae.ASCENDING,columnSelectionSM:["hop_sequence","pubkey_alias","fee_msat"],columnSelection:["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat"]}]},{pageId:"loop",tables:[{tableId:"loop",recordsPerPage:u,sortBy:"initiation_time",sortOrder:Ae.DESCENDING,columnSelectionSM:["state","amt"],columnSelection:["state","initiation_time","amt","cost_server","cost_offchain","cost_onchain"]}]},{pageId:"boltz",tables:[{tableId:"swap_out",recordsPerPage:u,sortBy:"status",sortOrder:Ae.DESCENDING,columnSelectionSM:["status","id","onchainAmount"],columnSelection:["status","id","claimAddress","onchainAmount","timeoutBlockHeight"]},{tableId:"swap_in",recordsPerPage:u,sortBy:"status",sortOrder:Ae.DESCENDING,columnSelectionSM:["status","id","expectedAmount"],columnSelection:["status","id","lockupAddress","expectedAmount","timeoutBlockHeight"]}]}],j={on_chain:{utxos:{maxColumns:7,allowedColumns:[{column:"tx_id",label:"Transaction ID"},{column:"output"},{column:"label"},{column:"address_type"},{column:"address"},{column:"amount_sat",label:"Amount"},{column:"confirmations"}]},transactions:{maxColumns:7,allowedColumns:[{column:"time_stamp",label:"Date/Time"},{column:"label"},{column:"block_hash"},{column:"tx_hash",label:"Transaction Hash"},{column:"amount"},{column:"total_fees",label:"Fees"},{column:"block_height"},{column:"num_confirmations",label:"Confirmations"}]},dust_utxos:{maxColumns:7,allowedColumns:[{column:"tx_id",label:"Transaction ID"},{column:"output"},{column:"label"},{column:"address_type"},{column:"address"},{column:"amount_sat"},{column:"confirmations"}]}},peers_channels:{open:{maxColumns:8,allowedColumns:[{column:"remote_alias",label:"Peer"},{column:"remote_pubkey",label:"Pubkey"},{column:"channel_point"},{column:"chan_id",label:"Channel ID"},{column:"initiator"},{column:"static_remote_key"},{column:"uptime_str",label:"Uptime"},{column:"lifetime_str",label:"Lifetime"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"num_updates",label:"Updates"},{column:"unsettled_balance"},{column:"capacity"},{column:"local_chan_reserve_sat",label:"Local Reserve"},{column:"remote_chan_reserve_sat",label:"Remote Reserve"},{column:"total_satoshis_sent",label:"Sats Sent"},{column:"total_satoshis_received",label:"Sats Received"},{column:"local_balance"},{column:"remote_balance"},{column:"balancedness",label:"Balance Score"}]},pending_open:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"confirmation_height"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_force_closing:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"limbo_balance"},{column:"maturity_height"},{column:"blocks_til_maturity",label:"Blocks till Maturity"},{column:"recovered_balance"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_closing:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_waiting_close:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"limbo_balance"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},closed:{maxColumns:7,allowedColumns:[{column:"close_type"},{column:"remote_alias",label:"Peer"},{column:"remote_pubkey",label:"Pubkey"},{column:"channel_point"},{column:"chan_id",label:"Channel ID"},{column:"closing_tx_hash",label:"Closing Tx Hash"},{column:"chain_hash"},{column:"open_initiator"},{column:"close_initiator"},{column:"time_locked_balance",label:"Timelocked Balance"},{column:"capacity"},{column:"close_height"},{column:"settled_balance"}]},active_HTLCs:{maxColumns:7,allowedColumns:[{column:"amount"},{column:"incoming"},{column:"forwarding_channel"},{column:"htlc_index"},{column:"forwarding_htlc_index"},{column:"expiration_height"},{column:"hash_lock"}]},peers:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"pub_key",label:"Public Key"},{column:"address"},{column:"sync_type"},{column:"inbound"},{column:"bytes_sent"},{column:"bytes_recv",label:"Bytes Received"},{column:"sat_sent",label:"Sats Sent"},{column:"sat_recv",label:"Sats Received"},{column:"ping_time"}]}},transactions:{payments:{maxColumns:8,allowedColumns:[{column:"creation_date"},{column:"payment_hash"},{column:"payment_request"},{column:"payment_preimage"},{column:"description"},{column:"description_hash"},{column:"failure_reason"},{column:"payment_index"},{column:"fee"},{column:"value"},{column:"hops"}]},invoices:{maxColumns:9,allowedColumns:[{column:"private"},{column:"is_keysend",label:"Keysend"},{column:"is_amp",label:"AMP"},{column:"creation_date",label:"Date Created"},{column:"settle_date",label:"Date Settled"},{column:"memo"},{column:"r_preimage",label:"Preimage"},{column:"r_hash",label:"Preimage Hash"},{column:"payment_addr",label:"Payment Address"},{column:"payment_request"},{column:"description_hash"},{column:"expiry"},{column:"cltv_expiry"},{column:"add_index"},{column:"settle_index"},{column:"value",label:"Amount"},{column:"amt_paid_sat",label:"Amount Settled"}]}},routing:{forwarding_history:{maxColumns:6,allowedColumns:[{column:"timestamp"},{column:"alias_in",label:"Inbound Alias"},{column:"chan_id_in",label:"Inbound Channel"},{column:"alias_out",label:"Outbound Alias"},{column:"chan_id_out",label:"Outbound Channel"},{column:"amt_in",label:"Inbound Amount"},{column:"amt_out",label:"Outbound Amount"},{column:"fee_msat",label:"Fee"}]},routing_peers:{maxColumns:4,allowedColumns:[{column:"chan_id",label:"Channel ID"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"total_amount"}]},non_routing_peers:{maxColumns:8,allowedColumns:[{column:"chan_id",label:"Channel ID"},{column:"remote_alias",label:"Peer Alias"},{column:"remote_pubkey",label:"Peer Pubkey"},{column:"channel_point"},{column:"uptime_str",label:"Uptime"},{column:"lifetime_str",label:"Lifetime"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"num_updates",label:"Updates"},{column:"unsettled_balance"},{column:"capacity"},{column:"local_chan_reserve_sat",label:"Local Reserve"},{column:"remote_chan_reserve_sat",label:"Remote Reserve"},{column:"total_satoshis_sent",label:"Sats Sent"},{column:"total_satoshis_received",label:"Sats Received"},{column:"local_balance"},{column:"remote_balance"}]}},reports:{routing:{maxColumns:6,allowedColumns:[{column:"timestamp"},{column:"alias_in",label:"Inbound Alias"},{column:"chan_id_in",label:"Inbound Channel"},{column:"alias_out",label:"Outbound Alias"},{column:"chan_id_out",label:"Outbound Channel"},{column:"amt_in",label:"Inbound Amount"},{column:"amt_out",label:"Outbound Amount"},{column:"fee_msat",label:"Fee"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}},graph_lookup:{query_routes:{maxColumns:8,disablePageSize:!0,allowedColumns:[{column:"hop_sequence",label:"Hop"},{column:"pubkey_alias",label:"Peer"},{column:"pub_key",label:"Peer Pubkey"},{column:"chan_id",label:"Channel ID"},{column:"tlv_payload"},{column:"expiry"},{column:"chan_capacity",label:"Capacity"},{column:"amt_to_forward_msat",label:"Amount To Fwd"},{column:"fee_msat",label:"Fee"}]}},loop:{loop:{maxColumns:8,allowedColumns:[{column:"state"},{column:"initiation_time"},{column:"last_update_time"},{column:"amt",label:"Amount"},{column:"cost_server"},{column:"cost_offchain"},{column:"cost_onchain"},{column:"htlc_address"},{column:"id"},{column:"id_bytes",label:"ID (Bytes)"}]}},boltz:{swap_out:{maxColumns:7,allowedColumns:[{column:"status"},{column:"id",label:"Swap ID"},{column:"claimAddress",label:"Claim Address"},{column:"onchainAmount",label:"Onchain Amount"},{column:"error"},{column:"privateKey",label:"Private Key"},{column:"preimage"},{column:"redeemScript",label:"Redeem Script"},{column:"invoice"},{column:"timeoutBlockHeight",label:"Timeout Block Height"},{column:"lockupTransactionId",label:"Lockup Tx ID"},{column:"claimTransactionId",label:"Claim Tx ID"}]},swap_in:{maxColumns:7,allowedColumns:[{column:"status"},{column:"id",label:"Swap ID"},{column:"lockupAddress",label:"Lockup Address"},{column:"expectedAmount",label:"Expected Amount"},{column:"error"},{column:"privateKey",label:"Private Key"},{column:"preimage"},{column:"redeemScript",label:"Redeem Script"},{column:"invoice"},{column:"timeoutBlockHeight",label:"Timeout Block Height"},{column:"lockupTransactionId",label:"Lockup Tx ID"},{column:"refundTransactionId",label:"Refund Tx ID"}]}}},Oe=[{pageId:"on_chain",tables:[{tableId:"transaction",recordsPerPage:u,sortBy:"timestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amount"],columnSelection:["timestamp","address","amount","fees","confirmations"]}]},{pageId:"peers_channels",tables:[{tableId:"open_channels",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","toLocal","toRemote"],columnSelection:["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","balancedness"]},{tableId:"pending_channels",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.DESCENDING,columnSelectionSM:["state","alias","toLocal"],columnSelection:["state","alias","toLocal","toRemote"]},{tableId:"inactive_channels",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.DESCENDING,columnSelectionSM:["state","alias","toLocal"],columnSelection:["state","shortChannelId","alias","toLocal","toRemote","balancedness"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:Ae.ASCENDING,columnSelectionSM:["alias","nodeId"],columnSelection:["alias","nodeId","address","channels"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"firstPartTimestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["firstPartTimestamp","recipientAmount"],columnSelection:["firstPartTimestamp","id","recipientNodeAlias","recipientAmount"]},{tableId:"invoices",recordsPerPage:u,sortBy:"receivedAt",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amount","amountSettled"],columnSelection:["timestamp","receivedAt","description","amount","amountSettled"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"timestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amountIn","fee"],columnSelection:["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"totalFee",sortOrder:Ae.DESCENDING,columnSelectionSM:["alias","events","totalFee"],columnSelection:["channelId","alias","events","totalAmount","totalFee"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"timestamp",sortOrder:Ae.DESCENDING,columnSelectionSM:["timestamp","amountIn","fee"],columnSelection:["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:Ae.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]}],Re={on_chain:{transaction:{maxColumns:6,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"address"},{column:"blockHash"},{column:"txid",label:"Transaction ID"},{column:"amount"},{column:"fees"},{column:"confirmations"}]}},peers_channels:{open_channels:{maxColumns:8,allowedColumns:[{column:"shortChannelId"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"feeBaseMsat",label:"Base Fee"},{column:"feeProportionalMillionths",label:"Fee Rate"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"},{column:"balancedness",label:"Balance Score"}]},pending_channels:{maxColumns:7,allowedColumns:[{column:"state"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"}]},inactive_channels:{maxColumns:8,allowedColumns:[{column:"state"},{column:"shortChannelId"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"},{column:"balancedness",label:"Balance Score"}]},peers:{maxColumns:4,allowedColumns:[{column:"alias"},{column:"nodeId"},{column:"address",label:"Netwrok Address"},{column:"channels"}]}},transactions:{payments:{maxColumns:7,allowedColumns:[{column:"firstPartTimestamp",label:"Date/Time"},{column:"id"},{column:"recipientNodeId",label:"Destination Node ID"},{column:"recipientNodeAlias",label:"Destination"},{column:"description"},{column:"paymentHash"},{column:"paymentPreimage",label:"Preimage"},{column:"recipientAmount",label:"Amount"}]},invoices:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date Created"},{column:"expiresAt",label:"Date Expiry"},{column:"receivedAt",label:"Date Settled"},{column:"nodeId",label:"Node ID"},{column:"description"},{column:"paymentHash"},{column:"amount"},{column:"amountSettled",label:"Amount Settled"}]}},routing:{forwarding_history:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"fromChannelId",label:"In Channel ID"},{column:"fromShortChannelId",label:"In Channel Short ID"},{column:"fromChannelAlias",label:"In Channel"},{column:"toChannelId",label:"Out Channel ID"},{column:"toShortChannelId",label:"Out Channel Short ID"},{column:"toChannelAlias",label:"Out Channel"},{column:"paymentHash"},{column:"amountIn"},{column:"amountOut"},{column:"fee",label:"Fee Earned"}]},routing_peers:{maxColumns:5,allowedColumns:[{column:"channelId"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"totalAmount",label:"Amount"},{column:"totalFee",label:"Fee"}]}},reports:{routing:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"fromChannelId",label:"In Channel ID"},{column:"fromShortChannelId",label:"In Channel Short ID"},{column:"fromChannelAlias",label:"In Channel"},{column:"toChannelId",label:"Out Channel ID"},{column:"toShortChannelId",label:"Out Channel Short ID"},{column:"toChannelAlias",label:"Out Channel"},{column:"paymentHash"},{column:"amountIn"},{column:"amountOut"},{column:"fee",label:"Fee Earned"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}}}},8104:(Ue,q,m)=>{"use strict";m.d(q,{D:()=>ue});var e=m(8987),t=m(6317),_=m(253),E=m(5474),s=m(745),D=m(155),u=m(9525),k=m(8951),p=m(635),S=m(3158),A=m(538),P=m(2340),M=m(7731),z=m(1786),I=m(7861),W=m(6523),Z=m(6529),Q=m(9828),ie=m(2560),ae=m(9263),_e=m(5043),ce=m(930),ye=m(4666);class ue{constructor(he,w,n,o,h){this.httpClient=he,this.store=w,this.logger=n,this.snackBar=o,this.titleCasePipe=h,this.APIUrl=P.T5,this.lnImplementation="",this.lnImplementationUpdated=new t.X(null),this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x],this.mapAliases=(d,y)=>(d&&d.length>0?d.forEach((L,B)=>{if(y&&y.length>0)for(let v=0;vnull!==n),(0,u.z)(n=>{let o=this.APIUrl+"/"+n+P.NZ.PAYMENTS_API+"/decode/"+he;return"cln"===n&&(o=this.APIUrl+"/"+n+P.NZ.UTILITY_API+"/decode/"+he),this.store.dispatch((0,I.ac)({payload:M.m6.DECODE_PAYMENT})),this.httpClient.get(o).pipe((0,k.R)(this.unSubs[0]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:M.m6.DECODE_PAYMENT})),h)),(0,S.K)(h=>(w?this.handleErrorWithoutAlert("Decode Payment",M.m6.DECODE_PAYMENT,h):this.handleErrorWithAlert("decodePaymentData",M.m6.DECODE_PAYMENT,"Decode Payment Failed",o,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}decodePayments(he){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>{let n="",o="";return"ecl"===w?(n=this.APIUrl+"/"+w+P.NZ.PAYMENTS_API+"/getsentinfos",o=M.m6.GET_SENT_PAYMENTS):"cln"===w?(n=this.APIUrl+"/"+w+P.NZ.UTILITY_API,o=M.m6.DECODE_PAYMENTS):(n=this.APIUrl+"/"+w+P.NZ.PAYMENTS_API,o=M.m6.DECODE_PAYMENTS),this.store.dispatch((0,I.ac)({payload:o})),this.httpClient.post(n,{payments:he}).pipe((0,k.R)(this.unSubs[1]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:o})),h)),(0,S.K)(h=>(this.handleErrorWithAlert("decodePaymentsData",o,o+" Failed",n,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}getAliasesFromPubkeys(he,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{if(w){const o=(new e.LE).set("pubkeys",he);return this.httpClient.get(this.APIUrl+"/"+n+P.NZ.NETWORK_API+"/nodes",{params:o})}return this.httpClient.get(this.APIUrl+"/"+n+P.NZ.NETWORK_API+"/node/"+he)}))}signMessage(he){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>{let n=this.APIUrl+"/"+w+P.NZ.MESSAGE_API+"/sign";return"cln"===w&&(n=this.APIUrl+"/"+w+P.NZ.UTILITY_API+"/sign"),this.store.dispatch((0,I.ac)({payload:M.m6.SIGN_MESSAGE})),this.httpClient.post(n,{message:he}).pipe((0,k.R)(this.unSubs[2]),(0,p.U)(o=>(this.store.dispatch((0,I.uO)({payload:M.m6.SIGN_MESSAGE})),o)),(0,S.K)(o=>(this.handleErrorWithAlert("signMessageData",M.m6.SIGN_MESSAGE,"Sign Message Failed",n,o),(0,E._)(()=>new Error(this.extractErrorMessage(o))))))}))}verifyMessage(he,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{let o=this.APIUrl+"/"+n+P.NZ.MESSAGE_API+"/verify";return"cln"===n&&(o=this.APIUrl+"/"+n+P.NZ.UTILITY_API+"/verify"),this.store.dispatch((0,I.ac)({payload:M.m6.VERIFY_MESSAGE})),this.httpClient.post(o,{message:he,signature:w}).pipe((0,k.R)(this.unSubs[3]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:M.m6.VERIFY_MESSAGE})),h)),(0,S.K)(h=>(this.handleErrorWithAlert("verifyMessageData",M.m6.VERIFY_MESSAGE,"Verify Message Failed",o,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}bumpFee(he,w,n,o){return this.lnImplementationUpdated.pipe((0,D.P)(h=>null!==h),(0,u.z)(h=>{const d={txid:he,outputIndex:w};return n&&(d.targetConf=n),o&&(d.satPerByte=o),this.store.dispatch((0,I.ac)({payload:M.m6.BUMP_FEE})),this.httpClient.post(this.APIUrl+"/"+h+P.NZ.WALLET_API+"/bumpfee",d).pipe((0,k.R)(this.unSubs[4]),(0,p.U)(y=>(this.store.dispatch((0,I.uO)({payload:M.m6.BUMP_FEE})),this.snackBar.open("Successfully bumped the fee. Use the block explorer to verify transaction."),y)),(0,S.K)(y=>(this.handleErrorWithoutAlert("Bump Fee",M.m6.BUMP_FEE,y),(0,E._)(()=>new Error(this.extractErrorMessage(y))))))}))}labelUTXO(he,w,n=!0){return this.lnImplementationUpdated.pipe((0,D.P)(o=>null!==o),(0,u.z)(o=>{const h={txid:he,label:w,overwrite:n};return this.store.dispatch((0,I.ac)({payload:M.m6.LABEL_UTXO})),this.httpClient.post(this.APIUrl+"/"+o+P.NZ.WALLET_API+"/label",h).pipe((0,k.R)(this.unSubs[5]),(0,p.U)(d=>(this.store.dispatch((0,I.uO)({payload:M.m6.LABEL_UTXO})),d)),(0,S.K)(d=>(this.handleErrorWithoutAlert("Lease UTXO",M.m6.LABEL_UTXO,d),(0,E._)(()=>new Error(this.extractErrorMessage(d))))))}))}leaseUTXO(he,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{const o={txid:he,outputIndex:w};return this.store.dispatch((0,I.ac)({payload:M.m6.LEASE_UTXO})),this.httpClient.post(this.APIUrl+"/"+n+P.NZ.WALLET_API+"/lease",o).pipe((0,k.R)(this.unSubs[6]),(0,p.U)(h=>{this.store.dispatch((0,I.uO)({payload:M.m6.LEASE_UTXO})),this.store.dispatch((0,W.mC)()),this.store.dispatch((0,W.Ly)());const d=new Date(1e3*h.expiration),y=Math.round(d.getTime())-60*d.getTimezoneOffset();this.snackBar.open("The UTXO has been leased till "+new Date(y).toString().substring(4,21).replace(" ","/").replace(" ","/").toUpperCase()+".")}),(0,S.K)(h=>(this.handleErrorWithoutAlert("Lease UTXO",M.m6.LEASE_UTXO,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}getForwardingHistory(he,w,n,o){if("LND"===he){const h={end_time:n,start_time:w};return this.store.dispatch((0,I.ac)({payload:M.m6.GET_FORWARDING_HISTORY})),this.httpClient.post(this.APIUrl+"/lnd"+P.NZ.SWITCH_API,h).pipe((0,k.R)(this.unSubs[7]),(0,A.M)(this.store.select(Z._f)),(0,u.z)(([d,y])=>{if(d.forwarding_events){const L=[...y.channels,...y.closedChannels];d.forwarding_events.forEach(B=>{if(L&&L.length>0)for(let v=0;v(this.handleErrorWithAlert("getForwardingHistoryData",M.m6.GET_FORWARDING_HISTORY,"Forwarding History Failed",this.APIUrl+"/lnd"+P.NZ.SWITCH_API,d),(0,E._)(()=>new Error(this.extractErrorMessage(d))))))}return"CLN"===he?(this.store.dispatch((0,I.ac)({payload:M.m6.GET_FORWARDING_HISTORY})),this.httpClient.get(this.APIUrl+"/cln"+P.NZ.CHANNELS_API+"/listForwards?status="+o).pipe((0,k.R)(this.unSubs[8]),(0,A.M)(this.store.select(Q.ZW)),(0,u.z)(([h,d])=>{const y=this.mapAliases(h,[...d.activeChannels,...d.pendingChannels,...d.inactiveChannels]);return this.store.dispatch((0,I.uO)({payload:M.m6.GET_FORWARDING_HISTORY})),(0,s.of)(y)}),(0,S.K)(h=>(this.handleErrorWithAlert("getForwardingHistoryData",M.m6.GET_FORWARDING_HISTORY,"Forwarding History Failed",this.APIUrl+"/cln"+P.NZ.CHANNELS_API+"/listForwards?status="+o+"&start="+w+"&end="+n,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))):(0,s.of)({})}listNetworkNodes(he=""){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>(this.store.dispatch((0,I.ac)({payload:M.m6.LIST_NETWORK_NODES})),this.httpClient.get(this.APIUrl+"/"+w+P.NZ.NETWORK_API+"/listNodes"+he).pipe((0,k.R)(this.unSubs[9]),(0,u.z)(n=>(this.store.dispatch((0,I.uO)({payload:M.m6.LIST_NETWORK_NODES})),(0,s.of)(n))),(0,S.K)(n=>(this.handleErrorWithoutAlert("List Network Nodes",M.m6.LIST_NETWORK_NODES,n),(0,E._)(()=>this.extractErrorMessage(n))))))))}listConfigs(){return this.lnImplementationUpdated.pipe((0,D.P)(he=>null!==he),(0,u.z)(he=>(this.store.dispatch((0,I.ac)({payload:M.m6.GET_LIST_CONFIGS})),this.httpClient.get(this.APIUrl+"/"+he+P.NZ.UTILITY_API+"/listConfigs").pipe((0,k.R)(this.unSubs[10]),(0,u.z)(w=>(this.store.dispatch((0,I.uO)({payload:M.m6.GET_LIST_CONFIGS})),(0,s.of)(w))),(0,S.K)(w=>(this.handleErrorWithoutAlert("List Configurations",M.m6.GET_LIST_CONFIGS,w),(0,E._)(()=>this.extractErrorMessage(w))))))))}getOrUpdateFunderPolicy(he,w,n,o,h,d){return this.lnImplementationUpdated.pipe((0,D.P)(y=>null!==y),(0,u.z)(y=>{const L=he?{policy:he,policy_mod:w,lease_fee_base_msat:n,lease_fee_basis:o,channel_fee_max_base_msat:h,channel_fee_max_proportional_thousandths:d}:null;return this.store.dispatch((0,I.ac)({payload:M.m6.GET_FUNDER_POLICY})),this.httpClient.post(this.APIUrl+"/"+y+P.NZ.CHANNELS_API+"/funderUpdate",L).pipe((0,k.R)(this.unSubs[11]),(0,p.U)(B=>(this.store.dispatch((0,I.uO)({payload:M.m6.GET_FUNDER_POLICY})),L&&this.store.dispatch((0,I.jW)({payload:"Funder Policy Updated Successfully with Compact Lease: "+B.compact_lease+"!"})),B)),(0,S.K)(B=>(this.handleErrorWithoutAlert("Funder Policy",M.m6.GET_FUNDER_POLICY,B),(0,E._)(()=>new Error(this.extractErrorMessage(B))))))}))}extractErrorMessage(he,w="Unknown Error."){return this.titleCasePipe.transform(he.error.text&&"string"==typeof he.error.text&&he.error.text.includes('')?"API Route Does Not Exist.":he.error&&he.error.error&&he.error.error.error&&he.error.error.error.error&&he.error.error.error.error.error&&"string"==typeof he.error.error.error.error.error?he.error.error.error.error.error:he.error&&he.error.error&&he.error.error.error&&he.error.error.error.error&&"string"==typeof he.error.error.error.error?he.error.error.error.error:he.error&&he.error.error&&he.error.error.error&&"string"==typeof he.error.error.error?he.error.error.error:he.error&&he.error.error&&"string"==typeof he.error.error?he.error.error:he.error&&"string"==typeof he.error?he.error:he.error&&he.error.error&&he.error.error.error&&he.error.error.error.error&&he.error.error.error.error.message&&"string"==typeof he.error.error.error.error.message?he.error.error.error.error.message:he.error&&he.error.error&&he.error.error.error&&he.error.error.error.message&&"string"==typeof he.error.error.error.message?he.error.error.error.message:he.error&&he.error.error&&he.error.error.message&&"string"==typeof he.error.error.message?he.error.error.message:he.error&&he.error.message&&"string"==typeof he.error.message?he.error.message:he.message&&"string"==typeof he.message?he.message:w)}handleErrorWithoutAlert(he,w,n){n.error.text&&"string"==typeof n.error.text&&n.error.text.includes('')&&(n={status:403,error:{message:"API Route Does Not Exist."}}),this.logger.error("ERROR IN: "+he+"\n"+JSON.stringify(n)),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,I.ts)()),this.store.dispatch((0,I.kS)()),this.store.dispatch((0,I.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,I.uO)({payload:w})),this.store.dispatch((0,I.qi)({payload:{action:he,status:M.Bn.ERROR,statusCode:n.status.toString(),message:this.extractErrorMessage(n)}})))}handleErrorWithAlert(he,w,n,o,h){if(this.logger.error(h),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,I.ts)()),this.store.dispatch((0,I.kS)()),this.store.dispatch((0,I.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,I.uO)({payload:w}));const d=this.extractErrorMessage(h);this.store.dispatch((0,I.qR)({payload:{data:{type:"ERROR",alertTitle:n,message:{code:h.status?h.status:"Unknown Error",message:d,URL:o},component:z.H}}})),this.store.dispatch((0,I.qi)({payload:{action:he,status:M.Bn.ERROR,statusCode:h.status.toString(),message:d,URL:o}}))}}ngOnDestroy(){this.unSubs.forEach(he=>{he.next(null),he.complete()})}static#e=this.\u0275fac=function(w){return new(w||ue)(ie.LFG(e.eN),ie.LFG(ae.yh),ie.LFG(_e.mQ),ie.LFG(ce.ux),ie.LFG(ye.rS))};static#t=this.\u0275prov=ie.Yz7({token:ue,factory:ue.\u0275fac})}},5043:(Ue,q,m)=>{"use strict";m.d(q,{LG:()=>u,mQ:()=>D});var e=m(2340),t=m(2560);const{isDebugMode:_}=e.NZ,E=()=>null;class D{invokeConsoleMethod(p,S){}static#e=this.\u0275fac=function(S){return new(S||D)};static#t=this.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac})}class u{get info(){return _?console.log.bind(console):E}get warn(){return _?console.warn.bind(console):E}get error(){return _?console.error.bind(console):E}invokeConsoleMethod(p,S){(console[p]||console.log||E).apply(console,[S])}static#e=this.\u0275fac=function(S){return new(S||u)};static#t=this.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac})}},1419:(Ue,q,m)=>{"use strict";m.d(q,{W:()=>Z});var e=m(8987),t=m(6317),_=m(253),E=m(745),s=m(5474),D=m(8951),u=m(3158),k=m(635),p=m(2340),S=m(7731),A=m(1786),P=m(7861),M=m(2560),z=m(5043),I=m(9263),W=m(62);class Z{constructor(ie,ae,_e,ce){this.httpClient=ie,this.logger=ae,this.store=_e,this.commonService=ce,this.loopUrl="",this.swaps=[],this.swapsChanged=new t.X([]),this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch((0,P.ac)({payload:S.m6.GET_LOOP_SWAPS})),this.loopUrl=p.T5+p.NZ.LOOP_API+"/swaps",this.httpClient.get(this.loopUrl).pipe((0,D.R)(this.unSubs[0])).subscribe({next:ie=>{this.store.dispatch((0,P.uO)({payload:S.m6.GET_LOOP_SWAPS})),this.swaps=ie,this.swapsChanged.next(this.swaps)},error:ie=>this.swapsChanged.error(this.handleErrorWithAlert(S.m6.GET_LOOP_SWAPS,this.loopUrl,ie))})}loopOut(ie,ae,_e,ce,ye,ue,$,he,w,n){const o={amount:ie,targetConf:_e,swapRoutingFee:ce,minerFee:ye,prepayRoutingFee:ue,prepayAmt:$,swapFee:he,swapPublicationDeadline:w,destAddress:n};return""!==ae&&(o.chanId=ae),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out",this.httpClient.post(this.loopUrl,o).pipe((0,u.K)(h=>this.handleErrorWithoutAlert("Loop Out for Channel: "+ae,S.m6.NO_SPINNER,h)))}getLoopOutTerms(){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/terms",this.httpClient.get(this.loopUrl).pipe((0,u.K)(ie=>this.handleErrorWithoutAlert("Loop Out Terms",S.m6.NO_SPINNER,ie)))}getLoopOutQuote(ie,ae,_e){let ce=new e.LE;return ce=ce.append("targetConf",ae.toString()),ce=ce.append("swapPublicationDeadline",_e.toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/quote/"+ie,this.store.dispatch((0,P.ac)({payload:S.m6.GET_QUOTE})),this.httpClient.get(this.loopUrl,{params:ce}).pipe((0,D.R)(this.unSubs[1]),(0,k.U)(ye=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_QUOTE})),ye)),(0,u.K)(ye=>this.handleErrorWithoutAlert("Loop Out Quote",S.m6.GET_QUOTE,ye)))}getLoopOutTermsAndQuotes(ie){let ae=new e.LE;return ae=ae.append("targetConf",ie.toString()),ae=ae.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/termsAndQuotes",this.store.dispatch((0,P.ac)({payload:S.m6.GET_TERMS_QUOTES})),this.httpClient.get(this.loopUrl,{params:ae}).pipe((0,D.R)(this.unSubs[2]),(0,k.U)(_e=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_TERMS_QUOTES})),_e)),(0,u.K)(_e=>(0,E.of)(this.handleErrorWithAlert(S.m6.GET_TERMS_QUOTES,this.loopUrl,_e))))}loopIn(ie,ae,_e,ce,ye){const ue={amount:ie,swapFee:ae,minerFee:_e,lastHop:ce,externalHtlc:ye};return this.loopUrl=p.T5+p.NZ.LOOP_API+"/in",this.httpClient.post(this.loopUrl,ue).pipe((0,u.K)($=>this.handleErrorWithoutAlert("Loop In",S.m6.NO_SPINNER,$)))}getLoopInTerms(){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/terms",this.httpClient.get(this.loopUrl).pipe((0,u.K)(ie=>this.handleErrorWithoutAlert("Loop In Terms",S.m6.NO_SPINNER,ie)))}getLoopInQuote(ie,ae,_e){let ce=new e.LE;return ce=ce.append("targetConf",ae.toString()),ce=ce.append("swapPublicationDeadline",_e.toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/quote/"+ie,this.store.dispatch((0,P.ac)({payload:S.m6.GET_QUOTE})),this.httpClient.get(this.loopUrl,{params:ce}).pipe((0,D.R)(this.unSubs[3]),(0,k.U)(ye=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_QUOTE})),ye)),(0,u.K)(ye=>this.handleErrorWithoutAlert("Loop In Qoute",S.m6.GET_QUOTE,ye)))}getLoopInTermsAndQuotes(ie){let ae=new e.LE;return ae=ae.append("targetConf",ie.toString()),ae=ae.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/termsAndQuotes",this.store.dispatch((0,P.ac)({payload:S.m6.GET_TERMS_QUOTES})),this.httpClient.get(this.loopUrl,{params:ae}).pipe((0,D.R)(this.unSubs[4]),(0,k.U)(_e=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_TERMS_QUOTES})),_e)),(0,u.K)(_e=>(0,E.of)(this.handleErrorWithAlert(S.m6.GET_TERMS_QUOTES,this.loopUrl,_e))))}getSwap(ie){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/swap/"+ie,this.httpClient.get(this.loopUrl).pipe((0,u.K)(ae=>this.handleErrorWithoutAlert("Loop Get Swap for ID: "+ie,S.m6.NO_SPINNER,ae)))}handleErrorWithoutAlert(ie,ae,_e){let ce="";return this.logger.error("ERROR IN: "+ie+"\n"+JSON.stringify(_e)),this.store.dispatch((0,P.uO)({payload:ae})),401===_e.status?(ce="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.kS)())):503===_e.status?(ce="Unable to Connect to Loop Server.",this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:_e.status,message:"Unable to Connect to Loop Server",URL:ie},component:A.H}}}))):ce=this.commonService.extractErrorMessage(_e),(0,s._)(()=>new Error(ce))}handleErrorWithAlert(ie,ae,_e){let ce="";if(this.logger.error(_e),this.store.dispatch((0,P.uO)({payload:ie})),401===_e.status)ce="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.kS)());else if(503===_e.status)ce="Unable to Connect to Loop Server.",setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:_e.status,message:"Unable to Connect to Loop Server",URL:ae},component:A.H}}}))},100);else{ce=this.commonService.extractErrorMessage(_e);const ye=_e.error&&_e.error.error&&_e.error.error.code?_e.error.error.code:_e.error&&_e.error.code?_e.error.code:_e.code?_e.code:_e.status;setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:S.n_.ERROR,alertTitle:"ERROR",message:{code:ye,message:ce,URL:ae},component:A.H}}}))},100)}return{message:ce}}ngOnDestroy(){this.unSubs.forEach(ie=>{ie.next(null),ie.complete()})}static#e=this.\u0275fac=function(ae){return new(ae||Z)(M.LFG(e.eN),M.LFG(z.mQ),M.LFG(I.yh),M.LFG(W.v))};static#t=this.\u0275prov=M.Yz7({token:Z,factory:Z.\u0275fac})}},5986:(Ue,q,m)=>{"use strict";m.d(q,{m:()=>_});var e=m(253),t=m(2560);class _{constructor(){this.sessionSub=new e.x}watchSession(){return this.sessionSub.asObservable()}getItem(s){return sessionStorage.getItem(s)}getAllItems(){return sessionStorage}setItem(s,D){sessionStorage.setItem(s,D),this.sessionSub.next(sessionStorage)}removeItem(s){sessionStorage.removeItem(s),this.sessionSub.next(sessionStorage)}clearAll(){sessionStorage.clear(),this.sessionSub.next(sessionStorage)}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275prov=t.Yz7({token:_,factory:_.\u0275fac})}},3512:(Ue,q,m)=>{"use strict";m.d(q,{d:()=>z});var e=m(6317),t=m(253),_=m(8951),E=m(5463),s=m(833),D=m(7714),u=m(6067);const k={url:"",deserializer:I=>JSON.parse(I.data),serializer:I=>JSON.stringify(I)};class S extends t.u{constructor(W,Z){if(super(),this._socket=null,W instanceof s.y)this.destination=Z,this.source=W;else{const Q=this._config=Object.assign({},k);if(this._output=new t.x,"string"==typeof W)Q.url=W;else for(const ie in W)W.hasOwnProperty(ie)&&(Q[ie]=W[ie]);if(!Q.WebSocketCtor&&WebSocket)Q.WebSocketCtor=WebSocket;else if(!Q.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new u.t}}lift(W){const Z=new S(this._config,this.destination);return Z.operator=W,Z.source=this,Z}_resetState(){this._socket=null,this.source||(this.destination=new u.t),this._output=new t.x}multiplex(W,Z,Q){const ie=this;return new s.y(ae=>{try{ie.next(W())}catch(ce){ae.error(ce)}const _e=ie.subscribe({next:ce=>{try{Q(ce)&&ae.next(ce)}catch(ye){ae.error(ye)}},error:ce=>ae.error(ce),complete:()=>ae.complete()});return()=>{try{ie.next(Z())}catch(ce){ae.error(ce)}_e.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:W,protocol:Z,url:Q,binaryType:ie}=this._config,ae=this._output;let _e=null;try{_e=Z?new W(Q,Z):new W(Q),this._socket=_e,ie&&(this._socket.binaryType=ie)}catch(ye){return void ae.error(ye)}const ce=new D.w0(()=>{this._socket=null,_e&&1===_e.readyState&&_e.close()});_e.onopen=ye=>{const{_socket:ue}=this;if(!ue)return _e.close(),void this._resetState();const{openObserver:$}=this._config;$&&$.next(ye);const he=this.destination;this.destination=E.Lv.create(w=>{if(1===_e.readyState)try{const{serializer:n}=this._config;_e.send(n(w))}catch(n){this.destination.error(n)}},w=>{const{closingObserver:n}=this._config;n&&n.next(void 0),w&&w.code?_e.close(w.code,w.reason):ae.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:w}=this._config;w&&w.next(void 0),_e.close(),this._resetState()}),he&&he instanceof u.t&&ce.add(he.subscribe(this.destination))},_e.onerror=ye=>{this._resetState(),ae.error(ye)},_e.onclose=ye=>{_e===this._socket&&this._resetState();const{closeObserver:ue}=this._config;ue&&ue.next(ye),ye.wasClean?ae.complete():ae.error(ye)},_e.onmessage=ye=>{try{const{deserializer:ue}=this._config;ae.next(ue(ye))}catch(ue){ae.error(ue)}}}_subscribe(W){const{source:Z}=this;return Z?Z.subscribe(W):(this._socket||this._connectSocket(),this._output.subscribe(W),W.add(()=>{const{_socket:Q}=this;0===this._output.observers.length&&(Q&&(1===Q.readyState||0===Q.readyState)&&Q.close(),this._resetState())}),W)}unsubscribe(){const{_socket:W}=this;W&&(1===W.readyState||0===W.readyState)&&W.close(),this._resetState(),super.unsubscribe()}}var A=m(2560),P=m(5043),M=m(5986);class z{constructor(W,Z){this.logger=W,this.sessionService=Z,this.clWSMessages=new e.X(null),this.eclWSMessages=new e.X(null),this.lndWSMessages=new e.X(null),this.wsUrl="",this.nodeIndex="",this.RETRY_SECONDS=5,this.RECONNECT_TIMEOUT=null,this.unSubs=[new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x]}connectWebSocket(W,Z){(!this.socket||this.socket.closed)&&(this.wsUrl=W,this.nodeIndex=Z,this.logger.info("Websocket Url: "+this.wsUrl),this.socket=new S({url:W,protocol:[this.sessionService.getItem("token")||"",Z]}),this.subscribeToMessages())}reconnectOnError(){this.RECONNECT_TIMEOUT||this.socket&&!this.socket.closed||(this.RETRY_SECONDS=this.RETRY_SECONDS>=160?160:2*this.RETRY_SECONDS,this.RECONNECT_TIMEOUT=setTimeout(()=>{this.logger.info("Reconnecting Web Socket."),this.connectWebSocket(this.wsUrl,this.nodeIndex),this.RECONNECT_TIMEOUT=null},1e3*this.RETRY_SECONDS))}closeConnection(){this.socket&&(this.socket.complete(),this.socket=null)}subscribeToMessages(){this.socket?.pipe((0,_.R)(this.unSubs[1])).subscribe({next:W=>{if((W="string"==typeof W?JSON.parse(W):W).error)this.handleError(W.error);else switch(this.logger.info("Next Message from WS:"+JSON.stringify(W)),W.source){case"LND":this.lndWSMessages.next(W);break;case"CLN":this.clWSMessages.next(W);break;case"ECL":this.eclWSMessages.next(W)}},error:W=>this.handleError(W),complete:()=>{this.logger.info("Web Socket Closed")}})}handleError(W){this.logger.error(W),this.clWSMessages.error(W),this.eclWSMessages.error(W),this.lndWSMessages.error(W),this.reconnectOnError()}ngOnDestroy(){this.closeConnection(),this.clWSMessages.next(null),this.clWSMessages.complete(),this.eclWSMessages.next(null),this.eclWSMessages.complete(),this.lndWSMessages.next(null),this.lndWSMessages.complete()}static#e=this.\u0275fac=function(Z){return new(Z||z)(A.LFG(P.mQ),A.LFG(M.m))};static#t=this.\u0275prov=A.Yz7({token:z,factory:z.\u0275fac})}},6165:(Ue,q,m)=>{"use strict";m.d(q,{m:()=>Va});var e=m(4666),t=m(3547),_=m(2508),E=m(8987),s=m(3505),D=m(2560),u=m(4658),k=m(3704),p=m(6722),S=m(8971);const A="stretch",P="stretch";class M extends u.QI{buildStyles(xt){return function ie(dn=""){const xt={},[Nt,Fn]=dn.split(" ");switch(Nt){case"end":xt["justify-self"]="end";break;case"center":xt["justify-self"]="center";break;case"stretch":xt["justify-self"]="stretch";break;case"start":xt["justify-self"]="start";break;default:xt["justify-self"]=A}switch(Fn){case"end":xt["align-self"]="end";break;case"center":xt["align-self"]="center";break;case"stretch":xt["align-self"]="stretch";break;case"start":xt["align-self"]="start";break;default:xt["align-self"]=P}return xt}(xt||A)}}M.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(M)))(Nt||M)}}(),M.\u0275prov=D.Yz7({token:M,factory:M.\u0275fac,providedIn:"root"});class z extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-align",this.styleCache=I,this.init()}}z.\u0275fac=function(xt){return new(xt||z)(D.Y36(D.SBq),D.Y36(M),D.Y36(u.RK),D.Y36(u.yB))},z.\u0275dir=D.lG2({type:z,features:[D.qOj]});const I=new Map,W=["gdGridAlign","gdGridAlign.xs","gdGridAlign.sm","gdGridAlign.md","gdGridAlign.lg","gdGridAlign.xl","gdGridAlign.lt-sm","gdGridAlign.lt-md","gdGridAlign.lt-lg","gdGridAlign.lt-xl","gdGridAlign.gt-xs","gdGridAlign.gt-sm","gdGridAlign.gt-md","gdGridAlign.gt-lg"];class Q extends z{constructor(){super(...arguments),this.inputs=W}}Q.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Q)))(Nt||Q)}}(),Q.\u0275dir=D.lG2({type:Q,selectors:[["","gdGridAlign",""],["","gdGridAlign.xs",""],["","gdGridAlign.sm",""],["","gdGridAlign.md",""],["","gdGridAlign.lg",""],["","gdGridAlign.xl",""],["","gdGridAlign.lt-sm",""],["","gdGridAlign.lt-md",""],["","gdGridAlign.lt-lg",""],["","gdGridAlign.lt-xl",""],["","gdGridAlign.gt-xs",""],["","gdGridAlign.gt-sm",""],["","gdGridAlign.gt-md",""],["","gdGridAlign.gt-lg",""]],inputs:{gdGridAlign:"gdGridAlign","gdGridAlign.xs":"gdGridAlign.xs","gdGridAlign.sm":"gdGridAlign.sm","gdGridAlign.md":"gdGridAlign.md","gdGridAlign.lg":"gdGridAlign.lg","gdGridAlign.xl":"gdGridAlign.xl","gdGridAlign.lt-sm":"gdGridAlign.lt-sm","gdGridAlign.lt-md":"gdGridAlign.lt-md","gdGridAlign.lt-lg":"gdGridAlign.lt-lg","gdGridAlign.lt-xl":"gdGridAlign.lt-xl","gdGridAlign.gt-xs":"gdGridAlign.gt-xs","gdGridAlign.gt-sm":"gdGridAlign.gt-sm","gdGridAlign.gt-md":"gdGridAlign.gt-md","gdGridAlign.gt-lg":"gdGridAlign.gt-lg"},features:[D.qOj]});const ae="start",_e="stretch";class ce extends u.QI{buildStyles(xt,Nt){return function o(dn,xt){const Nt={},[Fn,ri]=dn.split(" ");switch(Fn){case"center":Nt["align-content"]="center";break;case"space-around":Nt["align-content"]="space-around";break;case"space-between":Nt["align-content"]="space-between";break;case"space-evenly":Nt["align-content"]="space-evenly";break;case"end":Nt["align-content"]="end";break;case"start":Nt["align-content"]="start";break;case"stretch":Nt["align-content"]="stretch";break;default:Nt["align-content"]=ae}switch(ri){case"start":Nt["align-items"]="start";break;case"center":Nt["align-items"]="center";break;case"end":Nt["align-items"]="end";break;case"stretch":Nt["align-items"]="stretch";break;default:Nt["align-items"]=_e}return Nt.display=xt?"inline-grid":"grid",Nt}(xt||`start ${_e}`,Nt.inline)}}ce.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(ce)))(Nt||ce)}}(),ce.\u0275prov=D.Yz7({token:ce,factory:ce.\u0275fac,providedIn:"root"});class ye extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-align-columns",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?$:ue,this.addStyles(xt,{inline:this.inline})}}ye.\u0275fac=function(xt){return new(xt||ye)(D.Y36(D.SBq),D.Y36(ce),D.Y36(u.RK),D.Y36(u.yB))},ye.\u0275dir=D.lG2({type:ye,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const ue=new Map,$=new Map,he=["gdAlignColumns","gdAlignColumns.xs","gdAlignColumns.sm","gdAlignColumns.md","gdAlignColumns.lg","gdAlignColumns.xl","gdAlignColumns.lt-sm","gdAlignColumns.lt-md","gdAlignColumns.lt-lg","gdAlignColumns.lt-xl","gdAlignColumns.gt-xs","gdAlignColumns.gt-sm","gdAlignColumns.gt-md","gdAlignColumns.gt-lg"];class n extends ye{constructor(){super(...arguments),this.inputs=he}}n.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(n)))(Nt||n)}}(),n.\u0275dir=D.lG2({type:n,selectors:[["","gdAlignColumns",""],["","gdAlignColumns.xs",""],["","gdAlignColumns.sm",""],["","gdAlignColumns.md",""],["","gdAlignColumns.lg",""],["","gdAlignColumns.xl",""],["","gdAlignColumns.lt-sm",""],["","gdAlignColumns.lt-md",""],["","gdAlignColumns.lt-lg",""],["","gdAlignColumns.lt-xl",""],["","gdAlignColumns.gt-xs",""],["","gdAlignColumns.gt-sm",""],["","gdAlignColumns.gt-md",""],["","gdAlignColumns.gt-lg",""]],inputs:{gdAlignColumns:"gdAlignColumns","gdAlignColumns.xs":"gdAlignColumns.xs","gdAlignColumns.sm":"gdAlignColumns.sm","gdAlignColumns.md":"gdAlignColumns.md","gdAlignColumns.lg":"gdAlignColumns.lg","gdAlignColumns.xl":"gdAlignColumns.xl","gdAlignColumns.lt-sm":"gdAlignColumns.lt-sm","gdAlignColumns.lt-md":"gdAlignColumns.lt-md","gdAlignColumns.lt-lg":"gdAlignColumns.lt-lg","gdAlignColumns.lt-xl":"gdAlignColumns.lt-xl","gdAlignColumns.gt-xs":"gdAlignColumns.gt-xs","gdAlignColumns.gt-sm":"gdAlignColumns.gt-sm","gdAlignColumns.gt-md":"gdAlignColumns.gt-md","gdAlignColumns.gt-lg":"gdAlignColumns.gt-lg"},features:[D.qOj]});const h="start",d="stretch";class y extends u.QI{buildStyles(xt,Nt){return function F(dn,xt){const Nt={},[Fn,ri]=dn.split(" ");switch(Fn){case"center":case"space-around":case"space-between":case"space-evenly":case"end":case"start":case"stretch":Nt["justify-content"]=Fn;break;default:Nt["justify-content"]=h}switch(ri){case"start":case"center":case"end":case"stretch":Nt["justify-items"]=ri;break;default:Nt["justify-items"]=d}return Nt.display=xt?"inline-grid":"grid",Nt}(xt||`${h} ${d}`,Nt.inline)}}y.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(y)))(Nt||y)}}(),y.\u0275prov=D.Yz7({token:y,factory:y.\u0275fac,providedIn:"root"});class L extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-align-rows",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?v:B,this.addStyles(xt,{inline:this.inline})}}L.\u0275fac=function(xt){return new(xt||L)(D.Y36(D.SBq),D.Y36(y),D.Y36(u.RK),D.Y36(u.yB))},L.\u0275dir=D.lG2({type:L,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const B=new Map,v=new Map,a=["gdAlignRows","gdAlignRows.xs","gdAlignRows.sm","gdAlignRows.md","gdAlignRows.lg","gdAlignRows.xl","gdAlignRows.lt-sm","gdAlignRows.lt-md","gdAlignRows.lt-lg","gdAlignRows.lt-xl","gdAlignRows.gt-xs","gdAlignRows.gt-sm","gdAlignRows.gt-md","gdAlignRows.gt-lg"];class N extends L{constructor(){super(...arguments),this.inputs=a}}N.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(N)))(Nt||N)}}(),N.\u0275dir=D.lG2({type:N,selectors:[["","gdAlignRows",""],["","gdAlignRows.xs",""],["","gdAlignRows.sm",""],["","gdAlignRows.md",""],["","gdAlignRows.lg",""],["","gdAlignRows.xl",""],["","gdAlignRows.lt-sm",""],["","gdAlignRows.lt-md",""],["","gdAlignRows.lt-lg",""],["","gdAlignRows.lt-xl",""],["","gdAlignRows.gt-xs",""],["","gdAlignRows.gt-sm",""],["","gdAlignRows.gt-md",""],["","gdAlignRows.gt-lg",""]],inputs:{gdAlignRows:"gdAlignRows","gdAlignRows.xs":"gdAlignRows.xs","gdAlignRows.sm":"gdAlignRows.sm","gdAlignRows.md":"gdAlignRows.md","gdAlignRows.lg":"gdAlignRows.lg","gdAlignRows.xl":"gdAlignRows.xl","gdAlignRows.lt-sm":"gdAlignRows.lt-sm","gdAlignRows.lt-md":"gdAlignRows.lt-md","gdAlignRows.lt-lg":"gdAlignRows.lt-lg","gdAlignRows.lt-xl":"gdAlignRows.lt-xl","gdAlignRows.gt-xs":"gdAlignRows.gt-xs","gdAlignRows.gt-sm":"gdAlignRows.gt-sm","gdAlignRows.gt-md":"gdAlignRows.gt-md","gdAlignRows.gt-lg":"gdAlignRows.gt-lg"},features:[D.qOj]});class Fe extends u.QI{buildStyles(xt){return{"grid-area":xt||"auto"}}}Fe.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Fe)))(Nt||Fe)}}(),Fe.\u0275prov=D.Yz7({token:Fe,factory:Fe.\u0275fac,providedIn:"root"});class ke extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Fn,Nt,ri),this.DIRECTIVE_KEY="grid-area",this.styleCache=Ke,this.init()}}ke.\u0275fac=function(xt){return new(xt||ke)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(Fe),D.Y36(u.yB))},ke.\u0275dir=D.lG2({type:ke,features:[D.qOj]});const Ke=new Map,je=["gdArea","gdArea.xs","gdArea.sm","gdArea.md","gdArea.lg","gdArea.xl","gdArea.lt-sm","gdArea.lt-md","gdArea.lt-lg","gdArea.lt-xl","gdArea.gt-xs","gdArea.gt-sm","gdArea.gt-md","gdArea.gt-lg"];class xe extends ke{constructor(){super(...arguments),this.inputs=je}}xe.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(xe)))(Nt||xe)}}(),xe.\u0275dir=D.lG2({type:xe,selectors:[["","gdArea",""],["","gdArea.xs",""],["","gdArea.sm",""],["","gdArea.md",""],["","gdArea.lg",""],["","gdArea.xl",""],["","gdArea.lt-sm",""],["","gdArea.lt-md",""],["","gdArea.lt-lg",""],["","gdArea.lt-xl",""],["","gdArea.gt-xs",""],["","gdArea.gt-sm",""],["","gdArea.gt-md",""],["","gdArea.gt-lg",""]],inputs:{gdArea:"gdArea","gdArea.xs":"gdArea.xs","gdArea.sm":"gdArea.sm","gdArea.md":"gdArea.md","gdArea.lg":"gdArea.lg","gdArea.xl":"gdArea.xl","gdArea.lt-sm":"gdArea.lt-sm","gdArea.lt-md":"gdArea.lt-md","gdArea.lt-lg":"gdArea.lt-lg","gdArea.lt-xl":"gdArea.lt-xl","gdArea.gt-xs":"gdArea.gt-xs","gdArea.gt-sm":"gdArea.gt-sm","gdArea.gt-md":"gdArea.gt-md","gdArea.gt-lg":"gdArea.gt-lg"},features:[D.qOj]});class ve extends u.QI{buildStyles(xt,Nt){const Fn=(xt||"none").split("|").map(ri=>`"${ri.trim()}"`);return{display:Nt.inline?"inline-grid":"grid","grid-template-areas":Fn.join(" ")}}}ve.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(ve)))(Nt||ve)}}(),ve.\u0275prov=D.Yz7({token:ve,factory:ve.\u0275fac,providedIn:"root"});class et extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Fn,Nt,ri),this.DIRECTIVE_KEY="grid-areas",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Le:ht,this.addStyles(xt,{inline:this.inline})}}et.\u0275fac=function(xt){return new(xt||et)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(ve),D.Y36(u.yB))},et.\u0275dir=D.lG2({type:et,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const ht=new Map,Le=new Map,Ae=["gdAreas","gdAreas.xs","gdAreas.sm","gdAreas.md","gdAreas.lg","gdAreas.xl","gdAreas.lt-sm","gdAreas.lt-md","gdAreas.lt-lg","gdAreas.lt-xl","gdAreas.gt-xs","gdAreas.gt-sm","gdAreas.gt-md","gdAreas.gt-lg"];class pe extends et{constructor(){super(...arguments),this.inputs=Ae}}pe.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(pe)))(Nt||pe)}}(),pe.\u0275dir=D.lG2({type:pe,selectors:[["","gdAreas",""],["","gdAreas.xs",""],["","gdAreas.sm",""],["","gdAreas.md",""],["","gdAreas.lg",""],["","gdAreas.xl",""],["","gdAreas.lt-sm",""],["","gdAreas.lt-md",""],["","gdAreas.lt-lg",""],["","gdAreas.lt-xl",""],["","gdAreas.gt-xs",""],["","gdAreas.gt-sm",""],["","gdAreas.gt-md",""],["","gdAreas.gt-lg",""]],inputs:{gdAreas:"gdAreas","gdAreas.xs":"gdAreas.xs","gdAreas.sm":"gdAreas.sm","gdAreas.md":"gdAreas.md","gdAreas.lg":"gdAreas.lg","gdAreas.xl":"gdAreas.xl","gdAreas.lt-sm":"gdAreas.lt-sm","gdAreas.lt-md":"gdAreas.lt-md","gdAreas.lt-lg":"gdAreas.lt-lg","gdAreas.lt-xl":"gdAreas.lt-xl","gdAreas.gt-xs":"gdAreas.gt-xs","gdAreas.gt-sm":"gdAreas.gt-sm","gdAreas.gt-md":"gdAreas.gt-md","gdAreas.gt-lg":"gdAreas.gt-lg"},features:[D.qOj]});class H extends u.QI{buildStyles(xt,Nt){let[Fn,ri]=(xt||"initial").split(" ");return"column"!==Fn&&"row"!==Fn&&"dense"!==Fn&&(Fn="row"),ri="dense"===ri&&"dense"!==Fn?" dense":"",{display:Nt.inline?"inline-grid":"grid","grid-auto-flow":Fn+ri}}}H.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(H)))(Nt||H)}}(),H.\u0275prov=D.Yz7({token:H,factory:H.\u0275fac,providedIn:"root"});class j extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this._inline=!1,this.DIRECTIVE_KEY="grid-auto",this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Re:Oe,this.addStyles(xt,{inline:this.inline})}}j.\u0275fac=function(xt){return new(xt||j)(D.Y36(D.SBq),D.Y36(H),D.Y36(u.RK),D.Y36(u.yB))},j.\u0275dir=D.lG2({type:j,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const Oe=new Map,Re=new Map,le=["gdAuto","gdAuto.xs","gdAuto.sm","gdAuto.md","gdAuto.lg","gdAuto.xl","gdAuto.lt-sm","gdAuto.lt-md","gdAuto.lt-lg","gdAuto.lt-xl","gdAuto.gt-xs","gdAuto.gt-sm","gdAuto.gt-md","gdAuto.gt-lg"];class it extends j{constructor(){super(...arguments),this.inputs=le}}it.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(it)))(Nt||it)}}(),it.\u0275dir=D.lG2({type:it,selectors:[["","gdAuto",""],["","gdAuto.xs",""],["","gdAuto.sm",""],["","gdAuto.md",""],["","gdAuto.lg",""],["","gdAuto.xl",""],["","gdAuto.lt-sm",""],["","gdAuto.lt-md",""],["","gdAuto.lt-lg",""],["","gdAuto.lt-xl",""],["","gdAuto.gt-xs",""],["","gdAuto.gt-sm",""],["","gdAuto.gt-md",""],["","gdAuto.gt-lg",""]],inputs:{gdAuto:"gdAuto","gdAuto.xs":"gdAuto.xs","gdAuto.sm":"gdAuto.sm","gdAuto.md":"gdAuto.md","gdAuto.lg":"gdAuto.lg","gdAuto.xl":"gdAuto.xl","gdAuto.lt-sm":"gdAuto.lt-sm","gdAuto.lt-md":"gdAuto.lt-md","gdAuto.lt-lg":"gdAuto.lt-lg","gdAuto.lt-xl":"gdAuto.lt-xl","gdAuto.gt-xs":"gdAuto.gt-xs","gdAuto.gt-sm":"gdAuto.gt-sm","gdAuto.gt-md":"gdAuto.gt-md","gdAuto.gt-lg":"gdAuto.gt-lg"},features:[D.qOj]});class un extends u.QI{buildStyles(xt){return{"grid-column":xt||"auto"}}}un.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(un)))(Nt||un)}}(),un.\u0275prov=D.Yz7({token:un,factory:un.\u0275fac,providedIn:"root"});class Bt extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-column",this.styleCache=Ut,this.init()}}Bt.\u0275fac=function(xt){return new(xt||Bt)(D.Y36(D.SBq),D.Y36(un),D.Y36(u.RK),D.Y36(u.yB))},Bt.\u0275dir=D.lG2({type:Bt,features:[D.qOj]});const Ut=new Map,yn=["gdColumn","gdColumn.xs","gdColumn.sm","gdColumn.md","gdColumn.lg","gdColumn.xl","gdColumn.lt-sm","gdColumn.lt-md","gdColumn.lt-lg","gdColumn.lt-xl","gdColumn.gt-xs","gdColumn.gt-sm","gdColumn.gt-md","gdColumn.gt-lg"];class Gt extends Bt{constructor(){super(...arguments),this.inputs=yn}}Gt.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Gt)))(Nt||Gt)}}(),Gt.\u0275dir=D.lG2({type:Gt,selectors:[["","gdColumn",""],["","gdColumn.xs",""],["","gdColumn.sm",""],["","gdColumn.md",""],["","gdColumn.lg",""],["","gdColumn.xl",""],["","gdColumn.lt-sm",""],["","gdColumn.lt-md",""],["","gdColumn.lt-lg",""],["","gdColumn.lt-xl",""],["","gdColumn.gt-xs",""],["","gdColumn.gt-sm",""],["","gdColumn.gt-md",""],["","gdColumn.gt-lg",""]],inputs:{gdColumn:"gdColumn","gdColumn.xs":"gdColumn.xs","gdColumn.sm":"gdColumn.sm","gdColumn.md":"gdColumn.md","gdColumn.lg":"gdColumn.lg","gdColumn.xl":"gdColumn.xl","gdColumn.lt-sm":"gdColumn.lt-sm","gdColumn.lt-md":"gdColumn.lt-md","gdColumn.lt-lg":"gdColumn.lt-lg","gdColumn.lt-xl":"gdColumn.lt-xl","gdColumn.gt-xs":"gdColumn.gt-xs","gdColumn.gt-sm":"gdColumn.gt-sm","gdColumn.gt-md":"gdColumn.gt-md","gdColumn.gt-lg":"gdColumn.gt-lg"},features:[D.qOj]});class tn extends u.QI{buildStyles(xt,Nt){let Fn=!1;(xt=xt||"none").endsWith("!")&&(xt=xt.substring(0,xt.indexOf("!")),Fn=!0);const ri={display:Nt.inline?"inline-grid":"grid","grid-auto-columns":"","grid-template-columns":""};return ri[Fn?"grid-auto-columns":"grid-template-columns"]=xt,ri}}tn.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(tn)))(Nt||tn)}}(),tn.\u0275prov=D.Yz7({token:tn,factory:tn.\u0275fac,providedIn:"root"});class pn extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-columns",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?vt:tt,this.addStyles(xt,{inline:this.inline})}}pn.\u0275fac=function(xt){return new(xt||pn)(D.Y36(D.SBq),D.Y36(tn),D.Y36(u.RK),D.Y36(u.yB))},pn.\u0275dir=D.lG2({type:pn,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const tt=new Map,vt=new Map,dt=["gdColumns","gdColumns.xs","gdColumns.sm","gdColumns.md","gdColumns.lg","gdColumns.xl","gdColumns.lt-sm","gdColumns.lt-md","gdColumns.lt-lg","gdColumns.lt-xl","gdColumns.gt-xs","gdColumns.gt-sm","gdColumns.gt-md","gdColumns.gt-lg"];class J extends pn{constructor(){super(...arguments),this.inputs=dt}}J.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(J)))(Nt||J)}}(),J.\u0275dir=D.lG2({type:J,selectors:[["","gdColumns",""],["","gdColumns.xs",""],["","gdColumns.sm",""],["","gdColumns.md",""],["","gdColumns.lg",""],["","gdColumns.xl",""],["","gdColumns.lt-sm",""],["","gdColumns.lt-md",""],["","gdColumns.lt-lg",""],["","gdColumns.lt-xl",""],["","gdColumns.gt-xs",""],["","gdColumns.gt-sm",""],["","gdColumns.gt-md",""],["","gdColumns.gt-lg",""]],inputs:{gdColumns:"gdColumns","gdColumns.xs":"gdColumns.xs","gdColumns.sm":"gdColumns.sm","gdColumns.md":"gdColumns.md","gdColumns.lg":"gdColumns.lg","gdColumns.xl":"gdColumns.xl","gdColumns.lt-sm":"gdColumns.lt-sm","gdColumns.lt-md":"gdColumns.lt-md","gdColumns.lt-lg":"gdColumns.lt-lg","gdColumns.lt-xl":"gdColumns.lt-xl","gdColumns.gt-xs":"gdColumns.gt-xs","gdColumns.gt-sm":"gdColumns.gt-sm","gdColumns.gt-md":"gdColumns.gt-md","gdColumns.gt-lg":"gdColumns.gt-lg"},features:[D.qOj]});class De extends u.QI{buildStyles(xt,Nt){return{display:Nt.inline?"inline-grid":"grid","grid-gap":xt||"0"}}}De.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(De)))(Nt||De)}}(),De.\u0275prov=D.Yz7({token:De,factory:De.\u0275fac,providedIn:"root"});class Ye extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Fn,Nt,ri),this.DIRECTIVE_KEY="grid-gap",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?ut:Dt,this.addStyles(xt,{inline:this.inline})}}Ye.\u0275fac=function(xt){return new(xt||Ye)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(De),D.Y36(u.yB))},Ye.\u0275dir=D.lG2({type:Ye,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const Dt=new Map,ut=new Map,ze=["gdGap","gdGap.xs","gdGap.sm","gdGap.md","gdGap.lg","gdGap.xl","gdGap.lt-sm","gdGap.lt-md","gdGap.lt-lg","gdGap.lt-xl","gdGap.gt-xs","gdGap.gt-sm","gdGap.gt-md","gdGap.gt-lg"];class Ce extends Ye{constructor(){super(...arguments),this.inputs=ze}}Ce.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Ce)))(Nt||Ce)}}(),Ce.\u0275dir=D.lG2({type:Ce,selectors:[["","gdGap",""],["","gdGap.xs",""],["","gdGap.sm",""],["","gdGap.md",""],["","gdGap.lg",""],["","gdGap.xl",""],["","gdGap.lt-sm",""],["","gdGap.lt-md",""],["","gdGap.lt-lg",""],["","gdGap.lt-xl",""],["","gdGap.gt-xs",""],["","gdGap.gt-sm",""],["","gdGap.gt-md",""],["","gdGap.gt-lg",""]],inputs:{gdGap:"gdGap","gdGap.xs":"gdGap.xs","gdGap.sm":"gdGap.sm","gdGap.md":"gdGap.md","gdGap.lg":"gdGap.lg","gdGap.xl":"gdGap.xl","gdGap.lt-sm":"gdGap.lt-sm","gdGap.lt-md":"gdGap.lt-md","gdGap.lt-lg":"gdGap.lt-lg","gdGap.lt-xl":"gdGap.lt-xl","gdGap.gt-xs":"gdGap.gt-xs","gdGap.gt-sm":"gdGap.gt-sm","gdGap.gt-md":"gdGap.gt-md","gdGap.gt-lg":"gdGap.gt-lg"},features:[D.qOj]});class zt extends u.QI{buildStyles(xt){return{"grid-row":xt||"auto"}}}zt.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(zt)))(Nt||zt)}}(),zt.\u0275prov=D.Yz7({token:zt,factory:zt.\u0275fac,providedIn:"root"});class At extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-row",this.styleCache=Tt,this.init()}}At.\u0275fac=function(xt){return new(xt||At)(D.Y36(D.SBq),D.Y36(zt),D.Y36(u.RK),D.Y36(u.yB))},At.\u0275dir=D.lG2({type:At,features:[D.qOj]});const Tt=new Map,Ht=["gdRow","gdRow.xs","gdRow.sm","gdRow.md","gdRow.lg","gdRow.xl","gdRow.lt-sm","gdRow.lt-md","gdRow.lt-lg","gdRow.lt-xl","gdRow.gt-xs","gdRow.gt-sm","gdRow.gt-md","gdRow.gt-lg"];class $e extends At{constructor(){super(...arguments),this.inputs=Ht}}$e.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z($e)))(Nt||$e)}}(),$e.\u0275dir=D.lG2({type:$e,selectors:[["","gdRow",""],["","gdRow.xs",""],["","gdRow.sm",""],["","gdRow.md",""],["","gdRow.lg",""],["","gdRow.xl",""],["","gdRow.lt-sm",""],["","gdRow.lt-md",""],["","gdRow.lt-lg",""],["","gdRow.lt-xl",""],["","gdRow.gt-xs",""],["","gdRow.gt-sm",""],["","gdRow.gt-md",""],["","gdRow.gt-lg",""]],inputs:{gdRow:"gdRow","gdRow.xs":"gdRow.xs","gdRow.sm":"gdRow.sm","gdRow.md":"gdRow.md","gdRow.lg":"gdRow.lg","gdRow.xl":"gdRow.xl","gdRow.lt-sm":"gdRow.lt-sm","gdRow.lt-md":"gdRow.lt-md","gdRow.lt-lg":"gdRow.lt-lg","gdRow.lt-xl":"gdRow.lt-xl","gdRow.gt-xs":"gdRow.gt-xs","gdRow.gt-sm":"gdRow.gt-sm","gdRow.gt-md":"gdRow.gt-md","gdRow.gt-lg":"gdRow.gt-lg"},features:[D.qOj]});class Jt extends u.QI{buildStyles(xt,Nt){let Fn=!1;(xt=xt||"none").endsWith("!")&&(xt=xt.substring(0,xt.indexOf("!")),Fn=!0);const ri={display:Nt.inline?"inline-grid":"grid","grid-auto-rows":"","grid-template-rows":""};return ri[Fn?"grid-auto-rows":"grid-template-rows"]=xt,ri}}Jt.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Jt)))(Nt||Jt)}}(),Jt.\u0275prov=D.Yz7({token:Jt,factory:Jt.\u0275fac,providedIn:"root"});class Vn extends u.iR{constructor(xt,Nt,Fn,ri){super(xt,Nt,Fn,ri),this.DIRECTIVE_KEY="grid-rows",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Tn:zn,this.addStyles(xt,{inline:this.inline})}}Vn.\u0275fac=function(xt){return new(xt||Vn)(D.Y36(D.SBq),D.Y36(Jt),D.Y36(u.RK),D.Y36(u.yB))},Vn.\u0275dir=D.lG2({type:Vn,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const zn=new Map,Tn=new Map,Yn=["gdRows","gdRows.xs","gdRows.sm","gdRows.md","gdRows.lg","gdRows.xl","gdRows.lt-sm","gdRows.lt-md","gdRows.lt-lg","gdRows.lt-xl","gdRows.gt-xs","gdRows.gt-sm","gdRows.gt-md","gdRows.gt-lg"];class Ge extends Vn{constructor(){super(...arguments),this.inputs=Yn}}Ge.\u0275fac=function(){let dn;return function(Nt){return(dn||(dn=D.n5z(Ge)))(Nt||Ge)}}(),Ge.\u0275dir=D.lG2({type:Ge,selectors:[["","gdRows",""],["","gdRows.xs",""],["","gdRows.sm",""],["","gdRows.md",""],["","gdRows.lg",""],["","gdRows.xl",""],["","gdRows.lt-sm",""],["","gdRows.lt-md",""],["","gdRows.lt-lg",""],["","gdRows.lt-xl",""],["","gdRows.gt-xs",""],["","gdRows.gt-sm",""],["","gdRows.gt-md",""],["","gdRows.gt-lg",""]],inputs:{gdRows:"gdRows","gdRows.xs":"gdRows.xs","gdRows.sm":"gdRows.sm","gdRows.md":"gdRows.md","gdRows.lg":"gdRows.lg","gdRows.xl":"gdRows.xl","gdRows.lt-sm":"gdRows.lt-sm","gdRows.lt-md":"gdRows.lt-md","gdRows.lt-lg":"gdRows.lt-lg","gdRows.lt-xl":"gdRows.lt-xl","gdRows.gt-xs":"gdRows.gt-xs","gdRows.gt-sm":"gdRows.gt-sm","gdRows.gt-md":"gdRows.gt-md","gdRows.gt-lg":"gdRows.gt-lg"},features:[D.qOj]});class ft{}ft.\u0275fac=function(xt){return new(xt||ft)},ft.\u0275mod=D.oAB({type:ft}),ft.\u0275inj=D.cJS({imports:[u.IR]});new D.GfV("14.0.0-beta.41");class Te{constructor(xt,Nt){(0,e.PM)(Nt)&&!xt&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}static withConfig(xt,Nt=[]){return{ngModule:Te,providers:xt.serverLoaded?[{provide:u.WU,useValue:{...u.g5,...xt}},{provide:u.Bs,useValue:Nt,multi:!0},{provide:u.wY,useValue:!0}]:[{provide:u.WU,useValue:{...u.g5,...xt}},{provide:u.Bs,useValue:Nt,multi:!0}]}}}Te.\u0275fac=function(xt){return new(xt||Te)(D.LFG(u.wY),D.LFG(D.Lbi))},Te.\u0275mod=D.oAB({type:Te}),Te.\u0275inj=D.cJS({imports:[p.ae,k.aT,ft,p.ae,k.aT,ft]});var pt=m(3278),Lt=m(207),nn=m(640),Bn=m(8550),Wn=m(3335),ti=m(4522),Mn=m(4218),Ln=m(1755);const ai=["button"],hn=new D.OlP("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),en=new D.OlP("MatButtonToggleGroup"),gn={provide:_.JU,useExisting:(0,D.Gpc)(()=>ha),multi:!0};let Qn=0;class Ei{constructor(xt,Nt){this.source=xt,this.value=Nt}}class ha{constructor(xt,Nt){this._changeDetector=xt,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+Qn++,this.valueChange=new D.vpe,this.change=new D.vpe,this.appearance=Nt&&Nt.appearance?Nt.appearance:"standard"}get name(){return this._name}set name(xt){this._name=xt,this._markButtonsForCheck()}get vertical(){return this._vertical}set vertical(xt){this._vertical=(0,S.Ig)(xt)}get value(){const xt=this._selectionModel?this._selectionModel.selected:[];return this.multiple?xt.map(Nt=>Nt.value):xt[0]?xt[0].value:void 0}set value(xt){this._setSelectionByValue(xt),this.valueChange.emit(this.value)}get selected(){const xt=this._selectionModel?this._selectionModel.selected:[];return this.multiple?xt:xt[0]||null}get multiple(){return this._multiple}set multiple(xt){this._multiple=(0,S.Ig)(xt),this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(xt){this._disabled=(0,S.Ig)(xt),this._markButtonsForCheck()}ngOnInit(){this._selectionModel=new Ln.Ov(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(xt=>xt.checked))}writeValue(xt){this.value=xt,this._changeDetector.markForCheck()}registerOnChange(xt){this._controlValueAccessorChangeFn=xt}registerOnTouched(xt){this._onTouched=xt}setDisabledState(xt){this.disabled=xt}_emitChangeEvent(xt){const Nt=new Ei(xt,this.value);this._controlValueAccessorChangeFn(Nt.value),this.change.emit(Nt)}_syncButtonToggle(xt,Nt,Fn=!1,ri=!1){!this.multiple&&this.selected&&!xt.checked&&(this.selected.checked=!1),this._selectionModel?Nt?this._selectionModel.select(xt):this._selectionModel.deselect(xt):ri=!0,ri?Promise.resolve().then(()=>this._updateModelValue(xt,Fn)):this._updateModelValue(xt,Fn)}_isSelected(xt){return this._selectionModel&&this._selectionModel.isSelected(xt)}_isPrechecked(xt){return!(typeof this._rawValue>"u")&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(Nt=>null!=xt.value&&Nt===xt.value):xt.value===this._rawValue)}_setSelectionByValue(xt){this._rawValue=xt,this._buttonToggles&&(this.multiple&&xt?(Array.isArray(xt),this._clearSelection(),xt.forEach(Nt=>this._selectValue(Nt))):(this._clearSelection(),this._selectValue(xt)))}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(xt=>xt.checked=!1)}_selectValue(xt){const Nt=this._buttonToggles.find(Fn=>null!=Fn.value&&Fn.value===xt);Nt&&(Nt.checked=!0,this._selectionModel.select(Nt))}_updateModelValue(xt,Nt){Nt&&this._emitChangeEvent(xt),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(xt=>xt._markForCheck())}}ha.\u0275fac=function(xt){return new(xt||ha)(D.Y36(D.sBO),D.Y36(hn,8))},ha.\u0275dir=D.lG2({type:ha,selectors:[["mat-button-toggle-group"]],contentQueries:function(xt,Nt,Fn){if(1&xt&&D.Suo(Fn,qi,5),2&xt){let ri;D.iGM(ri=D.CRH())&&(Nt._buttonToggles=ri)}},hostAttrs:["role","group",1,"mat-button-toggle-group"],hostVars:5,hostBindings:function(xt,Nt){2&xt&&(D.uIk("aria-disabled",Nt.disabled),D.ekj("mat-button-toggle-vertical",Nt.vertical)("mat-button-toggle-group-appearance-standard","standard"===Nt.appearance))},inputs:{appearance:"appearance",name:"name",vertical:"vertical",value:"value",multiple:"multiple",disabled:"disabled"},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[D._Bn([gn,{provide:en,useExisting:ha}])]});const mi=(0,Lt.Kr)(class{});class qi extends mi{constructor(xt,Nt,Fn,ri,Bi,Xi){super(),this._changeDetectorRef=Nt,this._elementRef=Fn,this._focusMonitor=ri,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new D.vpe;const oa=Number(Bi);this.tabIndex=oa||0===oa?oa:null,this.buttonToggleGroup=xt,this.appearance=Xi&&Xi.appearance?Xi.appearance:"standard"}get buttonId(){return`${this.id}-button`}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(xt){this._appearance=xt}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(xt){const Nt=(0,S.Ig)(xt);Nt!==this._checked&&(this._checked=Nt,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(xt){this._disabled=(0,S.Ig)(xt)}ngOnInit(){const xt=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+Qn++,xt&&(xt._isPrechecked(this)?this.checked=!0:xt._isSelected(this)!==this._checked&&xt._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const xt=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),xt&&xt._isSelected(this)&&xt._syncButtonToggle(this,!1,!1,!0)}focus(xt){this._buttonElement.nativeElement.focus(xt)}_onButtonClick(){const xt=!!this._isSingleSelector()||!this._checked;xt!==this._checked&&(this._checked=xt,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new Ei(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this._isSingleSelector()?this.buttonToggleGroup.name:this.name||null}_isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}}qi.\u0275fac=function(xt){return new(xt||qi)(D.Y36(en,8),D.Y36(D.sBO),D.Y36(D.SBq),D.Y36(Mn.tE),D.$8M("tabindex"),D.Y36(hn,8))},qi.\u0275cmp=D.Xpm({type:qi,selectors:[["mat-button-toggle"]],viewQuery:function(xt,Nt){if(1&xt&&D.Gf(ai,5),2&xt){let Fn;D.iGM(Fn=D.CRH())&&(Nt._buttonElement=Fn.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:12,hostBindings:function(xt,Nt){1&xt&&D.NdJ("focus",function(){return Nt.focus()}),2&xt&&(D.uIk("aria-label",null)("aria-labelledby",null)("id",Nt.id)("name",null),D.ekj("mat-button-toggle-standalone",!Nt.buttonToggleGroup)("mat-button-toggle-checked",Nt.checked)("mat-button-toggle-disabled",Nt.disabled)("mat-button-toggle-appearance-standard","standard"===Nt.appearance))},inputs:{disableRipple:"disableRipple",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",appearance:"appearance",checked:"checked",disabled:"disabled"},outputs:{change:"change"},exportAs:["matButtonToggle"],features:[D.qOj],ngContentSelectors:["*"],decls:6,vars:9,consts:[["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"id","disabled","click"],["button",""],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function(xt,Nt){if(1&xt&&(D.F$t(),D.TgZ(0,"button",0,1),D.NdJ("click",function(){return Nt._onButtonClick()}),D.TgZ(2,"span",2),D.Hsn(3),D.qZA()(),D._UZ(4,"span",3)(5,"span",4)),2&xt){const Fn=D.MAs(1);D.Q6J("id",Nt.buttonId)("disabled",Nt.disabled||null),D.uIk("tabindex",Nt.disabled?-1:Nt.tabIndex)("aria-pressed",Nt.checked)("name",Nt._getButtonName())("aria-label",Nt.ariaLabel)("aria-labelledby",Nt.ariaLabelledby),D.xp6(5),D.Q6J("matRippleTrigger",Fn)("matRippleDisabled",Nt.disableRipple||Nt.disabled)}},dependencies:[Lt.wG],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:2,changeDetection:0});class Zi{}Zi.\u0275fac=function(xt){return new(xt||Zi)},Zi.\u0275mod=D.oAB({type:Zi}),Zi.\u0275inj=D.cJS({imports:[Lt.BQ,Lt.si,Lt.BQ]});var Za=m(2156),mr=m(4792),It=m(2298),Ft=m(3012),ln=m(2642),En=m(7822),qn=m(1267),Nn=m(6517),li=m(8589),aa=m(6060),Ii=m(1294),ea=m(1708),Di=m(2922),Ji=m(7371),ka=m(6643),Yi=m(4714),Ha=m(2867),Hi=m(8456),La=m(9107),gr=m(7714);const Sa=["sliderWrapper"],fa=(0,La.i$)({passive:!1}),za={provide:_.JU,useExisting:(0,D.Gpc)(()=>Qi),multi:!0};class js{}const is=(0,Lt.sb)((0,Lt.pj)((0,Lt.Id)(class{constructor(dn){this._elementRef=dn}}),"accent"));class Qi extends is{constructor(xt,Nt,Fn,ri,Bi,Xi,oa,la){super(xt),this._focusMonitor=Nt,this._changeDetectorRef=Fn,this._dir=ri,this._ngZone=Xi,this._animationMode=la,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new D.vpe,this.input=new D.vpe,this.valueChange=new D.vpe,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=gr.w0.EMPTY,this._pointerDown=Li=>{this.disabled||this._isSliding||!Ta(Li)&&0!==Li.button||this._ngZone.run(()=>{this._touchId=Ta(Li)?function Ls(dn,xt){for(let Nt=0;Nt{if("pointer"===this._isSliding){const rs=Is(Li,this._touchId);if(rs){Li.cancelable&&Li.preventDefault();const Rr=this.value;this._lastPointerEvent=Li,this._updateValueFromPosition(rs),Rr!=this.value&&this._emitInputEvent()}}},this._pointerUp=Li=>{"pointer"===this._isSliding&&(!Ta(Li)||"number"!=typeof this._touchId||Ua(Li.changedTouches,this._touchId))&&(Li.cancelable&&Li.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=oa,this.tabIndex=parseInt(Bi)||0,Xi.runOutsideAngular(()=>{const Li=xt.nativeElement;Li.addEventListener("mousedown",this._pointerDown,fa),Li.addEventListener("touchstart",this._pointerDown,fa)})}get invert(){return this._invert}set invert(xt){this._invert=(0,S.Ig)(xt)}get max(){return this._max}set max(xt){this._max=(0,S.su)(xt,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(xt){this._min=(0,S.su)(xt,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(xt){this._step=(0,S.su)(xt,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(xt){this._thumbLabel=(0,S.Ig)(xt)}get tickInterval(){return this._tickInterval}set tickInterval(xt){this._tickInterval="auto"===xt?"auto":"number"==typeof xt||"string"==typeof xt?(0,S.su)(xt,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(xt){if(xt!==this._value){let Nt=(0,S.su)(xt,0);this._roundToDecimal&&Nt!==this.min&&Nt!==this.max&&(Nt=parseFloat(Nt.toFixed(this._roundToDecimal))),this._value=Nt,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(xt){this._vertical=(0,S.Ig)(xt)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(xt){this._focusHostElement(xt)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const xt=this.vertical?"Y":"X",Nt=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${xt}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${Nt})`}}_getTrackFillStyles(){const xt=this.percent,Nt=this.vertical?"Y":"X",Fn=this.vertical?`1, ${xt}, 1`:`${xt}, 1, 1`;return{transform:`translate${Nt}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${Fn})`,display:0===xt?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let xt=100*this._tickIntervalPercent,Xi={backgroundSize:this.vertical?`2px ${xt}%`:`${xt}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${xt/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const oa=this._shouldInvertAxis();let la;la=this.vertical?oa?"Bottom":"Top":oa?"Right":"Left",Xi[`padding${la}`]=`${this._getThumbGap()}px`}return Xi}_getThumbContainerStyles(){const xt=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?xt:!xt)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const xt=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?xt:!xt}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(xt=>{this._isActive=!!xt&&"keyboard"!==xt,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const xt=this._elementRef.nativeElement;xt.removeEventListener("mousedown",this._pointerDown,fa),xt.removeEventListener("touchstart",this._pointerDown,fa),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(xt){if(this.disabled||(0,Hi.Vb)(xt)||this._isSliding&&"keyboard"!==this._isSliding)return;const Nt=this.value;switch(xt.keyCode){case Hi.Ku:this._increment(10);break;case Hi.VM:this._increment(-10);break;case Hi.uR:this.value=this.max;break;case Hi.Sd:this.value=this.min;break;case Hi.oh:this._increment("rtl"==this._getDirection()?1:-1);break;case Hi.LH:this._increment(1);break;case Hi.SV:this._increment("rtl"==this._getDirection()?-1:1);break;case Hi.JH:this._increment(-1);break;default:return}Nt!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",xt.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(xt){const Nt=this._document,Fn=Ta(xt),ri=Fn?"touchmove":"mousemove",Bi=Fn?"touchend":"mouseup";Nt.addEventListener(ri,this._pointerMove,fa),Nt.addEventListener(Bi,this._pointerUp,fa),Fn&&Nt.addEventListener("touchcancel",this._pointerUp,fa);const Xi=this._getWindow();typeof Xi<"u"&&Xi&&Xi.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const xt=this._document;xt.removeEventListener("mousemove",this._pointerMove,fa),xt.removeEventListener("mouseup",this._pointerUp,fa),xt.removeEventListener("touchmove",this._pointerMove,fa),xt.removeEventListener("touchend",this._pointerUp,fa),xt.removeEventListener("touchcancel",this._pointerUp,fa);const Nt=this._getWindow();typeof Nt<"u"&&Nt&&Nt.removeEventListener("blur",this._windowBlur)}_increment(xt){const Nt=this._clamp(this.value||0,this.min,this.max);this.value=this._clamp(Nt+this.step*xt,this.min,this.max)}_updateValueFromPosition(xt){if(!this._sliderDimensions)return;let Nt=this.vertical?this._sliderDimensions.top:this._sliderDimensions.left,Fn=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,ri=this.vertical?xt.y:xt.x,Bi=this._clamp((ri-Nt)/Fn);if(this._shouldInvertMouseCoords()&&(Bi=1-Bi),0===Bi)this.value=this.min;else if(1===Bi)this.value=this.max;else{const Xi=this._calculateValue(Bi),oa=Math.round((Xi-this.min)/this.step)*this.step+this.min;this.value=this._clamp(oa,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(!this.tickInterval||!this._sliderDimensions)return;let xt;if("auto"==this.tickInterval){let Nt=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,Fn=Nt*this.step/(this.max-this.min);xt=Math.ceil(30/Fn)*this.step/Nt}else xt=this.tickInterval*this.step/(this.max-this.min);this._tickIntervalPercent=Gr(xt)?xt:0}_createChangeEvent(xt=this.value){let Nt=new js;return Nt.source=this,Nt.value=xt,Nt}_calculatePercentage(xt){const Nt=((xt||0)-this.min)/(this.max-this.min);return Gr(Nt)?Nt:0}_calculateValue(xt){return this.min+xt*(this.max-this.min)}_clamp(xt,Nt=0,Fn=1){return Math.max(Nt,Math.min(xt,Fn))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(xt){this._elementRef.nativeElement.focus(xt)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(xt){this.value=xt}registerOnChange(xt){this._controlValueAccessorChangeFn=xt}registerOnTouched(xt){this.onTouched=xt}setDisabledState(xt){this.disabled=xt}}function Gr(dn){return!isNaN(dn)&&isFinite(dn)}function Ta(dn){return"t"===dn.type[0]}function Is(dn,xt){let Nt;return Nt=Ta(dn)?"number"==typeof xt?Ua(dn.touches,xt)||Ua(dn.changedTouches,xt):dn.touches[0]||dn.changedTouches[0]:dn,Nt?{x:Nt.clientX,y:Nt.clientY}:void 0}function Ua(dn,xt){for(let Nt=0;Nt{"use strict";m.d(q,{M6:()=>A,Q2:()=>I,QO:()=>d,Tm:()=>ue,Uy:()=>ce,XT:()=>ae,_V:()=>he,ac:()=>k,c0:()=>o,c1:()=>P,dc:()=>v,ey:()=>ie,fk:()=>ye,jS:()=>$,jW:()=>u,kS:()=>n,lC:()=>E,qR:()=>S,qi:()=>s,tj:()=>z,ts:()=>D,tw:()=>Z,uO:()=>p,vI:()=>Q,x4:()=>L,yb:()=>M,zQ:()=>_e});var e=m(9263),t=m(7731);(0,e.PH)(t.pg.VOID);const E=(0,e.PH)(t.pg.SET_API_URL_ECL,(0,e.Ky)()),s=(0,e.PH)(t.pg.UPDATE_API_CALL_STATUS_ROOT,(0,e.Ky)()),D=(0,e.PH)(t.pg.CLOSE_ALL_DIALOGS),u=(0,e.PH)(t.pg.OPEN_SNACK_BAR,(0,e.Ky)()),k=(0,e.PH)(t.pg.OPEN_SPINNER,(0,e.Ky)()),p=(0,e.PH)(t.pg.CLOSE_SPINNER,(0,e.Ky)()),S=(0,e.PH)(t.pg.OPEN_ALERT,(0,e.Ky)()),A=(0,e.PH)(t.pg.CLOSE_ALERT,(0,e.Ky)()),P=(0,e.PH)(t.pg.OPEN_CONFIRMATION,(0,e.Ky)()),M=(0,e.PH)(t.pg.CLOSE_CONFIRMATION,(0,e.Ky)()),z=(0,e.PH)(t.pg.SHOW_PUBKEY),I=(0,e.PH)(t.pg.FETCH_CONFIG,(0,e.Ky)()),Z=((0,e.PH)(t.pg.SHOW_CONFIG,(0,e.Ky)()),(0,e.PH)(t.pg.UPDATE_SELECTED_NODE_OPTIONS)),Q=(0,e.PH)(t.pg.RESET_ROOT_STORE,(0,e.Ky)()),ie=(0,e.PH)(t.pg.FETCH_RTL_CONFIG),ae=(0,e.PH)(t.pg.SET_RTL_CONFIG,(0,e.Ky)()),_e=(0,e.PH)(t.pg.SAVE_SETTINGS,(0,e.Ky)()),ce=(0,e.PH)(t.pg.TWO_FA_SAVE_SETTINGS,(0,e.Ky)()),ye=(0,e.PH)(t.pg.SET_SELECTED_NODE,(0,e.Ky)()),ue=(0,e.PH)(t.pg.UPDATE_ROOT_NODE_SETTINGS,(0,e.Ky)()),$=(0,e.PH)(t.pg.UPDATE_SERVICE_SETTINGS,(0,e.Ky)()),he=(0,e.PH)(t.pg.SET_NODE_DATA,(0,e.Ky)()),n=((0,e.PH)(t.pg.SAVE_SSO,(0,e.Ky)()),(0,e.PH)(t.pg.LOGOUT)),o=(0,e.PH)(t.pg.RESET_PASSWORD,(0,e.Ky)()),d=((0,e.PH)(t.pg.RESET_PASSWORD_RES,(0,e.Ky)()),(0,e.PH)(t.pg.IS_AUTHORIZED,(0,e.Ky)())),L=((0,e.PH)(t.pg.IS_AUTHORIZED_RES,(0,e.Ky)()),(0,e.PH)(t.pg.LOGIN,(0,e.Ky)())),v=((0,e.PH)(t.pg.VERIFY_TWO_FA,(0,e.Ky)()),(0,e.PH)(t.pg.FETCH_FILE,(0,e.Ky)()));(0,e.PH)(t.pg.SHOW_FILE,(0,e.Ky)())},3093:(Ue,q,m)=>{"use strict";m.d(q,{V:()=>ai});var e=m(3599),t=m(253),_=m(745),E=m(833),s=m(1640),D=m(635),u=m(9295),k=m(538),p=m(9525),S=m(3158),A=m(8951),P=m(2340),M=m(7731),z=m(640),I=m(2560),W=m(6722),Z=m(1708);class Q{constructor(hn,en){this.dialogRef=hn,this.data=en}static#e=this.\u0275fac=function(en){return new(en||Q)(I.Y36(z.so),I.Y36(z.WI))};static#t=this.\u0275cmp=I.Xpm({type:Q,selectors:[["rtl-spinner-dialog"]],decls:5,vars:1,consts:[[1,"spinner-container"],["fxLayout","column","fxLayoutAlign","center center",1,"spinner-circle"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I._UZ(2,"mat-spinner"),I.TgZ(3,"h1"),I._uU(4),I.qZA()()()),2&en&&(I.xp6(4),I.Oqu(gn.data.titleMessage))},dependencies:[W.xw,W.Wh,Z.Ou],styles:[".spinner-container[_ngcontent-%COMP%]{position:absolute;left:40%;top:35%}"]})}var ie=m(5043),ae=m(930),_e=m(62),ce=m(4666),ye=m(3704),ue=m(4522),$=m(2156),he=m(7822),w=m(1528),n=m(6021),o=m(8822),h=m(6895),d=m(3390);const y=["scrollContainer"];function L(an,hn){if(1&an&&I._UZ(0,"qr-code",15),2&an){const en=I.oxw();I.Q6J("value",en.showQRField)("size",200)("errorCorrectionLevel","L")}}function B(an,hn){1&an&&I.GkF(0)}const v=function(an){return{"h-40":an}};function a(an,hn){if(1&an&&(I.ynx(0),I.TgZ(1,"mat-card-content",16,17),I.YNc(3,B,1,0,"ng-container",18),I.qZA(),I.BQk()),2&an){const en=I.oxw(),gn=I.MAs(20);I.xp6(1),I.Q6J("ngClass",I.VKq(2,v,en.data.scrollable)),I.xp6(2),I.Q6J("ngTemplateOutlet",gn)}}function C(an,hn){1&an&&I.GkF(0)}function N(an,hn){if(1&an&&(I.ynx(0),I.TgZ(1,"mat-card-content",19),I.YNc(2,C,1,0,"ng-container",18),I.qZA(),I.BQk()),2&an){I.oxw();const en=I.MAs(20);I.xp6(2),I.Q6J("ngTemplateOutlet",en)}}function F(an,hn){1&an&&(I.TgZ(0,"mat-icon",23),I._uU(1,"arrow_downward"),I.qZA())}function X(an,hn){1&an&&(I.TgZ(0,"mat-icon",23),I._uU(1,"arrow_upward"),I.qZA())}function Fe(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"div",20)(1,"button",21),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onScroll())}),I.YNc(2,F,2,0,"mat-icon",22),I.YNc(3,X,2,0,"mat-icon",22),I.qZA()()}if(2&an){const en=I.oxw();I.xp6(2),I.Q6J("ngIf","DOWN"===en.scrollDirection),I.xp6(1),I.Q6J("ngIf","UP"===en.scrollDirection)}}function ke(an,hn){1&an&&(I.TgZ(0,"button",24),I._uU(1,"OK"),I.qZA()),2&an&&I.Q6J("mat-dialog-close",!1)}function Ke(an,hn){1&an&&(I.TgZ(0,"button",25),I._uU(1,"Close"),I.qZA()),2&an&&I.Q6J("mat-dialog-close",!1)}function je(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"button",26),I.NdJ("copied",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.onCopyField(Qn))}),I._uU(1),I.qZA()}if(2&an){const en=I.oxw();I.Q6J("payload",en.showCopyField),I.xp6(1),I.hij("Copy ",en.showCopyName,"")}}function Ve(an,hn){1&an&&(I.TgZ(0,"button",25),I._uU(1,"Close"),I.qZA()),2&an&&I.Q6J("mat-dialog-close",!1)}function xe(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"button",26),I.NdJ("copied",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.onCopyField(Qn))}),I._uU(1),I.qZA()}if(2&an){const en=I.oxw();I.Q6J("payload",en.showQRField),I.xp6(1),I.hij("Copy ",en.showQRName,"")}}function Ze(an,hn){if(1&an&&I._UZ(0,"qr-code",15),2&an){const en=I.oxw(2);I.Q6J("value",en.showQRField)("size",200)("errorCorrectionLevel","L")}}function Ie(an,hn){if(1&an&&(I.TgZ(0,"p",32),I._uU(1),I.qZA()),2&an){const en=I.oxw(2);I.xp6(1),I.Oqu(en.data.titleMessage)}}function ve(an,hn){if(1&an&&I._UZ(0,"span",46),2&an){const en=hn.$implicit;I.Q6J("innerHTML",en,I.oJD)}}function et(an,hn){if(1&an&&(I.ynx(0),I.YNc(1,ve,1,1,"span",45),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Q6J("ngForOf",en.value)}}function ht(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.ALo(2,"date"),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,1e3*en.value,"dd/MMM/y HH:mm"))}}function Le(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.ALo(2,"number"),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,en.value,en.digitsInfo?en.digitsInfo:"1.0-3"))}}function Ae(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(en.value?"True":"False")}}function te(an,hn){1&an&&(I.TgZ(0,"mat-icon",51),I._uU(1,"info"),I.qZA())}const pe=function(an){return{"failed-status":an}};function ee(an,hn){if(1&an&&(I.TgZ(0,"p",49),I._uU(1),I.YNc(2,te,2,0,"mat-icon",50),I.qZA()),2&an){const en=I.oxw(3).$implicit,gn=I.oxw(4);I.Q6J("ngClass",I.VKq(3,pe,en.value===gn.LoopStateEnum.FAILED)),I.xp6(1),I.hij(" ",en.value," "),I.xp6(1),I.Q6J("ngIf",en.value===gn.LoopStateEnum.FAILED)}}function H(an,hn){if(1&an&&I._uU(0),2&an){const en=I.oxw(3).$implicit;I.Oqu(en.value)}}function j(an,hn){if(1&an&&(I.ynx(0),I.YNc(1,ee,3,5,"p",47),I.YNc(2,H,1,1,"ng-template",null,48,I.W1O),I.BQk()),2&an){const en=I.MAs(3),gn=I.oxw(2).$implicit,Qn=I.oxw(4);I.xp6(1),I.Q6J("ngIf","SWAP"===Qn.data.openedBy&&"state"===gn.key)("ngIfElse",en)}}function Oe(an,hn){if(1&an&&(I.TgZ(0,"span")(1,"span",42),I.YNc(2,et,2,1,"ng-container",43),I.YNc(3,ht,3,4,"ng-container",43),I.YNc(4,Le,3,4,"ng-container",43),I.YNc(5,Ae,2,1,"ng-container",43),I.YNc(6,j,4,2,"ng-container",44),I.qZA()()),2&an){const en=I.oxw().$implicit,gn=I.oxw(4);I.xp6(1),I.Q6J("ngSwitch",en.type),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.ARRAY),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.DATE_TIME),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.NUMBER),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.BOOLEAN)}}function Re(an,hn){1&an&&(I.TgZ(0,"span",52),I._uU(1,"\xa0"),I.qZA())}function le(an,hn){if(1&an&&(I.TgZ(0,"div",37)(1,"h4",38),I._uU(2),I.qZA(),I.YNc(3,Oe,7,5,"span",39),I.YNc(4,Re,2,0,"ng-template",null,40,I.W1O),I._UZ(6,"mat-divider",41),I.qZA()),2&an){const en=hn.$implicit,gn=I.MAs(5);I.s9C("fxFlex.gt-md",en.width),I.xp6(2),I.Oqu(en.title),I.xp6(1),I.Q6J("ngIf",en&&(!!en.value||0===en.value))("ngIfElse",gn)}}function _t(an,hn){if(1&an&&(I.TgZ(0,"div")(1,"div",35),I.YNc(2,le,7,4,"div",36),I.qZA()()),2&an){const en=hn.$implicit;I.xp6(2),I.Q6J("ngForOf",en)}}function it(an,hn){if(1&an&&(I.TgZ(0,"div",33),I.YNc(1,_t,3,1,"div",34),I.qZA()),2&an){const en=I.oxw(2);I.xp6(1),I.Q6J("ngForOf",en.messageObjs)}}const Ct=function(an){return{"display-none":an}};function un(an,hn){if(1&an&&(I.TgZ(0,"div",27)(1,"div",28),I.YNc(2,Ze,1,3,"qr-code",2),I.qZA(),I.TgZ(3,"div",29),I.YNc(4,Ie,2,1,"p",30),I.YNc(5,it,2,1,"div",31),I.qZA()()),2&an){const en=I.oxw();I.xp6(1),I.Q6J("ngClass",I.VKq(4,Ct,""===en.showQRField||en.screenSize!==en.screenSizeEnum.XS&&en.screenSize!==en.screenSizeEnum.SM)),I.xp6(1),I.Q6J("ngIf",""!==en.showQRField),I.xp6(2),I.Q6J("ngIf",en.data.titleMessage),I.xp6(1),I.Q6J("ngIf",(null==en.messageObjs?null:en.messageObjs.length)>0)}}class Bt{constructor(hn,en,gn,Qn,Ei,ha){this.dialogRef=hn,this.data=en,this.logger=gn,this.snackBar=Qn,this.commonService=Ei,this.renderer=ha,this.LoopStateEnum=M.Fq,this.showQRField="",this.showQRName="",this.showCopyName="",this.showCopyField="",this.errorMessage="",this.messageObjs=[],this.alertTypeEnum=M.n_,this.dataTypeEnum=M.Gi,this.screenSize="",this.screenSizeEnum=M.cu,this.scrollDirection="DOWN",this.shouldScroll=!0}set container(hn){hn&&(this.scrollContainer=hn,this.scrollContainer&&this.scrollContainer.nativeElement&&(this.unlistenEnd=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-end",en=>{this.scrollDirection="UP"}),this.unlistenStart=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-start",en=>{this.scrollDirection="DOWN"})))}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.messageObjs=this.data.message||[],this.showQRField=this.data.showQRField?this.data.showQRField:"",this.showQRName=this.data.showQRName?this.data.showQRName:"",this.showCopyName=this.data.showCopyName?this.data.showCopyName:"",this.showCopyField=this.data.showCopyField?this.data.showCopyField:"",this.data.type===M.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.messageObjs)}ngAfterViewChecked(){setTimeout(()=>{this.shouldScroll=this.scrollContainer&&this.scrollContainer.nativeElement&&this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")},500)}onScroll(){"DOWN"===this.scrollDirection?this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+62.6:this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop-62.6}onCopyField(hn){this.snackBar.open((this.showQRName?this.showQRName:this.showCopyName)+" copied."),this.logger.info("Copied Text: "+hn)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unlistenStart&&this.unlistenStart(),this.unlistenEnd&&this.unlistenEnd()}static#e=this.\u0275fac=function(en){return new(en||Bt)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ie.mQ),I.Y36(ae.ux),I.Y36(_e.v),I.Y36(I.Qsj))};static#t=this.\u0275cmp=I.Xpm({type:Bt,selectors:[["rtl-alert-message"]],viewQuery:function(en,gn){if(1&en&&I.Gf(y,5),2&en){let Qn;I.iGM(Qn=I.CRH())&&(gn.container=Qn.first)}},decls:21,vars:14,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","ml-1",3,"ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],[3,"fxFlex"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close",4,"ngIf"],["class","mr-1","fxLayoutAlign","center center","tabindex","1","mat-button","","color","primary","type","button","default","",3,"mat-dialog-close",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["contentBlock",""],[3,"value","size","errorCorrectionLevel"],[1,"padding-gap-x-large",3,"perfectScrollbar","ngClass"],["scrollContainer",""],[4,"ngTemplateOutlet"],[1,"padding-gap-x-large"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center",4,"ngIf"],["fxLayoutAlign","center center"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","center center","tabindex","1","mat-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","mb-1",3,"ngClass"],["fxLayout","column","fxFlex","100"],["fxLayoutAlign","start center","class","pb-2",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxLayoutAlign","start center",1,"pb-2"],["fxFlex","100"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block w-100",3,"innerHTML",4,"ngFor","ngForOf"],[1,"display-block","w-100",3,"innerHTML"],["fxLayout","row",3,"ngClass",4,"ngIf","ngIfElse"],["noStyleBlock",""],["fxLayout","row",3,"ngClass"],["fxLayoutAlign","end end","class","icon-failed-status",4,"ngIf"],["fxLayoutAlign","end end",1,"icon-failed-status"],["fxFlex","100",1,"foreground-secondary-text"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I.YNc(2,L,1,3,"qr-code",2),I.qZA(),I.TgZ(3,"div",3)(4,"mat-card-header",4)(5,"div",5)(6,"span",6),I._uU(7),I.qZA()(),I.TgZ(8,"button",7),I.NdJ("click",function(){return gn.onClose()}),I._uU(9,"X"),I.qZA()(),I.YNc(10,a,4,4,"ng-container",8),I.YNc(11,N,3,1,"ng-container",8),I.YNc(12,Fe,4,2,"div",9),I.TgZ(13,"div",10),I.YNc(14,ke,2,1,"button",11),I.YNc(15,Ke,2,1,"button",12),I.YNc(16,je,2,2,"button",13),I.YNc(17,Ve,2,1,"button",12),I.YNc(18,xe,2,2,"button",13),I.qZA()()(),I.YNc(19,un,6,6,"ng-template",null,14,I.W1O)),2&en&&(I.xp6(1),I.Q6J("ngClass",I.VKq(12,Ct,""===gn.showQRField||gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM)),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField),I.xp6(1),I.Q6J("fxFlex",""===gn.showQRField||gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM?"100":"70"),I.xp6(4),I.Oqu(gn.data.alertTitle||gn.alertTypeEnum[gn.data.type]),I.xp6(3),I.Q6J("ngIf",gn.data.scrollable),I.xp6(1),I.Q6J("ngIf",!gn.data.scrollable),I.xp6(1),I.Q6J("ngIf",gn.data.scrollable&&gn.shouldScroll),I.xp6(2),I.Q6J("ngIf",(!gn.showQRField||""===gn.showQRField)&&""===gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField))},dependencies:[ce.mk,ce.sg,ce.O5,ce.tP,ce.RF,ce.n9,ce.ED,W.xw,W.Wh,W.yH,ye.oO,z.ZT,ue.lW,$.dk,$.dn,he.Hw,w.d,n.uU,o.$V,h.y,d.h,ce.JJ,ce.uU],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]})}var Ut=m(9306),yn=m(7861),Xt=m(9263),Gt=m(2508),In=m(3505),rn=m(5074),tn=m(1267),pn=m(6534);function tt(an,hn){if(1&an&&(I.TgZ(0,"div",18),I._UZ(1,"fa-icon",19),I.TgZ(2,"span"),I._uU(3),I.qZA()()),2&an){const en=I.oxw();I.xp6(1),I.Q6J("icon",en.faExclamationTriangle),I.xp6(2),I.Oqu(en.warningMessage)}}function vt(an,hn){if(1&an&&(I.TgZ(0,"div",20),I._UZ(1,"fa-icon",19),I.TgZ(2,"span"),I._uU(3),I.qZA()()),2&an){const en=I.oxw();I.xp6(1),I.Q6J("icon",en.faInfoCircle),I.xp6(2),I.Oqu(en.informationMessage)}}function dt(an,hn){if(1&an&&(I.TgZ(0,"p",21),I._uU(1),I.qZA()),2&an){const en=I.oxw();I.xp6(1),I.Oqu(en.data.titleMessage)}}function se(an,hn){if(1&an&&I._UZ(0,"div",36),2&an){const en=hn.$implicit;I.Q6J("innerHTML",en,I.oJD)}}function J(an,hn){if(1&an&&(I.ynx(0,34),I.YNc(1,se,1,1,"div",35),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Q6J("ngForOf",en.value)}}function oe(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.ALo(2,"date"),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,1e3*en.value,"dd/MMM/y HH:mm"))}}function De(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.ALo(2,"number"),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,en.value,"1.0-3"))}}function Ye(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(!0===en.value?"True":"False")}}function Dt(an,hn){if(1&an&&(I.ynx(0),I._uU(1),I.BQk()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(en.value)}}function ut(an,hn){if(1&an&&(I.TgZ(0,"span")(1,"span",30),I.YNc(2,J,2,1,"ng-container",31),I.YNc(3,oe,3,4,"ng-container",32),I.YNc(4,De,3,4,"ng-container",32),I.YNc(5,Ye,2,1,"ng-container",32),I.YNc(6,Dt,2,1,"ng-container",33),I.qZA()()),2&an){const en=I.oxw().$implicit,gn=I.oxw(3);I.xp6(1),I.Q6J("ngSwitch",en.type),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.ARRAY),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.DATE_TIME),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.NUMBER),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.BOOLEAN)}}function ze(an,hn){1&an&&(I.TgZ(0,"span",37),I._uU(1,"\xa0"),I.qZA())}function Me(an,hn){if(1&an&&(I.TgZ(0,"div",25)(1,"h4",26),I._uU(2),I.qZA(),I.YNc(3,ut,7,5,"span",27),I.YNc(4,ze,2,0,"ng-template",null,28,I.W1O),I._UZ(6,"mat-divider",29),I.qZA()),2&an){const en=hn.$implicit,gn=I.MAs(5);I.s9C("fxFlex.gt-md",en.width),I.xp6(2),I.Oqu(en.title),I.xp6(1),I.Q6J("ngIf",en&&(!!en.value||0===en.value))("ngIfElse",gn)}}function Ce(an,hn){if(1&an&&(I.TgZ(0,"div")(1,"div",23),I.YNc(2,Me,7,4,"div",24),I.qZA()()),2&an){const en=hn.$implicit;I.xp6(2),I.Q6J("ngForOf",en)}}function Je(an,hn){if(1&an&&(I.TgZ(0,"div"),I.YNc(1,Ce,3,1,"div",22),I.qZA()),2&an){const en=I.oxw();I.xp6(1),I.Q6J("ngForOf",en.messageObjs)}}function zt(an,hn){if(1&an&&(I.TgZ(0,"p",21),I._uU(1),I.qZA()),2&an){const en=I.oxw(2);I.xp6(1),I.Oqu(en.data.titleMessage)}}function At(an,hn){if(1&an&&(I.TgZ(0,"mat-error"),I._uU(1),I.qZA()),2&an){const en=I.oxw(2).$implicit;I.xp6(1),I.hij("",en.placeholder," is required.")}}function Tt(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"mat-form-field",41)(1,"input",42),I.NdJ("ngModelChange",function(Qn){I.CHM(en);const Ei=I.oxw().$implicit;return I.KtG(Ei.inputValue=Qn)}),I.ALo(2,"lowercase"),I.qZA(),I.YNc(3,At,2,1,"mat-error",11),I.TgZ(4,"mat-hint"),I._uU(5),I.qZA()()}if(2&an){const en=I.oxw(),gn=en.$implicit,Qn=en.index;I.Q6J("fxFlex",gn.width),I.xp6(1),I.MGl("name","input",Qn,""),I.Q6J("autoFocus",0===Qn)("placeholder",gn.placeholder)("min",gn.min)("step",gn.step)("type",I.lcZ(2,11,gn.inputType))("tabindex",Qn+1)("ngModel",gn.inputValue),I.xp6(2),I.Q6J("ngIf",!gn.inputValue),I.xp6(2),I.Oqu(gn.hintFunction?gn.hintFunction(gn.inputValue):gn.hintText)}}function Ht(an,hn){if(1&an&&(I.ynx(0),I.YNc(1,Tt,6,13,"mat-form-field",40),I.BQk()),2&an){const en=hn.$implicit,gn=I.oxw(2);I.xp6(1),I.Q6J("ngIf",!en.advancedField||gn.showAdvanced)}}function He(an,hn){if(1&an&&(I.TgZ(0,"div",38),I.YNc(1,zt,2,1,"p",10),I.TgZ(2,"div",39),I.YNc(3,Ht,2,1,"ng-container",22),I.qZA()()),2&an){const en=I.oxw();I.xp6(1),I.Q6J("ngIf",en.data.titleMessage),I.xp6(2),I.Q6J("ngForOf",en.getInputs)}}function $e(an,hn){1&an&&(I.TgZ(0,"p"),I._uU(1,"Show Advanced"),I.qZA())}function $t(an,hn){1&an&&(I.TgZ(0,"p"),I._uU(1,"Hide Advanced"),I.qZA())}function Rt(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"button",43),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onShowAdvanced())}),I.YNc(1,$e,2,0,"p",27),I.YNc(2,$t,2,0,"ng-template",null,44,I.W1O),I.qZA()}if(2&an){const en=I.MAs(3),gn=I.oxw();I.xp6(1),I.Q6J("ngIf",!gn.showAdvanced)("ngIfElse",en)}}function Jt(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"button",45),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onClose(Qn.getInputs))}),I._uU(1),I.qZA()}if(2&an){const en=I.oxw();I.xp6(1),I.Oqu(en.yesBtnText)}}function Vn(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"button",46),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onClose(!0))}),I._uU(1),I.qZA()}if(2&an){const en=I.oxw();I.xp6(1),I.Oqu(en.yesBtnText)}}class zn{constructor(hn,en,gn,Qn){this.dialogRef=hn,this.data=en,this.logger=gn,this.store=Qn,this.faInfoCircle=Ut.sqG,this.faExclamationTriangle=Ut.eHv,this.informationMessage="",this.warningMessage="",this.noBtnText="No",this.yesBtnText="Yes",this.messageObjs=[],this.flgShowInput=!1,this.hasAdvanced=!1,this.alertTypeEnum=M.n_,this.dataTypeEnum=M.Gi,this.getInputs=[{placeholder:"",inputType:M.Gi.STRING,inputValue:"",hintText:"",hintFunction:null,advancedField:!1}],this.showAdvanced=!1}ngOnInit(){this.informationMessage=this.data.informationMessage||"",this.warningMessage=this.data.warningMessage||"",this.flgShowInput=!!this.data.flgShowInput,this.getInputs=this.data.getInputs||[],this.noBtnText=this.data.noBtnText?this.data.noBtnText:"No",this.yesBtnText=this.data.yesBtnText?this.data.yesBtnText:"Yes",this.hasAdvanced=!!this.data.hasAdvanced&&this.data.hasAdvanced,this.messageObjs=this.data.message,this.data.type===M.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection")}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onClose(hn){if(hn&&this.getInputs&&this.getInputs.some(en=>typeof en.inputValue>"u"))return!0;!this.showAdvanced&&hn.length&&(hn=hn?.reduce((en,gn)=>(gn.advancedField||en.push(gn),en),[])),this.store.dispatch((0,yn.yb)({payload:hn}))}static#e=this.\u0275fac=function(en){return new(en||zn)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ie.mQ),I.Y36(Xt.yh))};static#t=this.\u0275cmp=I.Xpm({type:zn,selectors:[["rtl-confirmation-message"]],decls:21,vars:10,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","100","class","alert alert-warn",4,"ngIf"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],[4,"ngIf"],["fxLayout","column","class","bordered-box my-2 p-2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],["mat-button","","color","primary","type","button","class","mr-1","tabindex","2",3,"click",4,"ngIf"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","3","default","",3,"click",4,"ngIf"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","4","default","",3,"click",4,"ngIf"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayoutAlign","start center",1,"pb-1"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],[1,"foreground-secondary-text",3,"ngSwitch"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngSwitchCase"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch"],[3,"innerHTML",4,"ngFor","ngForOf"],[3,"innerHTML"],["fxFlex","100",1,"foreground-secondary-text"],["fxLayout","column",1,"bordered-box","my-2","p-2"],["fxLayout","row wrap","fxLayoutAlign","space-between center"],[3,"fxFlex",4,"ngIf"],[3,"fxFlex"],["matInput","","required","",3,"autoFocus","placeholder","name","min","step","type","tabindex","ngModel","ngModelChange"],["mat-button","","color","primary","type","button","tabindex","2",1,"mr-1",3,"click"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","3","default","",3,"click"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","4","default","",3,"click"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),I._uU(5),I.qZA()(),I.TgZ(6,"button",5),I.NdJ("click",function(){return gn.onClose(!1)}),I._uU(7,"X"),I.qZA()(),I.TgZ(8,"mat-card-content",6)(9,"form",7),I.YNc(10,tt,4,2,"div",8),I.YNc(11,vt,4,2,"div",9),I.YNc(12,dt,2,1,"p",10),I.YNc(13,Je,2,1,"div",11),I.YNc(14,He,4,2,"div",12),I.TgZ(15,"div",13)(16,"button",14),I.NdJ("click",function(){return gn.onClose(!1)}),I._uU(17),I.qZA(),I.YNc(18,Rt,4,2,"button",15),I.YNc(19,Jt,2,1,"button",16),I.YNc(20,Vn,2,1,"button",17),I.qZA()()()()()),2&en&&(I.xp6(5),I.Oqu(gn.data.alertTitle||gn.alertTypeEnum[gn.data.type]),I.xp6(5),I.Q6J("ngIf",gn.warningMessage&&""!==gn.warningMessage),I.xp6(1),I.Q6J("ngIf",gn.informationMessage&&""!==gn.informationMessage),I.xp6(1),I.Q6J("ngIf",gn.data.titleMessage&&!gn.flgShowInput),I.xp6(1),I.Q6J("ngIf",(null==gn.messageObjs?null:gn.messageObjs.length)>0),I.xp6(1),I.Q6J("ngIf",gn.flgShowInput),I.xp6(3),I.Oqu(gn.noBtnText),I.xp6(1),I.Q6J("ngIf",gn.hasAdvanced),I.xp6(1),I.Q6J("ngIf",gn.flgShowInput),I.xp6(1),I.Q6J("ngIf",!gn.flgShowInput))},dependencies:[ce.sg,ce.O5,ce.RF,ce.n9,ce.ED,Gt._Y,Gt.Fj,Gt.JJ,Gt.JL,Gt.Q7,Gt.On,Gt.F,In.BN,W.xw,W.Wh,W.yH,ue.lW,$.dk,$.dn,rn.TO,rn.KE,rn.bx,tn.Nt,w.d,d.h,pn.q,ce.i8,ce.JJ,ce.uU]})}var Tn=m(1786),Yn=m(7371),Mt=m(207);function Ge(an,hn){if(1&an&&(I.TgZ(0,"mat-option",23),I._uU(1),I.qZA()),2&an){const en=hn.$implicit;I.Q6J("value",en),I.xp6(1),I.hij(" ",en.infoName," ")}}function Be(an,hn){if(1&an){const en=I.EpF();I.TgZ(0,"div",13)(1,"mat-form-field",20)(2,"mat-select",21),I.NdJ("valueChange",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.selInfoType=Qn)}),I.YNc(3,Ge,2,2,"mat-option",22),I.qZA()()()}if(2&an){const en=I.oxw();I.xp6(2),I.Q6J("value",en.selInfoType),I.xp6(1),I.Q6J("ngForOf",en.infoTypes)}}const ft=function(an){return{"display-none":an}};class re{constructor(hn,en,gn,Qn,Ei){this.dialogRef=hn,this.data=en,this.logger=gn,this.snackBar=Qn,this.commonService=Ei,this.faReceipt=Ut.dLy,this.infoTypes=[{infoID:0,infoKey:"node pubkey",infoName:"Node pubkey"}],this.selInfoType=this.infoTypes[0],this.qrWidth=210,this.screenSize="",this.screenSizeEnum=M.cu}ngOnInit(){this.information=this.data.information,this.information.uris&&(1===this.information.uris.length?this.infoTypes.push({infoID:1,infoKey:"node URI",infoName:"Node URI"}):this.information.uris.length>1&&this.information.uris.forEach((hn,en)=>{this.infoTypes.push({infoID:en+1,infoKey:"node URI "+(en+1),infoName:"Node URI "+(en+1)})})),this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyPubkey(hn){this.snackBar.open(this.selInfoType.infoName+" copied."),this.logger.info("Copied Text: "+hn)}static#e=this.\u0275fac=function(en){return new(en||re)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ie.mQ),I.Y36(ae.ux),I.Y36(_e.v))};static#t=this.\u0275cmp=I.Xpm({type:re,selectors:[["rtl-show-pubkey"]],decls:26,vars:19,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"value","size","errorCorrectionLevel"],["fxFlex","100","fxFlex.gt-sm","70"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxFlex","100","fxFlex.gt-sm","40","fxLayoutAlign","start end"],["tabindex","1",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I._UZ(2,"qr-code",2),I.qZA(),I.TgZ(3,"div",3)(4,"mat-card-header",4)(5,"div",5),I._UZ(6,"fa-icon",6),I.TgZ(7,"span",7),I._uU(8),I.qZA()(),I.TgZ(9,"button",8),I.NdJ("click",function(){return gn.onClose()}),I._uU(10,"X"),I.qZA()(),I.TgZ(11,"mat-card-content",9)(12,"div",10)(13,"div",11),I._UZ(14,"qr-code",2),I.qZA(),I.YNc(15,Be,4,2,"div",12),I.TgZ(16,"div",13)(17,"div",14)(18,"h4",15),I._uU(19),I.qZA(),I.TgZ(20,"span",16),I._uU(21),I.qZA()()(),I._UZ(22,"mat-divider",17),I.TgZ(23,"div",18)(24,"button",19),I.NdJ("copied",function(Ei){return gn.onCopyPubkey(Ei)}),I._uU(25),I.qZA()()()()()()),2&en&&(I.xp6(1),I.Q6J("ngClass",I.VKq(15,ft,gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM)),I.xp6(1),I.s9C("value",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.Q6J("size",gn.qrWidth)("errorCorrectionLevel","L"),I.xp6(4),I.Q6J("icon",gn.faReceipt),I.xp6(2),I.Oqu(gn.selInfoType.infoName),I.xp6(5),I.Q6J("ngClass",I.VKq(17,ft,gn.screenSize!==gn.screenSizeEnum.XS&&gn.screenSize!==gn.screenSizeEnum.SM)),I.xp6(1),I.s9C("value",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.Q6J("size",gn.qrWidth)("errorCorrectionLevel","L"),I.xp6(1),I.Q6J("ngIf",gn.information.uris&&gn.information.uris.length>0),I.xp6(4),I.Oqu(gn.selInfoType.infoName),I.xp6(2),I.Oqu(0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.xp6(3),I.s9C("payload",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.xp6(1),I.hij("Copy ",gn.selInfoType.infoKey,""))},dependencies:[ce.mk,ce.sg,ce.O5,In.BN,W.xw,W.Wh,W.yH,ye.oO,ue.lW,$.dk,$.dn,rn.KE,w.d,Yn.gD,Mt.ey,n.uU,h.y,d.h]})}var Te=m(6523),pt=m(429),Lt=m(2994),nn=m(8377),Bn=m(8987),Wn=m(3512),ti=m(5986),Mn=m(8104),Ln=m(3547);class ai{constructor(hn,en,gn,Qn,Ei,ha,mi,qi,Zi,Za,mr){this.actions=hn,this.httpClient=en,this.store=gn,this.logger=Qn,this.wsService=Ei,this.sessionService=ha,this.commonService=mi,this.dataService=qi,this.dialog=Zi,this.snackBar=Za,this.router=mr,this.screenSize="",this.alertWidth="55%",this.confirmWidth="70%",this.unSubs=[new t.x,new t.x],this.closeAllDialogs=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_ALL_DIALOGS),(0,D.U)(()=>{this.dialog.closeAll()})),{dispatch:!1}),this.openSnackBar=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_SNACK_BAR),(0,D.U)(It=>{"string"==typeof It.payload?this.snackBar.open(It.payload):"ERROR"===It.payload.type?this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-warn-snack-bar"}):"WARN"===It.payload.type?this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-accent-snack-bar"}):this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-snack-bar"})})),{dispatch:!1}),this.openSpinner=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_SPINNER),(0,D.U)(It=>{It.payload!==M.m6.NO_SPINNER&&(this.dialogRef=this.dialog.open(Q,{data:{titleMessage:It.payload}}))})),{dispatch:!1}),this.closeSpinner=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_SPINNER),(0,D.U)(It=>{if(It.payload!==M.m6.NO_SPINNER)try{this.dialogRef&&this.dialogRef.componentInstance&&this.dialogRef.componentInstance.data&&this.dialogRef.componentInstance.data.titleMessage&&this.dialogRef.componentInstance.data.titleMessage===It.payload?this.dialogRef.close():this.dialog.openDialogs.forEach(Ft=>{Ft.componentInstance&&Ft.componentInstance.data&&Ft.componentInstance.data.titleMessage&&Ft.componentInstance.data.titleMessage===It.payload&&Ft.close()})}catch(Ft){this.logger.error(Ft)}})),{dispatch:!1}),this.openAlert=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_ALERT),(0,D.U)(It=>{const Ft=JSON.parse(JSON.stringify(It.payload));Ft.width||(Ft.width=this.alertWidth),It.payload.data.component?this.dialogRef=this.dialog.open(It.payload.data.component,Ft):this.dialogRef=this.dialog.open(Bt,Ft)})),{dispatch:!1}),this.closeAlert=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_ALERT),(0,D.U)(It=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(It.payload),It.payload))),{dispatch:!1}),this.openConfirm=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_CONFIRMATION),(0,D.U)(It=>{const Ft=JSON.parse(JSON.stringify(It.payload));Ft.width||(Ft.width=this.confirmWidth),this.dialogRef=this.dialog.open(zn,Ft)})),{dispatch:!1}),this.closeConfirm=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_CONFIRMATION),(0,u.q)(1),(0,D.U)(It=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(It.payload),It.payload))),{dispatch:!1}),this.showNodePubkey=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_PUBKEY),(0,k.M)(this.store.select(nn.R4)),(0,p.z)(([It,Ft])=>(this.sessionService.getItem("token")&&Ft.identity_pubkey?this.store.dispatch((0,yn.qR)({payload:{data:{information:Ft,component:re}}})):this.snackBar.open("Node Pubkey does not exist."),(0,_.of)({type:M.pg.VOID}))))),this.appConfigFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_RTL_CONFIG),(0,p.z)(()=>(this.screenSize=this.commonService.getScreenSize(),this.screenSize===M.cu.XS||this.screenSize===M.cu.SM?(this.alertWidth="95%",this.confirmWidth="95%"):this.screenSize===M.cu.MD?(this.alertWidth="80%",this.confirmWidth="80%"):(this.alertWidth="45%",this.confirmWidth="50%"),this.store.dispatch((0,yn.ac)({payload:M.m6.GET_RTL_CONFIG})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchRTLConfig",status:M.Bn.INITIATED}})),this.sessionService.getItem("token")?this.httpClient.get(P.NZ.CONF_API+"/rtlconf"):this.httpClient.get(P.NZ.CONF_API+"/rtlconfinit"))),(0,D.U)(It=>{this.logger.info(It),this.store.dispatch((0,yn.uO)({payload:M.m6.GET_RTL_CONFIG})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchRTLConfig",status:M.Bn.COMPLETED}}));let Ft=null;return It.nodes.forEach(ln=>{ln.settings.currencyUnits=[...M.uA,ln.settings?.currencyUnit?ln.settings?.currencyUnit:""],+(ln.index||-1)===It.selectedNodeIndex&&(Ft=ln)}),Ft?(this.store.dispatch((0,yn.fk)({payload:{uiMessage:M.m6.NO_SPINNER,prevLnNodeIndex:-1,currentLnNode:Ft,isInitialSetup:!0}})),{type:M.pg.SET_RTL_CONFIG,payload:It}):{type:M.pg.VOID}}),(0,S.K)(It=>(this.handleErrorWithAlert("FetchRTLConfig",M.m6.GET_RTL_CONFIG,"Fetch RTL Config Failed!",P.NZ.CONF_API,It),(0,_.of)({type:M.pg.VOID}))))),this.settingSave=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SAVE_SETTINGS),(0,p.z)(It=>{this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSettings",status:M.Bn.INITIATED}}));let Ft=new E.y;if(It.payload.settings&&It.payload.defaultNodeIndex){const ln=this.httpClient.post(P.NZ.CONF_API,{updatedSettings:It.payload.settings}),En=this.httpClient.post(P.NZ.CONF_API+"/updateDefaultNode",{defaultNodeIndex:It.payload.defaultNodeIndex});Ft=(0,s.D)([ln,En])}else It.payload.settings&&!It.payload.defaultNodeIndex?Ft=this.httpClient.post(P.NZ.CONF_API,{updatedSettings:It.payload.settings}):!It.payload.settings&&It.payload.defaultNodeIndex&&(Ft=this.httpClient.post(P.NZ.CONF_API+"/updateDefaultNode",{defaultNodeIndex:It.payload.defaultNodeIndex}));return Ft.pipe((0,D.U)(ln=>(this.logger.info(ln),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),{type:M.pg.OPEN_SNACK_BAR,payload:ln.length?ln[0].message+".":ln.message+"."})),(0,S.K)(ln=>(this.handleErrorWithAlert("UpdateSettings",It.payload.uiMessage,"Update Settings Failed!",P.NZ.CONF_API,ln.length?ln[0]:ln),(0,_.of)({type:M.pg.VOID}))))}))),this.updateServicesettings=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.UPDATE_SERVICE_SETTINGS),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateServiceSettings",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.CONF_API+"/updateServiceSettings",It.payload).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateServiceSettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.Tm)({payload:It.payload})),{type:M.pg.OPEN_SNACK_BAR,payload:Ft.message+"."})),(0,S.K)(Ft=>(this.handleErrorWithAlert("UpdateServiceSettings",It.payload.uiMessage,"Update Service Settings Failed!",P.NZ.CONF_API,Ft),(0,_.of)({type:M.pg.VOID})))))))),this.twoFASettingSave=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.TWO_FA_SAVE_SETTINGS),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.UPDATE_UI_SETTINGS})),this.store.dispatch((0,yn.qi)({payload:{action:"Update2FASettings",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.CONF_API+"/update2FA",{secret2fa:It.payload.secret2fa}))),(0,k.M)(this.store.select(nn.Yj)),(0,D.U)(([It,Ft])=>{this.logger.info(It),Ft.enable2FA=!Ft.enable2FA,this.store.dispatch((0,yn.qi)({payload:{action:"Update2FASettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.UPDATE_UI_SETTINGS})),this.store.dispatch((0,yn.XT)({payload:Ft}))}),(0,S.K)(It=>(this.handleErrorWithAlert("Update2FASettings",M.m6.UPDATE_UI_SETTINGS,"Update 2FA Settings Failed!",P.NZ.CONF_API,It),(0,_.of)({type:M.pg.VOID})))),{dispatch:!1}),this.configFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_CONFIG),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.OPEN_CONFIG_FILE})),this.store.dispatch((0,yn.qi)({payload:{action:"fetchConfig",status:M.Bn.INITIATED}})),this.httpClient.get(P.NZ.CONF_API+"/config/"+It.payload).pipe((0,D.U)(Ft=>(this.store.dispatch((0,yn.qi)({payload:{action:"fetchConfig",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.OPEN_CONFIG_FILE})),{type:M.pg.SHOW_CONFIG,payload:Ft})),(0,S.K)(Ft=>(this.handleErrorWithAlert("fetchConfig",M.m6.OPEN_CONFIG_FILE,"Fetch Config Failed!",P.NZ.CONF_API+"/config/"+It.payload,Ft),(0,_.of)({type:M.pg.VOID})))))))),this.showLnConfig=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_CONFIG),(0,D.U)(It=>It.payload)),{dispatch:!1}),this.isAuthorized=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.IS_AUTHORIZED),(0,p.z)(It=>(this.store.dispatch((0,yn.qi)({payload:{action:"IsAuthorized",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API,{authenticateWith:It.payload&&""!==It.payload.trim()?M.OJ.PASSWORD:M.OJ.JWT,authenticationValue:It.payload&&""!==It.payload.trim()?It.payload:this.sessionService.getItem("token")?this.sessionService.getItem("token"):""}).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"IsAuthorized",status:M.Bn.COMPLETED}})),this.logger.info("Successfully Authorized!"),{type:M.pg.IS_AUTHORIZED_RES,payload:Ft})),(0,S.K)(Ft=>(this.handleErrorWithAlert("IsAuthorized",M.m6.NO_SPINNER,"Authorization Failed",P.NZ.AUTHENTICATE_API,Ft),(0,_.of)({type:M.pg.IS_AUTHORIZED_RES,payload:"ERROR"})))))))),this.isAuthorizedRes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.IS_AUTHORIZED_RES),(0,D.U)(It=>It.payload)),{dispatch:!1}),this.authLogin=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.LOGIN),(0,k.M)(this.store.select(nn.Yj)),(0,p.z)(([It,Ft])=>(this.store.dispatch((0,Te.Ll)({payload:null})),this.store.dispatch((0,pt.xH)({payload:null})),this.store.dispatch((0,Lt.Fd)({payload:null})),this.store.dispatch((0,yn.qi)({payload:{action:"Login",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API,{authenticateWith:It.payload.password?M.OJ.PASSWORD:M.OJ.JWT,authenticationValue:It.payload.password?It.payload.password:this.sessionService.getItem("token")?this.sessionService.getItem("token"):"",twoFAToken:It.payload.twoFAToken?It.payload.twoFAToken:""}).pipe((0,D.U)(ln=>{this.logger.info(ln),this.store.dispatch((0,yn.qi)({payload:{action:"Login",status:M.Bn.COMPLETED}})),this.setLoggedInDetails(It.payload.defaultPassword,ln)}),(0,S.K)(ln=>(this.logger.info("Redirecting to Login Error Page"),this.handleErrorWithoutAlert("Login",M.m6.NO_SPINNER,ln),+Ft.sso.rtlSSO?this.router.navigate(["/error"],{state:{errorCode:"406",errorMessage:ln.error&&ln.error.error?ln.error.error:"Single Sign On Failed!"}}):this.router.navigate(["./login"]),(0,_.of)({type:M.pg.VOID}))))))),{dispatch:!1}),this.tokenVerify=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.VERIFY_TWO_FA),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.VERIFY_TOKEN})),this.store.dispatch((0,yn.qi)({payload:{action:"VerifyToken",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API+"/token",{authentication2FA:It.payload.token}).pipe((0,D.U)(Ft=>{this.logger.info(Ft),this.store.dispatch((0,yn.uO)({payload:M.m6.VERIFY_TOKEN})),this.store.dispatch((0,yn.qi)({payload:{action:"VerifyToken",status:M.Bn.COMPLETED}})),this.logger.info("Token Successfully Verified!"),this.setLoggedInDetails(!1,It.payload.authResponse)}),(0,S.K)(Ft=>(this.handleErrorWithAlert("VerifyToken",M.m6.VERIFY_TOKEN,"Authorization Failed!",P.NZ.AUTHENTICATE_API+"/token",Ft),(0,_.of)({type:M.pg.VOID}))))))),{dispatch:!1}),this.logOut=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.LOGOUT),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.LOG_OUT})),It.sso&&+It.sso.rtlSSO?window.location.href=It.sso.logoutRedirectLink:this.router.navigate(["./login"]),this.sessionService.clearAll(),this.store.dispatch((0,yn._V)({payload:{}})),this.store.dispatch((0,yn.uO)({payload:M.m6.LOG_OUT})),this.logger.info("Logged out from browser"),this.httpClient.get(P.NZ.AUTHENTICATE_API+"/logout").pipe((0,D.U)(Ft=>{this.logger.info(Ft),this.store.dispatch((0,yn.uO)({payload:M.m6.LOG_OUT})),this.logger.info("Logged out from server")}))))),{dispatch:!1}),this.resetPassword=(0,e.GW)(()=>this.actions.pipe((0,A.R)(this.unSubs[1]),(0,e.l4)(M.pg.RESET_PASSWORD),(0,p.z)(It=>(this.store.dispatch((0,yn.qi)({payload:{action:"ResetPassword",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API+"/reset",{currPassword:It.payload.currPassword,newPassword:It.payload.newPassword}).pipe((0,A.R)(this.unSubs[0]),(0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"ResetPassword",status:M.Bn.COMPLETED}})),this.sessionService.setItem("defaultPassword",!1),this.logger.info("Password Reset Successful!"),this.store.dispatch((0,yn.jW)({payload:"Password Reset Successful!"})),this.SetToken(Ft.token),{type:M.pg.RESET_PASSWORD_RES,payload:Ft.token})),(0,S.K)(Ft=>(this.handleErrorWithAlert("ResetPassword",M.m6.NO_SPINNER,"Password Reset Failed!",P.NZ.AUTHENTICATE_API+"/reset",Ft),(0,_.of)({type:M.pg.VOID})))))))),this.setSelectedNode=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SET_SELECTED_NODE),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSelNode",status:M.Bn.INITIATED}})),this.httpClient.get(P.NZ.CONF_API+"/updateSelNode/"+It.payload.currentLnNode?.index+"/"+It.payload.prevLnNodeIndex).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSelNode",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),this.initializeNode(It.payload.currentLnNode,It.payload.isInitialSetup),{type:M.pg.VOID})),(0,S.K)(Ft=>(this.handleErrorWithAlert("UpdateSelNode",It.payload.uiMessage,"Update Selected Node Failed!",P.NZ.CONF_API+"/updateSelNode",Ft),(0,_.of)({type:M.pg.VOID})))))))),this.fetchFile=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_FILE),(0,p.z)(It=>{this.store.dispatch((0,yn.ac)({payload:M.m6.DOWNLOAD_BACKUP_FILE})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchFile",status:M.Bn.INITIATED}}));const Ft="?channel="+It.payload.channelPoint+(It.payload.path?"&path="+It.payload.path:"");return this.httpClient.get(P.NZ.CONF_API+"/file"+Ft).pipe((0,D.U)(ln=>(this.store.dispatch((0,yn.qi)({payload:{action:"FetchFile",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.DOWNLOAD_BACKUP_FILE})),{type:M.pg.SHOW_FILE,payload:ln})),(0,S.K)(ln=>(this.handleErrorWithAlert("fetchFile",M.m6.DOWNLOAD_BACKUP_FILE,"Download Backup File Failed!",P.NZ.CONF_API+"/file"+Ft,{status:this.commonService.extractErrorNumber(ln),error:{error:this.commonService.extractErrorCode(ln)}}),(0,_.of)({type:M.pg.VOID}))))}))),this.showFile=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_FILE),(0,D.U)(It=>It.payload)),{dispatch:!1})}initializeNode(hn,en){this.logger.info("Initializing node from RTL Effects.");const gn=en?"":"HOME",Qn={userPersona:hn.settings.userPersona,channelBackupPath:hn.settings.channelBackupPath,unannouncedChannels:!!hn.settings.unannouncedChannels,selCurrencyUnit:hn.settings.currencyUnit,currencyUnits:M.uA,fiatConversion:hn.settings.fiatConversion,lnImplementation:hn.lnImplementation,swapServerUrl:hn.settings.swapServerUrl,boltzServerUrl:hn.settings.boltzServerUrl,enableOffers:hn.settings.enableOffers,enablePeerswap:hn.settings.enablePeerswap};if(hn.settings.fiatConversion&&hn.settings.currencyUnit&&(Qn.currencyUnits=[...M.uA,hn.settings.currencyUnit]),this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("clUnlocked"),this.sessionService.removeItem("eclUnlocked"),this.store.dispatch((0,yn.vI)({payload:hn})),this.store.dispatch((0,Te.Ll)({payload:Qn})),this.store.dispatch((0,pt.xH)({payload:Qn})),this.store.dispatch((0,Lt.Fd)({payload:Qn})),this.sessionService.getItem("token")){const Ei=hn.lnImplementation?hn.lnImplementation.toUpperCase():"LND";this.dataService.setLnImplementation(Ei);const ha=P.NZ.production&&window.location.origin?window.location.origin+"/rtl/api":P.T5;switch(this.wsService.connectWebSocket(ha?.replace(/^http/,"ws")+P.NZ.Web_SOCKET_API,hn.index?hn.index.toString():"-1"),Ei){case"CLN":this.store.dispatch((0,pt.CN)({payload:{loadPage:gn}}));break;case"ECL":this.store.dispatch((0,Lt.iz)({payload:{loadPage:gn}}));break;default:this.store.dispatch((0,Te.sQ)({payload:{loadPage:gn}}))}}}SetToken(hn){hn?(this.sessionService.setItem("lndUnlocked","true"),this.sessionService.setItem("token",hn)):(this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("token"))}setLoggedInDetails(hn,en){this.logger.info("Successfully Authorized!"),this.SetToken(en.token),this.sessionService.setItem("defaultPassword",hn),hn?(this.store.dispatch((0,yn.jW)({payload:"Reset your password."})),this.router.navigate(["/settings/auth"])):this.store.dispatch((0,yn.ey)())}handleErrorWithoutAlert(hn,en,gn){this.logger.error("ERROR IN: "+hn+"\n"+JSON.stringify(gn)),401===gn.status&&"Login"!==hn?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,yn.ts)()),this.store.dispatch((0,yn.kS)()),this.store.dispatch((0,yn.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,yn.uO)({payload:en})),this.store.dispatch((0,yn.qi)({payload:{action:hn,status:M.Bn.ERROR,statusCode:gn.status?gn.status.toString():"",message:this.commonService.extractErrorMessage(gn)}})))}handleErrorWithAlert(hn,en,gn,Qn,Ei){if(this.logger.error(Ei),0===Ei.status&&Ei.statusText&&"Unknown Error"===Ei.statusText&&(Ei={status:400,error:{message:"Unknown Error / CORS Origin Not Allowed"}}),401===Ei.status&&"Login"!==hn)this.logger.info("Redirecting to Login"),this.store.dispatch((0,yn.ts)()),this.store.dispatch((0,yn.kS)()),this.store.dispatch((0,yn.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,yn.uO)({payload:en}));const ha=this.commonService.extractErrorMessage(Ei);this.store.dispatch((0,yn.qR)({payload:{data:{type:"ERROR",alertTitle:gn,message:{code:Ei.status?Ei.status:"Unknown Error",message:ha,URL:Qn},component:Tn.H}}})),this.store.dispatch((0,yn.qi)({payload:{action:hn,status:M.Bn.ERROR,statusCode:Ei.status?Ei.status.toString():"",message:ha,URL:Qn}}))}}ngOnDestroy(){this.unSubs.forEach(hn=>{hn.next(null),hn.complete()})}static#e=this.\u0275fac=function(en){return new(en||ai)(I.LFG(e.eX),I.LFG(Bn.eN),I.LFG(Xt.yh),I.LFG(ie.mQ),I.LFG(Wn.d),I.LFG(ti.m),I.LFG(_e.v),I.LFG(Mn.D),I.LFG(z.uw),I.LFG(ae.ux),I.LFG(Ln.F0))};static#t=this.\u0275prov=I.Yz7({token:ai,factory:ai.\u0275fac})}},8377:(Ue,q,m)=>{"use strict";m.d(q,{R4:()=>D,Sr:()=>k,Yj:()=>s,dT:()=>E,gW:()=>p,ul:()=>u});var e=m(9263);const t=(0,e.ZF)("root"),E=((0,e.P1)(t,S=>S.apiURL),(0,e.P1)(t,S=>S.selNode)),s=(0,e.P1)(t,S=>S.appConfig),D=(0,e.P1)(t,S=>S.nodeData),u=(0,e.P1)(t,S=>S.apisCallStatus.Login),k=(0,e.P1)(t,S=>S.apisCallStatus.IsAuthorized),p=(0,e.P1)(t,S=>({nodeDate:S.nodeData,selNode:S.selNode}))},2340:(Ue,q,m)=>{"use strict";m.d(q,{NZ:()=>t,T5:()=>e,q4:()=>_});const e="./api",t={production:!0,isDebugMode:!1,AUTHENTICATE_API:e+"/authenticate",CONF_API:e+"/conf",PAGE_SETTINGS_API:e+"/pagesettings",BALANCE_API:"/balance",FEES_API:"/fees",PEERS_API:"/peers",CHANNELS_API:"/channels",CHANNELS_BACKUP_API:"/channels/backup",GETINFO_API:"/getinfo",WALLET_API:"/wallet",NETWORK_API:"/network",NEW_ADDRESS_API:"/newaddress",TRANSACTIONS_API:"/transactions",PAYMENTS_API:"/payments",INVOICES_API:"/invoices",SWITCH_API:"/switch",ON_CHAIN_API:"/onchain",MESSAGE_API:"/message",OFFERS_API:"/offers",UTILITY_API:"/utility",LOOP_API:"/loop",BOLTZ_API:"/boltz",Web_SOCKET_API:"/ws"},_="0.13.3-beta"},2693:(Ue,q,m)=>{"use strict";var e=m(4497),t=m(2560),_=m(4851);function s(K){return new t.vHH(3e3,!1)}function Ke(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function je(K){switch(K.length){case 0:return new _.ZN;case 1:return K[0];default:return new _.ZE(K)}}function Ve(K,T,x,V,ge=new Map,nt=new Map){const kt=[],jt=[];let on=-1,xn=null;if(V.forEach(fi=>{const Xn=fi.get("offset"),Pi=Xn==on,Ni=Pi&&xn||new Map;fi.forEach((Ci,Oi)=>{let na=Oi,Ia=Ci;if("offset"!==Oi)switch(na=T.normalizePropertyName(na,kt),Ia){case _.k1:Ia=ge.get(Oi);break;case _.l3:Ia=nt.get(Oi);break;default:Ia=T.normalizeStyleValue(Oi,na,Ia,kt)}Ni.set(na,Ia)}),Pi||jt.push(Ni),xn=Ni,on=Xn}),kt.length)throw function o(K){return new t.vHH(3502,!1)}();return jt}function xe(K,T,x,V){switch(T){case"start":K.onStart(()=>V(x&&Ze(x,"start",K)));break;case"done":K.onDone(()=>V(x&&Ze(x,"done",K)));break;case"destroy":K.onDestroy(()=>V(x&&Ze(x,"destroy",K)))}}function Ze(K,T,x){const V=x.totalTime,ge=!!x.disabled,nt=Ie(K.element,K.triggerName,K.fromState,K.toState,T||K.phaseName,V??K.totalTime,ge),kt=K._data;return null!=kt&&(nt._data=kt),nt}function Ie(K,T,x,V,ge="",nt=0,kt){return{element:K,triggerName:T,fromState:x,toState:V,phaseName:ge,totalTime:nt,disabled:!!kt}}function ve(K,T,x){let V=K.get(T);return V||K.set(T,V=x),V}function et(K){const T=K.indexOf(":");return[K.substring(1,T),K.slice(T+1)]}let ht=(K,T)=>!1,Le=(K,T,x)=>[],Ae=null;function te(K){const T=K.parentNode||K.host;return T===Ae?null:T}(Ke()||typeof Element<"u")&&(function ke(){return typeof window<"u"&&typeof window.document<"u"}()?(Ae=(()=>document.documentElement)(),ht=(K,T)=>{for(;T;){if(T===K)return!0;T=te(T)}return!1}):ht=(K,T)=>K.contains(T),Le=(K,T,x)=>{if(x)return Array.from(K.querySelectorAll(T));const V=K.querySelector(T);return V?[V]:[]});let H=null,j=!1;function Oe(K){H||(H=function le(){return typeof document<"u"?document.body:null}()||{},j=!!H.style&&"WebkitAppearance"in H.style);let T=!0;return H.style&&!function ee(K){return"ebkit"==K.substring(1,6)}(K)&&(T=K in H.style,!T&&j&&(T="Webkit"+K.charAt(0).toUpperCase()+K.slice(1)in H.style)),T}const _t=ht,it=Le;class un{validateStyleProperty(T){return Oe(T)}matchesElement(T,x){return!1}containsElement(T,x){return _t(T,x)}getParentElement(T){return te(T)}query(T,x,V){return it(T,x,V)}computeStyle(T,x,V){return V||""}animate(T,x,V,ge,nt,kt=[],jt){return new _.ZN(V,ge)}}un.\u0275fac=function(T){return new(T||un)},un.\u0275prov=t.Yz7({token:un,factory:un.\u0275fac});class Bt{}Bt.NOOP=new un;const Gt="ng-enter",In="ng-leave",rn="ng-trigger",tn=".ng-trigger",pn="ng-animating",tt=".ng-animating";function vt(K){if("number"==typeof K)return K;const T=K.match(/^(-?[\.\d]+)(m?s)/);return!T||T.length<2?0:dt(parseFloat(T[1]),T[2])}function dt(K,T){return"s"===T?1e3*K:K}function se(K,T,x){return K.hasOwnProperty("duration")?K:function J(K,T,x){const V=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;let ge,nt=0,kt="";if("string"==typeof K){const jt=K.match(V);if(null===jt)return T.push(s()),{duration:0,delay:0,easing:""};ge=dt(parseFloat(jt[1]),jt[2]);const on=jt[3];null!=on&&(nt=dt(parseFloat(on),jt[4]));const xn=jt[5];xn&&(kt=xn)}else ge=K;if(!x){let jt=!1,on=T.length;ge<0&&(T.push(function D(){return new t.vHH(3100,!1)}()),jt=!0),nt<0&&(T.push(function u(){return new t.vHH(3101,!1)}()),jt=!0),jt&&T.splice(on,0,s())}return{duration:ge,delay:nt,easing:kt}}(K,T,x)}function oe(K,T={}){return Object.keys(K).forEach(x=>{T[x]=K[x]}),T}function De(K){const T=new Map;return Object.keys(K).forEach(x=>{const V=K[x];T.set(x,V)}),T}function ut(K,T=new Map,x){if(x)for(let[V,ge]of x)T.set(V,ge);for(let[V,ge]of K)T.set(V,ge);return T}function ze(K,T,x){return x?T+":"+x+";":""}function Me(K){let T="";for(let x=0;x{const nt=Rt(ge);x&&!x.has(ge)&&x.set(ge,K.style[nt]),K.style[nt]=V}),Ke()&&Me(K))}function Je(K,T){K.style&&(T.forEach((x,V)=>{const ge=Rt(V);K.style[ge]=""}),Ke()&&Me(K))}function zt(K){return Array.isArray(K)?1==K.length?K[0]:(0,_.vP)(K):K}function At(K,T,x){const V=T.params||{},ge=Ht(K);ge.length&&ge.forEach(nt=>{V.hasOwnProperty(nt)||x.push(function k(K){return new t.vHH(3001,!1)}())})}const Tt=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ht(K){let T=[];if("string"==typeof K){let x;for(;x=Tt.exec(K);)T.push(x[1]);Tt.lastIndex=0}return T}function He(K,T,x){const V=K.toString(),ge=V.replace(Tt,(nt,kt)=>{let jt=T[kt];return null==jt&&(x.push(function p(K){return new t.vHH(3003,!1)}()),jt=""),jt.toString()});return ge==V?K:ge}function $e(K){const T=[];let x=K.next();for(;!x.done;)T.push(x.value),x=K.next();return T}const $t=/-+([a-z0-9])/g;function Rt(K){return K.replace($t,(...T)=>T[1].toUpperCase())}function Jt(K){return K.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Tn(K,T,x){switch(T.type){case 7:return K.visitTrigger(T,x);case 0:return K.visitState(T,x);case 1:return K.visitTransition(T,x);case 2:return K.visitSequence(T,x);case 3:return K.visitGroup(T,x);case 4:return K.visitAnimate(T,x);case 5:return K.visitKeyframes(T,x);case 6:return K.visitStyle(T,x);case 8:return K.visitReference(T,x);case 9:return K.visitAnimateChild(T,x);case 10:return K.visitAnimateRef(T,x);case 11:return K.visitQuery(T,x);case 12:return K.visitStagger(T,x);default:throw function S(K){return new t.vHH(3004,!1)}(T.type)}}function Yn(K,T){return window.getComputedStyle(K)[T]}function nn(K,T){const x=[];return"string"==typeof K?K.split(/\s*,\s*/).forEach(V=>function Bn(K,T,x){if(":"==K[0]){const on=function Wn(K,T){switch(K){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(x,V)=>parseFloat(V)>parseFloat(x);case":decrement":return(x,V)=>parseFloat(V) *"}}(K,x);if("function"==typeof on)return void T.push(on);K=on}const V=K.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==V||V.length<4)return x.push(function ue(K){return new t.vHH(3015,!1)}()),T;const ge=V[1],nt=V[2],kt=V[3];T.push(Ln(ge,kt));const jt="*"==ge&&"*"==kt;"<"==nt[0]&&!jt&&T.push(Ln(kt,ge))}(V,x,T)):x.push(K),x}const ti=new Set(["true","1"]),Mn=new Set(["false","0"]);function Ln(K,T){const x=ti.has(K)||Mn.has(K),V=ti.has(T)||Mn.has(T);return(ge,nt)=>{let kt="*"==K||K==ge,jt="*"==T||T==nt;return!kt&&x&&"boolean"==typeof ge&&(kt=ge?ti.has(K):Mn.has(K)),!jt&&V&&"boolean"==typeof nt&&(jt=nt?ti.has(T):Mn.has(T)),kt&&jt}}const ai=":self",an=new RegExp("s*:selfs*,?","g");function hn(K,T,x,V){return new gn(K).build(T,x,V)}class gn{constructor(T){this._driver=T}build(T,x,V){const ge=new ha(x);return this._resetContextStyleTimingState(ge),Tn(this,zt(T),ge)}_resetContextStyleTimingState(T){T.currentQuerySelector="",T.collectedStyles=new Map,T.collectedStyles.set("",new Map),T.currentTime=0}visitTrigger(T,x){let V=x.queryCount=0,ge=x.depCount=0;const nt=[],kt=[];return"@"==T.name.charAt(0)&&x.errors.push(function P(){return new t.vHH(3006,!1)}()),T.definitions.forEach(jt=>{if(this._resetContextStyleTimingState(x),0==jt.type){const on=jt,xn=on.name;xn.toString().split(/\s*,\s*/).forEach(fi=>{on.name=fi,nt.push(this.visitState(on,x))}),on.name=xn}else if(1==jt.type){const on=this.visitTransition(jt,x);V+=on.queryCount,ge+=on.depCount,kt.push(on)}else x.errors.push(function M(){return new t.vHH(3007,!1)}())}),{type:7,name:T.name,states:nt,transitions:kt,queryCount:V,depCount:ge,options:null}}visitState(T,x){const V=this.visitStyle(T.styles,x),ge=T.options&&T.options.params||null;if(V.containsDynamicStyles){const nt=new Set,kt=ge||{};if(V.styles.forEach(jt=>{jt instanceof Map&&jt.forEach(on=>{Ht(on).forEach(xn=>{kt.hasOwnProperty(xn)||nt.add(xn)})})}),nt.size){$e(nt.values());x.errors.push(function z(K,T){return new t.vHH(3008,!1)}(T.name))}}return{type:0,name:T.name,style:V,options:ge?{params:ge}:null}}visitTransition(T,x){x.queryCount=0,x.depCount=0;const V=Tn(this,zt(T.animation),x);return{type:1,matchers:nn(T.expr,x.errors),animation:V,queryCount:x.queryCount,depCount:x.depCount,options:Zi(T.options)}}visitSequence(T,x){return{type:2,steps:T.steps.map(V=>Tn(this,V,x)),options:Zi(T.options)}}visitGroup(T,x){const V=x.currentTime;let ge=0;const nt=T.steps.map(kt=>{x.currentTime=V;const jt=Tn(this,kt,x);return ge=Math.max(ge,x.currentTime),jt});return x.currentTime=ge,{type:3,steps:nt,options:Zi(T.options)}}visitAnimate(T,x){const V=function qi(K,T){if(K.hasOwnProperty("duration"))return K;if("number"==typeof K){return Za(se(K,T).duration,0,"")}const x=K;if(x.split(/\s+/).some(nt=>"{"==nt.charAt(0)&&"{"==nt.charAt(1))){const nt=Za(0,0,"");return nt.dynamic=!0,nt.strValue=x,nt}const ge=se(x,T);return Za(ge.duration,ge.delay,ge.easing)}(T.timings,x.errors);x.currentAnimateTimings=V;let ge,nt=T.styles?T.styles:(0,_.oB)({});if(5==nt.type)ge=this.visitKeyframes(nt,x);else{let kt=T.styles,jt=!1;if(!kt){jt=!0;const xn={};V.easing&&(xn.easing=V.easing),kt=(0,_.oB)(xn)}x.currentTime+=V.duration+V.delay;const on=this.visitStyle(kt,x);on.isEmptyStep=jt,ge=on}return x.currentAnimateTimings=null,{type:4,timings:V,style:ge,options:null}}visitStyle(T,x){const V=this._makeStyleAst(T,x);return this._validateStyleAst(V,x),V}_makeStyleAst(T,x){const V=[],ge=Array.isArray(T.styles)?T.styles:[T.styles];for(let jt of ge)"string"==typeof jt?jt===_.l3?V.push(jt):x.errors.push(new t.vHH(3002,!1)):V.push(De(jt));let nt=!1,kt=null;return V.forEach(jt=>{if(jt instanceof Map&&(jt.has("easing")&&(kt=jt.get("easing"),jt.delete("easing")),!nt))for(let on of jt.values())if(on.toString().indexOf("{{")>=0){nt=!0;break}}),{type:6,styles:V,easing:kt,offset:T.offset,containsDynamicStyles:nt,options:null}}_validateStyleAst(T,x){const V=x.currentAnimateTimings;let ge=x.currentTime,nt=x.currentTime;V&&nt>0&&(nt-=V.duration+V.delay),T.styles.forEach(kt=>{"string"!=typeof kt&&kt.forEach((jt,on)=>{const xn=x.collectedStyles.get(x.currentQuerySelector),fi=xn.get(on);let Xn=!0;fi&&(nt!=ge&&nt>=fi.startTime&&ge<=fi.endTime&&(x.errors.push(function Z(K,T,x,V,ge){return new t.vHH(3010,!1)}(0,fi.startTime,fi.endTime)),Xn=!1),nt=fi.startTime),Xn&&xn.set(on,{startTime:nt,endTime:ge}),x.options&&At(jt,x.options,x.errors)})})}visitKeyframes(T,x){const V={type:5,styles:[],options:null};if(!x.currentAnimateTimings)return x.errors.push(function Q(){return new t.vHH(3011,!1)}()),V;let nt=0;const kt=[];let jt=!1,on=!1,xn=0;const fi=T.steps.map(Ia=>{const Jr=this._makeStyleAst(Ia,x);let Ns=null!=Jr.offset?Jr.offset:function mi(K){if("string"==typeof K)return null;let T=null;if(Array.isArray(K))K.forEach(x=>{if(x instanceof Map&&x.has("offset")){const V=x;T=parseFloat(V.get("offset")),V.delete("offset")}});else if(K instanceof Map&&K.has("offset")){const x=K;T=parseFloat(x.get("offset")),x.delete("offset")}return T}(Jr.styles),hs=0;return null!=Ns&&(nt++,hs=Jr.offset=Ns),on=on||hs<0||hs>1,jt=jt||hs0&&nt{const Ns=Pi>0?Jr==Ni?1:Pi*Jr:kt[Jr],hs=Ns*na;x.currentTime=Ci+Oi.delay+hs,Oi.duration=hs,this._validateStyleAst(Ia,x),Ia.offset=Ns,V.styles.push(Ia)}),V}visitReference(T,x){return{type:8,animation:Tn(this,zt(T.animation),x),options:Zi(T.options)}}visitAnimateChild(T,x){return x.depCount++,{type:9,options:Zi(T.options)}}visitAnimateRef(T,x){return{type:10,animation:this.visitReference(T.animation,x),options:Zi(T.options)}}visitQuery(T,x){const V=x.currentQuerySelector,ge=T.options||{};x.queryCount++,x.currentQuery=T;const[nt,kt]=function Qn(K){const T=!!K.split(/\s*,\s*/).find(x=>x==ai);return T&&(K=K.replace(an,"")),K=K.replace(/@\*/g,tn).replace(/@\w+/g,x=>tn+"-"+x.slice(1)).replace(/:animating/g,tt),[K,T]}(T.selector);x.currentQuerySelector=V.length?V+" "+nt:nt,ve(x.collectedStyles,x.currentQuerySelector,new Map);const jt=Tn(this,zt(T.animation),x);return x.currentQuery=null,x.currentQuerySelector=V,{type:11,selector:nt,limit:ge.limit||0,optional:!!ge.optional,includeSelf:kt,animation:jt,originalSelector:T.selector,options:Zi(T.options)}}visitStagger(T,x){x.currentQuery||x.errors.push(function ce(){return new t.vHH(3013,!1)}());const V="full"===T.timings?{duration:0,delay:0,easing:"full"}:se(T.timings,x.errors,!0);return{type:12,animation:Tn(this,zt(T.animation),x),timings:V,options:null}}}class ha{constructor(T){this.errors=T,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Zi(K){return K?(K=oe(K)).params&&(K.params=function Ei(K){return K?oe(K):null}(K.params)):K={},K}function Za(K,T,x){return{duration:K,delay:T,easing:x}}function mr(K,T,x,V,ge,nt,kt=null,jt=!1){return{type:1,element:K,keyframes:T,preStyleProps:x,postStyleProps:V,duration:ge,delay:nt,totalTime:ge+nt,easing:kt,subTimeline:jt}}class It{constructor(){this._map=new Map}get(T){return this._map.get(T)||[]}append(T,x){let V=this._map.get(T);V||this._map.set(T,V=[]),V.push(...x)}has(T){return this._map.has(T)}clear(){this._map.clear()}}const En=new RegExp(":enter","g"),Nn=new RegExp(":leave","g");function li(K,T,x,V,ge,nt=new Map,kt=new Map,jt,on,xn=[]){return(new aa).buildKeyframes(K,T,x,V,ge,nt,kt,jt,on,xn)}class aa{buildKeyframes(T,x,V,ge,nt,kt,jt,on,xn,fi=[]){xn=xn||new It;const Xn=new ea(T,x,xn,ge,nt,fi,[]);Xn.options=on;const Pi=on.delay?vt(on.delay):0;Xn.currentTimeline.delayNextStep(Pi),Xn.currentTimeline.setStyles([kt],null,Xn.errors,on),Tn(this,V,Xn);const Ni=Xn.timelines.filter(Ci=>Ci.containsAnimation());if(Ni.length&&jt.size){let Ci;for(let Oi=Ni.length-1;Oi>=0;Oi--){const na=Ni[Oi];if(na.element===x){Ci=na;break}}Ci&&!Ci.allowOnlyTimelineStyles()&&Ci.setStyles([jt],null,Xn.errors,on)}return Ni.length?Ni.map(Ci=>Ci.buildKeyframes()):[mr(x,[],[],[],0,Pi,"",!1)]}visitTrigger(T,x){}visitState(T,x){}visitTransition(T,x){}visitAnimateChild(T,x){const V=x.subInstructions.get(x.element);if(V){const ge=x.createSubContext(T.options),nt=x.currentTimeline.currentTime,kt=this._visitSubInstructions(V,ge,ge.options);nt!=kt&&x.transformIntoNewTimeline(kt)}x.previousNode=T}visitAnimateRef(T,x){const V=x.createSubContext(T.options);V.transformIntoNewTimeline(),this._applyAnimationRefDelays([T.options,T.animation.options],x,V),this.visitReference(T.animation,V),x.transformIntoNewTimeline(V.currentTimeline.currentTime),x.previousNode=T}_applyAnimationRefDelays(T,x,V){for(const ge of T){const nt=ge?.delay;if(nt){const kt="number"==typeof nt?nt:vt(He(nt,ge?.params??{},x.errors));V.delayNextStep(kt)}}}_visitSubInstructions(T,x,V){let nt=x.currentTimeline.currentTime;const kt=null!=V.duration?vt(V.duration):null,jt=null!=V.delay?vt(V.delay):null;return 0!==kt&&T.forEach(on=>{const xn=x.appendInstructionToTimeline(on,kt,jt);nt=Math.max(nt,xn.duration+xn.delay)}),nt}visitReference(T,x){x.updateOptions(T.options,!0),Tn(this,T.animation,x),x.previousNode=T}visitSequence(T,x){const V=x.subContextCount;let ge=x;const nt=T.options;if(nt&&(nt.params||nt.delay)&&(ge=x.createSubContext(nt),ge.transformIntoNewTimeline(),null!=nt.delay)){6==ge.previousNode.type&&(ge.currentTimeline.snapshotCurrentStyles(),ge.previousNode=Ii);const kt=vt(nt.delay);ge.delayNextStep(kt)}T.steps.length&&(T.steps.forEach(kt=>Tn(this,kt,ge)),ge.currentTimeline.applyStylesToKeyframe(),ge.subContextCount>V&&ge.transformIntoNewTimeline()),x.previousNode=T}visitGroup(T,x){const V=[];let ge=x.currentTimeline.currentTime;const nt=T.options&&T.options.delay?vt(T.options.delay):0;T.steps.forEach(kt=>{const jt=x.createSubContext(T.options);nt&&jt.delayNextStep(nt),Tn(this,kt,jt),ge=Math.max(ge,jt.currentTimeline.currentTime),V.push(jt.currentTimeline)}),V.forEach(kt=>x.currentTimeline.mergeTimelineCollectedStyles(kt)),x.transformIntoNewTimeline(ge),x.previousNode=T}_visitTiming(T,x){if(T.dynamic){const V=T.strValue;return se(x.params?He(V,x.params,x.errors):V,x.errors)}return{duration:T.duration,delay:T.delay,easing:T.easing}}visitAnimate(T,x){const V=x.currentAnimateTimings=this._visitTiming(T.timings,x),ge=x.currentTimeline;V.delay&&(x.incrementTime(V.delay),ge.snapshotCurrentStyles());const nt=T.style;5==nt.type?this.visitKeyframes(nt,x):(x.incrementTime(V.duration),this.visitStyle(nt,x),ge.applyStylesToKeyframe()),x.currentAnimateTimings=null,x.previousNode=T}visitStyle(T,x){const V=x.currentTimeline,ge=x.currentAnimateTimings;!ge&&V.hasCurrentStyleProperties()&&V.forwardFrame();const nt=ge&&ge.easing||T.easing;T.isEmptyStep?V.applyEmptyStep(nt):V.setStyles(T.styles,nt,x.errors,x.options),x.previousNode=T}visitKeyframes(T,x){const V=x.currentAnimateTimings,ge=x.currentTimeline.duration,nt=V.duration,jt=x.createSubContext().currentTimeline;jt.easing=V.easing,T.styles.forEach(on=>{const xn=on.offset||0;jt.forwardTime(xn*nt),jt.setStyles(on.styles,on.easing,x.errors,x.options),jt.applyStylesToKeyframe()}),x.currentTimeline.mergeTimelineCollectedStyles(jt),x.transformIntoNewTimeline(ge+nt),x.previousNode=T}visitQuery(T,x){const V=x.currentTimeline.currentTime,ge=T.options||{},nt=ge.delay?vt(ge.delay):0;nt&&(6===x.previousNode.type||0==V&&x.currentTimeline.hasCurrentStyleProperties())&&(x.currentTimeline.snapshotCurrentStyles(),x.previousNode=Ii);let kt=V;const jt=x.invokeQuery(T.selector,T.originalSelector,T.limit,T.includeSelf,!!ge.optional,x.errors);x.currentQueryTotal=jt.length;let on=null;jt.forEach((xn,fi)=>{x.currentQueryIndex=fi;const Xn=x.createSubContext(T.options,xn);nt&&Xn.delayNextStep(nt),xn===x.element&&(on=Xn.currentTimeline),Tn(this,T.animation,Xn),Xn.currentTimeline.applyStylesToKeyframe();const Pi=Xn.currentTimeline.currentTime;kt=Math.max(kt,Pi)}),x.currentQueryIndex=0,x.currentQueryTotal=0,x.transformIntoNewTimeline(kt),on&&(x.currentTimeline.mergeTimelineCollectedStyles(on),x.currentTimeline.snapshotCurrentStyles()),x.previousNode=T}visitStagger(T,x){const V=x.parentContext,ge=x.currentTimeline,nt=T.timings,kt=Math.abs(nt.duration),jt=kt*(x.currentQueryTotal-1);let on=kt*x.currentQueryIndex;switch(nt.duration<0?"reverse":nt.easing){case"reverse":on=jt-on;break;case"full":on=V.currentStaggerTime}const fi=x.currentTimeline;on&&fi.delayNextStep(on);const Xn=fi.currentTime;Tn(this,T.animation,x),x.previousNode=T,V.currentStaggerTime=ge.currentTime-Xn+(ge.startTime-V.currentTimeline.startTime)}}const Ii={};class ea{constructor(T,x,V,ge,nt,kt,jt,on){this._driver=T,this.element=x,this.subInstructions=V,this._enterClassName=ge,this._leaveClassName=nt,this.errors=kt,this.timelines=jt,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ii,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=on||new Di(this._driver,x,0),jt.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(T,x){if(!T)return;const V=T;let ge=this.options;null!=V.duration&&(ge.duration=vt(V.duration)),null!=V.delay&&(ge.delay=vt(V.delay));const nt=V.params;if(nt){let kt=ge.params;kt||(kt=this.options.params={}),Object.keys(nt).forEach(jt=>{(!x||!kt.hasOwnProperty(jt))&&(kt[jt]=He(nt[jt],kt,this.errors))})}}_copyOptions(){const T={};if(this.options){const x=this.options.params;if(x){const V=T.params={};Object.keys(x).forEach(ge=>{V[ge]=x[ge]})}}return T}createSubContext(T=null,x,V){const ge=x||this.element,nt=new ea(this._driver,ge,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(ge,V||0));return nt.previousNode=this.previousNode,nt.currentAnimateTimings=this.currentAnimateTimings,nt.options=this._copyOptions(),nt.updateOptions(T),nt.currentQueryIndex=this.currentQueryIndex,nt.currentQueryTotal=this.currentQueryTotal,nt.parentContext=this,this.subContextCount++,nt}transformIntoNewTimeline(T){return this.previousNode=Ii,this.currentTimeline=this.currentTimeline.fork(this.element,T),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(T,x,V){const ge={duration:x??T.duration,delay:this.currentTimeline.currentTime+(V??0)+T.delay,easing:""},nt=new Ji(this._driver,T.element,T.keyframes,T.preStyleProps,T.postStyleProps,ge,T.stretchStartingKeyframe);return this.timelines.push(nt),ge}incrementTime(T){this.currentTimeline.forwardTime(this.currentTimeline.duration+T)}delayNextStep(T){T>0&&this.currentTimeline.delayNextStep(T)}invokeQuery(T,x,V,ge,nt,kt){let jt=[];if(ge&&jt.push(this.element),T.length>0){T=(T=T.replace(En,"."+this._enterClassName)).replace(Nn,"."+this._leaveClassName);const on=1!=V;let xn=this._driver.query(this.element,T,on);0!==V&&(xn=V<0?xn.slice(xn.length+V,xn.length):xn.slice(0,V)),jt.push(...xn)}return!nt&&0==jt.length&&kt.push(function ye(K){return new t.vHH(3014,!1)}()),jt}}class Di{constructor(T,x,V,ge){this._driver=T,this.element=x,this.startTime=V,this._elementTimelineStylesLookup=ge,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(x),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(x,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(T){const x=1===this._keyframes.size&&this._pendingStyles.size;this.duration||x?(this.forwardTime(this.currentTime+T),x&&this.snapshotCurrentStyles()):this.startTime+=T}fork(T,x){return this.applyStylesToKeyframe(),new Di(this._driver,T,x||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(T){this.applyStylesToKeyframe(),this.duration=T,this._loadKeyframe()}_updateStyle(T,x){this._localTimelineStyles.set(T,x),this._globalTimelineStyles.set(T,x),this._styleSummary.set(T,{time:this.currentTime,value:x})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(T){T&&this._previousKeyframe.set("easing",T);for(let[x,V]of this._globalTimelineStyles)this._backFill.set(x,V||_.l3),this._currentKeyframe.set(x,_.l3);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(T,x,V,ge){x&&this._previousKeyframe.set("easing",x);const nt=ge&&ge.params||{},kt=function Yi(K,T){const x=new Map;let V;return K.forEach(ge=>{if("*"===ge){V=V||T.keys();for(let nt of V)x.set(nt,_.l3)}else ut(ge,x)}),x}(T,this._globalTimelineStyles);for(let[jt,on]of kt){const xn=He(on,nt,V);this._pendingStyles.set(jt,xn),this._localTimelineStyles.has(jt)||this._backFill.set(jt,this._globalTimelineStyles.get(jt)??_.l3),this._updateStyle(jt,xn)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((T,x)=>{this._currentKeyframe.set(x,T)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((T,x)=>{this._currentKeyframe.has(x)||this._currentKeyframe.set(x,T)}))}snapshotCurrentStyles(){for(let[T,x]of this._localTimelineStyles)this._pendingStyles.set(T,x),this._updateStyle(T,x)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const T=[];for(let x in this._currentKeyframe)T.push(x);return T}mergeTimelineCollectedStyles(T){T._styleSummary.forEach((x,V)=>{const ge=this._styleSummary.get(V);(!ge||x.time>ge.time)&&this._updateStyle(V,x.value)})}buildKeyframes(){this.applyStylesToKeyframe();const T=new Set,x=new Set,V=1===this._keyframes.size&&0===this.duration;let ge=[];this._keyframes.forEach((jt,on)=>{const xn=ut(jt,new Map,this._backFill);xn.forEach((fi,Xn)=>{fi===_.k1?T.add(Xn):fi===_.l3&&x.add(Xn)}),V||xn.set("offset",on/this.duration),ge.push(xn)});const nt=T.size?$e(T.values()):[],kt=x.size?$e(x.values()):[];if(V){const jt=ge[0],on=new Map(jt);jt.set("offset",0),on.set("offset",1),ge=[jt,on]}return mr(this.element,ge,nt,kt,this.duration,this.startTime,this.easing,!1)}}class Ji extends Di{constructor(T,x,V,ge,nt,kt,jt=!1){super(T,x,kt.delay),this.keyframes=V,this.preStyleProps=ge,this.postStyleProps=nt,this._stretchStartingKeyframe=jt,this.timings={duration:kt.duration,delay:kt.delay,easing:kt.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let T=this.keyframes,{delay:x,duration:V,easing:ge}=this.timings;if(this._stretchStartingKeyframe&&x){const nt=[],kt=V+x,jt=x/kt,on=ut(T[0]);on.set("offset",0),nt.push(on);const xn=ut(T[0]);xn.set("offset",ka(jt)),nt.push(xn);const fi=T.length-1;for(let Xn=1;Xn<=fi;Xn++){let Pi=ut(T[Xn]);const Ci=x+Pi.get("offset")*V;Pi.set("offset",ka(Ci/kt)),nt.push(Pi)}V=kt,x=0,ge="",T=nt}return mr(this.element,T,this.preStyleProps,this.postStyleProps,V,x,ge,!0)}}function ka(K,T=3){const x=Math.pow(10,T-1);return Math.round(K*x)/x}class Hi{}const gr=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Sa extends Hi{normalizePropertyName(T,x){return Rt(T)}normalizeStyleValue(T,x,V,ge){let nt="";const kt=V.toString().trim();if(gr.has(x)&&0!==V&&"0"!==V)if("number"==typeof V)nt="px";else{const jt=V.match(/^[+-]?[\d\.]+([a-z]*)$/);jt&&0==jt[1].length&&ge.push(function A(K,T){return new t.vHH(3005,!1)}())}return kt+nt}}function fa(K,T,x,V,ge,nt,kt,jt,on,xn,fi,Xn,Pi){return{type:0,element:K,triggerName:T,isRemovalTransition:ge,fromState:x,fromStyles:nt,toState:V,toStyles:kt,timelines:jt,queriedElements:on,preStyleProps:xn,postStyleProps:fi,totalTime:Xn,errors:Pi}}const Ki={};class xa{constructor(T,x,V){this._triggerName=T,this.ast=x,this._stateStyles=V}match(T,x,V,ge){return function fo(K,T,x,V,ge){return K.some(nt=>nt(T,x,V,ge))}(this.ast.matchers,T,x,V,ge)}buildStyles(T,x,V){let ge=this._stateStyles.get("*");return void 0!==T&&(ge=this._stateStyles.get(T?.toString())||ge),ge?ge.buildStyles(x,V):new Map}build(T,x,V,ge,nt,kt,jt,on,xn,fi){const Xn=[],Pi=this.ast.options&&this.ast.options.params||Ki,Ni=jt&&jt.params||Ki,Ci=this.buildStyles(V,Ni,Xn),Oi=on&&on.params||Ki,na=this.buildStyles(ge,Oi,Xn),Ia=new Set,Jr=new Map,Ns=new Map,hs="void"===ge,lo={params:za(Oi,Pi),delay:this.ast.options?.delay},il=fi?[]:li(T,x,this.ast.animation,nt,kt,Ci,na,lo,xn,Xn);let Ms=0;if(il.forEach(al=>{Ms=Math.max(al.duration+al.delay,Ms)}),Xn.length)return fa(x,this._triggerName,V,ge,hs,Ci,na,[],[],Jr,Ns,Ms,Xn);il.forEach(al=>{const zo=al.element,Ah=ve(Jr,zo,new Set);al.preStyleProps.forEach(Tc=>Ah.add(Tc));const h1=ve(Ns,zo,new Set);al.postStyleProps.forEach(Tc=>h1.add(Tc)),zo!==x&&Ia.add(zo)});const To=$e(Ia.values());return fa(x,this._triggerName,V,ge,hs,Ci,na,il,To,Jr,Ns,Ms)}}function za(K,T){const x=oe(T);for(const V in K)K.hasOwnProperty(V)&&null!=K[V]&&(x[V]=K[V]);return x}class js{constructor(T,x,V){this.styles=T,this.defaultParams=x,this.normalizer=V}buildStyles(T,x){const V=new Map,ge=oe(this.defaultParams);return Object.keys(T).forEach(nt=>{const kt=T[nt];null!==kt&&(ge[nt]=kt)}),this.styles.styles.forEach(nt=>{"string"!=typeof nt&&nt.forEach((kt,jt)=>{kt&&(kt=He(kt,ge,x));const on=this.normalizer.normalizePropertyName(jt,x);kt=this.normalizer.normalizeStyleValue(jt,on,kt,x),V.set(on,kt)})}),V}}class Qi{constructor(T,x,V){this.name=T,this.ast=x,this._normalizer=V,this.transitionFactories=[],this.states=new Map,x.states.forEach(ge=>{const nt=ge.options&&ge.options.params||{};this.states.set(ge.name,new js(ge.style,nt,V))}),Ta(this.states,"true","1"),Ta(this.states,"false","0"),x.transitions.forEach(ge=>{this.transitionFactories.push(new xa(T,ge,this.states))}),this.fallbackTransition=function Gr(K,T,x){return new xa(K,{type:1,animation:{type:2,steps:[],options:null},matchers:[(kt,jt)=>!0],options:null,queryCount:0,depCount:0},T)}(T,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(T,x,V,ge){return this.transitionFactories.find(kt=>kt.match(T,x,V,ge))||null}matchStyles(T,x,V){return this.fallbackTransition.buildStyles(T,x,V)}}function Ta(K,T,x){K.has(T)?K.has(x)||K.set(x,K.get(T)):K.has(x)&&K.set(T,K.get(x))}const Is=new It;class Ua{constructor(T,x,V){this.bodyNode=T,this._driver=x,this._normalizer=V,this._animations=new Map,this._playersById=new Map,this.players=[]}register(T,x){const V=[],ge=[],nt=hn(this._driver,x,V,ge);if(V.length)throw function h(K){return new t.vHH(3503,!1)}();ge.length,this._animations.set(T,nt)}_buildPlayer(T,x,V){const ge=T.element,nt=Ve(this._driver,this._normalizer,0,T.keyframes,x,V);return this._driver.animate(ge,nt,T.duration,T.delay,T.easing,[],!0)}create(T,x,V={}){const ge=[],nt=this._animations.get(T);let kt;const jt=new Map;if(nt?(kt=li(this._driver,x,nt,Gt,In,new Map,new Map,V,Is,ge),kt.forEach(fi=>{const Xn=ve(jt,fi.element,new Map);fi.postStyleProps.forEach(Pi=>Xn.set(Pi,null))})):(ge.push(function d(){return new t.vHH(3300,!1)}()),kt=[]),ge.length)throw function y(K){return new t.vHH(3504,!1)}();jt.forEach((fi,Xn)=>{fi.forEach((Pi,Ni)=>{fi.set(Ni,this._driver.computeStyle(Xn,Ni,_.l3))})});const xn=je(kt.map(fi=>{const Xn=jt.get(fi.element);return this._buildPlayer(fi,new Map,Xn)}));return this._playersById.set(T,xn),xn.onDestroy(()=>this.destroy(T)),this.players.push(xn),xn}destroy(T){const x=this._getPlayer(T);x.destroy(),this._playersById.delete(T);const V=this.players.indexOf(x);V>=0&&this.players.splice(V,1)}_getPlayer(T){const x=this._playersById.get(T);if(!x)throw function L(K){return new t.vHH(3301,!1)}();return x}listen(T,x,V,ge){const nt=Ie(x,"","","");return xe(this._getPlayer(T),V,nt,ge),()=>{}}command(T,x,V,ge){if("register"==V)return void this.register(T,ge[0]);if("create"==V){const kt=ge[0]||{};return void this.create(T,x,kt)}const nt=this._getPlayer(T);switch(V){case"play":nt.play();break;case"pause":nt.pause();break;case"reset":nt.reset();break;case"restart":nt.restart();break;case"finish":nt.finish();break;case"init":nt.init();break;case"setPosition":nt.setPosition(parseFloat(ge[0]));break;case"destroy":this.destroy(T)}}}const Ls="ng-animate-queued",vr="ng-animate-disabled",nr=[],Pr={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Xs={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},pa="__ng_removed";class Js{constructor(T,x=""){this.namespaceId=x;const V=T&&T.hasOwnProperty("value"),ge=V?T.value:T;if(this.value=function sa(K){return K??null}(ge),V){const nt=oe(T);delete nt.value,this.options=nt}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(T){const x=T.params;if(x){const V=this.options.params;Object.keys(x).forEach(ge=>{null==V[ge]&&(V[ge]=x[ge])})}}}const Oa="void",Ss=new Js(Oa);class Ja{constructor(T,x,V){this.id=T,this.hostElement=x,this._engine=V,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+T,dn(x,this._hostClassName)}listen(T,x,V,ge){if(!this._triggers.has(x))throw function B(K,T){return new t.vHH(3302,!1)}();if(null==V||0==V.length)throw function v(K){return new t.vHH(3303,!1)}();if(!function br(K){return"start"==K||"done"==K}(V))throw function a(K,T){return new t.vHH(3400,!1)}();const nt=ve(this._elementListeners,T,[]),kt={name:x,phase:V,callback:ge};nt.push(kt);const jt=ve(this._engine.statesByElement,T,new Map);return jt.has(x)||(dn(T,rn),dn(T,rn+"-"+x),jt.set(x,Ss)),()=>{this._engine.afterFlush(()=>{const on=nt.indexOf(kt);on>=0&&nt.splice(on,1),this._triggers.has(x)||jt.delete(x)})}}register(T,x){return!this._triggers.has(T)&&(this._triggers.set(T,x),!0)}_getTrigger(T){const x=this._triggers.get(T);if(!x)throw function C(K){return new t.vHH(3401,!1)}();return x}trigger(T,x,V,ge=!0){const nt=this._getTrigger(x),kt=new $a(this.id,x,T);let jt=this._engine.statesByElement.get(T);jt||(dn(T,rn),dn(T,rn+"-"+x),this._engine.statesByElement.set(T,jt=new Map));let on=jt.get(x);const xn=new Js(V,this.id);if(!(V&&V.hasOwnProperty("value"))&&on&&xn.absorbOptions(on.options),jt.set(x,xn),on||(on=Ss),xn.value!==Oa&&on.value===xn.value){if(!function Bi(K,T){const x=Object.keys(K),V=Object.keys(T);if(x.length!=V.length)return!1;for(let ge=0;ge{Je(T,na),Ce(T,Ia)})}return}const Pi=ve(this._engine.playersByElement,T,[]);Pi.forEach(Oi=>{Oi.namespaceId==this.id&&Oi.triggerName==x&&Oi.queued&&Oi.destroy()});let Ni=nt.matchTransition(on.value,xn.value,T,xn.params),Ci=!1;if(!Ni){if(!ge)return;Ni=nt.fallbackTransition,Ci=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:T,triggerName:x,transition:Ni,fromState:on,toState:xn,player:kt,isFallbackTransition:Ci}),Ci||(dn(T,Ls),kt.onStart(()=>{xt(T,Ls)})),kt.onDone(()=>{let Oi=this.players.indexOf(kt);Oi>=0&&this.players.splice(Oi,1);const na=this._engine.playersByElement.get(T);if(na){let Ia=na.indexOf(kt);Ia>=0&&na.splice(Ia,1)}}),this.players.push(kt),Pi.push(kt),kt}deregister(T){this._triggers.delete(T),this._engine.statesByElement.forEach(x=>x.delete(T)),this._elementListeners.forEach((x,V)=>{this._elementListeners.set(V,x.filter(ge=>ge.name!=T))})}clearElementCache(T){this._engine.statesByElement.delete(T),this._elementListeners.delete(T);const x=this._engine.playersByElement.get(T);x&&(x.forEach(V=>V.destroy()),this._engine.playersByElement.delete(T))}_signalRemovalForInnerTriggers(T,x){const V=this._engine.driver.query(T,tn,!0);V.forEach(ge=>{if(ge[pa])return;const nt=this._engine.fetchNamespacesByElement(ge);nt.size?nt.forEach(kt=>kt.triggerLeaveAnimation(ge,x,!1,!0)):this.clearElementCache(ge)}),this._engine.afterFlushAnimationsDone(()=>V.forEach(ge=>this.clearElementCache(ge)))}triggerLeaveAnimation(T,x,V,ge){const nt=this._engine.statesByElement.get(T),kt=new Map;if(nt){const jt=[];if(nt.forEach((on,xn)=>{if(kt.set(xn,on.value),this._triggers.has(xn)){const fi=this.trigger(T,xn,Oa,ge);fi&&jt.push(fi)}}),jt.length)return this._engine.markElementAsRemoved(this.id,T,!0,x,kt),V&&je(jt).onDone(()=>this._engine.processLeaveNode(T)),!0}return!1}prepareLeaveAnimationListeners(T){const x=this._elementListeners.get(T),V=this._engine.statesByElement.get(T);if(x&&V){const ge=new Set;x.forEach(nt=>{const kt=nt.name;if(ge.has(kt))return;ge.add(kt);const on=this._triggers.get(kt).fallbackTransition,xn=V.get(kt)||Ss,fi=new Js(Oa),Xn=new $a(this.id,kt,T);this._engine.totalQueuedPlayers++,this._queue.push({element:T,triggerName:kt,transition:on,fromState:xn,toState:fi,player:Xn,isFallbackTransition:!0})})}}removeNode(T,x){const V=this._engine;if(T.childElementCount&&this._signalRemovalForInnerTriggers(T,x),this.triggerLeaveAnimation(T,x,!0))return;let ge=!1;if(V.totalAnimations){const nt=V.players.length?V.playersByQueriedElement.get(T):[];if(nt&&nt.length)ge=!0;else{let kt=T;for(;kt=kt.parentNode;)if(V.statesByElement.get(kt)){ge=!0;break}}}if(this.prepareLeaveAnimationListeners(T),ge)V.markElementAsRemoved(this.id,T,!1,x);else{const nt=T[pa];(!nt||nt===Pr)&&(V.afterFlush(()=>this.clearElementCache(T)),V.destroyInnerAnimations(T),V._onRemovalComplete(T,x))}}insertNode(T,x){dn(T,this._hostClassName)}drainQueuedTransitions(T){const x=[];return this._queue.forEach(V=>{const ge=V.player;if(ge.destroyed)return;const nt=V.element,kt=this._elementListeners.get(nt);kt&&kt.forEach(jt=>{if(jt.name==V.triggerName){const on=Ie(nt,V.triggerName,V.fromState.value,V.toState.value);on._data=T,xe(V.player,jt.phase,on,jt.callback)}}),ge.markedForDestroy?this._engine.afterFlush(()=>{ge.destroy()}):x.push(V)}),this._queue=[],x.sort((V,ge)=>{const nt=V.transition.ast.depCount,kt=ge.transition.ast.depCount;return 0==nt||0==kt?nt-kt:this._engine.driver.containsElement(V.element,ge.element)?1:-1})}destroy(T){this.players.forEach(x=>x.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,T)}elementContainsData(T){let x=!1;return this._elementListeners.has(T)&&(x=!0),x=!!this._queue.find(V=>V.element===T)||x,x}}class Os{constructor(T,x,V){this.bodyNode=T,this.driver=x,this._normalizer=V,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(ge,nt)=>{}}_onRemovalComplete(T,x){this.onRemovalComplete(T,x)}get queuedPlayers(){const T=[];return this._namespaceList.forEach(x=>{x.players.forEach(V=>{V.queued&&T.push(V)})}),T}createNamespace(T,x){const V=new Ja(T,x,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,x)?this._balanceNamespaceList(V,x):(this.newHostElements.set(x,V),this.collectEnterElement(x)),this._namespaceLookup[T]=V}_balanceNamespaceList(T,x){const V=this._namespaceList,ge=this.namespacesByHostElement;if(V.length-1>=0){let kt=!1,jt=this.driver.getParentElement(x);for(;jt;){const on=ge.get(jt);if(on){const xn=V.indexOf(on);V.splice(xn+1,0,T),kt=!0;break}jt=this.driver.getParentElement(jt)}kt||V.unshift(T)}else V.push(T);return ge.set(x,T),T}register(T,x){let V=this._namespaceLookup[T];return V||(V=this.createNamespace(T,x)),V}registerTrigger(T,x,V){let ge=this._namespaceLookup[T];ge&&ge.register(x,V)&&this.totalAnimations++}destroy(T,x){if(!T)return;const V=this._fetchNamespace(T);this.afterFlush(()=>{this.namespacesByHostElement.delete(V.hostElement),delete this._namespaceLookup[T];const ge=this._namespaceList.indexOf(V);ge>=0&&this._namespaceList.splice(ge,1)}),this.afterFlushAnimationsDone(()=>V.destroy(x))}_fetchNamespace(T){return this._namespaceLookup[T]}fetchNamespacesByElement(T){const x=new Set,V=this.statesByElement.get(T);if(V)for(let ge of V.values())if(ge.namespaceId){const nt=this._fetchNamespace(ge.namespaceId);nt&&x.add(nt)}return x}trigger(T,x,V,ge){if(ir(x)){const nt=this._fetchNamespace(T);if(nt)return nt.trigger(x,V,ge),!0}return!1}insertNode(T,x,V,ge){if(!ir(x))return;const nt=x[pa];if(nt&&nt.setForRemoval){nt.setForRemoval=!1,nt.setForMove=!0;const kt=this.collectedLeaveElements.indexOf(x);kt>=0&&this.collectedLeaveElements.splice(kt,1)}if(T){const kt=this._fetchNamespace(T);kt&&kt.insertNode(x,V)}ge&&this.collectEnterElement(x)}collectEnterElement(T){this.collectedEnterElements.push(T)}markElementAsDisabled(T,x){x?this.disabledNodes.has(T)||(this.disabledNodes.add(T),dn(T,vr)):this.disabledNodes.has(T)&&(this.disabledNodes.delete(T),xt(T,vr))}removeNode(T,x,V,ge){if(ir(x)){const nt=T?this._fetchNamespace(T):null;if(nt?nt.removeNode(x,ge):this.markElementAsRemoved(T,x,!1,ge),V){const kt=this.namespacesByHostElement.get(x);kt&&kt.id!==T&&kt.removeNode(x,ge)}}else this._onRemovalComplete(x,ge)}markElementAsRemoved(T,x,V,ge,nt){this.collectedLeaveElements.push(x),x[pa]={namespaceId:T,setForRemoval:ge,hasAnimation:V,removedBeforeQueried:!1,previousTriggersValues:nt}}listen(T,x,V,ge,nt){return ir(x)?this._fetchNamespace(T).listen(x,V,ge,nt):()=>{}}_buildInstruction(T,x,V,ge,nt){return T.transition.build(this.driver,T.element,T.fromState.value,T.toState.value,V,ge,T.fromState.options,T.toState.options,x,nt)}destroyInnerAnimations(T){let x=this.driver.query(T,tn,!0);x.forEach(V=>this.destroyActiveAnimationsForElement(V)),0!=this.playersByQueriedElement.size&&(x=this.driver.query(T,tt,!0),x.forEach(V=>this.finishActiveQueriedAnimationOnElement(V)))}destroyActiveAnimationsForElement(T){const x=this.playersByElement.get(T);x&&x.forEach(V=>{V.queued?V.markedForDestroy=!0:V.destroy()})}finishActiveQueriedAnimationOnElement(T){const x=this.playersByQueriedElement.get(T);x&&x.forEach(V=>V.finish())}whenRenderingDone(){return new Promise(T=>{if(this.players.length)return je(this.players).onDone(()=>T());T()})}processLeaveNode(T){const x=T[pa];if(x&&x.setForRemoval){if(T[pa]=Pr,x.namespaceId){this.destroyInnerAnimations(T);const V=this._fetchNamespace(x.namespaceId);V&&V.clearElementCache(T)}this._onRemovalComplete(T,x.setForRemoval)}T.classList?.contains(vr)&&this.markElementAsDisabled(T,!1),this.driver.query(T,".ng-animate-disabled",!0).forEach(V=>{this.markElementAsDisabled(V,!1)})}flush(T=-1){let x=[];if(this.newHostElements.size&&(this.newHostElements.forEach((V,ge)=>this._balanceNamespaceList(V,ge)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let V=0;VV()),this._flushFns=[],this._whenQuietFns.length){const V=this._whenQuietFns;this._whenQuietFns=[],x.length?je(x).onDone(()=>{V.forEach(ge=>ge())}):V.forEach(ge=>ge())}}reportError(T){throw function N(K){return new t.vHH(3402,!1)}()}_flushAnimations(T,x){const V=new It,ge=[],nt=new Map,kt=[],jt=new Map,on=new Map,xn=new Map,fi=new Set;this.disabledNodes.forEach(vi=>{fi.add(vi);const wi=this.driver.query(vi,".ng-animate-queued",!0);for(let ki=0;ki{const ki=Gt+Oi++;Ci.set(wi,ki),vi.forEach(_a=>dn(_a,ki))});const na=[],Ia=new Set,Jr=new Set;for(let vi=0;viIa.add(_a)):Jr.add(wi))}const Ns=new Map,hs=Va(Pi,Array.from(Ia));hs.forEach((vi,wi)=>{const ki=In+Oi++;Ns.set(wi,ki),vi.forEach(_a=>dn(_a,ki))}),T.push(()=>{Ni.forEach((vi,wi)=>{const ki=Ci.get(wi);vi.forEach(_a=>xt(_a,ki))}),hs.forEach((vi,wi)=>{const ki=Ns.get(wi);vi.forEach(_a=>xt(_a,ki))}),na.forEach(vi=>{this.processLeaveNode(vi)})});const lo=[],il=[];for(let vi=this._namespaceList.length-1;vi>=0;vi--)this._namespaceList[vi].drainQueuedTransitions(x).forEach(ki=>{const _a=ki.player,Tr=ki.element;if(lo.push(_a),this.collectedEnterElements.length){const Fs=Tr[pa];if(Fs&&Fs.setForMove){if(Fs.previousTriggersValues&&Fs.previousTriggersValues.has(ki.triggerName)){const Al=Fs.previousTriggersValues.get(ki.triggerName),wo=this.statesByElement.get(ki.element);if(wo&&wo.has(ki.triggerName)){const i2=wo.get(ki.triggerName);i2.value=Al,wo.set(ki.triggerName,i2)}}return void _a.destroy()}}const co=!Xn||!this.driver.containsElement(Xn,Tr),Es=Ns.get(Tr),Co=Ci.get(Tr),cr=this._buildInstruction(ki,V,Co,Es,co);if(cr.errors&&cr.errors.length)return void il.push(cr);if(co)return _a.onStart(()=>Je(Tr,cr.fromStyles)),_a.onDestroy(()=>Ce(Tr,cr.toStyles)),void ge.push(_a);if(ki.isFallbackTransition)return _a.onStart(()=>Je(Tr,cr.fromStyles)),_a.onDestroy(()=>Ce(Tr,cr.toStyles)),void ge.push(_a);const wc=[];cr.timelines.forEach(Fs=>{Fs.stretchStartingKeyframe=!0,this.disabledNodes.has(Fs.element)||wc.push(Fs)}),cr.timelines=wc,V.append(Tr,cr.timelines);const Ih={instruction:cr,player:_a,element:Tr};kt.push(Ih),cr.queriedElements.forEach(Fs=>ve(jt,Fs,[]).push(_a)),cr.preStyleProps.forEach((Fs,Al)=>{if(Fs.size){let wo=on.get(Al);wo||on.set(Al,wo=new Set),Fs.forEach((i2,f1)=>wo.add(f1))}}),cr.postStyleProps.forEach((Fs,Al)=>{let wo=xn.get(Al);wo||xn.set(Al,wo=new Set),Fs.forEach((i2,f1)=>wo.add(f1))})});if(il.length){const vi=[];il.forEach(wi=>{vi.push(function X(K,T){return new t.vHH(3505,!1)}(wi.triggerName,wi.errors))}),lo.forEach(wi=>wi.destroy()),this.reportError(vi)}const Ms=new Map,To=new Map;kt.forEach(vi=>{const wi=vi.element;V.has(wi)&&(To.set(wi,wi),this._beforeAnimationBuild(vi.player.namespaceId,vi.instruction,Ms))}),ge.forEach(vi=>{const wi=vi.element;this._getPreviousPlayers(wi,!1,vi.namespaceId,vi.triggerName,null).forEach(_a=>{ve(Ms,wi,[]).push(_a),_a.destroy()})});const al=na.filter(vi=>Xi(vi,on,xn)),zo=new Map;kr(zo,this.driver,Jr,xn,_.l3).forEach(vi=>{Xi(vi,on,xn)&&al.push(vi)});const h1=new Map;Ni.forEach((vi,wi)=>{kr(h1,this.driver,new Set(vi),on,_.k1)}),al.forEach(vi=>{const wi=zo.get(vi),ki=h1.get(vi);zo.set(vi,new Map([...Array.from(wi?.entries()??[]),...Array.from(ki?.entries()??[])]))});const Tc=[],Th=[],wh={};kt.forEach(vi=>{const{element:wi,player:ki,instruction:_a}=vi;if(V.has(wi)){if(fi.has(wi))return ki.onDestroy(()=>Ce(wi,_a.toStyles)),ki.disabled=!0,ki.overrideTotalTime(_a.totalTime),void ge.push(ki);let Tr=wh;if(To.size>1){let Es=wi;const Co=[];for(;Es=Es.parentNode;){const cr=To.get(Es);if(cr){Tr=cr;break}Co.push(Es)}Co.forEach(cr=>To.set(cr,Tr))}const co=this._buildAnimation(ki.namespaceId,_a,Ms,nt,h1,zo);if(ki.setRealPlayer(co),Tr===wh)Tc.push(ki);else{const Es=this.playersByElement.get(Tr);Es&&Es.length&&(ki.parentPlayer=je(Es)),ge.push(ki)}}else Je(wi,_a.fromStyles),ki.onDestroy(()=>Ce(wi,_a.toStyles)),Th.push(ki),fi.has(wi)&&ge.push(ki)}),Th.forEach(vi=>{const wi=nt.get(vi.element);if(wi&&wi.length){const ki=je(wi);vi.setRealPlayer(ki)}}),ge.forEach(vi=>{vi.parentPlayer?vi.syncPlayerEvents(vi.parentPlayer):vi.destroy()});for(let vi=0;vi!co.destroyed);Tr.length?Nt(this,wi,Tr):this.processLeaveNode(wi)}return na.length=0,Tc.forEach(vi=>{this.players.push(vi),vi.onDone(()=>{vi.destroy();const wi=this.players.indexOf(vi);this.players.splice(wi,1)}),vi.play()}),Tc}elementContainsData(T,x){let V=!1;const ge=x[pa];return ge&&ge.setForRemoval&&(V=!0),this.playersByElement.has(x)&&(V=!0),this.playersByQueriedElement.has(x)&&(V=!0),this.statesByElement.has(x)&&(V=!0),this._fetchNamespace(T).elementContainsData(x)||V}afterFlush(T){this._flushFns.push(T)}afterFlushAnimationsDone(T){this._whenQuietFns.push(T)}_getPreviousPlayers(T,x,V,ge,nt){let kt=[];if(x){const jt=this.playersByQueriedElement.get(T);jt&&(kt=jt)}else{const jt=this.playersByElement.get(T);if(jt){const on=!nt||nt==Oa;jt.forEach(xn=>{xn.queued||!on&&xn.triggerName!=ge||kt.push(xn)})}}return(V||ge)&&(kt=kt.filter(jt=>!(V&&V!=jt.namespaceId||ge&&ge!=jt.triggerName))),kt}_beforeAnimationBuild(T,x,V){const ge=x.triggerName,nt=x.element,kt=x.isRemovalTransition?void 0:T,jt=x.isRemovalTransition?void 0:ge;for(const on of x.timelines){const xn=on.element,fi=xn!==nt,Xn=ve(V,xn,[]);this._getPreviousPlayers(xn,fi,kt,jt,x.toState).forEach(Ni=>{const Ci=Ni.getRealPlayer();Ci.beforeDestroy&&Ci.beforeDestroy(),Ni.destroy(),Xn.push(Ni)})}Je(nt,x.fromStyles)}_buildAnimation(T,x,V,ge,nt,kt){const jt=x.triggerName,on=x.element,xn=[],fi=new Set,Xn=new Set,Pi=x.timelines.map(Ci=>{const Oi=Ci.element;fi.add(Oi);const na=Oi[pa];if(na&&na.removedBeforeQueried)return new _.ZN(Ci.duration,Ci.delay);const Ia=Oi!==on,Jr=function Fn(K){const T=[];return ri(K,T),T}((V.get(Oi)||nr).map(Ms=>Ms.getRealPlayer())).filter(Ms=>{const To=Ms;return!!To.element&&To.element===Oi}),Ns=nt.get(Oi),hs=kt.get(Oi),lo=Ve(this.driver,this._normalizer,0,Ci.keyframes,Ns,hs),il=this._buildPlayer(Ci,lo,Jr);if(Ci.subTimeline&&ge&&Xn.add(Oi),Ia){const Ms=new $a(T,jt,Oi);Ms.setRealPlayer(il),xn.push(Ms)}return il});xn.forEach(Ci=>{ve(this.playersByQueriedElement,Ci.element,[]).push(Ci),Ci.onDone(()=>function yr(K,T,x){let V=K.get(T);if(V){if(V.length){const ge=V.indexOf(x);V.splice(ge,1)}0==V.length&&K.delete(T)}return V}(this.playersByQueriedElement,Ci.element,Ci))}),fi.forEach(Ci=>dn(Ci,pn));const Ni=je(Pi);return Ni.onDestroy(()=>{fi.forEach(Ci=>xt(Ci,pn)),Ce(on,x.toStyles)}),Xn.forEach(Ci=>{ve(ge,Ci,[]).push(Ni)}),Ni}_buildPlayer(T,x,V){return x.length>0?this.driver.animate(T.element,x,T.duration,T.delay,T.easing,V):new _.ZN(T.duration,T.delay)}}class $a{constructor(T,x,V){this.namespaceId=T,this.triggerName=x,this.element=V,this._player=new _.ZN,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(T){this._containsRealPlayer||(this._player=T,this._queuedCallbacks.forEach((x,V)=>{x.forEach(ge=>xe(T,V,void 0,ge))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(T.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(T){this.totalTime=T}syncPlayerEvents(T){const x=this._player;x.triggerCallback&&T.onStart(()=>x.triggerCallback("start")),T.onDone(()=>this.finish()),T.onDestroy(()=>this.destroy())}_queueEvent(T,x){ve(this._queuedCallbacks,T,[]).push(x)}onDone(T){this.queued&&this._queueEvent("done",T),this._player.onDone(T)}onStart(T){this.queued&&this._queueEvent("start",T),this._player.onStart(T)}onDestroy(T){this.queued&&this._queueEvent("destroy",T),this._player.onDestroy(T)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(T){this.queued||this._player.setPosition(T)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(T){const x=this._player;x.triggerCallback&&x.triggerCallback(T)}}function ir(K){return K&&1===K.nodeType}function as(K,T){const x=K.style.display;return K.style.display=T??"none",x}function kr(K,T,x,V,ge){const nt=[];x.forEach(on=>nt.push(as(on)));const kt=[];V.forEach((on,xn)=>{const fi=new Map;on.forEach(Xn=>{const Pi=T.computeStyle(xn,Xn,ge);fi.set(Xn,Pi),(!Pi||0==Pi.length)&&(xn[pa]=Xs,kt.push(xn))}),K.set(xn,fi)});let jt=0;return x.forEach(on=>as(on,nt[jt++])),kt}function Va(K,T){const x=new Map;if(K.forEach(jt=>x.set(jt,[])),0==T.length)return x;const ge=new Set(T),nt=new Map;function kt(jt){if(!jt)return 1;let on=nt.get(jt);if(on)return on;const xn=jt.parentNode;return on=x.has(xn)?xn:ge.has(xn)?1:kt(xn),nt.set(jt,on),on}return T.forEach(jt=>{const on=kt(jt);1!==on&&x.get(on).push(jt)}),x}function dn(K,T){K.classList?.add(T)}function xt(K,T){K.classList?.remove(T)}function Nt(K,T,x){je(x).onDone(()=>K.processLeaveNode(T))}function ri(K,T){for(let x=0;xge.add(nt)):T.set(K,V),x.delete(K),!0}class oa{constructor(T,x,V){this.bodyNode=T,this._driver=x,this._normalizer=V,this._triggerCache={},this.onRemovalComplete=(ge,nt)=>{},this._transitionEngine=new Os(T,x,V),this._timelineEngine=new Ua(T,x,V),this._transitionEngine.onRemovalComplete=(ge,nt)=>this.onRemovalComplete(ge,nt)}registerTrigger(T,x,V,ge,nt){const kt=T+"-"+ge;let jt=this._triggerCache[kt];if(!jt){const on=[],xn=[],fi=hn(this._driver,nt,on,xn);if(on.length)throw function n(K,T){return new t.vHH(3404,!1)}();xn.length,jt=function is(K,T,x){return new Qi(K,T,x)}(ge,fi,this._normalizer),this._triggerCache[kt]=jt}this._transitionEngine.registerTrigger(x,ge,jt)}register(T,x){this._transitionEngine.register(T,x)}destroy(T,x){this._transitionEngine.destroy(T,x)}onInsert(T,x,V,ge){this._transitionEngine.insertNode(T,x,V,ge)}onRemove(T,x,V,ge){this._transitionEngine.removeNode(T,x,ge||!1,V)}disableAnimations(T,x){this._transitionEngine.markElementAsDisabled(T,x)}process(T,x,V,ge){if("@"==V.charAt(0)){const[nt,kt]=et(V),jt=ge;this._timelineEngine.command(nt,x,kt,jt)}else this._transitionEngine.trigger(T,x,V,ge)}listen(T,x,V,ge,nt){if("@"==V.charAt(0)){const[kt,jt]=et(V);return this._timelineEngine.listen(kt,x,jt,nt)}return this._transitionEngine.listen(T,x,V,ge,nt)}flush(T=-1){this._transitionEngine.flush(T)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}class Li{constructor(T,x,V){this._element=T,this._startStyles=x,this._endStyles=V,this._state=0;let ge=Li.initialStylesByElement.get(T);ge||Li.initialStylesByElement.set(T,ge=new Map),this._initialStyles=ge}start(){this._state<1&&(this._startStyles&&Ce(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ce(this._element,this._initialStyles),this._endStyles&&(Ce(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Li.initialStylesByElement.delete(this._element),this._startStyles&&(Je(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Je(this._element,this._endStyles),this._endStyles=null),Ce(this._element,this._initialStyles),this._state=3)}}function rs(K){let T=null;return K.forEach((x,V)=>{(function Rr(K){return"display"===K||"position"===K})(V)&&(T=T||new Map,T.set(V,x))}),T}Li.initialStylesByElement=new WeakMap;class Zr{constructor(T,x,V,ge){this.element=T,this.keyframes=x,this.options=V,this._specialStyles=ge,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=V.duration,this._delay=V.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(T=>T()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const T=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,T,this.options),this._finalKeyframe=T.length?T[T.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(T){const x=[];return T.forEach(V=>{x.push(Object.fromEntries(V))}),x}_triggerWebAnimation(T,x,V){return T.animate(this._convertKeyframesToObject(x),V)}onStart(T){this._originalOnStartFns.push(T),this._onStartFns.push(T)}onDone(T){this._originalOnDoneFns.push(T),this._onDoneFns.push(T)}onDestroy(T){this._onDestroyFns.push(T)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(T=>T()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(T=>T()),this._onDestroyFns=[])}setPosition(T){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=T*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const T=new Map;this.hasStarted()&&this._finalKeyframe.forEach((V,ge)=>{"offset"!==ge&&T.set(ge,this._finished?V:Yn(this.element,ge))}),this.currentSnapshot=T}triggerCallback(T){const x="start"===T?this._onStartFns:this._onDoneFns;x.forEach(V=>V()),x.length=0}}class ca{validateStyleProperty(T){return!0}validateAnimatableStyleProperty(T){return!0}matchesElement(T,x){return!1}containsElement(T,x){return _t(T,x)}getParentElement(T){return te(T)}query(T,x,V){return it(T,x,V)}computeStyle(T,x,V){return window.getComputedStyle(T)[x]}animate(T,x,V,ge,nt,kt=[]){const on={duration:V,delay:ge,fill:0==ge?"both":"forwards"};nt&&(on.easing=nt);const xn=new Map,fi=kt.filter(Ni=>Ni instanceof Zr);(function Vn(K,T){return 0===K||0===T})(V,ge)&&fi.forEach(Ni=>{Ni.currentSnapshot.forEach((Ci,Oi)=>xn.set(Oi,Ci))});let Xn=function Ye(K){return K.length?K[0]instanceof Map?K:K.map(T=>De(T)):[]}(x).map(Ni=>ut(Ni));Xn=function zn(K,T,x){if(x.size&&T.length){let V=T[0],ge=[];if(x.forEach((nt,kt)=>{V.has(kt)||ge.push(kt),V.set(kt,nt)}),ge.length)for(let nt=1;ntkt.set(jt,Yn(K,jt)))}}return T}(T,Xn,xn);const Pi=function la(K,T){let x=null,V=null;return Array.isArray(T)&&T.length?(x=rs(T[0]),T.length>1&&(V=rs(T[T.length-1]))):T instanceof Map&&(x=rs(T)),x||V?new Li(K,x,V):null}(T,Xn);return new Zr(T,Xn,on,Pi)}}var si=m(4666);class ar extends _._j{constructor(T,x){super(),this._nextAnimationId=0;const V={id:"0",encapsulation:t.ifc.None,styles:[],data:{animation:[]}};this._renderer=T.createRenderer(x.body,V)}build(T){const x=this._nextAnimationId.toString();this._nextAnimationId++;const V=Array.isArray(T)?(0,_.vP)(T):T;return be(this._renderer,null,x,"register",[V]),new Ps(x,this._renderer)}}ar.\u0275fac=function(T){return new(T||ar)(t.LFG(t.FYo),t.LFG(si.K0))},ar.\u0275prov=t.Yz7({token:ar,factory:ar.\u0275fac});class Ps extends _.LC{constructor(T,x){super(),this._id=T,this._renderer=x}create(T,x){return new bt(this._id,T,x||{},this._renderer)}}class bt{constructor(T,x,V,ge){this.id=T,this.element=x,this._renderer=ge,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",V)}_listen(T,x){return this._renderer.listen(this.element,`@@${this.id}:${T}`,x)}_command(T,...x){return be(this._renderer,this.element,this.id,T,x)}onDone(T){this._listen("done",T)}onStart(T){this._listen("start",T)}onDestroy(T){this._listen("destroy",T)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(T){this._command("setPosition",T)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function be(K,T,x,V,ge){return K.setProperty(T,`@@${x}:${V}`,ge)}const Yt="@.disabled";class Pn{constructor(T,x,V){this.delegate=T,this.engine=x,this._zone=V,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),x.onRemovalComplete=(ge,nt)=>{const kt=nt?.parentNode(ge);kt&&nt.removeChild(kt,ge)}}createRenderer(T,x){const ge=this.delegate.createRenderer(T,x);if(!(T&&x&&x.data&&x.data.animation)){let xn=this._rendererCache.get(ge);if(!xn){const fi=()=>this._rendererCache.delete(ge);xn=new Ti("",ge,this.engine,fi),this._rendererCache.set(ge,xn)}return xn}const nt=x.id,kt=x.id+"-"+this._currentId;this._currentId++,this.engine.register(kt,T);const jt=xn=>{Array.isArray(xn)?xn.forEach(jt):this.engine.registerTrigger(nt,kt,T,xn.name,xn)};return x.data.animation.forEach(jt),new rr(this,kt,ge,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(T,x,V){T>=0&&Tx(V)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(ge=>{const[nt,kt]=ge;nt(kt)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([x,V]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}Pn.\u0275fac=function(T){return new(T||Pn)(t.LFG(t.FYo),t.LFG(oa),t.LFG(t.R0b))},Pn.\u0275prov=t.Yz7({token:Pn,factory:Pn.\u0275fac});class Ti{constructor(T,x,V,ge){this.namespaceId=T,this.delegate=x,this.engine=V,this._onDestroy=ge,this.destroyNode=this.delegate.destroyNode?nt=>x.destroyNode(nt):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(T,x){return this.delegate.createElement(T,x)}createComment(T){return this.delegate.createComment(T)}createText(T){return this.delegate.createText(T)}appendChild(T,x){this.delegate.appendChild(T,x),this.engine.onInsert(this.namespaceId,x,T,!1)}insertBefore(T,x,V,ge=!0){this.delegate.insertBefore(T,x,V),this.engine.onInsert(this.namespaceId,x,T,ge)}removeChild(T,x,V){this.engine.onRemove(this.namespaceId,x,this.delegate,V)}selectRootElement(T,x){return this.delegate.selectRootElement(T,x)}parentNode(T){return this.delegate.parentNode(T)}nextSibling(T){return this.delegate.nextSibling(T)}setAttribute(T,x,V,ge){this.delegate.setAttribute(T,x,V,ge)}removeAttribute(T,x,V){this.delegate.removeAttribute(T,x,V)}addClass(T,x){this.delegate.addClass(T,x)}removeClass(T,x){this.delegate.removeClass(T,x)}setStyle(T,x,V,ge){this.delegate.setStyle(T,x,V,ge)}removeStyle(T,x,V){this.delegate.removeStyle(T,x,V)}setProperty(T,x,V){"@"==x.charAt(0)&&x==Yt?this.disableAnimations(T,!!V):this.delegate.setProperty(T,x,V)}setValue(T,x){this.delegate.setValue(T,x)}listen(T,x,V){return this.delegate.listen(T,x,V)}disableAnimations(T,x){this.engine.disableAnimations(T,x)}}class rr extends Ti{constructor(T,x,V,ge,nt){super(x,V,ge,nt),this.factory=T,this.namespaceId=x}setProperty(T,x,V){"@"==x.charAt(0)?"."==x.charAt(1)&&x==Yt?(V=void 0===V||!!V,this.disableAnimations(T,V)):this.engine.process(this.namespaceId,T,x.slice(1),V):this.delegate.setProperty(T,x,V)}listen(T,x,V){if("@"==x.charAt(0)){const ge=function gs(K){switch(K){case"body":return document.body;case"document":return document;case"window":return window;default:return K}}(T);let nt=x.slice(1),kt="";return"@"!=nt.charAt(0)&&([nt,kt]=function Oo(K){const T=K.indexOf("."),x=K.substring(0,T),V=K.slice(T+1);return[x,V]}(nt)),this.engine.listen(this.namespaceId,ge,nt,kt,jt=>{const on=jt._data||-1;this.factory.scheduleListenerCallback(on,V,jt)})}return this.delegate.listen(T,x,V)}}class $s extends oa{constructor(T,x,V,ge){super(T.body,x,V)}ngOnDestroy(){this.flush()}}$s.\u0275fac=function(T){return new(T||$s)(t.LFG(si.K0),t.LFG(Bt),t.LFG(Hi),t.LFG(t.z2F))},$s.\u0275prov=t.Yz7({token:$s,factory:$s.\u0275fac});const kn=[{provide:_._j,useClass:ar},{provide:Hi,useFactory:function kl(){return new Sa}},{provide:oa,useClass:$s},{provide:t.FYo,useFactory:function po(K,T,x){return new Pn(K,T,x)},deps:[e.se,oa,t.R0b]}],Ui=[{provide:Bt,useFactory:()=>new ca},{provide:t.QbO,useValue:"BrowserAnimations"},...kn],eo=[{provide:Bt,useClass:un},{provide:t.QbO,useValue:"NoopAnimations"},...kn];class sr{static withConfig(T){return{ngModule:sr,providers:T.disableAnimations?eo:Ui}}}sr.\u0275fac=function(T){return new(T||sr)},sr.\u0275mod=t.oAB({type:sr}),sr.\u0275inj=t.cJS({providers:Ui,imports:[e.b2]});class Br{}Br.\u0275fac=function(T){return new(T||Br)},Br.\u0275mod=t.oAB({type:Br}),Br.\u0275inj=t.cJS({providers:eo,imports:[e.b2]});var Ba=m(8987),$i=m(3278),Hn=m(9263),vs=m(3599),dl=m(5242),Gn=m(253),Hs=m(6646),Wa=m(3280),ss=m(7400),zs=m(6936),to=m(8947);function Yr(K=0,T=zs.z){return K<0&&(K=0),(0,to.H)(K,K,T)}var Po=m(745),Vc=m(7714),Wc=m(1944),Kc=m(3945),Rl=m(9663),Go=m(420),Zo=m(1817);var xr=m(116),Ro=m(9337),Yo=m(2673),ui=m(8951),ul=m(2313),oc=m(8977),ys=m(635);class ks{}class no{constructor(T,x){this._ngZone=x,this.timerStart$=new Gn.x,this.idleDetected$=new Gn.x,this.timeout$=new Gn.x,this.idleMillisec=6e5,this.idleSensitivityMillisec=1e3,this.timeout=300,this.pingMillisec=12e4,this.isTimeout=!1,this.isInactivityTimer=!1,this.isIdleDetected=!1,T&&this.setConfig(T)}startWatching(){this.activityEvents$||(this.activityEvents$=(0,Hs.T)((0,Wa.R)(window,"mousemove"),(0,Wa.R)(window,"resize"),(0,Wa.R)(document,"keydown"))),this.idle$=(0,ss.D)(this.activityEvents$),this.idleSubscription&&this.idleSubscription.unsubscribe(),this.idleSubscription=this.idle$.pipe(function ko(K,...T){var x,V;const ge=null!==(x=(0,Go.yG)(T))&&void 0!==x?x:zs.z,nt=null!==(V=T[0])&&void 0!==V?V:null,kt=T[1]||1/0;return(0,Wc.e)((jt,on)=>{let xn=[],fi=!1;const Xn=Ci=>{const{buffer:Oi,subs:na}=Ci;na.unsubscribe(),(0,Rl.P)(xn,Ci),on.next(Oi),fi&&Pi()},Pi=()=>{if(xn){const Ci=new Vc.w0;on.add(Ci);const na={buffer:[],subs:Ci};xn.push(na),(0,Zo.f)(Ci,ge,()=>Xn(na),K)}};null!==nt&&nt>=0?(0,Zo.f)(on,ge,Pi,nt,!0):fi=!0,Pi();const Ni=(0,Kc.x)(on,Ci=>{const Oi=xn.slice();for(const na of Oi){const{buffer:Ia}=na;Ia.push(Ci),kt<=Ia.length&&Xn(na)}},()=>{for(;xn?.length;)on.next(xn.shift().buffer);Ni?.unsubscribe(),on.complete(),on.unsubscribe()},void 0,()=>xn=null);jt.subscribe(Ni)})}(this.idleSensitivityMillisec),(0,xr.h)(T=>!T.length&&!this.isIdleDetected&&!this.isInactivityTimer),(0,Ro.b)(()=>{this.isIdleDetected=!0,this.idleDetected$.next(!0)}),(0,Yo.w)(()=>this._ngZone.runOutsideAngular(()=>Yr(1e3).pipe((0,ui.R)((0,Hs.T)(this.activityEvents$,(0,to.H)(this.idleMillisec).pipe((0,Ro.b)(()=>{this.isInactivityTimer=!0,this.timerStart$.next(!0)})))),(0,ul.x)(()=>{this.isIdleDetected=!1,this.idleDetected$.next(!1)}))))).subscribe(),this.setupTimer(this.timeout),this.setupPing(this.pingMillisec)}stopWatching(){this.stopTimer(),this.idleSubscription&&this.idleSubscription.unsubscribe()}stopTimer(){this.isInactivityTimer=!1,this.timerStart$.next(!1)}resetTimer(){this.stopTimer(),this.isTimeout=!1}onTimerStart(){return this.timerStart$.pipe((0,oc.x)(),(0,Yo.w)(T=>T?this.timer$:(0,Po.of)(null)))}onIdleStatusChanged(){return this.idleDetected$.asObservable()}onTimeout(){return this.timeout$.pipe((0,xr.h)(T=>!!T),(0,Ro.b)(()=>this.isTimeout=!0),(0,ys.U)(()=>!0))}getConfigValue(){return{idle:this.idleMillisec/1e3,idleSensitivity:this.idleSensitivityMillisec/1e3,timeout:this.timeout,ping:this.pingMillisec/1e3}}setConfigValues(T){!this.idleSubscription||this.idleSubscription.closed?this.setConfig(T):console.error("Call stopWatching() before set config values")}setConfig(T){T.idle&&(this.idleMillisec=1e3*T.idle),T.ping&&(this.pingMillisec=1e3*T.ping),T.idleSensitivity&&(this.idleSensitivityMillisec=1e3*T.idleSensitivity),T.timeout&&(this.timeout=T.timeout)}setCustomActivityEvents(T){!this.idleSubscription||this.idleSubscription.closed?this.activityEvents$=T:console.error("Call stopWatching() before set custom activity events")}setupTimer(T){this._ngZone.runOutsideAngular(()=>{this.timer$=(0,Po.of)(()=>new Date).pipe((0,ys.U)(x=>x()),(0,Yo.w)(x=>Yr(1e3).pipe((0,ys.U)(()=>Math.round(((new Date).valueOf()-x.valueOf())/1e3)),(0,Ro.b)(V=>{V>=T&&this.timeout$.next(!0)}))))})}setupPing(T){this.ping$=Yr(T).pipe((0,xr.h)(()=>!this.isTimeout))}}no.\u0275fac=function(T){return new(T||no)(t.LFG(ks,8),t.LFG(t.R0b))},no.\u0275prov=t.Yz7({token:no,factory:no.\u0275fac,providedIn:"root"});class os{static forRoot(T){return{ngModule:os,providers:[{provide:ks,useValue:T}]}}}os.\u0275fac=function(T){return new(T||os)},os.\u0275mod=t.oAB({type:os}),os.\u0275inj=t.cJS({imports:[[]]});var Ne=m(3547),fe=m(9306),st=m(8377),Ot=m(3505),Vt=m(6722),fn=m(2156),Un=m(5892);const Xe=function(){return{initial:!1}};function rt(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[1].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[1].link),t.Q6J("active",x.activeLink===x.links[1].link)("state",t.DdM(4,Xe)),t.xp6(1),t.Oqu(x.links[1].name)}}function yt(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link),t.xp6(1),t.Oqu(x.links[2].name)}}class Pt{constructor(T,x){this.store=T,this.router=x,this.faUserCog=fe.gNZ,this.showBitcoind=!1,this.links=[{link:"app",name:"Application"},{link:"auth",name:"Authentication"},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(ge=>x.urlAfterRedirects.includes(ge.link));this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{this.appConfig=x}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[2])).subscribe(x=>{this.showBitcoind=!1,this.selNode=x,this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Pt)(t.Y36(Hn.yh),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:Pt,selectors:[["rtl-settings"]],decls:16,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Settings"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5)(8,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[0].link}),t._uU(9),t.qZA(),t.YNc(10,rt,2,5,"div",7),t.YNc(11,yt,2,3,"div",8),t.qZA(),t._UZ(12,"mat-tab-nav-panel",null,9),t.TgZ(14,"div",10),t._UZ(15,"router-outlet"),t.qZA()()()()),2&x){const ge=t.MAs(13);t.xp6(1),t.Q6J("icon",V.faUserCog),t.xp6(6),t.Q6J("tabPanel",ge),t.xp6(1),t.s9C("routerLink",V.links[0].link),t.Q6J("active",V.activeLink===V.links[0].link),t.xp6(1),t.Oqu(V.links[0].name),t.xp6(1),t.Q6J("ngIf",!+V.appConfig.sso.rtlSSO),t.xp6(1),t.Q6J("ngIf",V.showBitcoind)}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}var Qe=m(7731),Qt=m(7861),sn=m(5043),qt=m(2508),An=m(4522),Sn=m(5074),Jn=m(7371),oi=m(207),xi=m(8822),Si=m(3390);function ur(K,T){if(1&K&&(t.TgZ(0,"mat-option",16),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.index),t.xp6(1),t.AsE(" ",x.lnNode," (",x.lnImplementation,") ")}}function Cr(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",2,3)(2,"div",4),t._UZ(3,"fa-icon",5),t.TgZ(4,"span",6),t._uU(5,"Default Node"),t.qZA()(),t.TgZ(6,"div",7)(7,"div",8),t._UZ(8,"fa-icon",9),t.TgZ(9,"span"),t._uU(10,"The setting will apply after RTL server restarts."),t.qZA()(),t.TgZ(11,"div",10)(12,"mat-form-field",10)(13,"mat-select",11),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.appConfig.defaultNodeIndex=ge)}),t.YNc(14,ur,2,3,"mat-option",12),t.qZA()()(),t.TgZ(15,"div",13)(16,"div",10)(17,"button",14),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onResetSettings())}),t._uU(18,"Reset"),t.qZA(),t.TgZ(19,"button",15),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onUpdateSettings())}),t._uU(20,"Update"),t.qZA()()()()()}if(2&K){const x=t.oxw();t.xp6(3),t.Q6J("icon",x.faWindowRestore),t.xp6(5),t.Q6J("icon",x.faInfoCircle),t.xp6(5),t.Q6J("ngModel",x.appConfig.defaultNodeIndex),t.xp6(1),t.Q6J("ngForOf",x.appConfig.nodes)}}class Qr{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=fe.sqG,this.faWindowRestore=fe.wyP,this.faPlus=fe.r8p,this.previousDefaultNode=0,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.appConfig=T,this.previousDefaultNode=this.appConfig.defaultNodeIndex,this.logger.info(T)})}onAddNewNode(){this.logger.warn("ADD NEW NODE")}onUpdateSettings(){const T=this.appConfig.defaultNodeIndex?this.appConfig.defaultNodeIndex:this.appConfig&&this.appConfig.nodes&&this.appConfig.nodes.length&&this.appConfig.nodes.length>0&&this.appConfig.nodes[0].index?+this.appConfig.nodes[0].index:-1;this.store.dispatch((0,Qt.zQ)({payload:{uiMessage:Qe.m6.UPDATE_DEFAULT_NODE_SETTING,defaultNodeIndex:T}}))}onResetSettings(){this.appConfig.defaultNodeIndex=this.previousDefaultNode}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Qr)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Qr,selectors:[["rtl-app-settings"]],decls:2,vars:1,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap-x-large",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","settings-container page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"my-2"],["fxLayout","row","fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row","fxLayoutAlign","start start"],["autoFocus","","tabindex","1","name","defaultNode",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],[3,"value"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.YNc(1,Cr,21,4,"form",1),t.qZA()),2&x&&(t.xp6(1),t.Q6J("ngIf",V.appConfig.nodes&&V.appConfig.nodes.length&&V.appConfig.nodes.length>0))},dependencies:[si.sg,si.O5,qt._Y,qt.JJ,qt.JL,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.KE,Jn.gD,oi.ey,xi.$V,Si.h]})}var Mr=m(9591),Ka=m(9295),Ma=m(640),ls=m(74),Na=m(3093),mo=m(930),Er=m(1267),bs=m(4193),go=m(6021),hl=m(6895);const Dr=["stepper"];function lc(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw();t.Oqu(x.passwordFormLabel)}}function fl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}function pl(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.secretFormLabel)}}function S2(K,T){if(1&K&&t._UZ(0,"qr-code",32),2&K){const x=t.oxw(2);t.Q6J("value",x.otpauth)("size",180)("errorCorrectionLevel","L")}}function S1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Secret Code is required."),t.qZA())}function or(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-step",10)(1,"form",21),t.YNc(2,pl,1,1,"ng-template",22),t.TgZ(3,"div",23),t.YNc(4,S2,1,3,"qr-code",24),t.qZA(),t.TgZ(5,"div",25),t._UZ(6,"fa-icon",26),t.TgZ(7,"span"),t._uU(8,"You can use a compatible authentication app to get an authentication code when you log in to RTL. e.g.: Google Authenticator."),t.qZA()(),t.TgZ(9,"div",27)(10,"mat-form-field",1),t._UZ(11,"input",28),t.TgZ(12,"fa-icon",29),t.NdJ("copied",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onCopySecret(ge))}),t.qZA(),t.YNc(13,S1,2,0,"mat-error",14),t.qZA()(),t.TgZ(14,"div",30)(15,"button",31),t._uU(16,"Next"),t.qZA()()()()}if(2&K){const x=t.oxw();t.Q6J("stepControl",x.secretFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.secretFormGroup),t.xp6(3),t.Q6J("ngIf",x.otpauth),t.xp6(2),t.Q6J("icon",x.faInfoCircle),t.xp6(6),t.Q6J("icon",x.faCopy)("payload",null==x.secretFormGroup||null==x.secretFormGroup.controls||null==x.secretFormGroup.controls.secret?null:x.secretFormGroup.controls.secret.value),t.xp6(1),t.Q6J("ngIf",null==x.secretFormGroup||null==x.secretFormGroup.controls||null==x.secretFormGroup.controls.secret||null==x.secretFormGroup.controls.secret.errors?null:x.secretFormGroup.controls.secret.errors.required)}}function _l(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.tokenFormLabel)}}function Mo(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is required."),t.qZA())}function vo(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is invalid."),t.qZA())}function Bl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",7)(1,"div",27)(2,"mat-form-field",1),t._UZ(3,"input",36),t.YNc(4,Mo,2,0,"mat-error",14),t.YNc(5,vo,2,0,"mat-error",14),t.qZA()(),t.TgZ(6,"div",30)(7,"button",37),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onVerifyToken())}),t._uU(8),t.qZA()()()}if(2&K){const x=t.oxw(2);t.xp6(4),t.Q6J("ngIf",null==x.tokenFormGroup||null==x.tokenFormGroup.controls||null==x.tokenFormGroup.controls.token||null==x.tokenFormGroup.controls.token.errors?null:x.tokenFormGroup.controls.token.errors.required),t.xp6(1),t.Q6J("ngIf",null==x.tokenFormGroup||null==x.tokenFormGroup.controls||null==x.tokenFormGroup.controls.token||null==x.tokenFormGroup.controls.token.errors?null:x.tokenFormGroup.controls.token.errors.notValid),t.xp6(3),t.Oqu(null!=x.tokenFormGroup&&null!=x.tokenFormGroup.controls&&null!=x.tokenFormGroup.controls.token&&null!=x.tokenFormGroup.controls.token.errors&&x.tokenFormGroup.controls.token.errors.notValid?"Retry":"Verify")}}function ml(K,T){1&K&&(t.TgZ(0,"div")(1,"strong"),t._uU(2,"Success! You are all set."),t.qZA()())}function O1(K,T){if(1&K&&(t.TgZ(0,"mat-step",33)(1,"form",34),t.YNc(2,_l,1,1,"ng-template",12),t.YNc(3,Bl,9,3,"div",35),t.YNc(4,ml,3,0,"div",14),t.qZA()()),2&K){const x=t.oxw();t.Q6J("stepControl",x.tokenFormGroup),t.xp6(1),t.Q6J("formGroup",x.tokenFormGroup),t.xp6(2),t.Q6J("ngIf",!x.flgValidated||!x.isTokenValid),t.xp6(1),t.Q6J("ngIf",x.flgValidated&&x.isTokenValid)}}function P1(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.disableFormLabel)}}function gl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",7)(1,"div",38),t._UZ(2,"fa-icon",26),t.TgZ(3,"span"),t._uU(4,"You are about to disable two-factor authentication security from RTL. Are you sure you want to turn it off?"),t.qZA()(),t.TgZ(5,"div",30)(6,"button",37),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onVerifyToken())}),t._uU(7,"Disable"),t.qZA()()()}if(2&K){const x=t.oxw(2);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle)}}function cc(K,T){1&K&&(t.TgZ(0,"div")(1,"strong"),t._uU(2,"Two factor authentication removed from RTL."),t.qZA()())}function O2(K,T){if(1&K&&(t.TgZ(0,"mat-step",33)(1,"form",34),t.YNc(2,P1,1,1,"ng-template",12),t.YNc(3,gl,8,1,"div",35),t.YNc(4,cc,3,0,"div",14),t.qZA()()),2&K){const x=t.oxw();t.Q6J("stepControl",x.disableFormGroup),t.xp6(1),t.Q6J("formGroup",x.disableFormGroup),t.xp6(2),t.Q6J("ngIf",!x.flgValidated||!x.isTokenValid),t.xp6(1),t.Q6J("ngIf",x.flgValidated&&x.isTokenValid)}}class k1{constructor(T,x,V,ge,nt,kt){this.dialogRef=T,this.data=x,this.store=V,this.formBuilder=ge,this.rtlEffects=nt,this.snackBar=kt,this.faExclamationTriangle=fe.eHv,this.faCopy=fe.kZ_,this.faInfoCircle=fe.sqG,this.flgValidated=!1,this.isTokenValid=!0,this.otpauth="",this.appConfig=null,this.flgEditable=!0,this.showDisableStepper=!1,this.passwordFormLabel="Authenticate with your RTL password",this.secretFormLabel="Scan or copy the secret",this.tokenFormLabel="Verify your authentication is working",this.disableFormLabel="Disable two factor authentication",this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[qt.kI.required]],password:["",[qt.kI.required]]}),this.secretFormGroup=this.formBuilder.group({secret:[{value:"",disabled:!0},qt.kI.required]}),this.tokenFormGroup=this.formBuilder.group({token:["",qt.kI.required]}),this.disableFormGroup=this.formBuilder.group({}),this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.appConfig=this.data.appConfig||null,this.showDisableStepper=!!this.appConfig?.enable2FA,this.secretFormGroup=this.formBuilder.group({secret:[{value:this.appConfig?.enable2FA?"":this.generateSecret(),disabled:!0},qt.kI.required]})}generateSecret(){const T=ls.authenticator.generateSecret();return this.otpauth=ls.authenticator.keyuri("","Ride The Lightning (RTL)",T),T}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch((0,Qt.QO)({payload:Mr(this.passwordFormGroup.controls.password.value).toString()})),this.rtlEffects.isAuthorizedRes.pipe((0,Ka.q)(1)).subscribe(T=>{"ERROR"!==T?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onCopySecret(T){this.snackBar.open("Secret code "+this.secretFormGroup.controls.secret.value+" copied.")}onVerifyToken(){if(this.appConfig?.enable2FA)this.store.dispatch((0,Qt.Uy)({payload:{secret2fa:""}})),this.generateSecret(),this.isTokenValid=!0;else{if(!this.tokenFormGroup.controls.token.value)return!0;if(this.isTokenValid=ls.authenticator.check(this.tokenFormGroup.controls.token.value,this.secretFormGroup.controls.secret.value),!this.isTokenValid)return this.tokenFormGroup.controls.token.setErrors({notValid:!0}),!0;this.store.dispatch((0,Qt.Uy)({payload:{secret2fa:this.secretFormGroup.controls.secret.value}})),this.tokenFormGroup.controls.token.setValue("")}this.flgValidated=!0,this.appConfig&&(this.appConfig.enable2FA=!this.appConfig?.enable2FA)}stepSelectionChanged(T){switch(T.selectedIndex){case 0:default:this.passwordFormLabel="Authenticate with your RTL password";break;case 1:case 2:this.passwordFormLabel="User authenticated successfully"}T.selectedIndex{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||k1)(t.Y36(Ma.so),t.Y36(Ma.WI),t.Y36(Hn.yh),t.Y36(qt.QS),t.Y36(Na.V),t.Y36(mo.ux))};static#t=this.\u0275cmp=t.Xpm({type:k1,selectors:[["rtl-two-factor-auth"]],viewQuery:function(x,V){if(1&x&&t.Gf(Dr,5),2&x){let ge;t.iGM(ge=t.CRH())&&(V.stepper=ge.first)}},decls:28,vars:11,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-button","","color","primary","tabindex","3","type","button",3,"click"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["fxFlex","100",1,"w-100","alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["autoFocus","","matInput","","placeholder","Secret Code","type","text","tabindex","4","formControlName","secret","required",""],["matSuffix","","rtlClipboard","",3,"icon","payload","copied"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","6","type","button","matStepperNext",""],[3,"value","size","errorCorrectionLevel"],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["fxLayout","column",4,"ngIf"],["autoFocus","","matInput","","placeholder","Token","type","text","tabindex","7","formControlName","token","required",""],["mat-button","","color","primary","tabindex","8","type","button",3,"click"],["fxFlex","100",1,"w-100","alert","alert-warn"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Setup Two Factor Authentication"),t.qZA()(),t.TgZ(6,"button",5),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"div",7)(10,"mat-vertical-stepper",8,9),t.NdJ("selectionChange",function(nt){return V.stepSelectionChanged(nt)}),t.TgZ(12,"mat-step",10)(13,"form",11),t.YNc(14,lc,1,1,"ng-template",12),t.TgZ(15,"div",0)(16,"mat-form-field",1),t._UZ(17,"input",13),t.YNc(18,fl,2,0,"mat-error",14),t.qZA()(),t.TgZ(19,"div",15)(20,"button",16),t.NdJ("click",function(){return V.onAuthenticate()}),t._uU(21,"Confirm"),t.qZA()()()(),t.YNc(22,or,17,8,"mat-step",17),t.YNc(23,O1,5,4,"mat-step",18),t.YNc(24,O2,5,4,"mat-step",18),t.qZA(),t.TgZ(25,"div",19)(26,"button",20),t._uU(27),t.qZA()()()()()()),2&x&&(t.xp6(6),t.Q6J("mat-dialog-close",!1),t.xp6(4),t.Q6J("linear",!0),t.xp6(2),t.Q6J("stepControl",V.passwordFormGroup)("editable",V.flgEditable),t.xp6(1),t.Q6J("formGroup",V.passwordFormGroup),t.xp6(5),t.Q6J("ngIf",null==V.passwordFormGroup||null==V.passwordFormGroup.controls||null==V.passwordFormGroup.controls.password||null==V.passwordFormGroup.controls.password.errors?null:V.passwordFormGroup.controls.password.errors.required),t.xp6(4),t.Q6J("ngIf",!V.showDisableStepper),t.xp6(1),t.Q6J("ngIf",!V.showDisableStepper),t.xp6(1),t.Q6J("ngIf",V.showDisableStepper),t.xp6(2),t.Q6J("mat-dialog-close",!1),t.xp6(1),t.Oqu(V.flgValidated&&V.isTokenValid?"Close":"Cancel"))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.sg,qt.u,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ma.ZT,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Sn.R9,Er.Nt,bs.C0,bs.VY,bs.Vq,bs.Ic,go.uU,hl.y,Si.h]})}var Qo=m(5986),io=m(1528);const vl=["authForm"];function dc(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Current password is required."),t.qZA())}function R1(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.errorMsg)}}function Gc(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.errorConfirmMsg)}}function ao(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",10,11)(2,"div",12),t._UZ(3,"fa-icon",4),t.TgZ(4,"span",5),t._uU(5,"Password"),t.qZA()(),t.TgZ(6,"mat-form-field")(7,"input",13),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.currPassword=ge)}),t.qZA(),t.YNc(8,dc,2,0,"mat-error",14),t.qZA(),t.TgZ(9,"mat-form-field")(10,"input",15),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.newPassword=ge)}),t.qZA(),t.YNc(11,R1,2,1,"mat-error",14),t.qZA(),t.TgZ(12,"mat-form-field")(13,"input",16),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.confirmPassword=ge)}),t.qZA(),t.YNc(14,Gc,2,1,"mat-error",14),t.qZA(),t.TgZ(15,"div",17)(16,"button",18),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onResetPassword())}),t._uU(17,"Reset"),t.qZA(),t.TgZ(18,"button",19),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onChangePassword())}),t._uU(19,"Change Password"),t.qZA()(),t.TgZ(20,"div",20),t._UZ(21,"mat-divider",21),t.qZA()()}if(2&K){const x=t.oxw();t.xp6(3),t.Q6J("icon",x.faLock),t.xp6(4),t.Q6J("ngModel",x.currPassword),t.xp6(1),t.Q6J("ngIf",!x.currPassword),t.xp6(2),t.Q6J("ngModel",x.newPassword),t.xp6(1),t.Q6J("ngIf",x.matchOldAndNewPasswords()),t.xp6(2),t.Q6J("ngModel",x.confirmPassword),t.xp6(1),t.Q6J("ngIf",x.matchNewPasswords()),t.xp6(7),t.Q6J("inset",!0)}}class Eo{constructor(T,x,V,ge,nt){this.logger=T,this.store=x,this.actions=V,this.router=ge,this.sessionService=nt,this.faInfoCircle=fe.sqG,this.faUserLock=fe.FJU,this.faUserClock=fe.hnx,this.faLock=fe.byT,this.currPassword="",this.newPassword="",this.confirmPassword="",this.errorMsg="",this.errorConfirmMsg="",this.initializeNodeData=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.initializeNodeData="true"===this.sessionService.getItem("defaultPassword"),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.appConfig=T,this.logger.info(this.appConfig)}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.selNode=T}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(T=>T.type===Qe.pg.RESET_PASSWORD_RES)).subscribe(T=>{if(Qe.kO.includes(this.currPassword.toLowerCase()))switch(this.selNode.lnImplementation?.toUpperCase()){case"CLN":this.router.navigate(["/cln/home"]);break;case"ECL":this.router.navigate(["/ecl/home"]);break;default:this.router.navigate(["/lnd/home"])}this.form&&this.form.resetForm()})}onChangePassword(){if(!this.currPassword||!this.newPassword||!this.confirmPassword||this.currPassword===this.newPassword||this.newPassword!==this.confirmPassword||Qe.kO.includes(this.newPassword.toLowerCase()))return!0;this.store.dispatch((0,Qt.c0)({payload:{currPassword:Mr(this.currPassword).toString(),newPassword:Mr(this.newPassword).toString()}}))}matchOldAndNewPasswords(){let T=!1;return this.form&&this.form.controls&&this.form.controls.newpassword&&(this.newPassword?""!==this.currPassword&&""!==this.newPassword&&this.currPassword===this.newPassword?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg="Old and New password cannot be same.",T=!0):Qe.kO.includes(this.newPassword.toLowerCase())?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg=Qe.kO?.reduce((x,V,ge)=>ge{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Eo)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(Ne.F0),t.Y36(Qo.m))};static#t=this.\u0275cmp=t.Xpm({type:Eo,selectors:[["rtl-auth-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(vl,5),2&x){let ge;t.iGM(ge=t.CRH())&&(V.form=ge.first)}},decls:14,vars:4,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],[1,"mb-1","settings-container","page-sub-title-container","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],[1,"mt-1"],["mat-flat-button","","color","primary","tabindex","6",1,"mb-2",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["authForm","ngForm"],["fxLayout","row","fxLayoutAlign","start start",1,"mb-2"],["autoFocus","","matInput","","placeholder","Current Password","type","password","id","currpassword","name","currpassword","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["matInput","","placeholder","New Password","type","password","id","newpassword","name","newpassword","tabindex","2","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Confirm New Password","type","password","id","confirmpassword","name","confirmpassword","tabindex","3","required","",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","5","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end stretch",1,"my-2"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.YNc(1,ao,22,8,"form",1),t.TgZ(2,"div",2)(3,"div",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6,"Two Factor Authentication"),t.qZA()(),t.TgZ(7,"div",6),t._UZ(8,"fa-icon",7),t.TgZ(9,"span"),t._uU(10,"Protect your account from unauthorized access by requiring a second authentication method in addition to your password."),t.qZA()(),t.TgZ(11,"div",8)(12,"button",9),t.NdJ("click",function(){return V.on2FAuth()}),t._uU(13),t.qZA()()()()),2&x&&(t.xp6(1),t.Q6J("ngIf",null==V.appConfig?null:V.appConfig.allowPasswordUpdate),t.xp6(3),t.Q6J("icon",V.faUserClock),t.xp6(4),t.Q6J("icon",V.faInfoCircle),t.xp6(5),t.Oqu(V.appConfig.enable2FA?"Disable 2FA":"Enable 2FA"))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Er.Nt,io.d,Si.h]})}var jo=m(6517);function Nr(K,T){1&K&&t._UZ(0,"mat-divider",7)}function Ar(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"pre",5),t._uU(2),t.ALo(3,"json"),t.qZA(),t.YNc(4,Nr,1,0,"mat-divider",6),t.qZA()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(t.lcZ(3,2,x.configData)),t.xp6(2),t.Q6J("ngIf",""!==x.configData)}}function P2(K,T){if(1&K&&(t.TgZ(0,"h2"),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function yl(K,T){if(1&K&&(t.TgZ(0,"h4",14),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function Bo(K,T){1&K&&t._UZ(0,"mat-divider",15),2&K&&t.Q6J("inset",!0)}function ro(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-card-subtitle",7),t.YNc(2,P2,2,1,"h2",10),t.qZA(),t.TgZ(3,"mat-card-subtitle",11),t.YNc(4,yl,2,1,"h4",12),t.qZA(),t.YNc(5,Bo,1,1,"mat-divider",13),t.qZA()),2&K){const x=T.$implicit;t.xp6(2),t.Q6J("ngIf",x.indexOf("[")>=0),t.xp6(2),t.Q6J("ngIf",x.indexOf("[")<0),t.xp6(1),t.Q6J("ngIf",x.indexOf("[")<0)}}function Rs(K,T){if(1&K&&(t.TgZ(0,"div",8)(1,"mat-list"),t.YNc(2,ro,6,3,"mat-list-item",9),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Q6J("ngForOf",x.configData)}}class cs{constructor(T,x,V){this.store=T,this.rtlEffects=x,this.router=V,this.configData="",this.fileFormat="INI",this.faCog=fe.b7W,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.dispatch((0,Qt.Q2)({payload:"bitcoind"})),this.rtlEffects.showLnConfig.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{const x=T.data;this.fileFormat=T.format,""===x||!x||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==x&&x&&"JSON"===this.fileFormat?this.configData=x:this.configData="":this.configData=x.split("\n")})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||cs)(t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:cs,selectors:[["rtl-bitcoin-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,Ar,5,4,"div",2),t.YNc(3,Rs,3,1,"div",3),t.qZA()()),2&x&&(t.xp6(2),t.Q6J("ngIf",""!==V.configData&&"JSON"===V.fileFormat),t.xp6(1),t.Q6J("ngIf",""!==V.configData&&("INI"===V.fileFormat||"HOCON"===V.fileFormat)))},dependencies:[si.sg,si.O5,Vt.xw,Vt.Wh,Vt.yH,fn.$j,jo.i$,jo.Tg,io.d,si.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}function Zc(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}class Do{constructor(T,x,V){this.dialogRef=T,this.store=x,this.rtlEffects=V,this.password="",this.isAuthenticated=!1,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.rtlEffects.isAuthorizedRes.pipe((0,Ka.q)(1)).subscribe(T=>{"ERROR"!==T?(this.isAuthenticated=!0,this.store.dispatch((0,Qt.M6)({payload:this.isAuthenticated}))):this.isAuthenticated=!1})}onAuthenticate(){if(!this.password)return!0;this.store.dispatch((0,Qt.QO)({payload:Mr(this.password)}))}onClose(){this.store.dispatch((0,Qt.M6)({payload:this.isAuthenticated}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Do)(t.Y36(Ma.so),t.Y36(Hn.yh),t.Y36(Na.V))};static#t=this.\u0275cmp=t.Xpm({type:Do,selectors:[["rtl-is-authorized"]],decls:16,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["autoFocus","","matInput","","placeholder","Password","type","password","id","password","name","password","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-button","","color","primary","tabindex","2","type","submit","default","",3,"click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Authenticate with your RTL Password"),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return V.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"form",7)(10,"mat-form-field")(11,"input",8),t.NdJ("ngModelChange",function(nt){return V.password=nt}),t.qZA(),t.YNc(12,Zc,2,0,"mat-error",9),t.qZA(),t.TgZ(13,"div",10)(14,"button",11),t.NdJ("click",function(){return V.onAuthenticate()}),t._uU(15,"Confirm"),t.qZA()()()()()()),2&x&&(t.xp6(11),t.Q6J("ngModel",V.password),t.xp6(1),t.Q6J("ngIf",!V.password))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Er.Nt,Si.h]})}const qo=function(){return{initial:!1}};function B1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link)("state",t.DdM(4,qo)),t.xp6(1),t.Oqu(x.links[2].name)}}function va(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[3].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[3].link),t.Q6J("active",x.activeLink===x.links[3].link),t.xp6(1),t.Oqu(x.links[3].name)}}function vu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",13),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.showLnConfigClicked())}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.Q6J("active",x.activeLink===x.links[4].link),t.xp6(1),t.Oqu(x.links[4].name)}}class Yc{constructor(T,x,V,ge){this.store=T,this.router=x,this.rtlEffects=V,this.activatedRoute=ge,this.faTools=fe.CgH,this.showLnConfig=!1,this.lnImplementationStr="",this.links=[{link:"nodesettings",name:"Node Settings"},{link:"pglayout",name:"Page Layout"},{link:"services",name:"Services"},{link:"experimental",name:"Experimental"},{link:"lnconfig",name:this.lnImplementationStr}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(ge=>x.urlAfterRedirects.includes(ge.link));this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{switch(this.showLnConfig=!1,this.selNode=x,this.selNode.lnImplementation?.toUpperCase()){case"CLN":this.lnImplementationStr="Core Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[4].name=this.lnImplementationStr,this.showLnConfig=!0)})}showLnConfigClicked(){this.store.dispatch((0,Qt.qR)({payload:{maxWidth:"50rem",data:{component:Do}}})),this.rtlEffects.closeAlert.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{T&&(this.activeLink=this.links[4].link,this.router.navigate(["./"+this.activeLink],{relativeTo:this.activatedRoute}))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Yc)(t.Y36(Hn.yh),t.Y36(Ne.F0),t.Y36(Na.V),t.Y36(Ne.gz))};static#t=this.\u0275cmp=t.Xpm({type:Yc,selectors:[["rtl-node-config"]],decls:19,vars:11,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper","mb-2"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Node Config"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5)(8,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[0].link}),t._uU(9),t.qZA(),t.TgZ(10,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[1].link}),t._uU(11),t.qZA(),t.YNc(12,B1,2,5,"div",7),t.YNc(13,va,2,3,"div",8),t.YNc(14,vu,2,2,"div",9),t.qZA(),t._UZ(15,"mat-tab-nav-panel",null,10),t.TgZ(17,"div",11),t._UZ(18,"router-outlet"),t.qZA()()()()),2&x){const ge=t.MAs(16);t.xp6(1),t.Q6J("icon",V.faTools),t.xp6(6),t.Q6J("tabPanel",ge),t.xp6(1),t.s9C("routerLink",V.links[0].link),t.Q6J("active",V.activeLink===V.links[0].link),t.xp6(1),t.Oqu(V.links[0].name),t.xp6(1),t.s9C("routerLink",V.links[1].link),t.Q6J("active",V.activeLink===V.links[1].link),t.xp6(1),t.Oqu(V.links[1].name),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","CLN"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf",V.showLnConfig)}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}function we(K,T){1&K&&t._UZ(0,"mat-divider",7)}function ne(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"pre",5),t._uU(2),t.ALo(3,"json"),t.qZA(),t.YNc(4,we,1,0,"mat-divider",6),t.qZA()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(t.lcZ(3,2,x.configData)),t.xp6(2),t.Q6J("ngIf",""!==x.configData)}}function Ee(K,T){if(1&K&&(t.TgZ(0,"h2"),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function qe(K,T){if(1&K&&(t.TgZ(0,"h4",14),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function at(K,T){1&K&&t._UZ(0,"mat-divider",15),2&K&&t.Q6J("inset",!0)}function mt(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-card-subtitle",7),t.YNc(2,Ee,2,1,"h2",10),t.qZA(),t.TgZ(3,"mat-card-subtitle",11),t.YNc(4,qe,2,1,"h4",12),t.qZA(),t.YNc(5,at,1,1,"mat-divider",13),t.qZA()),2&K){const x=T.$implicit;t.xp6(2),t.Q6J("ngIf",x.indexOf("[")>=0),t.xp6(2),t.Q6J("ngIf",x.indexOf("[")<0),t.xp6(1),t.Q6J("ngIf",x.indexOf("[")<0)}}function Wt(K,T){if(1&K&&(t.TgZ(0,"div",8)(1,"mat-list"),t.YNc(2,mt,6,3,"mat-list-item",9),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Q6J("ngForOf",x.configData)}}class mn{constructor(T,x,V){this.store=T,this.rtlEffects=x,this.router=V,this.configData="",this.fileFormat="INI",this.faCog=fe.b7W,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.dispatch((0,Qt.Q2)({payload:"ln"})),this.rtlEffects.showLnConfig.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{const x=T.data;this.fileFormat=T.format,""===x||!x||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==x&&x&&"JSON"===this.fileFormat?this.configData=x:this.configData="":this.configData=x.split("\n")})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||mn)(t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:mn,selectors:[["rtl-lnp-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,ne,5,4,"div",2),t.YNc(3,Wt,3,1,"div",3),t.qZA()()),2&x&&(t.xp6(2),t.Q6J("ngIf",""!==V.configData&&"JSON"===V.fileFormat),t.xp6(1),t.Q6J("ngIf",""!==V.configData&&("INI"===V.fileFormat||"HOCON"===V.fileFormat)))},dependencies:[si.sg,si.O5,Vt.xw,Vt.Wh,Vt.yH,fn.$j,jo.i$,jo.Tg,io.d,si.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}var Dn=m(2994),Rn=m(429),di=m(6523),ta=m(62),Ea=m(3704),zi=m(3012),Fr=m(2922),so=m(4714);function ds(K,T){if(1&K&&(t.TgZ(0,"mat-option",35),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.id),t.xp6(1),t.hij(" ",x.id," ")}}function Us(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Currency unit is required."),t.qZA())}function xs(K,T){if(1&K&&(t.TgZ(0,"mat-radio-button",36),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x)("checked",V.selNode.settings.userPersona===x),t.xp6(1),t.hij(" ",t.lcZ(2,3,x)," ")}}function No(K,T){if(1&K&&(t.TgZ(0,"mat-radio-button",37),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij("",x.name," ")}}const uc=function(K){return{skin:!0,"selected-color":K}};function yu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"span",38)(1,"div",39),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.changeThemeColor(nt.id))}),t.ALo(2,"lowercase"),t.qZA(),t._uU(3),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Tol(t.lcZ(2,4,x.id)),t.Q6J("ngClass",t.VKq(6,uc,V.selectedThemeColor===x.id)),t.xp6(2),t.hij(" ",x.name," ")}}class k2{constructor(T,x,V){this.logger=T,this.commonService=x,this.store=V,this.faExclamationTriangle=fe.eHv,this.faMoneyBillAlt=fe.co4,this.faPaintBrush=fe.XsY,this.faInfoCircle=fe.sqG,this.faEyeSlash=fe.Aq,this.userPersonas=[Qe.ol.OPERATOR,Qe.ol.MERCHANT],this.currencyUnits=Qe.Er,this.themeModes=Qe.wZ.modes,this.themeColors=Qe.wZ.themes,this.selectedThemeMode=Qe.wZ.modes[0],this.selectedThemeColor=Qe.wZ.themes[0].id,this.currencyUnit="BTC",this.smallerCurrencyUnit="Sats",this.showSettingOption=!0,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.selectedThemeMode=this.themeModes.find(x=>this.selNode.settings.themeMode===x.id)||this.themeModes[0],this.selectedThemeColor=this.selNode.settings.themeColor,this.selNode.settings.fiatConversion||(this.selNode.settings.currencyUnit=""),this.previousSettings=JSON.parse(JSON.stringify(this.selNode.settings)),this.logger.info(T)})}onCurrencyChange(T){this.selNode.settings.currencyUnits=[...Qe.uA,T.value],this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}}))}toggleSettings(T,x){this.selNode.settings[T]=!this.selNode.settings[T]}changeThemeColor(T){this.selectedThemeColor=T,this.selNode.settings.themeColor=T}chooseThemeMode(){this.selNode.settings.themeMode=this.selectedThemeMode.id}onUpdateSettings(){if(this.selNode.settings.fiatConversion&&!this.selNode.settings.currencyUnit)return!0;this.logger.info(this.selNode.settings),this.store.dispatch((0,Qt.zQ)({payload:{uiMessage:Qe.m6.UPDATE_NODE_SETTINGS,settings:this.selNode.settings}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}}))}onResetSettings(){const T=this.selNode.index||-1;this.selNode.settings=this.previousSettings,this.selectedThemeMode=this.themeModes.find(x=>x.id===this.previousSettings.themeMode)||this.themeModes[0],this.selectedThemeColor=this.previousSettings.themeColor,this.store.dispatch((0,Qt.fk)({payload:{uiMessage:Qe.m6.NO_SPINNER,prevLnNodeIndex:+T,currentLnNode:this.selNode,isInitialSetup:!0}}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||k2)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:k2,selectors:[["rtl-node-settings"]],decls:76,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container"],["form","ngForm"],["displayMode","flat","multi","false"],["fxLayout","column",1,"flat-expansion-panel","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row wrap","fxLayoutAlign","start center"],["tabindex","1","color","primary","name","unannouncedChannels",3,"ngModel","ngModelChange","change"],["fxFlex","100",1,"alert","alert-warn"],["href","https://www.blockchain.com/api/exchange_rates_api","target","blank"],["tabindex","2","color","primary","name","fiatConversion",3,"ngModel","ngModelChange","change"],["autoFocus","","placeholder","Fiat Currency","tabindex","3","name","currencyUnit",3,"disabled","required","ngModel","ngModelChange","selectionChange"],["currencyUnit","ngModel"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-0"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100"],["color","primary","tabindex","1","name","userPersona",1,"radio-group",3,"ngModel","ngModelChange"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],[1,"mt-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],["color","primary","name","themeMode",1,"radio-group",3,"ngModel","ngModelChange","change"],["tabindex","5","class","mr-4",3,"value",4,"ngFor","ngForOf"],["fxLayout","column","fxLayout.gt-xs","row","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-xs","start stretch"],["fxLayout","column","fxFlex.gt-xs","50","fxFlex.gt-md","40","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","row","class","theme-name",4,"ngFor","ngForOf"],["fxLayout","column","fxLayoutAlign","start start",1,"mt-1"],["fxLayout","row"],["mat-stroked-button","","color","primary","tabindex","10",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","11",3,"click"],[3,"value"],[1,"mr-4",3,"value","checked"],["tabindex","5",1,"mr-4",3,"value"],["fxLayout","row",1,"theme-name"],["tabindex","9",3,"ngClass","click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"form",1,2)(3,"mat-accordion",3)(4,"mat-expansion-panel",4)(5,"mat-expansion-panel-header")(6,"mat-panel-title"),t._UZ(7,"fa-icon",5),t.TgZ(8,"span",6),t._uU(9,"Open Unannounced Channels"),t.qZA()()(),t.TgZ(10,"div",7)(11,"div",8),t._UZ(12,"fa-icon",9),t.TgZ(13,"span"),t._uU(14,"Use this control to toggle setting which defaults to opening unannounced channels only."),t.qZA()(),t.TgZ(15,"div",10)(16,"mat-slide-toggle",11),t.NdJ("ngModelChange",function(nt){return V.selNode.settings.unannouncedChannels=nt})("change",function(nt){return V.selNode.settings.unannouncedChannels=nt.checked?V.selNode.settings.unannouncedChannels:null}),t._uU(17,"Open Unannounced Channels"),t.qZA()()()(),t.TgZ(18,"mat-expansion-panel",4)(19,"mat-expansion-panel-header")(20,"mat-panel-title"),t._UZ(21,"fa-icon",5),t.TgZ(22,"span",6),t._uU(23,"Balance Display"),t.qZA()()(),t.TgZ(24,"div",7)(25,"div",12),t._UZ(26,"fa-icon",9),t.TgZ(27,"span"),t._uU(28,"Fiat conversion calls "),t.TgZ(29,"strong")(30,"a",13),t._uU(31,"Blockchain.com"),t.qZA()(),t._uU(32," API to get conversion rates."),t.qZA()(),t.TgZ(33,"div",10)(34,"mat-slide-toggle",14),t.NdJ("ngModelChange",function(nt){return V.selNode.settings.fiatConversion=nt})("change",function(nt){return V.selNode.settings.currencyUnit=nt.checked?V.selNode.settings.currencyUnit:null}),t._uU(35,"Enable Fiat Conversion"),t.qZA(),t.TgZ(36,"mat-form-field")(37,"mat-select",15,16),t.NdJ("ngModelChange",function(nt){return V.selNode.settings.currencyUnit=nt})("selectionChange",function(nt){return V.onCurrencyChange(nt)}),t.YNc(39,ds,2,2,"mat-option",17),t.qZA(),t.YNc(40,Us,2,0,"mat-error",18),t.qZA()()()(),t.TgZ(41,"mat-expansion-panel",4)(42,"mat-expansion-panel-header")(43,"mat-panel-title"),t._UZ(44,"fa-icon",5),t.TgZ(45,"span",6),t._uU(46,"Customization"),t.qZA()()(),t.TgZ(47,"div",7)(48,"div",19),t._UZ(49,"fa-icon",9),t.TgZ(50,"span"),t._uU(51,"Dashboard layout will be tailored based on the role selected to better serve its needs."),t.qZA()(),t.TgZ(52,"div",20)(53,"h4"),t._uU(54,"Dashboard Layout"),t.qZA(),t.TgZ(55,"mat-radio-group",21),t.NdJ("ngModelChange",function(nt){return V.selNode.settings.userPersona=nt}),t.YNc(56,xs,3,5,"mat-radio-button",22),t.qZA()(),t._UZ(57,"mat-divider",23),t.TgZ(58,"div",24)(59,"h4"),t._uU(60,"Mode"),t.qZA(),t.TgZ(61,"mat-radio-group",25),t.NdJ("ngModelChange",function(nt){return V.selectedThemeMode=nt})("change",function(){return V.chooseThemeMode()}),t.YNc(62,No,2,2,"mat-radio-button",26),t.qZA()(),t._UZ(63,"mat-divider",23),t.TgZ(64,"div",27)(65,"div",28)(66,"h4"),t._uU(67,"Themes"),t.qZA(),t.TgZ(68,"div",29),t.YNc(69,yu,4,8,"span",30),t.qZA()()()()()()(),t.TgZ(70,"div",31)(71,"div",32)(72,"button",33),t.NdJ("click",function(){return V.onResetSettings()}),t._uU(73,"Reset"),t.qZA(),t.TgZ(74,"button",34),t.NdJ("click",function(){return V.onUpdateSettings()}),t._uU(75,"Update"),t.qZA()()()()),2&x&&(t.xp6(7),t.Q6J("icon",V.faEyeSlash),t.xp6(5),t.Q6J("icon",V.faInfoCircle),t.xp6(4),t.Q6J("ngModel",V.selNode.settings.unannouncedChannels),t.xp6(5),t.Q6J("icon",V.faMoneyBillAlt),t.xp6(5),t.Q6J("icon",V.faExclamationTriangle),t.xp6(8),t.Q6J("ngModel",V.selNode.settings.fiatConversion),t.xp6(3),t.Q6J("disabled",!V.selNode.settings.fiatConversion)("required",V.selNode.settings.fiatConversion)("ngModel",V.selNode.settings.currencyUnit),t.xp6(2),t.Q6J("ngForOf",V.currencyUnits),t.xp6(1),t.Q6J("ngIf",V.selNode.settings.fiatConversion&&!V.selNode.settings.currencyUnit),t.xp6(4),t.Q6J("icon",V.faPaintBrush),t.xp6(5),t.Q6J("icon",V.faInfoCircle),t.xp6(6),t.Q6J("ngModel",V.selNode.settings.userPersona),t.xp6(1),t.Q6J("ngForOf",V.userPersonas),t.xp6(5),t.Q6J("ngModel",V.selectedThemeMode),t.xp6(1),t.Q6J("ngForOf",V.themeModes),t.xp6(7),t.Q6J("ngForOf",V.themeColors))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Sn.TO,Sn.KE,io.d,Fr.VQ,Fr.U0,Jn.gD,oi.ey,so.Rr,xi.$V,Si.h,si.i8,si.rS],styles:["h4[_ngcontent-%COMP%]{margin:1.2rem 0 .6rem}.theme-name[_ngcontent-%COMP%]{min-width:15rem}.skin[_ngcontent-%COMP%]{width:2rem;height:2rem;border-radius:50%;cursor:pointer;margin-right:1rem}.skin.selected-color[_ngcontent-%COMP%]{width:1.75rem;height:1.75rem;border:.25rem solid}.skin.purple[_ngcontent-%COMP%]{background-color:#5e4ea5}.skin.indigo[_ngcontent-%COMP%]{background-color:#3f51b5}.skin.teal[_ngcontent-%COMP%]{background-color:#00695c}.skin.pink[_ngcontent-%COMP%]{background-color:#d81b60}.skin.yellow[_ngcontent-%COMP%]{background-color:#a1842c}.radio-group.mat-radio-group[_ngcontent-%COMP%] .mat-radio-button[_ngcontent-%COMP%]{min-width:11rem}.mat-slide-toggle[_ngcontent-%COMP%]{padding:0 1.4rem 0 .4rem}.mat-flat-button[_ngcontent-%COMP%]{width:100%;max-height:3.6rem}"]})}var Qc=m(538),Cs=m(9828),Nl=m(6529),lr=m(2501),Fl=m(7822),R2=m(6896),$d=m(9445);const e0=function(K){return{error:K}};function Hl(K,T){if(1&K&&t.GkF(0,14),2&K){const x=t.oxw(),V=t.MAs(18);t.Q6J("ngTemplateOutlet",V)("ngTemplateOutletContext",t.VKq(2,e0,x.errorMessage))}}function K4(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ",x," ")}}function bu(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw(3);t.Q6J("value",x),t.xp6(1),t.hij(" ","ECL"===V.selNode.lnImplementation?t.lcZ(2,2,x):t.xi3(3,4,x,"_")," ")}}function xu(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ","desc"===x?"Descending":"Ascending"," ")}}function Cu(K,T){if(1&K&&(t.TgZ(0,"mat-option",33),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw(2).$implicit,ge=t.oxw(2);t.Q6J("value",x.column)("disabled",V.columnSelection.length<=2&&V.columnSelection.includes(x.column)),t.xp6(1),t.hij(" ",x.label?x.label:"ECL"===ge.selNode.lnImplementation?t.lcZ(2,3,x.column):t.xi3(3,5,x.column,"_")," ")}}function N1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-form-field",31)(1,"mat-select",32),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw().$implicit;return t.KtG(nt.columnSelection=ge)})("selectionChange",function(){t.CHM(x);const ge=t.oxw().$implicit,nt=t.oxw(2);return t.KtG(nt.oncolumnSelectionChange(ge))}),t.YNc(2,Cu,4,8,"mat-option",27),t.qZA()()}if(2&K){const x=t.oxw().$implicit,V=t.oxw().$implicit,ge=t.oxw();t.xp6(1),t.hYB("name","",V.pageId,"",x.tableId,"-columns-selection"),t.Q6J("ngModel",x.columnSelection),t.xp6(1),t.Q6J("ngForOf",ge.nodePageDefs[V.pageId][x.tableId].allowedColumns)}}function jc(K,T){if(1&K&&(t.TgZ(0,"mat-option",33),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw().$implicit,ge=t.oxw(2);t.Q6J("value",x.column)("disabled",V.columnSelectionSM.length<=1&&V.columnSelectionSM.includes(x.column)||V.columnSelectionSM.length>=3&&!V.columnSelectionSM.includes(x.column)),t.xp6(1),t.hij(" ",x.label?x.label:"ECL"===ge.selNode.lnImplementation?t.lcZ(2,3,x.column):t.xi3(3,5,x.column,"_")," ")}}const B2=function(K){return{"ml-minus-1":K}};function qc(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",17)(1,"div",18)(2,"span",19),t._uU(3),t.ALo(4,"camelcaseWithReplace"),t.qZA(),t.TgZ(5,"mat-form-field",19)(6,"mat-select",20),t.NdJ("ngModelChange",function(ge){const kt=t.CHM(x).$implicit;return t.KtG(kt.recordsPerPage=ge)}),t.YNc(7,K4,2,2,"mat-option",21),t.qZA()(),t.TgZ(8,"mat-form-field",19)(9,"mat-select",22),t.NdJ("ngModelChange",function(ge){const kt=t.CHM(x).$implicit;return t.KtG(kt.sortBy=ge)}),t.YNc(10,bu,4,7,"mat-option",21),t.qZA()(),t.TgZ(11,"mat-form-field",19)(12,"mat-select",23),t.NdJ("ngModelChange",function(ge){const kt=t.CHM(x).$implicit;return t.KtG(kt.sortOrder=ge)}),t.YNc(13,xu,2,2,"mat-option",21),t.qZA()(),t.YNc(14,N1,3,4,"mat-form-field",24),t.TgZ(15,"mat-form-field",25)(16,"mat-select",26),t.NdJ("ngModelChange",function(ge){const kt=t.CHM(x).$implicit;return t.KtG(kt.columnSelectionSM=ge)}),t.YNc(17,jc,4,8,"mat-option",27),t.qZA()(),t.TgZ(18,"button",28),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw().$implicit,jt=t.oxw();return t.KtG(jt.onTableReset(kt.pageId,nt))}),t.TgZ(19,"mat-icon",29),t._uU(20,"restore"),t.qZA()()()()}if(2&K){const x=T.$implicit,V=t.oxw().$implicit,ge=t.oxw();t.xp6(3),t.hij("",t.xi3(4,20,x.tableId,"_"),":"),t.xp6(3),t.hYB("name","",V.pageId,"",x.tableId,"-page-size-options"),t.Q6J("disabled",ge.nodePageDefs[V.pageId][x.tableId].disablePageSize)("ngModel",x.recordsPerPage),t.xp6(1),t.Q6J("ngForOf",ge.pageSizeOptions),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-sort-by"),t.Q6J("ngModel",x.sortBy),t.xp6(1),t.Q6J("ngForOf",x.columnSelection),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-sort-order"),t.Q6J("ngModel",x.sortOrder),t.xp6(1),t.Q6J("ngForOf",ge.sortOrders),t.xp6(1),t.Q6J("ngIf",ge.screenSize!==ge.screenSizeEnum.XS),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-columns-selection-sm"),t.Q6J("ngModel",x.columnSelectionSM),t.xp6(1),t.Q6J("ngForOf",ge.nodePageDefs[V.pageId][x.tableId].allowedColumns),t.xp6(2),t.Q6J("ngClass",t.VKq(23,B2,ge.screenSize===ge.screenSizeEnum.XS||ge.screenSize===ge.screenSizeEnum.SM))}}function bl(K,T){if(1&K&&t.GkF(0,14),2&K){const x=t.oxw(2),V=t.MAs(18);t.Q6J("ngTemplateOutlet",V)("ngTemplateOutletContext",t.VKq(2,e0,x.errorMessage))}}const d3=function(K){return{"error-border":K}};function zl(K,T){if(1&K&&(t.TgZ(0,"mat-expansion-panel",15)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),t._uU(3),t.ALo(4,"camelcaseWithReplace"),t.qZA()(),t.YNc(5,qc,21,25,"div",16),t.YNc(6,bl,1,4,"ng-container",6),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("ngClass",t.VKq(7,d3,(null==V.errorMessage?null:V.errorMessage.page)===x.pageId)),t.xp6(3),t.Oqu(t.xi3(4,4,x.pageId,"_")),t.xp6(2),t.Q6J("ngForOf",x.tables),t.xp6(1),t.Q6J("ngIf",V.errorMessage&&(null==V.errorMessage?null:V.errorMessage.page)===x.pageId)}}function Ul(K,T){if(1&K&&(t.TgZ(0,"mat-panel-title"),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=t.oxw().error;t.xp6(1),t.hij("Page ",t.lcZ(2,1,x.page),"")}}function hc(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-icon",37),t._uU(2,"close"),t.qZA(),t.TgZ(3,"span"),t._uU(4),t.qZA()()),2&K){const x=t.oxw().error;t.xp6(4),t.Oqu(x.message)}}function Mu(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-icon",37),t._uU(2,"close"),t.qZA(),t.TgZ(3,"span"),t._uU(4),t.ALo(5,"titlecase"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(4),t.AsE("Table ",t.lcZ(5,2,x.table)," ",x.message,"")}}const u3=function(K){return{"error-border p-2":K}};function Xc(K,T){if(1&K&&(t.TgZ(0,"div",29),t.YNc(1,Ul,3,3,"mat-panel-title",34),t.TgZ(2,"mat-list",35),t.YNc(3,hc,5,1,"mat-list-item",34),t.YNc(4,Mu,6,4,"mat-list-item",36),t.qZA()()),2&K){const x=T.error,V=t.oxw();t.Q6J("ngClass",t.VKq(4,u3,"unknown"===V.errorMessage.page)),t.xp6(1),t.Q6J("ngIf","unknown"===V.errorMessage.page),t.xp6(2),t.Q6J("ngIf",x.message),t.xp6(1),t.Q6J("ngForOf",x.tables)}}class xl{constructor(T,x,V,ge){this.logger=T,this.commonService=x,this.store=V,this.actions=ge,this.faPenRuler=fe.SoD,this.faExclamationTriangle=fe.eHv,this.screenSize="",this.screenSizeEnum=Qe.cu,this.pageSizeOptions=Qe.TJ,this.pageSettings=[],this.initialPageSettings=[],this.defaultSettings=[],this.nodePageDefs={},this.sortOrders=Qe.zZ,this.apiCallStatus=null,this.apiCallStatusEnum=Qe.Bn,this.errorMessage=null,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{switch(this.selNode=T,this.logger.info(this.selNode),this.selNode.lnImplementation){case"CLN":this.initialPageSettings=Object.assign([],Qe.gG),this.defaultSettings=Object.assign([],Qe.gG),this.nodePageDefs=Qe.At,this.store.select(Cs.AS).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(Cs.lw))).subscribe(([x,V])=>{const ge=JSON.parse(JSON.stringify(x.pageSettings));if(this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR)this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=ge,this.initialPageSettings=ge;else{if(!V?.enableOffers){const nt=ge.find(on=>"transactions"===on.pageId),kt=nt?.tables.findIndex(on=>"offers"===on.tableId),jt=nt?.tables.findIndex(on=>"offer_bookmarks"===on.tableId);kt>-1&&nt?.tables.splice(kt,1),jt>-1&&nt?.tables.splice(jt,1)}if(!V?.enablePeerswap){const nt=ge.findIndex(kt=>"peerswap"===kt.pageId);nt>-1&&ge.splice(nt,1)}this.pageSettings=ge,this.initialPageSettings=ge}this.logger.info(ge)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.AB.UPDATE_API_CALL_STATUS_CLN||x.type===Qe.AB.SAVE_PAGE_SETTINGS_CLN)).subscribe(x=>{x.type===Qe.AB.UPDATE_API_CALL_STATUS_CLN&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))});break;case"ECL":this.initialPageSettings=Object.assign([],Qe.c3),this.defaultSettings=Object.assign([],Qe.c3),this.nodePageDefs=Qe.Xk,this.store.select(lr.nF).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(lr.LR))).subscribe(([x,V])=>{const ge=JSON.parse(JSON.stringify(x.pageSettings));this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR?(this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=ge,this.initialPageSettings=ge):(this.pageSettings=ge,this.initialPageSettings=ge),this.logger.info(ge)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.lr.UPDATE_API_CALL_STATUS_ECL||x.type===Qe.lr.SAVE_PAGE_SETTINGS_ECL)).subscribe(x=>{x.type===Qe.lr.UPDATE_API_CALL_STATUS_ECL&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))});break;default:this.initialPageSettings=Object.assign([],Qe.gK),this.defaultSettings=Object.assign([],Qe.gK),this.nodePageDefs=Qe.hG,this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(Nl.$k))).subscribe(([x,V])=>{const ge=JSON.parse(JSON.stringify(x.pageSettings));if(this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR)this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=ge,this.initialPageSettings=ge;else{if(!V?.swapServerUrl||""===V.swapServerUrl.trim()){const nt=ge.findIndex(kt=>"loop"===kt.pageId);nt>-1&&ge.splice(nt,1)}if(!V?.boltzServerUrl||""===V.boltzServerUrl.trim()){const nt=ge.findIndex(kt=>"boltz"===kt.pageId);nt>-1&&ge.splice(nt,1)}if(!V?.enablePeerswap){const nt=ge.findIndex(kt=>"peerswap"===kt.pageId);nt>-1&&ge.splice(nt,1)}this.pageSettings=ge,this.initialPageSettings=ge}this.logger.info(ge)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.uR.UPDATE_API_CALL_STATUS_LND||x.type===Qe.uR.SAVE_PAGE_SETTINGS_LND)).subscribe(x=>{x.type===Qe.uR.UPDATE_API_CALL_STATUS_LND&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))})}})}oncolumnSelectionChange(T){T.columnSelection&&(!T.sortBy||!T.columnSelection.includes(T.sortBy))&&(T.sortBy=T.columnSelection[0])}onUpdatePageSettings(){if(this.pageSettings.reduce((T,x)=>T||x.tables.reduce((V,ge)=>!(ge.recordsPerPage&&ge.sortBy&&ge.sortOrder&&ge.columnSelection&&ge.columnSelection.length>=2),!1),!1))return!0;switch(this.errorMessage="",this.selNode.lnImplementation){case"CLN":this.store.dispatch((0,Rn.eF)({payload:this.pageSettings}));break;case"ECL":this.store.dispatch((0,Dn.eF)({payload:this.pageSettings}));break;default:this.store.dispatch((0,di.eF)({payload:this.pageSettings}))}}onTableReset(T,x){const V=this.pageSettings.findIndex(kt=>kt.pageId===T),ge=this.pageSettings[V].tables.findIndex(kt=>kt.tableId===x.tableId),nt=this.defaultSettings.find(kt=>kt.pageId===T)?.tables.find(kt=>kt.tableId===x.tableId)||this.pageSettings.find(kt=>kt.pageId===T)?.tables.find(kt=>kt.tableId===x.tableId);this.pageSettings[V].tables.splice(ge,1,nt)}onResetPageSettings(T){"current"===T?(this.errorMessage=null,this.pageSettings=JSON.parse(JSON.stringify(this.initialPageSettings))):(this.errorMessage=null,this.pageSettings=JSON.parse(JSON.stringify(this.defaultSettings)))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||xl)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(vs.eX))};static#t=this.\u0275cmp=t.Xpm({type:xl,selectors:[["rtl-page-settings"]],decls:19,vars:3,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],["displayMode","flat","multi","false"],["fxLayout","column","class","flat-expansion-panel mt-1","expanded","false",3,"ngClass",4,"ngFor","ngForOf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","8",1,"mr-1",3,"click"],["mat-stroked-button","","color","primary","tabindex","9",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["errorObjectBlock",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["fxLayout","column","expanded","false",1,"flat-expansion-panel","mt-1",3,"ngClass"],["fxLayout","column","fxLayoutAlign","start stretch","class","padding-gap-x-large table-setting-row",4,"ngFor","ngForOf"],["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x-large","table-setting-row"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center"],["fxFlex","10"],["placeholder","Records/Page","tabindex","2","required","",3,"disabled","name","ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["placeholder","Sort By","tabindex","3","required","",3,"name","ngModel","ngModelChange"],["placeholder","Sort Order","tabindex","4","required","",3,"name","ngModel","ngModelChange"],["fxFlex","35","matTooltip","Select a minimum of 2 columns",4,"ngIf"],["fxFlex","15","matTooltip","Select between 1 and 3 columns"],["placeholder","Column Selection (Mobile Resolution)","tabindex","5","multiple","","required","",3,"name","ngModel","ngModelChange"],[3,"value","disabled",4,"ngFor","ngForOf"],["mat-icon-button","","color","primary","type","button","tabindex","7","matTooltip","Reset to Default",3,"click"],[3,"ngClass"],[3,"value"],["fxFlex","35","matTooltip","Select a minimum of 2 columns"],["placeholder","Column selection (Desktop Resolution)","tabindex","6","multiple","","required","",3,"name","ngModel","ngModelChange","selectionChange"],[3,"value","disabled"],[4,"ngIf"],["role","list"],[4,"ngFor","ngForOf"],[1,"ml-1","icon-small","red"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"form",1,2)(3,"div",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6,"Grid Settings"),t.qZA()(),t.YNc(7,Hl,1,4,"ng-container",6),t.TgZ(8,"mat-accordion",7),t.YNc(9,zl,7,9,"mat-expansion-panel",8),t.qZA()(),t.TgZ(10,"div",9)(11,"button",10),t.NdJ("click",function(){return V.onResetPageSettings("current")}),t._uU(12,"Reset"),t.qZA(),t.TgZ(13,"button",11),t.NdJ("click",function(){return V.onResetPageSettings("default")}),t._uU(14,"Reset to Default"),t.qZA(),t.TgZ(15,"button",12),t.NdJ("click",function(){return V.onUpdatePageSettings()}),t._uU(16,"Save"),t.qZA()()(),t.YNc(17,Xc,5,6,"ng-template",null,13,t.W1O)),2&x&&(t.xp6(4),t.Q6J("icon",V.faPenRuler),t.xp6(3),t.Q6J("ngIf",V.errorMessage&&"unknown"===V.errorMessage.page),t.xp6(2),t.Q6J("ngForOf",V.pageSettings))},dependencies:[si.mk,si.sg,si.O5,si.tP,qt._Y,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Fl.Hw,Sn.KE,jo.i$,jo.Tg,Jn.gD,oi.ey,R2.gM,xi.$V,si.rS,$d.D3,$d.i1],styles:[".table-setting-row[_ngcontent-%COMP%]:last-child{margin-bottom:3rem}.table-setting-row[_ngcontent-%COMP%]:not(:first-child){margin:3rem 0}"]})}function F1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",10),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[0].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[0].link),t.Q6J("active",x.activeLink===x.links[0].link),t.xp6(1),t.Oqu(x.links[0].name)}}const G4=function(){return{initial:!1}};function Z4(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[1].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[1].link),t.Q6J("active",x.activeLink===x.links[1].link)("state",t.DdM(4,G4)),t.xp6(1),t.Oqu(x.links[1].name)}}function h3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",10),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.activeLink=ge.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link),t.xp6(1),t.Oqu(x.links[2].name)}}class N2{constructor(T,x,V){this.store=T,this.router=x,this.activatedRoute=V,this.faLayerGroup=fe.Krp,this.links=[{link:"loop",name:"Loop"},{link:"boltz",name:"Boltz"},{link:"peerswap",name:"Peerswap"}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(ge=>x.urlAfterRedirects.includes(ge.link));"CLN"===this.selNode.lnImplementation.toUpperCase()?this.activeLink=this.links[2].link:this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{this.selNode=x,"CLN"===this.selNode.lnImplementation.toUpperCase()&&(this.activeLink=this.links[2].link,this.router.navigate(["./"+this.activeLink],{relativeTo:this.activatedRoute}))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||N2)(t.Y36(Hn.yh),t.Y36(Ne.F0),t.Y36(Ne.gz))};static#t=this.\u0275cmp=t.Xpm({type:N2,selectors:[["rtl-services-settings"]],decls:16,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","my-1"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span",3),t._uU(4,"Services"),t.qZA()()(),t.TgZ(5,"div",4)(6,"mat-card")(7,"mat-card-content",4)(8,"nav",5),t.YNc(9,F1,2,3,"div",6),t.YNc(10,Z4,2,5,"div",7),t.YNc(11,h3,2,3,"div",6),t.qZA(),t._UZ(12,"mat-tab-nav-panel",null,8),t.TgZ(14,"div",9),t._UZ(15,"router-outlet"),t.qZA()()()()),2&x){const ge=t.MAs(13);t.xp6(2),t.Q6J("icon",V.faLayerGroup),t.xp6(6),t.Q6J("tabPanel",ge),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","CLN"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase()))}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}const Rp=["form"];function Y4(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Loop server URL is required."),t.qZA())}function Q4(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Specify the loop server url with 'https://'."),t.qZA())}function Eu(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Loop macaroon path is required."),t.qZA())}class Vl{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=fe.sqG,this.enableLoop=!1,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.enableLoop=!(!T.settings.swapServerUrl||""===T.settings.swapServerUrl.trim()),this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(T)})}onEnableServiceChanged(T){this.enableLoop=T.checked,this.enableLoop||(this.selNode.authentication.swapMacaroonPath="",this.selNode.settings.swapServerUrl="")}onUpdateService(){if(this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableLoop&&(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim()||!this.selNode.authentication.swapMacaroonPath||""===this.selNode.authentication.swapMacaroonPath.trim()))return!0;this.logger.info(this.selNode),this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_LOOP_SETTINGS,service:Qe.JX.LOOP,settings:{enable:this.enableLoop,serverUrl:this.selNode.settings.swapServerUrl,macaroonPath:this.selNode.authentication.swapMacaroonPath}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.enableLoop=!(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim())}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Vl)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Vl,selectors:[["rtl-loop-service-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(Rp,7),2&x){let ge;t.iGM(ge=t.CRH())&&(V.form=ge.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://github.com/lightninglabs/loop","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","loop",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Loop Server URL","type","text","id","swapServerUrl","name","srvrUrl","tabindex","2",3,"required","disabled","ngModel","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Loop Macaroon Path","type","text","id","swapMacaroonPath","name","swapMacaroonPath","tabindex","3",3,"required","disabled","ngModel","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"loopd"),t.qZA(),t._uU(7," is running and accessible to RTL before enabling this service. Click "),t.TgZ(8,"strong")(9,"a",3),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about the installation."),t.qZA()(),t.TgZ(12,"form",4,5)(14,"div",6)(15,"mat-slide-toggle",7),t.NdJ("ngModelChange",function(nt){return V.enableLoop=nt})("change",function(nt){return V.onEnableServiceChanged(nt)}),t._uU(16,"Enable Loop Service"),t.qZA(),t.TgZ(17,"mat-form-field",8)(18,"input",9,10),t.NdJ("ngModelChange",function(nt){return V.selNode.settings.swapServerUrl=nt}),t.qZA(),t.TgZ(20,"mat-hint"),t._uU(21,"Service url for loop server REST APIs, eg. https://localhost:8081"),t.qZA(),t.YNc(22,Y4,2,0,"mat-error",11),t.YNc(23,Q4,2,0,"mat-error",11),t.qZA(),t.TgZ(24,"mat-form-field")(25,"input",12),t.NdJ("ngModelChange",function(nt){return V.selNode.authentication.swapMacaroonPath=nt}),t.qZA(),t.TgZ(26,"mat-hint"),t._uU(27,"Path for the folder containing service 'loop.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Local\\\\Loop\\\\testnet"),t.qZA(),t.YNc(28,Eu,2,0,"mat-error",11),t.qZA()()(),t.TgZ(29,"div",13)(30,"button",14),t.NdJ("click",function(){return V.onReset()}),t._uU(31,"Reset"),t.qZA(),t.TgZ(32,"button",15),t.NdJ("click",function(){return V.onUpdateService()}),t._uU(33,"Update"),t.qZA()()()),2&x){const ge=t.MAs(19);t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(13),t.Q6J("ngModel",V.enableLoop),t.xp6(3),t.Q6J("required",V.enableLoop)("disabled",!V.enableLoop)("ngModel",V.selNode.settings.swapServerUrl),t.xp6(4),t.Q6J("ngIf",!V.selNode.settings.swapServerUrl&&V.enableLoop),t.xp6(1),t.Q6J("ngIf",(null==ge||null==ge.errors?null:ge.errors.invalid)&&V.enableLoop),t.xp6(2),t.Q6J("required",V.enableLoop)("disabled",!V.enableLoop)("ngModel",V.selNode.authentication.swapMacaroonPath),t.xp6(3),t.Q6J("ngIf",!V.selNode.authentication.swapMacaroonPath&&V.enableLoop)}},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Sn.bx,Er.Nt,so.Rr,xi.$V,Si.h],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}const F2=["form"];function t0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Boltz server URL is required."),t.qZA())}function Wl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Specify the boltz server url with 'https://'."),t.qZA())}function Bp(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Boltz macaroon path is required."),t.qZA())}class fc{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=fe.sqG,this.enableBoltz=!1,this.serverUrl="",this.macaroonPath="",this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.enableBoltz=!(!T.settings.boltzServerUrl||""===T.settings.boltzServerUrl.trim()),this.serverUrl=this.selNode.settings.boltzServerUrl||"",this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(T)})}onEnableServiceChanged(T){this.enableBoltz=T.checked,this.enableBoltz||(this.macaroonPath="",this.serverUrl="")}onUpdateService(){if(this.serverUrl&&""!==this.serverUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableBoltz&&(!this.serverUrl||""===this.serverUrl.trim()||!this.serverUrl.includes("https://")||!this.macaroonPath||""===this.macaroonPath.trim()))return!0;this.logger.info(this.selNode),this.selNode.settings.boltzServerUrl=this.serverUrl,this.selNode.authentication.boltzMacaroonPath=this.macaroonPath,this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_BOLTZ_SETTINGS,service:Qe.JX.BOLTZ,settings:{enable:this.enableBoltz,serverUrl:this.serverUrl,macaroonPath:this.macaroonPath}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.serverUrl=this.selNode.settings.boltzServerUrl||"",this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.enableBoltz=!(!this.serverUrl||""===this.serverUrl.trim())}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||fc)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:fc,selectors:[["rtl-boltz-service-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(F2,7),2&x){let ge;t.iGM(ge=t.CRH())&&(V.form=ge.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://lnd.docs.boltz.exchange/en/latest/","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","boltz",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Boltz Server URL","type","text","id","boltzServerUrl","name","srvrUrl","tabindex","2",3,"required","disabled","ngModel","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Boltz Macaroon Path","type","text","id","boltzMacaroonPath","name","boltzMacaroonPath","tabindex","3",3,"required","disabled","ngModel","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"boltzd"),t.qZA(),t._uU(7," is running and accessible to RTL before enabling this service. Click "),t.TgZ(8,"strong")(9,"a",3),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about the installation."),t.qZA()(),t.TgZ(12,"form",4,5)(14,"div",6)(15,"mat-slide-toggle",7),t.NdJ("ngModelChange",function(nt){return V.enableBoltz=nt})("change",function(nt){return V.onEnableServiceChanged(nt)}),t._uU(16,"Enable Boltz Service"),t.qZA(),t.TgZ(17,"mat-form-field",8)(18,"input",9,10),t.NdJ("ngModelChange",function(nt){return V.serverUrl=nt}),t.qZA(),t.TgZ(20,"mat-hint"),t._uU(21,"Service url for boltz server REST APIs, eg. https://localhost:9003"),t.qZA(),t.YNc(22,t0,2,0,"mat-error",11),t.YNc(23,Wl,2,0,"mat-error",11),t.qZA(),t.TgZ(24,"mat-form-field")(25,"input",12),t.NdJ("ngModelChange",function(nt){return V.macaroonPath=nt}),t.qZA(),t.TgZ(26,"mat-hint"),t._uU(27,"Path for the folder containing boltz 'admin.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Boltz\\\\testnet"),t.qZA(),t.YNc(28,Bp,2,0,"mat-error",11),t.qZA()()(),t.TgZ(29,"div",13)(30,"button",14),t.NdJ("click",function(){return V.onReset()}),t._uU(31,"Reset"),t.qZA(),t.TgZ(32,"button",15),t.NdJ("click",function(){return V.onUpdateService()}),t._uU(33,"Update"),t.qZA()()()),2&x){const ge=t.MAs(19);t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(13),t.Q6J("ngModel",V.enableBoltz),t.xp6(3),t.Q6J("required",V.enableBoltz)("disabled",!V.enableBoltz)("ngModel",V.serverUrl),t.xp6(4),t.Q6J("ngIf",(!V.serverUrl||""===V.serverUrl.trim())&&V.enableBoltz),t.xp6(1),t.Q6J("ngIf",(null==ge||null==ge.errors?null:ge.errors.invalid)&&V.enableBoltz),t.xp6(2),t.Q6J("required",V.enableBoltz)("disabled",!V.enableBoltz)("ngModel",V.macaroonPath),t.xp6(3),t.Q6J("ngIf",!V.macaroonPath&&V.enableBoltz)}},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Sn.bx,Er.Nt,so.Rr,xi.$V,Si.h],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}class n0{constructor(){}static#e=this.\u0275fac=function(x){return new(x||n0)};static#t=this.\u0275cmp=t.Xpm({type:n0,selectors:[["rtl-ln-services"]],decls:1,vars:0,template:function(x,V){1&x&&t._UZ(0,"router-outlet")},dependencies:[Ne.lC]})}var f3=m(2615),H1=m(1419),Kl=m(6060),H2=m(2197),wa=m(8711),pc=m(1294);function Np(K,T){if(1&K&&(t.TgZ(0,"mat-option",37),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x),t.xp6(1),t.Oqu(V.getLabel(x))}}function _c(K,T){1&K&&t._UZ(0,"mat-progress-bar",38)}function Du(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"State"),t.qZA())}function i0(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Oqu(V.LoopStateEnum[null==x?null:x.state])}}function p3(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"Initiation Time"),t.qZA())}function _3(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.ALo(2,"date"),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(t.xi3(2,1,(null==x?null:x.initiation_time)/1e6,"dd/MMM/y HH:mm"))}}function mc(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"Last Update Time"),t.qZA())}function a0(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.ALo(2,"date"),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(t.xi3(2,1,(null==x?null:x.last_update_time)/1e6,"dd/MMM/y HH:mm"))}}function r0(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Amount (Sats)"),t.qZA())}function m3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.amt))}}function g3(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Server (Sats)"),t.qZA())}function z2(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.cost_server))}}function j4(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Offchain (Sats)"),t.qZA())}function q4(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.cost_offchain))}}function X4(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Onchain (Sats)"),t.qZA())}function v3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.hij(" ",t.lcZ(3,1,null==x?null:x.cost_onchain)," ")}}function U2(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"HTLC Address"),t.qZA())}const s0=function(K){return{width:K}};function y3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.htlc_address)}}function V2(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"ID"),t.qZA())}function gc(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.id)}}function J4(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"ID (Bytes)"),t.qZA())}function Au(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.id_bytes)}}function oo(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"th",45)(1,"div",46)(2,"mat-select",47),t._UZ(3,"mat-select-trigger"),t.TgZ(4,"mat-option",48),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onDownloadCSV())}),t._uU(5,"Download CSV"),t.qZA()()()()}}function Tu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"td",49)(1,"button",50),t.NdJ("click",function(ge){const kt=t.CHM(x).$implicit,jt=t.oxw();return t.KtG(jt.onSwapClick(kt,ge))}),t._uU(2,"View Info"),t.qZA()()}}function wu(K,T){if(1&K&&(t.TgZ(0,"p"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.emptyTableMessage)}}function W2(K,T){if(1&K&&(t.TgZ(0,"td",51),t.YNc(1,wu,2,1,"p",52),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("ngIf",!(null!=x.listSwaps&&x.listSwaps.data)||(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)<1)}}const us=function(K){return{"display-none":K}};function vc(K,T){if(1&K&&t._UZ(0,"tr",53),2&K){const x=t.oxw();t.Q6J("ngClass",t.VKq(1,us,(null==x.listSwaps?null:x.listSwaps.data)&&(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)>0))}}function Jc(K,T){1&K&&t._UZ(0,"tr",54)}function Iu(K,T){1&K&&t._UZ(0,"tr",55)}const Lu=function(){return["all"]},jr=function(K){return{"overflow-auto error-border":K,"overflow-auto":!0}},Su=function(){return["no_swap"]};class z1{constructor(T,x,V,ge,nt,kt){this.logger=T,this.commonService=x,this.store=V,this.loopService=ge,this.datePipe=nt,this.camelCaseWithReplace=kt,this.selectedSwapType=Qe.$I.LOOP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.nodePageDefs=Qe.hG,this.selFilterBy="all",this.colWidth="20rem",this.PAGE_ID="loop",this.tableSetting={tableId:"loop",recordsPerPage:Qe.IV,sortBy:"initiation_time",sortOrder:Qe.Pi.DESCENDING},this.LoopStateEnum=Qe.Fq,this.faHistory=fe.qO$,this.swapCaption="Loop Out",this.displayedColumns=[],this.listSwaps=new wa.by([]),this.selFilter="",this.pageSize=Qe.IV,this.pageSizeOptions=Qe.TJ,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.tableSetting=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSetting.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSetting.tableId),this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSetting.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSetting.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSetting.recordsPerPage?+this.tableSetting.recordsPerPage:Qe.IV,this.swapsData&&this.swapsData.length>0&&this.sort&&this.paginator&&this.displayedColumns.length>0&&this.loadSwapsTable(this.swapsData),this.colWidth=this.displayedColumns.length?this.commonService.getContainerSize().width/this.displayedColumns.length/10+"rem":"20rem",this.logger.info(this.displayedColumns)})}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(T){this.swapCaption=this.selectedSwapType===Qe.$I.LOOP_IN?"Loop In":"Loop Out",this.loadSwapsTable(this.swapsData)}applyFilter(){this.listSwaps.filter=this.selFilter.trim().toLowerCase()}getLabel(T){const x=this.nodePageDefs[this.PAGE_ID][this.tableSetting.tableId].allowedColumns.find(V=>V.column===T);return x?x.label?x.label:this.camelCaseWithReplace.transform(x.column,"_"):this.commonService.titleCase(T)}setFilterPredicate(){this.listSwaps.filterPredicate=(T,x)=>{let V="";switch(this.selFilterBy){case"all":V=JSON.stringify(T).toLowerCase();break;case"state":V=T?.state?this.LoopStateEnum[T?.state]:"";break;case"initiation_time":case"last_update_time":V=this.datePipe.transform(new Date((T[this.selFilterBy]||0)/1e6),"dd/MMM/y HH:mm")?.toLowerCase()||"";break;default:V=typeof T[this.selFilterBy]>"u"?"":"string"==typeof T[this.selFilterBy]?T[this.selFilterBy].toLowerCase():"boolean"==typeof T[this.selFilterBy]?T[this.selFilterBy]?"yes":"no":T[this.selFilterBy].toString()}return"state"===this.selFilterBy?0===V.indexOf(x):V.includes(x)}}onSwapClick(T,x){this.loopService.getSwap(T.id_bytes?.replace(/\//g,"_")?.replace(/\+/g,"-")||"").pipe((0,ui.R)(this.unSubs[1])).subscribe(V=>{const ge=[[{key:"state",value:Qe.Fq[V.state||""],title:"Status",width:50,type:Qe.Gi.STRING},{key:"amt",value:V.amt,title:"Amount (Sats)",width:50,type:Qe.Gi.NUMBER}],[{key:"initiation_time",value:(V.initiation_time||0)/1e9,title:"Initiation Time",width:50,type:Qe.Gi.DATE_TIME},{key:"last_update_time",value:(V.last_update_time||0)/1e9,title:"Last Update Time",width:50,type:Qe.Gi.DATE_TIME}],[{key:"cost_server",value:V.cost_server,title:"Server Cost (Sats)",width:33,type:Qe.Gi.NUMBER},{key:"cost_offchain",value:V.cost_offchain,title:"Offchain Cost (Sats)",width:33,type:Qe.Gi.NUMBER},{key:"cost_onchain",value:V.cost_onchain,title:"Onchain Cost (Sats)",width:34,type:Qe.Gi.NUMBER}],[{key:"id_bytes",value:V.id_bytes,title:"ID",width:100,type:Qe.Gi.STRING}],[{key:"htlc_address",value:V.htlc_address,title:"HTLC Address",width:100,type:Qe.Gi.STRING}]];this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:ge,openedBy:"SWAP"}}}))})}loadSwapsTable(T){this.listSwaps=new wa.by([...T]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(x,V)=>x[V]&&isNaN(x[V])?x[V].toLocaleLowerCase():x[V]?+x[V]:null,this.listSwaps.sort?.sort({id:this.tableSetting.sortBy,start:this.tableSetting.sortOrder,disableClear:!0}),this.listSwaps.paginator=this.paginator,this.setFilterPredicate(),this.applyFilter(),this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Qe.$I.LOOP_IN?"Loop in":"Loop out")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||z1)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(H1.W),t.Y36(si.uU),t.Y36($d.D3))};static#t=this.\u0275cmp=t.Xpm({type:z1,selectors:[["rtl-swaps"]],viewQuery:function(x,V){if(1&x&&(t.Gf(H2.YE,5),t.Gf(Kl.NW,5)),2&x){let ge;t.iGM(ge=t.CRH())&&(V.sort=ge.first),t.iGM(ge=t.CRH())&&(V.paginator=ge.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[t._Bn([{provide:Kl.ye,useValue:(0,Qe.pt)("Swaps")}]),t.TTD],decls:56,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex.gt-xs","30","fxLayoutAlign.gt-xs","space-between center","fxLayout","row","fxLayoutAlign","space-between stretch"],["fxFlex","49"],["placeholder","Filter By","tabindex","1","name","filterBy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","initiation_time"],["matColumnDef","last_update_time"],["matColumnDef","amt"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","cost_server"],["matColumnDef","cost_offchain"],["matColumnDef","cost_onchain"],["matColumnDef","htlc_address"],["matColumnDef","id"],["matColumnDef","id_bytes"],["matColumnDef","actions"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cellcolspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[3,"value"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell",""],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","button","tabindex","4",1,"table-actions-button",3,"click"],["mat-footer-cellcolspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"div",5)(7,"mat-form-field",6)(8,"mat-select",7),t.NdJ("ngModelChange",function(nt){return V.selFilterBy=nt})("selectionChange",function(){return V.selFilter="",V.applyFilter()}),t.YNc(9,Np,2,2,"mat-option",8),t.qZA()(),t.TgZ(10,"mat-form-field",6)(11,"input",9),t.NdJ("ngModelChange",function(nt){return V.selFilter=nt})("input",function(){return V.applyFilter()})("keyup",function(){return V.applyFilter()}),t.qZA()()()(),t.TgZ(12,"div",10)(13,"div",11),t.YNc(14,_c,1,0,"mat-progress-bar",12),t.TgZ(15,"table",13,14),t.ynx(17,15),t.YNc(18,Du,2,0,"th",16),t.YNc(19,i0,2,1,"td",17),t.BQk(),t.ynx(20,18),t.YNc(21,p3,2,0,"th",16),t.YNc(22,_3,3,4,"td",17),t.BQk(),t.ynx(23,19),t.YNc(24,mc,2,0,"th",16),t.YNc(25,a0,3,4,"td",17),t.BQk(),t.ynx(26,20),t.YNc(27,r0,2,0,"th",21),t.YNc(28,m3,4,3,"td",17),t.BQk(),t.ynx(29,22),t.YNc(30,g3,2,0,"th",21),t.YNc(31,z2,4,3,"td",17),t.BQk(),t.ynx(32,23),t.YNc(33,j4,2,0,"th",21),t.YNc(34,q4,4,3,"td",17),t.BQk(),t.ynx(35,24),t.YNc(36,X4,2,0,"th",21),t.YNc(37,v3,4,3,"td",17),t.BQk(),t.ynx(38,25),t.YNc(39,U2,2,0,"th",16),t.YNc(40,y3,4,4,"td",17),t.BQk(),t.ynx(41,26),t.YNc(42,V2,2,0,"th",16),t.YNc(43,gc,4,4,"td",17),t.BQk(),t.ynx(44,27),t.YNc(45,J4,2,0,"th",16),t.YNc(46,Au,4,4,"td",17),t.BQk(),t.ynx(47,28),t.YNc(48,oo,6,0,"th",29),t.YNc(49,Tu,3,0,"td",30),t.BQk(),t.ynx(50,31),t.YNc(51,W2,2,1,"td",32),t.BQk(),t.YNc(52,vc,1,3,"tr",33),t.YNc(53,Jc,1,0,"tr",34),t.YNc(54,Iu,1,0,"tr",35),t.qZA(),t._UZ(55,"mat-paginator",36),t.qZA()()()),2&x&&(t.xp6(3),t.Q6J("icon",V.faHistory),t.xp6(2),t.hij("",V.swapCaption," History"),t.xp6(3),t.Q6J("ngModel",V.selFilterBy),t.xp6(1),t.Q6J("ngForOf",t.DdM(14,Lu).concat(V.displayedColumns.slice(0,-1))),t.xp6(2),t.Q6J("ngModel",V.selFilter),t.xp6(3),t.Q6J("ngIf",!0===V.flgLoading[0]),t.xp6(1),t.Q6J("dataSource",V.listSwaps)("ngClass",t.VKq(15,jr,"error"===V.flgLoading[0])),t.xp6(37),t.Q6J("matFooterRowDef",t.DdM(17,Su)),t.xp6(1),t.Q6J("matHeaderRowDef",V.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",V.displayedColumns),t.xp6(1),t.Q6J("pageSize",V.pageSize)("pageSizeOptions",V.pageSizeOptions)("showFirstLastButtons",V.screenSize!==V.screenSizeEnum.XS))},dependencies:[si.mk,si.sg,si.O5,si.PC,qt.Fj,qt.JJ,qt.On,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ea.Zl,An.lW,Sn.KE,Er.Nt,pc.pW,Jn.gD,Jn.$L,oi.ey,H2.YE,H2.nU,wa.BZ,wa.fO,wa.as,wa.w1,wa.Dz,wa.nj,wa.mD,wa.Ke,wa.ge,wa.ev,wa.XQ,wa.Gk,wa.Q2,Kl.NW,xi.$V,si.JJ,si.uU]})}const ya=function(K){return["../",K]};function Ou(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onSelectedIndexChange(nt))}),t._uU(1),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.Q6J("active",V.activeTab.link===x.link)("routerLink",t.VKq(3,ya,x.link)),t.xp6(1),t.Oqu(x.name)}}class Gl{constructor(T,x,V){this.router=T,this.loopService=x,this.store=V,this.faInfinity=fe.vqe,this.targetConf=2,this.inAmount=25e4,this.quotes=[],this.LoopTypeEnum=Qe.$I,this.selectedSwapType=Qe.$I.LOOP_OUT,this.storedSwaps=[],this.filteredSwaps=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"loopout",name:"Loop Out"},{link:"loopin",name:"Loop In"}],this.activeTab=this.links[0],this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.loopService.listSwaps();const T=this.links.find(x=>this.router.url.includes(x.link));this.activeTab=T||this.links[0],this.selectedSwapType=T&&"loopin"===T.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(ge=>x.urlAfterRedirects.includes(ge.link));this.activeTab=V||this.links[0],this.selectedSwapType=V&&"loopin"===V.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT}}),this.loopService.swapsChanged.pipe((0,ui.R)(this.unSubs[1])).subscribe({next:x=>{this.flgLoading[0]=!1,this.storedSwaps=x,this.filteredSwaps=this.storedSwaps?.filter(V=>V.type===this.selectedSwapType)},error:x=>{this.flgLoading[0]="error",this.emptyTableMessage=x.message?x.message:"No loop "+(this.selectedSwapType===Qe.$I.LOOP_IN?"in":"out")+" available."}})}onSelectedIndexChange(T){this.selectedSwapType="loopin"===T.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT,this.filteredSwaps=this.storedSwaps?.filter(x=>x.type===this.selectedSwapType)}onLoop(T){T===Qe.$I.LOOP_IN?this.loopService.getLoopInTermsAndQuotes(this.targetConf).pipe((0,ui.R)(this.unSubs[2])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{minQuote:x[0],maxQuote:x[1],direction:T,component:f3.a}}}))}}):this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,ui.R)(this.unSubs[3])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{minQuote:x[0],maxQuote:x[1],direction:T,component:f3.a}}}))}})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Gl)(t.Y36(Ne.F0),t.Y36(H1.W),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Gl,selectors:[["rtl-loop"]],decls:15,vars:8,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["tabPanel",""],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Loop"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5),t.YNc(8,Ou,2,5,"div",6),t.qZA(),t._UZ(9,"mat-tab-nav-panel",null,7),t.TgZ(11,"div",8)(12,"button",9),t.NdJ("click",function(){return V.onLoop(V.selectedSwapType)}),t._uU(13),t.qZA()(),t._UZ(14,"rtl-swaps",10),t.qZA()()()),2&x){const ge=t.MAs(10);t.xp6(1),t.Q6J("icon",V.faInfinity),t.xp6(6),t.Q6J("tabPanel",ge),t.xp6(1),t.Q6J("ngForOf",V.links),t.xp6(5),t.hij("Start ",V.activeTab.name,""),t.xp6(1),t.Q6J("selectedSwapType",V.selectedSwapType)("swapsData",V.filteredSwaps)("flgLoading",V.flgLoading)("emptyTableMessage",V.emptyTableMessage)}},dependencies:[si.sg,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.rH,z1]})}var $c=m(7772),o0=m(6317),K2=m(5474),G2=m(3158),Bs=m(2340),l0=m(1786);class yo{constructor(T,x,V,ge){this.httpClient=T,this.logger=x,this.store=V,this.commonService=ge,this.swapUrl="",this.swaps={},this.swapsChanged=new o0.X({}),this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch((0,Qt.ac)({payload:Qe.m6.GET_BOLTZ_SWAPS})),this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/listSwaps",this.httpClient.get(this.swapUrl).pipe((0,ui.R)(this.unSubs[0])).subscribe({next:T=>{this.store.dispatch((0,Qt.uO)({payload:Qe.m6.GET_BOLTZ_SWAPS})),this.swaps=T,this.swapsChanged.next(this.swaps)},error:T=>this.swapsChanged.error(this.handleErrorWithAlert(Qe.m6.GET_BOLTZ_SWAPS,this.swapUrl,T))})}swapInfo(T){return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/swapInfo/"+T,this.httpClient.get(this.swapUrl).pipe((0,G2.K)(x=>(0,Po.of)(this.handleErrorWithAlert(Qe.m6.NO_SPINNER,this.swapUrl,x))))}serviceInfo(){return this.store.dispatch((0,Qt.ac)({payload:Qe.m6.GET_SERVICE_INFO})),this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/serviceInfo",this.httpClient.get(this.swapUrl).pipe((0,ui.R)(this.unSubs[1]),(0,ys.U)(T=>(this.store.dispatch((0,Qt.uO)({payload:Qe.m6.GET_SERVICE_INFO})),T)),(0,G2.K)(T=>(0,Po.of)(this.handleErrorWithAlert(Qe.m6.GET_SERVICE_INFO,this.swapUrl,T))))}swapOut(T,x){const V={amount:T,address:x};return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/createreverseswap",this.httpClient.post(this.swapUrl,V).pipe((0,G2.K)(ge=>this.handleErrorWithoutAlert("Swap Out for Address: "+x,Qe.m6.NO_SPINNER,ge)))}swapIn(T){const x={amount:T};return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/createswap",this.httpClient.post(this.swapUrl,x).pipe((0,G2.K)(V=>this.handleErrorWithoutAlert("Swap In for Amount: "+T,Qe.m6.NO_SPINNER,V)))}handleErrorWithoutAlert(T,x,V){let ge="";return this.logger.error("ERROR IN: "+T+"\n"+JSON.stringify(V)),this.store.dispatch((0,Qt.uO)({payload:x})),401===V.status?(ge="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)())):503===V.status?(ge="Unable to Connect to Boltz Server.",this.store.dispatch((0,Qt.qR)({payload:{data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:V.status,message:"Unable to Connect to Boltz Server",URL:T},component:l0.H}}}))):ge=this.commonService.extractErrorMessage(V),(0,K2._)(()=>new Error(ge))}handleErrorWithAlert(T,x,V){let ge="";if(401===V.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)())),this.logger.error(V),this.store.dispatch((0,Qt.uO)({payload:T})),401===V.status)ge="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)());else if(503===V.status)ge="Unable to Connect to Boltz Server.",setTimeout(()=>{this.store.dispatch((0,Qt.qR)({payload:{data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:V.status,message:"Unable to Connect to Boltz Server",URL:x},component:l0.H}}}))},100);else{ge=this.commonService.extractErrorMessage(V);const nt=V.error&&V.error.error&&V.error.error.code?V.error.error.code:V.error&&V.error.code?V.error.code:V.code?V.code:V.status;setTimeout(()=>{this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.ERROR,alertTitle:"ERROR",message:{code:nt,message:ge,URL:x},component:l0.H}}}))},100)}return{message:ge}}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||yo)(t.LFG(Ba.eN),t.LFG(sn.mQ),t.LFG(Hn.yh),t.LFG(ta.v))};static#t=this.\u0275prov=t.Yz7({token:yo,factory:yo.\u0275fac})}function Pu(K,T){1&K&&t.GkF(0)}function b3(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"span",5),t._uU(2),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(null!=x.swapStatus&&x.swapStatus.error?null==x.swapStatus?null:x.swapStatus.error:"Unknown Error.")}}function c0(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"div",6)(2,"div",7)(3,"h4",8),t._uU(4,"ID"),t.qZA(),t.TgZ(5,"span",5),t._uU(6),t.qZA()(),t.TgZ(7,"div",7)(8,"h4",8),t._uU(9,"Routing Fee (mSats)"),t.qZA(),t.TgZ(10,"span",5),t._uU(11),t.ALo(12,"number"),t.qZA()()(),t._UZ(13,"mat-divider",9),t.TgZ(14,"div",6)(15,"div",7)(16,"h4",8),t._uU(17,"Claim Transaction ID"),t.qZA(),t.TgZ(18,"span",5),t._uU(19),t.qZA()(),t.TgZ(20,"div",7)(21,"h4",8),t._uU(22,"Lockup Address"),t.qZA(),t.TgZ(23,"span",5),t._uU(24),t.qZA()()()()),2&K){const x=t.oxw();t.xp6(6),t.Oqu(null==x.swapStatus?null:x.swapStatus.id),t.xp6(5),t.Oqu(t.lcZ(12,4,null==x.swapStatus?null:x.swapStatus.routingFeeMilliSat)),t.xp6(8),t.Oqu(null==x.swapStatus?null:x.swapStatus.claimTransactionId),t.xp6(5),t.Oqu(null==x.swapStatus?null:x.swapStatus.lockupAddress)}}function d0(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"div",6)(2,"div",7)(3,"h4",8),t._uU(4,"ID"),t.qZA(),t.TgZ(5,"span",5),t._uU(6),t.qZA()(),t.TgZ(7,"div",7)(8,"h4",8),t._uU(9,"Expected Amount (Sats)"),t.qZA(),t.TgZ(10,"span",5),t._uU(11),t.ALo(12,"number"),t.qZA()()(),t._UZ(13,"mat-divider",9),t.TgZ(14,"div",6)(15,"div",10)(16,"h4",8),t._uU(17,"Address"),t.qZA(),t.TgZ(18,"span",5),t._uU(19),t.qZA()()(),t._UZ(20,"mat-divider",9),t.TgZ(21,"div",6)(22,"div",10)(23,"h4",8),t._uU(24,"BIP 21"),t.qZA(),t.TgZ(25,"span",5),t._uU(26),t.qZA()()()()),2&K){const x=t.oxw();t.xp6(6),t.Oqu(null==x.swapStatus?null:x.swapStatus.id),t.xp6(5),t.Oqu(t.lcZ(12,4,null==x.swapStatus?null:x.swapStatus.expectedAmount)),t.xp6(8),t.Oqu(null==x.swapStatus?null:x.swapStatus.address),t.xp6(7),t.Oqu(null==x.swapStatus?null:x.swapStatus.bip21)}}class e1{constructor(){this.swapStatus=null,this.direction=Qe.hc.SWAP_OUT,this.swapTypeEnum=Qe.hc}static#e=this.\u0275fac=function(x){return new(x||e1)};static#t=this.\u0275cmp=t.Xpm({type:e1,selectors:[["rtl-boltz-swap-status"]],inputs:{swapStatus:"swapStatus",direction:"direction"},decls:7,vars:1,consts:[[4,"ngTemplateOutlet"],["swapFailedBlock",""],["swapOutBlock",""],["swapInBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","100"]],template:function(x,V){if(1&x&&(t.YNc(0,Pu,1,0,"ng-container",0),t.YNc(1,b3,3,1,"ng-template",null,1,t.W1O),t.YNc(3,c0,25,6,"ng-template",null,2,t.W1O),t.YNc(5,d0,27,6,"ng-template",null,3,t.W1O)),2&x){const ge=t.MAs(2),nt=t.MAs(4),kt=t.MAs(6);t.Q6J("ngTemplateOutlet",null!=V.swapStatus&&V.swapStatus.error?ge:V.direction===V.swapTypeEnum.SWAP_OUT?nt:kt)}},dependencies:[si.tP,Vt.xw,Vt.Wh,Vt.yH,io.d,si.JJ]})}class u0{constructor(){this.serviceInfo={},this.direction=Qe.hc.SWAP_OUT,this.swapTypeEnum=Qe.hc}static#e=this.\u0275fac=function(x){return new(x||u0)};static#t=this.\u0275cmp=t.Xpm({type:u0,selectors:[["rtl-boltz-service-info"]],inputs:{serviceInfo:"serviceInfo",direction:"direction"},decls:33,vars:13,consts:[["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"]],template:function(x,V){1&x&&(t.TgZ(0,"mat-expansion-panel",0)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",1),t._uU(4,"Service Information"),t.qZA()()(),t.TgZ(5,"div",2)(6,"div",3)(7,"div",4)(8,"h4",5),t._uU(9,"Minimum Amount (Sats)"),t.qZA(),t.TgZ(10,"span",6),t._uU(11),t.ALo(12,"number"),t.qZA()(),t.TgZ(13,"div",4)(14,"h4",5),t._uU(15,"Maximum Amount (Sats)"),t.qZA(),t.TgZ(16,"span",6),t._uU(17),t.ALo(18,"number"),t.qZA()()(),t._UZ(19,"mat-divider",7),t.TgZ(20,"div",3)(21,"div",4)(22,"h4",5),t._uU(23,"Fee Percentage"),t.qZA(),t.TgZ(24,"span",6),t._uU(25),t.ALo(26,"number"),t.qZA()(),t.TgZ(27,"div",4)(28,"h4",5),t._uU(29,"Miner Fee (Sats)"),t.qZA(),t.TgZ(30,"span",6),t._uU(31),t.ALo(32,"number"),t.qZA()()()()()),2&x&&(t.Q6J("expanded",!0),t.xp6(11),t.Oqu(t.lcZ(12,5,null==V.serviceInfo||null==V.serviceInfo.limits?null:V.serviceInfo.limits.minimal)),t.xp6(6),t.Oqu(t.lcZ(18,7,null==V.serviceInfo||null==V.serviceInfo.limits?null:V.serviceInfo.limits.maximal)),t.xp6(8),t.Oqu(t.lcZ(26,9,null==V.serviceInfo||null==V.serviceInfo.fees?null:V.serviceInfo.fees.percentage)),t.xp6(6),t.Oqu(t.lcZ(32,11,V.direction===V.swapTypeEnum.SWAP_OUT?null==V.serviceInfo||null==V.serviceInfo.fees||null==V.serviceInfo.fees.miner?null:V.serviceInfo.fees.miner.reverse:null==V.serviceInfo||null==V.serviceInfo.fees||null==V.serviceInfo.fees.miner?null:V.serviceInfo.fees.miner.normal)))},dependencies:[Vt.xw,Vt.Wh,Vt.yH,zi.ib,zi.yz,zi.yK,io.d,si.JJ]})}var Zl=m(113);function h0(K,T){1&K&&t.GkF(0)}const yc=function(K,T){return{"small-svg":K,"large-svg":T}};function x3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",8)(3,"path",9)(4,"path",10)(5,"path",11)(6,"path",12)(7,"path",13)(8,"path",14)(9,"path",15)(10,"path",16)(11,"path",17),t.qZA(),t.kcU(),t.TgZ(12,"div",18)(13,"mat-card-title"),t._uU(14,"Boltz Submarine Swaps explained."),t.qZA()(),t.TgZ(15,"div",19)(16,"mat-card-subtitle",20),t._uU(17," Boltz is a privacy-first account free exchange and a Lightning service provider. By doing a Submarine Swap on Boltz, you can swap your on-chain Bitcoin for Lightning Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Z2(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",21),t._UZ(2,"path",22)(3,"path",23)(4,"path",24)(5,"path",25)(6,"path",26)(7,"path",27)(8,"path",28),t.qZA(),t.kcU(),t.TgZ(9,"div",18)(10,"mat-card-title"),t._uU(11,"Step 1: Deciding to Submarine Swap"),t.qZA()(),t.TgZ(12,"div",19)(13,"mat-card-subtitle",20),t._uU(14," You have one or more Lightning channels that are running low on outbound liquidity and you want to fund it using your on-chain Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function C3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",29),t._UZ(2,"path",30)(3,"path",31)(4,"path",32)(5,"path",33)(6,"path",34)(7,"circle",35)(8,"rect",36),t.TgZ(9,"defs")(10,"pattern",37),t._UZ(11,"use",38),t.qZA(),t._UZ(12,"image",39),t.qZA()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 2: Sending the on-chain funds"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," You send the on-chain funds to an address which can only be spent by Boltz when it pays a Lightning invoice to your node. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function ku(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",40)(2,"g",41),t._UZ(3,"path",42)(4,"path",43)(5,"path",44)(6,"path",45)(7,"path",46),t.qZA(),t.TgZ(8,"defs")(9,"clipPath",47),t._UZ(10,"rect",48),t.qZA()()(),t.kcU(),t.TgZ(11,"div",18)(12,"mat-card-title"),t._uU(13,"Step 3: Receiving the funds on Lightning"),t.qZA()(),t.TgZ(14,"div",19)(15,"mat-card-subtitle",20),t._uU(16," Boltz pays the Lightning invoice to your node and claims the on-chain funds locked in the previous step. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function M3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",49),t._UZ(2,"path",50)(3,"path",51)(4,"path",52)(5,"path",53)(6,"path",54),t.qZA(),t.kcU(),t.TgZ(7,"div",18)(8,"mat-card-title"),t._uU(9,"Done!"),t.qZA()(),t.TgZ(10,"div",19)(11,"mat-card-subtitle",20),t._uU(12," You swapped your on-chain Bitcoin for Lightning Bitcoin, while also adding outbound capacity for your channels in the process - all in a non-custodial manner. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}class t1{constructor(T){this.commonService=T,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new t.vpe,this.screenSize="",this.screenSizeEnum=Qe.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(T){2===T.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===T.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(x){return new(x||t1)(t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:t1,selectors:[["rtl-boltz-swapin-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","323","height","323","viewBox","0 0 323 323","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M53.8333 134.583H80.75L94.2083 161.5L117.792 134.961C121.616 130.658 125.869 126.602 131.194 124.413C136.45 122.252 142.103 121.125 147.842 121.125H242.25C286.847 121.125 323 157.278 323 201.875C323 246.472 286.847 282.625 242.25 282.625H147.842C142.103 282.625 136.45 281.497 131.194 279.337C125.869 277.149 121.616 273.092 117.792 268.79L94.2083 242.25L80.75 269.167H53.8333L67.2917 228.792L53.8333 201.875L67.2917 174.958L53.8333 134.583Z",1,"fill-color-0"],["d","M26.9167 107.667H53.8333L67.2917 134.583L90.8755 108.044C94.6993 103.741 98.9527 99.6849 104.277 97.4963C109.534 95.3357 115.187 94.2083 120.925 94.2083H215.333C259.93 94.2083 296.083 130.361 296.083 174.958C296.083 219.555 259.93 255.708 215.333 255.708H120.925C115.187 255.708 109.534 254.581 104.277 252.42C98.9527 250.232 94.6993 246.176 90.8755 241.873L67.2917 215.333L53.8333 242.25H26.9167L40.375 201.875L26.9167 174.958L40.375 148.042L26.9167 107.667Z",1,"stroke-color-thick"],["d","M134.583 215.333C142.016 215.333 148.042 209.308 148.042 201.875C148.042 194.442 142.016 188.417 134.583 188.417C127.151 188.417 121.125 194.442 121.125 201.875C121.125 209.308 127.151 215.333 134.583 215.333Z",1,"fill-color-15"],["d","M107.667 188.417C115.1 188.417 121.125 182.391 121.125 174.958C121.125 167.526 115.1 161.5 107.667 161.5C100.234 161.5 94.2083 167.526 94.2083 174.958C94.2083 182.391 100.234 188.417 107.667 188.417Z",1,"stroke-color-thick"],["d","M201.875 215.333C209.308 215.333 215.333 209.308 215.333 201.875C215.333 194.442 209.308 188.417 201.875 188.417C194.442 188.417 188.417 194.442 188.417 201.875C188.417 209.308 194.442 215.333 201.875 215.333Z",1,"fill-color-15"],["d","M174.958 188.417C182.391 188.417 188.417 182.391 188.417 174.958C188.417 167.526 182.391 161.5 174.958 161.5C167.526 161.5 161.5 167.526 161.5 174.958C161.5 182.391 167.526 188.417 174.958 188.417Z",1,"stroke-color-thick"],["d","M269.167 215.333C276.599 215.333 282.625 209.308 282.625 201.875C282.625 194.442 276.599 188.417 269.167 188.417C261.734 188.417 255.708 194.442 255.708 201.875C255.708 209.308 261.734 215.333 269.167 215.333Z",1,"fill-color-15"],["d","M242.25 188.417C249.683 188.417 255.708 182.391 255.708 174.958C255.708 167.526 249.683 161.5 242.25 161.5C234.817 161.5 228.792 167.526 228.792 174.958C228.792 182.391 234.817 188.417 242.25 188.417Z",1,"stroke-color-thick"],["d","M189.321 97C186.935 97 185 98.9345 185 101.321V112.679C185 115.065 186.935 117 189.321 117H237.679C240.065 117 242 115.065 242 112.679V101.321C242 98.9345 240.065 97 237.679 97H189.321Z",1,"fill-color-15"],["d","M161.5 67.2917V94.2083H215.333V67.2917H161.5Z",1,"stroke-color-thick"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","347","height","169","viewBox","0 0 347 169","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M89 157.417V41.5833C89 35.2125 92.75 30 97.3333 30H230.667C235.25 30 239 35.2125 239 41.5833V157.417C239 163.787 235.25 169 230.667 169H97.3333C92.75 169 89 163.787 89 157.417Z",1,"fill-color-0"],["d","M6.25 134.625V18.375C6.25 11.9812 11.4812 6.75 17.875 6.75H203.875C210.269 6.75 215.5 11.9812 215.5 18.375V134.625C215.5 141.019 210.269 146.25 203.875 146.25H17.875C11.4812 146.25 6.25 141.019 6.25 134.625Z",1,"stroke-color-thin"],["d","M256.188 123H238.75V76.5H256.188C259.442 76.5 262 79.0575 262 82.3125V117.188C262 120.443 259.442 123 256.188 123Z",1,"fill-color-15"],["d","M232.938 99.75H215.5V53.25H232.938C236.193 53.25 238.75 55.8075 238.75 59.0625V93.9375C238.75 97.1925 236.193 99.75 232.938 99.75Z",1,"stroke-color-thin"],["d","M146 53V87.875",1,"stroke-color-thin"],["d","M146 122.634V122.749",1,"stroke-color-thin"],["d","M344.698 95.3022C346.74 97.3445 346.74 100.656 344.698 102.698L311.418 135.978C309.376 138.02 306.065 138.02 304.022 135.978C301.98 133.935 301.98 130.624 304.022 128.582L333.604 99L304.022 69.418C301.98 67.3758 301.98 64.0647 304.022 62.0225C306.065 59.9803 309.376 59.9803 311.418 62.0225L344.698 95.3022ZM277 93.7706L341 93.7706V104.229L277 104.229V93.7706Z",1,"fill-color-15"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["fill-rule","evenodd","clip-rule","evenodd","d","M161.033 82.5635C162.307 74.0523 155.826 69.4769 146.965 66.4247L149.84 54.8952L142.822 53.1462L140.023 64.3718C138.178 63.9121 136.283 63.4783 134.4 63.0486L137.219 51.749L130.205 50L127.328 61.5255C125.801 61.1777 124.302 60.8338 122.847 60.4721L122.855 60.4361L113.177 58.0194L111.31 65.5152C111.31 65.5152 116.517 66.7085 116.407 66.7825C119.249 67.4921 119.763 69.373 119.677 70.8641L116.403 83.9987C116.599 84.0487 116.852 84.1206 117.132 84.2326C117.096 84.2236 117.06 84.2146 117.023 84.2054C116.981 84.1948 116.938 84.184 116.894 84.1731C116.732 84.1323 116.563 84.09 116.391 84.0487L111.801 102.448C111.453 103.312 110.572 104.607 108.585 104.115C108.655 104.217 103.484 102.842 103.484 102.842L100 110.875L109.133 113.152C110.152 113.408 111.16 113.67 112.156 113.93L112.158 113.931L112.159 113.931C112.823 114.104 113.481 114.276 114.136 114.443L111.232 126.105L118.242 127.854L121.118 116.316C123.033 116.836 124.892 117.316 126.711 117.768L123.844 129.251L130.862 131L133.767 119.361C145.734 121.625 154.733 120.712 158.521 109.888C161.573 101.173 158.369 96.1458 152.072 92.8677C156.658 91.8103 160.112 88.794 161.033 82.5635ZM144.998 105.049C143.008 113.044 130.493 109.739 124.766 108.226L124.766 108.226C124.251 108.09 123.791 107.969 123.398 107.871L127.252 92.4219C127.73 92.5412 128.314 92.6723 128.976 92.8208L128.976 92.8208C134.899 94.1498 147.037 96.8734 144.998 105.049ZM130.167 85.6513C134.942 86.9255 145.356 89.7047 147.17 82.4376C149.022 75.0044 138.901 72.7637 133.957 71.6694C133.401 71.5463 132.911 71.4377 132.51 71.3379L129.016 85.3499C129.346 85.4322 129.733 85.5356 130.167 85.6513Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","313.615","y","82.836","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAACTCAYAAADFh8BYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACHKADAAQAAAABAAAAkwAAAABS37hiAABAAElEQVR4Aex9CaAkVXV2VfebfWWG1QWQRYddNgmCO6CiIGrAKC6gUWOIUROz/CYm+OdP/P9f82viEmNUcCFRUVFQlMUIgpIoCgwO2ww7IjLMMMub5b3XXfWf75z7Vd2urn69vK5+/d7Ufa/qnDr33HPPdm/drqquDoNdvMTxhSPBE5vODuL6BUEcHiDumBcE8Y+DYORT4V4fu3YXd09pfumB0gOlB0oPlB7oiwfCvkiZoULiDe9eGtSCH8RxfCJMCOUvlj/AIAyjoBL/abjHJz4+Q80r1S49UHqg9EDpgdIDQ+OBXXbBEW/8i2XB+ParZYHxHDohlrAAB0QJw2AiCOccGu75sXVGKfelB0oPlB4oPVB6oPRALx6o9NJopreJ469Xg4ltX8NiA8sLLDD8xQYWHbrwiOM5QVC7YKbbW+pfeqD0QOmB0gOlB6bbAyPTrcC09P/bH39EbqO8NF1mRKoGbqbYAgRQCkAU47mOspQeKD1QeqD0QOmB0gNT8MAud4UjfvyCt8Rx9D5dbMg9kwT6OK95xHrtY/EU/Fs2LT1QeqD0QOmB0gOlB8QDu9SCI37sghPievyvSeR1QSFHgD7uGPRmSxj8POEvkdIDpQdKD5QeKD1QeqAnD+wyt1TiJ9731Hhi52WytJinFzDy3OUueOitFNTjAkcU3ZDHWtJKD5QeKD3QLw/Ej55/TL0e7tcveamcmqCY5gGDoFqdf0P4lM8+oQflrvTAgD2wSyw45F0b84PHHr9MntvYJ5RbJ/aYqHgat1FwZUNvp7gHRYWEdQdKWAk3BXvt+UM7KvelB0oPlB4oxgMT9VjeAxS9FXMTv56vPeFDDz8IAW2cspLpixdos/XWGIsNm9XiaOeL5eBHspWl9MDAPbBLLDii3zz2OfHs8fCuLDpSJxN3kDUpjP+9Gl64M21QYqUHSg+UHijAA3Gkc5N+IBIcEAVzkbfeUJq/c2z8zJSzAJEljAgJQ85qfusSLz0wWA/M+gVH/Ngf/GW9Hp8Lt+av/jmkwUHcBmclnnMRqGUpPVB6oPRAoR6QVYVe2ZDVgS06bA5Cn/xcZP1z+eEWJBl+tk0WLNl6d6WjUFtK4aUHWnhgVi844t+883T5sPD3/BQAH/i4fFvFDW77WqwNVqMJfke4zydvbuG3klx6oPRA6YH+eUDWF7z6Sgjh7RYQ4PH5iRNm24O/LKUHpssDs/ZbKvGj71glnxX+I4qj1EZ+VAD0ced9DlLAOIi+MF1BKfstPVB6YNfzgLtmwactxAG4HYIrHQZ9HDRsfhvDcaUkLfhQhQJIPK0tsdIDg/VAejIebL+F9hY/+d7lcRxeHkX1pRh8HGxYRigO6AYrIQcpoFwFqVeqI5cUqmQpvPRA6YHSA4kHbE7CIbC0ELcFhtFJw9xmuH5I8hYnkGKbzoCC68yWii2x0gPT4IFZd0sFry2v/+bar8lgOxj+bBi8GIMcf6jDg1T45wNVimuj74d7fvoxwcrSgwfih9940EQU/lleU/mcJS9/CQNAFOKARRR8vsOq2j7npThX2j3rE8by6H+4Qz447qxUgh0y4T8hv/b368pI8Os54fyHy68eFhHNXVAmhok3ZyV4h8MFCxF7ds3GmwnbBf1YmjwUHph1C47oNz/8R3l3xmnwbu5YFWIyVjkGCW1kBtVK9aKhiM4MVaIWB/vIQu8deerb3MlLwRKjzHM0CEXD/CoxsUkziVqDWNYBorAtubP3sPP5PX2kYSiyYiegiZ/6JD3JzTcwY2IP6kFcC4PxeFsw/uCbHpeF7K2ShLdVK+F/VaPFPwr3+5cnG5QvD0oP0AO6IraPR0i9dErKyX+Xm2iKFv7XaN1nKMlhE4z819wELEvpgWn2wKxacNQeeft5UVR7j/68vDhWx5gMPH+sNQw7DEoQ3ODEya8ShhuCffb57jTHZeZ37xYAGRc32WXzoUyaLjCMD6Gd8DFnWpAYLtarQFfXJFwI2t7BpN7jt/7THMntT/iT/og7GWqf4C6FbLGCjuJoTyGeJvTT5FtSQT3cUh974I03i6Dvz60El4RP/8q6RJ8SKT2AS26SLMwzwtx8FFbWq+NcLuY5MTf/8xhLWumBAXhg1iw44kfeeWI9qH/GX+0nZwF3NsAgBcrBqrjsXLW6Wz5oXCLv3hgfgO/LLsQDmBAREYNwSWOU9EhY0phlPtGhrfxxkWnS/JhaLSnMD/Ij+CobDbUIopc3SGjUh32lSwxKZvtGflLFzKpwniD9nTBWDy4ce+Dcm8KwctGcfatfDsOLy3e90FG7KIwj3NxDzjXmjx4JGRAlm3/ZfPYl+C2yWWp15b70wGA9wFvZg+21z73FG37/aVFY+5YMxnkNA4srf0DZ9KTmoL/yx2DmgB4JRi7us3q7pDhMjPiz5YBB4IgDIXAthDggDigb/ggVBwtorUqmvbKRJgdsC6h/rg/kAxc9hGgLHkIfV6LsmDfMIfAABzQ8hbRbfRLHJ8pDzZ8de3Di/rEHz/3zeP1bl1BmCXdhDzBXAV1uEiKTUAhzvZRpbw388YK3jpal9MD0eGDGLzji+H0Lajvib0dRvLcORR1wGGCy6XV6B5Nr9jxFpAPXTgloE94ePvUzt0xPKGZnrzx5Jyd0cb/S3BlaoyE7d6gIaQ1n8xbuwW0wFP32keISTQc1B6xW9z3tMhO46iY06qtZg/7dhj6As7S3P95beP7PxLaxdeMPveE8wbULti/hruEB5hMSSxMgIYj9Ssj3Q+H5n99tSS090JMHZvyCo/7o5s/LGeZYWN80ucuJR2k4AelJCEx2gsrjr5Tv3oBbBlqyMcOxv8mBi6Gcxj2cPFCWMlRxf2HpP6AhbdG+adOn7IQO6OPk9WUIrn05SB182KSPKtV6R93lfTF7RvX4op0PnnvD2P2vX9W6RVkzGz0gjx5rbvm5pLnh5Txy16cxdwjVL8hXFEBsyGNC4OUFDvNPuZ8WD8zoZzgmHnnrB+Iofr0MIy0YajIkGz4QuOGn9awDRPH55WnuWmVk7r9rRbnrgwfMx00+F7LSGDT0hInQFcaLEEHSJ+4dgXRChFLnWIqgLELI9XF21ClkW8K28hJFtIeu7Y/jk8Tmn8szHu+ct/8lZT52GqdZwse8Jpz2/J9mv8oPb86dePjeI+WL7cfJkuy4MIqPkxl+N3m4/6Nz97vkE9OsXtl9lx6YsQuO2iPnv1Im878zeznJY5gCt+GKlT+/Fgk+4vpVMRCkJAM7Dr4b7v2Zx41a7qfqAX7q0ofaEAfGROLDB93QB/FW9RpOMDLEwLPFq2snrzFDbC2iNCdD20+ib7brqcrL01ceWl0s32u5ZOcDb3juvP2e+cdheGF6WS6rQHk8qzxgC1R9ysfsYm4T5lnr1eXlE2nWNJnx8iRNKw3vUBp/5LLDwnrluCiMj5c55LixB+46UsybS8XMVHgpWEZaCWeOB2bkgiP+zfmH1iaiS+TUJbeEkIJuEOklcRxaWloYUtzud+KyOOfv9HQRVoOLjb/c98MDnNZs0YcTu8XBru5iIWi9NF0BEDJpnejB6HtRds1SiuVIvjTqSZjVF6mlujsGAPZJiWyLY+KEWXld2R9HF4w/ePfKOH7Hm8PwsxPsr4Sz0wPMe8JOrGQuptlOjBBSfLwTqcXzyJWLyvgDdz8zrITHy92k4+phdNzYg986WlRdEMn7bDCFcwwRFq9V2UPRHphxC45407t2m9i6/TvimKXpQLIB5c5p3hV0d889Sd2sO62dnATWV58y58psbXncuwe4wMDKwk7Y3rSRg5JkJ2jGLad/O2PLbORaSNBj0oSd32jlo5f8dAeIgogDs8gDEcxrn70KppO/1AOiaI6JAOZa0tbTJ6GhAdqyDxyjONV9lKSs/XL8e2MPbFkon/5eE4bn1LV9uZuVHtC8lFxhDuYayVz18q2b/J+uRzh2PvSWA8OgJrdEouPltTTHyWLjGBlTS+SWuJrJz4jZ/G/ygbPfv0rdxFMShtYDM2rBgUtuEw999+syIg+CR/VkILM3TwbZkws4rPBkYZ+s9QQgFRzYMtC/Un6CdK7qC5BpLT2DGu7O0I0RyelM2ml8kvYIlGyuIdGkWhClJYRG/uzr67M5ArHaXmBPhSsPQhUmUhN9HD4F+yW/zxy7/5v/LPpd0JOOZaPh94DkB/OeUJXOJChzNUkvQZSWEKSVEszkbP4PYsKXH85cOD6++WVRGB4X1oPj5LcFjotrO3eDKSy8xszjBIrundif8JfIjPLAIPKvbw6pP/Ldj8kq4ZTk7KODUXbM5MwtFczx/EBAJTSZeeDgSDjn4gypPJyqB5KYiCDgLSbEpm7YjhCNedkCopSOyZktudx0BAY8+QTo+nbV+DYAlDEIGbgCYTQcEfdvu7EN6pPJvJU91IsQfMBb8UOmX9iO0NkvVv7hzvted9f8A75WPijn+2u24Yw7YZ/zvxYWf41jorbtMHmP2TeR+Dp00+GVjoXEvkwASSdsYX8QcUBl2peHQ+2BGfO12PGH3vzWehS/GycCLBq4cCCEl4m3quc5CNDOSxGucvwyfPrnVg91lGagclgG4E+CkkDgWgjlQHkcNNzxoy02DZqDPs56E6h7Q70+0I+e8B3kHEWYtmqJNenXZI/IVnvQb6q7YVanMsCjfGADr5Um+Z4MyGu0P/jo2MPnHsG2JZw9HojwtVjEe9L4azKnOaH88EGaT0luMd/y8r9wt9WcFaKX6NG//Pftb3mNpHDryg5698CMWHBM/Pr858oPav0LzGw8V3Cg2UA1N5CGcWk4IDYsRAi5OJGnky7q3X1lyzwP4DMU4uSmhwRaNGxatUlS4qECDOby64QlTG4C1biB5jY0T2Kpshp3eGU0ir46Wl8f7XDQrCaBoJh2BrE3nVL90MR01saurcmCPN8GH0ddXn8mK5Xvy1B+z36xc259fOJieeBuRl2ZNE+V+8k8gIk4N1+8+GMMTDX/J9Ohn3WwJdceN8I4YrrJf9/+crnRz2gNTtbQLzjiX5//9Hhi4luRTLZ6QpBBx2RFAioOqDgOdZpWD/JEBJi3SbKPzwmD/1Dmctc3D/hnQ5tQbPLRCUhiQagxwQSE+Lg/rRMc0MeTernKARzP3yTP4IDmYgwjgLOAB4X8yBejudzR2pRfDyfZUTb7Ux2dTdaT6U0RPs3nZXu1qyv7g2N2PHjHeyi/hLPDAziBal57UPMF+epozHvC3vJ/sP7qf/7b+B/6E9dg3TxjehvquMUPv2/BRG3i23I62CvXo9lslsGpoxNQN7TyTybErV72V4RP+9KGXNklsWcP1OQSR3JCdQsBHkMo8NaFdRYjC5/gyaHheqJ2sQWeFuLWwPoSDqeHTt6CA/o46yFK21hzE0uROMrknPIKje3bQYjQNkByCztzCuih7JJDQerBX8aPn704t3lJnOEe0ICLDUnADU8OBdF/GwEwtpv8B3/hRb7A3WocoO8p57/YX17hKDyKhXQw1AuOiejxi+TKxjE6wjCs9ESVnjyyyctEbpXs/gnG4RcV4tVSqJ2Yxcl6gcFB4NkNk6fyCNSJFDHGv1sgZGOMuKEAGm6LhzRHUIscgQyTTYh+iLNeuYWPRXWRA+qJZ4asHZ4dElzqCPP6N6XQMYSYHELK9GFv9se7j28P/5g6l3CWeEBzFjvkGOc7w2mh5VySXkLuLv8pp3BYaP4H8sWXssxEDwxt3MYeOvev5Cvar8OAkvGnG3IYuMvlZOK3B0ndvXr9xoGFonlwWltX+9i8/Q66yvBy33cPuDO6LgLd5MlJ1IcaX/C6KPN2R6tbICpPeCkDehuNFkAWisls5udEnvZJXsBm/kb57AvQx61PdOv6BySPg2zjQ79P4J3aX69H7ymf5Ui8PgsQu6nSafyZQzCceWhOcPnXMv8H5KqC8x8P2ZZl5nlgKBcctYfeeKY8JCqvLc+u3u0k0fFg46ATmP2Th0W/LK+MLv47YjMvJ6ZVY06erWM8repJ540TumlD2tR168L+PcfuX3P61HssJQyTB7qI/zCp3TdddnX7++bIIRU0dAuOsQffclg9ir4it1L0AgUWCmkhDujjKUcDhlU2ilttN8Bg5ItWWe6L8ECrBUO7CaW5nlcSGPMshPbMBYTa8LT/ydsbv/H4uMnM9sV+CJs919x/qpNq2qRfu/rW+ssYOa9Zg5Iykz3QnD+t4285CmvTfGzffjDegR6+LuzVp/l463rKyY5FtijhTPLAUC044offtiKOJy6XRFyCMYRbJYSKi2cJ4WQ/YRVnkmNSx4YlC6F3f0W+3/Czeft9cQ1klKUID9S82152lQrxwWbPQxgELgFSGqCP8zkHcBgfsObSlAPCQlozd/cUpA8KoI8bVWsc6vTXI7PZ0s/wIuwXv7w8jt89L9WlxGa2B9KxMCz536s/kftF53+vupXtps8D/jcYp08L6Rn3o8cevPtSQQ7gkxZ6PpI6QijYiGOSt5dVo86ODOJYCR60AYAHjsKLQS5LgR5wgdJXoQjuXomiHfoxtEWIfa21F200+ljIMDM0yCKJnaAOs7dbLWRzBHXUAf0TB0RpV69M3i7LX6T9ouP8nQ/85kTp/jpPhRKdgR6I8JsiLue6Ub/b/A+C4u8i41cGMeRQisp/ueVuHZT7GeWBoVlwjD14z8fl5Uwv1kz1HvxMVw2WxHZCMB8Tb3VyyEYCfJUwHJtTCb6arSuP++0BmxCw5xpAe+A84aDWSVzc/NS0aGRb1ifChCAn97rE9F91cvMnoITZdQ6pjsYqQsyIirsVEfGkXtpCvkxwc+VHslbIBL+b4PuKxAPzPdZoII4gi9QEcQSt69F+7T+WMVMuONQVM3mHS81IiWy+MHcAtWQJyB1LIq3GMPAOHZ6OLydlAMASPGtP3/J/qK7ND8Cds6SLoVhw7Hjg9b8fx/ULbOZ3IwYObsrWyb0uF+2VgbCpvYxEuUnz7XC/f39yckll7VQ94J//fbw5qE0zqHRNmnFDF4ushxhhYuGB35qWHzSL7z977x1x/WR51Oj8MIjk1oZO+8mHVN9mH++z/dJf+Bz4pyyzxQONkx7znjAZCAlB7PZwveIhBF7xw1xIGjxEetHe8nPex/uV/2H5WypFh7AQ+dO+4Jh48PUny0Oin9Ixg8zEvJ1kKHGcgGSxoO9BkOndXQEBVR6c09OTMigGScZvNG8P3rBysUcp0cI84GZBhsMdWojkwIWIi0NCqOPjWfU4eQIOavLM6oDj8BmXPibgG9jG1r3u8CisfVqutjwvO8HryQC2FmC/SIUfn6mw3M1oD/hf8+w0/2FwNt/YlhB5x1+MHZSD5khHE0x45H0B+T8oW8p++uuBab0wFT/65n0narVvykQ9N1lkJIsNGMpZGpALC4NcUhAqt2uLWyfYdDg6qLLC8NF5+7/6GvCWpWAPmPvTyQaBYrAI81RoDLmETQgqCxDTaAqTSTVPzgBp8w762q/mH3AEbm18QtWznekNW6F/QfZLnu8Xx2fLa//LMis8gFxBAdRNdglszn+d64RBoRsrwJP2efmnHRS3m5DlxqT992H8F6d9KblID0zbgiN+9B0Lx8Z2fkeM25MG6kCRAw6eLAQfeXycfPqWfRlsgNhQCPUgir4UhufUFS93xXqAJ1hMfjrpYRK0iZGQcfMheDXGbA8tgQ95wTtdFh70rT+W50q+1qB/8fZXxu6L9hty95TqtfMAvpDncoUwyftJ8h8PKaMAYsOShBC4jjUHgQ+scPwWn/8DM6nsaOoemLZbKmM7N10st0OebXdQ0oGgg83ZZXUYTEawwSRjCAPIFR8njRBfodXB527ByAOjF7OuhAV7gJMbYsdJR9C8p9Z9TRB/a5LG2J8o8XQ6aob1KfUFixe9bcfW0ZPEjqepXQXbD1/Uw2CZ78OZiss31So7fr36KSPj8cpaVF1UqdQX1aPKokoYLZKoy53UyrZKpbItrkTbqlF129xKsN7d2pqpJjfozbwnTCo5loSQzX8dC0LnaGFbQJRs/QC+pOI6dhqZQqK4kfs1/stfUzF/zrT9tCw4xu4754PyyxRn5wyHBv9xnBGikgMrYfQI5CNUfncgC4+b5h9w6d1JuxIp1APJQpDxSeYf+RQmMeHzF+ADTn7irNeJCm3dhKVt8UlO40rhhZrSlfBw7y9v237vWR+V0+PHtSFVLMR+U60S1WfUD7lJ7MLxB1+zKqoFJ8s8cKRYcYDE/8Dt627ZXwI9b1xzIg7quBYZ1oMIb7FG/MMoqEd1OemGwURcDyaEvm3dq7ZLBt0nGXGfpMS91aB6SzCneuOC/S+9X1rMoIIRkI6FzvLfzGOK2ZGe4QW1AaMf1oSBH9oG5RCOZzHJioM6vvsw/pESZZl5Hhj4gmPs/nPOiuL6h/R8If6yEwcd1zhYSE0hspY8oBK3wdW8gPHrw4tSOSVWrAcmJDIWk8YFgkQIH3Hwn3wN1RYbCb836UJHx65QdUYKqAA9GsrdgiVzPr9jc+0jMunOKdp+nEiiOBz6BceO+16zX1yPXytxf/62ta8+WQK6EsHTE5CLOY79k67WW7pMFv+FMokcLoIOR8bV5S+cqAfb1r7qUfni0I3ybYYfLawE3woPuuxxyBveYiOgW/sRf8ylXFBYe/Oj2srFGs/QHd5E37b2LDyPdHpWftZ/GI7wuw5LxWU8R/V5yXjG4kKEcJ7v1/iX/v5k2z1nnZ/VL6uPKtaooCkLmuqbHoqm/2/RwZd9ymo63+9Yd9YH5TUq56FFUz5n7E+clfTfZv4TmbQJ8hlrQJR+2g957eSDxy/UzamTb381+OeFB377n9BuoAuOsYded3h9vP5l1crXOsGptsF845HA1sAmczjJ+M35ab15TwfEjvlx/PWkmxIp3AOY+FA0JoI3xsybgBwf+cGob5N1DRozAgJtAOrAdXmgHQ3RLtzz0tFt6866WfLyxELtF5t1DFT1GsAQecBUGZWvDlfqE2dLDF8vJ6HfERjKlR8JcZ/i7+y3nHGZQtlh+BRxzjlygjtnexB+cnTtWf8ZVsKvLqzE3wqf8e1NQ+csGQfMe0LoOGn+T26/mcgxQmjUTvZ7ie/kypMUjjngOZOyzr/JeG3UuLD8D4LdRL/d2LdC1dXlltNH5wmlY+dKxhfUuBIGu5GlG1iP4t2lnwPQhvMYIdSQq3iTzH/WE3Xoav5Dfy4e/bBf9Xe+sR8WcfnXQ/x9++WJhhVm5QAXHPEjb165c2z75TLlLOYoglJcEUIhTkSAVhAG4AwH8U7rnZggviw88BubeVTCAXjALQIZOUL0nAyOTtTITnCdtBkCHrH3Z2LoibSbEKr12/5KUNkyBCYnKoze9+qjglr0l2Ft/Gx5TquqNie1/bdfHOpJz6BSJ7VV4TlV7sKcKvdfPiW3YS6uzhn5yPz9vnlfhnv4DjvJ/zb269mOPGGnbxqVSyLiuOycDE9zFlZnUS5hxoOMDCGq+53/7eLfaD8UkM2dQlRtwQEjd9UVOnZdZoH9tNmPVT/in57P8ZbvARS8tnzHztFL5amvZ2D1jinAFhuIPRYdLonxkKfgyuMe9NTVvtORiQqIzXj99ilNebC2NL6LBmBm2UWeBxAkFAY5C1mnTBZ7oK1yQOWwDWW7tsME5OE+u4RPHbN285i2OOWZ753aj/FTCYdjwbHj3lefvG3tmVcGtfqtEsHfk7FXbYoX7Sbsg/3oA37AnyROAoFr/4TgiwK52Bn/QX28ds/oPWf++9h9r8UzJENTeol/N/Z3ZSj85XwH6OPqV8QQhdCOGvesA8zbwE0eQQu3H2dT9AeIDYXQjrrfT3YWpW15tvt1rtdpt9/XSXA/5j6exBJ6s02e5zJ1A7mlsuO+1bh/8yJE1r+iwTgTQl+dNBLFWUMI7YGbFeaA9PIsyBgfqQO0t4fnHXDkfwbBNxOpJTIID1jMONdrXHK61QhJJSCKroalKVfFiDFX2VovdRpiE69thnMXy9tsMUlbOhZpfxTWp/UKx7aHznxKPBZ8rFavndM4Qm08Kq1FvPoS/1bOlcTQ/JHc0rmCiSK6SGRw5eX1ovPrtq494zOLR6p/NQy3WnrK/y7sryVXj+mMfKiPfIhcxs5Gp/DqtXY40CiYr/EQL+dt5Rc28kM1pQ1Z/Gm15h9sSDRmTRdQLwaZgTPd/ux4YewYz57i7105mmxt1oXHW7PKvex3iBF/iISEMQlEJuLfQeBaCPNEuqse+Jiim3pDcEDFPQg5wiep9EV5R4KOnzyRJa1YDzBRGaIsRD5Y6Cw3JCGEoomB5LBpwEHjS0M9WaoUa1V76TKvLwQXdEbJ2s3jqdoPOfNrizZqJwPeyQvHqqNrz3hvtCO4S8bxOXndD8J+5AH9KUnjfK4TgFMpzZSsPvKJsiLz4R9uq0V37Vh75hvzbBgELdY7/aJnl/kPe7qxf6qfMHW+Rp/QUzYUQj3I7LL+ZpwI+5H/3dif1QfeM5rZklG/w8PWp5dsf7SbcLjspw8Im81nrLuNPyUVuuCQJ9OfL6vfT7IzLq4BsamzHQSeHWzgAE0hcC2E7tAHXEkBygbO6rzqF32WEh+MB1olZDZhJfw6YQH6ONtnIXLBZCC6k+TCYMxs2YvcPlzp20pGnwbct9nHUZe3Ze2XNr8OD75k4Fc4tq99zdO2rxu7UULwsTCMl0D3PP1hN232cdrmt/Fx1mdh1n7I9POAfbGdL1NxUZgQM4TyAUbRXrUo+rIsoC6P7z9ruckd3B46+bpS/yycqv2dPsFBy+EjFPWV7P15W+dxqUsg+LycBo5C6OO0y7fZx1mfhVO1H3ZoP7QI4wx/0HUKz15DZp7+vs0+Trv8Nj7O+iws0n71gShJqPqKbwjVd6IkYRJ3oUH3PP3R1ndrYQsOfA0uqsffkN8ImCMWwAozxEEY5SuouJhCCKPU2YSQIaXBGe6KB+576b0v7QZXP8AoD6iEwQ3zn37pOm1Y7qbFA4yXxjInhk1KIQFQAGVDUhMqjkPyCD6sJY7CQ6Fb0faLS28ftA+2rjvjxVEw8UuxTb554sYlxqmHU6fi7Xf9iyP8vti/TQY4sknBUsfmGaYRobaJ4zNGJ+o364OvqZDBYVQGULZ2+e/b7OOpwuYf2t/pFY6K+As3SvBPqC6EYIpU1A4s+inO/n2dfJz1TbBg+038JPFvUqgzwmyxX2MtJgMy7oRJ3HuIP71YyIIjfuxNi6J69B25TLgHAtwyGM4C1pMX0BIjhaYwLQX0cVebWYDI9/AvtppyP1APTMjnqFZB9AMruC4UHbRFo2QD4ojFiZ5ERHMHQSLO+oHa1WFnMrHKLeH4eblJ3G/7w3CgC47Re854v1w8vFq+3rqHnkA0NhYrjQnsQ6AAfVvpO58meF/ir4lhHXAxCohNVXEQOHROIRLKaNba4XF8YFCbuElsfQPpRUP4gXlPCEWhK6GPa4USrJ76tbO/0ysc+IFMja/6Lo2nT5uN8acfu4aIBTbxVwKBoxD6OGiyDWX+i2o2Tswextz0TWkdx99bZXgovDH1IkqE27du/aIMlaPgeFHPApAzODQwXr1vgI8rnycLMimXUHm8GUa+c7994dLdLoX4skynBzRCooCLmuaB4IB5OdFWVY5eN2Lb8g+eYdu6M0+VXt13z4u2P75lUBbKw5V/LxPkR+T2gzxw6eKpndPGPE1Y5/j7Hn/IRS6YfJ03BAf0cdabhtTJNQXRTyfBpe0CuRj8lW33vOId1mZY9lAUhQr3Yr9J6Gjvj1E/drMx/j2fDb18anIq6wBl833o+7apXStCP+JPnaSPrDh0SxpwX0df967jD2EFfC12+7pX/Y1MSq9tUNT6EuXdwzX6CdbDWU9DAX2c9WokDlzwlO45r8E5wTfCPb6wNWlaIoP1AGLhx8P17pagEkH7A5m0fAUZX4s5Hq6zFngg2OVQfsPpo8bx/1DbC7ZfrqLUFy2Yf9UgDB295xUfkZuxH2CsWsbPt9nHnZJt2zcZ0z7+k+WBLTqQitKz04dQu/J19HGplEM8DfaZrXe/8o+a1BoYof/2T0X1tvHzfejjrtO27ZuU67/9LePf43RCDVV132Yfnwn25+ibDUfb+PkyiHsPcfS8pssqguPt9575GgF/C6VMsRSmpxXWmAQ/WEwEQMNTqO3VAKMpD3oBb9Jf2os8en6x9VDup9MDFkdM3hYrrCOBp2tKwxE526CtnxU4Tgu/vgZIPK2dfmzb2jPeJva9kJoUbP8N4dMvLfwbKlvufsVHxY73Iy7mc4P0PyFt9mHB9ktXqU5p3rTOH1+3PDyrrxzLK1WiTxS/6Og1//trf+ITOfmaL2zcmm/TvhBzxp0waeshWX/2f/ynOvUj/p7qHaP8bJzXYKbZn9UXPmUeALdYG2TcCSezn3WdPkNE/pZw9L4zj4xr8ZfkzYLyVfI0BCkmTbFg4G0PHFr28SvdYoyapxAdYQgaDUcp3iDTqnSP+2H2Pfb4gfkHXn5depnEYyrRgXiAiWvhlgT1gubjWWXQjm2ydTi2OoN59dNJ27H2jBfUorr+FgNSHYW2+Db7uHGl++7sD7+dtiwG23L3K98eBtGf0h4blejLDMzGIzPEC7ZftMjNF+d80TLr/3z+1HfN/My1+OOjd52+bvGqK3+Qcvcf60w/6tS9/fi1mY6KfBTF5Z1sPBl3wtkU/17fNKoX7uEsKVl/ZfMJPKC1KkXHvzP56XydtYdxJ+wk/r6tfbnCET/6+t3ljbnfkcXGIpzwYZRubnUkR/qHjoGlhTigtSFEe0SPEDjqEpjHDw600XdvuAxIOyuxAXlgQvpBIloypgsIjY2LaSvcbwMcMSfU+KsNyIXhKqP3nP4eeYnUNaLVPNgGnX1bWtmbpfttaDehb7/QxoKRyleL9MKOe05/fiWIdAEFHagHIfSB/oS0mxB8xAE72fw27IfQt59288MNoOHwPRKHeoETfUMXxsQg5RLmy2dPcTWuBF/ded+ZzyKlnzCSy86+r6AT9SLM1w+2grcz+7vV2fpu7S/obP61+IKfdvh4J7FnO0Lre/Lxb7Hu3H7TqZU93XqH/BY76k048+xHLFEIzU+gwJa8eMDWdvFHe5YpX+GI43fMGV376Dcky/aHRrjK4DRD5hmuSqFLzUaDOFQ6aSBISW0VMbZ4YVI1idOJRNqzkfCjRXVu/EWVVe6mzQOWiAh/NoZ2QmB9VkHSCVGfh/u0rIxBHcuLr+Zuu3v7OfJR8M+jKD5C+3W5Tv0KtP+LSw64/LdF2brj3jP2rdXq3xQ75vh9tLOHdhO24/dlA2c7Qp/m43496H5prOOEYpBTESHa+fzECX25Ms0sm5ioXR6vPff4ot59wn4Ju9LPKeu3TeZGzpHJ9eMGy5oP5Ef28Jct7eLJvgnb8Wflsx0h6vNwn9ZKhtFpQ2fxz8rq5DisyJeII7tyRL0IZ5r91Jswa387e9iOEPzy8HUiZsoLDlls/LMsMl4AiXoJTpK04dqCP7KTBGbwbfXqKwfclEwTjfUG7QSm/enJzN1GAQF9heH1C/a/4n4clmU6PcAYQwf7hEltGE87Bp+3aExw0NIaO4KklCb34iryfMHzlLHFDmdLXHHhWZM4YDelEtTnxpVwtyCurJCHJ/eVtieN3rPtBLFsQZLWKrBBQ03JfttfCcNoZKTy0W7075ZXFhuflzjtnvF41/bY8C8o/h0YxczKzZ8O2ufY/8zRaCN8X8C3V/zc6SD/O9A/a38HTTIsvk7iDRx2MZ675U9HdzH2N1qTMbXHQ/nWlteysYeZb//U7IH9uuZwHprSgmPb2le8Sz7Z/QEHM2T6eM5g1c4tCKZB48nHadUjUFmVcK3odaaKkKWn5EJVf66yA5lYo4KXdzmJd9q+XRe+fFmkPb5k4cI1g3jor51exdS7TGDGMeggM4e14wwhwy9PBOkspxBNXT2g/M2Va1o/Bs5Faiocnchiw/WlEAQRRxoOmwp1s+Y2WkR+BD00MbBzOkOXpuLqOBLA42xQ1kx1IqsFf579ssT+4vwDv7u2qes+EbbcffrvyyR6iukrCtMGJWQdlO00YyDb0leZ6l7shz81D6Tr7CeubPy1W2eC2WPm0N1Z7ZPcZGgZO0AtWDyFb5dv7Xx98TO/d21T+ykRnKLsU2TlxX8q9tOK9mrKSVRD7emkjWZz/Dv3TqP//AUHZNBHQAX34smpI82/yfn7HX/0yzHRaIM7ouqAKNTdy/90zBpL476FPY6p5wWHfCf/BVG99k/UK+3UpxAn5EQBpZptsRMHHEJ+QBoAfrRPr2gQBzR5Ul+vv11ODm/HcSy/Rw0/1SguSQQjZCcrdFsXfnZPHNDk2Ykt1c/o6Z66ugaZ/mBLLaEFwej2bcHWu1/x9cqC6vsW7Xv5o6mc2YA5p6srBG/lEvUH7PX4EQDyg04ZwmV5b1fGtJXwgsaYEDc+NACXFEJ0A9x1l+CsB29DIaNBVU0u4TFHrD/qhYaN/Nav0Cgf1X7/efyT2F+phOsXL5r3Zw0q9vFg+92vfGotqHlXTxrtmW77La7TH/96VP+3+PGzjwj3vHS0b+5n3AlVMHPH4jBl+zt981di1K4e/8QRHSKN/ur3+J9y/KGeP/8Q5/zUZGWjPb2N/1RoTw+N7rj/rP2DqP4NUYVXqp1EXzlOCgYbHQU+TNop9HGbtH1ZqcKTYTzpAPYmz++zUYYvu7UOje19m32c9pme0Tn17RM/ie89e1lruTOtRpZVjIEHcZbGH6HiSoHfuMFW+hGshreSp7zK02F7GVgqEwPMwylfNXR6mn7oIdVHlrRQUJpKXqNGeAkTGWjvNkGsP4GKoz1o7s+kQyY3SAduBXJQKE/WOu8Ln3bZBqvt/34invhHeYvoslQ/05A9Tbf96jvnS+DqK8LEb63958fcx+lftVvk8Q92A2dJ7Jdn1rZt2PpXpE8d4kMT+yEUitpmUHHoBho3tFEetGE7QmsH3Whf0OFHTJNmcnLtl76Y94Tsw4fQzddXZYHm/qCz0mTfkf4ZedqmG/u9MZ+Nf8OPfsBpXRTfZh+fSfar3ohGQ3wsQnRFkv/Cx7gT+nYTh/14IJql6wUHXlteGxu/XAS6+7sQxWRphOhU1YUBHp7ysy2gFOVx0Me1EtWmOKCPu2o0JKfhrk+V2w95Kp194IC42WnHKe7b7OMpXyJj/9Hatn9Q8bNk587nelIHjsGNjbg7VA8CT7wmcVIcUDatc9BvS3kQbUIV0zbA0FbbSyNCLPqIJ/WOF7LzNuX35IEJtIRZ6vz+IQOFsoAozRGIu8Pu7A+DLyxe9f1LrIf+70fvfuVRMiHoT8wn+nkxoN2Eid1qlOlDlO37aj+6EMHaR9KB0ax3Fxs5gI7Y/Jj7eFLveCkuC1WGJw+dg6YwDP5YXgewF/ueKkzy3usP+lAH4FO1Xy6xdlToB/YNmNjt7LdAmE4Uqjo6Up6+Pg04bCYchP1qj3RIe7Rv5AkNmCKkHEDFZUcIhDggtmGynzr5UP0FPacQf3+R4eMidvIinYajm5/4sqxZ5Il8uAqF0I6627MtoI9Tik/zcav3Fx0+ztYWXTmiB9EHcO0rT57REueCE4MrKcQBfTxh6BLxZUQv7rLxULPTQ+pL0ZQ+lWnLcED5QzgINUyyS6AgWuegthDBCVT3yZGDqEFbQuDol9BiCf5EO+UGPwtko2gfHs76hJUiQNAmRlBUCHZk/SsufaoPUAfc/aluggPqJrsECgI+vToWxj9Z8qyl70r0KACJ4trf4T06EE39iCfdmYFms+KyI9RWaQuQzVYHaTchbAOPg4ndQoPNukBAneDUR5oaDuj6JUQNZBACR/+EwFFHCNwKodYqif3hAHhSiAoUOQvj8Z0fSOqmiEBPtZtQCOi7v/Z3tuLoxH5zCxwBw7GjpwwqRXyeQMXlmFBqNDYODsZ+65/6QnNngKE972eH/RYti6SPJ26BmShmriFKa21/en0j6PQCm3YRyLsGLpRkebUdSZ+SOHwOgjQfWjLZBAo6VCINx8QBtejIEi5AFJFvow0tc9oLH3UwBtNH2+XxS49wIr48i0KcjlV90KXWYqdfs1WYkDyEfQPmFZUnFZQHLtLAT9zBfUCbLaWVzVn76HtCTRIwOZeqb5BnrqHFzGKXykr9TzmEJiqtt4i2zoFm/jTvtC6b86KYxt8pqPoKY6pvGme0zxbqSUi7CVVOHKwJ5yx6TRheOp5t36/jzfecfkJcr50BeYkugjfZMwD7ZU65TZT4mSx9HpdPRL+Vr709XonDqiizRxQGe1biYC+ZxE4Sv68y+9P4UnfCZnsmnwOa+dvFP3zn9nWnfXThQVc/bLr0vledaYqD6v8+5n+XU/60xF89WJD9k41/nhe6jqC78o52TePFo+XJZZ4SctwT9jv+k9lP/RJdPN2hB0rTOU8q2s1/Fe97qx3e0QuCrXee/to4rn3QPgBZNqjy4mwGClQ6XLXjgdNWvy4rOL8228QvA0uLg9rcG2xW6e8dP6NjjT2Gxh7oSEJz/iT6Z/RJpx7rt5/2i6yB/QiX56DCUF5xwoJR8RaLyGRB2aLelhqIGJMICS5qu8MmA1AJWYwdcSefsScEH994q7La8UM08s3v38Npax/tvzWszj11yUGXPdFkax8JYX3C3iY6TfbLF8puFDdeUh2Jv7fwoKs6OnnvvOcVB0zEtdPlm3LniSuOVXcMOP4y2c6r1cI/kr7/Qvuf6i6jf7/zXx6h70jDyrzqH4/U6+7qjZfgSeL7tFTk+ER8thz9Qx/zX8RhxLn+BMBF8vD0x+eMBPpSurT3TjFfd+JhMG9Otbdno0aq/2teGH0i7Z0yQSFOmHINCpOYnCQuuxj9cd4jLHr+kx9R/fXI3MpFtLWjBcfo3S89qh7VvmhRF9VdodKEIKe1lhhKIzELJQZIniQmYPYK6xSCnuEnnVCbsg9ln/zTDPUmtAUIUtuSA3TSVHamA7YjRLXXvdkGGolZ6NsTB9eo+Nm2o/GEsM/Hs/aa61vmhHpYFw/OmQBoQ99C3mTyUd9NgSyehNGOuOoAQq4CqLBCXQhB9XHHloAG+8Nrls5feE74jG9vSuoLQLaue/We8fjoWbmii7Y/DO6vBJU/W7Lqqm/m9j8Jcf4zv3efVH9STvqf2nLPy94YRtGHJRpPndS/k8jLrerI/uA8eQncB/tyBaoh/nkauXxkwuemH4hTK4ufceVjvUjYctdpv23wP3OdEEJ9PNtJ5/ZvmH/Q1euyzafjeMnB318v/WIbuhLff9by8Yntf9KzYh3lf9MErN3JFLkhrMw5dcEB33uQ/bd9hmPr2pfvUY+C70iDRUmiQAkmDaEw+Lni4+zMJmccYUBwUBCmXAnmC/HxhCGDUBenn66yBQfkiptQWzbxm124RKSXiYSJMI+/gSYHvoo+rnzG7NCM/TLpLlm89GMp3yzGfMcIrv51kH73oTAYD2Ll4eSBp1QGXZaRjza2IGF7uRivcvJzgvmR5IzqJm0gF1uTPMptkTPUizCjn+qufVh7s0WvI3546arnvqzoxQbUqo+Pni9W6DfOBmm/vKDxn5ZWq4csOaT7xQbdCSi3YOJlz7rqy0uWzX+m4F/UOvgZW1O8+h9/+VbPnpvvfjJ/wabKtN/JVRpRtXmzXLUc83HyQrLljOsDNqO0sN8qi9036JPtKqOf8gqN9mShb7OPSxTL0sYD8aNnLNy6c/uVklVHwnfmv/7nP+PCuFtMw63VcM7Lljzze3f6ak664MBry6OJ+jflva37qcJIFg5glyRI7CRJZBGhOKCPu4FE3laDQRX1Bh36Ig249GT9Azr5hMrn6ZT0AZ25QQZwQMW1gdAEygadCRUXHkLjd22dPL9P4PpHiCPigLKhb0LqEcpbcQW/QF4AtkOkz7oCn6Cob3J8AlfCJ86lTRBtUcfCq0+APs569a8cAPo469tB9kV9oL7SYIaZksJ2wrRJ9/bLPZ4nlyyc+5EwvLDweVV8hMx/O00ZlP0SnP+1ZNU17w0P/v4Y+54qDJ9yxXa5UnJ+UAk/PfD4R+GU3jyKiZg550P4hDEx3I6Kyn/00c9S1Pif9MTVTwNmqCz87MKWzTsvk3FwIufBTkxhrjEHe5n/ZNE/Jm9DftWiVVfenO1z0rhtvuu+T8rs+rxOTxYyibjJWSZZD6fyMBx4q8kgayz6VX6BmrgQK3/4x4YlAqGPs14dDZZWJx+hawF0uhGyX0LVAHLwB+j4CVV3TwblEKocrw3aoch8/z+XPevq7+vBLNo5TyXxg/3qIw+auS4GLmjOKwyh+VsYKU99jyPxXwPuONTPgrM/8CjN8aNP0FggF4XyiSvR0UlTHsjBX4fysvpAFmhpoS6AkIwSrdiybXzd5jtOex8mDiUVtNt892nHSp8HOqu0F2qBA+Ksb/C58+Nk/syzX57+/Jtlh177wSJM0qsdq66+oFqpfJxxJ6SehHn2+TQfb2e/rNpehKvBvduEtaXvbRwZJYVSn8k/1Ys0aZH1N/iz9veuY+ct6a+sPpAAWlos41NrUWN+SO2mH1L7vVc7pKJKTD0QxxdWtt616RJJltPy4l9E/ieuD+XdmWHldbLw/1FC85CWC47Nd5x6QRDF79DQY2LBhkJoB7pHOlhK4LB1sqS1wFCcTLZX2S6pBOdAATQcD3hKK3eLRHsFnkiyvk2uL1sYwCO8hCoDump7tGv+g634A9TNGqsM2/l9KKeQDaLGtXbQeMmF9rJI+vbSVVd9CPhsK2nM0jgy0Qlhc6MHXZyFzvbgAc6Ci1EogD5u1GZ5jIfV+L1ZC8oGxNZugPp9qg5oB11c+yxsJ8/XCLjqIFA0WSELj/+3+a5Nd2258zT99oiS+7yrxvErIJJ6t9N3qvbLguCaJYde83d9NqNJ3OJnLXu/PAz8y0HFXxKnEtfqpzcp0iHBlhtp/BkPNAfOkvU/6KQBz+ZTvv3gLK5Qd8B2+ZTVV9tIO8qAlsBZaKvcjitLCw9svuunn5Gvt/+u+ZZnHBz53rbG9C393S5e9D+gbiKGsIJP/XHlrXJOwyMYuSU3bFvveumLpO3HIUkVUomC4cQL3J2AoRxwQMXRH2hqmJ1ogEOGypE6Qm0HPrR1fyoa/MJk3RieyBe6yocQFeRB9Kp9GwQOFsIcdtTKhmI6G4+1U1yUIEzsNsUg2Ppz0Pruwv4guH3J7ru9CZ/ITIfZtYc/zCcWA1rnxwF4dmO8kvaUI1B9jliB5v6IA+Zt4l+lA/o4eVVH14fiyi6yqBjkAnfys/yqB9rzjzgg2mhTg8AhCoXisxBtrDvXPoqeEUX1yzff8ZKPF3G1Qx4deCVsQ7+qr3ROmNhtCqkPtM7jl1bWthP7w2DHvOrcPzAPFLuXBzjrc6Lg9yuVSl0U1NgXHf8oiHTx1otlmIgZd0Lf17ABG/4IfZz1WejbrHgvynXTRh74Uy1djqCp2uFkwDYUwLwNvJ3YL75WOeWu0QOb7jjlf8tbwN/OPGiKP/w72TlMnK/xYnCE3wXE8g7HsoFHN0QbOP7C8H3LDr3qS40aNR41LTh23HWaTHC1S6M4GpFnN0SYBJabZoIcO2WgN3BAxaVjQmmoihCqEU45ESgNoTiUcRBA+zGouNQROmbjRzMU8BP6uFGtf8HpHMigHiqvXf8iswj7xUcb5lUqr+rr7zA4m4cC1OSrdy43VB/grlg8ERPzbRainfK0aE85CaTshF+CqjQEN413kgNSpzmQ8Aub8icSGxHWJfyN8kWY9qMQOPgI/bZOaq/2i8j3bL7zyZ9uuueUAxoV7P1o9P7T9xZljx2U/fJtlAvdN0t6V7qLlosOu/YWyTJ5GNvygHEnTOxmnPJksw5Q8Unj/1I895Ynph1N9JS0sbmVsB/6qa2+/e0UmWo9fumygPyfqlq7QvtNd57yl3JO/IskTwc4/4Vx+KFlq675p3Z+blhwyI8RLR6LIry2fGVuQyQSCqBsmswOWmKD7HiMUfdCRSMPd2gDLa8+M9pVttAA2Q8hRXpQNNQjQB/3WLpD2Zfrvxf75cpRTR6o+d0Fq66+v7vOZxi385FqTb91YgJ5k/aMNWLp4a6+OQbiYZXBMwTaAbf2VifZIDw+znrLK9cPdfAhVtQ4BtTVNcRDviuoQ2Eb4krsYNfU3umitkfHhrX4xi13vuSZHUhqy1LfOf5i8UFIP6gPtP8i7JcHYeeMtJ2Q2irdJUN1ZM7/lWtbE4wvbQX0cdZPKf5xvHTrXfce16WKjeyTxb8P+S8/zNfYX7+P9BeVRSjs8G3ptB+/jeKUI9C3333W7FTsbOfbdOdL3im/8PxhzHWW15iTsMFvhI0536/8l3fofGLZYddeKB21LcmCQzoPNz+x8ctxVD+crUwh5A0VNbxVvXAZL6AaCnNhcH5pJ1/uYbuGgPhEDFkG/bapdPYFaJfmCHlKIESb7KdNn2a4yeur/WH4niWHXHsd5M/mkvrMcgJxsA1WM06IweQ+bucjxhPQ8DTuaT9pf838bJffU5N+HAvQ2+meQFjWZE9/7Rf5+0gXP9q87qUH5WvcBTWO9ORIn+S1bLJHOlca7HS2JnAS+8Mw+mo/v5GSp2seTd+REAZXso62Avo467Owa/ujuLcFh7rT8pR9ZnXJO/ZtMHzy/O/oxUt5HXVIqwe24oANZkcK88YjbU350zHUYZe7PNumNaecIzfmP91J/JvzJR0HeY5sig/j6sa/3J75ytJV17wnr20eLVlwbFrzkv8pKyT9Lnnr4NuAsMQRXLV3UHA9dFBx76SPNqa8Qd+QVLGMfK0gLeVKMdYB5slPaYnOerIzfpNDGcLhJtCi7Jf+/mXZoT/8dKr/7MVwnxAbfEno+5eWow6lU35fho9TnkRcUUD9wwDBH2DOBmbK8XHyUnfqBx7q3Ak/5FAG+yH0ZVF+O37Uy/aUaOf4j7avffnTIKPXIs9v6Ns5fX2Iu34S3akf+urFfgnBxb3qOdV28nHlYtqThZBNm32cfIxdp/aLc3pbcGDe7GC8UFfq5+usuDiaMMl7L/8Lvr4RVOUPutFfxFvpCz6UTvkhxwo/jLrDXRRsvuslLwvi+lfEL3ouR8xRNPaMO6HNHRqfVvGgf1nv56QfK/QhM/wVSw953vlCZ1BAnrSokpvXvPjlouJfQ00rgEgaHBkEDiUIVTFngFSgUusJqbAPIUvbaT/t5fttrZ3pYDqmOPmoG6CPsz4L1TronhTiBdgfBNcvO/SgjleCiUozFunMh9mY+HHzcfL5NB9nPdwFnAU8KIA+blTsyWv6Gp205nqTbXkM3NfB5Kd5Ddk+zeelvlno8/g4+Tza08YndspEc2HyocF072xv7eJjBmG/uP7OZYf9588606z/XMsPOfB78q2GJ+A7FEI7Yqz7Fn97xboJ73wv3eflk0/zcdjg5YK2RT0KIXDaSn7Qii31JOeLzP9ibZgZ0rfc+eLnRrX4m3Lmn4OYM+6EsCIv/qSZlT3mfxBfv3Th08+RdwV1tYatxA+fvUB+/VXeSc8Bl0JTPJ1coaBvjCnc+56yAH28tcTJnePL8PHO5aW2wx8mow/2h+GDI3Pnnx2Gn5V7ybtGge9ss5zBXIjN/GoQuBVCd9gAWAcImag06OMmS07w2tYgcOhAaPE0mrK5euDUF3KMz/ozPupgR/7el0kZjZCyAdEytQG4FUJ32ABYB5i2hSx5xvAFm++4vqff8Nh69/UHi7jFWf2tD+urE/2y7RttN33lJui0vrYf4070utHXlS72aYZPOf6HYE6l/KnDSeKvVWlOIF6d5P/UdWotATdU4Md04zEg2jXqa5Joox017lkH6Ldt5NrVjkbvftFRUT3+njxisJB+hX86iT9zHj4jzniZj83XwK0QusMw+MXy6pIzwmdcvNNROgaVzVvX/4l0HVEB2gAAPCxJREFU9ow84c3KpAqih+Z6SzSTleKJMS4RNfPMSxCSKNtOnvEKP9qwHaEpZLJcvcoTPOlfExb9tdpUiMkAl5Odtk9pytlUn9qMPlz7bXG1cqZ7334ie1dBuJr2P2GRZj5ALFAsJuYzP2aNPmfbVvKaYiaMSksaSD8qhDnAvlWJpl2TPGjq4t7EnEPQroSedO/wlHWK9sfxhzbd+aKuP1XH9fAA8zk0oQ6pVsRoK6CPs74dNPun/4cJw0r1liTuBcZffFQZ3fHk/u380lyPWwT0cZH539xzkZSi8r9InYdd9uY1Lz2oXguvktXFcuhKHwP3x6jiUknYj/yXBc1dleril4WrLt+K/rotFXkG8xQ2yioLQ0AD9HHQSCdEPQqhj7O9TwOeTnSc/LPQ5xHc9aFQdZNB6qD/AChaoVCX1v0bH/ewBaWVfbS1VT3ask/gchlXflQ7fMuKVT9cjeNdsWR9ipgbjbGGV8zv+f5hnfGzLWPQVh6+aogCqLjIIUz6ZR/KqOyQa5tP83HWZ6HPIxIyOQWZtCFfPtr7hbpZP2xL+0XanKAef8Rv0QkuVzX3ze+/sT+TRRqOiJs+duzjPo/Uiv1zRuJbTM707WXavSWJe8Hxr9ejp/fP0kZ/Z+MP/5PWGBungdoqOCDx/inXQhJ1li4Lyv8WHc968va7X/zUOBi7Rl5bsRfjTthZ/CU2veZ/GD40d978U5c+64qef7m6Im8kOxoK+4nRKmp8NgQQG9oQUsak0A0OaWl/6Jc0lZU+ZOg/rNJKJtYfqoNAxUUWYSLXk99KDumwG3ir0rX9QXDh8kN+1PWvYLbqf2bS6U9AH6c1Po08PrSIWoR9nDw+zcdZj36As4AHBdDHldh2x/zoNGfSvlvpQ91Yn4W+TT5OPhkzQfyiLWtOObmt8g0MoSw4irdfFuBji5558B0NXU/DwchI5BY9vs0+3plSHcU/xmKu2yILAs1TxpXQj7mPd1oPPcA7XYV9U1/oQZqPsz4LfZt9HP7atYp8HX7lWK1+tZyi9k9zxfeJj9OP8JHvb/CgAPq4Elvu5AHRx+XnAk5dePD3H2nJ1EGFfEsq/o3wLTNeKEalpcadfAlVbzyQSv1lNpFfSpQmVLyxvSgprFgEWH1jLXpspFh30gJkKaqJHKTSTRZkWlEOx+lIDaBRfkOVHmTbN/LTbkJTV3iS7lvbLwumby0/9Dp5hTO1b+59NlPoM6QGcKaI4eI3F2R/YQl/gGxt6B0626BFzHJC8kqeUAsu8n0MLkYVErI5aFLTmDA/mVPt+MNKuESU3COoBHsI7x5ix960DbJpa2pfSkvr+2O/2uLGYxRO/I0cn6a0DnYybuWkCKsbx5TFQ35CgEZpQERgEi/DWY2ufDzH/juG4dmlhQdf98imX73gSdFvN0sQy6ci7Jdrm+Lb3ko3+a89cD4GlNLsf8u1JJ5dPeKnInvaFZ3/QZSO4Z4UnGGN4jUvXLypVv+BqH2o5awzoNv4Z8ZzR/lfCTcL30uXHvLDe6bqthF5//l/ylWOVakgS9z02MMYY8KM8saZtpdXCmFOk/sKjqa4cLnDZOC3kEc2QvBrIjt+4kxuqxf5lKcKJa1NvYY96whR6eMNzKlcym9hv0zAty3fff6bZZBPIiwje9YdmulwEQqh4a3dQtcSWo5Iq4TgoWEwsfyw65JfOoXsQZcda07ZdyysnSYGnio2vlIsXWgaDsB+MRa5j5OJ/Lz5qXiWQ66o/aITH8ivFON9Hpbu8G2LkDRNSBII0vL7gaBUoHweWZ/PNw3UMMCl4N20Z+ZTo7pNStFWQJT8BanfTOIRxfv4lG5wqkWYuDIhePkvghn/ZA50tJZ9Fv0iDn0PB5Q1f3HcE0IvX9esnjSTsKX9PX03K9vbzDiO17583uax7ZeLL5rem9N1/OlYwvb5v2MkGDlj6WE/vLUf3hqJFsz9QLBt7HQZUPtDB/avwvHRBZniPsJkjVN+VFOTDH/StiHbyJwDtZ+0v+b2WQ2pLaBT1UEcZ7lB80tj6xz+jD2d2C99PhGMVM8K9756m9/XroTjbYbMiXY+Vp+KcwCT4qFu3rLETBgM8dkyVQM7XHDYtQ9JZ5/DNrrmhXtPBPFfibLvEPv1V16LtJ9G0ndRPTpHaB0tOGSBIgsj8yDbQx5xQhsCWNRYb6CTZpTGPdiUJyGHWxJ0mhG5dY1Pak1a0FZUECekrd3YL9/KEd92V3BbPdHNV5E4YY5Y6ooqLD5xzCsaxMkT4mcHCi7ap+sDamtOuGPiLp2SXKF+yubbSpzQyYl2kSsc8vtJ1U2/evyrkhsvcqY3Ad937eLf1FgIfnvigBKjiWo1+N2lh/7whrx2vdAqKw68dvO8ufNPkjz9OhJeB5imvkRYOtVBIBC4DjoHyUdIPkK/rUkRGWKB1iPbgCOJHLQu8BZR0AFlk+oEwjqpBA3Q8BSihroAYkMhBK5tHQRu/AYNT2VoT9qf9YH+VJaDefzyjuiJoBq+drdDrntAxJdFPdDodYsg9vYHFqN15i4XVqSN3NUYrrL4sOse2+3wH79bHhY+XD4J323aFWe/7wv0Jcev7tQj8uZPXXCYDMlta6/NKRcHGGqEPm5UrXEoGH1bHTmMNzts+kEYy+LH19HsBq2f9ocxfFtMYWxa6ysrFymcQ4krcWA7+lh7d71afthY5+g3vl7G/7CN/SJcKyf9cNOa335e/KMv5EQfU48/Y2PxMHnN+S/nt0h+guMtyw79cfKW3n7YqBfYFq265lER9jr5us276sHOw6pxtGcqnCY6in+oZ2ChEypLA0NzI5+XrIQN7nRNE5oMokiu11XkC31yI12uIZ8pE+DbyAXor84SOv0rBHSDQ3aHCVRpjkcvlwoREAUDgZdQHUGBChHM2lqwUCH8715x6I9/bEy79t6fRHxcfaeOc/4hbi5HEMWxcgCIkqlXsqt2HMY3RHsZpGs3PfiKE4MtWy4TtV5QlP1qMl2lMD546x0vPHzJodf9qgN36LsiqBshHG44HI8CLwN33s4cukFgLMplfJQnNxWH5gqH5JTpojkmyubo2xf7w7D393CobgyqKEjXu3D4+a8GkNXV5zZoGE8JozYvasf4Q76PZ9Mpa1+n439X+LVYeeboY+K7tyQ+gy/d+FMI53YdfyfEpQFjQ5jkf1z5o2VHXP8f6KKfpeGO3rLDrtoowvt2+aSfimZlbVx90vvh/dRR4ioZWHopyC1qsnOjLkgcD+XZ9GhHMYIAmRyTxBldDlwnnzIAZWHyqd2OvPFffVqJw52yIPN8ThzQikRAURcJ4qwGUx4Omk83YUOzX77f956Ue69nPrljK97/cAAXw321n9Z6fqjZzxO0XXDIh6fklgrFAOKTselon5SJJ/FiX4Ro5OM49koUD88tFZksNqe5lq90P+wXyT1c4UD+e2PBVy8Pz6Op39040rMUCNljZRrYrrDxPzALpqejJ9c8/2/lwe73aO95sc6jKXM23tljNATNF6ANrbWO/+pfrTji+n9Jqf3DGhYc/RNbrKRNq08+QFa4J6vPPN/ZggKTpnOy+FTRBt8yAKJjk++lTnnT9hoctocwbWP1jkto4XXLjxh5b7FWzzDpLgbmzvQqEKygO3MtUh8Lh2sPH6vLHTPxSWXkCh48UX6sbMum21/4ujiu/VR6T362fFLdu7S/2T/xczqyNI70qnRTe7c4TBYYoo/iLh5NsrMByQisVMLiHxpoUqoFIZRvNcmEKga1zq8+2C8fWKotNGhPnnL8dcZKxxhtBRxE0XWqJAHyQIr2ihyyw5TmHTegndo/KHsalBvMwZNrXvDuuF6/EL1lhlMyF9Kf7eqTXKe/2vi3Elb+cbcjrv+HoiydkbfC6kF0PnKYCwtAw1OoodKklx2gAsNxVQR/Pk1xBAP/Tl4WagKAh0WiLlc27h+ZN0deW37d8Eys1G86IUaEbOotB4GrTwnVz3heB3Gz53agMnAWiEFx4hRRWkKw+mHdLz/iupuDSniJ2i5K9tt+nUfEF4DY5MpF8mvPk/lEvqWyQ50KJvgyKcxvaowK0lKMtRgOigMCUR0MGh4vhYShKHG0RG2ForCZdhOqkjACBdDHldhAUQ7ZJRAI7I/i7cbd+R63CJj3hGhN1QAVlx0hkKb4g0/oqhMEYGw5aAHCQYFFzijMA+infXv69C3/CzRhOkVvvP15b4yj2j9RB3GdFkDFZUfYU/zRuFX+h+FFyw+//s+sx2L2M27BIQmLL5u+yaUyvNfSMxy4gD6eNmBbQK7CDSIu2Q1DV+Ml0A3j0SCsvmrps67r+c1rqS6zDDOX2uAQnL70/Wy4eRTPyuDPfGzQvNy4FwbzvZM/E7w2Uqn+Y1H2YwJXn+DEIpsMjv3xnf12fpGT4g7lF0ZCjQRkOJrKdjjloQ6llT3QxRQyIMLdO35An94ShfEy2KR/9Jeo1G/75YS/o1tLMRH3kv8aI6RAK3vEWo2nWd2tWt3z+1c4RC/NFwctd0wfzRHVzbTrevx3r9nQt9j4qxecIYG8SO7pyyku/0/IWgOouMSdkHlMyLgTJnkPCZl8kaciv7Xi8L3fLlczIbmwMuMWHBtuP/El8lrX/eAwdb2DPk5nItuVDx6XDYAQOOoITZ7jB58Un+bzoo0ESJY+8ZtXHPnj25W53DV4AP7SjckNKH/qbwfpe0Lf3xSGiQil1YREvmGG+hBnGN9alP2QyyLv1JGHJuqH8rgVlDnNfQpnWxtPxk9a8xjQKCK27g/8fv9+DBUPg6G5whHGoerCnGq0tZ/293CFQ7r3fWe6Wd4Dnyz/G/zvcoHxQTvgbE+5xUG7OglbdEPvXr70a/zLj5YVZ8I0SH5y9fNeEEd1fFN0hHkANZirjB9jCYg/FEIfZ31e/ClTG6uM8Nrl85e8IQwvxW/vFVpm3IJDTvXntfYIJ0qbPOxUZSc5TXRJfEIGlRAy/asgPp72l8qXoP3N7kfchG8hlCXrAfmuPy7r6uVe+NycDgfbEHEQ3kQdIfkIjV9qld+GEHFA3bJ9D+mxaH+96S4K9tF+uBbyABUXKFNx2wWHfHVzB/UgRByIA2JjLAAVRz/syPEDtOQfoiscEoOlah9u2Tn7fJt9nPW92C+iu7/CQf96PlddMTqExj/iiX7O9wgJw0JoVVwA8CrvAO78Oht831Ff38fAwUOYz9/C/lm03pBnEo+Nw+gKWRrOh5/oBz/WfYs/cqkh/8P/XlEdebU8bzaGfCm6zKiHRuO7TlqyYWctfdeAZq+4iBDeEoeycDGRQK1P2TEwwe0P0LTWMQO4DjzR31h+xE/+PttSWctdEIyMBHF9wjwhoweDJTlLwYk6y1icbE8PSxNMQMrjHEmcztegQYbxOq6hB2E88vNYnlnU/OyX/WI1fcUch1/kpV4r2zlELoRs8Lzekl1jh37cGACwb3O5JrQFkHyCk18u0eovWjru6Qami+ZQZ6rQDsJO7A/Date3WOWqrYVDdGNMVcPJ8l8YyOvHX4eKhcPGCZTmcWdmT43Liz/GuvrO5Uff8r86SIOm5o7JWm9Z/cJVtXjiBxK/JcpXdPwx4cJ1mhLhmmp10enhYVeNTqZjP+tm1BWOjeP13xNPeV85g/dQAH1cic07nrQAfdxxctACGp5Cypfhc+uKPfZ8S9H3upqVn0EUvM2QIVFfi+7O5zr5wL/uD1YprVPz/DAT77TtNPJVwvrj8IHa2m/7s36IApu8JrM3DB5CtX8lz8cna+rX+W3sk5OTmcQ/8H42wW85WHzjvacsk7G7j/bq+atJf2EgrRMNyQuouMiW1wU93EnbnnioO/0LIaTlCWSdz5/H10ca/aB66biHjqJAP/N/Flzh2Ljm5H0ngvFr5IHh3Tt2f148ScsTwjpAD5cr9PfPmxec5l6FkdeyENqMWnDE9eg8eCFdEBhOz2QXDOQjZNtW/FiEgxfQ8BRivEjt+nDO3FeFT7mi66fQ2eeuDnn/ENBw3A5wS26cjtXRBg1vjLGywologm2GlDAc2QRVzVaDtJtQLO3afl3AiB8AFYf/Qvk2RtsSy0kRvkcxSHcSao0lfssxR15AH0dbFInhbpvuev4z7Gj69uG2sWeLKaKiN+sWZH81jnUx1721EsEu819jrlal8U/ywMVOhHavyhRaMA/yRPQt/2fUmavZE1vXnbZnXIuuldg8rd/jf/L4Y34IH6tU4lMXrfoJXvg50DJjbqlsvuOEgyfG4+diQOp7AcRNxG2Qmt/8sQU+8uR6FeMQo8ONR+UVQp48YZuQV72+dsVhN/Y4meRqMIuJ5tSMi5vsNffzxNd80sLgIQ8a4xlqlWnim+QNKyEOJ5boRJBRkLYBomRhW/vVD84pFBB38qBm/DDGir+wRvOm/jwa6sFhOloATIa0skORZzgfdldyrXaMNLxfm0/TTm5ZHA3bkuRJ9BWS4PADSj/sl9dw9HyFo0/xTxIpa09SYeYWsJdXnag/zcHYwyY7au7O6phTqXb0Q1Z/jn+5b9gsbIZQcLVtfHT0KrHt4F7thx+0KJQdj+ls58Am/wXhk5Kfpy0/4sf3Toe7Zsw6cWIM796wJEsuX4rHSMtzHhcOgLkbphfUuT/IAM7CpAeU7YIVR/3sBtaVsDcPZHyq/gaNMYD3DQdMJysXgyb+3rQYfKt6LViBXvttvy4YxCuAhmsfba9wjFSrD/EkS6hewdkCBdDHjarjxaolSqjXBYZBXQ2iMpkNrVFUj481bPr28lsIRyOjzNbUX9Co3/ZX5o082L2lHAHQEn+AGssEIndQQ6i4HBDCDm3jIHCrNWi1Six2l4m/3xl0RwHElrXH7AbV2eJBn7/wr1NIv0WU+OGzF8Sj278r1j3btwcW25/5pJ395LaYp/mMdswD4CbNoODbxOmvmM5vVs6IBUccX1gRL75J/TfpzlwMJ+umE6bgnDyzUOPANnrgpFt7nVAhK44/ufLon/+bqyxBBx7gAk+uF+mJCdDHWQ9R5mcnVGOmRI2b1gkt4ddwYAce12YGAPmxtAMKs9/3A3zVwZsul9YWyuvP5W0cnm/V1zILEuKMQJx8Pg04Jk1C4OAjNDzGt2aeO90hkicsToQOao+DtMmHUF55YISHk8enAQcbIXAx/9EpvZdHBGgBlE11cdBwpx/YGHdCNMy0T2QpUvwukpWA+SEd99C77+O/eFP63kMcv2POxo0Pf0Oe8jk5ySfpRePK3jLxs5i3mf86iL8sQsbDSuU1K4/86U3sajrgjFhwbLztylOjqP40OMi/okG85RUPnQ2kEaCPQ5AWRgrQx121AAnUj1Yevfh9KaXEuvEAB1OrAeaHxceTPnyijycMMwOJ4uAk3xfU2jfJx1nfkLc5DM1jQPI4jrYl7Vsg4VFX49PO3Zr3KrfVGPDHhS0m0AZNsGF+JPTnSnYLm+Vk8/wn73jufqQNGj6x5kS87v1g7VdtFYwGYNwrDXZiQyH0cau35pPYHwa/UBE97HzVkuY+0ccdQ178jdbKnkRyYQjzAB34Oe/j7Nw3ycdZb7GRI1R6DJJTyU8FJLxDjOBD88bVq78kvjmdfoC6nkkNeGJKG4ZO4i+3N2W9XTl35RE/vTqRO03IjFhwRFF0nvmHE0H+YGIgAfM2TCTGY+2J5/FqXRjcN3depXxteYHJaTGwiUnj4GIkkdI/nNHwB6gbcUDdClSuT6LxyUbmjZPzxPXHfvjCFVkhy1HbBQe4ZRqykyN8y0I88bdorjTMfCLb4RorwfWP0MVD40V5AqU6jCY4hr2KQaG14Hy1AbpnN+gAGgtx8uE0oLTO7BcP9bjgwLdccvzpaIne8LHqA52pN6GQcD0dBRAbeAm1nVUXuc/Gf7K+es7/OBqaF8pNZh/rNqz+wafEVvmWZWPp2X6NPeNOKLLz4h+E71x51E/lysr0l6FfcGy899hlksBnYXDZeDHo4zbw7FMHcJsaxPfwv7dhIOAY0MfJw7YqL4xHq5XgVUsP+dmG6Q/TTNQAg8D8TIgj4upjPYZt6YBBLFDSmBhu1Jm537D69tfLQ4srBmK/DAw56XW04JCHqjs4OTI2FjuLAGlpbNJ4pePQj7VMrOfJxvAOLJDx/S+cLx/wmib6zhWgrZ3ZL28z7cCnrXung1J/pj5u3cqr4aIC0Mc9lqJRs8H85ee8j095/Mfh0Lwyv50/N972O38vVyL+oK/2t+rUj7ng8mNsf77yqP/6XCv2QdOHfsFR3xq8XpJzPhwjE6n6B9DH6TQLKKc5ORKH6x+gCwQh2qCO0MdlkRhXgsobVxx1s9znLkv3HsBLv2zC4Ve+APEH/xMyFoTohzig4SnUiGkcjUbe7vUbXAtcSpUHFt9flP30EyEsk9s3v+3EwmqlcqPvY/qTEDKIA+ZtfkyAZzfYbbRg/w2/eq58cBhseWLz9reIVsupe1Zfsy+1DdoZzfQkzvZZ6MsTS+vVOQF+Gbjnku3Pl+/jWT14jI4pw8fTenlHTqEFD/anecD49z3/g2jfQs3ok/ANt534fvmw8YG+299yPHrxr1T+94qjbvpIn0zpi5ihX3DI15/OZwLLE25itDyEJlBxD8ooM4cQ6pGjuQFgA9GbXIRXaWjjbXL017sfffN3+uLhXVwIJz9OeHZ1VxYdMjv7eKt6uA98LMTZnvRhhRtXX/lBse2IVvaBTj/4uG8fbYaNxFvVY3yEQeW+Tvyx7PAbfxFWQl2cUJ6vg4+zPgt9nfL6hAwUhfXoExvWnjCwS+Gja164t0z0H4ZPWhXYg0K7fJt9nPVZyLYqJAj+a9lhN210eFcAX8DL6y8jv6P4W8ewmXYTdqVSX5g17tBE8iDPPp/m4/QzlADOQlxIxwq/V0OO4YEbbj3hrfLsoZ7wYVuefT7Nx9vaL5YnvmjwgsVaSP+6+5E3/Y/h8YZpMtQLjidWH7tK3Pcct17Qz0rA4V/6mBDmND1AI5VKcw2UV3buUD2gNMVkp3Xh1/c8+pf/QFIJe/MABxhaA29V/EED3B90lNEIjQciJxHbqruB0jeu/p2Xi45/U6z9mMhgFnY2qVWq0b2dGKpvy42D75svO5sQG2NhfRvN4pHiJk81c4GSuqfK0yUD+8S1c3z7J0Sr3aATJ3CoYnmWr6+fgz5udplNjTjkOD+Ewfc68XseTygzcdf9ubibe9P4i0ZOp3QxC9nY8BLgogv0oY/QF/BWBTqhUD/wAmf7Zmh1chVv+cbbTm77m0EmffD7Dbed8FrR/bPoGTa0Kr3abz5W6SLfoPRkfYXx11Yc9fI/bNXndNKHesERT9Tf6idc4lBOrh4UV6sfCe3ABdpFR+sE55/KczKAS7Ru2X2f8PzpDMhs6RvziM0l+MSNgliI53V0GPRjS1w5bQQBbSrZAdrEMCSEjbcd/664Xv+O2CW3VFCKsV/9LDuF0ov4J96tsqCjKxzQSvi/x9uTOO6+uDHm7KOt1Ad2k6bxD6K3r7/td87svp/uWjxx23PeLFn2u5Zv0jPGvWywlZB2E3bXA7lT+yuV3hcc8gVlNzZMV0rPwmz+q59ll/rbcLbL2l/0mx7lF7Tli7EWc8adUOPfx/EfhLXfp53DBDfcfsKp8kT2v4u9VfoCsN/2Ixc07oRwQhj+YPejjn5TGF4o18yGrwztgiOOz5ZghW+UUagrXjgXISPUYY5JBD5FEoPP4RoEJRuNkw14dAA6frBrW8AweLw6d468tvwX5WvL4Y8pFsRFY+PB3kT6UjgpG+Rk2pvcYlqtv+2kZ62/9fiv1qPg0zLi9at7tKC3HtkasNl+oWhOK4TH4/DO8LDrRjvua2FwtbRKft206SohenUv3OtEZqO21oI0HGGYhlH9Gxtuec7ZncjrhWfDrce9VTq6KK8t/ISS+MvhSgTubAX0cdZPAu9dccR/r56kvscqeg/QYk2o85qjtbIn22nRFzjkMcUn0adpa73TgqwunR2zdZ790Xmb15yoL9TrTFbxXHJl43eienSZrB/n+pr33rMvpU38w/gnu++512vD8LPulzN777WolkO74HjiF2tfJg/b7APDO1owOL4Gfo8Guq1IHMQCBgsPXcjE43I38DUrj/h5z68kVvnlLvFAEjNvkrRpCCwcREAdniwC5VhpoGPD8pHQx1kv1dNcnrzlhcs33vqcVz5x6/HfCKKxO0T/1w3WfvjCinzCvJF4J3Dlwf+9Rbz69Va8OkaksrU9jINB47eJ0ccthqan1M4R7D823Pact7Xqt1f6hluOe6/I/pz0LXOb9ZfC7qWaDe3tlw9CU/smAD6PMu8Jk7yHHcj9VvlPO2EfcUAfR13xpRoF8q2+yeOf6iX6qK0O0m7CNvZLbJZPjE98oXirOuth423HHS6vcLhSbFqEvLHcSWFqN+MyNfsb5YW3jcSLXznsv/NV9BW2ziKVwyUhOa+ZjEBx0KGWOCBKpl4vhwgNMKda+WWlEVbiP9zz6Nt+Ykzlvh8eSFwuA4+/aQO5FhLQXC8KESM7xlxjPHbc9NscKk8iBxjH1fWrn/OGoC5XcatyQQxF0AAooJYsgZWOP3OYyIJMFMj15FfqMpmEoXyqimSr7C56HFsPR4+QD8S2eIcdfsoVaD/Uo28B9TgIblCki10lqP5bPai9BU3UryLKJstm+eBJYqcNQJBNbEbRug7slzdzVMVnn5NF2tmVMH7/VL8Rtn71CccG9egf5WHyF6giTh+85xTfEND3nUI/hwNqwWu4wetex92L/eL72vw5wcUmsMc9sgeqyNZp/qOnbPzNFpOF+ib78bBIgSWqhhsCuYzCHDF/iv9hmBSzrT/j3wl81eO3HPfJPZ69+L1heF3RF3C0y7zdptXHHzBRi6+WPNoNMRiU/S7+6xbOqb508RHX6Q9E5uk3LLShXHDgMtnOndvOwH1NDig4zHCZQFw0ccmTtPx6aS8VTHYdzaAkyY+JKP7nvY5Z/Xm0L0v/PcBYEWYnoGyPFk+Lu9a5E7YfM+BO3py4Vr9E29RsgaAnlBrizhMK4i0fH5Ocqbuccfx1mwxDgdaf7OV+iE7cINTw0TOF8tNUMqdo3gjRZEUuT5UPOydKUddvQfaLK8wXBoNowdwFP0z06BBZcfR//eSJW46/Q8bCoVSdUCdPyLHzhQDzLSBKU7yUqFW6o92Evr5gkOOXisRT1t963MVBFH5596MX/aTTE0e85uy5G8YeeL4s9d4S12vnqivE+dqHC4L2qycAsyjbvy1AzCboQ7sJYabik9gvi5zLFx9282No33ORHyNT30q+UEeVxVwXiGL2WMxxTF5AFLUHbZwlWfsloZWvqN28BSMbdo6mV/QZd8Ksvlk9wEcerevM/gvW3zr67A23HP/n8hMUXX0tGeeasfHxl4Rh5Qj5APNb+Xbip7I6tTtef8ex+0yMB9eIy/WKvHO9NqPdhLSN8crK7sX+kcrI+YsOf/n6OH55savJrLIdH/+tfEazFf1QLjjGdm5/g2TdPLPHjfQ84zgrEGZmB5IJIYmnChUXBj/c65gVf5onuqT17gGd0twE2CxFplUNKeOK6FhkjJd0g1bD05vETxorzZfv402fWDFJY2I26dqbHCQ54fCGCYDM0iR7hcV1bipDc8dLaL1Mti/U/usXHXrDbybrfZI6vAnRJtsB2y+fwquy2HibePNtG24d3fL4L4+7RmL233Ll8fGoHj4ezqmsD+tRRZ4P2LMSxHvEUbSXROa5T4zf92IJ66LQWx/qlQpLEDUVphQdf5lM5dsw/SouUTXRLM38OWvK+c/E75e6GTmLD9p7485b78NwaNFTYfl/knwYkIXzcT+X24o/qFbCm+TK2T2VkeqmJavqWzbfvmDxRLxzz5Ew3GuiHu1ViStHSq6cNj4+fpxMGRV9ZicIbhdzul5wBGPBp6X9ARlXtDjsv/31qHbD+luu0P6Y64AoufkvdAZHhwr4wJxT2snLadJECoMr7hLiIagYygWHBO88m8BttUv3ICmAG8REYjggima50lq6T3kgQ9junT9/0TmdfprSDspdhx6owcMteEl3MZNU109lnGBd6NJzXmMONAttHDL21XwMapOPvQ4617CR24h+tii/kK21yyk5snzUzFGc9klPDfrTFta7bj1AyQaz7Wk3IXrkWPCEeGiDRf/hVXSFrpy7/+eeGLvvL6TRvpQIATqmEh2Kt1+uFuA9HfKVQtnsIlQQT9TUy7iihBnA9JM9EHfkDkRfi+Cg4i8K/OceR998HTSZWrEraYw7YZfxb2v/1HRs3zoML62v/+Wxj0gUnp7PXWj+46V3x4sTjueFyXCiHuy8BV6056InXCZFyCTNn3wtu6HKFc8ljbfsbE7Il1Gs/YPO/+z8lTf/0WL4Y+guwWy87cjDZZI71oLFjAD0cVfrRiUmRZuUhSsdqcbk753lstjYKpehzuz1JT2+yBLP9wASMfcPscJfi5jxRA1oOAev5QDaIhf4h0OlGVnrQLN8Ma5GfkdDnmiueBCSHK2VftqXp0G2f62HyFZ/sBt/gNoX1FCFobSz2WB39ofb51QX9vx7CeFhl45L539nurTWD7qjACrubFWyh7O+CRZmvyplO1URO6ejg6avo8Hn6ncPgs/RABkXQhGokgghSZ5/+Wsc96tYzHuJv2hAuwlVWxyYzdgPqNyQ9pjB4Ff8tfBv4fa7/jX2gqvTCHt0ji42KAo+1v+M3Wa12T209ltcNF9axAdWodA6HCoNZA9nvUFtoruhW3BMTNTPT9Uz49QSmOUSo1WyGh9aO+uzUNrjl/MqYXjuymNuuSPtp8QG5gEudwGxIVSEOQkLvTShgaA0pkTalvLAA5ylW/6mDiCIQoA6HNDH2V87SN2oL8QBB4RI2ymk3YQqGnwojp9tK9Xgc8uPvFG/kmgM3e93f/aSi0XeOmvJDnDEToE6fMjsVz/4vjUjUtVpDn1N/4OP7bQNbWUDEEkD6nCBcu3pypXH/OwmbdaPnYjuNf4d298PPdvJiOPrW7LQ1/Q/3AkccBD2sy/2D0WBD6qwL/Y/dPZDIRQXkARXRMiuvsfxP1QLjjh+4Ugchee2NNbZnILJnZP1jS5UovCv9zh2td3wSgWVWL890CIhbdGIvJWpFTwy8Ah9PKknXyJP2gBvMSBUFmrZTm7Qmnz05doSksdBv23iDu1LBVq/mChA44SRhawD9Ns6gX4fppfpSnk+TXGRQWjyKFeg+kBVmQirlY+6LnoGuL0orvkT7Y9SfBuAD6H99ANUpu6AihcV/0owFo5U/pRu6gsU35rOBhWnHfA9Nj0rM/aAKITWTilsl7Vf+YvdhXPCH6uuqi/Um0w/p7MbR4XbD13ajP+evMN5QOU7m2k3oZLNF7DTt3Uq47+r+Kt+ogMgdXBQ9fF0VD+AD8XxT3X8D9WC47c3rz9dkmEvBiML5ROFBgnQx8nnOxC4PtrhIHDZvrr3c371YfNguR+IBzIJi3GpsRGguMZSiahooGk94oZq7BTxoKD+IPFxqcovvgzB9dBBv4qN3XATzaCdFUI9ytjXQMNBpl77QE5KlfWX2tyz/WHwhX69Q2aPY395hbwaVd6SaIW2DrX9omoyBzjcqd8M/CALrocO+lVs2Mp++XHHD+1+5C/wMFwfS5oL0MXXzUsYJo726+e8j/dRqa5FqV9C9wOCg8h/0bCf8e/aYDSAnb6tFOLTBNeYOmj5lsZcBFi9g4XE3zq1HBLc78OvStR3yJTHv5MzVA+NysLzPHw5jIbDSOAc9E7nlkCWI9rCIBsKTcnhL/bee+lbWzYuKwrygMUkjSIjalHGRIH7tpwsVQk0YSFOCLqHN0qTOqwsMch1tQlekU+aa8o2cpj0zXvHyB3Vx3VCPKlvo2+W35Rt7DGlQb0p2h+G6+fOm/cB2NKvMm9R5T07tkXyeuZ4j6w97fTN8qe2Mmj0BWAf7IcM2UwaEMEKjr8sNn658tlL+vqbMPqlWOiNQlf5eB5N6hu9CcLk9kPkIIpo8UNR+Q1pdGhAo8bt8inxBZtDeQ9vlCZ1bexHU7aBKM1XNwZx3EtB7KjUrpD/9Fniq4Z46KUA9avV0+N2NDRXOLbcfOzuMtm/EoFDEmLDxEGoOAILmvsjDqgbUgm4phTTCu4Jfjt3bvWs8Ok3Ja9wTpxVIgV5AHFA/CDeoIaJuIuhRQknXYsauIGzEGd9FoKPPMA1Xxz0cdTlF1VQqkxf4yENR8St3vpqrW+Wv2j7ZQC/v98PPy991i+eEMPf1eiL4bQfOg42/uEOeRXc+f3+dhsmYtpB6NsGWt7m8wD3c97HUTfIUqniq8Izdfx356nGk2jjfFH0+Iemfr74Mffx1hY16mt8pOGIOKDNe4Tsl7CxrfHTfqsbom+pbI+2nyvpqb89kYwsGKvWmPKNBuEIdBTWZyCsDYNx+bnu16w8avUjxlvuB+EBiaX+IX7AkphaTIQoNMvGFEIxnya4tnVQj4gD5mxIF9ABfZy81gXyxIo/KNmOMK895RBCCnAW1Rc091ek/dLLFbsfc8uX2Hc/4V7H3PJNuTL0YfqC9mYh+pwu+7O64NiPmY+Tt0lfFzvW+218PKkPg7euOPb/t3etMXZVVfieM3f6VCxtZ4YpD1tUhLRAOzNtobwMglhNeBiRYtSUABHjDxOj+E78YQw+0R8S+SMxEiQSFDUgjxgaUAq10047FJGBQqEPoEUstPIovcfvW2uvc/Y9c2/n0XvPnal7z9zzrbPPfq1vrb3Pvvuex4YmvDPFWc98iYiP+JND2TOZWOPjt9mXLa2rpekw5/QNj8IYDzXT/00nH32dfdnSHNr+emvyWMnBKzjSLGIv7ImtsJ1c+o/cf4xHw2F8Uudh+mf8VE/OJGnLNquphJjKdSS2ROO0TSabspKaaSWXpE7VZTkSktJ1XcseH9PT5zRj2DaEAbEpSiLyo6NAOgERmyLObCod1NIxLYMhRS6ZOvRlicRmWIf34jSN8wvzGinOtQvysPYwv+nAAlz9gpAlu0NtWVVzmdlVCzS9DGvV58WlelvBUr3uxHE8VJ5V/qwW3pxtx5JLvg3V/jwR9afti7Y/6vt+R8/G25vBNk9avu+J7c3uhp79x69/c5806nMDE/2wWf4/fv0P3f/99o9axuPiaSIzk6Hkb1L/b5b+vg9avzcUfWDUFNkHuePQ9DaUdKa/7EyQFY6X1y1cjA63mA2lckSRcVIwtGmFIVKqsg79vCxDyomin3Uve+IWp2uAohjgmMZ+7fftenXTcAxENXaGUgY2KapdOYiZjekPIhOZUP4tT67MUZTPprD8usGOEV07DNkOqd8hZQmGtQodh/542uTrcVy5bPb7+vfWKrJRcXzFdTTzXbhrTJ7AqMVSNwbRUbkvWn+/PrE62mJ/TbN/FP0Bk42GPnNDiXTbovy/uPlGae7ijfegM29J+0GVwp7eFIvSn+5r4wDltK9ix3yb7RlLcJPFovp/S/zf+DCOhLex9/8JscLxTkmfvSEGg2JyAskpRJJlbHYoPgNDG9rTRw0x63qga+mirxhPAVvFgDtByahjndohbKmdVNG3/2hb6+bY8AP9g/eIRJQP/YgyUWTuMq5OECfDMaIvu+Q8sTEQVc6QsRoMNWUWh/hce8aqP75M7Eva4pVzFm/a4iprKnSc/PfXZ8Qx3jURbVJtWqt/Xtli7B/d1TntA6vAgW/YfFMOax9PyIRrOG4P5Z+5Wsalf66MZu2SL7z78FtaPnUTJTOEnmP1/3xbx6X/GPjN11d73+lWQP/P199w/f0xz5ddxTrm0ZLZuKdxxgETUrbgyxNghSNZ39sOr+O7U9BCfAwpy/KNQ8iimENVUhU31QxhhKdnTGu/go/ZtbiARTPg7CnVUq4dfJ+mTLsaUtZSDFmGykSRnb9w4Ko1YFvNmho5+G2EOeVbif62mE5SJV5zZOVZuVqCtlfb6LcdWV3Q/NY+jbQ4S5OhX4bpbUhNtVZFELMviaOPdi0ZKPTNxu/u2bh76rTp5+P80a/tbY3+yqLjwphpsv2h7x2dPbMulyexZmZruMRvfmZ3w7z9G6F/wxs+QoFzlwz8EX7z83rJ1J+y+T11bqb+I/X/eu0cfbz1de25ms/ihpcy0fT3x1CVYRHvnKztHX//b/kKx64K3gqbVHiHiljDUHecoaiwnVAc+sSkZsQxzEdeS8rli2edNnhYT11MywzCuBigfeQDu6ZYw8a+HSnLYOOQcv7DE7k5vZzU5Usn/INoX0ANXX4qkJYDQWQiBR5zKLJrI6e3MsWVtjgdqBP/DF1axlnI6zPW9GyK8UDZ+zwfJ+3nFT3ZML14J0w5af8wGvRwi/QXLoq0P17+9auO3pOubPQdKcapjxW+Ldb5vaFn+9QPDld/v86i5I6k/avoIY9ZPzFk/dTV0PQ2bIb+7OtSLpECgqHuHd42r08D+3/h/t+o8U+/4imvLZ9wJMnB1ZmJbeAm1vowpaXxZZcWjy3H8U/P6338nzwaQqsYwMvb0Iv5obkMKctg45CyJlEUmYMus/GkLoNRhpKbpmYpLAMfjhmGKnOiwDjNNxztmObDVvITfTktX9qigxLbxbJTdPX49VFX1tlQ/UulB6eX2ns7+vo3oMqWhdl9/Xs7e2afH8XxjcIDWiK6OjS9Dc3uhqQYbAvVRP6JrR2KLNxpuSxHcjhUmeojJ4vBR7l3dnHt8O3BMqo/zJflt7KIqRwlb2Px9wudvYNXF7VKGmMkLkJ/sld0iPr6D0wptX8KFL9Cm+s/pYlm//EzYz7WlP5PRydpZIzgkHJT/N8vHxVIPUD6J+tLkS3BQcYdSn+9pBaJEFo64XhpcFEX3rS3UpRAY8QBHYo7QpkUPcXS9F6cKh5/s3v50N1ULITWMpA5oHNKGI2OSu81pMx0hiIjjSE9mYcNfVk9P0tr9VFryU8BQepyqLKrH56FlEyCYKh7/lbqZAok0Q/bTFnbzjIpE3253nFmlnZoIZKXcZZedUUFKA8J38At3d/o6p39kaP65NkYftNaIvPbflfvpi+jeTiBJK/7Ovuy6ePHmd6Gprch81Trr5xrXLWs/Cj3lkfyi61QjgtSF2SiyiPYPyo939YWn9PVt+mXVkYRiAUO8QHTJdOPjVfdSY/J2fGMs9HpX4Q2w+vAZPX59nLblVDyzQlt/+FNHzkGF+CYf9EGlIm+bMcRqX5IY7o0hmI/lzezL6pvqP1H8P+ctmwmg2sucOzj34RZ4ajsf/szeNNe2YyjijkNRc38xo4RfZk2iW7rXv6vH+RzhP1WMaA2kk4EW43axr5ZRcbGkIL0AId+b6ijptbPbNoGJrM4X86OWzpWmnXOdMBALGULVla9/Hp87PpjIv7XqNR+amffphuKWNI3fUaLnX2Dd5SiqUtA0b3M02j9xeZmd8Mm2h8a8Ar0m6dNKS2eu3jTutHy0PB0oisJdR/RmbW4iAb4P0trRZizZOCBtlJ5JZzl9br1F6C/9Vm2wWTrp3XbNcKBye7/9dqvY52OgzbuGeb5Mw4N6bMqZ+S1dIUD126sRouy1phM9DuW62ymCFFkNxvEbdDru4859uqsoCBNXgb0Qs5SiejLtTUyh059InVyN0BLNs/HahdTN9YuKJWLzfiLHYLF1c10GAfwg8wjUdR2UdfSzRd09fU/cxhFNT0r29e1dHAlXhz3SVT2QmMq9G3uy7VLb4T98WVlY1spXtHVO3hd66/98nX25ebpX7vk5sR2LB1YE5XL5+KkNVS7Bl9nX66duhH2r11yq2J9nX25dnuarb+NdY0a/1o24dj52Af7MG1YpDTqyQH72OVW/3hM4zRVfptgHRKO++KUg/Gl0YI1b+aPh/1WMuBO+P7E0SaKDv3OkrXUlg+Iej2EoaaHR1iZ8A4NhlkpqSRpsUd09RrWqt+P8+W0vJzgp1E51z5r6yHqhxrv4KT3p6gturBr6eNnYTn//lw1E3q3q2fznaUp8Sm4aPc7MNlu44G9V3g3HAX/tLWG5tsfbRvCe1Gu6ew7eencvs2PTQySm6v/O6UCH8RRh9DOJQMD0fS5PfCO3zCJ9SFN3lz9pS7nh1avYZ3mjiqaZWg5GU50/ze9DamoyURfrkeCn0Zly8cx2ev/roCWvbwtOXhgNZvkB/+CG43HUo4MQJoSHLjfx/Qo0r+FC1Ium7viqR1+OUGeQAz44wealdsVp+YSnTmuympnasF9Oq6iiCo755F45xdMmaV1PoMYudpajml55kcaZWW7AiXSl11GB5zpq5/atw9OiiibZtXp02h32FLhjaxsNS8C/W1pWunWrlMHX8rlnFS7x5y+eT8a/L3khTN/8vKu164Cq3gGTrKgnv7GA+2uNlfOVVY7kQC1u9kIEWSNmZ2JTNZ0zGFpNQG3w+xfivqxonFDR98nfs+Hm5VKzXtSOVs0uqADNfXw/VP1Mp1Q0mHq37IBP0dC58I1+xD1uV3rF94SR9GNlUpyOpM0W/98+Xl/yTVzVLu48YEtr53Woh3mdv9/xj/HTkv8Lxl6/9Sdeyq8gAgOxgHbDQ4C7HjaOnUOr7PJKEOTaYI4jj5/zPKnH61t6RDbSgbMpmZfIoOeYDKbj3S8pg7OP3iME1J4jCD3h5XP4/Qz/KXHXZxE5DZS3iHS549LsQnK1uKH1+/8G77Ka6eextntMTyW/L4ZUfl+Pt8iV/2k33UvSLwpSS6/eff6Jy+CbVZhQnYJOvpRVG6YfRw/9fyjJiHjsD++mLwIL/gdVpFuP6ZncK2WOxEmGpmG2XiX9Y/sqCeNQ3/z/9avb3h6QOzu2/Jgkny356X+O1fhJ9QvJZVkmY0J1Sm9vcPQ38YCYqOCcDtC/6/n36ZrveM12+g1XcajSTD+mR4tmXDs2H3wYjRgNhtRbXhjUtF8wtBPj1nxT7uXP/NrxoUwcRkw+xqypb48Ust1ENZvPpKWrsHO7VyFZcmu5yTV5Vf7FMtDA/RbsorptyrsMkYhRT8OstVNlIDljTh+Az/v4Se96A0Utg9ZdwJ3YBDZjju1t0Xlts1JW7TZrQJYxiMa3e2keLR16Z7k2Q9Ne/nfe1biW+ylGCDPgX0WjFb58dof+WjILcCHYIs7O3suX6OrGaOtufB0qUf5NY9X/6yMan8u28w4S9ByydnlNjTkthf7TzsjqhzEzQTRJeiLxzVaf5ZX1f9L0au4ruBhfBG4v9xevmtcZKBMf8ypJdeKG01dTdcf7mF1aHuq/aU6DnvCn0MA9bJJk6atwYWQrkdrOrllbBZuXzv/bgwHHxvW+mEVUnnTkAdVxqB137wz+z5e1D3yw5oVIgIDgYFxM7B7fW837o48C9357EqSLER/PhED1wlYDSnLNKGqy2OHk8l00Ko5JrxZiuLnkHBrFMWb4iT6G27BfOToJQP/GXcjQ8aWMgB/iF75x6K+g3FyLqb0y9CYZbD8fNgYYpWDYN/isiNMwWBHkijCs1VKz+ILwBB85IlSnGzGz2ob5vQMPokTJpOFUAADZpcCqtIqdq8/pfvtt994ARZuy7xBj9nSOJEhv1xEP8Ptgk/NmPGe5WEwUc7CNjBwJDCAn2DaXhwYOj6qHDgRPz4dDZ1morPPEMQr5JK4UsEzSf6Lycd+DA/7S23xfuzviduirXNOH9gZThpHghccWgeulO3Z++oJlQMH34s5wjxMRGZiSgEfiWbgiVI8acA3nH/QV+LSPlwUvKcytbKjc9Hgy8FHDs1vEUcLn3DsWDv/eiytyvMyWDm9JG2Ere24bzP55Ro84XBvnCRnzFvx3JNFkBPqCAwEBgIDgYHAQGCgMQwUflssVkdX6zRDVzFUVmX0an/EYOrqyzyKOQie51a5Mkw2lKuwDQwEBgIDgYHAwGRioNAJxwtr5y/HTOIUWdbAfEN+OnGoP6doHFc8dNVDLwhkLPa/fvyZ2/4ymcgNbQ0MBAYCA4GBwEBgQBko9C6V6GDlKt5ByAmEBu5QdtMLd3EYf0qxIEej6NZjV2z7kcUFDAwEBgIDgYHAQGBgcjFQ2ApH8uz8aZg8XIEVjowhk4m+bCk4D4lK646dF19rUQEDA4GBwEBgIDAQGJh8DBQ24dixq3IBZhWz7A4UUmUrGUSVM+TKB6J3YZZyWbTgufDY8snnW6HFgYHAQGAgMBAYSBko7CcV3P/Me+7dQ0L4KGgGPlGPsv6kIlHpJnqrPU4u7VixfWcaFYTAQGAgMBAYCAwEBiYlA4WtcOAWk6VkyFY1KNuzfIj88FiGlWu7V2xv3Wui2cAQAgOBgcBAYCAwEBhoCAOFTTiSKOHLeqoWM/xbX30ZD2j58XFn7ZA3CTZEy1BIYCAwEBgIDAQGAgMtZaCwCQcuydjK6zfkeg0i/hgMReYKR6l073FnXfM1ORg2gYHAQGAgMBAYCAwcEQwUNuGIytFNmE0c0Ks1ONmwu1UMufiRrJs5fdqqCf6SpSPC8EGJwEBgIDAQGAgMFMlAYROO48/YPoRJxvX48DGiAF3tMMTu2plTZl44u2/r3iIJCHUFBgIDgYHAQGAgMNB8BnTBofn1pDVse3jeBaj0i5hynIe5x1t4y+Mz2P/F8WefdEcUrXknTRiEwEBgIDAQGAgMBAaOGAb+B5nwCpLPLNx7AAAAAElFTkSuQmCC"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["d","M154.81 93.8059C152.146 100.719 149.483 108.164 146.287 115.608C146.287 115.608 146.287 116.672 147.353 116.672H169.191C169.191 116.672 169.191 117.204 169.723 117.736L137.765 153.364C137.233 152.832 137.233 152.301 137.233 151.769L148.418 127.839V125.712H126.047V123.585L153.212 93.8059H154.81Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["id","clip0"],["width","225.692","height","225.692","transform","translate(0 85.9831) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","300","height","300","viewBox","0 0 300 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M50 237.5V112.5C50 105.625 55.625 100 62.5 100H262.5C269.375 100 275 105.625 275 112.5V237.5C275 244.375 269.375 250 262.5 250H62.5C55.625 250 50 244.375 50 237.5Z",1,"fill-color-0"],["d","M25 212.5V87.5C25 80.625 30.625 75 37.5 75H237.5C244.375 75 250 80.625 250 87.5V212.5C250 219.375 244.375 225 237.5 225H37.5C30.625 225 25 219.375 25 212.5Z",1,"stroke-color"],["d","M293.75 200H275V150H293.75C297.25 150 300 152.75 300 156.25V193.75C300 197.25 297.25 200 293.75 200Z",1,"fill-color-0"],["d","M268.75 175H250V125H268.75C272.25 125 275 127.75 275 131.25V168.75C275 172.25 272.25 175 268.75 175Z",1,"stroke-color"],["d","M137.5 187.5L156.25 150H118.75L137.5 112.5",1,"stroke-color"]],template:function(x,V){if(1&x&&(t.YNc(0,h0,1,0,"ng-container",0),t.YNc(1,x3,18,5,"ng-template",null,1,t.W1O),t.YNc(3,Z2,15,5,"ng-template",null,2,t.W1O),t.YNc(5,C3,19,5,"ng-template",null,3,t.W1O),t.YNc(7,ku,17,5,"ng-template",null,4,t.W1O),t.YNc(9,M3,13,5,"ng-template",null,5,t.W1O)),2&x){const ge=t.MAs(2),nt=t.MAs(4),kt=t.MAs(6),jt=t.MAs(8),on=t.MAs(10);t.Q6J("ngTemplateOutlet",1===V.stepNumber?ge:2===V.stepNumber?nt:3===V.stepNumber?kt:4===V.stepNumber?jt:on)}},dependencies:[si.mk,si.tP,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,fn.n5,fn.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Zl.l]}})}function E3(K,T){1&K&&t.GkF(0)}const U1=function(K,T){return{"small-svg":K,"large-svg":T}};function f0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",8)(3,"path",9)(4,"path",10)(5,"path",11)(6,"path",12)(7,"path",13)(8,"path",14)(9,"path",15)(10,"path",16)(11,"path",17),t.qZA(),t.kcU(),t.TgZ(12,"div",18)(13,"mat-card-title"),t._uU(14,"Boltz Reverse Submarine Swap explained."),t.qZA()(),t.TgZ(15,"div",19)(16,"mat-card-subtitle",20),t._uU(17," Boltz is a privacy-first account free exchange and a Lightning Service Provider. By doing a Reverse Submarine Swap on Boltz, you can swap your Lightning Bitcoin for on-chain Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Y2(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",21)(2,"g",22),t._UZ(3,"path",23)(4,"path",24)(5,"path",25)(6,"path",26)(7,"path",27)(8,"path",28),t.qZA(),t._UZ(9,"path",29),t.TgZ(10,"defs")(11,"clipPath",30),t._UZ(12,"rect",31),t.qZA()()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 1: Deciding to Reverse Submarine Swap"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," You have one or more channels that are running low on inbound capacity or you want to move some of your Lightning Bitcoin to your onchain wallet. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Ru(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",32),t._UZ(2,"path",33)(3,"path",34)(4,"path",35)(5,"path",36)(6,"path",37)(7,"circle",38)(8,"rect",39),t.TgZ(9,"defs")(10,"pattern",40),t._UZ(11,"use",41),t.qZA(),t._UZ(12,"image",42),t.qZA()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 2: Paying the Lightning Invoice"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," Your Boltz client generates a secret which is sent to Boltz. In return Boltz sends a Lightning invoice based on that secret. Your Lightning node pays that invoice which moves some of your local balance to the other side of the channel. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function p0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",43)(2,"g",22),t._UZ(3,"path",44)(4,"path",45)(5,"path",46)(6,"path",47)(7,"path",48),t.qZA(),t.TgZ(8,"defs")(9,"clipPath",30),t._UZ(10,"rect",49),t.qZA()()(),t.kcU(),t.TgZ(11,"div",18)(12,"mat-card-title"),t._uU(13,"Step 3: Receiving the funds on-chain"),t.qZA()(),t.TgZ(14,"div",19)(15,"mat-card-subtitle",20),t._uU(16," In return for paying the invoice, Boltz locks on-chain BTC. Your node claims that onchain BTC to your wallet and by doing that, reveals the secret. With that secret Boltz can settle the Lightning invoice paid by your node. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function D3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onSwipe(ge))}),t.O4$(),t.TgZ(1,"svg",50),t._UZ(2,"path",51)(3,"path",52)(4,"path",53)(5,"path",54)(6,"path",55),t.qZA(),t.kcU(),t.TgZ(7,"div",18)(8,"mat-card-title"),t._uU(9,"Done!"),t.qZA()(),t.TgZ(10,"div",19)(11,"mat-card-subtitle",20),t._uU(12," You have now successfully received your funds in your on-chain wallet and also spent your local balance to increase the inbound capacity of your node - all in a non-custodial manner. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}class V1{constructor(T){this.commonService=T,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new t.vpe,this.screenSize="",this.screenSizeEnum=Qe.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(T){2===T.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===T.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(x){return new(x||V1)(t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:V1,selectors:[["rtl-boltz-swapout-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","368","height","368","viewBox","0 0 368 368","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M306.667 153.333H276L260.667 184L233.797 153.763C229.441 148.861 224.595 144.24 218.529 141.746C212.54 139.284 206.099 138 199.561 138H92C41.19 138 1.52588e-05 179.19 1.52588e-05 230C1.52588e-05 280.81 41.19 322 92 322H199.561C206.099 322 212.54 320.715 218.529 318.254C224.595 315.761 229.441 311.139 233.797 306.237L260.667 276L276 306.667H306.667L291.333 260.667L306.667 230L291.333 199.333L306.667 153.333Z",1,"fill-color-0"],["d","M337.333 122.667H306.667L291.333 153.333L264.464 123.097C260.107 118.194 255.261 113.573 249.195 111.079C243.206 108.618 236.766 107.333 230.228 107.333H122.667C71.8566 107.333 30.6667 148.523 30.6667 199.333C30.6667 250.143 71.8566 291.333 122.667 291.333H230.228C236.766 291.333 243.206 290.048 249.195 287.587C255.261 285.094 260.107 280.473 264.464 275.571L291.333 245.333L306.667 276H337.333L322 230L337.333 199.333L322 168.667L337.333 122.667Z",1,"stroke-color-thicker"],["d","M214.667 245.333C206.198 245.333 199.333 238.468 199.333 230C199.333 221.532 206.198 214.667 214.667 214.667C223.135 214.667 230 221.532 230 230C230 238.468 223.135 245.333 214.667 245.333Z",1,"fill-color-15"],["d","M245.333 214.667C236.865 214.667 230 207.802 230 199.333C230 190.865 236.865 184 245.333 184C253.802 184 260.667 190.865 260.667 199.333C260.667 207.802 253.802 214.667 245.333 214.667Z",1,"stroke-color-thicker"],["d","M138 245.333C129.532 245.333 122.667 238.468 122.667 230C122.667 221.532 129.532 214.667 138 214.667C146.468 214.667 153.333 221.532 153.333 230C153.333 238.468 146.468 245.333 138 245.333Z",1,"fill-color-15"],["d","M168.667 214.667C160.198 214.667 153.333 207.802 153.333 199.333C153.333 190.865 160.198 184 168.667 184C177.135 184 184 190.865 184 199.333C184 207.802 177.135 214.667 168.667 214.667Z",1,"stroke-color-thicker"],["d","M61.3334 245.333C52.865 245.333 46 238.468 46 230C46 221.532 52.865 214.667 61.3334 214.667C69.8017 214.667 76.6667 221.532 76.6667 230C76.6667 238.468 69.8017 245.333 61.3334 245.333Z",1,"fill-color-15"],["d","M92 214.667C83.5316 214.667 76.6666 207.802 76.6666 199.333C76.6666 190.865 83.5316 184 92 184C100.468 184 107.333 190.865 107.333 199.333C107.333 207.802 100.468 214.667 92 214.667Z",1,"stroke-color-thicker"],["d","M239.077 111C241.796 111 244 113.204 244 115.923V126.077C244 128.796 241.796 131 239.077 131H191.923C189.204 131 187 128.796 187 126.077V115.923C187 113.204 189.204 111 191.923 111H239.077Z",1,"fill-color-15"],["d","M184 76.6666V107.333H122.667V76.6666H184Z",1,"stroke-color-thicker"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","383","height","279","viewBox","0 0 383 279","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M267.882 220.417V104.583C267.882 98.2125 263.809 93 258.832 93H114.029C109.051 93 104.978 98.2125 104.978 104.583V220.417C104.978 226.787 109.051 232 114.029 232H258.832C263.809 232 267.882 226.787 267.882 220.417Z",1,"fill-color-0"],["d","M357.75 197.625V81.375C357.75 74.9812 352.069 69.75 345.125 69.75H143.125C136.181 69.75 130.5 74.9812 130.5 81.375V197.625C130.5 204.019 136.181 209.25 143.125 209.25H345.125C352.069 209.25 357.75 204.019 357.75 197.625Z",1,"stroke-color-thin"],["d","M86.3125 186H105.25V139.5H86.3125C82.7775 139.5 80 142.057 80 145.312V180.188C80 183.443 82.7775 186 86.3125 186Z",1,"fill-color-15"],["d","M111.562 162.75H130.5V116.25H111.562C108.027 116.25 105.25 118.807 105.25 122.062V156.938C105.25 160.193 108.027 162.75 111.562 162.75Z",1,"stroke-color-thin"],["d","M205.979 116V150.875",1,"stroke-color-thin"],["d","M205.979 185.634V185.749",1,"stroke-color-thin"],["d","M2.44963 159.45C0.488815 161.41 0.488815 164.59 2.44963 166.55L34.403 198.504C36.3638 200.465 39.5429 200.465 41.5037 198.504C43.4645 196.543 43.4645 193.364 41.5037 191.403L13.1007 163L41.5037 134.597C43.4645 132.636 43.4645 129.457 41.5037 127.496C39.5429 125.535 36.3638 125.535 34.403 127.496L2.44963 159.45ZM65 157.979H6V168.021H65V157.979Z",1,"fill-color-15"],["id","clip0"],["width","303","height","279","transform","matrix(-1 0 0 1 383 0)",1,"fill-color-30"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["d","M138.762 67C136.099 73.913 133.436 81.3578 130.24 88.8025C130.24 88.8025 130.24 89.8661 131.305 89.8661H153.143C153.143 89.8661 153.143 90.3979 153.676 90.9296L121.718 126.558C121.185 126.026 121.185 125.495 121.185 124.963L132.371 101.033V98.9062H110V96.7791L137.164 67H138.762Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","317","y","81","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,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"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["fill-rule","evenodd","clip-rule","evenodd","d","M169.522 122.093C171.059 115.241 166.054 111.136 159.022 108.13L162.04 98.916L156.431 97.0797L153.493 106.051C152.019 105.569 150.502 105.104 148.995 104.643L151.953 95.613L146.348 93.7769L143.329 102.988C142.106 102.615 140.906 102.247 139.743 101.867L139.752 101.838L132.017 99.3019L130.057 105.293C130.057 105.293 134.224 106.57 134.131 106.624C136.402 107.369 136.71 108.93 136.552 110.138L133.115 120.635C133.271 120.687 133.473 120.761 133.695 120.869C133.66 120.857 133.626 120.846 133.591 120.834C133.562 120.825 133.534 120.816 133.505 120.806C133.375 120.763 133.24 120.719 133.102 120.675L128.284 135.38C127.95 136.062 127.157 137.065 125.569 136.548C125.62 136.635 121.492 135.211 121.492 135.211L118.184 141.544L125.483 143.935C126.298 144.203 127.103 144.476 127.899 144.746L127.901 144.747C128.431 144.927 128.956 145.105 129.479 145.28L126.429 154.6L132.031 156.436L135.051 147.215C136.579 147.75 138.064 148.25 139.517 148.725L136.509 157.902L142.118 159.739L145.166 150.437C154.773 152.984 162.15 152.77 165.87 144.183C168.867 137.27 166.555 132.99 161.623 129.952C165.417 129.361 168.406 127.109 169.522 122.093ZM155.149 139.449C153.059 145.84 143.068 142.413 138.496 140.845L138.496 140.845C138.085 140.704 137.718 140.578 137.404 140.476L141.449 128.129C141.831 128.254 142.299 128.395 142.829 128.555L142.829 128.555C147.571 129.985 157.289 132.916 155.149 139.449ZM144.22 122.79C148.031 124.108 156.343 126.982 158.247 121.175C160.192 115.234 152.086 112.815 148.127 111.634C147.682 111.501 147.289 111.383 146.969 111.279L143.301 122.477C143.565 122.563 143.874 122.67 144.22 122.79Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["width","225.692","height","225.692","transform","translate(0 85.983) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","298","height","300","viewBox","0 0 298 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M248.333 237.5V112.5C248.333 105.625 242.746 100 235.917 100H37.2501C30.421 100 24.8335 105.625 24.8335 112.5V237.5C24.8335 244.375 30.421 250 37.2501 250H235.917C242.746 250 248.333 244.375 248.333 237.5Z",1,"fill-color-0"],["d","M273.167 212.5V87.5C273.167 80.625 267.579 75 260.75 75H62.0832C55.254 75 49.6665 80.625 49.6665 87.5V212.5C49.6665 219.375 55.254 225 62.0832 225H260.75C267.579 225 273.167 219.375 273.167 212.5Z",1,"stroke-color"],["d","M6.20851 200H24.8335V150H6.20851C2.73185 150 0.000183105 152.75 0.000183105 156.25V193.75C0.000183105 197.25 2.73185 200 6.20851 200Z",1,"fill-color-0"],["d","M31.0415 175H49.6665V125H31.0415C27.5648 125 24.8331 127.75 24.8331 131.25V168.75C24.8331 172.25 27.5648 175 31.0415 175Z",1,"stroke-color"],["d","M161.417 187.5L142.792 150H180.042L161.417 112.5",1,"stroke-color"]],template:function(x,V){if(1&x&&(t.YNc(0,E3,1,0,"ng-container",0),t.YNc(1,f0,18,5,"ng-template",null,1,t.W1O),t.YNc(3,Y2,19,5,"ng-template",null,2,t.W1O),t.YNc(5,Ru,19,5,"ng-template",null,3,t.W1O),t.YNc(7,p0,17,5,"ng-template",null,4,t.W1O),t.YNc(9,D3,13,5,"ng-template",null,5,t.W1O)),2&x){const ge=t.MAs(2),nt=t.MAs(4),kt=t.MAs(6),jt=t.MAs(8),on=t.MAs(10);t.Q6J("ngTemplateOutlet",1===V.stepNumber?ge:2===V.stepNumber?nt:3===V.stepNumber?kt:4===V.stepNumber?jt:on)}},dependencies:[si.mk,si.tP,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,fn.n5,fn.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Zl.l]}})}const Bu=["stepper"];function Nu(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.inputFormLabel)}}function Yl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Amount is required."),t.qZA())}function _0(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.ALo(2,"number"),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.hij("Amount must be greater than or equal to ",t.lcZ(2,1,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.minimal),".")}}function Fu(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.ALo(2,"number"),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.hij("Amount must be less than or equal to ",t.lcZ(2,1,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.maximal),".")}}function Hu(K,T){1&K&&(t.TgZ(0,"button",40),t._uU(1,"Next"),t.qZA())}function $4(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",41),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onSwap())}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw(2);t.xp6(1),t.hij("Initiate ",x.swapDirectionCaption,"")}}function Q2(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(3);t.Oqu(x.addressFormLabel)}}function A3(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Address is required."),t.qZA())}function zu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-step",15)(1,"form",16),t.YNc(2,Q2,1,1,"ng-template",17),t.TgZ(3,"div",42)(4,"mat-radio-group",43),t.NdJ("change",function(ge){t.CHM(x);const nt=t.oxw(2);return t.KtG(nt.onAddressTypeChange(ge))}),t.TgZ(5,"mat-radio-button",44),t._uU(6,"Node Local Address"),t.qZA(),t.TgZ(7,"mat-radio-button",45),t._uU(8,"External Address"),t.qZA()(),t.TgZ(9,"mat-form-field",46),t._UZ(10,"input",47),t.YNc(11,A3,2,0,"mat-error",24),t.qZA()(),t.TgZ(12,"div",25)(13,"button",48),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onSwap())}),t._uU(14),t.qZA()()()()}if(2&K){const x=t.oxw(2);t.Q6J("stepControl",x.addressFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.addressFormGroup),t.xp6(9),t.Q6J("required","external"===x.addressFormGroup.controls.addressType.value),t.xp6(1),t.Q6J("ngIf",null==x.addressFormGroup.controls.address.errors?null:x.addressFormGroup.controls.address.errors.required),t.xp6(3),t.hij("Initiate ",x.swapDirectionCaption,"")}}function Uu(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.hij("",x.swapDirectionCaption," Status")}}function m0(K,T){if(1&K&&(t.TgZ(0,"mat-icon",49),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.swapStatus&&null!=x.swapStatus&&x.swapStatus.id?"check":"close")}}function g0(K,T){1&K&&t._UZ(0,"div")}function v0(K,T){1&K&&t._UZ(0,"mat-progress-bar",50)}function j2(K,T){if(1&K&&(t.TgZ(0,"h4",51),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.swapStatus&&x.swapStatus.error?x.swapDirectionCaption+" failed.":x.swapStatus&&x.swapStatus.id?x.swapDirectionCaption+" request placed successfully. You can check the status of the request on the 'Boltz' menu.":x.swapDirectionCaption+" request placed successfully.")}}function n1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",52),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onRestart())}),t._uU(1,"Start Again"),t.qZA()}}function Vu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",3)(1,"div",4)(2,"mat-card-header",5)(3,"div",6)(4,"span",7),t._uU(5),t.qZA()(),t.TgZ(6,"div",8)(7,"button",9),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.showInfo())}),t._uU(8,"?"),t.qZA(),t.TgZ(9,"button",10),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onClose())}),t._uU(10,"X"),t.qZA()()(),t.TgZ(11,"mat-card-content",11)(12,"div",12)(13,"mat-vertical-stepper",13,14),t.NdJ("selectionChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.stepSelectionChanged(ge))}),t.TgZ(15,"mat-step",15)(16,"form",16),t.YNc(17,Nu,1,1,"ng-template",17),t.TgZ(18,"div",18),t._UZ(19,"rtl-boltz-service-info",19),t.qZA(),t.TgZ(20,"div",20)(21,"mat-form-field",21),t._UZ(22,"input",22),t.TgZ(23,"mat-hint"),t._uU(24),t.ALo(25,"number"),t.ALo(26,"number"),t.qZA(),t.TgZ(27,"span",23),t._uU(28,"Sats"),t.qZA(),t.YNc(29,Yl,2,0,"mat-error",24),t.YNc(30,_0,3,3,"mat-error",24),t.YNc(31,Fu,3,3,"mat-error",24),t.qZA()(),t.TgZ(32,"div",25),t.YNc(33,Hu,2,0,"button",26),t.YNc(34,$4,2,1,"button",27),t.qZA()()(),t.YNc(35,zu,15,6,"mat-step",28),t.TgZ(36,"mat-step",29)(37,"form",16),t.YNc(38,Uu,1,1,"ng-template",17),t.TgZ(39,"div",30)(40,"mat-expansion-panel",31)(41,"mat-expansion-panel-header")(42,"mat-panel-title")(43,"span",32),t._uU(44),t.YNc(45,m0,2,1,"mat-icon",33),t.qZA()()(),t.YNc(46,g0,1,0,"div",34),t.qZA(),t.YNc(47,v0,1,0,"mat-progress-bar",35),t.qZA(),t.YNc(48,j2,2,1,"h4",36),t.TgZ(49,"div",25),t.YNc(50,n1,2,0,"button",37),t.qZA()()()(),t.TgZ(51,"div",38)(52,"button",39),t._uU(53,"Close"),t.qZA()()()()()()}if(2&K){const x=t.oxw(),V=t.MAs(2);t.Q6J("@opacityAnimation",void 0),t.xp6(3),t.Q6J("fxFlex",x.screenSize===x.screenSizeEnum.XS||x.screenSize===x.screenSizeEnum.SM?"83":"91"),t.xp6(2),t.Oqu(x.swapDirectionCaption),t.xp6(1),t.Q6J("fxFlex",x.screenSize===x.screenSizeEnum.XS||x.screenSize===x.screenSizeEnum.SM?"17":"9"),t.xp6(7),t.Q6J("linear",!0),t.xp6(2),t.Q6J("stepControl",x.inputFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.inputFormGroup),t.xp6(3),t.Q6J("serviceInfo",x.serviceInfo)("direction",x.direction),t.xp6(3),t.Q6J("step",1e3),t.xp6(2),t.AsE("Range: ",t.lcZ(25,30,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.minimal),"-",t.lcZ(26,32,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.maximal),""),t.xp6(5),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.required),t.xp6(1),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.min),t.xp6(1),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.max),t.xp6(2),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_IN),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("stepControl",x.statusFormGroup),t.xp6(1),t.Q6J("formGroup",x.statusFormGroup),t.xp6(3),t.Q6J("expanded",!!x.swapStatus),t.xp6(4),t.Oqu(x.swapStatus?x.swapStatus.id?x.swapDirectionCaption+" request details":x.swapDirectionCaption+" error details":"Waiting for "+x.swapDirectionCaption+" request..."),t.xp6(1),t.Q6J("ngIf",x.swapStatus),t.xp6(1),t.Q6J("ngIf",!x.swapStatus)("ngIfElse",V),t.xp6(1),t.Q6J("ngIf",!x.swapStatus),t.xp6(1),t.Q6J("ngIf",x.swapStatus),t.xp6(2),t.Q6J("ngIf",x.swapStatus&&(x.swapStatus.error||!x.swapStatus.id)),t.xp6(2),t.Q6J("mat-dialog-close",!1)}}function q2(K,T){if(1&K&&t._UZ(0,"rtl-boltz-swap-status",53),2&K){const x=t.oxw();t.Q6J("swapStatus",x.swapStatus)("direction",x.direction)}}function y0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"rtl-boltz-swapout-info-graphics",70),t.NdJ("stepNumberChange",function(ge){t.CHM(x);const nt=t.oxw(2);return t.KtG(nt.stepNumber=ge)}),t.qZA()}if(2&K){const x=t.oxw(2);t.Q6J("animationDirection",x.animationDirection)("stepNumber",x.stepNumber)}}function b0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"rtl-boltz-swapin-info-graphics",70),t.NdJ("stepNumberChange",function(ge){t.CHM(x);const nt=t.oxw(2);return t.KtG(nt.stepNumber=ge)}),t.qZA()}if(2&K){const x=t.oxw(2);t.Q6J("animationDirection",x.animationDirection)("stepNumber",x.stepNumber)}}const i1=function(K,T){return{"dot-primary":K,"dot-primary-lighter":T}};function T3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"span",71),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onStepChanged(nt))}),t._UZ(1,"p",72),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw(2);t.xp6(1),t.Q6J("ngClass",t.WLB(1,i1,V.stepNumber===x,V.stepNumber!==x))}}function x0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",73),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onReadMore())}),t._uU(1,"Read More"),t.qZA()}}function Wu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",74),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onStepChanged(4))}),t._uU(1,"Back"),t.qZA()}}function w3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",75),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return ge.flgShowInfo=!1,t.KtG(ge.stepNumber=1)}),t._uU(1,"Close"),t.qZA()}}function I3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",76),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return ge.flgShowInfo=!1,t.KtG(ge.stepNumber=1)}),t._uU(1,"Close"),t.qZA()}}function C0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",77),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onStepChanged(ge.stepNumber-1))}),t._uU(1,"Back"),t.qZA()}}function Ku(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",78),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onStepChanged(ge.stepNumber+1))}),t._uU(1,"Next"),t.qZA()}}const X2=function(){return[1,2,3,4,5]};function M0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",54)(1,"div",18)(2,"mat-card-header",55)(3,"div",56),t._UZ(4,"span",7),t.qZA(),t.TgZ(5,"div",57)(6,"button",58),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return ge.flgShowInfo=!1,t.KtG(ge.stepNumber=1)}),t._uU(7,"X"),t.qZA()()(),t.TgZ(8,"mat-card-content",59),t.YNc(9,y0,1,2,"rtl-boltz-swapout-info-graphics",60),t.YNc(10,b0,1,2,"rtl-boltz-swapin-info-graphics",60),t.qZA(),t.TgZ(11,"div",61),t.YNc(12,T3,2,4,"span",62),t.qZA(),t.TgZ(13,"div",63),t.YNc(14,x0,2,0,"button",64),t.YNc(15,Wu,2,0,"button",65),t.YNc(16,w3,2,0,"button",66),t.YNc(17,I3,2,0,"button",67),t.YNc(18,C0,2,0,"button",68),t.YNc(19,Ku,2,0,"button",69),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@opacityAnimation",void 0),t.xp6(9),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_IN),t.xp6(2),t.Q6J("ngForOf",t.DdM(10,X2)),t.xp6(2),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",x.stepNumber<5),t.xp6(1),t.Q6J("ngIf",x.stepNumber>1&&x.stepNumber<5),t.xp6(1),t.Q6J("ngIf",x.stepNumber<5)}}class Fo{constructor(T,x,V,ge,nt,kt,jt){this.dialogRef=T,this.data=x,this.boltzService=V,this.formBuilder=ge,this.decimalPipe=nt,this.logger=kt,this.commonService=jt,this.faInfoCircle=fe.sqG,this.serviceInfo={fees:{percentage:null,miner:{normal:null,reverse:null}},limits:{minimal:1e4,maximal:5e7}},this.swapTypeEnum=Qe.hc,this.direction=Qe.hc.SWAP_OUT,this.swapDirectionCaption="Swap out",this.swapStatus=null,this.inputFormLabel="Amount to swap out",this.addressFormLabel="Withdrawal Address",this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=Qe.cu,this.animationDirection="forward",this.flgEditable=!0,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.serviceInfo=this.data.serviceInfo,this.direction=this.data.direction||Qe.hc.SWAP_OUT,this.swapDirectionCaption=this.direction===Qe.hc.SWAP_OUT?"Swap Out":"Swap in",this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.serviceInfo.limits?.minimal,[qt.kI.required,qt.kI.min(this.serviceInfo.limits?.minimal||0),qt.kI.max(this.serviceInfo.limits?.maximal||0)]]}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[qt.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges()}ngAfterViewInit(){this.direction===Qe.hc.SWAP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.direction===Qe.hc.SWAP_OUT&&this.addressFormGroup.valueChanges.pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(T){"external"===T.value?(this.addressFormGroup.controls.address.setValidators([qt.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onSwap(){if(!this.inputFormGroup.controls.amount.value||this.serviceInfo.limits?.minimal&&this.inputFormGroup.controls.amount.value<+this.serviceInfo.limits.minimal||this.serviceInfo.limits?.maximal&&this.inputFormGroup.controls.amount.value>+this.serviceInfo.limits.maximal||this.direction===Qe.hc.SWAP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected?.stepControl.setErrors(null),this.stepper.next(),this.direction===Qe.hc.SWAP_IN)this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe((0,ui.R)(this.unSubs[3])).subscribe({next:T=>{this.swapStatus=T,this.boltzService.listSwaps(),this.flgEditable=!0},error:T=>{this.swapStatus={error:T},this.flgEditable=!0,this.logger.error(T)}});else{const T="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"";this.boltzService.swapOut(this.inputFormGroup.controls.amount.value,T).pipe((0,ui.R)(this.unSubs[4])).subscribe({next:x=>{this.swapStatus=x,this.boltzService.listSwaps(),this.flgEditable=!0},error:x=>{this.swapStatus={error:x},this.flgEditable=!0,this.logger.error(x)}})}}stepSelectionChanged(T){switch(T.selectedIndex){case 0:default:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormGroup.controls.amount.value?(this.direction,Qe.hc.SWAP_IN,this.inputFormLabel=this.swapDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats"):this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address"}T.selectedIndex{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Fo)(t.Y36(Ma.so),t.Y36(Ma.WI),t.Y36(yo),t.Y36(qt.QS),t.Y36(si.JJ),t.Y36(sn.mQ),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:Fo,selectors:[["rtl-boltz-swap-modal"]],viewQuery:function(x,V){if(1&x&&t.Gf(Bu,5),2&x){let ge;t.iGM(ge=t.CRH())&&(V.stepper=ge.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["swapStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"serviceInfo","direction"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","2","type","button","matStepperNext","",4,"ngIf"],["mat-button","","color","primary","tabindex","3","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["mat-button","","color","primary","tabindex","2","type","button","matStepperNext",""],["mat-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"swapStatus","direction"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(x,V){1&x&&(t.YNc(0,Vu,54,34,"div",0),t.YNc(1,q2,1,2,"ng-template",null,1,t.W1O),t.YNc(3,M0,20,11,"div",2)),2&x&&(t.Q6J("ngIf",!V.flgShowInfo),t.xp6(3),t.Q6J("ngIf",V.flgShowInfo))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.Fj,qt.wV,qt.JJ,qt.JL,qt.Q7,qt.sg,qt.u,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ma.ZT,An.lW,fn.dk,fn.dn,zi.ib,zi.yz,zi.yK,Fl.Hw,Sn.TO,Sn.KE,Sn.bx,Sn.R9,Er.Nt,pc.pW,Fr.VQ,Fr.U0,bs.C0,bs.VY,bs.Vq,bs.Ic,Si.h,e1,u0,t1,V1,si.JJ],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[$c._]}})}function Gu(K,T){if(1&K&&(t.TgZ(0,"mat-option",42),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x),t.xp6(1),t.Oqu(V.getLabel(x))}}function E0(K,T){1&K&&t._UZ(0,"mat-progress-bar",43)}function L3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Status"),t.qZA())}function bc(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Oqu(V.swapStateEnum[null==x?null:x.status])}}function J2(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Swap ID"),t.qZA())}function S3(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.id)}}function Zu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Claim Address"),t.qZA())}const Xo=function(K){return{width:K}};function D0(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.claimAddress)}}function $2(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Lockup Address"),t.qZA())}function Yu(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.lockupAddress)}}function A0(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Onchain Amount (Sats)"),t.qZA())}function xc(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.onchainAmount))}}function ef(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Expected Amount (Sats)"),t.qZA())}function tf(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.expectedAmount))}}function Qu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Error"),t.qZA())}function O3(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.error)}}function P3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Private Key"),t.qZA())}function Jo(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.privateKey)}}function Cc(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Preimage"),t.qZA())}function Mc(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.preimage)}}function T0(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Redeem Script"),t.qZA())}function k3(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.redeemScript)}}function R3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Invoice"),t.qZA())}function ju(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.invoice)}}function qu(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Timeout Block Height"),t.qZA())}function ed(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.timeoutBlockHeight))}}function Xu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Lockup Tx ID"),t.qZA())}function W1(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.lockupTransactionId)}}function B3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Claim Tx ID"),t.qZA())}function N3(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.claimTransactionId)}}function td(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Refund Tx ID"),t.qZA())}function $o(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.refundTransactionId)}}function a1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"th",50)(1,"div",51)(2,"mat-select",52),t._UZ(3,"mat-select-trigger"),t.TgZ(4,"mat-option",53),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onDownloadCSV())}),t._uU(5,"Download CSV"),t.qZA()()()()}}function Ql(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"td",54)(1,"button",55),t.NdJ("click",function(ge){const kt=t.CHM(x).$implicit,jt=t.oxw();return t.KtG(jt.onSwapClick(kt,ge))}),t._uU(2,"View Info"),t.qZA()()}}function Ju(K,T){if(1&K&&(t.TgZ(0,"p"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.emptyTableMessage)}}function K1(K,T){if(1&K&&(t.TgZ(0,"td",56),t.YNc(1,Ju,2,1,"p",57),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("ngIf",!(null!=x.listSwaps&&x.listSwaps.data)||(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)<1)}}const w0=function(K){return{"display-none":K}};function F3(K,T){if(1&K&&t._UZ(0,"tr",58),2&K){const x=t.oxw();t.Q6J("ngClass",t.VKq(1,w0,(null==x.listSwaps?null:x.listSwaps.data)&&(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)>0))}}function nd(K,T){1&K&&t._UZ(0,"tr",59)}function jl(K,T){1&K&&t._UZ(0,"tr",60)}const id=function(){return["all"]},H3=function(K){return{"overflow-auto error-border":K,"overflow-auto":!0}},$u=function(){return["no_swap"]};class G1{constructor(T,x,V,ge,nt){this.logger=T,this.commonService=x,this.store=V,this.boltzService=ge,this.camelCaseWithReplace=nt,this.selectedSwapType=Qe.hc.SWAP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.nodePageDefs=Qe.hG,this.selFilterBy="all",this.colWidth="20rem",this.PAGE_ID="boltz",this.tableSettingSwapOut={tableId:"swap_out",recordsPerPage:Qe.IV,sortBy:"status",sortOrder:Qe.Pi.DESCENDING},this.tableSettingSwapIn={tableId:"swap_in",recordsPerPage:Qe.IV,sortBy:"status",sortOrder:Qe.Pi.DESCENDING},this.swapStateEnum=Qe.Qw,this.faHistory=fe.qO$,this.swapCaption="Swap Out",this.displayedColumns=[],this.listSwaps=new wa.by([]),this.selFilter="",this.pageSize=Qe.IV,this.pageSizeOptions=Qe.TJ,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.tableSettingSwapOut=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapOut.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapOut.tableId),this.tableSettingSwapIn=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapIn.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapIn.tableId),this.setTableColumns(),this.swapsData&&this.swapsData.length>0&&this.sort&&this.paginator&&this.displayedColumns.length>0&&this.loadSwapsTable(this.swapsData),this.colWidth=this.displayedColumns.length?this.commonService.getContainerSize().width/this.displayedColumns.length/10+"rem":"20rem",this.logger.info(this.displayedColumns)})}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(T){T.selectedSwapType&&!T.selectedSwapType.firstChange&&this.setTableColumns(),this.swapCaption=this.selectedSwapType===Qe.hc.SWAP_IN?"Swap In":"Swap Out",this.loadSwapsTable(this.swapsData)}setTableColumns(){this.selectedSwapType===Qe.hc.SWAP_IN?(this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSettingSwapIn.recordsPerPage?+this.tableSettingSwapIn.recordsPerPage:Qe.IV):(this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSettingSwapOut.recordsPerPage?+this.tableSettingSwapOut.recordsPerPage:Qe.IV)}applyFilter(){this.listSwaps&&""!==this.selFilter&&(this.listSwaps.filter=this.selFilter.trim().toLowerCase())}getLabel(T){const x=this.selectedSwapType===Qe.hc.SWAP_IN?this.tableSettingSwapIn.tableId:this.tableSettingSwapOut.tableId,V=this.nodePageDefs[this.PAGE_ID][x].allowedColumns.find(ge=>ge.column===T);return V?V.label?V.label:this.camelCaseWithReplace.transform(V.column,"_"):this.commonService.titleCase(T)}setFilterPredicate(){this.listSwaps.filterPredicate=(T,x)=>{let V="";switch(this.selFilterBy){case"all":V=JSON.stringify(T).toLowerCase();break;case"status":V=T?.status?this.swapStateEnum[T?.status]:"";break;default:V=typeof T[this.selFilterBy]>"u"?"":"string"==typeof T[this.selFilterBy]?T[this.selFilterBy].toLowerCase():"boolean"==typeof T[this.selFilterBy]?T[this.selFilterBy]?"yes":"no":T[this.selFilterBy].toString()}return"status"===this.selFilterBy?0===V.indexOf(x):V.includes(x)}}onSwapClick(T,x){this.boltzService.swapInfo(T.id||"").pipe((0,ui.R)(this.unSubs[1])).subscribe(V=>{V=this.selectedSwapType===Qe.hc.SWAP_IN?V.swap:V.reverseSwap;const ge=[[{key:"status",value:Qe.Qw[V.status],title:"Status",width:50,type:Qe.Gi.STRING},{key:"id",value:V.id,title:"ID",width:50,type:Qe.Gi.STRING}],[{key:"amount",value:V.onchainAmount?V.onchainAmount:V.expectedAmount?V.expectedAmount:0,title:V.onchainAmount?"Onchain Amount (Sats)":V.expectedAmount?"Expected Amount (Sats)":"Amount (Sats)",width:50,type:Qe.Gi.NUMBER},{key:"timeoutBlockHeight",value:V.timeoutBlockHeight,title:"Timeout Block Height",width:50,type:Qe.Gi.NUMBER}],[{key:"address",value:V.claimAddress?V.claimAddress:V.lockupAddress?V.lockupAddress:"",title:V.claimAddress?"Claim Address":V.lockupAddress?"Lockup Address":"Address",width:100,type:Qe.Gi.STRING}],[{key:"invoice",value:V.invoice,title:"Invoice",width:100,type:Qe.Gi.STRING}],[{key:"privateKey",value:V.privateKey,title:"Private Key",width:100,type:Qe.Gi.STRING}],[{key:"preimage",value:V.preimage,title:"Preimage",width:100,type:Qe.Gi.STRING}],[{key:"redeemScript",value:V.redeemScript,title:"Redeem Script",width:100,type:Qe.Gi.STRING}],[{key:"lockupTransactionId",value:V.lockupTransactionId,title:"Lockup Transaction ID",width:50,type:Qe.Gi.STRING},{key:"transactionId",value:V.claimTransactionId?V.claimTransactionId:V.refundTransactionId?V.refundTransactionId:"",title:V.claimTransactionId?"Claim Transaction ID":V.refundTransactionId?"Refund Transaction ID":"Transaction ID",width:50,type:Qe.Gi.STRING}]];this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:ge,openedBy:"SWAP"}}}))})}loadSwapsTable(T){this.listSwaps=T?new wa.by([...T]):new wa.by([]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(x,V)=>x[V]&&isNaN(x[V])?x[V].toLocaleLowerCase():x[V]?+x[V]:null,this.selectedSwapType===Qe.hc.SWAP_IN?this.listSwaps.sort?.sort({id:this.tableSettingSwapIn.sortBy,start:this.tableSettingSwapIn.sortOrder,disableClear:!0}):this.listSwaps.sort?.sort({id:this.tableSettingSwapOut.sortBy,start:this.tableSettingSwapOut.sortOrder,disableClear:!0}),this.paginator&&this.paginator.firstPage(),this.listSwaps.paginator=this.paginator,this.setFilterPredicate(),this.applyFilter(),this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Qe.hc.SWAP_IN?"Swap in":"Swap out")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||G1)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(yo),t.Y36($d.D3))};static#t=this.\u0275cmp=t.Xpm({type:G1,selectors:[["rtl-boltz-swaps"]],viewQuery:function(x,V){if(1&x&&(t.Gf(H2.YE,5),t.Gf(Kl.NW,5)),2&x){let ge;t.iGM(ge=t.CRH())&&(V.sort=ge.first),t.iGM(ge=t.CRH())&&(V.paginator=ge.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[t._Bn([{provide:Kl.ye,useValue:(0,Qe.pt)("Swaps")}]),t.TTD],decls:71,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex.gt-xs","30","fxLayoutAlign.gt-xs","space-between center","fxLayout","row","fxLayoutAlign","space-between stretch"],["fxFlex","49"],["placeholder","Filter By","tabindex","1","name","filterBy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","claimAddress"],["matColumnDef","lockupAddress"],["matColumnDef","onchainAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","expectedAmount"],["matColumnDef","error"],["matColumnDef","privateKey"],["matColumnDef","preimage"],["matColumnDef","redeemScript"],["matColumnDef","invoice"],["matColumnDef","timeoutBlockHeight"],["matColumnDef","lockupTransactionId"],["matColumnDef","claimTransactionId"],["matColumnDef","refundTransactionId"],["matColumnDef","actions"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cellcolspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[3,"value"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell",""],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","button","tabindex","4",1,"table-actions-button",3,"click"],["mat-footer-cellcolspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"div",5)(7,"mat-form-field",6)(8,"mat-select",7),t.NdJ("ngModelChange",function(nt){return V.selFilterBy=nt})("selectionChange",function(){return V.selFilter="",V.applyFilter()}),t.YNc(9,Gu,2,2,"mat-option",8),t.qZA()(),t.TgZ(10,"mat-form-field",6)(11,"input",9),t.NdJ("ngModelChange",function(nt){return V.selFilter=nt})("input",function(){return V.applyFilter()})("keyup",function(){return V.applyFilter()}),t.qZA()()()(),t.TgZ(12,"div",10)(13,"div",11),t.YNc(14,E0,1,0,"mat-progress-bar",12),t.TgZ(15,"table",13,14),t.ynx(17,15),t.YNc(18,L3,2,0,"th",16),t.YNc(19,bc,2,1,"td",17),t.BQk(),t.ynx(20,18),t.YNc(21,J2,2,0,"th",16),t.YNc(22,S3,2,1,"td",17),t.BQk(),t.ynx(23,19),t.YNc(24,Zu,2,0,"th",16),t.YNc(25,D0,4,4,"td",17),t.BQk(),t.ynx(26,20),t.YNc(27,$2,2,0,"th",16),t.YNc(28,Yu,4,4,"td",17),t.BQk(),t.ynx(29,21),t.YNc(30,A0,2,0,"th",22),t.YNc(31,xc,4,3,"td",17),t.BQk(),t.ynx(32,23),t.YNc(33,ef,2,0,"th",22),t.YNc(34,tf,4,3,"td",17),t.BQk(),t.ynx(35,24),t.YNc(36,Qu,2,0,"th",16),t.YNc(37,O3,4,4,"td",17),t.BQk(),t.ynx(38,25),t.YNc(39,P3,2,0,"th",16),t.YNc(40,Jo,4,4,"td",17),t.BQk(),t.ynx(41,26),t.YNc(42,Cc,2,0,"th",16),t.YNc(43,Mc,4,4,"td",17),t.BQk(),t.ynx(44,27),t.YNc(45,T0,2,0,"th",16),t.YNc(46,k3,4,4,"td",17),t.BQk(),t.ynx(47,28),t.YNc(48,R3,2,0,"th",16),t.YNc(49,ju,4,4,"td",17),t.BQk(),t.ynx(50,29),t.YNc(51,qu,2,0,"th",22),t.YNc(52,ed,4,3,"td",17),t.BQk(),t.ynx(53,30),t.YNc(54,Xu,2,0,"th",16),t.YNc(55,W1,2,1,"td",17),t.BQk(),t.ynx(56,31),t.YNc(57,B3,2,0,"th",16),t.YNc(58,N3,2,1,"td",17),t.BQk(),t.ynx(59,32),t.YNc(60,td,2,0,"th",16),t.YNc(61,$o,2,1,"td",17),t.BQk(),t.ynx(62,33),t.YNc(63,a1,6,0,"th",34),t.YNc(64,Ql,3,0,"td",35),t.BQk(),t.ynx(65,36),t.YNc(66,K1,2,1,"td",37),t.BQk(),t.YNc(67,F3,1,3,"tr",38),t.YNc(68,nd,1,0,"tr",39),t.YNc(69,jl,1,0,"tr",40),t.qZA(),t._UZ(70,"mat-paginator",41),t.qZA()()()),2&x&&(t.xp6(3),t.Q6J("icon",V.faHistory),t.xp6(2),t.hij("",V.swapCaption," History"),t.xp6(3),t.Q6J("ngModel",V.selFilterBy),t.xp6(1),t.Q6J("ngForOf",t.DdM(14,id).concat(V.displayedColumns.slice(0,-1))),t.xp6(2),t.Q6J("ngModel",V.selFilter),t.xp6(3),t.Q6J("ngIf",!0===V.flgLoading[0]),t.xp6(1),t.Q6J("dataSource",V.listSwaps)("ngClass",t.VKq(15,H3,"error"===V.flgLoading[0])),t.xp6(52),t.Q6J("matFooterRowDef",t.DdM(17,$u)),t.xp6(1),t.Q6J("matHeaderRowDef",V.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",V.displayedColumns),t.xp6(1),t.Q6J("pageSize",V.pageSize)("pageSizeOptions",V.pageSizeOptions)("showFirstLastButtons",V.screenSize!==V.screenSizeEnum.XS))},dependencies:[si.mk,si.sg,si.O5,si.PC,qt.Fj,qt.JJ,qt.On,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ea.Zl,An.lW,Sn.KE,Er.Nt,pc.pW,Jn.gD,Jn.$L,oi.ey,H2.YE,H2.nU,wa.BZ,wa.fO,wa.as,wa.w1,wa.Dz,wa.nj,wa.mD,wa.Ke,wa.ge,wa.ev,wa.XQ,wa.Gk,wa.Q2,Kl.NW,xi.$V,si.JJ]})}const eh=function(K){return["../",K]};function th(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",16),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onSelectedIndexChange(nt))}),t._uU(1),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.Q6J("active",V.activeTab.link===x.link)("routerLink",t.VKq(3,eh,x.link)),t.xp6(1),t.Oqu(x.name)}}class Z1{constructor(T,x,V){this.router=T,this.store=x,this.boltzService=V,this.swapTypeEnum=Qe.hc,this.selectedSwapType=Qe.hc.SWAP_OUT,this.swaps={},this.swapsData=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"swapout",name:"Swap Out"},{link:"swapin",name:"Swap In"}],this.activeTab=this.links[0],this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.boltzService.listSwaps();const T=this.links.find(x=>this.router.url.includes(x.link));this.activeTab=T||this.links[0],this.selectedSwapType=T&&"swapin"===T.link?Qe.hc.SWAP_IN:Qe.hc.SWAP_OUT,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(ge=>x.urlAfterRedirects.includes(ge.link));this.activeTab=V||this.links[0],this.selectedSwapType=V&&"swapin"===V.link?Qe.hc.SWAP_IN:Qe.hc.SWAP_OUT}}),this.boltzService.swapsChanged.pipe((0,ui.R)(this.unSubs[1])).subscribe({next:x=>{this.swaps=x,this.swapsData=this.selectedSwapType===Qe.hc.SWAP_IN&&x.swaps?x.swaps:this.selectedSwapType===Qe.hc.SWAP_OUT&&x.reverseSwaps?x.reverseSwaps:[],this.flgLoading[0]=!1},error:x=>{this.flgLoading[0]="error",this.emptyTableMessage=x.message?x.message:"No swap "+(this.selectedSwapType===Qe.hc.SWAP_IN?"in":"out")+" available."}})}onSelectedIndexChange(T){"swapin"===T.link?(this.selectedSwapType=Qe.hc.SWAP_IN,this.swapsData=this.swaps.swaps||[]):(this.selectedSwapType=Qe.hc.SWAP_OUT,this.swapsData=this.swaps.reverseSwaps||[])}onSwap(T){this.boltzService.serviceInfo().pipe((0,ui.R)(this.unSubs[2])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{serviceInfo:x,direction:T,component:Fo}}}))}})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Z1)(t.Y36(Ne.F0),t.Y36(Hn.yh),t.Y36(yo))};static#t=this.\u0275cmp=t.Xpm({type:Z1,selectors:[["rtl-boltz-root"]],decls:20,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"botlz-icon-sm","mr-1"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["mat-tab-nav-bar","",3,"tabPanel"],["mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["tabPanel",""],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t.O4$(),t.TgZ(1,"svg",1)(2,"g",2)(3,"g",3),t._UZ(4,"circle",4)(5,"path",5)(6,"path",6),t.qZA()()(),t.kcU(),t.TgZ(7,"span",7),t._uU(8,"Boltz"),t.qZA()(),t.TgZ(9,"div",8)(10,"mat-card")(11,"mat-card-content",9)(12,"nav",10),t.YNc(13,th,2,5,"div",11),t.qZA(),t._UZ(14,"mat-tab-nav-panel",null,12),t.TgZ(16,"div",13)(17,"button",14),t.NdJ("click",function(){return V.onSwap(V.selectedSwapType)}),t._uU(18),t.qZA()(),t._UZ(19,"rtl-boltz-swaps",15),t.qZA()()()),2&x){const ge=t.MAs(15);t.xp6(12),t.Q6J("tabPanel",ge),t.xp6(1),t.Q6J("ngForOf",V.links),t.xp6(5),t.hij("Start ",V.activeTab.name,""),t.xp6(1),t.Q6J("selectedSwapType",V.selectedSwapType)("swapsData",V.swapsData)("flgLoading",V.flgLoading)("emptyTableMessage",V.emptyTableMessage)}},dependencies:[si.sg,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.rH,G1]})}class wr{constructor(T){this.help=T}}function el(K,T){if(1&K&&(t.TgZ(0,"mat-expansion-panel",8)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),t._uU(3),t.qZA()(),t.TgZ(4,"mat-panel-description",9),t._UZ(5,"span",10),t.TgZ(6,"a",11),t._uU(7),t.qZA()()()),2&K){const x=t.oxw().$implicit,V=t.oxw();t.xp6(3),t.Oqu(x.help.question),t.xp6(2),t.Q6J("innerHTML",x.help.answer,t.oJD),t.xp6(1),t.Q6J("routerLink",V.flgLoggedIn?x.help.link:"/login"),t.xp6(1),t.Oqu(V.flgLoggedIn?x.help.linkCaption:"Login to go to the page")}}function L0(K,T){if(1&K&&(t.TgZ(0,"div",6),t.YNc(1,el,8,4,"mat-expansion-panel",7),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngIf","ALL"===x.help.lnImplementation||x.help.lnImplementation===V.selNode.lnImplementation)}}class rd{constructor(T,x){this.store=T,this.sessionService=x,this.helpTopics=[],this.faQuestion=fe.Psp,this.LNPLink="/lnd/",this.flgLoggedIn=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.selNode.lnImplementation&&""!==this.selNode.lnImplementation.trim()&&(this.LNPLink="/"+this.selNode.lnImplementation.toLowerCase()+"/",this.addHelpTopics())}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.flgLoggedIn=!!T.token}),this.sessionService.getItem("token")&&(this.flgLoggedIn=!0)}addHelpTopics(){this.helpTopics=[],this.helpTopics.push(new wr({question:"Getting started",answer:'Funding your node is the first step to get started.\nGo to the "On-chain" page of the app:\n1. Generate a new address on the "Recieve" tab.\n2. Send funds to the address.\n3. Wait for the balance to be confirmed on-chain before proceeding further.\n3. Connecting with network peers and opening channels is next.\n',link:this.LNPLink+"onchain/receive/utxos",linkCaption:"On-Chain",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Connect with peers",answer:'Connect with network peers to open channels with them.\nGo to "Peer/Channels" page under the "Lightning" menu :\n1. Get the peer pubkey and host address in the pubkey@ip:port format.\n2. On the "Peers" enter the peer address and connect.\n3. Once the peer is connected, you can open channel with the peer.\n4. A variety of actions can be performed on the connected peers page for each peer:\n a. View Info - View the peer details.\n b. Open Channel - Open channel with the peer.\n c. Disconnect - Disconnect from the peer.\n',link:this.LNPLink+"connections/peers",linkCaption:"Peers",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Opening Channels",answer:'Open channels with a connected peer.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. On the "Channels" section, click on "Open Channel"\n2. On the "Open Channel" modal, select the alias of the connected peer from the drop-down\n2. Specify the amount to commit to the channel and click on "Open Channel".\n3. There are a variety of options available while opening a channel. \n a. Private Channel - When this option is selected, a private channel is opened with the peer. \n b. Priority (advanced option) - Specify either Target confirmation Block or Fee in Sat/vByte. \n c. Spend Unconfirmd Output (advanced option) - Allow channels to be opened with unconfirmed UTXOs.\n4. Track the pending open channels under the "Pending" tab. \n5. Wait for the channel to be confirmed. Only a confimed channel can be used for payments or routing. \n',link:this.LNPLink+"connections/channels/open",linkCaption:"Channels",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Channel Management",answer:'Channel maintenance and balance score.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. A variety of actions can be perfomed on the open channels under the "Open" tab, with the "Actions" button:\n a. View Info - View the channel details.\n b. View Remote Fee - View the fee policy on the channel of the remote peer.\n c. Update Fee Policy - Modify the fee policy on the channel.\n d. Circular Rebalance - Off-chain rebalance channels by making a payment to yourself across a circular path of chained payment channels.\n e. Close Channel - Close the channel.\n2. Balance Score is a "balancedness" metric score for the channel. \n a. It helps measure how balanced the remote and local balances are, on a channel.\n b. A perfectly balanced channel has a score of one, where as a completely lopsided one has a score of zero.\n c. The formula for calculating the score is "1 - abs((local bal - remote bal)/total bal)".\n',link:this.LNPLink+"connections/channels/open",linkCaption:"Channels",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Buying Liquidity",answer:'Buying liquidity for your node.\nGo to "Liquidity Ads" page under the "Lightning" menu:\n 1. Filter ads by liquidity amount and channel opening fee rate.\n 2. Research additionally on liquidity provider nodes before selecting.\n 3. Select the best liquidity node peer for your need and click on "Open Channel" from "Actions" drop-down.\n 4. Confirm amount, rates and total cost on the modal and click on "Execute" to buy liquidity.\n',link:this.LNPLink+"liquidityads",linkCaption:"Liquidity Ads",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Payments",answer:'Sending Payments from your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayments tab is for making payments via your node\n 1. Input a non-expired lightning invoice (Bolt11 format) in the "Payment Request" field and click on "Send Payment" to send.\n 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\n 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n',link:this.LNPLink+"transactions/payments",linkCaption:"Payments",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Invoices",answer:'Receiving Payments on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nInvoices tab is for receiving payments on your node.\n 1. Memo - Description you want to provide on the invoice.\n 2. Expiry - The time period, after which the invoice will be invalid.\n 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n',link:this.LNPLink+"transactions/invoices",linkCaption:"Invoices",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Offers",answer:'Send offer payments, create offer invoices and bookmark paid offers on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayment for bolt12 offer invoice can be done on "Payments" tab:\n 1. Click on "Send Payment" button.\n 2. Select "Offer" option on the modal.\n 2. Offer Request - Input offer request (Bolt12 format) in the input box.\n 3. Bookmark - Select the checkbox to bookmark this offer for future use.\nOffers tab is for creating bolt12 offer invoice on your node:\n 1. Click on "Create Offer" button.\n 2. Description - Description you want to provide on the offer invoice.\n 3. Amount - Amount for the offer invoice.\n 4. Vendor - Vendor of the offer.\nPaid offer bookmarks shows the list of paid offers saved for future payments.\n',link:this.LNPLink+"transactions/offers",linkCaption:"Offers",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Channel Backups",answer:'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\nBackup folder location can be customized in the RTL config file with the channelBackupPath field.\nRTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\nYou can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\nYou can also backup each channel individually and verify them.\n** Keep taking backups of your channels regularly and store them in redundant locations **.\n',link:this.LNPLink+"channelbackup/bckup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Channel Restore",answer:'Channel Restore is used to recover funds from the channel backup files in case of node failures.\nFollow the below steps to perform fund restoration.\n\nPrerequisite:\n1. The node has been restored with the LND recovery seed.\n2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\nRecovery:\n1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n2. Place the channel backup file in the restore folder.\n3. Go to the "Restore" tab under the "Backup" page of RTL.\n4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n5. Click on the Restore icon on the grid to restore the funds.\n6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n7. Restore function will force close the channels and recover the funds from them.\n8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\n',link:this.LNPLink+"channelbackup/restore",linkCaption:"Channel Restore",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Forwarding History",answer:'Transactions routed by the node.\nGo to "Routing" page under the "Lightning" menu :\nTransactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n',link:this.LNPLink+"routing/forwardinghistory",linkCaption:"Forwarding History",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Lightning Reports",answer:'Routing and transactions data reports.\nGo to "Reports" page under the "Lightning" menu :\nReport can be generated on monthly/yearly basis by selecting the reporting period, month, and year.\n',link:this.LNPLink+"reports/routingreport",linkCaption:"Reports",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Graph Lookup",answer:'Querying your node graph for network node and channel information.\nGo to "Graph Lookup" page under the "Lightning" menu :\nEach node maintains a network graph for the information on all the nodes and channels on the network.\nYou can lookup information on nodes and channels from your graph:\n 1. Node Lookup - Enter the pubkey to perform the lookup.\n 2. Channel Lookup - Enter the short channel ID to perform the lookup.\n',link:this.LNPLink+"graph/lookups",linkCaption:"Graph Lookup",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Query Route",answer:'Querying Payment Routes.\nGo to the "Graph Lookup" page under the "Lightning" menu :\nQuery Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\n 2. Amount - Amount in Sats, which you want to send to the node.\n',link:this.LNPLink+"graph/queryroutes",linkCaption:"Query Routes",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Sign & Verify Messages",answer:'Messages signing and verification.\nGo to the "Sign/Verify" page under the "Lightning" menu :\n 1. Sign your message on "Sign" tab.\n 2. Go to "Verify" tab to verify a message.\n',link:this.LNPLink+"messages/sign",linkCaption:"Messages",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Sign & Verify Messages",answer:'Messages signing and verification.\nGo to the "Sign/Verify" page under the "Lightning" menu :\n 1. Sign your message on "Sign" tab.\n 2. Go to "Verify" tab to verify a message.\n',link:this.LNPLink+"messages/sign",linkCaption:"Messages",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Node Settings",answer:'RTL offers certain customizations on the UI to personalize your experience on the app\nGo to "Node Config" page to access the customization options.\nNode Layout Options\n 1. User Persona - Two options are available to change the dashboard based on the persona.\n 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n 3. Other customizations include day and night mode and a choice of color themes to select from.\nServices Options\n Loop (LND only), Boltz (LND only) & Peerswap (CLN only) services can be configured.\nExperimental Options (CLN only)\n Offers and Liquidity Ads can be enabled/disabled.\nShow LN Config (if configured)\n Shows lightning config file.\n',link:"../config/layout",linkCaption:"Node Settings",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Application Settings",answer:'RTL also offers certain customizations on the application level\nGo to top right menu "Settings" page to access these options.\nDefault Node Option\nIf you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\nAuthentication Option\nPassword and 2FA update options are available here.\nShow Bitcoin Config (if configured)\n Shows bitcoin config file.\n',link:"../settings/app",linkCaption:"Application Settings",lnImplementation:"ALL"}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||rd)(t.Y36(Hn.yh),t.Y36(Qo.m))};static#t=this.\u0275cmp=t.Xpm({type:rd,selectors:[["rtl-help"]],decls:8,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxFlex","100",4,"ngFor","ngForOf"],["fxFlex","100"],["class","flat-expansion-panel help-expansion mb-2px",4,"ngIf"],[1,"flat-expansion-panel","help-expansion","mb-2px"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],[1,"pre-wrap",3,"innerHTML"],[1,"mt-2",3,"routerLink"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span",3),t._uU(4,"Help"),t.qZA()(),t.TgZ(5,"div",4)(6,"div",0),t.YNc(7,L0,2,1,"div",5),t.qZA()()()),2&x&&(t.xp6(2),t.Q6J("icon",V.faQuestion),t.xp6(5),t.Q6J("ngForOf",V.helpTopics))},dependencies:[si.sg,si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,zi.ib,zi.yz,zi.yK,zi.u4,Ne.rH],styles:[".mat-card-content[_ngcontent-%COMP%]{margin-bottom:4px}"]})}var ah=m(6562);function S0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is required."),t.qZA())}class sd{constructor(T,x){this.dialogRef=T,this.store=x,this.token=""}onClose(){this.dialogRef.close(null)}onVerifyToken(){if(!this.token)return!0;this.dialogRef.close(),this.store.dispatch((0,Qt.M6)({payload:{twoFAToken:this.token}}))}static#e=this.\u0275fac=function(x){return new(x||sd)(t.Y36(Ma.so),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:sd,selectors:[["rtl-login-token"]],decls:17,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100",3,"ngSubmit"],["tokenForm","ngForm"],["autoFocus","","matInput","","placeholder","Token","type","text","id","token","name","token","tabindex","2","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-button","","color","primary","tabindex","4","type","submit"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Two Factor Token"),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return V.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"form",7,8),t.NdJ("ngSubmit",function(){return V.onVerifyToken()}),t.TgZ(11,"mat-form-field")(12,"input",9),t.NdJ("ngModelChange",function(nt){return V.token=nt}),t.qZA(),t.YNc(13,S0,2,0,"mat-error",10),t.qZA(),t.TgZ(14,"div",11)(15,"button",12),t._uU(16,"Verify Token"),t.qZA()()()()()()),2&x&&(t.xp6(12),t.Q6J("ngModel",V.token),t.xp6(1),t.Q6J("ngIf",!V.token))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Er.Nt,Si.h]})}function rh(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}function Ga(K,T){if(1&K&&(t.TgZ(0,"p",21)(1,"mat-icon",22),t._uU(2,"close"),t.qZA(),t._uU(3),t.qZA()),2&K){const x=t.oxw();t.xp6(3),t.hij(" ",x.loginErrorMessage," ")}}const O0=function(K){return{"padding-gap-large":K}},P0=function(K,T){return{"font-size-200":K,"font-size-300":T}};class Y1{constructor(T,x,V,ge){this.logger=T,this.store=x,this.rtlEffects=V,this.commonService=ge,this.faUnlockAlt=fe.B$L,this.password="",this.rtlSSO=0,this.rtlCookiePath="",this.accessKey="",this.flgShow=!1,this.screenSize="",this.screenSizeEnum=Qe.cu,this.loginErrorMessage="",this.apiCallStatusEnum=Qe.Bn,this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),(0,ah.a)([this.store.select(st.ul),this.store.select(st.Sr)]).pipe((0,ui.R)(this.unSubs[0])).subscribe(([T,x])=>{this.loginErrorMessage="",T.status===Qe.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof T.message?JSON.stringify(T.message):T.message),this.logger.error(T.message)),x.status===Qe.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof x.message?JSON.stringify(x.message):x.message),this.logger.error(x.message))}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.appConfig=T,this.logger.info(T)})}onLogin(){if(!this.password)return!0;this.loginErrorMessage="",this.appConfig.enable2FA?(this.store.dispatch((0,Qt.qR)({payload:{maxWidth:"35rem",data:{component:sd}}})),this.rtlEffects.closeAlert.pipe((0,Ka.q)(1)).subscribe(T=>{T&&this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.password),defaultPassword:Qe.kO.includes(this.password.toLowerCase()),twoFAToken:T.twoFAToken}}))})):this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.password),defaultPassword:Qe.kO.includes(this.password.toLowerCase())}}))}resetData(){this.password="",this.loginErrorMessage="",this.flgShow=!1}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Y1)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:Y1,selectors:[["rtl-login"]],decls:25,vars:12,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","center stretch",1,"login-container"],["fxLayout","row","fxFlex","50","fxLayoutAlign","center stretch"],["fxLayout","row","fxFlex","45","fxLayoutAlign","center stretch"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign","stretch stretch"],["fxFlex","35","fxLayoutAlign","center center",1,"bg-primary"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",1,"rtl-logo-svg"],["fxFlex","65","fxLayout","column","fxLayoutAlign","center stretch",3,"ngClass"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","p-0"],[1,"font-bold-500",3,"ngClass"],[1,"page-title"],[1,"mt-5px","mb-0","px-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["loginForm","ngForm"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","placeholder","Password","id","password","name","password","tabindex","1","required","",3,"type","ngModel","ngModelChange"],["tabindex","2","matSuffix","",3,"click"],[4,"ngIf"],["fxFlex","100","class","color-warn pre-wrap","fxLayoutAlign","start start",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],["fxFlex","100","fxLayoutAlign","start start",1,"color-warn","pre-wrap"],[1,"mr-1","icon-small"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card",2)(3,"div",3)(4,"div",4),t._UZ(5,"img",5),t.qZA(),t.TgZ(6,"div",6)(7,"mat-card-header",7)(8,"mat-card-title",8)(9,"span",9),t._uU(10,"Welcome"),t.qZA()()(),t.TgZ(11,"mat-card-content",10)(12,"form",11,12)(14,"mat-form-field",13)(15,"input",14),t.NdJ("ngModelChange",function(nt){return V.password=nt}),t.qZA(),t.TgZ(16,"mat-icon",15),t.NdJ("click",function(){return V.flgShow=!V.flgShow}),t._uU(17),t.qZA(),t.YNc(18,rh,2,0,"mat-error",16),t.qZA(),t.YNc(19,Ga,4,1,"p",17),t.TgZ(20,"div",18)(21,"button",19),t.NdJ("click",function(){return V.resetData()}),t._uU(22,"Clear"),t.qZA(),t.TgZ(23,"button",20),t.NdJ("click",function(){return V.onLogin()}),t._uU(24,"Login"),t.qZA()()()()()()()()()),2&x&&(t.xp6(6),t.Q6J("ngClass",t.VKq(7,O0,V.screenSize===V.screenSizeEnum.XS)),t.xp6(2),t.Q6J("ngClass",t.WLB(9,P0,V.screenSize===V.screenSizeEnum.XS,V.screenSize!==V.screenSizeEnum.XS)),t.xp6(7),t.Q6J("type",V.flgShow?"text":"password")("ngModel",V.password),t.xp6(2),t.Oqu(V.flgShow?"visibility_off":"visibility"),t.xp6(1),t.Q6J("ngIf",!V.password),t.xp6(1),t.Q6J("ngIf",""!==V.loginErrorMessage))},dependencies:[si.mk,si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,fn.a8,fn.dk,fn.dn,fn.n5,Fl.Hw,Sn.TO,Sn.KE,Sn.R9,Er.Nt,Si.h],styles:[".login-container[_ngcontent-%COMP%]{height:90vh}.login-container[_ngcontent-%COMP%] .mat-card[_ngcontent-%COMP%]{height:30rem}.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:100%}@media only screen and (max-width: 56.25em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:37%}}@media only screen and (max-width: 37.5em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:70%}}.login-container[_ngcontent-%COMP%] .material-icons.mat-icon[_ngcontent-%COMP%]{font-size:120%;cursor:pointer}"]})}var qr=m(9442);class Cl{constructor(T,x){this.activatedRoute=T,this.router=x,this.error={errorCode:"",errorMessage:""},this.faTimes=fe.NBC,this.unsubs=[new Gn.x,new Gn.x]}ngOnInit(){this.router.routeReuseStrategy.shouldReuseRoute=()=>!1,this.router.onSameUrlNavigation="reload",this.activatedRoute.paramMap.pipe((0,ui.R)(this.unsubs[0])).subscribe(T=>{this.error=window.history.state})}goToHelp(){this.router.navigate(["/help"])}static#e=this.\u0275fac=function(x){return new(x||Cl)(t.Y36(Ne.gz),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:Cl,selectors:[["rtl-error"]],decls:13,vars:3,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","center center"],["fxLayout","column","fxFlex","60","fxLayoutAlign","start center"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","padding-gap-large"],[1,"font-size-300","font-bold-500"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","center center",1,"padding-gap-large"],[1,"box-text","font-size-120"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"mat-card",1)(2,"mat-card-header",2)(3,"mat-card-title",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6),t.qZA()()(),t.TgZ(7,"mat-card-content",6)(8,"div",7),t._uU(9),t.qZA(),t.TgZ(10,"span",8)(11,"button",9),t.NdJ("click",function(){return V.goToHelp()}),t._uU(12,"Go To Help"),t.qZA()()()()()),2&x&&(t.xp6(4),t.Q6J("icon",V.faTimes),t.xp6(2),t.hij("Error ",V.error.errorCode,""),t.xp6(3),t.Oqu(V.error.errorMessage))},dependencies:[Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dk,fn.dn,fn.n5],encapsulation:2})}var er=m(1643),r1=m(8104),Q1=m(9843),k0=m(6534);function s1(K,T){1&K&&t._UZ(0,"span",16)}function R0(K,T){1&K&&t._UZ(0,"span",17)}function sh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",18,4)(2,"div",19),t._UZ(3,"fa-icon",2),t.TgZ(4,"span"),t._uU(5,"Please ensure that "),t.TgZ(6,"strong"),t._uU(7,"experimental-offers"),t.qZA(),t._uU(8," flag is set to true in the Core Lightning config before enabling it in RTL. Click "),t.TgZ(9,"strong")(10,"a",20),t._uU(11,"here"),t.qZA()(),t._uU(12," to learn more about Core Lightning offers."),t.qZA()(),t.TgZ(13,"h4",21),t._uU(14,"Description"),t.qZA(),t.TgZ(15,"span"),t._uU(16,"Offers is a draft specification (also referred as BOLT12) for Lightning nodes and wallets, with experimental support in Core Lightning."),t.qZA(),t.TgZ(17,"h4",21),t._uU(18,"Links"),t.qZA(),t.TgZ(19,"span")(20,"a",22),t._uU(21,"Core lightning Bolt12"),t.qZA()(),t._UZ(22,"mat-divider",23),t.TgZ(23,"div",24),t._UZ(24,"fa-icon",2),t.TgZ(25,"span"),t._uU(26,"Do not get an Offer tattoo until spec is fully ratified!"),t.qZA()(),t.TgZ(27,"mat-slide-toggle",25),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(2);return t.KtG(nt.enableOffers=ge)})("change",function(){t.CHM(x);const ge=t.oxw(2);return t.KtG(ge.onUpdateFeature())}),t._uU(28),t.qZA()()}if(2&K){const x=t.oxw(2);t.xp6(3),t.Q6J("icon",x.faInfoCircle),t.xp6(19),t.Q6J("inset",!0),t.xp6(2),t.Q6J("icon",x.faExclamationTriangle),t.xp6(3),t.Q6J("ngModel",x.enableOffers),t.xp6(1),t.hij("Enable Offers ",x.enableOffers?"(You can find Offers under Lightning -> Transactions -> Offers)":"","")}}function B0(K,T){if(1&K&&(t.TgZ(0,"div")(1,"div",28),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"experimental-dual-fund"),t.qZA(),t._uU(7," flag is set to true in the Core Lightning config before enabling it in RTL. Click "),t.TgZ(8,"strong")(9,"a",29),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about Core Lightning Liquidity Ads."),t.qZA()()()),2&K){const x=t.oxw(3);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle)}}function o1(K,T){if(1&K&&(t.TgZ(0,"mat-option",47),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ",t.lcZ(2,2,x.id)," ")}}function N0(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.hij("",x.selPolicyType.placeholder," is required.")}}function Ml(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.AsE("",x.selPolicyType.placeholder," must be greater than or equal to ",x.selPolicyType.min,".")}}function U3(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.AsE("",x.selPolicyType.placeholder," must be less than or equal to ",x.selPolicyType.max,".")}}function j1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Lease base fee is required."),t.qZA())}function F0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Lease base basis is required."),t.qZA())}function od(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Max channel routing base fee is required."),t.qZA())}function l1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Max channel routing fee rate is required."),t.qZA())}const H0=function(K,T){return{"alert-danger":K,"alert-info":T}};function da(K,T){if(1&K&&(t.TgZ(0,"h4",48)(1,"span",49),t._uU(2),t.qZA()()),2&K){const x=t.oxw(4);t.xp6(1),t.Q6J("ngClass",t.WLB(2,H0,!!x.updateMsg.error,!!x.updateMsg.data)),t.xp6(1),t.hij(" ",x.updateMsg.error&&""!==x.updateMsg.error?"Error: "+x.updateMsg.error||0:x.updateMsg.data&&""!==x.updateMsg.data?x.updateMsg.data:"Successfully Updated the Funding Policy!"," ")}}function q1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",30)(1,"div",31),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"These config changes should be configured permanently via the config file on your CLN node otherwise the policy would need to be configured again, if your node restarts."),t.qZA()(),t.TgZ(5,"div",32)(6,"mat-form-field",33)(7,"mat-select",34),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.selPolicyType=ge)})("selectionChange",function(){t.CHM(x);const ge=t.oxw(3);return t.KtG(ge.policyMod=null)}),t.YNc(8,o1,3,4,"mat-option",35),t.qZA()(),t.TgZ(9,"mat-form-field",36)(10,"input",37,38),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.policyMod=ge)}),t.qZA(),t.TgZ(12,"mat-hint"),t._uU(13),t.qZA(),t.YNc(14,N0,2,1,"mat-error",26),t.YNc(15,Ml,2,2,"mat-error",26),t.YNc(16,U3,2,2,"mat-error",26),t.qZA()(),t.TgZ(17,"div",32)(18,"mat-form-field",36)(19,"input",39),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.lease_fee_base_sat=ge)}),t.qZA(),t.YNc(20,j1,2,0,"mat-error",26),t.qZA(),t.TgZ(21,"mat-form-field",36)(22,"input",40),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.lease_fee_basis=ge)}),t.qZA(),t.YNc(23,F0,2,0,"mat-error",26),t.qZA()(),t.TgZ(24,"div",32)(25,"mat-form-field",36)(26,"input",41),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.channelFeeMaxBaseSat=ge)}),t.qZA(),t.YNc(27,od,2,0,"mat-error",26),t.qZA(),t.TgZ(28,"mat-form-field",36)(29,"input",42),t.NdJ("ngModelChange",function(ge){t.CHM(x);const nt=t.oxw(3);return t.KtG(nt.channelFeeMaxProportional=ge)}),t.qZA(),t.YNc(30,l1,2,0,"mat-error",26),t.qZA()(),t.YNc(31,da,3,5,"h4",43),t.TgZ(32,"div",44)(33,"button",45),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(3);return t.KtG(ge.onResetPolicy())}),t._uU(34,"Reset"),t.qZA(),t.TgZ(35,"button",46),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw(3);return t.KtG(ge.onUpdateFundingPolicy())}),t._uU(36,"Update"),t.qZA()()()}if(2&K){const x=t.oxw(3);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle),t.xp6(5),t.Q6J("ngModel",x.selPolicyType),t.xp6(1),t.Q6J("ngForOf",x.policyTypes),t.xp6(2),t.Q6J("placeholder",x.selPolicyType.placeholder)("step","fixed"===x.selPolicyType.id?1e3:10)("min",x.selPolicyType.min)("max",x.selPolicyType.max)("ngModel",x.policyMod),t.xp6(3),t.lnq("",x.selPolicyType.placeholder," should be between ",x.selPolicyType.min," and ",x.selPolicyType.max,""),t.xp6(1),t.Q6J("ngIf",!x.policyMod),t.xp6(1),t.Q6J("ngIf",x.policyModx.selPolicyType.max),t.xp6(3),t.Q6J("ngModel",x.lease_fee_base_sat),t.xp6(1),t.Q6J("ngIf",!x.lease_fee_base_sat),t.xp6(2),t.Q6J("ngModel",x.lease_fee_basis),t.xp6(1),t.Q6J("ngIf",!x.lease_fee_basis),t.xp6(3),t.Q6J("ngModel",x.channelFeeMaxBaseSat),t.xp6(1),t.Q6J("ngIf",!x.channelFeeMaxBaseSat),t.xp6(2),t.Q6J("ngModel",x.channelFeeMaxProportional),t.xp6(1),t.Q6J("ngIf",!x.channelFeeMaxProportional),t.xp6(1),t.Q6J("ngIf",x.flgUpdateCalled)}}function Ec(K,T){if(1&K&&(t.TgZ(0,"form",18,4),t.YNc(2,B0,12,1,"div",26),t.YNc(3,q1,37,23,"div",27),t.qZA()),2&K){const x=t.oxw(2);t.xp6(2),t.Q6J("ngIf",!x.features[1].enabled),t.xp6(1),t.Q6J("ngIf",x.features[1].enabled)}}function ld(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-expansion-panel",9),t.NdJ("opened",function(){const nt=t.CHM(x).index,kt=t.oxw();return t.KtG(kt.onPanelExpanded(nt))}),t.TgZ(1,"mat-expansion-panel-header")(2,"mat-panel-title",10)(3,"h4",11),t._uU(4),t.qZA(),t.TgZ(5,"h4",11),t.YNc(6,s1,1,0,"span",12),t.YNc(7,R0,1,0,"span",13),t._uU(8),t.qZA()()(),t.TgZ(9,"div",14),t.YNc(10,sh,29,5,"form",15),t.YNc(11,Ec,4,2,"form",15),t.qZA()()}if(2&K){const x=T.$implicit,V=T.index;t.Q6J("expanded",!1),t.xp6(4),t.Oqu(x.name),t.xp6(2),t.Q6J("ngIf",x.enabled),t.xp6(1),t.Q6J("ngIf",!x.enabled),t.xp6(1),t.hij(" ",x.enabled?"Enabled":"Disabled"," "),t.xp6(2),t.Q6J("ngIf",0===V),t.xp6(1),t.Q6J("ngIf",1===V)}}class ql{constructor(T,x,V,ge){this.logger=T,this.store=x,this.dataService=V,this.commonService=ge,this.faInfoCircle=fe.sqG,this.faExclamationTriangle=fe.eHv,this.faCode=fe.dT$,this.features=[{name:"Offers",enabled:!1},{name:"Channel Funding Policy",enabled:!1}],this.enableOffers=!1,this.fundingPolicy={},this.policyTypes=Qe.gB,this.selPolicyType=Qe.gB[0],this.flgUpdateCalled=!1,this.updateMsg={},this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.dataService.listConfigs().pipe((0,ui.R)(this.unSubs[0])).subscribe({next:T=>{this.logger.info("Received List Configs: "+JSON.stringify(T)),this.features[1].enabled=!!T["experimental-dual-fund"]},error:T=>{this.logger.error("List Configs Error: "+JSON.stringify(T)),this.features[1].enabled=!1}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.selNode=T,this.enableOffers=this.selNode.settings.enableOffers||!1,this.features[0].enabled=this.enableOffers,this.logger.info(this.selNode)}),this.store.select(Cs.Rn).pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.policyTypes[2].max=T.balance.totalBalance||1e3})}onPanelExpanded(T){1===T&&!this.fundingPolicy.policy&&this.dataService.getOrUpdateFunderPolicy().pipe((0,ui.R)(this.unSubs[3])).subscribe(x=>{this.logger.info("Received Funder Update Policy: "+JSON.stringify(x)),this.fundingPolicy=x,this.fundingPolicy.policy&&(this.selPolicyType=Qe.gB.find(V=>V.id===this.fundingPolicy.policy)||this.policyTypes[0]),this.policyMod=this.fundingPolicy.policy_mod||0===this.fundingPolicy.policy_mod?this.fundingPolicy.policy_mod:null,this.lease_fee_base_sat=this.fundingPolicy.lease_fee_base_msat?this.fundingPolicy.lease_fee_base_msat/1e3:0===this.fundingPolicy.lease_fee_base_msat?0:null,this.lease_fee_basis=this.fundingPolicy.lease_fee_basis||0===this.fundingPolicy.lease_fee_basis?this.fundingPolicy.lease_fee_basis:null,this.channelFeeMaxBaseSat=this.fundingPolicy.channel_fee_max_base_msat?this.fundingPolicy.channel_fee_max_base_msat/1e3:0===this.fundingPolicy.channel_fee_max_base_msat?0:null,this.channelFeeMaxProportional=this.fundingPolicy.channel_fee_max_proportional_thousandths||0===this.fundingPolicy.channel_fee_max_proportional_thousandths?1e3*this.fundingPolicy.channel_fee_max_proportional_thousandths:null})}onUpdateFeature(){this.logger.info(this.selNode),this.selNode.settings.enableOffers=this.enableOffers,this.features[0].enabled=this.enableOffers,this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_SETTING,service:Qe.JX.OFFERS,settings:{enableOffers:this.enableOffers}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}}))}onUpdateFundingPolicy(){this.flgUpdateCalled=!0,this.updateMsg={},this.dataService.getOrUpdateFunderPolicy(this.selPolicyType.id,this.policyMod,1e3*(this.lease_fee_base_sat||0),this.lease_fee_basis,1e3*(this.channelFeeMaxBaseSat||0),this.channelFeeMaxProportional?this.channelFeeMaxProportional/1e3:0).pipe((0,ui.R)(this.unSubs[4])).subscribe({next:T=>{this.logger.info(T),this.fundingPolicy=T,this.updateMsg={data:"Compact Lease: "+T.compact_lease},setTimeout(()=>{this.flgUpdateCalled=!1},5e3)},error:T=>{this.logger.error(T),this.updateMsg={error:this.commonService.extractErrorMessage(T,"Error in updating funder policy")},setTimeout(()=>{this.flgUpdateCalled=!1},5e3)}})}onResetPolicy(){this.flgUpdateCalled=!1,this.updateMsg={},this.fundingPolicy.policy?this.selPolicyType=Qe.gB.find(T=>T.id===this.fundingPolicy.policy)||this.policyTypes[0]:this.selPolicyType=Qe.gB[0],this.policyMod=this.fundingPolicy.policy_mod||0===this.fundingPolicy.policy_mod?this.fundingPolicy.policy_mod:null,this.lease_fee_base_sat=this.fundingPolicy.lease_fee_base_msat?this.fundingPolicy.lease_fee_base_msat/1e3:0===this.fundingPolicy.lease_fee_base_msat?0:null,this.lease_fee_basis=this.fundingPolicy.lease_fee_basis||0===this.fundingPolicy.lease_fee_basis?this.fundingPolicy.lease_fee_basis:null,this.channelFeeMaxBaseSat=this.fundingPolicy.channel_fee_max_base_msat?this.fundingPolicy.channel_fee_max_base_msat/1e3:0===this.fundingPolicy.channel_fee_max_base_msat?0:null,this.channelFeeMaxProportional=this.fundingPolicy.channel_fee_max_proportional_thousandths||0===this.fundingPolicy.channel_fee_max_proportional_thousandths?1e3*this.fundingPolicy.channel_fee_max_proportional_thousandths:null}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||ql)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(r1.D),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:ql,selectors:[["rtl-experimental-settings"]],decls:13,vars:3,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["class","flat-expansion-panel my-1",3,"expanded","opened",4,"ngFor","ngForOf"],[1,"flat-expansion-panel","my-1",3,"expanded","opened"],["fxFlex","100","fxLayoutAlign","space-between center"],[1,"font-bold-500"],["class","dot green",4,"ngIf"],["class","dot yellow",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],[1,"dot","green"],[1,"dot","yellow"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","100",1,"alert","alert-info"],["href","http://bolt12.org","target","_blank"],[1,"mt-2"],["href","https://github.com/lightningnetwork/lightning-rfc/pull/798 ","target","blank"],[1,"my-2",3,"inset"],[1,"alert","alert-warn"],["autoFocus","","tabindex","1","color","primary","name","enableOfr",1,"my-1",3,"ngModel","ngModelChange","change"],[4,"ngIf"],["fxLayout","column",4,"ngIf"],["fxFlex","100","fxLayout","row",1,"alert","alert-warn"],["href","https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d","target","_blank"],["fxLayout","column"],["fxFlex","100","fxLayout","row",1,"alert","alert-warn","mb-2"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch"],["fxFlex","49","fxLayoutAlign","start end"],["autofocus","","tabindex","1","placeholder","Policy","name","policy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","49"],["matInput","","type","number","tabindex","2","required","","name","plcMod",3,"placeholder","step","min","max","ngModel","ngModelChange"],["plcMod","ngModel"],["matInput","","placeholder","Lease Base Fee (Sats)","type","number","step","100","min","0","tabindex","3","required","","name","lease_fee_base_sat",3,"ngModel","ngModelChange"],["matInput","","placeholder","Lease Base Basis (bps)","type","number","step","1","min","0","tabindex","4","required","","name","lease_fee_basis",3,"ngModel","ngModelChange"],["matInput","","placeholder","Max Channel Routing Base Fee (Sats)","type","number","step","100","min","0","tabindex","5","required","","name","channelFeeMaxBaseSat",3,"ngModel","ngModelChange"],["matInput","","placeholder","Max Channel Routing Fee Rate (ppm)","type","number","step","1000","min","0","tabindex","6","required","","name","channelFeeMaxProportional",3,"ngModel","ngModelChange"],["fxLayoutAlign","start stretch","class","font-bold-500 mt-2",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","7",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxLayoutAlign","start stretch",1,"font-bold-500","mt-2"],["fxFlex","100",1,"alert",3,"ngClass"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Experimental features should be enabled with caution. Many such features may be implementation specific and not ratified for the BOLT spec. Enabling these may still result in a broken experience. Referencing relevant feature documentation is highly advised before enabling."),t.qZA()(),t.TgZ(5,"form",3,4)(7,"div",5),t._UZ(8,"fa-icon",6),t.TgZ(9,"span",7),t._uU(10,"Features"),t.qZA()(),t.TgZ(11,"mat-accordion"),t.YNc(12,ld,12,7,"mat-expansion-panel",8),t.qZA()()()),2&x&&(t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(6),t.Q6J("icon",V.faCode),t.xp6(4),t.Q6J("ngForOf",V.features))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.Fj,qt.wV,qt.JJ,qt.JL,qt.Q7,qt.qQ,qt.Fd,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Sn.TO,Sn.KE,Sn.bx,Er.Nt,io.d,Jn.gD,oi.ey,so.Rr,xi.$V,Si.h,Q1.F,k0.q,si.rS],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}const tl=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"lnd",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_lnd_lnd_module_ts")]).then(m.bind(m,1636)).then(K=>K.LNDModule),canActivate:[er.a1]},{path:"cln",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_cln_cln_module_ts")]).then(m.bind(m,9564)).then(K=>K.CLNModule),canActivate:[er.a1]},{path:"ecl",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_eclair_ecl_module_ts")]).then(m.bind(m,7258)).then(K=>K.ECLModule),canActivate:[er.a1]},{path:"settings",component:Pt,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"app"},{path:"app",component:Qr,canActivate:[er.a1]},{path:"auth",component:Eo,canActivate:[er.a1]},{path:"bconfig",component:cs,canActivate:[er.a1]}]},{path:"config",component:Yc,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"nodesettings"},{path:"nodesettings",component:k2,canActivate:[er.a1]},{path:"pglayout",component:xl,canActivate:[er.a1]},{path:"services",component:N2,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",component:Vl,canActivate:[er.a1]},{path:"boltz",component:fc,canActivate:[er.a1]}]},{path:"experimental",component:ql,canActivate:[er.a1]},{path:"lnconfig",component:mn,canActivate:[er.a1]}]},{path:"services",component:n0,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",pathMatch:"full",redirectTo:"loop/loopout"},{path:"loop/:selTab",component:Gl},{path:"boltz",pathMatch:"full",redirectTo:"boltz/swapout"},{path:"boltz/:selTab",component:Z1}]},{path:"help",component:rd},{path:"login",component:Y1},{path:"error",component:Cl},{path:"**",component:qr.w}],Xl=Ne.Bz.forRoot(tl,{scrollPositionRestoration:"enabled"});var cd=m(6165),Xr=m(8878),Dc=m(1708),dd=m(6643),Jl=m(2543),bo=m(5183),Vs=m(3453);const Ho={LNDChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:fe.HLz,link:"/lnd/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:fe.nNP,link:"/lnd/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:fe.BDt,link:"/lnd/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:fe.FVb,link:"/lnd/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:fe.Ssp,link:"/lnd/transactions",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:fe.SuH,link:"/lnd/routing",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:fe.koM,link:"/lnd/reports",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:fe.wn1,link:"/lnd/graph",userPersona:Qe.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:fe.hkK,link:"/lnd/messages",userPersona:Qe.ol.ALL},{id:37,parentId:3,name:"Backup",iconType:"FA",icon:fe.q7m,link:"/lnd/channelbackup",userPersona:Qe.ol.ALL},{id:38,parentId:3,name:"Network",iconType:"FA",icon:fe.TmZ,link:"/lnd/network",userPersona:Qe.ol.OPERATOR},{id:39,parentId:3,name:"Node/Network",iconType:"FA",icon:fe.xf3,link:"/lnd/network",userPersona:Qe.ol.MERCHANT}]},{id:4,parentId:0,name:"Services",iconType:"FA",icon:fe.Krp,link:"/services/loop",userPersona:Qe.ol.ALL,children:[{id:41,parentId:4,name:"Loop",iconType:"FA",icon:fe.vqe,link:"/services/loop",userPersona:Qe.ol.ALL},{id:42,parentId:4,name:"Boltz",iconType:"SVG",icon:"boltzIconBlock",link:"/services/boltz",userPersona:Qe.ol.ALL}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:fe.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:fe.Psp,link:"/help",userPersona:Qe.ol.ALL}],CLNChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:fe.HLz,link:"/cln/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:fe.nNP,link:"/cln/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:fe.BDt,link:"/cln/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:fe.FVb,link:"/cln/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Liquidity Ads",iconType:"FA",icon:fe.Acd,link:"/cln/liquidityads",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Transactions",iconType:"FA",icon:fe.Ssp,link:"/cln/transactions",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Routing",iconType:"FA",icon:fe.SuH,link:"/cln/routing",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Reports",iconType:"FA",icon:fe.koM,link:"/cln/reports",userPersona:Qe.ol.ALL},{id:36,parentId:3,name:"Graph Lookup",iconType:"FA",icon:fe.wn1,link:"/cln/graph",userPersona:Qe.ol.ALL},{id:37,parentId:3,name:"Sign/Verify",iconType:"FA",icon:fe.hkK,link:"/cln/messages",userPersona:Qe.ol.ALL},{id:38,parentId:3,name:"Fee Rates",iconType:"FA",icon:fe.USL,link:"/cln/rates",userPersona:Qe.ol.OPERATOR},{id:39,parentId:3,name:"Node/Fee Rates",iconType:"FA",icon:fe.xf3,link:"/cln/rates",userPersona:Qe.ol.MERCHANT}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:fe.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:fe.Psp,link:"/help",userPersona:Qe.ol.ALL}],ECLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:fe.HLz,link:"/ecl/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:fe.nNP,link:"/ecl/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:fe.BDt,link:"/ecl/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:fe.FVb,link:"/ecl/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:fe.Ssp,link:"/ecl/transactions",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:fe.SuH,link:"/ecl/routing",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:fe.koM,link:"/ecl/reports",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:fe.wn1,link:"/ecl/graph",userPersona:Qe.ol.ALL}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:fe.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:fe.Psp,link:"/help",userPersona:Qe.ol.ALL}]};function X1(K,T){if(1&K&&(t.TgZ(0,"mat-option",11),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.index),t.xp6(1),t.AsE(" ",x.lnNode," (",x.lnImplementation,") ")}}function oh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-select",9),t.NdJ("selectionChange",function(ge){t.CHM(x);const nt=t.oxw();return t.KtG(nt.onNodeSelectionChange(ge.value))}),t.YNc(1,X1,2,3,"mat-option",10),t.qZA()}if(2&K){const x=t.oxw();t.Q6J("value",x.selConfigNodeIndex),t.xp6(1),t.Q6J("ngForOf",x.appConfig.nodes)}}function z0(K,T){if(1&K&&(t.TgZ(0,"span",21),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.oxw(2);const V=t.MAs(11);t.xp6(1),t.Q6J("ngTemplateOutlet","boltzIconBlock"===x.icon?V:null)}}function nf(K,T){if(1&K&&t._UZ(0,"fa-icon",23),2&K){const x=t.oxw().$implicit;t.Q6J("icon",x.icon)}}function lh(K,T){if(1&K&&(t.TgZ(0,"mat-icon",24),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x.icon)}}function d1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",15)(1,"div",16),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onChildNavClicked(nt))}),t.TgZ(2,"div",17),t.YNc(3,z0,2,1,"span",18),t.YNc(4,nf,1,1,"fa-icon",19),t.YNc(5,lh,2,1,"mat-icon",20),t.TgZ(6,"span"),t._uU(7),t.qZA()()()()}if(2&K){const x=T.$implicit;t.s9C("routerLink",x.link),t.xp6(3),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name)}}function V3(K,T){if(1&K&&(t.TgZ(0,"span",33),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function u1(K,T){if(1&K&&t._UZ(0,"fa-icon",23),2&K){const x=t.oxw().$implicit;t.Q6J("icon",x.icon)}}function Ac(K,T){if(1&K&&(t.TgZ(0,"mat-icon",24),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x.icon)}}function ud(K,T){if(1&K&&(t.TgZ(0,"mat-nested-tree-node",25)(1,"div",26)(2,"div",27),t.YNc(3,V3,2,1,"span",28),t.YNc(4,u1,1,1,"fa-icon",19),t.YNc(5,Ac,2,1,"mat-icon",20),t.TgZ(6,"span"),t._uU(7),t.qZA()(),t.TgZ(8,"button",29)(9,"mat-icon",30),t._uU(10),t.qZA()()(),t.TgZ(11,"div",31),t.GkF(12,32),t.qZA()()),2&K){const x=T.$implicit,V=t.oxw(2);t.xp6(3),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name),t.xp6(1),t.uIk("aria-label","toggle "+x.name),t.xp6(2),t.Oqu(V.treeControlNested.isExpanded(x)?"arrow_drop_up":"arrow_drop_down"),t.xp6(1),t.ekj("tree-children-invisible",!V.treeControlNested.isExpanded(x))}}function hd(K,T){if(1&K&&(t.TgZ(0,"mat-tree",5,12),t.YNc(2,d1,8,5,"mat-tree-node",13),t.YNc(3,ud,13,8,"mat-nested-tree-node",14),t.qZA()),2&K){const x=t.oxw();t.Q6J("dataSource",x.navMenus)("treeControl",x.treeControlNested),t.xp6(3),t.Q6J("matTreeNodeDefWhen",x.hasChild)}}function U0(K,T){if(1&K&&(t.TgZ(0,"span",21),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function ch(K,T){if(1&K&&t._UZ(0,"fa-icon",36),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.Q6J("icon",x.icon)}}function fd(K,T){if(1&K&&(t.TgZ(0,"mat-icon",37),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.xp6(1),t.Oqu(x.icon)}}function dh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",16),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onShowData(nt))}),t.YNc(1,U0,2,1,"span",18),t.YNc(2,ch,1,2,"fa-icon",34),t.YNc(3,fd,2,2,"mat-icon",35),t.TgZ(4,"span"),t._uU(5),t.qZA()()}if(2&K){const x=T.$implicit;t.xp6(1),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name)}}function V0(K,T){if(1&K&&(t.TgZ(0,"span",33),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function pd(K,T){if(1&K&&t._UZ(0,"fa-icon",36),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.Q6J("icon",x.icon)}}function J1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",16),t.NdJ("click",function(){const nt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onClick(nt))}),t.YNc(1,V0,2,1,"span",28),t.YNc(2,pd,1,2,"fa-icon",34),t.TgZ(3,"span"),t._uU(4),t.qZA()()}if(2&K){const x=T.$implicit;t.xp6(1),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(2),t.Oqu(x.name)}}function uh(K,T){if(1&K&&(t.TgZ(0,"mat-tree",5),t.YNc(1,J1,5,3,"mat-tree-node",6),t.qZA()),2&K){const x=t.oxw();t.Q6J("dataSource",x.navMenusLogout)("treeControl",x.treeControlLogout)}}function W0(K,T){1&K&&(t.O4$(),t.TgZ(0,"svg",38)(1,"g",39)(2,"g",40),t._UZ(3,"circle",41)(4,"path",42)(5,"path",43),t.qZA()()())}class El{constructor(T,x,V,ge,nt,kt){this.logger=T,this.commonService=x,this.sessionService=V,this.store=ge,this.actions=nt,this.rtlEffects=kt,this.ChildNavClicked=new t.vpe,this.faEject=fe.KOR,this.faEye=fe.Mdf,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.logoutNode=[{id:200,parentId:0,name:"Logout",iconType:"FA",icon:fe.KOR}],this.showDataNodes=[{id:1e3,parentId:0,name:"Public Key",iconType:"FA",icon:fe.Mdf}],this.showLogout=!1,this.numPendingChannels=0,this.smallScreen=!1,this.childRootRoute="",this.userPersonaEnum=Qe.ol,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.treeControlNested=new bo.VY(jt=>jt.children),this.treeControlLogout=new bo.VY(jt=>jt.children),this.treeControlShowData=new bo.VY(jt=>jt.children),this.navMenus=new Vs.WX,this.navMenusLogout=new Vs.WX,this.navMenusShowData=new Vs.WX,this.hasChild=(jt,on)=>!!on.children&&on.children.length>0,this.version=Bs.q4,Ho.LNDChildren&&200===Ho.LNDChildren[Ho.LNDChildren.length-1].id&&Ho.LNDChildren.pop(),this.navMenus.data=Ho.LNDChildren||[],this.navMenusLogout.data=this.logoutNode,this.navMenusShowData.data=this.showDataNodes}ngOnInit(){const T=this.sessionService.getItem("token");this.showLogout=!!T,this.flgLoading=!!T,this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(x=>{this.appConfig=x}),this.store.select(st.gW).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{if(this.information=x.nodeDate,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if(this.information&&this.information.chains&&this.information.chains.length&&this.information.chains.length>0&&"object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const V=this.information.chains[0];this.informationChain.chain=V.chain,this.informationChain.network=V.network}}else this.informationChain.chain="",this.informationChain.network="";this.flgLoading=!this.information.identity_pubkey,window.innerWidth<=414&&(this.smallScreen=!0),this.selNode=x.selNode,this.settings=this.selNode?.settings||null,this.selConfigNodeIndex=+(x.selNode?.index||0),this.selNode&&this.selNode.lnImplementation&&this.filterSideMenuNodes(),this.logger.info(x)}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[2])).subscribe(x=>{this.showLogout=!!x.token,this.flgLoading=!!x.token}),this.actions.pipe((0,ui.R)(this.unSubs[3]),(0,xr.h)(x=>x.type===Qe.pg.LOGOUT)).subscribe(x=>{this.showLogout=!1})}onClick(T){"Logout"===T.name&&(this.store.dispatch((0,Qt.c1)({payload:{data:{type:Qe.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}}})),this.rtlEffects.closeConfirm.pipe((0,ui.R)(this.unSubs[4])).subscribe(x=>{x&&(this.showLogout=!1,this.store.dispatch((0,Qt.kS)()))})),this.ChildNavClicked.emit(T)}onChildNavClicked(T){this.ChildNavClicked.emit(T)}filterSideMenuNodes(){switch(this.selNode?.lnImplementation?.toUpperCase()){case"CLN":this.loadCLNMenu();break;case"ECL":this.loadECLMenu();break;default:this.loadLNDMenu()}}loadLNDMenu(){let T=[];T=JSON.parse(JSON.stringify(Ho.LNDChildren)),this.navMenus.data=T?.filter(x=>x.children&&x.children.length?(x.children=x.children?.filter(V=>(V.userPersona===Qe.ol.ALL||V.userPersona===this.settings?.userPersona)&&"/services/loop"!==V.link&&"/services/boltz"!==V.link||"/services/loop"===V.link&&this.settings?.swapServerUrl&&""!==this.settings.swapServerUrl.trim()||"/services/boltz"===V.link&&this.settings?.boltzServerUrl&&""!==this.settings.boltzServerUrl.trim()),x.children.length>0):x.userPersona===Qe.ol.ALL||x.userPersona===this.settings?.userPersona)}loadCLNMenu(){let T=[];T=JSON.parse(JSON.stringify(Ho.CLNChildren)),this.navMenus.data=T?.filter(x=>x.children&&x.children.length?(x.children=x.children?.filter(V=>(V.userPersona===Qe.ol.ALL||V.userPersona===this.settings?.userPersona)&&"/services/peerswap"!==V.link||"/services/peerswap"===V.link&&this.settings?.enablePeerswap),x.children.length>0):x.userPersona===Qe.ol.ALL||x.userPersona===this.settings?.userPersona)}loadECLMenu(){this.navMenus.data=JSON.parse(JSON.stringify(Ho.ECLChildren))}onShowData(T){this.store.dispatch((0,Qt.tj)()),this.ChildNavClicked.emit("showData")}onNodeSelectionChange(T){const x=this.selConfigNodeIndex;this.selConfigNodeIndex=T;const V=this.appConfig.nodes.find(ge=>+ge.index===T);this.store.dispatch((0,Qt.fk)({payload:{uiMessage:Qe.m6.UPDATE_SELECTED_NODE,prevLnNodeIndex:+x,currentLnNode:V||null,isInitialSetup:!1}})),this.ChildNavClicked.emit("selectNode")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||El)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Qo.m),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(Na.V))};static#t=this.\u0275cmp=t.Xpm({type:El,selectors:[["rtl-side-navigation"]],viewQuery:function(x,V){if(1&x&&t.Gf(Vs.gi,5),2&x){let ge;t.iGM(ge=t.CRH())&&(V.tree=ge.first)}},outputs:{ChildNavClicked:"ChildNavClicked"},decls:12,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","90","fxLayoutAlign","start stretch",1,"w-100"],["class","m-2 multi-node-select",3,"value","selectionChange",4,"ngIf"],[1,"w-100"],[3,"dataSource","treeControl",4,"ngIf"],[3,"dataSource","treeControl"],[3,"click",4,"matTreeNodeDef"],["fxLayout","column","fxLayoutAlign","end stretch",1,"w-100"],["boltzIconBlock",""],[1,"m-2","multi-node-select",3,"value","selectionChange"],["tabindex","1",3,"value",4,"ngFor","ngForOf"],["tabindex","1",3,"value"],["tree",""],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink",4,"matTreeNodeDef"],["fxLayout","column","matTreeNodeToggle","",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink"],[3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["class","fa-icon-small mr-2",4,"ngIf"],["class","fa-icon-small mr-2",3,"icon",4,"ngIf"],["class","mat-icon-36",4,"ngIf"],[1,"fa-icon-small","mr-2"],[3,"ngTemplateOutlet"],[1,"fa-icon-small","mr-2",3,"icon"],[1,"mat-icon-36"],["fxLayout","column","matTreeNodeToggle",""],["fxLayout","row","fxLayoutAlign","start center",1,"mat-nested-tree-node-parent"],["fxFlex","89","fxLayoutAlign","start center"],["class","mr-2",4,"ngIf"],["fxFlex","11","mat-icon-button","","fxLayoutAlign","end center"],[1,"mat-icon-rtl-mirror"],[1,"mat-nested-tree-node-child"],["matTreeNodeOutlet",""],[1,"mr-2"],["class","fa-icon-small mr-2","matTooltipPosition","right",3,"icon","matTooltip",4,"ngIf"],["class","mat-icon-36","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],["matTooltipPosition","right",1,"fa-icon-small","mr-2",3,"icon","matTooltip"],["matTooltipPosition","right",1,"mat-icon-36",3,"matTooltip"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,oh,2,2,"mat-select",2),t._UZ(3,"mat-divider",3),t.YNc(4,hd,4,3,"mat-tree",4),t._UZ(5,"mat-divider",3),t.TgZ(6,"mat-tree",5),t.YNc(7,dh,6,4,"mat-tree-node",6),t.qZA()(),t.TgZ(8,"div",7),t.YNc(9,uh,2,2,"mat-tree",4),t.qZA()(),t.YNc(10,W0,6,0,"ng-template",null,8,t.W1O)),2&x&&(t.xp6(2),t.Q6J("ngIf",V.appConfig.nodes.length>1),t.xp6(2),t.Q6J("ngIf",null==V.settings?null:V.settings.lnServerUrl),t.xp6(2),t.Q6J("dataSource",V.navMenusShowData)("treeControl",V.treeControlShowData),t.xp6(3),t.Q6J("ngIf",V.showLogout))},dependencies:[si.sg,si.O5,si.tP,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Fl.Hw,io.d,Vs.GZ,Vs.fQ,Vs.eu,Vs.gi,Vs.uo,Vs.Ar,Jn.gD,oi.ey,R2.gM,Ne.rH,Ne.Od,xi.$V],styles:[".tree-children-invisible[_ngcontent-%COMP%]{display:none}"]})}var _d=m(8589);function W3(K,T){if(1&K&&(t.TgZ(0,"p",2),t._UZ(1,"fa-icon",3),t.TgZ(2,"span"),t._uU(3),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faCode),t.xp6(2),t.hij("API Version: ",null==x.information?null:x.information.api_version,"")}}function hh(K,T){if(1&K&&(t.TgZ(0,"p",11),t._UZ(1,"fa-icon",3),t.TgZ(2,"span",12),t._uU(3,"Settings"),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faUserCog)}}function fh(K,T){if(1&K&&(t.TgZ(0,"p",13),t._UZ(1,"fa-icon",3),t.TgZ(2,"span",14),t._uU(3,"Help"),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faQuestion)}}function K0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"p",15),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.onClick())}),t._UZ(1,"fa-icon",3),t.TgZ(2,"span"),t._uU(3,"Logout"),t.qZA()()}if(2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faEject)}}class $1{constructor(T,x,V,ge,nt){this.logger=T,this.sessionService=x,this.store=V,this.rtlEffects=ge,this.actions=nt,this.faUserCog=fe.gNZ,this.faCodeBranch=fe.mh3,this.faCode=fe.dT$,this.faCog=fe.b7W,this.faQuestion=fe.Psp,this.faEject=fe.KOR,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.showLogout=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.version=Bs.q4}ngOnInit(){this.store.select(st.R4).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{if(this.information=T,this.flgLoading=!this.information.identity_pubkey,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if(this.information&&this.information.chains&&this.information.chains.length&&this.information.chains.length>0&&"object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const x=this.information.chains[0];this.informationChain.chain=x.chain,this.informationChain.network=x.network}}else this.informationChain.chain="",this.informationChain.network="";this.logger.info(T)}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.showLogout=!!T.token,this.flgLoading=!!T.token}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(T=>T.type===Qe.pg.LOGOUT)).subscribe(()=>{this.showLogout=!1})}onClick(){this.store.dispatch((0,Qt.c1)({payload:{data:{type:Qe.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}}})),this.rtlEffects.closeConfirm.pipe((0,ui.R)(this.unSubs[3])).subscribe(T=>{T&&(this.showLogout=!1,this.store.dispatch((0,Qt.kS)()))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||$1)(t.Y36(sn.mQ),t.Y36(Qo.m),t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(vs.eX))};static#t=this.\u0275cmp=t.Xpm({type:$1,selectors:[["rtl-top-menu"]],decls:14,vars:8,consts:[[1,"top-menu",3,"overlapTrigger"],["topMenu","matMenu"],["mat-menu-item","",1,"cursor-default"],[1,"fa-icon-small","mr-1",3,"icon"],["mat-menu-item","","class","cursor-default",4,"ngIf"],["mat-menu-item","","routerLink","/settings",4,"ngIf"],["mat-menu-item","","routerLink","/help",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],["mat-icon-button","",1,"top-toolbar-icon",3,"matMenuTriggerFor"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo"],[1,"logo-icon"],["mat-menu-item","","routerLink","/settings"],["routerLink","/settings"],["mat-menu-item","","routerLink","/help"],["routerLink","/help"],["mat-menu-item","",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"mat-menu",0,1)(2,"p",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span"),t._uU(5),t.qZA()(),t.YNc(6,W3,4,2,"p",4),t.YNc(7,hh,4,1,"p",5),t.YNc(8,fh,4,1,"p",6),t.YNc(9,K0,4,1,"p",7),t.qZA(),t.TgZ(10,"button",8),t._UZ(11,"img",9),t.TgZ(12,"mat-icon",10),t._uU(13,"arrow_drop_down"),t.qZA()()),2&x){const ge=t.MAs(1);t.Q6J("overlapTrigger",!1),t.xp6(3),t.Q6J("icon",V.faCodeBranch),t.xp6(2),t.hij("Version: ",V.version,""),t.xp6(1),t.Q6J("ngIf",null==V.information?null:V.information.api_version),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("matMenuTriggerFor",ge)}},dependencies:[si.O5,Ot.BN,An.lW,Fl.Hw,_d.VK,_d.OP,_d.p6,Ne.rH],styles:[".top-toolbar-icon .mat-button-wrapper img{width:3.2rem}.top-toolbar-icon .mat-button-wrapper .material-icons.mat-icon.logo-icon{font-size:2rem;text-align:start}\n"],encapsulation:2})}const af=["sideNavigation"],e2=["sideNavContent"];function nl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",13),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.sideNavToggle())}),t.TgZ(1,"mat-icon"),t._uU(2,"menu"),t.qZA()()}if(2&K){const x=t.oxw();t.Q6J("matTooltip",x.flgSideNavOpened?"Hide Navigation Menu":"Show Navigation Menu")("matTooltipDisabled",x.smallScreen)}}function K3(K,T){1&K&&(t.O4$(),t._UZ(0,"path",18))}function ph(K,T){1&K&&(t.O4$(),t._UZ(0,"path",19))}function rf(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",14),t.NdJ("click",function(){t.CHM(x);const ge=t.oxw();return t.KtG(ge.flgSidenavPinned=!ge.flgSidenavPinned)}),t.O4$(),t.TgZ(1,"svg",15),t.YNc(2,K3,1,0,"path",16),t.YNc(3,ph,1,0,"path",17),t.qZA()()}if(2&K){const x=t.oxw();t.Q6J("matTooltip",x.flgSidenavPinned?"Unpin Navigation Menu":"Pin Navigation Menu"),t.xp6(2),t.Q6J("ngIf",!x.flgSidenavPinned),t.xp6(1),t.Q6J("ngIf",x.flgSidenavPinned)}}function sf(K,T){if(1&K&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Oqu(x.information.alias?"RTL - "+x.information.alias:"RTL")}}function _h(K,T){if(1&K&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Oqu(x.information.alias?"Ride The Lightning - "+x.information.alias:"Ride The Lightning")}}function G3(K,T){1&K&&(t.TgZ(0,"div",20),t._UZ(1,"mat-spinner",21),t.TgZ(2,"h4"),t._uU(3,"Loading RTL..."),t.qZA()())}const mh=function(K,T){return[K,T]};class gh{constructor(T,x,V,ge,nt,kt,jt,on,xn){this.logger=T,this.commonService=x,this.store=V,this.actions=ge,this.userIdle=nt,this.router=kt,this.sessionService=jt,this.breakpointObserver=on,this.renderer=xn,this.information={},this.flgLoading=[!0],this.flgSideNavOpened=!0,this.flgCopied=!1,this.accessKey="",this.xSmallScreen=!1,this.smallScreen=!1,this.flgSidenavPinned=!0,this.flgLoggedIn=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.router.events.subscribe(T=>{T instanceof Ne.m2&&document.getElementsByTagName("mat-sidenav-content")[0].scrollTo(0,0)}),this.breakpointObserver.observe([$i.u3.XSmall,$i.u3.TabletPortrait,$i.u3.Small,$i.u3.Medium,$i.u3.Large,$i.u3.XLarge]).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{T.breakpoints[$i.u3.XSmall]?(this.commonService.setScreenSize(Qe.cu.XS),this.smallScreen=!0):T.breakpoints[$i.u3.TabletPortrait]?(this.commonService.setScreenSize(Qe.cu.SM),this.smallScreen=!0):T.breakpoints[$i.u3.Small]||T.breakpoints[$i.u3.Medium]?(this.commonService.setScreenSize(Qe.cu.MD),this.smallScreen=!1):T.breakpoints[$i.u3.Large]?(this.commonService.setScreenSize(Qe.cu.LG),this.smallScreen=!1):(this.commonService.setScreenSize(Qe.cu.XL),this.smallScreen=!1)}),this.store.dispatch((0,Qt.ey)()),this.accessKey=this.readAccessKey()||"",this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.settings=T.settings,this.sessionService.getItem("token")?(this.flgLoggedIn=!0,this.userIdle.startWatching()):(this.flgLoggedIn=!1,this.flgLoading[0]=!1)}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.appConfig=T}),this.store.select(st.R4).pipe((0,ui.R)(this.unSubs[3])).subscribe(T=>{this.information=T,this.flgLoading[0]=!this.information.identity_pubkey,this.logger.info(this.information)}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1),this.actions.pipe((0,ui.R)(this.unSubs[4]),(0,xr.h)(T=>T.type===Qe.pg.SET_RTL_CONFIG||T.type===Qe.pg.LOGIN||T.type===Qe.pg.LOGOUT)).subscribe(T=>{T.type===Qe.pg.SET_RTL_CONFIG&&(this.sessionService.getItem("token")||(+T.payload.sso.rtlSSO?!this.accessKey||this.accessKey.trim().length<32?this.router.navigate(["./error"],{state:{errorCode:"406",errorMessage:"Access key too short. It should be at least 32 characters long."}}):this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.accessKey).toString(),defaultPassword:!1}})):this.router.navigate(["./login"]))),T.type===Qe.pg.LOGIN&&(this.flgLoggedIn=!0,this.userIdle.startWatching(),this.userIdle.resetTimer(),setTimeout(()=>{this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)},1e3)),T.type===Qe.pg.LOGOUT&&(this.flgLoggedIn=!1,this.userIdle.stopWatching(),this.userIdle.stopTimer())}),this.userIdle.onTimerStart().pipe((0,ui.R)(this.unSubs[5])).subscribe(T=>{this.logger.info("Counting Down: "+(11-T))}),this.userIdle.onTimeout().pipe((0,ui.R)(this.unSubs[6])).subscribe(()=>{this.logger.info("Time Out!"),this.sessionService.getItem("token")&&(this.flgLoggedIn=!1,this.logger.warn("Time limit exceeded for session inactivity."),this.store.dispatch((0,Qt.ts)()),this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.WARNING,alertTitle:"Logging out",titleMessage:"Time limit exceeded for session inactivity."}}})),this.store.dispatch((0,Qt.kS)()))}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1)}readAccessKey(){const T=window.location.href;return T.includes("access-key=")?T.substring(T.lastIndexOf("access-key=")+11).trim():null}ngAfterViewInit(){(this.smallScreen||!this.flgLoggedIn)&&this.sideNavigation.close(),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)}sideNavToggle(){this.flgSideNavOpened=!this.flgSideNavOpened,this.sideNavigation.toggle()}onNavigationClicked(T){this.smallScreen&&this.sideNavigation.close()}copiedText(T){this.flgCopied=!0,setTimeout(()=>{this.flgCopied=!1},5e3),this.logger.info("Copied Text: "+T)}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||gh)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(no),t.Y36(Ne.F0),t.Y36(Qo.m),t.Y36($i.Yg),t.Y36(t.Qsj))};static#t=this.\u0275cmp=t.Xpm({type:gh,selectors:[["rtl-app"]],viewQuery:function(x,V){if(1&x&&(t.Gf(af,5),t.Gf(e2,5)),2&x){let ge;t.iGM(ge=t.CRH())&&(V.sideNavigation=ge.first),t.iGM(ge=t.CRH())&&(V.sideNavContent=ge.first)}},decls:23,vars:15,consts:[["fxLayout","column","id","rtl-container",1,"rtl-container","medium",3,"ngClass"],["fxLayout","row","fxLayoutAlign","space-between center",1,"padding-gap-x","bg-primary","rtl-top-toolbar"],["class","top-toolbar-icon mr-1","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","matTooltipDisabled","click",4,"ngIf"],["class","top-toolbar-icon","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click",4,"ngIf"],[4,"ngIf"],[1,"sidenav","mat-elevation-z6",3,"perfectScrollbar","opened","mode"],["sideNavigation",""],["fxFlex","100",3,"ChildNavClicked"],[3,"perfectScrollbar"],["sideNavContent",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["outlet","outlet"],["class","rtl-spinner",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon","mr-1",3,"matTooltip","matTooltipDisabled","click"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon",3,"matTooltip","click"],["viewBox","0 0 32 32",1,"icon-pinned"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z",4,"ngIf"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z",4,"ngIf"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z"],[1,"rtl-spinner"],["color","accent"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.ALo(1,"lowercase"),t.ALo(2,"lowercase"),t.TgZ(3,"mat-toolbar",1)(4,"div"),t.YNc(5,nl,3,2,"button",2),t.YNc(6,rf,4,3,"button",3),t.qZA(),t.TgZ(7,"div"),t.YNc(8,sf,2,1,"span",4),t.YNc(9,_h,2,1,"span",4),t.qZA(),t.TgZ(10,"div"),t._UZ(11,"rtl-top-menu"),t.qZA()(),t.TgZ(12,"mat-sidenav-container")(13,"mat-sidenav",5,6)(15,"rtl-side-navigation",7),t.NdJ("ChildNavClicked",function(nt){return V.onNavigationClicked(nt)}),t.qZA()(),t.TgZ(16,"mat-sidenav-content",8,9)(18,"div",10),t._UZ(19,"router-outlet",null,11),t.qZA()(),t._uU(21,"> "),t.qZA(),t.YNc(22,G3,4,0,"div",12),t.qZA()),2&x&&(t.Q6J("ngClass",t.WLB(12,mh,t.lcZ(1,8,V.settings.themeColor),t.lcZ(2,10,V.settings.themeMode))),t.xp6(5),t.Q6J("ngIf",V.flgLoggedIn),t.xp6(1),t.Q6J("ngIf",!V.smallScreen&&V.flgLoggedIn),t.xp6(2),t.Q6J("ngIf",V.smallScreen),t.xp6(1),t.Q6J("ngIf",!V.smallScreen),t.xp6(4),t.Q6J("opened",V.flgSideNavOpened&&V.flgLoggedIn)("mode",V.flgSidenavPinned&&!V.smallScreen?"side":"over"),t.xp6(9),t.Q6J("ngIf",!V.settings.themeColor))},dependencies:[si.mk,si.O5,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,Fl.Hw,Dc.Ou,dd.JX,dd.TM,dd.Rh,Jl.Ye,R2.gM,xi.$V,El,$1,Ne.lC,si.i8],styles:[".inline-spinner[_ngcontent-%COMP%]{display:inline-flex!important;top:0!important}.top-toolbar-icon[_ngcontent-%COMP%] .icon-pinned[_ngcontent-%COMP%]{width:3rem;height:3rem;padding:1rem 0 0 1.2rem;cursor:pointer}"],data:{animation:[Xr.g]}})}class Dl{constructor(T){this.sessionService=T}intercept(T,x){if(this.sessionService.getItem("token")){const V=T.clone({headers:T.headers.set("Authorization","Bearer "+this.sessionService.getItem("token")),withCredentials:!0});return x.handle(V)}return x.handle(T)}static#e=this.\u0275fac=function(x){return new(x||Dl)(t.LFG(Qo.m))};static#t=this.\u0275prov=t.Yz7({token:Dl,factory:Dl.\u0275fac})}var t2=m(3512),$l=m(3172),Z3=m(4947),Y3=m(3289);const Ao={userPersona:"OPERATOR",themeMode:"DAY",themeColor:"PURPLE",channelBackupPath:"",selCurrencyUnit:"USD",unannouncedChannels:!1,fiatConversion:!1,currencyUnits:["Sats","BTC","USD"],bitcoindConfigPath:"",enableOffers:!1,enablePeerswap:!1},vh={configPath:"",swapMacaroonPath:"",boltzMacaroonPath:""},G0={apiURL:"",apisCallStatus:{Login:{status:Qe.Bn.UN_INITIATED},IsAuthorized:{status:Qe.Bn.UN_INITIATED}},selNode:{index:1,lnNode:"Node 1",settings:Ao,authentication:vh,lnImplementation:"LND"},appConfig:{defaultNodeIndex:-1,selectedNodeIndex:-1,sso:{rtlSSO:0,logoutRedirectLink:""},enable2FA:!1,allowPasswordUpdate:!0,nodes:[{settings:Ao,authentication:vh}]},nodeData:{}},yh=(0,Hn.Lq)(G0,(0,Hn.on)(Qt.qi,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Qt.vI,(K,{payload:T})=>({...G0,apisCallStatus:K.apisCallStatus,appConfig:K.appConfig,selNode:T})),(0,Hn.on)(Qt.fk,(K,{payload:T})=>({...K,selNode:T.currentLnNode})),(0,Hn.on)(Qt.Tm,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.selNode));switch(T.service){case Qe.JX.BOLTZ:x.settings.boltzServerUrl=T.settings.boltzServerUrl;break;case Qe.JX.LOOP:x.settings.swapServerUrl=T.settings.swapServerUrl;break;case Qe.JX.OFFERS:x.settings.enableOffers=T.settings.enableOffers;break;case Qe.JX.PEERSWAP:x.settings.enablePeerswap=T.settings.enablePeerswap}return{...K,selNode:x}}),(0,Hn.on)(Qt._V,(K,{payload:T})=>({...K,nodeData:T})),(0,Hn.on)(Qt.XT,(K,{payload:T})=>({...K,appConfig:T}))),bh={apisCallStatus:{FetchPageSettings:{status:Qe.Bn.UN_INITIATED},FetchInfo:{status:Qe.Bn.UN_INITIATED},FetchFees:{status:Qe.Bn.UN_INITIATED},FetchPeers:{status:Qe.Bn.UN_INITIATED},FetchClosedChannels:{status:Qe.Bn.UN_INITIATED},FetchPendingChannels:{status:Qe.Bn.UN_INITIATED},FetchAllChannels:{status:Qe.Bn.UN_INITIATED},FetchBalanceBlockchain:{status:Qe.Bn.UN_INITIATED},FetchInvoices:{status:Qe.Bn.UN_INITIATED},FetchPayments:{status:Qe.Bn.UN_INITIATED},FetchForwardingHistory:{status:Qe.Bn.UN_INITIATED},FetchUTXOs:{status:Qe.Bn.UN_INITIATED},FetchTransactions:{status:Qe.Bn.UN_INITIATED},FetchLightningTransactions:{status:Qe.Bn.UN_INITIATED},FetchNetwork:{status:Qe.Bn.UN_INITIATED}},nodeSettings:{userPersona:Qe.ol.OPERATOR,unannouncedChannels:!1,fiatConversion:!1,channelBackupPath:"",currencyUnits:[],selCurrencyUnit:"",lnImplementation:"",swapServerUrl:""},pageSettings:Qe.gK,information:{},peers:[],fees:{channel_fees:[],day_fee_sum:0,week_fee_sum:0,month_fee_sum:0,daily_tx_count:0,weekly_tx_count:0,monthly_tx_count:0,forwarding_events_history:{}},networkInfo:{},blockchainBalance:{total_balance:-1},lightningBalance:{local:-1,remote:-1},channels:[],channelsSummary:{active:{num_channels:0,capacity:0},inactive:{num_channels:0,capacity:0}},closedChannels:[],pendingChannels:{},pendingChannelsSummary:{open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0},transactions:[],utxos:[],listPayments:{payments:[]},listInvoices:{invoices:[]},allLightningTransactions:{listPaymentsAll:{payments:[],first_index_offset:"",last_index_offset:""},listInvoicesAll:{invoices:[],total_invoices:0,last_index_offset:"",first_index_offset:""}},forwardingHistory:{last_offset_index:0,total_fee_msat:0,forwarding_events:[]}};let xh=!1,Ch=!1;const Z0=(0,Hn.Lq)(bh,(0,Hn.on)(di.PC,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(di.JT,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(di.Ll,(K,{payload:T})=>({...bh,nodeSettings:T})),(0,Hn.on)(di.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(di.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(di.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(ge=>ge.pub_key===T.pubkey);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(di.YP,(K,{payload:T})=>{const x=K.listInvoices;return x.invoices?.unshift(T),{...K,listInvoices:x}}),(0,Hn.on)(di.aL,(K,{payload:T})=>{const x=K.listInvoices;return x.invoices=x.invoices?.map(V=>V.payment_request===T.payment_request?T:V),{...K,listInvoices:x}}),(0,Hn.on)(di.qY,(K,{payload:T})=>{const x=K.listPayments;return x.payments=x.payments?.map(V=>V.payment_hash===T.payment_hash?T:V),{...K,listPayments:x}}),(0,Hn.on)(di.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(di._L,(K,{payload:T})=>({...K,closedChannels:T})),(0,Hn.on)(di.TW,(K,{payload:T})=>({...K,pendingChannels:T.pendingChannels,pendingChannelsSummary:T.pendingChannelsSummary})),(0,Hn.on)(di.as,(K,{payload:T})=>{let x=0,V=0,ge=0,nt=0,kt=0,jt=0;return T&&T.forEach(on=>{on.local_balance||(on.local_balance=0),!0===on.active?(kt+=+on.local_balance,ge+=1,on.local_balance?x=+x+ +on.local_balance:on.local_balance=0,on.remote_balance?V=+V+ +on.remote_balance:on.remote_balance=0):(jt+=+on.local_balance,nt+=1)}),{...K,channels:T,channelsSummary:{active:{num_channels:ge,capacity:kt},inactive:{num_channels:nt,capacity:jt}},lightningBalance:{local:x,remote:V}}}),(0,Hn.on)(di.OG,(K,{payload:T})=>{const x=[...K.channels],V=K.channels.findIndex(ge=>ge.channel_point===T.channelPoint);return V>-1&&x.splice(V,1),{...K,channels:x}}),(0,Hn.on)(di.Jl,(K,{payload:T})=>({...K,blockchainBalance:T})),(0,Hn.on)(di.ks,(K,{payload:T})=>({...K,networkInfo:T})),(0,Hn.on)(di.Nr,(K,{payload:T})=>(T.total_invoices||(T.total_invoices=K.listInvoices.total_invoices),{...K,listInvoices:T})),(0,Hn.on)(di.Lf,(K,{payload:T})=>{if(xh=!0,T.length&&Ch){const x=[...K.utxos];return x.forEach(V=>{const ge=T.find(nt=>nt.tx_hash===V.outpoint?.txid_str);V.label=ge&&ge.label?ge.label:""}),{...K,utxos:x,transactions:T}}return{...K,transactions:T}}),(0,Hn.on)(di.UH,(K,{payload:T})=>{if(Ch=!0,T.length&&xh){const x=[...K.transactions];T.forEach(V=>{const ge=x.find(nt=>nt.tx_hash===V.outpoint?.txid_str);V.label=ge&&ge.label?ge.label:""})}return{...K,utxos:T}}),(0,Hn.on)(di.HI,(K,{payload:T})=>{const x={listInvoicesAll:K.allLightningTransactions.listInvoicesAll,listPaymentsAll:T};return{...K,listPayments:T,allLightningTransactions:x}}),(0,Hn.on)(di.Fr,(K,{payload:T})=>{const x={listInvoicesAll:T.listInvoicesAll,listPaymentsAll:K.listPayments};return{...K,allLightningTransactions:x}}),(0,Hn.on)(di.QJ,(K,{payload:T})=>{const x=[...K.channels,...K.closedChannels];let V=T.forwarding_events?JSON.parse(JSON.stringify(T)):{};return V.forwarding_events&&(V=Q3(V,x)),{...K,forwardingHistory:V}}),(0,Hn.on)(di.pd,(K,{payload:T})=>{const x=[];return Qe.gK.forEach(V=>{const ge=T&&T.length&&T.length>0?T.find(nt=>nt.pageId===V.pageId):null;if(ge){const nt=JSON.parse(JSON.stringify(ge.tables));ge.tables=[],V.tables.forEach(kt=>{const jt=nt.find(on=>on.tableId===kt.tableId)||null;jt?ge.tables.push(jt):ge.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(ge)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),Q3=(K,T)=>(K.forwarding_events.forEach(x=>{if(T&&T.length>0)for(let V=0;V{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Rn.oo,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(Rn.xH,(K,{payload:T})=>({...Mh,nodeSettings:T})),(0,Hn.on)(Rn.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(Rn.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(Rn.I8,(K,{payload:T})=>T.perkb?{...K,feeRatesPerKB:T}:T.perkw?{...K,feeRatesPerKW:T}:{...K}),(0,Hn.on)(Rn.Lu,(K,{payload:T})=>({...K,balance:T})),(0,Hn.on)(Rn.xS,(K,{payload:T})=>({...K,localRemoteBalance:T})),(0,Hn.on)(Rn.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(Rn.X3,(K,{payload:T})=>({...K,peers:[...K.peers,T]})),(0,Hn.on)(Rn.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(ge=>ge.id===T.id);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(Rn.as,(K,{payload:T})=>({...K,activeChannels:T.activeChannels,pendingChannels:T.pendingChannels,inactiveChannels:T.inactiveChannels})),(0,Hn.on)(Rn.OG,(K,{payload:T})=>{const x=[...K.peers];return x.forEach(V=>{V.id===T.id&&(V.connected=!1,delete V.netaddr)}),{...K,peers:x}}),(0,Hn.on)(Rn.HI,(K,{payload:T})=>({...K,payments:T})),(0,Hn.on)(Rn.QJ,(K,{payload:T})=>{const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels],V=Vi(T.listForwards,x);switch(T.listForwards=V,T.status){case Qe.OO.SETTLED:const ge=K.fees;return ge.totalTxCount=T.totalForwards||0,{...K,fees:ge,forwardingHistory:T};case Qe.OO.FAILED:return{...K,failedForwardingHistory:T};case Qe.OO.LOCAL_FAILED:return{...K,localFailedForwardingHistory:T};default:return{...K}}}),(0,Hn.on)(Rn.YP,(K,{payload:T})=>{const x=K.invoices;return x.invoices?.unshift(T),{...K,invoices:x}}),(0,Hn.on)(Rn.Nr,(K,{payload:T})=>({...K,invoices:T})),(0,Hn.on)(Rn.aL,(K,{payload:T})=>{const x=K.invoices;return x.invoices=x.invoices?.map(V=>V.label===T.label?T:V),{...K,invoices:x}}),(0,Hn.on)(Rn.UH,(K,{payload:T})=>({...K,utxos:T})),(0,Hn.on)(Rn.Zu,(K,{payload:T})=>({...K,offers:T})),(0,Hn.on)(Rn.ZH,(K,{payload:T})=>{const x=K.offers;return x?.unshift(T),{...K,offers:x}}),(0,Hn.on)(Rn.JK,(K,{payload:T})=>{const x=[...K.offers],V=K.offers.findIndex(ge=>ge.offer_id===T.offer.offer_id);return V>-1&&x.splice(V,1,T.offer),{...K,offers:x}}),(0,Hn.on)(Rn.d7,(K,{payload:T})=>({...K,offersBookmarks:T})),(0,Hn.on)(Rn.e9,(K,{payload:T})=>{const x=[...K.offersBookmarks],V=x.findIndex(ge=>ge.bolt12===T.bolt12);if(V<0)x?.unshift(T);else{const ge={...x[V]};ge.title=T.title,ge.amountMSat=T.amountMSat,ge.lastUpdatedAt=T.lastUpdatedAt,ge.description=T.description,ge.vendor=T.vendor,x.splice(V,1,ge)}return{...K,offersBookmarks:x}}),(0,Hn.on)(Rn.en,(K,{payload:T})=>{const x=[...K.offersBookmarks],V=K.offersBookmarks.findIndex(ge=>ge.bolt12===T.bolt12);return V>-1&&x.splice(V,1),{...K,offersBookmarks:x}}),(0,Hn.on)(Rn.pd,(K,{payload:T})=>{const x=[];return Qe.gG.forEach(V=>{const ge=T&&T.length&&T.length>0?T.find(nt=>nt.pageId===V.pageId):null;if(ge){const nt=JSON.parse(JSON.stringify(ge.tables));ge.tables=[],V.tables.forEach(kt=>{const jt=nt.find(on=>on.tableId===kt.tableId)||null;jt?ge.tables.push(jt):ge.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(ge)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),Vi=(K,T)=>(K&&K.length>0?K.forEach((x,V)=>{if(T&&T.length>0)for(let ge=0;ge{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Dn.Zr,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(Dn.Fd,(K,{payload:T})=>({...md,nodeSettings:T})),(0,Hn.on)(Dn.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(Dn.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(Dn.eN,(K,{payload:T})=>({...K,activeChannels:T})),(0,Hn.on)(Dn.TW,(K,{payload:T})=>({...K,pendingChannels:T})),(0,Hn.on)(Dn.i,(K,{payload:T})=>({...K,inactiveChannels:T})),(0,Hn.on)(Dn.HG,(K,{payload:T})=>({...K,channelsStatus:T})),(0,Hn.on)(Dn.Bw,(K,{payload:T})=>({...K,onchainBalance:T})),(0,Hn.on)(Dn.On,(K,{payload:T})=>({...K,lightningBalance:T})),(0,Hn.on)(Dn.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(Dn.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(ge=>ge.nodeId===T.nodeId);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(Dn.OG,(K,{payload:T})=>{const x=[...K.activeChannels],V=K.activeChannels.findIndex(ge=>ge.channelId===T.channelId);return V>-1&&x.splice(V,1),{...K,activeChannels:x}}),(0,Hn.on)(Dn.HI,(K,{payload:T})=>{if(T&&T.sent){const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels];T.sent?.map(V=>{const ge=K.peers.find(nt=>nt.nodeId===V.recipientNodeId);return V.recipientNodeAlias=ge?ge.alias:V.recipientNodeId,V.parts&&V.parts?.map(nt=>{const kt=x.find(jt=>jt.channelId===nt.toChannelId);return nt.toChannelAlias=kt?kt.alias:nt.toChannelId,V.parts}),T.sent})}if(T&&T.relayed){const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels];T.relayed.forEach(V=>{V=gd(V,x)})}return{...K,payments:T}}),(0,Hn.on)(Dn.Lf,(K,{payload:T})=>({...K,transactions:T})),(0,Hn.on)(Dn.YP,(K,{payload:T})=>{const x=K.invoices;return x?.unshift(T),{...K,invoices:x}}),(0,Hn.on)(Dn.Nr,(K,{payload:T})=>({...K,invoices:T})),(0,Hn.on)(Dn.aL,(K,{payload:T})=>{let x=K.invoices;return x=x?.map(V=>{if(V.paymentHash===T.paymentHash){if(T.hasOwnProperty("type")){const ge=JSON.parse(JSON.stringify(V));return ge.amountSettled=T.parts&&T.parts.length&&T.parts.length>0&&T.parts[0].amount?(T.parts[0].amount||0)/1e3:0,ge.receivedAt=T.parts&&T.parts.length&&T.parts.length>0&&T.parts[0].timestamp?Math.round((T.parts[0].timestamp||0)/1e3):0,ge.status="received",ge}return T}return V}),{...K,invoices:x}}),(0,Hn.on)(Dn.DJ,(K,{payload:T})=>{let x=K.pendingChannels;return x=x?.map(V=>(V.channelId===T.channelId&&V.nodeId===T.remoteNodeId&&(T.currentState=T.currentState?.replace(/_/g," "),V.state=T.currentState),V)),{...K,pendingChannels:x}}),(0,Hn.on)(Dn.ti,(K,{payload:T})=>{const x=K.payments,V=gd(T,[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels]);V.amountIn=Math.round((T.amountIn||0)/1e3),V.amountOut=Math.round((T.amountOut||0)/1e3),x.relayed?.unshift(V);const ge=(T.amountIn||0)-(T.amountOut||0),nt={localBalance:K.lightningBalance.localBalance+ge,remoteBalance:K.lightningBalance.remoteBalance-ge},kt=K.channelsStatus;kt.active&&(kt.active.capacity=(K.channelsStatus?.active?.capacity||0)+ge);const jt={daily_fee:(K.fees.daily_fee||0)+ge,daily_txs:(K.fees.daily_txs||0)+1,weekly_fee:(K.fees.weekly_fee||0)+ge,weekly_txs:(K.fees.weekly_txs||0)+1,monthly_fee:(K.fees.monthly_fee||0)+ge,monthly_txs:(K.fees.monthly_txs||0)+1},on=K.activeChannels;let xn=!1,fi=!1;for(const Xn of on){if(Xn.channelId===T.fromChannelId){xn=!0;const Pi=(Xn.toLocal||0)+(Xn.toRemote||0);Xn.toLocal=(Xn.toLocal||0)+V.amountIn,Xn.toRemote=(Xn.toRemote||0)-V.amountIn,Xn.balancedness=0===Pi?1:+(1-Math.abs((Xn.toLocal-Xn.toRemote)/Pi)).toFixed(3)}if(Xn.channelId===T.toChannelId){fi=!0;const Pi=(Xn.toLocal||0)+(Xn.toRemote||0);Xn.toLocal=(Xn.toLocal||0)-V.amountOut,Xn.toRemote=(Xn.toRemote||0)+V.amountOut,Xn.balancedness=0===Pi?1:+(1-Math.abs((Xn.toLocal-Xn.toRemote)/Pi)).toFixed(3)}if(fi&&xn)break}return{...K,payments:x,lightningBalance:nt,channelStatus:kt,fees:jt,activeChannels:on}}),(0,Hn.on)(Dn.pd,(K,{payload:T})=>{const x=[];return Qe.c3.forEach(V=>{const ge=T&&T.length&&T.length>0?T.find(nt=>nt.pageId===V.pageId):null;if(ge){const nt=JSON.parse(JSON.stringify(ge.tables));ge.tables=[],V.tables.forEach(kt=>{const jt=nt.find(on=>on.tableId===kt.tableId)||null;jt?ge.tables.push(jt):ge.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(ge)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),gd=(K,T)=>{if("payment-relayed"===K.type)if(T&&T.length>0)for(let x=0;x0)for(let x=0;x{T[x].channelId?.toString()===V.channelId&&(V.channelAlias=T[x].alias?T[x].alias:V.channelId,V.shortChannelId=T[x].shortChannelId?T[x].shortChannelId:"")}),K.outgoing?.forEach(V=>{T[x].channelId?.toString()===V.channelId&&(V.channelAlias=T[x].alias?T[x].alias:V.channelId,V.shortChannelId=T[x].shortChannelId?T[x].shortChannelId:"")}),x===T.length-1&&(K.incoming&&K.incoming.length&&K.incoming.length>0&&!K.incoming[0].channelAlias&&K.incoming?.forEach(V=>{V.channelAlias=V.channelId?.substring(0,17)+"...",V.shortChannelId=""}),K.outgoing&&K.outgoing.length&&K.outgoing.length>0&&!K.outgoing[0].channelAlias&&K.outgoing?.forEach(V=>{V.channelAlias=V.channelId?.substring(0,17)+"...",V.shortChannelId=""}));else K.incoming?.forEach(x=>{x.channelAlias=x.channelId?.substring(0,17)+"...",x.shortChannelId=""}),K.outgoing?.forEach(x=>{x.channelAlias=x.channelId?.substring(0,17)+"...",x.shortChannelId=""});K.amountIn=K.incoming?.reduce((x,V)=>x+V.amount,0)||0,K.fromChannelId=K.incoming&&K.incoming.length?K.incoming[0].channelId:"",K.fromChannelAlias=K.incoming&&K.incoming.length?K.incoming[0].channelAlias:"",K.fromShortChannelId=K.incoming&&K.incoming.length?K.incoming[0].shortChannelId:"",K.amountOut=K.outgoing?.reduce((x,V)=>x+V.amount,0)||0,K.toChannelId=K.outgoing&&K.outgoing.length?K.outgoing[0].channelId:"",K.toChannelAlias=K.outgoing&&K.outgoing.length?K.outgoing[0].channelAlias:"",K.toShortChannelId=K.outgoing&&K.outgoing.length?K.outgoing[0].shortChannelId:""}return K};class n2{static#e=this.\u0275fac=function(x){return new(x||n2)};static#t=this.\u0275mod=t.oAB({type:n2,bootstrap:[gh]});static#n=this.\u0275inj=t.cJS({providers:[{provide:Ba.TP,useClass:Dl,multi:!0},er.a1,Qo.m,r1.D,t2.d,H1.W,ta.v,yo],imports:[sr,cd.m,Xl,$i.xu,e.t6,os.forRoot({idle:3590,timeout:10,ping:12e3}),Hn.Aw.forRoot({root:yh,lnd:Z0,cln:Eh,ecl:Dh},{runtimeChecks:{strictStateImmutability:!1,strictActionImmutability:!1}}),vs.sQ.forRoot([Na.V,$l.l,Z3.J,Y3.o]),Bs.NZ.production?[]:dl.FT.instrument()]})}Bs.NZ.production&&(0,t.G48)(),e.q6().bootstrapModule(n2).catch(K=>console.log(K))},8996:(Ue,q)=>{"use strict";function m(xe){return Object.keys(xe).map(Ze=>xe[Ze])}var xe;Object.defineProperty(q,"__esModule",{value:!0}),(xe=q.HashAlgorithms||(q.HashAlgorithms={})).SHA1="sha1",xe.SHA256="sha256",xe.SHA512="sha512";const e=m(q.HashAlgorithms);!function(xe){xe.ASCII="ascii",xe.BASE64="base64",xe.HEX="hex",xe.LATIN1="latin1",xe.UTF8="utf8"}(q.KeyEncodings||(q.KeyEncodings={}));const t=m(q.KeyEncodings);!function(xe){xe.HOTP="hotp",xe.TOTP="totp"}(q.Strategy||(q.Strategy={}));const _=m(q.Strategy),E=()=>{throw new Error("Please provide an options.createDigest implementation.")};function s(xe){return/^(\d+)$/.test(xe)}function D(xe,Ze,Ie){return xe.length>=Ze?xe:`${Array(Ze+1).join(Ie)}${xe}`.slice(-1*Ze)}function u(xe){const Ze=`otpauth://${xe.type}/{labelPrefix}:{accountName}?secret={secret}{query}`,Ie=[];if(_.indexOf(xe.type)<0)throw new Error(`Expecting options.type to be one of ${_.join(", ")}. Received ${xe.type}.`);if("hotp"===xe.type){if(null==xe.counter||"number"!=typeof xe.counter)throw new Error('Expecting options.counter to be a number when options.type is "hotp".');Ie.push(`&counter=${xe.counter}`)}return"totp"===xe.type&&xe.step&&Ie.push(`&period=${xe.step}`),xe.digits&&Ie.push(`&digits=${xe.digits}`),xe.algorithm&&Ie.push(`&algorithm=${xe.algorithm.toUpperCase()}`),xe.issuer&&Ie.push(`&issuer=${encodeURIComponent(xe.issuer)}`),Ze.replace("{labelPrefix}",encodeURIComponent(xe.issuer||xe.accountName)).replace("{accountName}",encodeURIComponent(xe.accountName)).replace("{secret}",xe.secret).replace("{query}",Ie.join(""))}class k{constructor(Ze={}){this._defaultOptions=Object.freeze({...Ze}),this._options=Object.freeze({})}create(Ze={}){return new k(Ze)}clone(Ze={}){const Ie=this.create({...this._defaultOptions,...Ze});return Ie.options=this._options,Ie}get options(){return Object.freeze({...this._defaultOptions,...this._options})}set options(Ze){this._options=Object.freeze({...this._options,...Ze})}allOptions(){return this.options}resetOptions(){this._options=Object.freeze({})}}function p(xe){if("function"!=typeof xe.createDigest)throw new Error("Expecting options.createDigest to be a function.");if("function"!=typeof xe.createHmacKey)throw new Error("Expecting options.createHmacKey to be a function.");if("number"!=typeof xe.digits)throw new Error("Expecting options.digits to be a number.");if(!xe.algorithm||e.indexOf(xe.algorithm)<0)throw new Error(`Expecting options.algorithm to be one of ${e.join(", ")}. Received ${xe.algorithm}.`);if(!xe.encoding||t.indexOf(xe.encoding)<0)throw new Error(`Expecting options.encoding to be one of ${t.join(", ")}. Received ${xe.encoding}.`)}const S=(xe,Ze,Ie)=>Buffer.from(Ze,Ie).toString("hex");function A(){return{algorithm:q.HashAlgorithms.SHA1,createHmacKey:S,createDigest:E,digits:6,encoding:q.KeyEncodings.ASCII}}function P(xe){const Ze={...A(),...xe};return p(Ze),Object.freeze(Ze)}function M(xe){return D(xe.toString(16),16,"0")}function z(xe,Ze){const Ie=Buffer.from(xe,"hex"),ve=15&Ie[Ie.length-1],ht=((127&Ie[ve])<<24|(255&Ie[ve+1])<<16|(255&Ie[ve+2])<<8|255&Ie[ve+3])%Math.pow(10,Ze);return D(String(ht),Ze,"0")}function W(xe,Ze,Ie){const ve=Ie.digest||function I(xe,Ze,Ie){const ve=M(Ze),et=Ie.createHmacKey(Ie.algorithm,xe,Ie.encoding);return Ie.createDigest(Ie.algorithm,et,ve)}(xe,Ze,Ie);return z(ve,Ie.digits)}function Z(xe,Ze,Ie,ve){if(!s(xe))return!1;return xe===W(Ze,Ie,ve)}function Q(xe,Ze,Ie,ve,et){return u({algorithm:et.algorithm,digits:et.digits,type:q.Strategy.HOTP,accountName:xe,counter:ve,issuer:Ze,secret:Ie})}class ie extends k{create(Ze={}){return new ie(Ze)}allOptions(){return P(this.options)}generate(Ze,Ie){return W(Ze,Ie,this.allOptions())}check(Ze,Ie,ve){return Z(Ze,Ie,ve,this.allOptions())}verify(Ze){if("object"!=typeof Ze)throw new Error("Expecting argument 0 of verify to be an object");return this.check(Ze.token,Ze.secret,Ze.counter)}keyuri(Ze,Ie,ve,et){return Q(Ze,Ie,ve,et,this.allOptions())}}function ae(xe){if("number"==typeof xe)return[Math.abs(xe),Math.abs(xe)];if(Array.isArray(xe)){const[Ze,Ie]=xe;if("number"==typeof Ze&&"number"==typeof Ie)return[Math.abs(Ze),Math.abs(Ie)]}throw new Error("Expecting options.window to be an number or [number, number].")}function _e(xe){if(p(xe),ae(xe.window),"number"!=typeof xe.epoch)throw new Error("Expecting options.epoch to be a number.");if("number"!=typeof xe.step)throw new Error("Expecting options.step to be a number.")}const ce=(xe,Ze,Ie)=>{const ve=xe.length,et=Buffer.from(xe,Ze).toString("hex");if(ve{switch(xe){case q.HashAlgorithms.SHA1:return ce(Ze,Ie,20);case q.HashAlgorithms.SHA256:return ce(Ze,Ie,32);case q.HashAlgorithms.SHA512:return ce(Ze,Ie,64);default:throw new Error(`Expecting algorithm to be one of ${e.join(", ")}. Received ${xe}.`)}};function ue(){return{algorithm:q.HashAlgorithms.SHA1,createDigest:E,createHmacKey:ye,digits:6,encoding:q.KeyEncodings.ASCII,epoch:Date.now(),step:30,window:0}}function $(xe){const Ze={...ue(),...xe};return _e(Ze),Object.freeze(Ze)}function he(xe,Ze){return Math.floor(xe/Ze/1e3)}function w(xe,Ze){return W(xe,he(Ze.epoch,Ze.step),Ze)}function n(xe,Ze,Ie,ve){const et=[];if(0===ve)return et;for(let ht=1;ht<=ve;ht++){const Le=Ze*ht*Ie;et.push(xe+Le)}return et}function o(xe,Ze,Ie){const ve=ae(Ie),et=1e3*Ze;return{current:xe,past:n(xe,-1,et,ve[0]),future:n(xe,1,et,ve[1])}}function h(xe,Ze,Ie){if(!s(xe))return!1;return xe===w(Ze,Ie)}function d(xe,Ze,Ie,ve){let et=null;return xe.some((ht,Le)=>!!h(Ze,Ie,{...ve,epoch:ht})&&(et=Le+1,!0)),et}function y(xe,Ze,Ie){if(h(xe,Ze,Ie))return 0;const ve=o(Ie.epoch,Ie.step,Ie.window),et=d(ve.past,xe,Ze,Ie);return null!==et?-1*et:d(ve.future,xe,Ze,Ie)}function L(xe,Ze){return Math.floor(xe/1e3)%Ze}function B(xe,Ze){return Ze-L(xe,Ze)}function v(xe,Ze,Ie,ve){return u({algorithm:ve.algorithm,digits:ve.digits,step:ve.step,type:q.Strategy.TOTP,accountName:xe,issuer:Ze,secret:Ie})}class a extends ie{create(Ze={}){return new a(Ze)}allOptions(){return $(this.options)}generate(Ze){return w(Ze,this.allOptions())}checkDelta(Ze,Ie){return y(Ze,Ie,this.allOptions())}check(Ze,Ie){return"number"==typeof this.checkDelta(Ze,Ie)}verify(Ze){if("object"!=typeof Ze)throw new Error("Expecting argument 0 of verify to be an object");return this.check(Ze.token,Ze.secret)}timeRemaining(){const Ze=this.allOptions();return B(Ze.epoch,Ze.step)}timeUsed(){const Ze=this.allOptions();return L(Ze.epoch,Ze.step)}keyuri(Ze,Ie,ve){return v(Ze,Ie,ve,this.allOptions())}}function C(xe){if(_e(xe),"function"!=typeof xe.keyDecoder)throw new Error("Expecting options.keyDecoder to be a function.");if(xe.keyEncoder&&"function"!=typeof xe.keyEncoder)throw new Error("Expecting options.keyEncoder to be a function.")}function N(){return{algorithm:q.HashAlgorithms.SHA1,createDigest:E,createHmacKey:ye,digits:6,encoding:q.KeyEncodings.HEX,epoch:Date.now(),step:30,window:0}}function F(xe){const Ze={...N(),...xe};return C(Ze),Object.freeze(Ze)}function X(xe,Ze){return Ze.keyEncoder(xe,Ze.encoding)}function Fe(xe,Ze){return Ze.keyDecoder(xe,Ze.encoding)}function ke(xe,Ze){return X(Ze.createRandomBytes(xe,Ze.encoding),Ze)}function Ke(xe,Ze){return w(Fe(xe,Ze),Ze)}function je(xe,Ze,Ie){return y(xe,Fe(Ze,Ie),Ie)}class Ve extends a{create(Ze={}){return new Ve(Ze)}allOptions(){return F(this.options)}generate(Ze){return Ke(Ze,this.allOptions())}checkDelta(Ze,Ie){return je(Ze,Ie,this.allOptions())}encode(Ze){return X(Ze,this.allOptions())}decode(Ze){return Fe(Ze,this.allOptions())}generateSecret(Ze=10){return ke(Ze,this.allOptions())}}q.Authenticator=Ve,q.HASH_ALGORITHMS=e,q.HOTP=ie,q.KEY_ENCODINGS=t,q.OTP=k,q.STRATEGY=_,q.TOTP=a,q.authenticatorCheckWithWindow=je,q.authenticatorDecoder=Fe,q.authenticatorDefaultOptions=N,q.authenticatorEncoder=X,q.authenticatorGenerateSecret=ke,q.authenticatorOptionValidator=C,q.authenticatorOptions=F,q.authenticatorToken=Ke,q.createDigestPlaceholder=E,q.hotpCheck=Z,q.hotpCounter=M,q.hotpCreateHmacKey=S,q.hotpDefaultOptions=A,q.hotpDigestToToken=z,q.hotpKeyuri=Q,q.hotpOptions=P,q.hotpOptionsValidator=p,q.hotpToken=W,q.isTokenValid=s,q.keyuri=u,q.objectValues=m,q.padStart=D,q.totpCheck=h,q.totpCheckByEpoch=d,q.totpCheckWithWindow=y,q.totpCounter=he,q.totpCreateHmacKey=ye,q.totpDefaultOptions=ue,q.totpEpochAvailable=o,q.totpKeyuri=v,q.totpOptions=$,q.totpOptionsValidator=_e,q.totpPadSecret=ce,q.totpTimeRemaining=B,q.totpTimeUsed=L,q.totpToken=w},6042:(Ue,q,m)=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});var t=function e(s){return s&&"object"==typeof s&&"default"in s?s.default:s}(m(9501));q.createDigest=(s,D,u)=>t.createHmac(s,Buffer.from(D,"hex")).update(Buffer.from(u,"hex")).digest().toString("hex"),q.createRandomBytes=(s,D)=>t.randomBytes(s).toString(D)},8364:(Ue,q,m)=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});var t=function e(s){return s&&"object"==typeof s&&"default"in s?s.default:s}(m(917));q.keyDecoder=(s,D)=>t.decode(s).toString(D),q.keyEncoder=(s,D)=>t.encode(Buffer.from(s,D).toString("ascii")).toString().replace(/=/g,"")},9614:(Ue,q,m)=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});var e=m(6042),t=m(8364),_=m(8996);const E=new _.HOTP({createDigest:e.createDigest}),s=new _.TOTP({createDigest:e.createDigest}),D=new _.Authenticator({createDigest:e.createDigest,createRandomBytes:e.createRandomBytes,keyDecoder:t.keyDecoder,keyEncoder:t.keyEncoder});q.authenticator=D,q.hotp=E,q.totp=s},7183:(Ue,q,m)=>{"use strict";const e=q;e.bignum=m(3439),e.define=m(1535).define,e.base=m(6977),e.constants=m(5407),e.decoders=m(8643),e.encoders=m(6337)},1535:(Ue,q,m)=>{"use strict";const e=m(6337),t=m(8643),_=m(5035);function s(D,u){this.name=D,this.body=u,this.decoders={},this.encoders={}}q.define=function(u,k){return new s(u,k)},s.prototype._createNamed=function(u){const k=this.name;function p(S){this._initNamed(S,k)}return _(p,u),p.prototype._initNamed=function(A,P){u.call(this,A,P)},new p(this)},s.prototype._getDecoder=function(u){return u=u||"der",this.decoders.hasOwnProperty(u)||(this.decoders[u]=this._createNamed(t[u])),this.decoders[u]},s.prototype.decode=function(u,k,p){return this._getDecoder(k).decode(u,p)},s.prototype._getEncoder=function(u){return u=u||"der",this.encoders.hasOwnProperty(u)||(this.encoders[u]=this._createNamed(e[u])),this.encoders[u]},s.prototype.encode=function(u,k,p){return this._getEncoder(k).encode(u,p)}},2314:(Ue,q,m)=>{"use strict";const e=m(5035),t=m(794).b,_=m(4421).Buffer;function E(D,u){t.call(this,u),_.isBuffer(D)?(this.base=D,this.offset=0,this.length=D.length):this.error("Input not Buffer")}function s(D,u){if(Array.isArray(D))this.length=0,this.value=D.map(function(k){return s.isEncoderBuffer(k)||(k=new s(k,u)),this.length+=k.length,k},this);else if("number"==typeof D){if(!(0<=D&&D<=255))return u.error("non-byte EncoderBuffer value");this.value=D,this.length=1}else if("string"==typeof D)this.value=D,this.length=_.byteLength(D);else{if(!_.isBuffer(D))return u.error("Unsupported type: "+typeof D);this.value=D,this.length=D.length}}e(E,t),q.C=E,E.isDecoderBuffer=function(u){return u instanceof E||"object"==typeof u&&_.isBuffer(u.base)&&"DecoderBuffer"===u.constructor.name&&"number"==typeof u.offset&&"number"==typeof u.length&&"function"==typeof u.save&&"function"==typeof u.restore&&"function"==typeof u.isEmpty&&"function"==typeof u.readUInt8&&"function"==typeof u.skip&&"function"==typeof u.raw},E.prototype.save=function(){return{offset:this.offset,reporter:t.prototype.save.call(this)}},E.prototype.restore=function(u){const k=new E(this.base);return k.offset=u.offset,k.length=this.offset,this.offset=u.offset,t.prototype.restore.call(this,u.reporter),k},E.prototype.isEmpty=function(){return this.offset===this.length},E.prototype.readUInt8=function(u){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(u||"DecoderBuffer overrun")},E.prototype.skip=function(u,k){if(!(this.offset+u<=this.length))return this.error(k||"DecoderBuffer overrun");const p=new E(this.base);return p._reporterState=this._reporterState,p.offset=this.offset,p.length=this.offset+u,this.offset+=u,p},E.prototype.raw=function(u){return this.base.slice(u?u.offset:this.offset,this.length)},q.R=s,s.isEncoderBuffer=function(u){return u instanceof s||"object"==typeof u&&"EncoderBuffer"===u.constructor.name&&"number"==typeof u.length&&"function"==typeof u.join},s.prototype.join=function(u,k){return u||(u=_.alloc(this.length)),k||(k=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(p){p.join(u,k),k+=p.length}):("number"==typeof this.value?u[k]=this.value:"string"==typeof this.value?u.write(this.value,k):_.isBuffer(this.value)&&this.value.copy(u,k),k+=this.length)),u}},6977:(Ue,q,m)=>{"use strict";const e=q;e.Reporter=m(794).b,e.DecoderBuffer=m(2314).C,e.EncoderBuffer=m(2314).R,e.Node=m(1598)},1598:(Ue,q,m)=>{"use strict";const e=m(794).b,t=m(2314).R,_=m(2314).C,E=m(3999),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],D=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s);function k(S,A,P){const M={};this._baseState=M,M.name=P,M.enc=S,M.parent=A||null,M.children=null,M.tag=null,M.args=null,M.reverseArgs=null,M.choice=null,M.optional=!1,M.any=!1,M.obj=!1,M.use=null,M.useDecoder=null,M.key=null,M.default=null,M.explicit=null,M.implicit=null,M.contains=null,M.parent||(M.children=[],this._wrap())}Ue.exports=k;const p=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];k.prototype.clone=function(){const A=this._baseState,P={};p.forEach(function(z){P[z]=A[z]});const M=new this.constructor(P.parent);return M._baseState=P,M},k.prototype._wrap=function(){const A=this._baseState;D.forEach(function(P){this[P]=function(){const z=new this.constructor(this);return A.children.push(z),z[P].apply(z,arguments)}},this)},k.prototype._init=function(A){const P=this._baseState;E(null===P.parent),A.call(this),P.children=P.children.filter(function(M){return M._baseState.parent===this},this),E.equal(P.children.length,1,"Root node can have only one child")},k.prototype._useArgs=function(A){const P=this._baseState,M=A.filter(function(z){return z instanceof this.constructor},this);A=A.filter(function(z){return!(z instanceof this.constructor)},this),0!==M.length&&(E(null===P.children),P.children=M,M.forEach(function(z){z._baseState.parent=this},this)),0!==A.length&&(E(null===P.args),P.args=A,P.reverseArgs=A.map(function(z){if("object"!=typeof z||z.constructor!==Object)return z;const I={};return Object.keys(z).forEach(function(W){W==(0|W)&&(W|=0);const Z=z[W];I[Z]=W}),I}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(S){k.prototype[S]=function(){const P=this._baseState;throw new Error(S+" not implemented for encoding: "+P.enc)}}),s.forEach(function(S){k.prototype[S]=function(){const P=this._baseState,M=Array.prototype.slice.call(arguments);return E(null===P.tag),P.tag=S,this._useArgs(M),this}}),k.prototype.use=function(A){E(A);const P=this._baseState;return E(null===P.use),P.use=A,this},k.prototype.optional=function(){return this._baseState.optional=!0,this},k.prototype.def=function(A){const P=this._baseState;return E(null===P.default),P.default=A,P.optional=!0,this},k.prototype.explicit=function(A){const P=this._baseState;return E(null===P.explicit&&null===P.implicit),P.explicit=A,this},k.prototype.implicit=function(A){const P=this._baseState;return E(null===P.explicit&&null===P.implicit),P.implicit=A,this},k.prototype.obj=function(){const A=this._baseState,P=Array.prototype.slice.call(arguments);return A.obj=!0,0!==P.length&&this._useArgs(P),this},k.prototype.key=function(A){const P=this._baseState;return E(null===P.key),P.key=A,this},k.prototype.any=function(){return this._baseState.any=!0,this},k.prototype.choice=function(A){const P=this._baseState;return E(null===P.choice),P.choice=A,this._useArgs(Object.keys(A).map(function(M){return A[M]})),this},k.prototype.contains=function(A){const P=this._baseState;return E(null===P.use),P.contains=A,this},k.prototype._decode=function(A,P){const M=this._baseState;if(null===M.parent)return A.wrapResult(M.children[0]._decode(A,P));let Z,z=M.default,I=!0,W=null;if(null!==M.key&&(W=A.enterKey(M.key)),M.optional){let Q=null;if(null!==M.explicit?Q=M.explicit:null!==M.implicit?Q=M.implicit:null!==M.tag&&(Q=M.tag),null!==Q||M.any){if(I=this._peekTag(A,Q,M.any),A.isError(I))return I}else{const ie=A.save();try{null===M.choice?this._decodeGeneric(M.tag,A,P):this._decodeChoice(A,P),I=!0}catch{I=!1}A.restore(ie)}}if(M.obj&&I&&(Z=A.enterObject()),I){if(null!==M.explicit){const ie=this._decodeTag(A,M.explicit);if(A.isError(ie))return ie;A=ie}const Q=A.offset;if(null===M.use&&null===M.choice){let ie;M.any&&(ie=A.save());const ae=this._decodeTag(A,null!==M.implicit?M.implicit:M.tag,M.any);if(A.isError(ae))return ae;M.any?z=A.raw(ie):A=ae}if(P&&P.track&&null!==M.tag&&P.track(A.path(),Q,A.length,"tagged"),P&&P.track&&null!==M.tag&&P.track(A.path(),A.offset,A.length,"content"),M.any||(z=null===M.choice?this._decodeGeneric(M.tag,A,P):this._decodeChoice(A,P)),A.isError(z))return z;if(!M.any&&null===M.choice&&null!==M.children&&M.children.forEach(function(ae){ae._decode(A,P)}),M.contains&&("octstr"===M.tag||"bitstr"===M.tag)){const ie=new _(z);z=this._getUse(M.contains,A._reporterState.obj)._decode(ie,P)}}return M.obj&&I&&(z=A.leaveObject(Z)),null===M.key||null===z&&!0!==I?null!==W&&A.exitKey(W):A.leaveKey(W,M.key,z),z},k.prototype._decodeGeneric=function(A,P,M){const z=this._baseState;return"seq"===A||"set"===A?null:"seqof"===A||"setof"===A?this._decodeList(P,A,z.args[0],M):/str$/.test(A)?this._decodeStr(P,A,M):"objid"===A&&z.args?this._decodeObjid(P,z.args[0],z.args[1],M):"objid"===A?this._decodeObjid(P,null,null,M):"gentime"===A||"utctime"===A?this._decodeTime(P,A,M):"null_"===A?this._decodeNull(P,M):"bool"===A?this._decodeBool(P,M):"objDesc"===A?this._decodeStr(P,A,M):"int"===A||"enum"===A?this._decodeInt(P,z.args&&z.args[0],M):null!==z.use?this._getUse(z.use,P._reporterState.obj)._decode(P,M):P.error("unknown tag: "+A)},k.prototype._getUse=function(A,P){const M=this._baseState;return M.useDecoder=this._use(A,P),E(null===M.useDecoder._baseState.parent),M.useDecoder=M.useDecoder._baseState.children[0],M.implicit!==M.useDecoder._baseState.implicit&&(M.useDecoder=M.useDecoder.clone(),M.useDecoder._baseState.implicit=M.implicit),M.useDecoder},k.prototype._decodeChoice=function(A,P){const M=this._baseState;let z=null,I=!1;return Object.keys(M.choice).some(function(W){const Z=A.save(),Q=M.choice[W];try{const ie=Q._decode(A,P);if(A.isError(ie))return!1;z={type:W,value:ie},I=!0}catch{return A.restore(Z),!1}return!0},this),I?z:A.error("Choice not matched")},k.prototype._createEncoderBuffer=function(A){return new t(A,this.reporter)},k.prototype._encode=function(A,P,M){const z=this._baseState;if(null!==z.default&&z.default===A)return;const I=this._encodeValue(A,P,M);return void 0===I||this._skipDefault(I,P,M)?void 0:I},k.prototype._encodeValue=function(A,P,M){const z=this._baseState;if(null===z.parent)return z.children[0]._encode(A,P||new e);let I=null;if(this.reporter=P,z.optional&&void 0===A){if(null===z.default)return;A=z.default}let W=null,Z=!1;if(z.any)I=this._createEncoderBuffer(A);else if(z.choice)I=this._encodeChoice(A,P);else if(z.contains)W=this._getUse(z.contains,M)._encode(A,P),Z=!0;else if(z.children)W=z.children.map(function(Q){if("null_"===Q._baseState.tag)return Q._encode(null,P,A);if(null===Q._baseState.key)return P.error("Child should have a key");const ie=P.enterKey(Q._baseState.key);if("object"!=typeof A)return P.error("Child expected, but input is not object");const ae=Q._encode(A[Q._baseState.key],P,A);return P.leaveKey(ie),ae},this).filter(function(Q){return Q}),W=this._createEncoderBuffer(W);else if("seqof"===z.tag||"setof"===z.tag){if(!z.args||1!==z.args.length)return P.error("Too many args for : "+z.tag);if(!Array.isArray(A))return P.error("seqof/setof, but data is not Array");const Q=this.clone();Q._baseState.implicit=null,W=this._createEncoderBuffer(A.map(function(ie){const ae=this._baseState;return this._getUse(ae.args[0],A)._encode(ie,P)},Q))}else null!==z.use?I=this._getUse(z.use,M)._encode(A,P):(W=this._encodePrimitive(z.tag,A),Z=!0);if(!z.any&&null===z.choice){const Q=null!==z.implicit?z.implicit:z.tag,ie=null===z.implicit?"universal":"context";null===Q?null===z.use&&P.error("Tag could be omitted only for .use()"):null===z.use&&(I=this._encodeComposite(Q,Z,ie,W))}return null!==z.explicit&&(I=this._encodeComposite(z.explicit,!1,"context",I)),I},k.prototype._encodeChoice=function(A,P){const M=this._baseState,z=M.choice[A.type];return z||E(!1,A.type+" not found in "+JSON.stringify(Object.keys(M.choice))),z._encode(A.value,P)},k.prototype._encodePrimitive=function(A,P){const M=this._baseState;if(/str$/.test(A))return this._encodeStr(P,A);if("objid"===A&&M.args)return this._encodeObjid(P,M.reverseArgs[0],M.args[1]);if("objid"===A)return this._encodeObjid(P,null,null);if("gentime"===A||"utctime"===A)return this._encodeTime(P,A);if("null_"===A)return this._encodeNull();if("int"===A||"enum"===A)return this._encodeInt(P,M.args&&M.reverseArgs[0]);if("bool"===A)return this._encodeBool(P);if("objDesc"===A)return this._encodeStr(P,A);throw new Error("Unsupported tag: "+A)},k.prototype._isNumstr=function(A){return/^[0-9 ]*$/.test(A)},k.prototype._isPrintstr=function(A){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(A)}},794:(Ue,q,m)=>{"use strict";const e=m(5035);function t(E){this._reporterState={obj:null,path:[],options:E||{},errors:[]}}function _(E,s){this.path=E,this.rethrow(s)}q.b=t,t.prototype.isError=function(s){return s instanceof _},t.prototype.save=function(){const s=this._reporterState;return{obj:s.obj,pathLen:s.path.length}},t.prototype.restore=function(s){const D=this._reporterState;D.obj=s.obj,D.path=D.path.slice(0,s.pathLen)},t.prototype.enterKey=function(s){return this._reporterState.path.push(s)},t.prototype.exitKey=function(s){const D=this._reporterState;D.path=D.path.slice(0,s-1)},t.prototype.leaveKey=function(s,D,u){const k=this._reporterState;this.exitKey(s),null!==k.obj&&(k.obj[D]=u)},t.prototype.path=function(){return this._reporterState.path.join("/")},t.prototype.enterObject=function(){const s=this._reporterState,D=s.obj;return s.obj={},D},t.prototype.leaveObject=function(s){const D=this._reporterState,u=D.obj;return D.obj=s,u},t.prototype.error=function(s){let D;const u=this._reporterState,k=s instanceof _;if(D=k?s:new _(u.path.map(function(p){return"["+JSON.stringify(p)+"]"}).join(""),s.message||s,s.stack),!u.options.partial)throw D;return k||u.errors.push(D),D},t.prototype.wrapResult=function(s){const D=this._reporterState;return D.options.partial?{result:this.isError(s)?null:s,errors:D.errors}:s},e(_,Error),_.prototype.rethrow=function(s){if(this.message=s+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,_),!this.stack)try{throw new Error(this.message)}catch(D){this.stack=D.stack}return this}},6434:(Ue,q)=>{"use strict";function m(e){const t={};return Object.keys(e).forEach(function(_){(0|_)==_&&(_|=0);const E=e[_];t[E]=_}),t}q.tagClass={0:"universal",1:"application",2:"context",3:"private"},q.tagClassByName=m(q.tagClass),q.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},q.tagByName=m(q.tag)},5407:(Ue,q,m)=>{"use strict";const e=q;e._reverse=function(_){const E={};return Object.keys(_).forEach(function(s){(0|s)==s&&(s|=0);const D=_[s];E[D]=s}),E},e.der=m(6434)},110:(Ue,q,m)=>{"use strict";const e=m(5035),t=m(3439),_=m(2314).C,E=m(1598),s=m(6434);function D(S){this.enc="der",this.name=S.name,this.entity=S,this.tree=new u,this.tree._init(S.body)}function u(S){E.call(this,"der",S)}function k(S,A){let P=S.readUInt8(A);if(S.isError(P))return P;const M=s.tagClass[P>>6],z=0==(32&P);if(31==(31&P)){let W=P;for(P=0;128==(128&W);){if(W=S.readUInt8(A),S.isError(W))return W;P<<=7,P|=127&W}}else P&=31;return{cls:M,primitive:z,tag:P,tagStr:s.tag[P]}}function p(S,A,P){let M=S.readUInt8(P);if(S.isError(M))return M;if(!A&&128===M)return null;if(0==(128&M))return M;const z=127&M;if(z>4)return S.error("length octect is too long");M=0;for(let I=0;I{"use strict";const e=q;e.der=m(110),e.pem=m(7441)},7441:(Ue,q,m)=>{"use strict";const e=m(5035),t=m(4421).Buffer,_=m(110);function E(s){_.call(this,s),this.enc="pem"}e(E,_),Ue.exports=E,E.prototype.decode=function(D,u){const k=D.toString().split(/[\r\n]+/g),p=u.label.toUpperCase(),S=/^-----(BEGIN|END) ([^-]+)-----$/;let A=-1,P=-1;for(let I=0;I{"use strict";const e=m(5035),t=m(4421).Buffer,_=m(1598),E=m(6434);function s(p){this.enc="der",this.name=p.name,this.entity=p,this.tree=new D,this.tree._init(p.body)}function D(p){_.call(this,"der",p)}function u(p){return p<10?"0"+p:p}Ue.exports=s,s.prototype.encode=function(S,A){return this.tree._encode(S,A).join()},e(D,_),D.prototype._encodeComposite=function(S,A,P,M){const z=function k(p,S,A,P){let M;if("seqof"===p?p="seq":"setof"===p&&(p="set"),E.tagByName.hasOwnProperty(p))M=E.tagByName[p];else{if("number"!=typeof p||(0|p)!==p)return P.error("Unknown tag: "+p);M=p}return M>=31?P.error("Multi-octet tag encoding unsupported"):(S||(M|=32),M|=E.tagClassByName[A||"universal"]<<6,M)}(S,A,P,this.reporter);if(M.length<128){const Z=t.alloc(2);return Z[0]=z,Z[1]=M.length,this._createEncoderBuffer([Z,M])}let I=1;for(let Z=M.length;Z>=256;Z>>=8)I++;const W=t.alloc(2+I);W[0]=z,W[1]=128|I;for(let Z=1+I,Q=M.length;Q>0;Z--,Q>>=8)W[Z]=255&Q;return this._createEncoderBuffer([W,M])},D.prototype._encodeStr=function(S,A){if("bitstr"===A)return this._createEncoderBuffer([0|S.unused,S.data]);if("bmpstr"===A){const P=t.alloc(2*S.length);for(let M=0;M=40)return this.reporter.error("Second objid identifier OOB");S.splice(0,2,40*S[0]+S[1])}let M=0;for(let W=0;W=128;Z>>=7)M++}const z=t.alloc(M);let I=z.length-1;for(let W=S.length-1;W>=0;W--){let Z=S[W];for(z[I--]=127&Z;(Z>>=7)>0;)z[I--]=128|127&Z}return this._createEncoderBuffer(z)},D.prototype._encodeTime=function(S,A){let P;const M=new Date(S);return"gentime"===A?P=[u(M.getUTCFullYear()),u(M.getUTCMonth()+1),u(M.getUTCDate()),u(M.getUTCHours()),u(M.getUTCMinutes()),u(M.getUTCSeconds()),"Z"].join(""):"utctime"===A?P=[u(M.getUTCFullYear()%100),u(M.getUTCMonth()+1),u(M.getUTCDate()),u(M.getUTCHours()),u(M.getUTCMinutes()),u(M.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+A+" time is not supported yet"),this._encodeStr(P,"octstr")},D.prototype._encodeNull=function(){return this._createEncoderBuffer("")},D.prototype._encodeInt=function(S,A){if("string"==typeof S){if(!A)return this.reporter.error("String int or enum given, but no values map");if(!A.hasOwnProperty(S))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(S));S=A[S]}if("number"!=typeof S&&!t.isBuffer(S)){const z=S.toArray();!S.sign&&128&z[0]&&z.unshift(0),S=t.from(z)}if(t.isBuffer(S)){let z=S.length;0===S.length&&z++;const I=t.alloc(z);return S.copy(I),0===S.length&&(I[0]=0),this._createEncoderBuffer(I)}if(S<128)return this._createEncoderBuffer(S);if(S<256)return this._createEncoderBuffer([0,S]);let P=1;for(let z=S;z>=256;z>>=8)P++;const M=new Array(P);for(let z=M.length-1;z>=0;z--)M[z]=255&S,S>>=8;return 128&M[0]&&M.unshift(0),this._createEncoderBuffer(t.from(M))},D.prototype._encodeBool=function(S){return this._createEncoderBuffer(S?255:0)},D.prototype._use=function(S,A){return"function"==typeof S&&(S=S(A)),S._getEncoder("der").tree},D.prototype._skipDefault=function(S,A,P){const M=this._baseState;let z;if(null===M.default)return!1;const I=S.join();if(void 0===M.defaultBuffer&&(M.defaultBuffer=this._encodeValue(M.default,A,P).join()),I.length!==M.defaultBuffer.length)return!1;for(z=0;z{"use strict";const e=q;e.der=m(2035),e.pem=m(7294)},7294:(Ue,q,m)=>{"use strict";const e=m(5035),t=m(2035);function _(E){t.call(this,E),this.enc="pem"}e(_,t),Ue.exports=_,_.prototype.encode=function(s,D){const k=t.prototype.encode.call(this,s).toString("base64"),p=["-----BEGIN "+D.label+"-----"];for(let S=0;S=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},2173:(Ue,q)=>{"use strict";q.byteLength=function u(M){var z=D(M),I=z[0],W=z[1];return 3*(I+W)/4-W},q.toByteArray=function p(M){var z,_e,I=D(M),W=I[0],Z=I[1],Q=new t(function k(M,z,I){return 3*(z+I)/4-I}(0,W,Z)),ie=0,ae=Z>0?W-4:W;for(_e=0;_e>16&255,Q[ie++]=z>>8&255,Q[ie++]=255&z;return 2===Z&&(z=e[M.charCodeAt(_e)]<<2|e[M.charCodeAt(_e+1)]>>4,Q[ie++]=255&z),1===Z&&(z=e[M.charCodeAt(_e)]<<10|e[M.charCodeAt(_e+1)]<<4|e[M.charCodeAt(_e+2)]>>2,Q[ie++]=z>>8&255,Q[ie++]=255&z),Q},q.fromByteArray=function P(M){for(var z,I=M.length,W=I%3,Z=[],Q=16383,ie=0,ae=I-W;ieae?ae:ie+Q));return 1===W?(z=M[I-1],Z.push(m[z>>2]+m[z<<4&63]+"==")):2===W&&(z=(M[I-2]<<8)+M[I-1],Z.push(m[z>>10]+m[z>>4&63]+m[z<<2&63]+"=")),Z.join("")};for(var m=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0,s=_.length;E0)throw new Error("Invalid string. Length must be a multiple of 4");var I=M.indexOf("=");return-1===I&&(I=z),[I,I===z?0:4-I%4]}function S(M){return m[M>>18&63]+m[M>>12&63]+m[M>>6&63]+m[63&M]}function A(M,z,I){for(var W,Z=[],Q=z;Q=48&&y<=57?y-48:y>=65&&y<=70?y-55:y>=97&&y<=102?y-87:void _(!1,"Invalid character in "+h)}function k(h,d,y){var L=u(h,y);return y-1>=d&&(L|=u(h,y-1)<<4),L}function p(h,d,y,L){for(var B=0,v=0,a=Math.min(h.length,y),C=d;C=49?N-49+10:N>=17?N-17+10:N,_(N>=0&&v0?d:y},s.min=function(d,y){return d.cmp(y)<0?d:y},s.prototype._init=function(d,y,L){if("number"==typeof d)return this._initNumber(d,y,L);if("object"==typeof d)return this._initArray(d,y,L);"hex"===y&&(y=16),_(y===(0|y)&&y>=2&&y<=36);var B=0;"-"===(d=d.toString().replace(/\s+/g,""))[0]&&(B++,this.negative=1),B=0;B-=3)a=d[B]|d[B-1]<<8|d[B-2]<<16,this.words[v]|=a<>>26-C&67108863,(C+=24)>=26&&(C-=26,v++);else if("le"===L)for(B=0,v=0;B>>26-C&67108863,(C+=24)>=26&&(C-=26,v++);return this._strip()},s.prototype._parseHex=function(d,y,L){this.length=Math.ceil((d.length-y)/6),this.words=new Array(this.length);for(var B=0;B=y;B-=2)C=k(d,y,B)<=18?(v-=18,a+=1,this.words[a]|=C>>>26):v+=8;else for(B=(d.length-y)%2==0?y+1:y;B=18?(v-=18,a+=1,this.words[a]|=C>>>26):v+=8;this._strip()},s.prototype._parseBase=function(d,y,L){this.words=[0],this.length=1;for(var B=0,v=1;v<=67108863;v*=y)B++;B--,v=v/y|0;for(var a=d.length-L,C=a%B,N=Math.min(a,a-C)+L,F=0,X=L;X1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},typeof Symbol<"u"&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=A}catch{s.prototype.inspect=A}else s.prototype.inspect=A;function A(){return(this.red?""}var P=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],M=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],z=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,y){var L;if(y=0|y||1,16===(d=d||10)||"hex"===d){L="";for(var B=0,v=0,a=0;a>>24-B&16777215,(B+=2)>=26&&(B-=26,a--),L=0!==v||a!==this.length-1?P[6-N.length]+N+L:N+L}for(0!==v&&(L=v.toString(16)+L);L.length%y!=0;)L="0"+L;return 0!==this.negative&&(L="-"+L),L}if(d===(0|d)&&d>=2&&d<=36){var F=M[d],X=z[d];L="";var Fe=this.clone();for(Fe.negative=0;!Fe.isZero();){var ke=Fe.modrn(X).toString(d);L=(Fe=Fe.idivn(X)).isZero()?ke+L:P[F-ke.length]+ke+L}for(this.isZero()&&(L="0"+L);L.length%y!=0;)L="0"+L;return 0!==this.negative&&(L="-"+L),L}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return 2===this.length?d+=67108864*this.words[1]:3===this.length&&1===this.words[2]?d+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},D&&(s.prototype.toBuffer=function(d,y){return this.toArrayLike(D,d,y)}),s.prototype.toArray=function(d,y){return this.toArrayLike(Array,d,y)};function Z(h,d,y){y.negative=d.negative^h.negative;var L=h.length+d.length|0;y.length=L,L=L-1|0;var B=0|h.words[0],v=0|d.words[0],a=B*v,C=67108863&a,N=a/67108864|0;y.words[0]=C;for(var F=1;F>>26,Fe=67108863&N,ke=Math.min(F,d.length-1),Ke=Math.max(0,F-h.length+1);Ke<=ke;Ke++){var je=F-Ke|0;X+=(a=(B=0|h.words[je])*(v=0|d.words[Ke])+Fe)/67108864|0,Fe=67108863&a}y.words[F]=0|Fe,N=0|X}return 0!==N?y.words[F]=0|N:y.length--,y._strip()}s.prototype.toArrayLike=function(d,y,L){this._strip();var B=this.byteLength(),v=L||Math.max(1,B);_(B<=v,"byte array longer than desired length"),_(v>0,"Requested array length <= 0");var a=function(d,y){return d.allocUnsafe?d.allocUnsafe(y):new d(y)}(d,v);return this["_toArrayLike"+("le"===y?"LE":"BE")](a,B),a},s.prototype._toArrayLikeLE=function(d,y){for(var L=0,B=0,v=0,a=0;v>8&255),L>16&255),6===a?(L>24&255),B=0,a=0):(B=C>>>24,a+=2)}if(L=0&&(d[L--]=C>>8&255),L>=0&&(d[L--]=C>>16&255),6===a?(L>=0&&(d[L--]=C>>24&255),B=0,a=0):(B=C>>>24,a+=2)}if(L>=0)for(d[L--]=B;L>=0;)d[L--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var y=d,L=0;return y>=4096&&(L+=13,y>>>=13),y>=64&&(L+=7,y>>>=7),y>=8&&(L+=4,y>>>=4),y>=2&&(L+=2,y>>>=2),L+y},s.prototype._zeroBits=function(d){if(0===d)return 26;var y=d,L=0;return 0==(8191&y)&&(L+=13,y>>>=13),0==(127&y)&&(L+=7,y>>>=7),0==(15&y)&&(L+=4,y>>>=4),0==(3&y)&&(L+=2,y>>>=2),0==(1&y)&&L++,L},s.prototype.bitLength=function(){var d=this.words[this.length-1],y=this._countBits(d);return 26*(this.length-1)+y},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,y=0;yd.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var y;y=this.length>d.length?d:this;for(var L=0;Ld.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var y,L;this.length>d.length?(y=this,L=d):(y=d,L=this);for(var B=0;Bd.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){_("number"==typeof d&&d>=0);var y=0|Math.ceil(d/26),L=d%26;this._expand(y),L>0&&y--;for(var B=0;B0&&(this.words[B]=~this.words[B]&67108863>>26-L),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,y){_("number"==typeof d&&d>=0);var L=d/26|0,B=d%26;return this._expand(L+1),this.words[L]=y?this.words[L]|1<d.length?(L=this,B=d):(L=d,B=this);for(var v=0,a=0;a>>26;for(;0!==v&&a>>26;if(this.length=L.length,0!==v)this.words[this.length]=v,this.length++;else if(L!==this)for(;ad.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(0!==d.negative){d.negative=0;var y=this.iadd(d);return d.negative=1,y._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var B,v,L=this.cmp(d);if(0===L)return this.negative=0,this.length=1,this.words[0]=0,this;L>0?(B=this,v=d):(B=d,v=this);for(var a=0,C=0;C>26,this.words[C]=67108863&y;for(;0!==a&&C>26,this.words[C]=67108863&y;if(0===a&&C>>13,je=0|B[1],Ve=8191&je,xe=je>>>13,Ze=0|B[2],Ie=8191&Ze,ve=Ze>>>13,et=0|B[3],ht=8191&et,Le=et>>>13,Ae=0|B[4],te=8191&Ae,pe=Ae>>>13,ee=0|B[5],H=8191&ee,j=ee>>>13,Oe=0|B[6],Re=8191&Oe,le=Oe>>>13,_t=0|B[7],it=8191&_t,Ct=_t>>>13,un=0|B[8],Bt=8191&un,Ut=un>>>13,yn=0|B[9],Xt=8191&yn,Gt=yn>>>13,In=0|v[0],rn=8191&In,tn=In>>>13,pn=0|v[1],tt=8191&pn,vt=pn>>>13,dt=0|v[2],se=8191&dt,J=dt>>>13,oe=0|v[3],De=8191&oe,Ye=oe>>>13,Dt=0|v[4],ut=8191&Dt,ze=Dt>>>13,Me=0|v[5],Ce=8191&Me,Je=Me>>>13,zt=0|v[6],At=8191&zt,Tt=zt>>>13,Ht=0|v[7],He=8191&Ht,$e=Ht>>>13,$t=0|v[8],Rt=8191&$t,Jt=$t>>>13,Vn=0|v[9],zn=8191&Vn,Tn=Vn>>>13;L.negative=d.negative^y.negative,L.length=19;var Yn=(C+(N=Math.imul(ke,rn))|0)+((8191&(F=(F=Math.imul(ke,tn))+Math.imul(Ke,rn)|0))<<13)|0;C=((X=Math.imul(Ke,tn))+(F>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,N=Math.imul(Ve,rn),F=(F=Math.imul(Ve,tn))+Math.imul(xe,rn)|0,X=Math.imul(xe,tn);var Mt=(C+(N=N+Math.imul(ke,tt)|0)|0)+((8191&(F=(F=F+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0))<<13)|0;C=((X=X+Math.imul(Ke,vt)|0)+(F>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,N=Math.imul(Ie,rn),F=(F=Math.imul(Ie,tn))+Math.imul(ve,rn)|0,X=Math.imul(ve,tn),N=N+Math.imul(Ve,tt)|0,F=(F=F+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,X=X+Math.imul(xe,vt)|0;var Ge=(C+(N=N+Math.imul(ke,se)|0)|0)+((8191&(F=(F=F+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0))<<13)|0;C=((X=X+Math.imul(Ke,J)|0)+(F>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,N=Math.imul(ht,rn),F=(F=Math.imul(ht,tn))+Math.imul(Le,rn)|0,X=Math.imul(Le,tn),N=N+Math.imul(Ie,tt)|0,F=(F=F+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,X=X+Math.imul(ve,vt)|0,N=N+Math.imul(Ve,se)|0,F=(F=F+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,X=X+Math.imul(xe,J)|0;var Be=(C+(N=N+Math.imul(ke,De)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0))<<13)|0;C=((X=X+Math.imul(Ke,Ye)|0)+(F>>>13)|0)+(Be>>>26)|0,Be&=67108863,N=Math.imul(te,rn),F=(F=Math.imul(te,tn))+Math.imul(pe,rn)|0,X=Math.imul(pe,tn),N=N+Math.imul(ht,tt)|0,F=(F=F+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,X=X+Math.imul(Le,vt)|0,N=N+Math.imul(Ie,se)|0,F=(F=F+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,X=X+Math.imul(ve,J)|0,N=N+Math.imul(Ve,De)|0,F=(F=F+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,X=X+Math.imul(xe,Ye)|0;var ft=(C+(N=N+Math.imul(ke,ut)|0)|0)+((8191&(F=(F=F+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0))<<13)|0;C=((X=X+Math.imul(Ke,ze)|0)+(F>>>13)|0)+(ft>>>26)|0,ft&=67108863,N=Math.imul(H,rn),F=(F=Math.imul(H,tn))+Math.imul(j,rn)|0,X=Math.imul(j,tn),N=N+Math.imul(te,tt)|0,F=(F=F+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,X=X+Math.imul(pe,vt)|0,N=N+Math.imul(ht,se)|0,F=(F=F+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,X=X+Math.imul(Le,J)|0,N=N+Math.imul(Ie,De)|0,F=(F=F+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,X=X+Math.imul(ve,Ye)|0,N=N+Math.imul(Ve,ut)|0,F=(F=F+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,X=X+Math.imul(xe,ze)|0;var re=(C+(N=N+Math.imul(ke,Ce)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0))<<13)|0;C=((X=X+Math.imul(Ke,Je)|0)+(F>>>13)|0)+(re>>>26)|0,re&=67108863,N=Math.imul(Re,rn),F=(F=Math.imul(Re,tn))+Math.imul(le,rn)|0,X=Math.imul(le,tn),N=N+Math.imul(H,tt)|0,F=(F=F+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,X=X+Math.imul(j,vt)|0,N=N+Math.imul(te,se)|0,F=(F=F+Math.imul(te,J)|0)+Math.imul(pe,se)|0,X=X+Math.imul(pe,J)|0,N=N+Math.imul(ht,De)|0,F=(F=F+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,X=X+Math.imul(Le,Ye)|0,N=N+Math.imul(Ie,ut)|0,F=(F=F+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,X=X+Math.imul(ve,ze)|0,N=N+Math.imul(Ve,Ce)|0,F=(F=F+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,X=X+Math.imul(xe,Je)|0;var Te=(C+(N=N+Math.imul(ke,At)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0))<<13)|0;C=((X=X+Math.imul(Ke,Tt)|0)+(F>>>13)|0)+(Te>>>26)|0,Te&=67108863,N=Math.imul(it,rn),F=(F=Math.imul(it,tn))+Math.imul(Ct,rn)|0,X=Math.imul(Ct,tn),N=N+Math.imul(Re,tt)|0,F=(F=F+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,X=X+Math.imul(le,vt)|0,N=N+Math.imul(H,se)|0,F=(F=F+Math.imul(H,J)|0)+Math.imul(j,se)|0,X=X+Math.imul(j,J)|0,N=N+Math.imul(te,De)|0,F=(F=F+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,X=X+Math.imul(pe,Ye)|0,N=N+Math.imul(ht,ut)|0,F=(F=F+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,X=X+Math.imul(Le,ze)|0,N=N+Math.imul(Ie,Ce)|0,F=(F=F+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,X=X+Math.imul(ve,Je)|0,N=N+Math.imul(Ve,At)|0,F=(F=F+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,X=X+Math.imul(xe,Tt)|0;var pt=(C+(N=N+Math.imul(ke,He)|0)|0)+((8191&(F=(F=F+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0))<<13)|0;C=((X=X+Math.imul(Ke,$e)|0)+(F>>>13)|0)+(pt>>>26)|0,pt&=67108863,N=Math.imul(Bt,rn),F=(F=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,X=Math.imul(Ut,tn),N=N+Math.imul(it,tt)|0,F=(F=F+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,X=X+Math.imul(Ct,vt)|0,N=N+Math.imul(Re,se)|0,F=(F=F+Math.imul(Re,J)|0)+Math.imul(le,se)|0,X=X+Math.imul(le,J)|0,N=N+Math.imul(H,De)|0,F=(F=F+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,X=X+Math.imul(j,Ye)|0,N=N+Math.imul(te,ut)|0,F=(F=F+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,X=X+Math.imul(pe,ze)|0,N=N+Math.imul(ht,Ce)|0,F=(F=F+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,X=X+Math.imul(Le,Je)|0,N=N+Math.imul(Ie,At)|0,F=(F=F+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,X=X+Math.imul(ve,Tt)|0,N=N+Math.imul(Ve,He)|0,F=(F=F+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,X=X+Math.imul(xe,$e)|0;var Lt=(C+(N=N+Math.imul(ke,Rt)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;C=((X=X+Math.imul(Ke,Jt)|0)+(F>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,N=Math.imul(Xt,rn),F=(F=Math.imul(Xt,tn))+Math.imul(Gt,rn)|0,X=Math.imul(Gt,tn),N=N+Math.imul(Bt,tt)|0,F=(F=F+Math.imul(Bt,vt)|0)+Math.imul(Ut,tt)|0,X=X+Math.imul(Ut,vt)|0,N=N+Math.imul(it,se)|0,F=(F=F+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,X=X+Math.imul(Ct,J)|0,N=N+Math.imul(Re,De)|0,F=(F=F+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,X=X+Math.imul(le,Ye)|0,N=N+Math.imul(H,ut)|0,F=(F=F+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,X=X+Math.imul(j,ze)|0,N=N+Math.imul(te,Ce)|0,F=(F=F+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,X=X+Math.imul(pe,Je)|0,N=N+Math.imul(ht,At)|0,F=(F=F+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,X=X+Math.imul(Le,Tt)|0,N=N+Math.imul(Ie,He)|0,F=(F=F+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,X=X+Math.imul(ve,$e)|0,N=N+Math.imul(Ve,Rt)|0,F=(F=F+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0,X=X+Math.imul(xe,Jt)|0;var nn=(C+(N=N+Math.imul(ke,zn)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Tn)|0)+Math.imul(Ke,zn)|0))<<13)|0;C=((X=X+Math.imul(Ke,Tn)|0)+(F>>>13)|0)+(nn>>>26)|0,nn&=67108863,N=Math.imul(Xt,tt),F=(F=Math.imul(Xt,vt))+Math.imul(Gt,tt)|0,X=Math.imul(Gt,vt),N=N+Math.imul(Bt,se)|0,F=(F=F+Math.imul(Bt,J)|0)+Math.imul(Ut,se)|0,X=X+Math.imul(Ut,J)|0,N=N+Math.imul(it,De)|0,F=(F=F+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,X=X+Math.imul(Ct,Ye)|0,N=N+Math.imul(Re,ut)|0,F=(F=F+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,X=X+Math.imul(le,ze)|0,N=N+Math.imul(H,Ce)|0,F=(F=F+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,X=X+Math.imul(j,Je)|0,N=N+Math.imul(te,At)|0,F=(F=F+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,X=X+Math.imul(pe,Tt)|0,N=N+Math.imul(ht,He)|0,F=(F=F+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,X=X+Math.imul(Le,$e)|0,N=N+Math.imul(Ie,Rt)|0,F=(F=F+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0,X=X+Math.imul(ve,Jt)|0;var Bn=(C+(N=N+Math.imul(Ve,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Ve,Tn)|0)+Math.imul(xe,zn)|0))<<13)|0;C=((X=X+Math.imul(xe,Tn)|0)+(F>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,N=Math.imul(Xt,se),F=(F=Math.imul(Xt,J))+Math.imul(Gt,se)|0,X=Math.imul(Gt,J),N=N+Math.imul(Bt,De)|0,F=(F=F+Math.imul(Bt,Ye)|0)+Math.imul(Ut,De)|0,X=X+Math.imul(Ut,Ye)|0,N=N+Math.imul(it,ut)|0,F=(F=F+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,X=X+Math.imul(Ct,ze)|0,N=N+Math.imul(Re,Ce)|0,F=(F=F+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,X=X+Math.imul(le,Je)|0,N=N+Math.imul(H,At)|0,F=(F=F+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,X=X+Math.imul(j,Tt)|0,N=N+Math.imul(te,He)|0,F=(F=F+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,X=X+Math.imul(pe,$e)|0,N=N+Math.imul(ht,Rt)|0,F=(F=F+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0,X=X+Math.imul(Le,Jt)|0;var Wn=(C+(N=N+Math.imul(Ie,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Ie,Tn)|0)+Math.imul(ve,zn)|0))<<13)|0;C=((X=X+Math.imul(ve,Tn)|0)+(F>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,N=Math.imul(Xt,De),F=(F=Math.imul(Xt,Ye))+Math.imul(Gt,De)|0,X=Math.imul(Gt,Ye),N=N+Math.imul(Bt,ut)|0,F=(F=F+Math.imul(Bt,ze)|0)+Math.imul(Ut,ut)|0,X=X+Math.imul(Ut,ze)|0,N=N+Math.imul(it,Ce)|0,F=(F=F+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,X=X+Math.imul(Ct,Je)|0,N=N+Math.imul(Re,At)|0,F=(F=F+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,X=X+Math.imul(le,Tt)|0,N=N+Math.imul(H,He)|0,F=(F=F+Math.imul(H,$e)|0)+Math.imul(j,He)|0,X=X+Math.imul(j,$e)|0,N=N+Math.imul(te,Rt)|0,F=(F=F+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0,X=X+Math.imul(pe,Jt)|0;var ti=(C+(N=N+Math.imul(ht,zn)|0)|0)+((8191&(F=(F=F+Math.imul(ht,Tn)|0)+Math.imul(Le,zn)|0))<<13)|0;C=((X=X+Math.imul(Le,Tn)|0)+(F>>>13)|0)+(ti>>>26)|0,ti&=67108863,N=Math.imul(Xt,ut),F=(F=Math.imul(Xt,ze))+Math.imul(Gt,ut)|0,X=Math.imul(Gt,ze),N=N+Math.imul(Bt,Ce)|0,F=(F=F+Math.imul(Bt,Je)|0)+Math.imul(Ut,Ce)|0,X=X+Math.imul(Ut,Je)|0,N=N+Math.imul(it,At)|0,F=(F=F+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,X=X+Math.imul(Ct,Tt)|0,N=N+Math.imul(Re,He)|0,F=(F=F+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,X=X+Math.imul(le,$e)|0,N=N+Math.imul(H,Rt)|0,F=(F=F+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0,X=X+Math.imul(j,Jt)|0;var Mn=(C+(N=N+Math.imul(te,zn)|0)|0)+((8191&(F=(F=F+Math.imul(te,Tn)|0)+Math.imul(pe,zn)|0))<<13)|0;C=((X=X+Math.imul(pe,Tn)|0)+(F>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,N=Math.imul(Xt,Ce),F=(F=Math.imul(Xt,Je))+Math.imul(Gt,Ce)|0,X=Math.imul(Gt,Je),N=N+Math.imul(Bt,At)|0,F=(F=F+Math.imul(Bt,Tt)|0)+Math.imul(Ut,At)|0,X=X+Math.imul(Ut,Tt)|0,N=N+Math.imul(it,He)|0,F=(F=F+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,X=X+Math.imul(Ct,$e)|0,N=N+Math.imul(Re,Rt)|0,F=(F=F+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0,X=X+Math.imul(le,Jt)|0;var Ln=(C+(N=N+Math.imul(H,zn)|0)|0)+((8191&(F=(F=F+Math.imul(H,Tn)|0)+Math.imul(j,zn)|0))<<13)|0;C=((X=X+Math.imul(j,Tn)|0)+(F>>>13)|0)+(Ln>>>26)|0,Ln&=67108863,N=Math.imul(Xt,At),F=(F=Math.imul(Xt,Tt))+Math.imul(Gt,At)|0,X=Math.imul(Gt,Tt),N=N+Math.imul(Bt,He)|0,F=(F=F+Math.imul(Bt,$e)|0)+Math.imul(Ut,He)|0,X=X+Math.imul(Ut,$e)|0,N=N+Math.imul(it,Rt)|0,F=(F=F+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0,X=X+Math.imul(Ct,Jt)|0;var ai=(C+(N=N+Math.imul(Re,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Re,Tn)|0)+Math.imul(le,zn)|0))<<13)|0;C=((X=X+Math.imul(le,Tn)|0)+(F>>>13)|0)+(ai>>>26)|0,ai&=67108863,N=Math.imul(Xt,He),F=(F=Math.imul(Xt,$e))+Math.imul(Gt,He)|0,X=Math.imul(Gt,$e),N=N+Math.imul(Bt,Rt)|0,F=(F=F+Math.imul(Bt,Jt)|0)+Math.imul(Ut,Rt)|0,X=X+Math.imul(Ut,Jt)|0;var an=(C+(N=N+Math.imul(it,zn)|0)|0)+((8191&(F=(F=F+Math.imul(it,Tn)|0)+Math.imul(Ct,zn)|0))<<13)|0;C=((X=X+Math.imul(Ct,Tn)|0)+(F>>>13)|0)+(an>>>26)|0,an&=67108863,N=Math.imul(Xt,Rt),F=(F=Math.imul(Xt,Jt))+Math.imul(Gt,Rt)|0,X=Math.imul(Gt,Jt);var hn=(C+(N=N+Math.imul(Bt,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Bt,Tn)|0)+Math.imul(Ut,zn)|0))<<13)|0;C=((X=X+Math.imul(Ut,Tn)|0)+(F>>>13)|0)+(hn>>>26)|0,hn&=67108863;var en=(C+(N=Math.imul(Xt,zn))|0)+((8191&(F=(F=Math.imul(Xt,Tn))+Math.imul(Gt,zn)|0))<<13)|0;return C=((X=Math.imul(Gt,Tn))+(F>>>13)|0)+(en>>>26)|0,en&=67108863,a[0]=Yn,a[1]=Mt,a[2]=Ge,a[3]=Be,a[4]=ft,a[5]=re,a[6]=Te,a[7]=pt,a[8]=Lt,a[9]=nn,a[10]=Bn,a[11]=Wn,a[12]=ti,a[13]=Mn,a[14]=Ln,a[15]=ai,a[16]=an,a[17]=hn,a[18]=en,0!==C&&(a[19]=C,L.length++),L};function ie(h,d,y){y.negative=d.negative^h.negative,y.length=h.length+d.length;for(var L=0,B=0,v=0;v>>26)|0)>>>26,a&=67108863}y.words[v]=C,L=a,a=B}return 0!==L?y.words[v]=L:y.length--,y._strip()}function ae(h,d,y){return ie(h,d,y)}function _e(h,d){this.x=h,this.y=d}Math.imul||(Q=Z),s.prototype.mulTo=function(d,y){var B=this.length+d.length;return 10===this.length&&10===d.length?Q(this,d,y):B<63?Z(this,d,y):B<1024?ie(this,d,y):ae(this,d,y)},_e.prototype.makeRBT=function(d){for(var y=new Array(d),L=s.prototype._countBits(d)-1,B=0;B>=1;return B},_e.prototype.permute=function(d,y,L,B,v,a){for(var C=0;C>>=1)v++;return 1<>>=13,L[2*a+1]=8191&v,v>>>=13;for(a=2*y;a>=26,L+=v/67108864|0,L+=a>>>26,this.words[B]=67108863&a}return 0!==L&&(this.words[B]=L,this.length++),y?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var y=function W(h){for(var d=new Array(h.bitLength()),y=0;y>>B&1}return d}(d);if(0===y.length)return new s(1);for(var L=this,B=0;B=0);var v,y=d%26,L=(d-y)/26,B=67108863>>>26-y<<26-y;if(0!==y){var a=0;for(v=0;v>>26-y}a&&(this.words[v]=a,this.length++)}if(0!==L){for(v=this.length-1;v>=0;v--)this.words[v+L]=this.words[v];for(v=0;v=0),B=y?(y-y%26)/26:0;var v=d%26,a=Math.min((d-v)/26,this.length),C=67108863^67108863>>>v<a)for(this.length-=a,F=0;F=0&&(0!==X||F>=B);F--){var Fe=0|this.words[F];this.words[F]=X<<26-v|Fe>>>v,X=Fe&C}return N&&0!==X&&(N.words[N.length++]=X),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,y,L){return _(0===this.negative),this.iushrn(d,y,L)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){_("number"==typeof d&&d>=0);var y=d%26,L=(d-y)/26,B=1<=0);var y=d%26,L=(d-y)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=L)return this;if(0!==y&&L++,this.length=Math.min(L,this.length),0!==y){var B=67108863^67108863>>>y<=67108864;y++)this.words[y]-=67108864,y===this.length-1?this.words[y+1]=1:this.words[y+1]++;return this.length=Math.max(this.length,y+1),this},s.prototype.isubn=function(d){if(_("number"==typeof d),_(d<67108864),d<0)return this.iaddn(-d);if(0!==this.negative)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var y=0;y>26)-(N/67108864|0),this.words[v+L]=67108863&a}for(;v>26,this.words[v+L]=67108863&a;if(0===C)return this._strip();for(_(-1===C),C=0,v=0;v>26,this.words[v]=67108863&a;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,y){var L=(this.length,d.length),B=this.clone(),v=d,a=0|v.words[v.length-1];0!==(L=26-this._countBits(a))&&(v=v.ushln(L),B.iushln(L),a=0|v.words[v.length-1]);var F,N=B.length-v.length;if("mod"!==y){(F=new s(null)).length=N+1,F.words=new Array(F.length);for(var X=0;X=0;ke--){var Ke=67108864*(0|B.words[v.length+ke])+(0|B.words[v.length+ke-1]);for(Ke=Math.min(Ke/a|0,67108863),B._ishlnsubmul(v,Ke,ke);0!==B.negative;)Ke--,B.negative=0,B._ishlnsubmul(v,1,ke),B.isZero()||(B.negative^=1);F&&(F.words[ke]=Ke)}return F&&F._strip(),B._strip(),"div"!==y&&0!==L&&B.iushrn(L),{div:F||null,mod:B}},s.prototype.divmod=function(d,y,L){return _(!d.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===d.negative?(a=this.neg().divmod(d,y),"mod"!==y&&(B=a.div.neg()),"div"!==y&&(v=a.mod.neg(),L&&0!==v.negative&&v.iadd(d)),{div:B,mod:v}):0===this.negative&&0!==d.negative?(a=this.divmod(d.neg(),y),"mod"!==y&&(B=a.div.neg()),{div:B,mod:a.mod}):0!=(this.negative&d.negative)?(a=this.neg().divmod(d.neg(),y),"div"!==y&&(v=a.mod.neg(),L&&0!==v.negative&&v.isub(d)),{div:a.div,mod:v}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:1===d.length?"div"===y?{div:this.divn(d.words[0]),mod:null}:"mod"===y?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,y);var B,v,a},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var y=this.divmod(d);if(y.mod.isZero())return y.div;var L=0!==y.div.negative?y.mod.isub(d):y.mod,B=d.ushrn(1),v=d.andln(1),a=L.cmp(B);return a<0||1===v&&0===a?y.div:0!==y.div.negative?y.div.isubn(1):y.div.iaddn(1)},s.prototype.modrn=function(d){var y=d<0;y&&(d=-d),_(d<=67108863);for(var L=(1<<26)%d,B=0,v=this.length-1;v>=0;v--)B=(L*B+(0|this.words[v]))%d;return y?-B:B},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var y=d<0;y&&(d=-d),_(d<=67108863);for(var L=0,B=this.length-1;B>=0;B--){var v=(0|this.words[B])+67108864*L;this.words[B]=v/d|0,L=v%d}return this._strip(),y?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){_(0===d.negative),_(!d.isZero());var y=this,L=d.clone();y=0!==y.negative?y.umod(d):y.clone();for(var B=new s(1),v=new s(0),a=new s(0),C=new s(1),N=0;y.isEven()&&L.isEven();)y.iushrn(1),L.iushrn(1),++N;for(var F=L.clone(),X=y.clone();!y.isZero();){for(var Fe=0,ke=1;0==(y.words[0]&ke)&&Fe<26;++Fe,ke<<=1);if(Fe>0)for(y.iushrn(Fe);Fe-- >0;)(B.isOdd()||v.isOdd())&&(B.iadd(F),v.isub(X)),B.iushrn(1),v.iushrn(1);for(var Ke=0,je=1;0==(L.words[0]&je)&&Ke<26;++Ke,je<<=1);if(Ke>0)for(L.iushrn(Ke);Ke-- >0;)(a.isOdd()||C.isOdd())&&(a.iadd(F),C.isub(X)),a.iushrn(1),C.iushrn(1);y.cmp(L)>=0?(y.isub(L),B.isub(a),v.isub(C)):(L.isub(y),a.isub(B),C.isub(v))}return{a,b:C,gcd:L.iushln(N)}},s.prototype._invmp=function(d){_(0===d.negative),_(!d.isZero());var Fe,y=this,L=d.clone();y=0!==y.negative?y.umod(d):y.clone();for(var B=new s(1),v=new s(0),a=L.clone();y.cmpn(1)>0&&L.cmpn(1)>0;){for(var C=0,N=1;0==(y.words[0]&N)&&C<26;++C,N<<=1);if(C>0)for(y.iushrn(C);C-- >0;)B.isOdd()&&B.iadd(a),B.iushrn(1);for(var F=0,X=1;0==(L.words[0]&X)&&F<26;++F,X<<=1);if(F>0)for(L.iushrn(F);F-- >0;)v.isOdd()&&v.iadd(a),v.iushrn(1);y.cmp(L)>=0?(y.isub(L),B.isub(v)):(L.isub(y),v.isub(B))}return(Fe=0===y.cmpn(1)?B:v).cmpn(0)<0&&Fe.iadd(d),Fe},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var y=this.clone(),L=d.clone();y.negative=0,L.negative=0;for(var B=0;y.isEven()&&L.isEven();B++)y.iushrn(1),L.iushrn(1);for(;;){for(;y.isEven();)y.iushrn(1);for(;L.isEven();)L.iushrn(1);var v=y.cmp(L);if(v<0){var a=y;y=L,L=a}else if(0===v||0===L.cmpn(1))break;y.isub(L)}return L.iushln(B)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){_("number"==typeof d);var y=d%26,L=(d-y)/26,B=1<>>26,C&=67108863,this.words[a]=C}return 0!==v&&(this.words[a]=v,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(d){var L,y=d<0;if(0!==this.negative&&!y)return-1;if(0===this.negative&&y)return 1;if(this._strip(),this.length>1)L=1;else{y&&(d=-d),_(d<=67108863,"Number is too big");var B=0|this.words[0];L=B===d?0:Bd.length)return 1;if(this.length=0;L--){var B=0|this.words[L],v=0|d.words[L];if(B!==v){Bv&&(y=1);break}}return y},s.prototype.gtn=function(d){return 1===this.cmpn(d)},s.prototype.gt=function(d){return 1===this.cmp(d)},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return-1===this.cmpn(d)},s.prototype.lt=function(d){return-1===this.cmp(d)},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return 0===this.cmpn(d)},s.prototype.eq=function(d){return 0===this.cmp(d)},s.red=function(d){return new n(d)},s.prototype.toRed=function(d){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return _(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return _(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var ce={k256:null,p224:null,p192:null,p25519:null};function ye(h,d){this.name=h,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function ue(){ye.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function $(){ye.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function he(){ye.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){ye.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function n(h){if("string"==typeof h){var d=s._prime(h);this.m=d.p,this.prime=d}else _(h.gtn(1),"modulus must be greater than 1"),this.m=h,this.prime=null}function o(h){n.call(this,h),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ye.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},ye.prototype.ireduce=function(d){var L,y=d;do{this.split(y,this.tmp),L=(y=(y=this.imulK(y)).iadd(this.tmp)).bitLength()}while(L>this.n);var B=L0?y.isub(this.p):void 0!==y.strip?y.strip():y._strip(),y},ye.prototype.split=function(d,y){d.iushrn(this.n,0,y)},ye.prototype.imulK=function(d){return d.imul(this.k)},E(ue,ye),ue.prototype.split=function(d,y){for(var L=4194303,B=Math.min(d.length,9),v=0;v>>22,a=C}a>>>=22,d.words[v-10]=a,0===a&&d.length>10?d.length-=10:d.length-=9},ue.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var y=0,L=0;L>>=26,d.words[L]=v,y=B}return 0!==y&&(d.words[d.length++]=y),d},s._prime=function(d){if(ce[d])return ce[d];var y;if("k256"===d)y=new ue;else if("p224"===d)y=new $;else if("p192"===d)y=new he;else{if("p25519"!==d)throw new Error("Unknown prime "+d);y=new w}return ce[d]=y,y},n.prototype._verify1=function(d){_(0===d.negative,"red works only with positives"),_(d.red,"red works only with red numbers")},n.prototype._verify2=function(d,y){_(0==(d.negative|y.negative),"red works only with positives"),_(d.red&&d.red===y.red,"red works only with red numbers")},n.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(S(d,d.umod(this.m)._forceRed(this)),d)},n.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},n.prototype.add=function(d,y){this._verify2(d,y);var L=d.add(y);return L.cmp(this.m)>=0&&L.isub(this.m),L._forceRed(this)},n.prototype.iadd=function(d,y){this._verify2(d,y);var L=d.iadd(y);return L.cmp(this.m)>=0&&L.isub(this.m),L},n.prototype.sub=function(d,y){this._verify2(d,y);var L=d.sub(y);return L.cmpn(0)<0&&L.iadd(this.m),L._forceRed(this)},n.prototype.isub=function(d,y){this._verify2(d,y);var L=d.isub(y);return L.cmpn(0)<0&&L.iadd(this.m),L},n.prototype.shl=function(d,y){return this._verify1(d),this.imod(d.ushln(y))},n.prototype.imul=function(d,y){return this._verify2(d,y),this.imod(d.imul(y))},n.prototype.mul=function(d,y){return this._verify2(d,y),this.imod(d.mul(y))},n.prototype.isqr=function(d){return this.imul(d,d.clone())},n.prototype.sqr=function(d){return this.mul(d,d)},n.prototype.sqrt=function(d){if(d.isZero())return d.clone();var y=this.m.andln(3);if(_(y%2==1),3===y){var L=this.m.add(new s(1)).iushrn(2);return this.pow(d,L)}for(var B=this.m.subn(1),v=0;!B.isZero()&&0===B.andln(1);)v++,B.iushrn(1);_(!B.isZero());var a=new s(1).toRed(this),C=a.redNeg(),N=this.m.subn(1).iushrn(1),F=this.m.bitLength();for(F=new s(2*F*F).toRed(this);0!==this.pow(F,N).cmp(C);)F.redIAdd(C);for(var X=this.pow(F,B),Fe=this.pow(d,B.addn(1).iushrn(1)),ke=this.pow(d,B),Ke=v;0!==ke.cmp(a);){for(var je=ke,Ve=0;0!==je.cmp(a);Ve++)je=je.redSqr();_(Ve=0;v--){for(var X=y.words[v],Fe=F-1;Fe>=0;Fe--){var ke=X>>Fe&1;(a!==B[0]&&(a=this.sqr(a)),0!==ke||0!==C)?(C<<=1,C|=ke,(4===++N||0===v&&0===Fe)&&(a=this.mul(a,B[C]),N=0,C=0)):N=0}F=26}return a},n.prototype.convertTo=function(d){var y=d.umod(this.m);return y===d?y.clone():y},n.prototype.convertFrom=function(d){var y=d.clone();return y.red=null,y},s.mont=function(d){return new o(d)},E(o,n),o.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},o.prototype.convertFrom=function(d){var y=this.imod(d.mul(this.rinv));return y.red=null,y},o.prototype.imul=function(d,y){if(d.isZero()||y.isZero())return d.words[0]=0,d.length=1,d;var L=d.imul(y),B=L.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=L.isub(B).iushrn(this.shift),a=v;return v.cmp(this.m)>=0?a=v.isub(this.m):v.cmpn(0)<0&&(a=v.iadd(this.m)),a._forceRed(this)},o.prototype.mul=function(d,y){if(d.isZero()||y.isZero())return new s(0)._forceRed(this);var L=d.mul(y),B=L.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=L.isub(B).iushrn(this.shift),a=v;return v.cmp(this.m)>=0?a=v.isub(this.m):v.cmpn(0)<0&&(a=v.iadd(this.m)),a._forceRed(this)},o.prototype.invm=function(d){return this.imod(d._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},340:(Ue,q,m)=>{var e;function t(E){this.rand=E}if(Ue.exports=function(s){return e||(e=new t(null)),e.generate(s)},Ue.exports.Rand=t,t.prototype.generate=function(s){return this._rand(s)},t.prototype._rand=function(s){if(this.rand.getBytes)return this.rand.getBytes(s);for(var D=new Uint8Array(s),u=0;u{var e=m(9708).Buffer;function t(k){e.isBuffer(k)||(k=e.from(k));for(var p=k.length/4|0,S=new Array(p),A=0;A>>24]^z[Q>>>16&255]^I[ie>>>8&255]^W[255&ae]^p[$++],ce=M[Q>>>24]^z[ie>>>16&255]^I[ae>>>8&255]^W[255&Z]^p[$++],ye=M[ie>>>24]^z[ae>>>16&255]^I[Z>>>8&255]^W[255&Q]^p[$++],ue=M[ae>>>24]^z[Z>>>16&255]^I[Q>>>8&255]^W[255&ie]^p[$++],Z=_e,Q=ce,ie=ye,ae=ue;return _e=(A[Z>>>24]<<24|A[Q>>>16&255]<<16|A[ie>>>8&255]<<8|A[255&ae])^p[$++],ce=(A[Q>>>24]<<24|A[ie>>>16&255]<<16|A[ae>>>8&255]<<8|A[255&Z])^p[$++],ye=(A[ie>>>24]<<24|A[ae>>>16&255]<<16|A[Z>>>8&255]<<8|A[255&Q])^p[$++],ue=(A[ae>>>24]<<24|A[Z>>>16&255]<<16|A[Q>>>8&255]<<8|A[255&ie])^p[$++],[_e>>>=0,ce>>>=0,ye>>>=0,ue>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],D=function(){for(var k=new Array(256),p=0;p<256;p++)k[p]=p<128?p<<1:p<<1^283;for(var S=[],A=[],P=[[],[],[],[]],M=[[],[],[],[]],z=0,I=0,W=0;W<256;++W){var Z=I^I<<1^I<<2^I<<3^I<<4;Z=Z>>>8^255&Z^99,S[z]=Z,A[Z]=z;var Q=k[z],ie=k[Q],ae=k[ie],_e=257*k[Z]^16843008*Z;P[0][z]=_e<<24|_e>>>8,P[1][z]=_e<<16|_e>>>16,P[2][z]=_e<<8|_e>>>24,P[3][z]=_e,_e=16843009*ae^65537*ie^257*Q^16843008*z,M[0][Z]=_e<<24|_e>>>8,M[1][Z]=_e<<16|_e>>>16,M[2][Z]=_e<<8|_e>>>24,M[3][Z]=_e,0===z?z=I=1:(z=Q^k[k[k[ae^Q]]],I^=k[k[I]])}return{SBOX:S,INV_SBOX:A,SUB_MIX:P,INV_SUB_MIX:M}}();function u(k){this._key=t(k),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var k=this._key,p=k.length,S=p+6,A=4*(S+1),P=[],M=0;M>>24,z=D.SBOX[z>>>24]<<24|D.SBOX[z>>>16&255]<<16|D.SBOX[z>>>8&255]<<8|D.SBOX[255&z],z^=s[M/p|0]<<24):p>6&&M%p==4&&(z=D.SBOX[z>>>24]<<24|D.SBOX[z>>>16&255]<<16|D.SBOX[z>>>8&255]<<8|D.SBOX[255&z]),P[M]=P[M-p]^z}for(var I=[],W=0;W>>24]]^D.INV_SUB_MIX[1][D.SBOX[Q>>>16&255]]^D.INV_SUB_MIX[2][D.SBOX[Q>>>8&255]]^D.INV_SUB_MIX[3][D.SBOX[255&Q]]}this._nRounds=S,this._keySchedule=P,this._invKeySchedule=I},u.prototype.encryptBlockRaw=function(k){return E(k=t(k),this._keySchedule,D.SUB_MIX,D.SBOX,this._nRounds)},u.prototype.encryptBlock=function(k){var p=this.encryptBlockRaw(k),S=e.allocUnsafe(16);return S.writeUInt32BE(p[0],0),S.writeUInt32BE(p[1],4),S.writeUInt32BE(p[2],8),S.writeUInt32BE(p[3],12),S},u.prototype.decryptBlock=function(k){var p=(k=t(k))[1];k[1]=k[3],k[3]=p;var S=E(k,this._invKeySchedule,D.INV_SUB_MIX,D.INV_SBOX,this._nRounds),A=e.allocUnsafe(16);return A.writeUInt32BE(S[0],0),A.writeUInt32BE(S[3],4),A.writeUInt32BE(S[2],8),A.writeUInt32BE(S[1],12),A},u.prototype.scrub=function(){_(this._keySchedule),_(this._invKeySchedule),_(this._key)},Ue.exports.AES=u},7105:(Ue,q,m)=>{var e=m(7560),t=m(9708).Buffer,_=m(3735),E=m(5035),s=m(5045),D=m(7702),u=m(9305);function S(A,P,M,z){_.call(this);var I=t.alloc(4,0);this._cipher=new e.AES(P);var W=this._cipher.encryptBlock(I);this._ghash=new s(W),M=function p(A,P,M){if(12===P.length)return A._finID=t.concat([P,t.from([0,0,0,1])]),t.concat([P,t.from([0,0,0,2])]);var z=new s(M),I=P.length,W=I%16;z.update(P),W&&(W=16-W,z.update(t.alloc(W,0))),z.update(t.alloc(8,0));var Z=8*I,Q=t.alloc(8);Q.writeUIntBE(Z,0,8),z.update(Q),A._finID=z.state;var ie=t.from(A._finID);return u(ie),ie}(this,M,W),this._prev=t.from(M),this._cache=t.allocUnsafe(0),this._secCache=t.allocUnsafe(0),this._decrypt=z,this._alen=0,this._len=0,this._mode=A,this._authTag=null,this._called=!1}E(S,_),S.prototype._update=function(A){if(!this._called&&this._alen){var P=16-this._alen%16;P<16&&(P=t.alloc(P,0),this._ghash.update(P))}this._called=!0;var M=this._mode.encrypt(this,A);return this._decrypt?this._ghash.update(A):this._ghash.update(M),this._len+=A.length,M},S.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var A=D(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function k(A,P){var M=0;A.length!==P.length&&M++;for(var z=Math.min(A.length,P.length),I=0;I{var e=m(9185),t=m(8991),_=m(4946);q.createCipher=q.Cipher=e.createCipher,q.createCipheriv=q.Cipheriv=e.createCipheriv,q.createDecipher=q.Decipher=t.createDecipher,q.createDecipheriv=q.Decipheriv=t.createDecipheriv,q.listCiphers=q.getCiphers=function E(){return Object.keys(_)}},8991:(Ue,q,m)=>{var e=m(7105),t=m(9708).Buffer,_=m(7129),E=m(3217),s=m(3735),D=m(7560),u=m(153);function p(z,I,W){s.call(this),this._cache=new S,this._last=void 0,this._cipher=new D.AES(I),this._prev=t.from(W),this._mode=z,this._autopadding=!0}function S(){this.cache=t.allocUnsafe(0)}function P(z,I,W){var Z=_[z.toLowerCase()];if(!Z)throw new TypeError("invalid suite type");if("string"==typeof W&&(W=t.from(W)),"GCM"!==Z.mode&&W.length!==Z.iv)throw new TypeError("invalid iv length "+W.length);if("string"==typeof I&&(I=t.from(I)),I.length!==Z.key/8)throw new TypeError("invalid key length "+I.length);return"stream"===Z.type?new E(Z.module,I,W,!0):"auth"===Z.type?new e(Z.module,I,W,!0):new p(Z.module,I,W)}m(5035)(p,s),p.prototype._update=function(z){this._cache.add(z);for(var I,W,Z=[];I=this._cache.get(this._autopadding);)W=this._mode.decrypt(this,I),Z.push(W);return t.concat(Z)},p.prototype._final=function(){var z=this._cache.flush();if(this._autopadding)return function A(z){var I=z[15];if(I<1||I>16)throw new Error("unable to decrypt data");for(var W=-1;++W16)return I=this.cache.slice(0,16),this.cache=this.cache.slice(16),I}else if(this.cache.length>=16)return I=this.cache.slice(0,16),this.cache=this.cache.slice(16),I;return null},S.prototype.flush=function(){if(this.cache.length)return this.cache},q.createDecipher=function M(z,I){var W=_[z.toLowerCase()];if(!W)throw new TypeError("invalid suite type");var Z=u(I,!1,W.key,W.iv);return P(z,Z.key,Z.iv)},q.createDecipheriv=P},9185:(Ue,q,m)=>{var e=m(7129),t=m(7105),_=m(9708).Buffer,E=m(3217),s=m(3735),D=m(7560),u=m(153);function p(z,I,W){s.call(this),this._cache=new A,this._cipher=new D.AES(I),this._prev=_.from(W),this._mode=z,this._autopadding=!0}m(5035)(p,s),p.prototype._update=function(z){this._cache.add(z);for(var I,W,Z=[];I=this._cache.get();)W=this._mode.encrypt(this,I),Z.push(W);return _.concat(Z)};var S=_.alloc(16,16);function A(){this.cache=_.allocUnsafe(0)}function P(z,I,W){var Z=e[z.toLowerCase()];if(!Z)throw new TypeError("invalid suite type");if("string"==typeof I&&(I=_.from(I)),I.length!==Z.key/8)throw new TypeError("invalid key length "+I.length);if("string"==typeof W&&(W=_.from(W)),"GCM"!==Z.mode&&W.length!==Z.iv)throw new TypeError("invalid iv length "+W.length);return"stream"===Z.type?new E(Z.module,I,W):"auth"===Z.type?new t(Z.module,I,W):new p(Z.module,I,W)}p.prototype._final=function(){var z=this._cache.flush();if(this._autopadding)return z=this._mode.encrypt(this,z),this._cipher.scrub(),z;if(!z.equals(S))throw this._cipher.scrub(),new Error("data not multiple of block length")},p.prototype.setAutoPadding=function(z){return this._autopadding=!!z,this},A.prototype.add=function(z){this.cache=_.concat([this.cache,z])},A.prototype.get=function(){if(this.cache.length>15){var z=this.cache.slice(0,16);return this.cache=this.cache.slice(16),z}return null},A.prototype.flush=function(){for(var z=16-this.cache.length,I=_.allocUnsafe(z),W=-1;++W{var e=m(9708).Buffer,t=e.alloc(16,0);function E(D){var u=e.allocUnsafe(16);return u.writeUInt32BE(D[0]>>>0,0),u.writeUInt32BE(D[1]>>>0,4),u.writeUInt32BE(D[2]>>>0,8),u.writeUInt32BE(D[3]>>>0,12),u}function s(D){this.h=D,this.state=e.alloc(16,0),this.cache=e.allocUnsafe(0)}s.prototype.ghash=function(D){for(var u=-1;++u0;k--)D[k]=D[k]>>>1|(1&D[k-1])<<31;D[0]=D[0]>>>1,S&&(D[0]=D[0]^225<<24)}this.state=E(u)},s.prototype.update=function(D){this.cache=e.concat([this.cache,D]);for(var u;this.cache.length>=16;)u=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(u)},s.prototype.final=function(D,u){return this.cache.length&&this.ghash(e.concat([this.cache,t],16)),this.ghash(E([0,D,0,u])),this.state},Ue.exports=s},9305:Ue=>{Ue.exports=function q(m){for(var t,e=m.length;e--;){if(255!==(t=m.readUInt8(e))){t++,m.writeUInt8(t,e);break}m.writeUInt8(0,e)}}},237:(Ue,q,m)=>{var e=m(7702);q.encrypt=function(t,_){var E=e(_,t._prev);return t._prev=t._cipher.encryptBlock(E),t._prev},q.decrypt=function(t,_){var E=t._prev;t._prev=_;var s=t._cipher.decryptBlock(_);return e(s,E)}},9572:(Ue,q,m)=>{var e=m(9708).Buffer,t=m(7702);function _(E,s,D){var u=s.length,k=t(s,E._cache);return E._cache=E._cache.slice(u),E._prev=e.concat([E._prev,D?s:k]),k}q.encrypt=function(E,s,D){for(var k,u=e.allocUnsafe(0);s.length;){if(0===E._cache.length&&(E._cache=E._cipher.encryptBlock(E._prev),E._prev=e.allocUnsafe(0)),!(E._cache.length<=s.length)){u=e.concat([u,_(E,s,D)]);break}k=E._cache.length,u=e.concat([u,_(E,s.slice(0,k),D)]),s=s.slice(k)}return u}},3989:(Ue,q,m)=>{var e=m(9708).Buffer;function t(E,s,D){for(var A,P,k=-1,S=0;++k<8;)A=s&1<<7-k?128:0,S+=(128&(P=E._cipher.encryptBlock(E._prev)[0]^A))>>k%8,E._prev=_(E._prev,D?A:P);return S}function _(E,s){var D=E.length,u=-1,k=e.allocUnsafe(E.length);for(E=e.concat([E,e.from([s])]);++u>7;return k}q.encrypt=function(E,s,D){for(var u=s.length,k=e.allocUnsafe(u),p=-1;++p{var e=m(9708).Buffer;function t(_,E,s){var u=_._cipher.encryptBlock(_._prev)[0]^E;return _._prev=e.concat([_._prev.slice(1),e.from([s?E:u])]),u}q.encrypt=function(_,E,s){for(var D=E.length,u=e.allocUnsafe(D),k=-1;++k{var e=m(7702),t=m(9708).Buffer,_=m(9305);function E(D){var u=D._cipher.encryptBlockRaw(D._prev);return _(D._prev),u}q.encrypt=function(D,u){var k=Math.ceil(u.length/16),p=D._cache.length;D._cache=t.concat([D._cache,t.allocUnsafe(16*k)]);for(var S=0;S{q.encrypt=function(m,e){return m._cipher.encryptBlock(e)},q.decrypt=function(m,e){return m._cipher.decryptBlock(e)}},7129:(Ue,q,m)=>{var e={ECB:m(323),CBC:m(237),CFB:m(9572),CFB8:m(4164),CFB1:m(3989),OFB:m(6701),CTR:m(5924),GCM:m(5924)},t=m(4946);for(var _ in t)t[_].module=e[t[_].mode];Ue.exports=t},6701:(Ue,q,m)=>{var e=m(7702);function t(_){return _._prev=_._cipher.encryptBlock(_._prev),_._prev}q.encrypt=function(_,E){for(;_._cache.length{var e=m(7560),t=m(9708).Buffer,_=m(3735);function s(D,u,k,p){_.call(this),this._cipher=new e.AES(u),this._prev=t.from(k),this._cache=t.allocUnsafe(0),this._secCache=t.allocUnsafe(0),this._decrypt=p,this._mode=D}m(5035)(s,_),s.prototype._update=function(D){return this._mode.encrypt(this,D,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},Ue.exports=s},4791:(Ue,q,m)=>{var e=m(7765),t=m(3170),_=m(7129),E=m(2427),s=m(153);function k(A,P,M){if(A=A.toLowerCase(),_[A])return t.createCipheriv(A,P,M);if(E[A])return new e({key:P,iv:M,mode:A});throw new TypeError("invalid suite type")}function p(A,P,M){if(A=A.toLowerCase(),_[A])return t.createDecipheriv(A,P,M);if(E[A])return new e({key:P,iv:M,mode:A,decrypt:!0});throw new TypeError("invalid suite type")}q.createCipher=q.Cipher=function D(A,P){var M,z;if(A=A.toLowerCase(),_[A])M=_[A].key,z=_[A].iv;else{if(!E[A])throw new TypeError("invalid suite type");M=8*E[A].key,z=E[A].iv}var I=s(P,!1,M,z);return k(A,I.key,I.iv)},q.createCipheriv=q.Cipheriv=k,q.createDecipher=q.Decipher=function u(A,P){var M,z;if(A=A.toLowerCase(),_[A])M=_[A].key,z=_[A].iv;else{if(!E[A])throw new TypeError("invalid suite type");M=8*E[A].key,z=E[A].iv}var I=s(P,!1,M,z);return p(A,I.key,I.iv)},q.createDecipheriv=q.Decipheriv=p,q.listCiphers=q.getCiphers=function S(){return Object.keys(E).concat(t.getCiphers())}},7765:(Ue,q,m)=>{var e=m(3735),t=m(6222),_=m(5035),E=m(9708).Buffer,s={"des-ede3-cbc":t.CBC.instantiate(t.EDE),"des-ede3":t.EDE,"des-ede-cbc":t.CBC.instantiate(t.EDE),"des-ede":t.EDE,"des-cbc":t.CBC.instantiate(t.DES),"des-ecb":t.DES};function D(u){e.call(this);var S,k=u.mode.toLowerCase(),p=s[k];S=u.decrypt?"decrypt":"encrypt";var A=u.key;E.isBuffer(A)||(A=E.from(A)),("des-ede"===k||"des-ede-cbc"===k)&&(A=E.concat([A,A.slice(0,8)]));var P=u.iv;E.isBuffer(P)||(P=E.from(P)),this._des=p.create({key:A,iv:P,type:S})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],Ue.exports=D,_(D,e),D.prototype._update=function(u){return E.from(this._des.update(u))},D.prototype._final=function(){return E.from(this._des.final())}},2427:(Ue,q)=>{q["des-ecb"]={key:8,iv:0},q["des-cbc"]=q.des={key:8,iv:8},q["des-ede3-cbc"]=q.des3={key:24,iv:8},q["des-ede3"]={key:24,iv:0},q["des-ede-cbc"]={key:16,iv:8},q["des-ede"]={key:16,iv:0}},6661:(Ue,q,m)=>{var e=m(6585),t=m(1186);function E(D){var k,u=D.modulus.byteLength();do{k=new e(t(u))}while(k.cmp(D.modulus)>=0||!k.umod(D.prime1)||!k.umod(D.prime2));return k}function s(D,u){var k=function _(D){var u=E(D);return{blinder:u.toRed(e.mont(D.modulus)).redPow(new e(D.publicExponent)).fromRed(),unblinder:u.invm(D.modulus)}}(u),p=u.modulus.byteLength(),S=new e(D).mul(k.blinder).umod(u.modulus),A=S.toRed(e.mont(u.prime1)),P=S.toRed(e.mont(u.prime2)),M=u.coefficient,z=u.prime1,I=u.prime2,W=A.redPow(u.exponent1).fromRed(),Z=P.redPow(u.exponent2).fromRed(),Q=W.isub(Z).imul(M).umod(z).imul(I);return Z.iadd(Q).imul(k.unblinder).umod(u.modulus).toArrayLike(Buffer,"be",p)}s.getr=E,Ue.exports=s},8043:(Ue,q,m)=>{Ue.exports=m(5207)},2124:(Ue,q,m)=>{var e=m(9708).Buffer,t=m(145),_=m(9697),E=m(5035),s=m(5127),D=m(4596),u=m(5207);function k(P){_.Writable.call(this);var M=u[P];if(!M)throw new Error("Unknown message digest");this._hashType=M.hash,this._hash=t(M.hash),this._tag=M.id,this._signType=M.sign}function p(P){_.Writable.call(this);var M=u[P];if(!M)throw new Error("Unknown message digest");this._hash=t(M.hash),this._tag=M.id,this._signType=M.sign}function S(P){return new k(P)}function A(P){return new p(P)}Object.keys(u).forEach(function(P){u[P].id=e.from(u[P].id,"hex"),u[P.toLowerCase()]=u[P]}),E(k,_.Writable),k.prototype._write=function(M,z,I){this._hash.update(M),I()},k.prototype.update=function(M,z){return"string"==typeof M&&(M=e.from(M,z)),this._hash.update(M),this},k.prototype.sign=function(M,z){this.end();var I=this._hash.digest(),W=s(I,M,this._hashType,this._signType,this._tag);return z?W.toString(z):W},E(p,_.Writable),p.prototype._write=function(M,z,I){this._hash.update(M),I()},p.prototype.update=function(M,z){return"string"==typeof M&&(M=e.from(M,z)),this._hash.update(M),this},p.prototype.verify=function(M,z,I){"string"==typeof z&&(z=e.from(z,I)),this.end();var W=this._hash.digest();return D(z,W,M,this._signType,this._tag)},Ue.exports={Sign:S,Verify:A,createSign:S,createVerify:A}},5127:(Ue,q,m)=>{var e=m(9708).Buffer,t=m(3640),_=m(6661),E=m(2142).ec,s=m(6585),D=m(5752),u=m(7036);function P(Z,Q,ie,ae){if((Z=e.from(Z.toArray())).length0&&ie.ishrn(ae),ie}function I(Z,Q,ie){var ae,_e;do{for(ae=e.alloc(0);8*ae.length{var e=m(9708).Buffer,t=m(6585),_=m(2142).ec,E=m(5752),s=m(7036);function p(S,A){if(S.cmpn(0)<=0)throw new Error("invalid sig");if(S.cmp(A)>=A)throw new Error("invalid sig")}Ue.exports=function D(S,A,P,M,z){var I=E(P);if("ec"===I.type){if("ecdsa"!==M&&"ecdsa/rsa"!==M)throw new Error("wrong public key type");return function u(S,A,P){var M=s[P.data.algorithm.curve.join(".")];if(!M)throw new Error("unknown curve "+P.data.algorithm.curve.join("."));var z=new _(M),I=P.data.subjectPrivateKey.data;return z.verify(A,S,I)}(S,A,I)}if("dsa"===I.type){if("dsa"!==M)throw new Error("wrong public key type");return function k(S,A,P){var M=P.data.p,z=P.data.q,I=P.data.g,W=P.data.pub_key,Z=E.signature.decode(S,"der"),Q=Z.s,ie=Z.r;p(Q,z),p(ie,z);var ae=t.mont(M),_e=Q.invm(z);return 0===I.toRed(ae).redPow(new t(A).mul(_e).mod(z)).fromRed().mul(W.toRed(ae).redPow(ie.mul(_e).mod(z)).fromRed()).mod(M).mod(z).cmp(ie)}(S,A,I)}if("rsa"!==M&&"ecdsa/rsa"!==M)throw new Error("wrong public key type");A=e.concat([z,A]);for(var W=I.modulus.byteLength(),Z=[1],Q=0;A.length+Z.length+2{Ue.exports=function(m,e){for(var t=Math.min(m.length,e.length),_=new Buffer(t),E=0;E{"use strict";var e=m(2173),t=m(4920),_="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;q.Buffer=u,q.SlowBuffer=function Q(Le){return+Le!=Le&&(Le=0),u.alloc(+Le)},q.INSPECT_MAX_BYTES=50;var E=2147483647;function D(Le){if(Le>E)throw new RangeError('The value "'+Le+'" is invalid for option "size"');var Ae=new Uint8Array(Le);return Object.setPrototypeOf(Ae,u.prototype),Ae}function u(Le,Ae,te){if("number"==typeof Le){if("string"==typeof Ae)throw new TypeError('The "string" argument must be of type string. Received type number');return A(Le)}return k(Le,Ae,te)}function k(Le,Ae,te){if("string"==typeof Le)return function P(Le,Ae){if(("string"!=typeof Ae||""===Ae)&&(Ae="utf8"),!u.isEncoding(Ae))throw new TypeError("Unknown encoding: "+Ae);var te=0|ie(Le,Ae),pe=D(te),ee=pe.write(Le,Ae);return ee!==te&&(pe=pe.slice(0,ee)),pe}(Le,Ae);if(ArrayBuffer.isView(Le))return function z(Le){if(ve(Le,Uint8Array)){var Ae=new Uint8Array(Le);return I(Ae.buffer,Ae.byteOffset,Ae.byteLength)}return M(Le)}(Le);if(null==Le)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Le);if(ve(Le,ArrayBuffer)||Le&&ve(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ve(Le,SharedArrayBuffer)||Le&&ve(Le.buffer,SharedArrayBuffer)))return I(Le,Ae,te);if("number"==typeof Le)throw new TypeError('The "value" argument must not be of type number. Received type number');var pe=Le.valueOf&&Le.valueOf();if(null!=pe&&pe!==Le)return u.from(pe,Ae,te);var ee=function W(Le){if(u.isBuffer(Le)){var Ae=0|Z(Le.length),te=D(Ae);return 0===te.length||Le.copy(te,0,0,Ae),te}if(void 0!==Le.length)return"number"!=typeof Le.length||et(Le.length)?D(0):M(Le);if("Buffer"===Le.type&&Array.isArray(Le.data))return M(Le.data)}(Le);if(ee)return ee;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof Le[Symbol.toPrimitive])return u.from(Le[Symbol.toPrimitive]("string"),Ae,te);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Le)}function p(Le){if("number"!=typeof Le)throw new TypeError('"size" argument must be of type number');if(Le<0)throw new RangeError('The value "'+Le+'" is invalid for option "size"')}function A(Le){return p(Le),D(Le<0?0:0|Z(Le))}function M(Le){for(var Ae=Le.length<0?0:0|Z(Le.length),te=D(Ae),pe=0;pe=E)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+E.toString(16)+" bytes");return 0|Le}function ie(Le,Ae){if(u.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||ve(Le,ArrayBuffer))return Le.byteLength;if("string"!=typeof Le)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Le);var te=Le.length,pe=arguments.length>2&&!0===arguments[2];if(!pe&&0===te)return 0;for(var ee=!1;;)switch(Ae){case"ascii":case"latin1":case"binary":return te;case"utf8":case"utf-8":return je(Le).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*te;case"hex":return te>>>1;case"base64":return Ze(Le).length;default:if(ee)return pe?-1:je(Le).length;Ae=(""+Ae).toLowerCase(),ee=!0}}function ae(Le,Ae,te){var pe=!1;if((void 0===Ae||Ae<0)&&(Ae=0),Ae>this.length||((void 0===te||te>this.length)&&(te=this.length),te<=0)||(te>>>=0)<=(Ae>>>=0))return"";for(Le||(Le="utf8");;)switch(Le){case"hex":return v(this,Ae,te);case"utf8":case"utf-8":return h(this,Ae,te);case"ascii":return L(this,Ae,te);case"latin1":case"binary":return B(this,Ae,te);case"base64":return o(this,Ae,te);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a(this,Ae,te);default:if(pe)throw new TypeError("Unknown encoding: "+Le);Le=(Le+"").toLowerCase(),pe=!0}}function _e(Le,Ae,te){var pe=Le[Ae];Le[Ae]=Le[te],Le[te]=pe}function ce(Le,Ae,te,pe,ee){if(0===Le.length)return-1;if("string"==typeof te?(pe=te,te=0):te>2147483647?te=2147483647:te<-2147483648&&(te=-2147483648),et(te=+te)&&(te=ee?0:Le.length-1),te<0&&(te=Le.length+te),te>=Le.length){if(ee)return-1;te=Le.length-1}else if(te<0){if(!ee)return-1;te=0}if("string"==typeof Ae&&(Ae=u.from(Ae,pe)),u.isBuffer(Ae))return 0===Ae.length?-1:ye(Le,Ae,te,pe,ee);if("number"==typeof Ae)return Ae&=255,"function"==typeof Uint8Array.prototype.indexOf?ee?Uint8Array.prototype.indexOf.call(Le,Ae,te):Uint8Array.prototype.lastIndexOf.call(Le,Ae,te):ye(Le,[Ae],te,pe,ee);throw new TypeError("val must be string, number or Buffer")}function ye(Le,Ae,te,pe,ee){var le,H=1,j=Le.length,Oe=Ae.length;if(void 0!==pe&&("ucs2"===(pe=String(pe).toLowerCase())||"ucs-2"===pe||"utf16le"===pe||"utf-16le"===pe)){if(Le.length<2||Ae.length<2)return-1;H=2,j/=2,Oe/=2,te/=2}function Re(un,Bt){return 1===H?un[Bt]:un.readUInt16BE(Bt*H)}if(ee){var _t=-1;for(le=te;lej&&(te=j-Oe),le=te;le>=0;le--){for(var it=!0,Ct=0;Ctee&&(pe=ee):pe=ee;var H=Ae.length;pe>H/2&&(pe=H/2);for(var j=0;j>8,ee=te%256,H.push(ee),H.push(pe);return H}(Ae,Le.length-te),Le,te,pe)}function o(Le,Ae,te){return 0===Ae&&te===Le.length?e.fromByteArray(Le):e.fromByteArray(Le.slice(Ae,te))}function h(Le,Ae,te){te=Math.min(Le.length,te);for(var pe=[],ee=Ae;ee239?4:H>223?3:H>191?2:1;if(ee+Oe<=te)switch(Oe){case 1:H<128&&(j=H);break;case 2:128==(192&(Re=Le[ee+1]))&&((it=(31&H)<<6|63&Re)>127&&(j=it));break;case 3:Re=Le[ee+1],le=Le[ee+2],128==(192&Re)&&128==(192&le)&&((it=(15&H)<<12|(63&Re)<<6|63&le)>2047&&(it<55296||it>57343)&&(j=it));break;case 4:Re=Le[ee+1],le=Le[ee+2],_t=Le[ee+3],128==(192&Re)&&128==(192&le)&&128==(192&_t)&&((it=(15&H)<<18|(63&Re)<<12|(63&le)<<6|63&_t)>65535&&it<1114112&&(j=it))}null===j?(j=65533,Oe=1):j>65535&&(j-=65536,pe.push(j>>>10&1023|55296),j=56320|1023&j),pe.push(j),ee+=Oe}return function y(Le){var Ae=Le.length;if(Ae<=d)return String.fromCharCode.apply(String,Le);for(var te="",pe=0;peee.length?u.from(j).copy(ee,H):Uint8Array.prototype.set.call(ee,j,H);else{if(!u.isBuffer(j))throw new TypeError('"list" argument must be an Array of Buffers');j.copy(ee,H)}H+=j.length}return ee},u.byteLength=ie,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var Ae=this.length;if(Ae%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var te=0;tete&&(Ae+=" ... "),""},_&&(u.prototype[_]=u.prototype.inspect),u.prototype.compare=function(Ae,te,pe,ee,H){if(ve(Ae,Uint8Array)&&(Ae=u.from(Ae,Ae.offset,Ae.byteLength)),!u.isBuffer(Ae))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Ae);if(void 0===te&&(te=0),void 0===pe&&(pe=Ae?Ae.length:0),void 0===ee&&(ee=0),void 0===H&&(H=this.length),te<0||pe>Ae.length||ee<0||H>this.length)throw new RangeError("out of range index");if(ee>=H&&te>=pe)return 0;if(ee>=H)return-1;if(te>=pe)return 1;if(this===Ae)return 0;for(var j=(H>>>=0)-(ee>>>=0),Oe=(pe>>>=0)-(te>>>=0),Re=Math.min(j,Oe),le=this.slice(ee,H),_t=Ae.slice(te,pe),it=0;it>>=0,isFinite(pe)?(pe>>>=0,void 0===ee&&(ee="utf8")):(ee=pe,pe=void 0)}var H=this.length-te;if((void 0===pe||pe>H)&&(pe=H),Ae.length>0&&(pe<0||te<0)||te>this.length)throw new RangeError("Attempt to write outside buffer bounds");ee||(ee="utf8");for(var j=!1;;)switch(ee){case"hex":return ue(this,Ae,te,pe);case"utf8":case"utf-8":return $(this,Ae,te,pe);case"ascii":case"latin1":case"binary":return he(this,Ae,te,pe);case"base64":return w(this,Ae,te,pe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n(this,Ae,te,pe);default:if(j)throw new TypeError("Unknown encoding: "+ee);ee=(""+ee).toLowerCase(),j=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var d=4096;function L(Le,Ae,te){var pe="";te=Math.min(Le.length,te);for(var ee=Ae;eepe)&&(te=pe);for(var ee="",H=Ae;Hte)throw new RangeError("Trying to access beyond buffer length")}function N(Le,Ae,te,pe,ee,H){if(!u.isBuffer(Le))throw new TypeError('"buffer" argument must be a Buffer instance');if(Ae>ee||AeLe.length)throw new RangeError("Index out of range")}function F(Le,Ae,te,pe,ee,H){if(te+pe>Le.length)throw new RangeError("Index out of range");if(te<0)throw new RangeError("Index out of range")}function X(Le,Ae,te,pe,ee){return Ae=+Ae,te>>>=0,ee||F(Le,0,te,4),t.write(Le,Ae,te,pe,23,4),te+4}function Fe(Le,Ae,te,pe,ee){return Ae=+Ae,te>>>=0,ee||F(Le,0,te,8),t.write(Le,Ae,te,pe,52,8),te+8}u.prototype.slice=function(Ae,te){var pe=this.length;(Ae=~~Ae)<0?(Ae+=pe)<0&&(Ae=0):Ae>pe&&(Ae=pe),(te=void 0===te?pe:~~te)<0?(te+=pe)<0&&(te=0):te>pe&&(te=pe),te>>=0,te>>>=0,pe||C(Ae,te,this.length);for(var ee=this[Ae],H=1,j=0;++j>>=0,te>>>=0,pe||C(Ae,te,this.length);for(var ee=this[Ae+--te],H=1;te>0&&(H*=256);)ee+=this[Ae+--te]*H;return ee},u.prototype.readUint8=u.prototype.readUInt8=function(Ae,te){return Ae>>>=0,te||C(Ae,1,this.length),this[Ae]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(Ae,te){return Ae>>>=0,te||C(Ae,2,this.length),this[Ae]|this[Ae+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(Ae,te){return Ae>>>=0,te||C(Ae,2,this.length),this[Ae]<<8|this[Ae+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),(this[Ae]|this[Ae+1]<<8|this[Ae+2]<<16)+16777216*this[Ae+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),16777216*this[Ae]+(this[Ae+1]<<16|this[Ae+2]<<8|this[Ae+3])},u.prototype.readIntLE=function(Ae,te,pe){Ae>>>=0,te>>>=0,pe||C(Ae,te,this.length);for(var ee=this[Ae],H=1,j=0;++j=(H*=128)&&(ee-=Math.pow(2,8*te)),ee},u.prototype.readIntBE=function(Ae,te,pe){Ae>>>=0,te>>>=0,pe||C(Ae,te,this.length);for(var ee=te,H=1,j=this[Ae+--ee];ee>0&&(H*=256);)j+=this[Ae+--ee]*H;return j>=(H*=128)&&(j-=Math.pow(2,8*te)),j},u.prototype.readInt8=function(Ae,te){return Ae>>>=0,te||C(Ae,1,this.length),128&this[Ae]?-1*(255-this[Ae]+1):this[Ae]},u.prototype.readInt16LE=function(Ae,te){Ae>>>=0,te||C(Ae,2,this.length);var pe=this[Ae]|this[Ae+1]<<8;return 32768&pe?4294901760|pe:pe},u.prototype.readInt16BE=function(Ae,te){Ae>>>=0,te||C(Ae,2,this.length);var pe=this[Ae+1]|this[Ae]<<8;return 32768&pe?4294901760|pe:pe},u.prototype.readInt32LE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),this[Ae]|this[Ae+1]<<8|this[Ae+2]<<16|this[Ae+3]<<24},u.prototype.readInt32BE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),this[Ae]<<24|this[Ae+1]<<16|this[Ae+2]<<8|this[Ae+3]},u.prototype.readFloatLE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),t.read(this,Ae,!0,23,4)},u.prototype.readFloatBE=function(Ae,te){return Ae>>>=0,te||C(Ae,4,this.length),t.read(this,Ae,!1,23,4)},u.prototype.readDoubleLE=function(Ae,te){return Ae>>>=0,te||C(Ae,8,this.length),t.read(this,Ae,!0,52,8)},u.prototype.readDoubleBE=function(Ae,te){return Ae>>>=0,te||C(Ae,8,this.length),t.read(this,Ae,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(Ae,te,pe,ee){(Ae=+Ae,te>>>=0,pe>>>=0,ee)||N(this,Ae,te,pe,Math.pow(2,8*pe)-1,0);var j=1,Oe=0;for(this[te]=255&Ae;++Oe>>=0,pe>>>=0,ee)||N(this,Ae,te,pe,Math.pow(2,8*pe)-1,0);var j=pe-1,Oe=1;for(this[te+j]=255&Ae;--j>=0&&(Oe*=256);)this[te+j]=Ae/Oe&255;return te+pe},u.prototype.writeUint8=u.prototype.writeUInt8=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,1,255,0),this[te]=255&Ae,te+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,2,65535,0),this[te]=255&Ae,this[te+1]=Ae>>>8,te+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,2,65535,0),this[te]=Ae>>>8,this[te+1]=255&Ae,te+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,4,4294967295,0),this[te+3]=Ae>>>24,this[te+2]=Ae>>>16,this[te+1]=Ae>>>8,this[te]=255&Ae,te+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,4,4294967295,0),this[te]=Ae>>>24,this[te+1]=Ae>>>16,this[te+2]=Ae>>>8,this[te+3]=255&Ae,te+4},u.prototype.writeIntLE=function(Ae,te,pe,ee){if(Ae=+Ae,te>>>=0,!ee){var H=Math.pow(2,8*pe-1);N(this,Ae,te,pe,H-1,-H)}var j=0,Oe=1,Re=0;for(this[te]=255&Ae;++j>0)-Re&255;return te+pe},u.prototype.writeIntBE=function(Ae,te,pe,ee){if(Ae=+Ae,te>>>=0,!ee){var H=Math.pow(2,8*pe-1);N(this,Ae,te,pe,H-1,-H)}var j=pe-1,Oe=1,Re=0;for(this[te+j]=255&Ae;--j>=0&&(Oe*=256);)Ae<0&&0===Re&&0!==this[te+j+1]&&(Re=1),this[te+j]=(Ae/Oe>>0)-Re&255;return te+pe},u.prototype.writeInt8=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,1,127,-128),Ae<0&&(Ae=255+Ae+1),this[te]=255&Ae,te+1},u.prototype.writeInt16LE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,2,32767,-32768),this[te]=255&Ae,this[te+1]=Ae>>>8,te+2},u.prototype.writeInt16BE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,2,32767,-32768),this[te]=Ae>>>8,this[te+1]=255&Ae,te+2},u.prototype.writeInt32LE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,4,2147483647,-2147483648),this[te]=255&Ae,this[te+1]=Ae>>>8,this[te+2]=Ae>>>16,this[te+3]=Ae>>>24,te+4},u.prototype.writeInt32BE=function(Ae,te,pe){return Ae=+Ae,te>>>=0,pe||N(this,Ae,te,4,2147483647,-2147483648),Ae<0&&(Ae=4294967295+Ae+1),this[te]=Ae>>>24,this[te+1]=Ae>>>16,this[te+2]=Ae>>>8,this[te+3]=255&Ae,te+4},u.prototype.writeFloatLE=function(Ae,te,pe){return X(this,Ae,te,!0,pe)},u.prototype.writeFloatBE=function(Ae,te,pe){return X(this,Ae,te,!1,pe)},u.prototype.writeDoubleLE=function(Ae,te,pe){return Fe(this,Ae,te,!0,pe)},u.prototype.writeDoubleBE=function(Ae,te,pe){return Fe(this,Ae,te,!1,pe)},u.prototype.copy=function(Ae,te,pe,ee){if(!u.isBuffer(Ae))throw new TypeError("argument should be a Buffer");if(pe||(pe=0),!ee&&0!==ee&&(ee=this.length),te>=Ae.length&&(te=Ae.length),te||(te=0),ee>0&&ee=this.length)throw new RangeError("Index out of range");if(ee<0)throw new RangeError("sourceEnd out of bounds");ee>this.length&&(ee=this.length),Ae.length-te>>=0,pe=void 0===pe?this.length:pe>>>0,Ae||(Ae=0),"number"==typeof Ae)for(j=te;j55295&&te<57344){if(!ee){if(te>56319){(Ae-=3)>-1&&H.push(239,191,189);continue}if(j+1===pe){(Ae-=3)>-1&&H.push(239,191,189);continue}ee=te;continue}if(te<56320){(Ae-=3)>-1&&H.push(239,191,189),ee=te;continue}te=65536+(ee-55296<<10|te-56320)}else ee&&(Ae-=3)>-1&&H.push(239,191,189);if(ee=null,te<128){if((Ae-=1)<0)break;H.push(te)}else if(te<2048){if((Ae-=2)<0)break;H.push(te>>6|192,63&te|128)}else if(te<65536){if((Ae-=3)<0)break;H.push(te>>12|224,te>>6&63|128,63&te|128)}else{if(!(te<1114112))throw new Error("Invalid code point");if((Ae-=4)<0)break;H.push(te>>18|240,te>>12&63|128,te>>6&63|128,63&te|128)}}return H}function Ze(Le){return e.toByteArray(function Ke(Le){if((Le=(Le=Le.split("=")[0]).trim().replace(ke,"")).length<2)return"";for(;Le.length%4!=0;)Le+="=";return Le}(Le))}function Ie(Le,Ae,te,pe){for(var ee=0;ee=Ae.length||ee>=Le.length);++ee)Ae[ee+te]=Le[ee];return ee}function ve(Le,Ae){return Le instanceof Ae||null!=Le&&null!=Le.constructor&&null!=Le.constructor.name&&Le.constructor.name===Ae.name}function et(Le){return Le!=Le}var ht=function(){for(var Le="0123456789abcdef",Ae=new Array(256),te=0;te<16;++te)for(var pe=16*te,ee=0;ee<16;++ee)Ae[pe+ee]=Le[te]+Le[ee];return Ae}()},3735:(Ue,q,m)=>{var e=m(9708).Buffer,t=m(574).Transform,_=m(4547).s;function s(D){t.call(this),this.hashMode="string"==typeof D,this.hashMode?this[D]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}m(5035)(s,t),s.prototype.update=function(D,u,k){"string"==typeof D&&(D=e.from(D,u));var p=this._update(D);return this.hashMode?this:(k&&(p=this._toString(p,k)),p)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(D,u,k){var p;try{this.hashMode?this._update(D):this.push(this._update(D))}catch(S){p=S}finally{k(p)}},s.prototype._flush=function(D){var u;try{this.push(this.__final())}catch(k){u=k}D(u)},s.prototype._finalOrDigest=function(D){var u=this.__final()||e.alloc(0);return D&&(u=this._toString(u,D,!0)),u},s.prototype._toString=function(D,u,k){if(this._decoder||(this._decoder=new _(u),this._encoding=u),this._encoding!==u)throw new Error("can't switch encodings");var p=this._decoder.write(D);return k&&(p+=this._decoder.end()),p},Ue.exports=s},1381:(Ue,q,m)=>{"use strict";const e=m(9046),t=m(8220),_=m(3858);function E(u,k){switch(t(u)){case"object":return function s(u,k){if("function"==typeof k)return k(u);if(k||_(u)){const p=new u.constructor;for(let S in u)p[S]=E(u[S],k);return p}return u}(u,k);case"array":return function D(u,k){const p=new u.constructor(u.length);for(let S=0;SE?_:Array(E-_.length+1).join("0")+_}(E.toString(16),2)}).join("")}(_)},hexToBytes:function(_){if(_.length%2==1)throw new Error("hexToBytes can't have a string with an odd number of characters.");return 0===_.indexOf("0x")&&(_=_.slice(2)),_.match(/../g).map(function(E){return parseInt(E,16)})}};Ue.exports?Ue.exports=m:q.convertHex=m}(this)},4056:function(Ue){!function(q){"use strict";var m={bytesToString:function(e){return e.map(function(t){return String.fromCharCode(t)}).join("")},stringToBytes:function(e){return e.split("").map(function(t){return t.charCodeAt(0)})}};m.UTF8={bytesToString:function(e){return decodeURIComponent(escape(m.bytesToString(e)))},stringToBytes:function(e){return m.stringToBytes(unescape(encodeURIComponent(e)))}},Ue.exports?Ue.exports=m:q.convertString=m}(this)},9821:(Ue,q,m)=>{var e=m(2142),t=m(854);Ue.exports=function(u){return new E(u)};var _={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function E(D){this.curveType=_[D],this.curveType||(this.curveType={name:D}),this.curve=new e.ec(this.curveType.name),this.keys=void 0}function s(D,u,k){Array.isArray(D)||(D=D.toArray());var p=new Buffer(D);if(k&&p.length=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},145:(Ue,q,m)=>{"use strict";var e=m(5035),t=m(2617),_=m(5351),E=m(1001),s=m(3735);function D(u){s.call(this,"digest"),this._hash=u}e(D,s),D.prototype._update=function(u){this._hash.update(u)},D.prototype._final=function(){return this._hash.digest()},Ue.exports=function(k){return"md5"===(k=k.toLowerCase())?new t:"rmd160"===k||"ripemd160"===k?new _:new D(E(k))}},2726:(Ue,q,m)=>{var e=m(2617);Ue.exports=function(t){return(new e).update(t).digest()}},3640:(Ue,q,m)=>{"use strict";var e=m(5035),t=m(7531),_=m(3735),E=m(9708).Buffer,s=m(2726),D=m(5351),u=m(1001),k=E.alloc(128);function p(S,A){_.call(this,"digest"),"string"==typeof A&&(A=E.from(A));var P="sha512"===S||"sha384"===S?128:64;(this._alg=S,this._key=A,A.length>P)?A=("rmd160"===S?new D:u(S)).update(A).digest():A.length{"use strict";var e=m(5035),t=m(9708).Buffer,_=m(3735),E=t.alloc(128),s=64;function D(u,k){_.call(this,"digest"),"string"==typeof k&&(k=t.from(k)),this._alg=u,this._key=k,k.length>s?k=u(k):k.length{"use strict";q.randomBytes=q.rng=q.pseudoRandomBytes=q.prng=m(1186),q.createHash=q.Hash=m(145),q.createHmac=q.Hmac=m(3640);var e=m(8043),t=Object.keys(e),_=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(t);q.getHashes=function(){return _};var E=m(4540);q.pbkdf2=E.pbkdf2,q.pbkdf2Sync=E.pbkdf2Sync;var s=m(4791);q.Cipher=s.Cipher,q.createCipher=s.createCipher,q.Cipheriv=s.Cipheriv,q.createCipheriv=s.createCipheriv,q.Decipher=s.Decipher,q.createDecipher=s.createDecipher,q.Decipheriv=s.Decipheriv,q.createDecipheriv=s.createDecipheriv,q.getCiphers=s.getCiphers,q.listCiphers=s.listCiphers;var D=m(5078);q.DiffieHellmanGroup=D.DiffieHellmanGroup,q.createDiffieHellmanGroup=D.createDiffieHellmanGroup,q.getDiffieHellman=D.getDiffieHellman,q.createDiffieHellman=D.createDiffieHellman,q.DiffieHellman=D.DiffieHellman;var u=m(2124);q.createSign=u.createSign,q.Sign=u.Sign,q.createVerify=u.createVerify,q.Verify=u.Verify,q.createECDH=m(9821);var k=m(1113);q.publicEncrypt=k.publicEncrypt,q.privateEncrypt=k.privateEncrypt,q.publicDecrypt=k.publicDecrypt,q.privateDecrypt=k.privateDecrypt;var p=m(137);q.randomFill=p.randomFill,q.randomFillSync=p.randomFillSync,q.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},q.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},6222:(Ue,q,m)=>{"use strict";q.utils=m(6272),q.Cipher=m(4040),q.DES=m(7066),q.CBC=m(9297),q.EDE=m(4756)},9297:(Ue,q,m)=>{"use strict";var e=m(3999),t=m(5035),_={};function E(D){e.equal(D.length,8,"Invalid IV length"),this.iv=new Array(8);for(var u=0;u{"use strict";var e=m(3999);function t(_){this.options=_,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}Ue.exports=t,t.prototype._init=function(){},t.prototype.update=function(E){return 0===E.length?[]:"decrypt"===this.type?this._updateDecrypt(E):this._updateEncrypt(E)},t.prototype._buffer=function(E,s){for(var D=Math.min(this.buffer.length-this.bufferOff,E.length-s),u=0;u0;u--)s+=this._buffer(E,s),D+=this._flushBuffer(k,D);return s+=this._buffer(E,s),k},t.prototype.final=function(E){var s,D;return E&&(s=this.update(E)),D="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),s?s.concat(D):D},t.prototype._pad=function(E,s){if(0===s)return!1;for(;s{"use strict";var e=m(3999),t=m(5035),_=m(6272),E=m(4040);function s(){this.tmp=new Array(2),this.keys=null}function D(k){E.call(this,k);var p=new s;this._desState=p,this.deriveKeys(p,k.key)}t(D,E),Ue.exports=D,D.create=function(p){return new D(p)};var u=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];D.prototype.deriveKeys=function(p,S){p.keys=new Array(32),e.equal(S.length,this.blockSize,"Invalid key length");var A=_.readUInt32BE(S,0),P=_.readUInt32BE(S,4);_.pc1(A,P,p.tmp,0),A=p.tmp[0],P=p.tmp[1];for(var M=0;M>>1];A=_.r28shl(A,z),P=_.r28shl(P,z),_.pc2(A,P,p.keys,M)}},D.prototype._update=function(p,S,A,P){var M=this._desState,z=_.readUInt32BE(p,S),I=_.readUInt32BE(p,S+4);_.ip(z,I,M.tmp,0),z=M.tmp[0],I=M.tmp[1],"encrypt"===this.type?this._encrypt(M,z,I,M.tmp,0):this._decrypt(M,z,I,M.tmp,0),z=M.tmp[0],I=M.tmp[1],_.writeUInt32BE(A,z,P),_.writeUInt32BE(A,I,P+4)},D.prototype._pad=function(p,S){for(var A=p.length-S,P=S;P>>0,z=_e}_.rip(I,z,P,M)},D.prototype._decrypt=function(p,S,A,P,M){for(var z=A,I=S,W=p.keys.length-2;W>=0;W-=2){var Z=p.keys[W],Q=p.keys[W+1];_.expand(z,p.tmp,0),Z^=p.tmp[0],Q^=p.tmp[1];var ie=_.substitute(Z,Q),_e=z;z=(I^_.permute(ie))>>>0,I=_e}_.rip(z,I,P,M)}},4756:(Ue,q,m)=>{"use strict";var e=m(3999),t=m(5035),_=m(4040),E=m(7066);function s(u,k){e.equal(k.length,24,"Invalid key length");var p=k.slice(0,8),S=k.slice(8,16),A=k.slice(16,24);this.ciphers="encrypt"===u?[E.create({type:"encrypt",key:p}),E.create({type:"decrypt",key:S}),E.create({type:"encrypt",key:A})]:[E.create({type:"decrypt",key:A}),E.create({type:"encrypt",key:S}),E.create({type:"decrypt",key:p})]}function D(u){_.call(this,u);var k=new s(this.type,this.options.key);this._edeState=k}t(D,_),Ue.exports=D,D.create=function(k){return new D(k)},D.prototype._update=function(k,p,S,A){var P=this._edeState;P.ciphers[0]._update(k,p,S,A),P.ciphers[1]._update(S,A,S,A),P.ciphers[2]._update(S,A,S,A)},D.prototype._pad=E.prototype._pad,D.prototype._unpad=E.prototype._unpad},6272:(Ue,q)=>{"use strict";q.readUInt32BE=function(E,s){return(E[0+s]<<24|E[1+s]<<16|E[2+s]<<8|E[3+s])>>>0},q.writeUInt32BE=function(E,s,D){E[0+D]=s>>>24,E[1+D]=s>>>16&255,E[2+D]=s>>>8&255,E[3+D]=255&s},q.ip=function(E,s,D,u){for(var k=0,p=0,S=6;S>=0;S-=2){for(var A=0;A<=24;A+=8)k<<=1,k|=s>>>A+S&1;for(A=0;A<=24;A+=8)k<<=1,k|=E>>>A+S&1}for(S=6;S>=0;S-=2){for(A=1;A<=25;A+=8)p<<=1,p|=s>>>A+S&1;for(A=1;A<=25;A+=8)p<<=1,p|=E>>>A+S&1}D[u+0]=k>>>0,D[u+1]=p>>>0},q.rip=function(E,s,D,u){for(var k=0,p=0,S=0;S<4;S++)for(var A=24;A>=0;A-=8)k<<=1,k|=s>>>A+S&1,k<<=1,k|=E>>>A+S&1;for(S=4;S<8;S++)for(A=24;A>=0;A-=8)p<<=1,p|=s>>>A+S&1,p<<=1,p|=E>>>A+S&1;D[u+0]=k>>>0,D[u+1]=p>>>0},q.pc1=function(E,s,D,u){for(var k=0,p=0,S=7;S>=5;S--){for(var A=0;A<=24;A+=8)k<<=1,k|=s>>A+S&1;for(A=0;A<=24;A+=8)k<<=1,k|=E>>A+S&1}for(A=0;A<=24;A+=8)k<<=1,k|=s>>A+S&1;for(S=1;S<=3;S++){for(A=0;A<=24;A+=8)p<<=1,p|=s>>A+S&1;for(A=0;A<=24;A+=8)p<<=1,p|=E>>A+S&1}for(A=0;A<=24;A+=8)p<<=1,p|=E>>A+S&1;D[u+0]=k>>>0,D[u+1]=p>>>0},q.r28shl=function(E,s){return E<>>28-s};var m=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];q.pc2=function(E,s,D,u){for(var k=0,p=0,S=m.length>>>1,A=0;A>>m[A]&1;for(A=S;A>>m[A]&1;D[u+0]=k>>>0,D[u+1]=p>>>0},q.expand=function(E,s,D){var u=0,k=0;u=(1&E)<<5|E>>>27;for(var p=23;p>=15;p-=4)u<<=6,u|=E>>>p&63;for(p=11;p>=3;p-=4)k|=E>>>p&63,k<<=6;k|=(31&E)<<1|E>>>31,s[D+0]=u>>>0,s[D+1]=k>>>0};var e=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];q.substitute=function(E,s){for(var D=0,u=0;u<4;u++){D<<=4,D|=e[64*u+(E>>>18-6*u&63)]}for(u=0;u<4;u++){D<<=4,D|=e[256+64*u+(s>>>18-6*u&63)]}return D>>>0};var t=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];q.permute=function(E){for(var s=0,D=0;D>>t[D]&1;return s>>>0},q.padSplit=function(E,s,D){for(var u=E.toString(2);u.length{var e=m(2847),t=m(9799),_=m(5648);var s={binary:!0,hex:!0,base64:!0};q.DiffieHellmanGroup=q.createDiffieHellmanGroup=q.getDiffieHellman=function E(u){var k=new Buffer(t[u].prime,"hex"),p=new Buffer(t[u].gen,"hex");return new _(k,p)},q.createDiffieHellman=q.DiffieHellman=function D(u,k,p,S){return Buffer.isBuffer(k)||void 0===s[k]?D(u,"binary",k,p):(k=k||"binary",S=S||"binary",p=p||new Buffer([2]),Buffer.isBuffer(p)||(p=new Buffer(p,S)),"number"==typeof u?new _(e(u,p),p,!0):(Buffer.isBuffer(u)||(u=new Buffer(u,k)),new _(u,p,!0)))}},5648:(Ue,q,m)=>{var e=m(490),_=new(m(7789)),E=new e(24),s=new e(11),D=new e(10),u=new e(3),k=new e(7),p=m(2847),S=m(1186);function A(Z,Q){return Q=Q||"utf8",Buffer.isBuffer(Z)||(Z=new Buffer(Z,Q)),this._pub=new e(Z),this}function P(Z,Q){return Q=Q||"utf8",Buffer.isBuffer(Z)||(Z=new Buffer(Z,Q)),this._priv=new e(Z),this}Ue.exports=I;var M={};function I(Z,Q,ie){this.setGenerator(Q),this.__prime=new e(Z),this._prime=e.mont(this.__prime),this._primeLen=Z.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,ie?(this.setPublicKey=A,this.setPrivateKey=P):this._primeCode=8}function W(Z,Q){var ie=new Buffer(Z.toArray());return Q?ie.toString(Q):ie}Object.defineProperty(I.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function z(Z,Q){var ie=Q.toString("hex"),ae=[ie,Z.toString(16)].join("_");if(ae in M)return M[ae];var ce,_e=0;if(Z.isEven()||!p.simpleSieve||!p.fermatTest(Z)||!_.test(Z))return _e+=1,_e+="02"===ie||"05"===ie?8:4,M[ae]=_e,_e;switch(_.test(Z.shrn(1))||(_e+=2),ie){case"02":Z.mod(E).cmp(s)&&(_e+=8);break;case"05":(ce=Z.mod(D)).cmp(u)&&ce.cmp(k)&&(_e+=8);break;default:_e+=4}return M[ae]=_e,_e}(this.__prime,this.__gen)),this._primeCode}}),I.prototype.generateKeys=function(){return this._priv||(this._priv=new e(S(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},I.prototype.computeSecret=function(Z){var Q=(Z=(Z=new e(Z)).toRed(this._prime)).redPow(this._priv).fromRed(),ie=new Buffer(Q.toArray()),ae=this.getPrime();if(ie.length{var e=m(1186);Ue.exports=_e,_e.simpleSieve=ie,_e.fermatTest=ae;var t=m(490),_=new t(24),s=new(m(7789)),D=new t(1),u=new t(2),k=new t(5),A=(new t(16),new t(8),new t(10)),P=new t(3),z=(new t(7),new t(11)),I=new t(4),Z=(new t(12),null);function ie(ce){for(var ye=function Q(){if(null!==Z)return Z;var ye=[];ye[0]=2;for(var ue=1,$=3;$<1048576;$+=2){for(var he=Math.ceil(Math.sqrt($)),w=0;wce;)ue.ishrn(1);if(ue.isEven()&&ue.iadd(D),ue.testn(1)||ue.iadd(u),ye.cmp(u)){if(!ye.cmp(k))for(;ue.mod(A).cmp(P);)ue.iadd(I)}else for(;ue.mod(_).cmp(z);)ue.iadd(I);if(ie($=ue.shrn(1))&&ie(ue)&&ae($)&&ae(ue)&&s.test($)&&s.test(ue))return ue}}},490:function(Ue,q,m){(function(e,t){"use strict";function _(w,n){if(!w)throw new Error(n||"Assertion failed")}function E(w,n){w.super_=n;var o=function(){};o.prototype=n.prototype,w.prototype=new o,w.prototype.constructor=w}function s(w,n,o){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,null!==w&&(("le"===n||"be"===n)&&(o=n,n=10),this._init(w||0,n||10,o||"be"))}var D;"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;try{D=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:m(7748).Buffer}catch{}function u(w,n){var o=w.charCodeAt(n);return o>=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},6348:Ue=>{"use strict";var q={single_source_shortest_paths:function(m,e,t){var _={},E={};E[e]=0;var D,u,k,p,S,P,M,s=q.PriorityQueue.make();for(s.push(e,0);!s.empty();)for(k in u=(D=s.pop()).value,p=D.cost,S=m[u]||{})S.hasOwnProperty(k)&&(P=p+S[k],M=E[k],(typeof E[k]>"u"||M>P)&&(E[k]=P,s.push(k,P),_[k]=u));if(typeof t<"u"&&typeof E[t]>"u"){var I=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(I)}return _},extract_shortest_path_from_predecessor_list:function(m,e){for(var t=[],_=e;_;)t.push(_),m[_],_=m[_];return t.reverse(),t},find_path:function(m,e,t){var _=q.single_source_shortest_paths(m,e,t);return q.extract_shortest_path_from_predecessor_list(_,t)},PriorityQueue:{make:function(m){var _,e=q.PriorityQueue,t={};for(_ in m=m||{},e)e.hasOwnProperty(_)&&(t[_]=e[_]);return t.queue=[],t.sorter=m.sorter||e.default_sorter,t},default_sorter:function(m,e){return m.cost-e.cost},push:function(m,e){var t={value:m,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};Ue.exports=q},2142:(Ue,q,m)=>{"use strict";var e=q;e.version=m(8597).i8,e.utils=m(8865),e.rand=m(340),e.curve=m(9503),e.curves=m(7458),e.ec=m(1336),e.eddsa=m(4380)},725:(Ue,q,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.getNAF,E=t.getJSF,s=t.assert;function D(k,p){this.type=k,this.p=new e(p.p,16),this.red=p.prime?e.red(p.prime):e.mont(this.p),this.zero=new e(0).toRed(this.red),this.one=new e(1).toRed(this.red),this.two=new e(2).toRed(this.red),this.n=p.n&&new e(p.n,16),this.g=p.g&&this.pointFromJSON(p.g,p.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var S=this.n&&this.p.div(this.n);!S||S.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function u(k,p){this.curve=k,this.type=p,this.precomputed=null}Ue.exports=D,D.prototype.point=function(){throw new Error("Not implemented")},D.prototype.validate=function(){throw new Error("Not implemented")},D.prototype._fixedNafMul=function(p,S){s(p.precomputed);var A=p._getDoubles(),P=_(S,1,this._bitLength),M=(1<=I;Z--)W=(W<<1)+P[Z];z.push(W)}for(var Q=this.jpoint(null,null,null),ie=this.jpoint(null,null,null),ae=M;ae>0;ae--){for(I=0;I=0;W--){for(var Z=0;W>=0&&0===z[W];W--)Z++;if(W>=0&&Z++,I=I.dblp(Z),W<0)break;var Q=z[W];s(0!==Q),I="affine"===p.type?Q>0?I.mixedAdd(M[Q-1>>1]):I.mixedAdd(M[-Q-1>>1].neg()):Q>0?I.add(M[Q-1>>1]):I.add(M[-Q-1>>1].neg())}return"affine"===p.type?I.toP():I},D.prototype._wnafMulAdd=function(p,S,A,P,M){var Q,ie,ae,z=this._wnafT1,I=this._wnafT2,W=this._wnafT3,Z=0;for(Q=0;Q=1;Q-=2){var ce=Q-1,ye=Q;if(1===z[ce]&&1===z[ye]){var ue=[S[ce],null,null,S[ye]];0===S[ce].y.cmp(S[ye].y)?(ue[1]=S[ce].add(S[ye]),ue[2]=S[ce].toJ().mixedAdd(S[ye].neg())):0===S[ce].y.cmp(S[ye].y.redNeg())?(ue[1]=S[ce].toJ().mixedAdd(S[ye]),ue[2]=S[ce].add(S[ye].neg())):(ue[1]=S[ce].toJ().mixedAdd(S[ye]),ue[2]=S[ce].toJ().mixedAdd(S[ye].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],he=E(A[ce],A[ye]);for(Z=Math.max(he[0].length,Z),W[ce]=new Array(Z),W[ye]=new Array(Z),ie=0;ie=0;Q--){for(var d=0;Q>=0;){var y=!0;for(ie=0;ie=0&&d++,o=o.dblp(d),Q<0)break;for(ie=0;ie0?ae=I[ie][L-1>>1]:L<0&&(ae=I[ie][-L-1>>1].neg()),o="affine"===ae.type?o.mixedAdd(ae):o.add(ae))}}for(Q=0;Q=Math.ceil((p.bitLength()+1)/S.step)},u.prototype._getDoubles=function(p,S){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var A=[this],P=this,M=0;M{"use strict";var e=m(8865),t=m(2451),_=m(5035),E=m(725),s=e.assert;function D(k){this.twisted=1!=(0|k.a),this.mOneA=this.twisted&&-1==(0|k.a),this.extended=this.mOneA,E.call(this,"edwards",k),this.a=new t(k.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new t(k.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new t(k.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|k.c)}function u(k,p,S,A,P){E.BasePoint.call(this,k,"projective"),null===p&&null===S&&null===A?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new t(p,16),this.y=new t(S,16),this.z=A?new t(A,16):this.curve.one,this.t=P&&new t(P,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}_(D,E),Ue.exports=D,D.prototype._mulA=function(p){return this.mOneA?p.redNeg():this.a.redMul(p)},D.prototype._mulC=function(p){return this.oneC?p:this.c.redMul(p)},D.prototype.jpoint=function(p,S,A,P){return this.point(p,S,A,P)},D.prototype.pointFromX=function(p,S){(p=new t(p,16)).red||(p=p.toRed(this.red));var A=p.redSqr(),P=this.c2.redSub(this.a.redMul(A)),M=this.one.redSub(this.c2.redMul(this.d).redMul(A)),z=P.redMul(M.redInvm()),I=z.redSqrt();if(0!==I.redSqr().redSub(z).cmp(this.zero))throw new Error("invalid point");var W=I.fromRed().isOdd();return(S&&!W||!S&&W)&&(I=I.redNeg()),this.point(p,I)},D.prototype.pointFromY=function(p,S){(p=new t(p,16)).red||(p=p.toRed(this.red));var A=p.redSqr(),P=A.redSub(this.c2),M=A.redMul(this.d).redMul(this.c2).redSub(this.a),z=P.redMul(M.redInvm());if(0===z.cmp(this.zero)){if(S)throw new Error("invalid point");return this.point(this.zero,p)}var I=z.redSqrt();if(0!==I.redSqr().redSub(z).cmp(this.zero))throw new Error("invalid point");return I.fromRed().isOdd()!==S&&(I=I.redNeg()),this.point(I,p)},D.prototype.validate=function(p){if(p.isInfinity())return!0;p.normalize();var S=p.x.redSqr(),A=p.y.redSqr(),P=S.redMul(this.a).redAdd(A),M=this.c2.redMul(this.one.redAdd(this.d.redMul(S).redMul(A)));return 0===P.cmp(M)},_(u,E.BasePoint),D.prototype.pointFromJSON=function(p){return u.fromJSON(this,p)},D.prototype.point=function(p,S,A,P){return new u(this,p,S,A,P)},u.fromJSON=function(p,S){return new u(p,S[0],S[1],S[2])},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var p=this.x.redSqr(),S=this.y.redSqr(),A=this.z.redSqr();A=A.redIAdd(A);var P=this.curve._mulA(p),M=this.x.redAdd(this.y).redSqr().redISub(p).redISub(S),z=P.redAdd(S),I=z.redSub(A),W=P.redSub(S),Z=M.redMul(I),Q=z.redMul(W),ie=M.redMul(W),ae=I.redMul(z);return this.curve.point(Z,Q,ae,ie)},u.prototype._projDbl=function(){var P,M,z,I,W,Z,p=this.x.redAdd(this.y).redSqr(),S=this.x.redSqr(),A=this.y.redSqr();if(this.curve.twisted){var Q=(I=this.curve._mulA(S)).redAdd(A);this.zOne?(P=p.redSub(S).redSub(A).redMul(Q.redSub(this.curve.two)),M=Q.redMul(I.redSub(A)),z=Q.redSqr().redSub(Q).redSub(Q)):(W=this.z.redSqr(),Z=Q.redSub(W).redISub(W),P=p.redSub(S).redISub(A).redMul(Z),M=Q.redMul(I.redSub(A)),z=Q.redMul(Z))}else I=S.redAdd(A),W=this.curve._mulC(this.z).redSqr(),Z=I.redSub(W).redSub(W),P=this.curve._mulC(p.redISub(I)).redMul(Z),M=this.curve._mulC(I).redMul(S.redISub(A)),z=I.redMul(Z);return this.curve.point(P,M,z)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(p){var S=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),A=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),P=this.t.redMul(this.curve.dd).redMul(p.t),M=this.z.redMul(p.z.redAdd(p.z)),z=A.redSub(S),I=M.redSub(P),W=M.redAdd(P),Z=A.redAdd(S),Q=z.redMul(I),ie=W.redMul(Z),ae=z.redMul(Z),_e=I.redMul(W);return this.curve.point(Q,ie,_e,ae)},u.prototype._projAdd=function(p){var ie,ae,S=this.z.redMul(p.z),A=S.redSqr(),P=this.x.redMul(p.x),M=this.y.redMul(p.y),z=this.curve.d.redMul(P).redMul(M),I=A.redSub(z),W=A.redAdd(z),Z=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(P).redISub(M),Q=S.redMul(I).redMul(Z);return this.curve.twisted?(ie=S.redMul(W).redMul(M.redSub(this.curve._mulA(P))),ae=I.redMul(W)):(ie=S.redMul(W).redMul(M.redSub(P)),ae=this.curve._mulC(I).redMul(W)),this.curve.point(Q,ie,ae)},u.prototype.add=function(p){return this.isInfinity()?p:p.isInfinity()?this:this.curve.extended?this._extAdd(p):this._projAdd(p)},u.prototype.mul=function(p){return this._hasDoubles(p)?this.curve._fixedNafMul(this,p):this.curve._wnafMul(this,p)},u.prototype.mulAdd=function(p,S,A){return this.curve._wnafMulAdd(1,[this,S],[p,A],2,!1)},u.prototype.jmulAdd=function(p,S,A){return this.curve._wnafMulAdd(1,[this,S],[p,A],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var p=this.z.redInvm();return this.x=this.x.redMul(p),this.y=this.y.redMul(p),this.t&&(this.t=this.t.redMul(p)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(p){return this===p||0===this.getX().cmp(p.getX())&&0===this.getY().cmp(p.getY())},u.prototype.eqXToP=function(p){var S=p.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(S))return!0;for(var A=p.clone(),P=this.curve.redN.redMul(this.z);;){if(A.iadd(this.curve.n),A.cmp(this.curve.p)>=0)return!1;if(S.redIAdd(P),0===this.x.cmp(S))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},9503:(Ue,q,m)=>{"use strict";var e=q;e.base=m(725),e.short=m(4037),e.mont=m(9987),e.edwards=m(3555)},9987:(Ue,q,m)=>{"use strict";var e=m(2451),t=m(5035),_=m(725),E=m(8865);function s(u){_.call(this,"mont",u),this.a=new e(u.a,16).toRed(this.red),this.b=new e(u.b,16).toRed(this.red),this.i4=new e(4).toRed(this.red).redInvm(),this.two=new e(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function D(u,k,p){_.BasePoint.call(this,u,"projective"),null===k&&null===p?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new e(k,16),this.z=new e(p,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}t(s,_),Ue.exports=s,s.prototype.validate=function(k){var p=k.normalize().x,S=p.redSqr(),A=S.redMul(p).redAdd(S.redMul(this.a)).redAdd(p);return 0===A.redSqrt().redSqr().cmp(A)},t(D,_.BasePoint),s.prototype.decodePoint=function(k,p){return this.point(E.toArray(k,p),1)},s.prototype.point=function(k,p){return new D(this,k,p)},s.prototype.pointFromJSON=function(k){return D.fromJSON(this,k)},D.prototype.precompute=function(){},D.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},D.fromJSON=function(k,p){return new D(k,p[0],p[1]||k.one)},D.prototype.inspect=function(){return this.isInfinity()?"":""},D.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},D.prototype.dbl=function(){var p=this.x.redAdd(this.z).redSqr(),A=this.x.redSub(this.z).redSqr(),P=p.redSub(A),M=p.redMul(A),z=P.redMul(A.redAdd(this.curve.a24.redMul(P)));return this.curve.point(M,z)},D.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.diffAdd=function(k,p){var S=this.x.redAdd(this.z),A=this.x.redSub(this.z),P=k.x.redAdd(k.z),z=k.x.redSub(k.z).redMul(S),I=P.redMul(A),W=p.z.redMul(z.redAdd(I).redSqr()),Z=p.x.redMul(z.redISub(I).redSqr());return this.curve.point(W,Z)},D.prototype.mul=function(k){for(var p=k.clone(),S=this,A=this.curve.point(null,null),M=[];0!==p.cmpn(0);p.iushrn(1))M.push(p.andln(1));for(var z=M.length-1;z>=0;z--)0===M[z]?(S=S.diffAdd(A,this),A=A.dbl()):(A=S.diffAdd(A,this),S=S.dbl());return A},D.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.eq=function(k){return 0===this.getX().cmp(k.getX())},D.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},D.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},4037:(Ue,q,m)=>{"use strict";var e=m(8865),t=m(2451),_=m(5035),E=m(725),s=e.assert;function D(p){E.call(this,"short",p),this.a=new t(p.a,16).toRed(this.red),this.b=new t(p.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(p),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(p,S,A,P){E.BasePoint.call(this,p,"affine"),null===S&&null===A?(this.x=null,this.y=null,this.inf=!0):(this.x=new t(S,16),this.y=new t(A,16),P&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function k(p,S,A,P){E.BasePoint.call(this,p,"jacobian"),null===S&&null===A&&null===P?(this.x=this.curve.one,this.y=this.curve.one,this.z=new t(0)):(this.x=new t(S,16),this.y=new t(A,16),this.z=new t(P,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}_(D,E),Ue.exports=D,D.prototype._getEndomorphism=function(S){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var A,P;if(S.beta)A=new t(S.beta,16).toRed(this.red);else{var M=this._getEndoRoots(this.p);A=(A=M[0].cmp(M[1])<0?M[0]:M[1]).toRed(this.red)}if(S.lambda)P=new t(S.lambda,16);else{var z=this._getEndoRoots(this.n);0===this.g.mul(z[0]).x.cmp(this.g.x.redMul(A))?P=z[0]:(P=z[1],s(0===this.g.mul(P).x.cmp(this.g.x.redMul(A))))}return{beta:A,lambda:P,basis:S.basis?S.basis.map(function(W){return{a:new t(W.a,16),b:new t(W.b,16)}}):this._getEndoBasis(P)}}},D.prototype._getEndoRoots=function(S){var A=S===this.p?this.red:t.mont(S),P=new t(2).toRed(A).redInvm(),M=P.redNeg(),z=new t(3).toRed(A).redNeg().redSqrt().redMul(P);return[M.redAdd(z).fromRed(),M.redSub(z).fromRed()]},D.prototype._getEndoBasis=function(S){for(var Q,ie,ae,_e,ce,ye,ue,he,w,A=this.n.ushrn(Math.floor(this.n.bitLength()/2)),P=S,M=this.n.clone(),z=new t(1),I=new t(0),W=new t(0),Z=new t(1),$=0;0!==P.cmpn(0);){var n=M.div(P);he=M.sub(n.mul(P)),w=W.sub(n.mul(z));var o=Z.sub(n.mul(I));if(!ae&&he.cmp(A)<0)Q=ue.neg(),ie=z,ae=he.neg(),_e=w;else if(ae&&2==++$)break;ue=he,M=P,P=he,W=z,z=w,Z=I,I=o}ce=he.neg(),ye=w;var h=ae.sqr().add(_e.sqr());return ce.sqr().add(ye.sqr()).cmp(h)>=0&&(ce=Q,ye=ie),ae.negative&&(ae=ae.neg(),_e=_e.neg()),ce.negative&&(ce=ce.neg(),ye=ye.neg()),[{a:ae,b:_e},{a:ce,b:ye}]},D.prototype._endoSplit=function(S){var A=this.endo.basis,P=A[0],M=A[1],z=M.b.mul(S).divRound(this.n),I=P.b.neg().mul(S).divRound(this.n),W=z.mul(P.a),Z=I.mul(M.a),Q=z.mul(P.b),ie=I.mul(M.b);return{k1:S.sub(W).sub(Z),k2:Q.add(ie).neg()}},D.prototype.pointFromX=function(S,A){(S=new t(S,16)).red||(S=S.toRed(this.red));var P=S.redSqr().redMul(S).redIAdd(S.redMul(this.a)).redIAdd(this.b),M=P.redSqrt();if(0!==M.redSqr().redSub(P).cmp(this.zero))throw new Error("invalid point");var z=M.fromRed().isOdd();return(A&&!z||!A&&z)&&(M=M.redNeg()),this.point(S,M)},D.prototype.validate=function(S){if(S.inf)return!0;var A=S.x,P=S.y,M=this.a.redMul(A),z=A.redSqr().redMul(A).redIAdd(M).redIAdd(this.b);return 0===P.redSqr().redISub(z).cmpn(0)},D.prototype._endoWnafMulAdd=function(S,A,P){for(var M=this._endoWnafT1,z=this._endoWnafT2,I=0;I":""},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(S){if(this.inf)return S;if(S.inf)return this;if(this.eq(S))return this.dbl();if(this.neg().eq(S))return this.curve.point(null,null);if(0===this.x.cmp(S.x))return this.curve.point(null,null);var A=this.y.redSub(S.y);0!==A.cmpn(0)&&(A=A.redMul(this.x.redSub(S.x).redInvm()));var P=A.redSqr().redISub(this.x).redISub(S.x),M=A.redMul(this.x.redSub(P)).redISub(this.y);return this.curve.point(P,M)},u.prototype.dbl=function(){if(this.inf)return this;var S=this.y.redAdd(this.y);if(0===S.cmpn(0))return this.curve.point(null,null);var A=this.curve.a,P=this.x.redSqr(),M=S.redInvm(),z=P.redAdd(P).redIAdd(P).redIAdd(A).redMul(M),I=z.redSqr().redISub(this.x.redAdd(this.x)),W=z.redMul(this.x.redSub(I)).redISub(this.y);return this.curve.point(I,W)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(S){return S=new t(S,16),this.isInfinity()?this:this._hasDoubles(S)?this.curve._fixedNafMul(this,S):this.curve.endo?this.curve._endoWnafMulAdd([this],[S]):this.curve._wnafMul(this,S)},u.prototype.mulAdd=function(S,A,P){var M=[this,A],z=[S,P];return this.curve.endo?this.curve._endoWnafMulAdd(M,z):this.curve._wnafMulAdd(1,M,z,2)},u.prototype.jmulAdd=function(S,A,P){var M=[this,A],z=[S,P];return this.curve.endo?this.curve._endoWnafMulAdd(M,z,!0):this.curve._wnafMulAdd(1,M,z,2,!0)},u.prototype.eq=function(S){return this===S||this.inf===S.inf&&(this.inf||0===this.x.cmp(S.x)&&0===this.y.cmp(S.y))},u.prototype.neg=function(S){if(this.inf)return this;var A=this.curve.point(this.x,this.y.redNeg());if(S&&this.precomputed){var P=this.precomputed,M=function(z){return z.neg()};A.precomputed={naf:P.naf&&{wnd:P.naf.wnd,points:P.naf.points.map(M)},doubles:P.doubles&&{step:P.doubles.step,points:P.doubles.points.map(M)}}}return A},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},_(k,E.BasePoint),D.prototype.jpoint=function(S,A,P){return new k(this,S,A,P)},k.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var S=this.z.redInvm(),A=S.redSqr(),P=this.x.redMul(A),M=this.y.redMul(A).redMul(S);return this.curve.point(P,M)},k.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},k.prototype.add=function(S){if(this.isInfinity())return S;if(S.isInfinity())return this;var A=S.z.redSqr(),P=this.z.redSqr(),M=this.x.redMul(A),z=S.x.redMul(P),I=this.y.redMul(A.redMul(S.z)),W=S.y.redMul(P.redMul(this.z)),Z=M.redSub(z),Q=I.redSub(W);if(0===Z.cmpn(0))return 0!==Q.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var ie=Z.redSqr(),ae=ie.redMul(Z),_e=M.redMul(ie),ce=Q.redSqr().redIAdd(ae).redISub(_e).redISub(_e),ye=Q.redMul(_e.redISub(ce)).redISub(I.redMul(ae)),ue=this.z.redMul(S.z).redMul(Z);return this.curve.jpoint(ce,ye,ue)},k.prototype.mixedAdd=function(S){if(this.isInfinity())return S.toJ();if(S.isInfinity())return this;var A=this.z.redSqr(),P=this.x,M=S.x.redMul(A),z=this.y,I=S.y.redMul(A).redMul(this.z),W=P.redSub(M),Z=z.redSub(I);if(0===W.cmpn(0))return 0!==Z.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var Q=W.redSqr(),ie=Q.redMul(W),ae=P.redMul(Q),_e=Z.redSqr().redIAdd(ie).redISub(ae).redISub(ae),ce=Z.redMul(ae.redISub(_e)).redISub(z.redMul(ie)),ye=this.z.redMul(W);return this.curve.jpoint(_e,ce,ye)},k.prototype.dblp=function(S){if(0===S)return this;if(this.isInfinity())return this;if(!S)return this.dbl();var A;if(this.curve.zeroA||this.curve.threeA){var P=this;for(A=0;A=0)return!1;if(P.redIAdd(z),0===this.x.cmp(P))return!0}},k.prototype.inspect=function(){return this.isInfinity()?"":""},k.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},7458:(Ue,q,m)=>{"use strict";var k,e=q,t=m(9281),_=m(9503),s=m(8865).assert;function D(p){"short"===p.type?this.curve=new _.short(p):"edwards"===p.type?this.curve=new _.edwards(p):this.curve=new _.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u(p,S){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var A=new D(S);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:A}),A}})}e.PresetCurve=D,u("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),u("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),u("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{k=m(692)}catch{k=void 0}u("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",k]})},1336:(Ue,q,m)=>{"use strict";var e=m(2451),t=m(3925),_=m(8865),E=m(7458),s=m(340),D=_.assert,u=m(50),k=m(3545);function p(S){if(!(this instanceof p))return new p(S);"string"==typeof S&&(D(Object.prototype.hasOwnProperty.call(E,S),"Unknown curve "+S),S=E[S]),S instanceof E.PresetCurve&&(S={curve:S}),this.curve=S.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=S.curve.g,this.g.precompute(S.curve.n.bitLength()+1),this.hash=S.hash||S.curve.hash}Ue.exports=p,p.prototype.keyPair=function(A){return new u(this,A)},p.prototype.keyFromPrivate=function(A,P){return u.fromPrivate(this,A,P)},p.prototype.keyFromPublic=function(A,P){return u.fromPublic(this,A,P)},p.prototype.genKeyPair=function(A){A||(A={});for(var P=new t({hash:this.hash,pers:A.pers,persEnc:A.persEnc||"utf8",entropy:A.entropy||s(this.hash.hmacStrength),entropyEnc:A.entropy&&A.entropyEnc||"utf8",nonce:this.n.toArray()}),M=this.n.byteLength(),z=this.n.sub(new e(2));;){var I=new e(P.generate(M));if(!(I.cmp(z)>0))return I.iaddn(1),this.keyFromPrivate(I)}},p.prototype._truncateToN=function(A,P){var M=8*A.byteLength()-this.n.bitLength();return M>0&&(A=A.ushrn(M)),!P&&A.cmp(this.n)>=0?A.sub(this.n):A},p.prototype.sign=function(A,P,M,z){"object"==typeof M&&(z=M,M=null),z||(z={}),P=this.keyFromPrivate(P,M),A=this._truncateToN(new e(A,16));for(var I=this.n.byteLength(),W=P.getPrivate().toArray("be",I),Z=A.toArray("be",I),Q=new t({hash:this.hash,entropy:W,nonce:Z,pers:z.pers,persEnc:z.persEnc||"utf8"}),ie=this.n.sub(new e(1)),ae=0;;ae++){var _e=z.k?z.k(ae):new e(Q.generate(this.n.byteLength()));if(!((_e=this._truncateToN(_e,!0)).cmpn(1)<=0||_e.cmp(ie)>=0)){var ce=this.g.mul(_e);if(!ce.isInfinity()){var ye=ce.getX(),ue=ye.umod(this.n);if(0!==ue.cmpn(0)){var $=_e.invm(this.n).mul(ue.mul(P.getPrivate()).iadd(A));if(0!==($=$.umod(this.n)).cmpn(0)){var he=(ce.getY().isOdd()?1:0)|(0!==ye.cmp(ue)?2:0);return z.canonical&&$.cmp(this.nh)>0&&($=this.n.sub($),he^=1),new k({r:ue,s:$,recoveryParam:he})}}}}}},p.prototype.verify=function(A,P,M,z){A=this._truncateToN(new e(A,16)),M=this.keyFromPublic(M,z);var I=(P=new k(P,"hex")).r,W=P.s;if(I.cmpn(1)<0||I.cmp(this.n)>=0||W.cmpn(1)<0||W.cmp(this.n)>=0)return!1;var ae,Z=W.invm(this.n),Q=Z.mul(A).umod(this.n),ie=Z.mul(I).umod(this.n);return this.curve._maxwellTrick?!(ae=this.g.jmulAdd(Q,M.getPublic(),ie)).isInfinity()&&ae.eqXToP(I):!(ae=this.g.mulAdd(Q,M.getPublic(),ie)).isInfinity()&&0===ae.getX().umod(this.n).cmp(I)},p.prototype.recoverPubKey=function(S,A,P,M){D((3&P)===P,"The recovery param is more than two bits"),A=new k(A,M);var z=this.n,I=new e(S),W=A.r,Z=A.s,Q=1&P,ie=P>>1;if(W.cmp(this.curve.p.umod(this.curve.n))>=0&&ie)throw new Error("Unable to find sencond key candinate");W=ie?this.curve.pointFromX(W.add(this.curve.n),Q):this.curve.pointFromX(W,Q);var ae=A.r.invm(z),_e=z.sub(I).mul(ae).umod(z),ce=Z.mul(ae).umod(z);return this.g.mulAdd(_e,W,ce)},p.prototype.getKeyRecoveryParam=function(S,A,P,M){if(null!==(A=new k(A,M)).recoveryParam)return A.recoveryParam;for(var z=0;z<4;z++){var I;try{I=this.recoverPubKey(S,A,z)}catch{continue}if(I.eq(P))return z}throw new Error("Unable to find valid recovery factor")}},50:(Ue,q,m)=>{"use strict";var e=m(2451),_=m(8865).assert;function E(s,D){this.ec=s,this.priv=null,this.pub=null,D.priv&&this._importPrivate(D.priv,D.privEnc),D.pub&&this._importPublic(D.pub,D.pubEnc)}Ue.exports=E,E.fromPublic=function(D,u,k){return u instanceof E?u:new E(D,{pub:u,pubEnc:k})},E.fromPrivate=function(D,u,k){return u instanceof E?u:new E(D,{priv:u,privEnc:k})},E.prototype.validate=function(){var D=this.getPublic();return D.isInfinity()?{result:!1,reason:"Invalid public key"}:D.validate()?D.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},E.prototype.getPublic=function(D,u){return"string"==typeof D&&(u=D,D=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),u?this.pub.encode(u,D):this.pub},E.prototype.getPrivate=function(D){return"hex"===D?this.priv.toString(16,2):this.priv},E.prototype._importPrivate=function(D,u){this.priv=new e(D,u||16),this.priv=this.priv.umod(this.ec.curve.n)},E.prototype._importPublic=function(D,u){if(D.x||D.y)return"mont"===this.ec.curve.type?_(D.x,"Need x coordinate"):("short"===this.ec.curve.type||"edwards"===this.ec.curve.type)&&_(D.x&&D.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(D.x,D.y));this.pub=this.ec.curve.decodePoint(D,u)},E.prototype.derive=function(D){return D.validate()||_(D.validate(),"public point not validated"),D.mul(this.priv).getX()},E.prototype.sign=function(D,u,k){return this.ec.sign(D,this,u,k)},E.prototype.verify=function(D,u){return this.ec.verify(D,u,this)},E.prototype.inspect=function(){return""}},3545:(Ue,q,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.assert;function E(p,S){if(p instanceof E)return p;this._importDER(p,S)||(_(p.r&&p.s,"Signature without r or s"),this.r=new e(p.r,16),this.s=new e(p.s,16),void 0===p.recoveryParam?this.recoveryParam=null:this.recoveryParam=p.recoveryParam)}function s(){this.place=0}function D(p,S){var A=p[S.place++];if(!(128&A))return A;var P=15&A;if(0===P||P>4)return!1;for(var M=0,z=0,I=S.place;z>>=0;return!(M<=127)&&(S.place=I,M)}function u(p){for(var S=0,A=p.length-1;!p[S]&&!(128&p[S+1])&&S>>3);for(p.push(128|A);--A;)p.push(S>>>(A<<3)&255);p.push(S)}}Ue.exports=E,E.prototype._importDER=function(S,A){S=t.toArray(S,A);var P=new s;if(48!==S[P.place++])return!1;var M=D(S,P);if(!1===M||M+P.place!==S.length||2!==S[P.place++])return!1;var z=D(S,P);if(!1===z)return!1;var I=S.slice(P.place,z+P.place);if(P.place+=z,2!==S[P.place++])return!1;var W=D(S,P);if(!1===W||S.length!==W+P.place)return!1;var Z=S.slice(P.place,W+P.place);if(0===I[0]){if(!(128&I[1]))return!1;I=I.slice(1)}if(0===Z[0]){if(!(128&Z[1]))return!1;Z=Z.slice(1)}return this.r=new e(I),this.s=new e(Z),this.recoveryParam=null,!0},E.prototype.toDER=function(S){var A=this.r.toArray(),P=this.s.toArray();for(128&A[0]&&(A=[0].concat(A)),128&P[0]&&(P=[0].concat(P)),A=u(A),P=u(P);!(P[0]||128&P[1]);)P=P.slice(1);var M=[2];k(M,A.length),(M=M.concat(A)).push(2),k(M,P.length);var z=M.concat(P),I=[48];return k(I,z.length),I=I.concat(z),t.encode(I,S)}},4380:(Ue,q,m)=>{"use strict";var e=m(9281),t=m(7458),_=m(8865),E=_.assert,s=_.parseBytes,D=m(6031),u=m(3134);function k(p){if(E("ed25519"===p,"only tested with ed25519 so far"),!(this instanceof k))return new k(p);p=t[p].curve,this.curve=p,this.g=p.g,this.g.precompute(p.n.bitLength()+1),this.pointClass=p.point().constructor,this.encodingLength=Math.ceil(p.n.bitLength()/8),this.hash=e.sha512}Ue.exports=k,k.prototype.sign=function(S,A){S=s(S);var P=this.keyFromSecret(A),M=this.hashInt(P.messagePrefix(),S),z=this.g.mul(M),I=this.encodePoint(z),W=this.hashInt(I,P.pubBytes(),S).mul(P.priv()),Z=M.add(W).umod(this.curve.n);return this.makeSignature({R:z,S:Z,Rencoded:I})},k.prototype.verify=function(S,A,P){S=s(S),A=this.makeSignature(A);var M=this.keyFromPublic(P),z=this.hashInt(A.Rencoded(),M.pubBytes(),S),I=this.g.mul(A.S());return A.R().add(M.pub().mul(z)).eq(I)},k.prototype.hashInt=function(){for(var S=this.hash(),A=0;A{"use strict";var e=m(8865),t=e.assert,_=e.parseBytes,E=e.cachedProperty;function s(D,u){this.eddsa=D,this._secret=_(u.secret),D.isPoint(u.pub)?this._pub=u.pub:this._pubBytes=_(u.pub)}s.fromPublic=function(u,k){return k instanceof s?k:new s(u,{pub:k})},s.fromSecret=function(u,k){return k instanceof s?k:new s(u,{secret:k})},s.prototype.secret=function(){return this._secret},E(s,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),E(s,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),E(s,"privBytes",function(){var u=this.eddsa,k=this.hash(),p=u.encodingLength-1,S=k.slice(0,u.encodingLength);return S[0]&=248,S[p]&=127,S[p]|=64,S}),E(s,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),E(s,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),E(s,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),s.prototype.sign=function(u){return t(this._secret,"KeyPair can only verify"),this.eddsa.sign(u,this)},s.prototype.verify=function(u,k){return this.eddsa.verify(u,k,this)},s.prototype.getSecret=function(u){return t(this._secret,"KeyPair is public only"),e.encode(this.secret(),u)},s.prototype.getPublic=function(u){return e.encode(this.pubBytes(),u)},Ue.exports=s},3134:(Ue,q,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.assert,E=t.cachedProperty,s=t.parseBytes;function D(u,k){this.eddsa=u,"object"!=typeof k&&(k=s(k)),Array.isArray(k)&&(k={R:k.slice(0,u.encodingLength),S:k.slice(u.encodingLength)}),_(k.R&&k.S,"Signature without R or S"),u.isPoint(k.R)&&(this._R=k.R),k.S instanceof e&&(this._S=k.S),this._Rencoded=Array.isArray(k.R)?k.R:k.Rencoded,this._Sencoded=Array.isArray(k.S)?k.S:k.Sencoded}E(D,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),E(D,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),E(D,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),E(D,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),D.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},D.prototype.toHex=function(){return t.encode(this.toBytes(),"hex").toUpperCase()},Ue.exports=D},692:Ue=>{Ue.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},8865:(Ue,q,m)=>{"use strict";var e=q,t=m(2451),_=m(3999),E=m(4985);e.assert=_,e.toArray=E.toArray,e.zero2=E.zero2,e.toHex=E.toHex,e.encode=E.encode,e.getNAF=function s(S,A,P){var M=new Array(Math.max(S.bitLength(),P)+1);M.fill(0);for(var z=1<(z>>1)-1?(z>>1)-Q:Q,I.isubn(Z)):Z=0,M[W]=Z,I.iushrn(1)}return M},e.getJSF=function D(S,A){var P=[[],[]];S=S.clone(),A=A.clone();for(var I,M=0,z=0;S.cmpn(-M)>0||A.cmpn(-z)>0;){var Q,ie,W=S.andln(3)+M&3,Z=A.andln(3)+z&3;3===W&&(W=-1),3===Z&&(Z=-1),0==(1&W)?Q=0:Q=3!==(I=S.andln(7)+M&7)&&5!==I||2!==Z?W:-W,P[0].push(Q),0==(1&Z)?ie=0:ie=3!==(I=A.andln(7)+z&7)&&5!==I||2!==W?Z:-Z,P[1].push(ie),2*M===Q+1&&(M=1-M),2*z===ie+1&&(z=1-z),S.iushrn(1),A.iushrn(1)}return P},e.cachedProperty=function u(S,A,P){var M="_"+A;S.prototype[A]=function(){return void 0!==this[M]?this[M]:this[M]=P.call(this)}},e.parseBytes=function k(S){return"string"==typeof S?e.toArray(S,"hex"):S},e.intFromLE=function p(S){return new t(S,"hex","le")}},2451:function(Ue,q,m){(function(e,t){"use strict";function _(w,n){if(!w)throw new Error(n||"Assertion failed")}function E(w,n){w.super_=n;var o=function(){};o.prototype=n.prototype,w.prototype=new o,w.prototype.constructor=w}function s(w,n,o){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,null!==w&&(("le"===n||"be"===n)&&(o=n,n=10),this._init(w||0,n||10,o||"be"))}var D;"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;try{D=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:m(5568).Buffer}catch{}function u(w,n){var o=w.charCodeAt(n);return o>=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},6236:Ue=>{"use strict";Ue.exports=function(m){for(var e=[],t=m.length,_=0;_=55296&&E<=56319&&t>_+1){var s=m.charCodeAt(_+1);s>=56320&&s<=57343&&(E=1024*(E-55296)+s-56320+65536,_+=1)}E<128?e.push(E):E<2048?(e.push(E>>6|192),e.push(63&E|128)):E<55296||E>=57344&&E<65536?(e.push(E>>12|224),e.push(E>>6&63|128),e.push(63&E|128)):E>=65536&&E<=1114111?(e.push(E>>18|240),e.push(E>>12&63|128),e.push(E>>6&63|128),e.push(63&E|128)):e.push(239,191,189)}return new Uint8Array(e).buffer}},3358:Ue=>{"use strict";var e,q="object"==typeof Reflect?Reflect:null,m=q&&"function"==typeof q.apply?q.apply:function(ae,_e,ce){return Function.prototype.apply.call(ae,_e,ce)};e=q&&"function"==typeof q.ownKeys?q.ownKeys:Object.getOwnPropertySymbols?function(ae){return Object.getOwnPropertyNames(ae).concat(Object.getOwnPropertySymbols(ae))}:function(ae){return Object.getOwnPropertyNames(ae)};var _=Number.isNaN||function(ae){return ae!=ae};function E(){E.init.call(this)}Ue.exports=E,Ue.exports.once=function W(ie,ae){return new Promise(function(_e,ce){function ye($){ie.removeListener(ae,ue),ce($)}function ue(){"function"==typeof ie.removeListener&&ie.removeListener("error",ye),_e([].slice.call(arguments))}Q(ie,ae,ue,{once:!0}),"error"!==ae&&function Z(ie,ae,_e){"function"==typeof ie.on&&Q(ie,"error",ae,_e)}(ie,ye,{once:!0})})},E.EventEmitter=E,E.prototype._events=void 0,E.prototype._eventsCount=0,E.prototype._maxListeners=void 0;var s=10;function D(ie){if("function"!=typeof ie)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ie)}function u(ie){return void 0===ie._maxListeners?E.defaultMaxListeners:ie._maxListeners}function k(ie,ae,_e,ce){var ye,ue,$;if(D(_e),void 0===(ue=ie._events)?(ue=ie._events=Object.create(null),ie._eventsCount=0):(void 0!==ue.newListener&&(ie.emit("newListener",ae,_e.listener?_e.listener:_e),ue=ie._events),$=ue[ae]),void 0===$)$=ue[ae]=_e,++ie._eventsCount;else if("function"==typeof $?$=ue[ae]=ce?[_e,$]:[$,_e]:ce?$.unshift(_e):$.push(_e),(ye=u(ie))>0&&$.length>ye&&!$.warned){$.warned=!0;var he=new Error("Possible EventEmitter memory leak detected. "+$.length+" "+String(ae)+" listeners added. Use emitter.setMaxListeners() to increase limit");he.name="MaxListenersExceededWarning",he.emitter=ie,he.type=ae,he.count=$.length,function t(ie){console&&console.warn&&console.warn(ie)}(he)}return ie}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(ie,ae,_e){var ce={fired:!1,wrapFn:void 0,target:ie,type:ae,listener:_e},ye=p.bind(ce);return ye.listener=_e,ce.wrapFn=ye,ye}function A(ie,ae,_e){var ce=ie._events;if(void 0===ce)return[];var ye=ce[ae];return void 0===ye?[]:"function"==typeof ye?_e?[ye.listener||ye]:[ye]:_e?function I(ie){for(var ae=new Array(ie.length),_e=0;_e0&&($=_e[0]),$ instanceof Error)throw $;var he=new Error("Unhandled error."+($?" ("+$.message+")":""));throw he.context=$,he}var w=ue[ae];if(void 0===w)return!1;if("function"==typeof w)m(w,this,_e);else{var n=w.length,o=M(w,n);for(ce=0;ce=0;$--)if(ce[$]===_e||ce[$].listener===_e){he=ce[$].listener,ue=$;break}if(ue<0)return this;0===ue?ce.shift():function z(ie,ae){for(;ae+1=0;ye--)this.removeListener(ae,_e[ye]);return this},E.prototype.listeners=function(ae){return A(this,ae,!0)},E.prototype.rawListeners=function(ae){return A(this,ae,!1)},E.listenerCount=function(ie,ae){return"function"==typeof ie.listenerCount?ie.listenerCount(ae):P.call(ie,ae)},E.prototype.listenerCount=P,E.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},153:(Ue,q,m)=>{var e=m(9708).Buffer,t=m(2617);Ue.exports=function _(E,s,D,u){if(e.isBuffer(E)||(E=e.from(E,"binary")),s&&(e.isBuffer(s)||(s=e.from(s,"binary")),8!==s.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var k=D/8,p=e.alloc(k),S=e.alloc(u||0),A=e.alloc(0);k>0||u>0;){var P=new t;P.update(A),P.update(E),s&&P.update(s),A=P.digest();var M=0;if(k>0){var z=p.length-k;M=Math.min(k,A.length),A.copy(p,z,0,M),k-=M}if(M0){var I=S.length-u,W=Math.min(u,A.length-M);A.copy(S,I,M,M+W),u-=W}}return A.fill(0),{key:p,iv:S}}},3817:(Ue,q,m)=>{"use strict";var e=m(9708).Buffer,t=m(9697).Transform;function s(D){t.call(this),this._block=e.allocUnsafe(D),this._blockSize=D,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}m(5035)(s,t),s.prototype._transform=function(D,u,k){var p=null;try{this.update(D,u)}catch(S){p=S}k(p)},s.prototype._flush=function(D){var u=null;try{this.push(this.digest())}catch(k){u=k}D(u)},s.prototype.update=function(D,u){if(function E(D,u){if(!e.isBuffer(D)&&"string"!=typeof D)throw new TypeError(u+" must be a string or a buffer")}(D,"Data"),this._finalized)throw new Error("Digest already called");e.isBuffer(D)||(D=e.from(D,u));for(var k=this._block,p=0;this._blockOffset+D.length-p>=this._blockSize;){for(var S=this._blockOffset;S0;++A)this._length[A]+=P,(P=this._length[A]/4294967296|0)>0&&(this._length[A]-=4294967296*P);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(D){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var u=this._digest();void 0!==D&&(u=u.toString(D)),this._block.fill(0),this._blockOffset=0;for(var k=0;k<4;++k)this._length[k]=0;return u},s.prototype._digest=function(){throw new Error("_digest is not implemented")},Ue.exports=s},9281:(Ue,q,m)=>{var e=q;e.utils=m(2764),e.common=m(622),e.sha=m(4131),e.ripemd=m(7968),e.hmac=m(7063),e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160},622:(Ue,q,m)=>{"use strict";var e=m(2764),t=m(3999);function _(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}q.BlockHash=_,_.prototype.update=function(s,D){if(s=e.toArray(s,D),this.pending?this.pending=this.pending.concat(s):this.pending=s,this.pendingTotal+=s.length,this.pending.length>=this._delta8){var u=(s=this.pending).length%this._delta8;this.pending=s.slice(s.length-u,s.length),0===this.pending.length&&(this.pending=null),s=e.join32(s,0,s.length-u,this.endian);for(var k=0;k>>24&255,k[p++]=s>>>16&255,k[p++]=s>>>8&255,k[p++]=255&s}else for(k[p++]=255&s,k[p++]=s>>>8&255,k[p++]=s>>>16&255,k[p++]=s>>>24&255,k[p++]=0,k[p++]=0,k[p++]=0,k[p++]=0,S=8;S{"use strict";var e=m(2764),t=m(3999);function _(E,s,D){if(!(this instanceof _))return new _(E,s,D);this.Hash=E,this.blockSize=E.blockSize/8,this.outSize=E.outSize/8,this.inner=null,this.outer=null,this._init(e.toArray(s,D))}Ue.exports=_,_.prototype._init=function(s){s.length>this.blockSize&&(s=(new this.Hash).update(s).digest()),t(s.length<=this.blockSize);for(var D=s.length;D{"use strict";var e=m(2764),t=m(622),_=e.rotl32,E=e.sum32,s=e.sum32_3,D=e.sum32_4,u=t.BlockHash;function k(){if(!(this instanceof k))return new k;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function p(W,Z,Q,ie){return W<=15?Z^Q^ie:W<=31?Z&Q|~Z&ie:W<=47?(Z|~Q)^ie:W<=63?Z&ie|Q&~ie:Z^(Q|~ie)}function A(W){return W<=15?1352829926:W<=31?1548603684:W<=47?1836072691:W<=63?2053994217:0}e.inherits(k,u),q.ripemd160=k,k.blockSize=512,k.outSize=160,k.hmacStrength=192,k.padLength=64,k.prototype._update=function(Z,Q){for(var ie=this.h[0],ae=this.h[1],_e=this.h[2],ce=this.h[3],ye=this.h[4],ue=ie,$=ae,he=_e,w=ce,n=ye,o=0;o<80;o++){var h=E(_(D(ie,p(o,ae,_e,ce),Z[P[o]+Q],(W=o)<=15?0:W<=31?1518500249:W<=47?1859775393:W<=63?2400959708:2840853838),z[o]),ye);ie=ye,ye=ce,ce=_(_e,10),_e=ae,ae=h,h=E(_(D(ue,p(79-o,$,he,w),Z[M[o]+Q],A(o)),I[o]),n),ue=n,n=w,w=_(he,10),he=$,$=h}var W;h=s(this.h[1],_e,w),this.h[1]=s(this.h[2],ce,n),this.h[2]=s(this.h[3],ye,ue),this.h[3]=s(this.h[4],ie,$),this.h[4]=s(this.h[0],ae,he),this.h[0]=h},k.prototype._digest=function(Z){return"hex"===Z?e.toHex32(this.h,"little"):e.split32(this.h,"little")};var P=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],M=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],z=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],I=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},4131:(Ue,q,m)=>{"use strict";q.sha1=m(4655),q.sha224=m(9912),q.sha256=m(8769),q.sha384=m(5215),q.sha512=m(4664)},4655:(Ue,q,m)=>{"use strict";var e=m(2764),t=m(622),_=m(5590),E=e.rotl32,s=e.sum32,D=e.sum32_5,u=_.ft_1,k=t.BlockHash,p=[1518500249,1859775393,2400959708,3395469782];function S(){if(!(this instanceof S))return new S;k.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}e.inherits(S,k),Ue.exports=S,S.blockSize=512,S.outSize=160,S.hmacStrength=80,S.padLength=64,S.prototype._update=function(P,M){for(var z=this.W,I=0;I<16;I++)z[I]=P[M+I];for(;I{"use strict";var e=m(2764),t=m(8769);function _(){if(!(this instanceof _))return new _;t.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}e.inherits(_,t),Ue.exports=_,_.blockSize=512,_.outSize=224,_.hmacStrength=192,_.padLength=64,_.prototype._digest=function(s){return"hex"===s?e.toHex32(this.h.slice(0,7),"big"):e.split32(this.h.slice(0,7),"big")}},8769:(Ue,q,m)=>{"use strict";var e=m(2764),t=m(622),_=m(5590),E=m(3999),s=e.sum32,D=e.sum32_4,u=e.sum32_5,k=_.ch32,p=_.maj32,S=_.s0_256,A=_.s1_256,P=_.g0_256,M=_.g1_256,z=t.BlockHash,I=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function W(){if(!(this instanceof W))return new W;z.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=I,this.W=new Array(64)}e.inherits(W,z),Ue.exports=W,W.blockSize=512,W.outSize=256,W.hmacStrength=192,W.padLength=64,W.prototype._update=function(Q,ie){for(var ae=this.W,_e=0;_e<16;_e++)ae[_e]=Q[ie+_e];for(;_e{"use strict";var e=m(2764),t=m(4664);function _(){if(!(this instanceof _))return new _;t.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}e.inherits(_,t),Ue.exports=_,_.blockSize=1024,_.outSize=384,_.hmacStrength=192,_.padLength=128,_.prototype._digest=function(s){return"hex"===s?e.toHex32(this.h.slice(0,12),"big"):e.split32(this.h.slice(0,12),"big")}},4664:(Ue,q,m)=>{"use strict";var e=m(2764),t=m(622),_=m(3999),E=e.rotr64_hi,s=e.rotr64_lo,D=e.shr64_hi,u=e.shr64_lo,k=e.sum64,p=e.sum64_hi,S=e.sum64_lo,A=e.sum64_4_hi,P=e.sum64_4_lo,M=e.sum64_5_hi,z=e.sum64_5_lo,I=t.BlockHash,W=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Z(){if(!(this instanceof Z))return new Z;I.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=W,this.W=new Array(160)}function Q(h,d,y,L,B){var v=h&y^~h&B;return v<0&&(v+=4294967296),v}function ie(h,d,y,L,B,v){var a=d&L^~d&v;return a<0&&(a+=4294967296),a}function ae(h,d,y,L,B){var v=h&y^h&B^y&B;return v<0&&(v+=4294967296),v}function _e(h,d,y,L,B,v){var a=d&L^d&v^L&v;return a<0&&(a+=4294967296),a}function ce(h,d){var v=E(h,d,28)^E(d,h,2)^E(d,h,7);return v<0&&(v+=4294967296),v}function ye(h,d){var v=s(h,d,28)^s(d,h,2)^s(d,h,7);return v<0&&(v+=4294967296),v}function ue(h,d){var v=E(h,d,14)^E(h,d,18)^E(d,h,9);return v<0&&(v+=4294967296),v}function $(h,d){var v=s(h,d,14)^s(h,d,18)^s(d,h,9);return v<0&&(v+=4294967296),v}function he(h,d){var v=E(h,d,1)^E(h,d,8)^D(h,d,7);return v<0&&(v+=4294967296),v}function w(h,d){var v=s(h,d,1)^s(h,d,8)^u(h,d,7);return v<0&&(v+=4294967296),v}function n(h,d){var v=E(h,d,19)^E(d,h,29)^D(h,d,6);return v<0&&(v+=4294967296),v}function o(h,d){var v=s(h,d,19)^s(d,h,29)^u(h,d,6);return v<0&&(v+=4294967296),v}e.inherits(Z,I),Ue.exports=Z,Z.blockSize=1024,Z.outSize=512,Z.hmacStrength=192,Z.padLength=128,Z.prototype._prepareBlock=function(d,y){for(var L=this.W,B=0;B<32;B++)L[B]=d[y+B];for(;B{"use strict";var t=m(2764).rotr32;function E(A,P,M){return A&P^~A&M}function s(A,P,M){return A&P^A&M^P&M}function D(A,P,M){return A^P^M}q.ft_1=function _(A,P,M,z){return 0===A?E(P,M,z):1===A||3===A?D(P,M,z):2===A?s(P,M,z):void 0},q.ch32=E,q.maj32=s,q.p32=D,q.s0_256=function u(A){return t(A,2)^t(A,13)^t(A,22)},q.s1_256=function k(A){return t(A,6)^t(A,11)^t(A,25)},q.g0_256=function p(A){return t(A,7)^t(A,18)^A>>>3},q.g1_256=function S(A){return t(A,17)^t(A,19)^A>>>10}},2764:(Ue,q,m)=>{"use strict";var e=m(3999),t=m(5035);function _(o,h){return!(55296!=(64512&o.charCodeAt(h))||h<0||h+1>=o.length)&&56320==(64512&o.charCodeAt(h+1))}function D(o){return(o>>>24|o>>>8&65280|o<<8&16711680|(255&o)<<24)>>>0}function k(o){return 1===o.length?"0"+o:o}function p(o){return 7===o.length?"0"+o:6===o.length?"00"+o:5===o.length?"000"+o:4===o.length?"0000"+o:3===o.length?"00000"+o:2===o.length?"000000"+o:1===o.length?"0000000"+o:o}q.inherits=t,q.toArray=function E(o,h){if(Array.isArray(o))return o.slice();if(!o)return[];var d=[];if("string"==typeof o)if(h){if("hex"===h)for((o=o.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(o="0"+o),L=0;L>6|192,d[y++]=63&B|128):_(o,L)?(B=65536+((1023&B)<<10)+(1023&o.charCodeAt(++L)),d[y++]=B>>18|240,d[y++]=B>>12&63|128,d[y++]=B>>6&63|128,d[y++]=63&B|128):(d[y++]=B>>12|224,d[y++]=B>>6&63|128,d[y++]=63&B|128)}else for(L=0;L>>0}return B},q.split32=function A(o,h){for(var d=new Array(4*o.length),y=0,L=0;y>>24,d[L+1]=B>>>16&255,d[L+2]=B>>>8&255,d[L+3]=255&B):(d[L+3]=B>>>24,d[L+2]=B>>>16&255,d[L+1]=B>>>8&255,d[L]=255&B)}return d},q.rotr32=function P(o,h){return o>>>h|o<<32-h},q.rotl32=function M(o,h){return o<>>32-h},q.sum32=function z(o,h){return o+h>>>0},q.sum32_3=function I(o,h,d){return o+h+d>>>0},q.sum32_4=function W(o,h,d,y){return o+h+d+y>>>0},q.sum32_5=function Z(o,h,d,y,L){return o+h+d+y+L>>>0},q.sum64=function Q(o,h,d,y){var L=o[h],v=y+o[h+1]>>>0,a=(v>>0,o[h+1]=v},q.sum64_hi=function ie(o,h,d,y){return(h+y>>>0>>0},q.sum64_lo=function ae(o,h,d,y){return h+y>>>0},q.sum64_4_hi=function _e(o,h,d,y,L,B,v,a){var C=0,N=h;return C+=(N=N+y>>>0)>>0)>>0)>>0},q.sum64_4_lo=function ce(o,h,d,y,L,B,v,a){return h+y+B+a>>>0},q.sum64_5_hi=function ye(o,h,d,y,L,B,v,a,C,N){var F=0,X=h;return F+=(X=X+y>>>0)>>0)>>0)>>0)>>0},q.sum64_5_lo=function ue(o,h,d,y,L,B,v,a,C,N){return h+y+B+a+N>>>0},q.rotr64_hi=function $(o,h,d){return(h<<32-d|o>>>d)>>>0},q.rotr64_lo=function he(o,h,d){return(o<<32-d|h>>>d)>>>0},q.shr64_hi=function w(o,h,d){return o>>>d},q.shr64_lo=function n(o,h,d){return(o<<32-d|h>>>d)>>>0}},3925:(Ue,q,m)=>{"use strict";var e=m(9281),t=m(4985),_=m(3999);function E(s){if(!(this instanceof E))return new E(s);this.hash=s.hash,this.predResist=!!s.predResist,this.outLen=this.hash.outSize,this.minEntropy=s.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var D=t.toArray(s.entropy,s.entropyEnc||"hex"),u=t.toArray(s.nonce,s.nonceEnc||"hex"),k=t.toArray(s.pers,s.persEnc||"hex");_(D.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(D,u,k)}Ue.exports=E,E.prototype._init=function(D,u,k){var p=D.concat(u).concat(k);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var S=0;S=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(D.concat(k||[])),this._reseed=1},E.prototype.generate=function(D,u,k,p){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof u&&(p=k,k=u,u=null),k&&(k=t.toArray(k,p||"hex"),this._update(k));for(var S=[];S.length{q.read=function(m,e,t,_,E){var s,D,u=8*E-_-1,k=(1<>1,S=-7,A=t?E-1:0,P=t?-1:1,M=m[e+A];for(A+=P,s=M&(1<<-S)-1,M>>=-S,S+=u;S>0;s=256*s+m[e+A],A+=P,S-=8);for(D=s&(1<<-S)-1,s>>=-S,S+=_;S>0;D=256*D+m[e+A],A+=P,S-=8);if(0===s)s=1-p;else{if(s===k)return D?NaN:1/0*(M?-1:1);D+=Math.pow(2,_),s-=p}return(M?-1:1)*D*Math.pow(2,s-_)},q.write=function(m,e,t,_,E,s){var D,u,k,p=8*s-E-1,S=(1<>1,P=23===E?Math.pow(2,-24)-Math.pow(2,-77):0,M=_?0:s-1,z=_?1:-1,I=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,D=S):(D=Math.floor(Math.log(e)/Math.LN2),e*(k=Math.pow(2,-D))<1&&(D--,k*=2),(e+=D+A>=1?P/k:P*Math.pow(2,1-A))*k>=2&&(D++,k/=2),D+A>=S?(u=0,D=S):D+A>=1?(u=(e*k-1)*Math.pow(2,E),D+=A):(u=e*Math.pow(2,A-1)*Math.pow(2,E),D=0));E>=8;m[t+M]=255&u,M+=z,u/=256,E-=8);for(D=D<0;m[t+M]=255&D,M+=z,D/=256,p-=8);m[t+M-z]|=128*I}},5035:Ue=>{"function"==typeof Object.create?Ue.exports=function(m,e){e&&(m.super_=e,m.prototype=Object.create(e.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}))}:Ue.exports=function(m,e){if(e){m.super_=e;var t=function(){};t.prototype=e.prototype,m.prototype=new t,m.prototype.constructor=m}}},3858:(Ue,q,m)=>{"use strict";var e=m(9848);function t(_){return!0===e(_)&&"[object Object]"===Object.prototype.toString.call(_)}Ue.exports=function(E){var s,D;return!(!1===t(E)||(s=E.constructor,"function"!=typeof s)||(D=s.prototype,!1===t(D))||!1===D.hasOwnProperty("isPrototypeOf"))}},9848:Ue=>{"use strict";Ue.exports=function(m){return null!=m&&"object"==typeof m&&!1===Array.isArray(m)}},8220:Ue=>{var q=Object.prototype.toString;function m(p){return"function"==typeof p.constructor?p.constructor.name:null}Ue.exports=function(S){if(void 0===S)return"undefined";if(null===S)return"null";var A=typeof S;if("boolean"===A)return"boolean";if("string"===A)return"string";if("number"===A)return"number";if("symbol"===A)return"symbol";if("function"===A)return function s(p,S){return"GeneratorFunction"===m(p)}(S)?"generatorfunction":"function";if(function e(p){return Array.isArray?Array.isArray(p):p instanceof Array}(S))return"array";if(function k(p){return!(!p.constructor||"function"!=typeof p.constructor.isBuffer)&&p.constructor.isBuffer(p)}(S))return"buffer";if(function u(p){try{if("number"==typeof p.length&&"function"==typeof p.callee)return!0}catch(S){if(-1!==S.message.indexOf("callee"))return!0}return!1}(S))return"arguments";if(function _(p){return p instanceof Date||"function"==typeof p.toDateString&&"function"==typeof p.getDate&&"function"==typeof p.setDate}(S))return"date";if(function t(p){return p instanceof Error||"string"==typeof p.message&&p.constructor&&"number"==typeof p.constructor.stackTraceLimit}(S))return"error";if(function E(p){return p instanceof RegExp||"string"==typeof p.flags&&"boolean"==typeof p.ignoreCase&&"boolean"==typeof p.multiline&&"boolean"==typeof p.global}(S))return"regexp";switch(m(S)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function D(p){return"function"==typeof p.throw&&"function"==typeof p.return&&"function"==typeof p.next}(S))return"generator";switch(A=q.call(S)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return A.slice(8,-1).toLowerCase().replace(/\s/g,"")}},2617:(Ue,q,m)=>{"use strict";var e=m(5035),t=m(3817),_=m(9708).Buffer,E=new Array(16);function s(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function D(A,P){return A<>>32-P}function u(A,P,M,z,I,W,Z){return D(A+(P&M|~P&z)+I+W|0,Z)+P|0}function k(A,P,M,z,I,W,Z){return D(A+(P&z|M&~z)+I+W|0,Z)+P|0}function p(A,P,M,z,I,W,Z){return D(A+(P^M^z)+I+W|0,Z)+P|0}function S(A,P,M,z,I,W,Z){return D(A+(M^(P|~z))+I+W|0,Z)+P|0}e(s,t),s.prototype._update=function(){for(var A=E,P=0;P<16;++P)A[P]=this._block.readInt32LE(4*P);var M=this._a,z=this._b,I=this._c,W=this._d;M=u(M,z,I,W,A[0],3614090360,7),W=u(W,M,z,I,A[1],3905402710,12),I=u(I,W,M,z,A[2],606105819,17),z=u(z,I,W,M,A[3],3250441966,22),M=u(M,z,I,W,A[4],4118548399,7),W=u(W,M,z,I,A[5],1200080426,12),I=u(I,W,M,z,A[6],2821735955,17),z=u(z,I,W,M,A[7],4249261313,22),M=u(M,z,I,W,A[8],1770035416,7),W=u(W,M,z,I,A[9],2336552879,12),I=u(I,W,M,z,A[10],4294925233,17),z=u(z,I,W,M,A[11],2304563134,22),M=u(M,z,I,W,A[12],1804603682,7),W=u(W,M,z,I,A[13],4254626195,12),I=u(I,W,M,z,A[14],2792965006,17),M=k(M,z=u(z,I,W,M,A[15],1236535329,22),I,W,A[1],4129170786,5),W=k(W,M,z,I,A[6],3225465664,9),I=k(I,W,M,z,A[11],643717713,14),z=k(z,I,W,M,A[0],3921069994,20),M=k(M,z,I,W,A[5],3593408605,5),W=k(W,M,z,I,A[10],38016083,9),I=k(I,W,M,z,A[15],3634488961,14),z=k(z,I,W,M,A[4],3889429448,20),M=k(M,z,I,W,A[9],568446438,5),W=k(W,M,z,I,A[14],3275163606,9),I=k(I,W,M,z,A[3],4107603335,14),z=k(z,I,W,M,A[8],1163531501,20),M=k(M,z,I,W,A[13],2850285829,5),W=k(W,M,z,I,A[2],4243563512,9),I=k(I,W,M,z,A[7],1735328473,14),M=p(M,z=k(z,I,W,M,A[12],2368359562,20),I,W,A[5],4294588738,4),W=p(W,M,z,I,A[8],2272392833,11),I=p(I,W,M,z,A[11],1839030562,16),z=p(z,I,W,M,A[14],4259657740,23),M=p(M,z,I,W,A[1],2763975236,4),W=p(W,M,z,I,A[4],1272893353,11),I=p(I,W,M,z,A[7],4139469664,16),z=p(z,I,W,M,A[10],3200236656,23),M=p(M,z,I,W,A[13],681279174,4),W=p(W,M,z,I,A[0],3936430074,11),I=p(I,W,M,z,A[3],3572445317,16),z=p(z,I,W,M,A[6],76029189,23),M=p(M,z,I,W,A[9],3654602809,4),W=p(W,M,z,I,A[12],3873151461,11),I=p(I,W,M,z,A[15],530742520,16),M=S(M,z=p(z,I,W,M,A[2],3299628645,23),I,W,A[0],4096336452,6),W=S(W,M,z,I,A[7],1126891415,10),I=S(I,W,M,z,A[14],2878612391,15),z=S(z,I,W,M,A[5],4237533241,21),M=S(M,z,I,W,A[12],1700485571,6),W=S(W,M,z,I,A[3],2399980690,10),I=S(I,W,M,z,A[10],4293915773,15),z=S(z,I,W,M,A[1],2240044497,21),M=S(M,z,I,W,A[8],1873313359,6),W=S(W,M,z,I,A[15],4264355552,10),I=S(I,W,M,z,A[6],2734768916,15),z=S(z,I,W,M,A[13],1309151649,21),M=S(M,z,I,W,A[4],4149444226,6),W=S(W,M,z,I,A[11],3174756917,10),I=S(I,W,M,z,A[2],718787259,15),z=S(z,I,W,M,A[9],3951481745,21),this._a=this._a+M|0,this._b=this._b+z|0,this._c=this._c+I|0,this._d=this._d+W|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var A=_.allocUnsafe(16);return A.writeInt32LE(this._a,0),A.writeInt32LE(this._b,4),A.writeInt32LE(this._c,8),A.writeInt32LE(this._d,12),A},Ue.exports=s},7789:(Ue,q,m)=>{var e=m(5369),t=m(340);function _(E){this.rand=E||new t.Rand}Ue.exports=_,_.create=function(s){return new _(s)},_.prototype._randbelow=function(s){var D=s.bitLength(),u=Math.ceil(D/8);do{var k=new e(this.rand.generate(u))}while(k.cmp(s)>=0);return k},_.prototype._randrange=function(s,D){var u=D.sub(s);return s.add(this._randbelow(u))},_.prototype.test=function(s,D,u){var k=s.bitLength(),p=e.mont(s),S=new e(1).toRed(p);D||(D=Math.max(1,k/48|0));for(var A=s.subn(1),P=0;!A.testn(P);P++);for(var M=s.shrn(P),z=A.toRed(p);D>0;D--){var W=this._randrange(new e(2),A);u&&u(W);var Z=W.toRed(p).redPow(M);if(0!==Z.cmp(S)&&0!==Z.cmp(z)){for(var Q=1;Q0;D--){var z=this._randrange(new e(2),S),I=s.gcd(z);if(0!==I.cmpn(1))return I;var W=z.toRed(k).redPow(P);if(0!==W.cmp(p)&&0!==W.cmp(M)){for(var Z=1;Z=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},3999:Ue=>{function q(m,e){if(!m)throw new Error(e||"Assertion failed")}Ue.exports=q,q.equal=function(e,t,_){if(e!=t)throw new Error(_||"Assertion failed: "+e+" != "+t)}},4985:(Ue,q)=>{"use strict";var m=q;function t(E){return 1===E.length?"0"+E:E}function _(E){for(var s="",D=0;D>8,S=255&k;p?D.push(p,S):D.push(S)}return D},m.zero2=t,m.toHex=_,m.encode=function(s,D){return"hex"===D?_(s):s}},74:(Ue,q,m)=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});var e=m(9614);Object.keys(e).forEach(function(t){"default"!==t&&Object.defineProperty(q,t,{enumerable:!0,get:function(){return e[t]}})})},2675:(Ue,q,m)=>{"use strict";var e=m(7183);q.certificate=m(6053);var t=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});q.RSAPrivateKey=t;var _=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});q.RSAPublicKey=_;var E=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())});q.PublicKey=E;var s=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),D=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())});q.PrivateKey=D;var u=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});q.EncryptedPrivateKey=u;var k=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});q.DSAPrivateKey=k,q.DSAparam=e.define("DSAparam",function(){this.int()});var p=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(S),this.key("publicKey").optional().explicit(1).bitstr())});q.ECPrivateKey=p;var S=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});q.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},6053:(Ue,q,m)=>{"use strict";var e=m(7183),t=e.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),_=e.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),E=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),s=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(E),this.key("subjectPublicKey").bitstr())}),D=e.define("RelativeDistinguishedName",function(){this.setof(_)}),u=e.define("RDNSequence",function(){this.seqof(D)}),k=e.define("Name",function(){this.choice({rdnSequence:this.use(u)})}),p=e.define("Validity",function(){this.seq().obj(this.key("notBefore").use(t),this.key("notAfter").use(t))}),S=e.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),A=e.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(E),this.key("issuer").use(k),this.key("validity").use(p),this.key("subject").use(k),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(S).optional())}),P=e.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(A),this.key("signatureAlgorithm").use(E),this.key("signatureValue").bitstr())});Ue.exports=P},520:(Ue,q,m)=>{var e=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,t=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,_=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,E=m(153),s=m(3170),D=m(9708).Buffer;Ue.exports=function(u,k){var A,p=u.toString(),S=p.match(e);if(S){var M="aes"+S[1],z=D.from(S[2],"hex"),I=D.from(S[3].replace(/[\r\n]/g,""),"base64"),W=E(k,z.slice(0,8),parseInt(S[1],10)).key,Z=[],Q=s.createDecipheriv(M,W,z);Z.push(Q.update(I)),Z.push(Q.final()),A=D.concat(Z)}else{var P=p.match(_);A=D.from(P[2].replace(/[\r\n]/g,""),"base64")}return{tag:p.match(t)[1],data:A}}},5752:(Ue,q,m)=>{var e=m(2675),t=m(2562),_=m(520),E=m(3170),s=m(4540),D=m(9708).Buffer;function u(p){var S;"object"==typeof p&&!D.isBuffer(p)&&(S=p.passphrase,p=p.key),"string"==typeof p&&(p=D.from(p));var z,I,A=_(p,S),P=A.tag,M=A.data;switch(P){case"CERTIFICATE":I=e.certificate.decode(M,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(I||(I=e.PublicKey.decode(M,"der")),z=I.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPublicKey.decode(I.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return I.subjectPrivateKey=I.subjectPublicKey,{type:"ec",data:I};case"1.2.840.10040.4.1":return I.algorithm.params.pub_key=e.DSAparam.decode(I.subjectPublicKey.data,"der"),{type:"dsa",data:I.algorithm.params};default:throw new Error("unknown key id "+z)}case"ENCRYPTED PRIVATE KEY":M=function k(p,S){var A=p.algorithm.decrypt.kde.kdeparams.salt,P=parseInt(p.algorithm.decrypt.kde.kdeparams.iters.toString(),10),M=t[p.algorithm.decrypt.cipher.algo.join(".")],z=p.algorithm.decrypt.cipher.iv,I=p.subjectPrivateKey,W=parseInt(M.split("-")[1],10)/8,Z=s.pbkdf2Sync(S,A,P,W,"sha1"),Q=E.createDecipheriv(M,Z,z),ie=[];return ie.push(Q.update(I)),ie.push(Q.final()),D.concat(ie)}(M=e.EncryptedPrivateKey.decode(M,"der"),S);case"PRIVATE KEY":switch(z=(I=e.PrivateKey.decode(M,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPrivateKey.decode(I.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:I.algorithm.curve,privateKey:e.ECPrivateKey.decode(I.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return I.algorithm.params.priv_key=e.DSAparam.decode(I.subjectPrivateKey,"der"),{type:"dsa",params:I.algorithm.params};default:throw new Error("unknown key id "+z)}case"RSA PUBLIC KEY":return e.RSAPublicKey.decode(M,"der");case"RSA PRIVATE KEY":return e.RSAPrivateKey.decode(M,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:e.DSAPrivateKey.decode(M,"der")};case"EC PRIVATE KEY":return{curve:(M=e.ECPrivateKey.decode(M,"der")).parameters.value,privateKey:M.privateKey};default:throw new Error("unknown key type "+P)}}Ue.exports=u,u.signature=e.signature},4540:(Ue,q,m)=>{q.pbkdf2=m(8460),q.pbkdf2Sync=m(2351)},8460:(Ue,q,m)=>{var D,A,e=m(9708).Buffer,t=m(4842),_=m(6910),E=m(2351),s=m(815),u=global.crypto&&global.crypto.subtle,k={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},p=[];function P(){return A||(A=global.process&&global.process.nextTick?global.process.nextTick:global.queueMicrotask?global.queueMicrotask:global.setImmediate?global.setImmediate:global.setTimeout)}function M(I,W,Z,Q,ie){return u.importKey("raw",I,{name:"PBKDF2"},!1,["deriveBits"]).then(function(ae){return u.deriveBits({name:"PBKDF2",salt:W,iterations:Z,hash:{name:ie}},ae,Q<<3)}).then(function(ae){return e.from(ae)})}Ue.exports=function(I,W,Z,Q,ie,ae){"function"==typeof ie&&(ae=ie,ie=void 0);var _e=k[(ie=ie||"sha1").toLowerCase()];if(_e&&"function"==typeof global.Promise){if(t(Z,Q),I=s(I,_,"Password"),W=s(W,_,"Salt"),"function"!=typeof ae)throw new Error("No callback provided to pbkdf2");!function z(I,W){I.then(function(Z){P()(function(){W(null,Z)})},function(Z){P()(function(){W(Z)})})}(function S(I){if(global.process&&!global.process.browser||!u||!u.importKey||!u.deriveBits)return Promise.resolve(!1);if(void 0!==p[I])return p[I];var W=M(D=D||e.alloc(8),D,10,128,I).then(function(){return!0}).catch(function(){return!1});return p[I]=W,W}(_e).then(function(ce){return ce?M(I,W,Z,Q,_e):E(I,W,Z,Q,ie)}),ae)}else P()(function(){var ce;try{ce=E(I,W,Z,Q,ie)}catch(ye){return ae(ye)}ae(null,ce)})}},6910:Ue=>{var q;if(global.process&&global.process.browser)q="utf-8";else if(global.process&&global.process.version){q=parseInt(process.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else q="utf-8";Ue.exports=q},4842:Ue=>{var q=Math.pow(2,30)-1;Ue.exports=function(m,e){if("number"!=typeof m)throw new TypeError("Iterations not a number");if(m<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>q||e!=e)throw new TypeError("Bad key length")}},2351:(Ue,q,m)=>{var e=m(2726),t=m(5351),_=m(1001),E=m(9708).Buffer,s=m(4842),D=m(6910),u=m(815),k=E.alloc(128),p={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function S(M,z,I){var W=function A(M){function z(W){return _(M).update(W).digest()}function I(W){return(new t).update(W).digest()}return"rmd160"===M||"ripemd160"===M?I:"md5"===M?e:z}(M),Z="sha512"===M||"sha384"===M?128:64;z.length>Z?z=W(z):z.length{var e=m(9708).Buffer;Ue.exports=function(t,_,E){if(e.isBuffer(t))return t;if("string"==typeof t)return e.from(t,_);if(ArrayBuffer.isView(t))return e.from(t.buffer);throw new TypeError(E+" must be a string, a Buffer, a typed array or a DataView")}},1113:(Ue,q,m)=>{q.publicEncrypt=m(3653),q.privateDecrypt=m(9674),q.privateEncrypt=function(t,_){return q.publicEncrypt(t,_,!0)},q.publicDecrypt=function(t,_){return q.privateDecrypt(t,_,!0)}},2096:(Ue,q,m)=>{var e=m(145),t=m(9708).Buffer;function _(E){var s=t.allocUnsafe(4);return s.writeUInt32BE(E,0),s}Ue.exports=function(E,s){for(var k,D=t.alloc(0),u=0;D.length=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),X=Math.max(0,a-w.length+1);X<=F;X++){var Fe=a-X|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[X])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ke=Fe>>>13,je=0|d[2],Ve=8191&je,xe=je>>>13,Ze=0|d[3],Ie=8191&Ze,ve=Ze>>>13,et=0|d[4],ht=8191&et,Le=et>>>13,Ae=0|d[5],te=8191&Ae,pe=Ae>>>13,ee=0|d[6],H=8191&ee,j=ee>>>13,Oe=0|d[7],Re=8191&Oe,le=Oe>>>13,_t=0|d[8],it=8191&_t,Ct=_t>>>13,un=0|d[9],Bt=8191&un,Ut=un>>>13,yn=0|y[0],Xt=8191&yn,Gt=yn>>>13,In=0|y[1],rn=8191&In,tn=In>>>13,pn=0|y[2],tt=8191&pn,vt=pn>>>13,dt=0|y[3],se=8191&dt,J=dt>>>13,oe=0|y[4],De=8191&oe,Ye=oe>>>13,Dt=0|y[5],ut=8191&Dt,ze=Dt>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,zt=0|y[7],At=8191&zt,Tt=zt>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Jt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Xt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(X,Xt)|0))<<13)|0;B=((C=Math.imul(X,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Xt),a=(a=Math.imul(ke,Gt))+Math.imul(Ke,Xt)|0,C=Math.imul(Ke,Gt);var zn=(B+(v=v+Math.imul(F,rn)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(X,rn)|0))<<13)|0;B=((C=C+Math.imul(X,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(Ve,Xt),a=(a=Math.imul(Ve,Gt))+Math.imul(xe,Xt)|0,C=Math.imul(xe,Gt),v=v+Math.imul(ke,rn)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ke,rn)|0,C=C+Math.imul(Ke,tn)|0;var Tn=(B+(v=v+Math.imul(F,tt)|0)|0)+((8191&(a=(a=a+Math.imul(F,vt)|0)+Math.imul(X,tt)|0))<<13)|0;B=((C=C+Math.imul(X,vt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Xt),a=(a=Math.imul(Ie,Gt))+Math.imul(ve,Xt)|0,C=Math.imul(ve,Gt),v=v+Math.imul(Ve,rn)|0,a=(a=a+Math.imul(Ve,tn)|0)+Math.imul(xe,rn)|0,C=C+Math.imul(xe,tn)|0,v=v+Math.imul(ke,tt)|0,a=(a=a+Math.imul(ke,vt)|0)+Math.imul(Ke,tt)|0,C=C+Math.imul(Ke,vt)|0;var Yn=(B+(v=v+Math.imul(F,se)|0)|0)+((8191&(a=(a=a+Math.imul(F,J)|0)+Math.imul(X,se)|0))<<13)|0;B=((C=C+Math.imul(X,J)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ht,Xt),a=(a=Math.imul(ht,Gt))+Math.imul(Le,Xt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,rn)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ve,rn)|0,C=C+Math.imul(ve,tn)|0,v=v+Math.imul(Ve,tt)|0,a=(a=a+Math.imul(Ve,vt)|0)+Math.imul(xe,tt)|0,C=C+Math.imul(xe,vt)|0,v=v+Math.imul(ke,se)|0,a=(a=a+Math.imul(ke,J)|0)+Math.imul(Ke,se)|0,C=C+Math.imul(Ke,J)|0;var Mt=(B+(v=v+Math.imul(F,De)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ye)|0)+Math.imul(X,De)|0))<<13)|0;B=((C=C+Math.imul(X,Ye)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(te,Xt),a=(a=Math.imul(te,Gt))+Math.imul(pe,Xt)|0,C=Math.imul(pe,Gt),v=v+Math.imul(ht,rn)|0,a=(a=a+Math.imul(ht,tn)|0)+Math.imul(Le,rn)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,tt)|0,a=(a=a+Math.imul(Ie,vt)|0)+Math.imul(ve,tt)|0,C=C+Math.imul(ve,vt)|0,v=v+Math.imul(Ve,se)|0,a=(a=a+Math.imul(Ve,J)|0)+Math.imul(xe,se)|0,C=C+Math.imul(xe,J)|0,v=v+Math.imul(ke,De)|0,a=(a=a+Math.imul(ke,Ye)|0)+Math.imul(Ke,De)|0,C=C+Math.imul(Ke,Ye)|0;var Ge=(B+(v=v+Math.imul(F,ut)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(X,ut)|0))<<13)|0;B=((C=C+Math.imul(X,ze)|0)+(a>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,v=Math.imul(H,Xt),a=(a=Math.imul(H,Gt))+Math.imul(j,Xt)|0,C=Math.imul(j,Gt),v=v+Math.imul(te,rn)|0,a=(a=a+Math.imul(te,tn)|0)+Math.imul(pe,rn)|0,C=C+Math.imul(pe,tn)|0,v=v+Math.imul(ht,tt)|0,a=(a=a+Math.imul(ht,vt)|0)+Math.imul(Le,tt)|0,C=C+Math.imul(Le,vt)|0,v=v+Math.imul(Ie,se)|0,a=(a=a+Math.imul(Ie,J)|0)+Math.imul(ve,se)|0,C=C+Math.imul(ve,J)|0,v=v+Math.imul(Ve,De)|0,a=(a=a+Math.imul(Ve,Ye)|0)+Math.imul(xe,De)|0,C=C+Math.imul(xe,Ye)|0,v=v+Math.imul(ke,ut)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ke,ut)|0,C=C+Math.imul(Ke,ze)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(X,Ce)|0))<<13)|0;B=((C=C+Math.imul(X,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Xt),a=(a=Math.imul(Re,Gt))+Math.imul(le,Xt)|0,C=Math.imul(le,Gt),v=v+Math.imul(H,rn)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(j,rn)|0,C=C+Math.imul(j,tn)|0,v=v+Math.imul(te,tt)|0,a=(a=a+Math.imul(te,vt)|0)+Math.imul(pe,tt)|0,C=C+Math.imul(pe,vt)|0,v=v+Math.imul(ht,se)|0,a=(a=a+Math.imul(ht,J)|0)+Math.imul(Le,se)|0,C=C+Math.imul(Le,J)|0,v=v+Math.imul(Ie,De)|0,a=(a=a+Math.imul(Ie,Ye)|0)+Math.imul(ve,De)|0,C=C+Math.imul(ve,Ye)|0,v=v+Math.imul(Ve,ut)|0,a=(a=a+Math.imul(Ve,ze)|0)+Math.imul(xe,ut)|0,C=C+Math.imul(xe,ze)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ke,Ce)|0,C=C+Math.imul(Ke,Je)|0;var ft=(B+(v=v+Math.imul(F,At)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(X,At)|0))<<13)|0;B=((C=C+Math.imul(X,Tt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(it,Xt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Xt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,rn)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(le,rn)|0,C=C+Math.imul(le,tn)|0,v=v+Math.imul(H,tt)|0,a=(a=a+Math.imul(H,vt)|0)+Math.imul(j,tt)|0,C=C+Math.imul(j,vt)|0,v=v+Math.imul(te,se)|0,a=(a=a+Math.imul(te,J)|0)+Math.imul(pe,se)|0,C=C+Math.imul(pe,J)|0,v=v+Math.imul(ht,De)|0,a=(a=a+Math.imul(ht,Ye)|0)+Math.imul(Le,De)|0,C=C+Math.imul(Le,Ye)|0,v=v+Math.imul(Ie,ut)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ve,ut)|0,C=C+Math.imul(ve,ze)|0,v=v+Math.imul(Ve,Ce)|0,a=(a=a+Math.imul(Ve,Je)|0)+Math.imul(xe,Ce)|0,C=C+Math.imul(xe,Je)|0,v=v+Math.imul(ke,At)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ke,At)|0,C=C+Math.imul(Ke,Tt)|0;var re=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(X,He)|0))<<13)|0;B=((C=C+Math.imul(X,$e)|0)+(a>>>13)|0)+(re>>>26)|0,re&=67108863,v=Math.imul(Bt,Xt),a=(a=Math.imul(Bt,Gt))+Math.imul(Ut,Xt)|0,C=Math.imul(Ut,Gt),v=v+Math.imul(it,rn)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,rn)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,tt)|0,a=(a=a+Math.imul(Re,vt)|0)+Math.imul(le,tt)|0,C=C+Math.imul(le,vt)|0,v=v+Math.imul(H,se)|0,a=(a=a+Math.imul(H,J)|0)+Math.imul(j,se)|0,C=C+Math.imul(j,J)|0,v=v+Math.imul(te,De)|0,a=(a=a+Math.imul(te,Ye)|0)+Math.imul(pe,De)|0,C=C+Math.imul(pe,Ye)|0,v=v+Math.imul(ht,ut)|0,a=(a=a+Math.imul(ht,ze)|0)+Math.imul(Le,ut)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ve,Ce)|0,C=C+Math.imul(ve,Je)|0,v=v+Math.imul(Ve,At)|0,a=(a=a+Math.imul(Ve,Tt)|0)+Math.imul(xe,At)|0,C=C+Math.imul(xe,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ke,He)|0,C=C+Math.imul(Ke,$e)|0;var Te=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Jt)|0)+Math.imul(X,Rt)|0))<<13)|0;B=((C=C+Math.imul(X,Jt)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,v=Math.imul(Bt,rn),a=(a=Math.imul(Bt,tn))+Math.imul(Ut,rn)|0,C=Math.imul(Ut,tn),v=v+Math.imul(it,tt)|0,a=(a=a+Math.imul(it,vt)|0)+Math.imul(Ct,tt)|0,C=C+Math.imul(Ct,vt)|0,v=v+Math.imul(Re,se)|0,a=(a=a+Math.imul(Re,J)|0)+Math.imul(le,se)|0,C=C+Math.imul(le,J)|0,v=v+Math.imul(H,De)|0,a=(a=a+Math.imul(H,Ye)|0)+Math.imul(j,De)|0,C=C+Math.imul(j,Ye)|0,v=v+Math.imul(te,ut)|0,a=(a=a+Math.imul(te,ze)|0)+Math.imul(pe,ut)|0,C=C+Math.imul(pe,ze)|0,v=v+Math.imul(ht,Ce)|0,a=(a=a+Math.imul(ht,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,At)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ve,At)|0,C=C+Math.imul(ve,Tt)|0,v=v+Math.imul(Ve,He)|0,a=(a=a+Math.imul(Ve,$e)|0)+Math.imul(xe,He)|0,C=C+Math.imul(xe,$e)|0;var pt=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Jt)|0)+Math.imul(Ke,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ke,Jt)|0)+(a>>>13)|0)+(pt>>>26)|0,pt&=67108863,v=Math.imul(Bt,tt),a=(a=Math.imul(Bt,vt))+Math.imul(Ut,tt)|0,C=Math.imul(Ut,vt),v=v+Math.imul(it,se)|0,a=(a=a+Math.imul(it,J)|0)+Math.imul(Ct,se)|0,C=C+Math.imul(Ct,J)|0,v=v+Math.imul(Re,De)|0,a=(a=a+Math.imul(Re,Ye)|0)+Math.imul(le,De)|0,C=C+Math.imul(le,Ye)|0,v=v+Math.imul(H,ut)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(j,ut)|0,C=C+Math.imul(j,ze)|0,v=v+Math.imul(te,Ce)|0,a=(a=a+Math.imul(te,Je)|0)+Math.imul(pe,Ce)|0,C=C+Math.imul(pe,Je)|0,v=v+Math.imul(ht,At)|0,a=(a=a+Math.imul(ht,Tt)|0)+Math.imul(Le,At)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ve,He)|0,C=C+Math.imul(ve,$e)|0;var Lt=(B+(v=v+Math.imul(Ve,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ve,Jt)|0)+Math.imul(xe,Rt)|0))<<13)|0;B=((C=C+Math.imul(xe,Jt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Bt,se),a=(a=Math.imul(Bt,J))+Math.imul(Ut,se)|0,C=Math.imul(Ut,J),v=v+Math.imul(it,De)|0,a=(a=a+Math.imul(it,Ye)|0)+Math.imul(Ct,De)|0,C=C+Math.imul(Ct,Ye)|0,v=v+Math.imul(Re,ut)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(le,ut)|0,C=C+Math.imul(le,ze)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(j,Ce)|0,C=C+Math.imul(j,Je)|0,v=v+Math.imul(te,At)|0,a=(a=a+Math.imul(te,Tt)|0)+Math.imul(pe,At)|0,C=C+Math.imul(pe,Tt)|0,v=v+Math.imul(ht,He)|0,a=(a=a+Math.imul(ht,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Jt)|0)+Math.imul(ve,Rt)|0))<<13)|0;B=((C=C+Math.imul(ve,Jt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Bt,De),a=(a=Math.imul(Bt,Ye))+Math.imul(Ut,De)|0,C=Math.imul(Ut,Ye),v=v+Math.imul(it,ut)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,ut)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(le,Ce)|0,C=C+Math.imul(le,Je)|0,v=v+Math.imul(H,At)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(j,At)|0,C=C+Math.imul(j,Tt)|0,v=v+Math.imul(te,He)|0,a=(a=a+Math.imul(te,$e)|0)+Math.imul(pe,He)|0,C=C+Math.imul(pe,$e)|0;var Bn=(B+(v=v+Math.imul(ht,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ht,Jt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Jt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Bt,ut),a=(a=Math.imul(Bt,ze))+Math.imul(Ut,ut)|0,C=Math.imul(Ut,ze),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,At)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(le,At)|0,C=C+Math.imul(le,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(j,He)|0,C=C+Math.imul(j,$e)|0;var Wn=(B+(v=v+Math.imul(te,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(te,Jt)|0)+Math.imul(pe,Rt)|0))<<13)|0;B=((C=C+Math.imul(pe,Jt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Bt,Ce),a=(a=Math.imul(Bt,Je))+Math.imul(Ut,Ce)|0,C=Math.imul(Ut,Je),v=v+Math.imul(it,At)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,At)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(le,He)|0,C=C+Math.imul(le,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Jt)|0)+Math.imul(j,Rt)|0))<<13)|0;B=((C=C+Math.imul(j,Jt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Bt,At),a=(a=Math.imul(Bt,Tt))+Math.imul(Ut,At)|0,C=Math.imul(Ut,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Jt)|0)+Math.imul(le,Rt)|0))<<13)|0;B=((C=C+Math.imul(le,Jt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Bt,He),a=(a=Math.imul(Bt,$e))+Math.imul(Ut,He)|0,C=Math.imul(Ut,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Jt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Jt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Bt,Rt))|0)+((8191&(a=(a=Math.imul(Bt,Jt))+Math.imul(Ut,Rt)|0))<<13)|0;return B=((C=Math.imul(Ut,Jt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ge,L[6]=Be,L[7]=ft,L[8]=re,L[9]=Te,L[10]=pt,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new Q).mulp(w,n,o)}function Q(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},Q.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},Q.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var X=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(X=Math.min(X/L|0,67108863),d._ishlnsubmul(y,X,F);0!==d.negative;)X--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=X)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var X=0,Fe=1;0==(h.words[0]&Fe)&&X<26;++X,Fe<<=1);if(X>0)for(h.iushrn(X);X-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ie={k256:null,p224:null,p192:null,p25519:null};function ae(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function _e(){ae.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function ce(){ae.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ye(){ae.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ue(){ae.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function he(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ae.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},ae.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},ae.prototype.split=function(n,o){n.iushrn(this.n,0,o)},ae.prototype.imulK=function(n){return n.imul(this.k)},E(_e,ae),_e.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},_e.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ie[n])return ie[n];var o;if("k256"===n)o=new _e;else if("p224"===n)o=new ce;else if("p192"===n)o=new ye;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new ue}return ie[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),X=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new he(n)},E(he,$),he.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},he.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},he.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},he.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ue=m.nmd(Ue),this)},9674:(Ue,q,m)=>{var e=m(5752),t=m(2096),_=m(464),E=m(6807),s=m(6661),D=m(145),u=m(630),k=m(9708).Buffer;Ue.exports=function(M,z,I){var W;W=M.padding?M.padding:I?1:4;var ie,Z=e(M),Q=Z.modulus.byteLength();if(z.length>Q||new E(z).cmp(Z.modulus)>=0)throw new Error("decryption error");ie=I?u(new E(z),Z):s(z,Z);var ae=k.alloc(Q-ie.length);if(ie=k.concat([ae,ie],Q),4===W)return function p(P,M){var z=P.modulus.byteLength(),I=D("sha1").update(k.alloc(0)).digest(),W=I.length;if(0!==M[0])throw new Error("decryption error");var Z=M.slice(1,W+1),Q=M.slice(W+1),ie=_(Z,t(Q,W)),ae=_(Q,t(ie,z-W-1));if(function A(P,M){P=k.from(P),M=k.from(M);var z=0,I=P.length;P.length!==M.length&&(z++,I=Math.min(P.length,M.length));for(var W=-1;++W=M.length){Z++;break}var Q=M.slice(2,W-1);if(("0002"!==I.toString("hex")&&!z||"0001"!==I.toString("hex")&&z)&&Z++,Q.length<8&&Z++,Z)throw new Error("decryption error");return M.slice(W)}(0,ie,I);if(3===W)return ie;throw new Error("unknown padding")}},3653:(Ue,q,m)=>{var e=m(5752),t=m(1186),_=m(145),E=m(2096),s=m(464),D=m(6807),u=m(630),k=m(6661),p=m(9708).Buffer;Ue.exports=function(z,I,W){var Z;Z=z.padding?z.padding:W?1:4;var ie,Q=e(z);if(4===Z)ie=function S(M,z){var I=M.modulus.byteLength(),W=z.length,Z=_("sha1").update(p.alloc(0)).digest(),Q=Z.length,ie=2*Q;if(W>I-ie-2)throw new Error("message too long");var ae=p.alloc(I-W-ie-2),_e=I-Q-1,ce=t(Q),ye=s(p.concat([Z,ae,p.alloc(1,1),z],_e),E(ce,_e)),ue=s(ce,E(ye,Q));return new D(p.concat([p.alloc(1),ue,ye],I))}(Q,I);else if(1===Z)ie=function A(M,z,I){var Q,W=z.length,Z=M.modulus.byteLength();if(W>Z-11)throw new Error("message too long");return Q=I?p.alloc(Z-W-3,255):function P(M){for(var Q,z=p.allocUnsafe(M),I=0,W=t(2*M),Z=0;I=0)throw new Error("data too long for modulus")}return W?k(ie,Q):u(ie,Q)}},630:(Ue,q,m)=>{var e=m(6807),t=m(9708).Buffer;Ue.exports=function _(E,s){return t.from(E.toRed(e.mont(s.modulus)).redPow(new e(s.publicExponent)).fromRed().toArray())}},464:Ue=>{Ue.exports=function(m,e){for(var t=m.length,_=-1;++_{const e=m(5704),t=m(9102),_=m(9326),E=m(226);function s(D,u,k,p,S){const A=[].slice.call(arguments,1),P=A.length,M="function"==typeof A[P-1];if(!M&&!e())throw new Error("Callback required as last argument");if(!M){if(P<1)throw new Error("Too few arguments provided");return 1===P?(k=u,u=p=void 0):2===P&&!u.getContext&&(p=k,k=u,u=void 0),new Promise(function(z,I){try{const W=t.create(k,p);z(D(W,u,p))}catch(W){I(W)}})}if(P<2)throw new Error("Too few arguments provided");2===P?(S=k,k=u,u=p=void 0):3===P&&(u.getContext&&typeof S>"u"?(S=p,p=void 0):(S=p,p=k,k=u,u=void 0));try{const z=t.create(k,p);S(null,D(z,u,p))}catch(z){S(z)}}q.create=t.create,q.toCanvas=s.bind(null,_.render),q.toDataURL=s.bind(null,_.renderToDataURL),q.toString=s.bind(null,function(D,u,k){return E.render(D,k)})},5704:Ue=>{Ue.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},8298:(Ue,q,m)=>{const e=m(2230).getSymbolSize;q.getRowColCoords=function(_){if(1===_)return[];const E=Math.floor(_/7)+2,s=e(_),D=145===s?26:2*Math.ceil((s-13)/(2*E-2)),u=[s-7];for(let k=1;k{const e=m(4059),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function _(E){this.mode=e.ALPHANUMERIC,this.data=E}_.getBitsLength=function(s){return 11*Math.floor(s/2)+s%2*6},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(s){let D;for(D=0;D+2<=this.data.length;D+=2){let u=45*t.indexOf(this.data[D]);u+=t.indexOf(this.data[D+1]),s.put(u,11)}this.data.length%2&&s.put(t.indexOf(this.data[D]),6)},Ue.exports=_},7701:Ue=>{function q(){this.buffer=[],this.length=0}q.prototype={get:function(m){const e=Math.floor(m/8);return 1==(this.buffer[e]>>>7-m%8&1)},put:function(m,e){for(let t=0;t>>e-t-1&1))},getLengthInBits:function(){return this.length},putBit:function(m){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),m&&(this.buffer[e]|=128>>>this.length%8),this.length++}},Ue.exports=q},9088:Ue=>{function q(m){if(!m||m<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=m,this.data=new Uint8Array(m*m),this.reservedBit=new Uint8Array(m*m)}q.prototype.set=function(m,e,t,_){const E=m*this.size+e;this.data[E]=t,_&&(this.reservedBit[E]=!0)},q.prototype.get=function(m,e){return this.data[m*this.size+e]},q.prototype.xor=function(m,e,t){this.data[m*this.size+e]^=t},q.prototype.isReserved=function(m,e){return this.reservedBit[m*this.size+e]},Ue.exports=q},6323:(Ue,q,m)=>{const e=m(6236),t=m(4059);function _(E){this.mode=t.BYTE,"string"==typeof E&&(E=e(E)),this.data=new Uint8Array(E)}_.getBitsLength=function(s){return 8*s},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(E){for(let s=0,D=this.data.length;s{const e=m(5448),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],_=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];q.getBlocksCount=function(s,D){switch(D){case e.L:return t[4*(s-1)+0];case e.M:return t[4*(s-1)+1];case e.Q:return t[4*(s-1)+2];case e.H:return t[4*(s-1)+3];default:return}},q.getTotalCodewordsCount=function(s,D){switch(D){case e.L:return _[4*(s-1)+0];case e.M:return _[4*(s-1)+1];case e.Q:return _[4*(s-1)+2];case e.H:return _[4*(s-1)+3];default:return}}},5448:(Ue,q)=>{q.L={bit:1},q.M={bit:0},q.Q={bit:3},q.H={bit:2},q.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4},q.from=function(t,_){if(q.isValid(t))return t;try{return function m(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return q.L;case"m":case"medium":return q.M;case"q":case"quartile":return q.Q;case"h":case"high":return q.H;default:throw new Error("Unknown EC Level: "+e)}}(t)}catch{return _}}},2903:(Ue,q,m)=>{const e=m(2230).getSymbolSize;q.getPositions=function(E){const s=e(E);return[[0,0],[s-7,0],[0,s-7]]}},6327:(Ue,q,m)=>{const e=m(2230),E=e.getBCHDigit(1335);q.getEncodedBits=function(D,u){const k=D.bit<<3|u;let p=k<<10;for(;e.getBCHDigit(p)-E>=0;)p^=1335<{const m=new Uint8Array(512),e=new Uint8Array(256);(function(){let _=1;for(let E=0;E<255;E++)m[E]=_,e[_]=E,_<<=1,256&_&&(_^=285);for(let E=255;E<512;E++)m[E]=m[E-255]})(),q.log=function(_){if(_<1)throw new Error("log("+_+")");return e[_]},q.exp=function(_){return m[_]},q.mul=function(_,E){return 0===_||0===E?0:m[e[_]+e[E]]}},5134:(Ue,q,m)=>{const e=m(4059),t=m(2230);function _(E){this.mode=e.KANJI,this.data=E}_.getBitsLength=function(s){return 13*s},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(E){let s;for(s=0;s=33088&&D<=40956)D-=33088;else{if(!(D>=57408&&D<=60351))throw new Error("Invalid SJIS character: "+this.data[s]+"\nMake sure your charset is UTF-8");D-=49472}D=192*(D>>>8&255)+(255&D),E.put(D,13)}},Ue.exports=_},6485:(Ue,q)=>{q.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const m_N1=3,m_N2=3,m_N3=40,m_N4=10;function e(t,_,E){switch(t){case q.Patterns.PATTERN000:return(_+E)%2==0;case q.Patterns.PATTERN001:return _%2==0;case q.Patterns.PATTERN010:return E%3==0;case q.Patterns.PATTERN011:return(_+E)%3==0;case q.Patterns.PATTERN100:return(Math.floor(_/2)+Math.floor(E/3))%2==0;case q.Patterns.PATTERN101:return _*E%2+_*E%3==0;case q.Patterns.PATTERN110:return(_*E%2+_*E%3)%2==0;case q.Patterns.PATTERN111:return(_*E%3+(_+E)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}q.isValid=function(_){return null!=_&&""!==_&&!isNaN(_)&&_>=0&&_<=7},q.from=function(_){return q.isValid(_)?parseInt(_,10):void 0},q.getPenaltyN1=function(_){const E=_.size;let s=0,D=0,u=0,k=null,p=null;for(let S=0;S=5&&(s+=m_N1+(D-5)),k=P,D=1),P=_.get(A,S),P===p?u++:(u>=5&&(s+=m_N1+(u-5)),p=P,u=1)}D>=5&&(s+=m_N1+(D-5)),u>=5&&(s+=m_N1+(u-5))}return s},q.getPenaltyN2=function(_){const E=_.size;let s=0;for(let D=0;D=10&&(1488===D||93===D)&&s++,u=u<<1&2047|_.get(p,k),p>=10&&(1488===u||93===u)&&s++}return s*m_N3},q.getPenaltyN4=function(_){let E=0;const s=_.data.length;for(let u=0;u{const e=m(6859),t=m(7526);q.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},q.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},q.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},q.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},q.MIXED={bit:-1},q.getCharCountIndicator=function(s,D){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!e.isValid(D))throw new Error("Invalid version: "+D);return D>=1&&D<10?s.ccBits[0]:D<27?s.ccBits[1]:s.ccBits[2]},q.getBestModeForData=function(s){return t.testNumeric(s)?q.NUMERIC:t.testAlphanumeric(s)?q.ALPHANUMERIC:t.testKanji(s)?q.KANJI:q.BYTE},q.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},q.isValid=function(s){return s&&s.bit&&s.ccBits},q.from=function(s,D){if(q.isValid(s))return s;try{return function _(E){if("string"!=typeof E)throw new Error("Param is not a string");switch(E.toLowerCase()){case"numeric":return q.NUMERIC;case"alphanumeric":return q.ALPHANUMERIC;case"kanji":return q.KANJI;case"byte":return q.BYTE;default:throw new Error("Unknown mode: "+E)}}(s)}catch{return D}}},9782:(Ue,q,m)=>{const e=m(4059);function t(_){this.mode=e.NUMERIC,this.data=_.toString()}t.getBitsLength=function(E){return 10*Math.floor(E/3)+(E%3?E%3*3+1:0)},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(E){let s,D,u;for(s=0;s+3<=this.data.length;s+=3)D=this.data.substr(s,3),u=parseInt(D,10),E.put(u,10);const k=this.data.length-s;k>0&&(D=this.data.substr(s),u=parseInt(D,10),E.put(u,3*k+1))},Ue.exports=t},1845:(Ue,q,m)=>{const e=m(9240);q.mul=function(_,E){const s=new Uint8Array(_.length+E.length-1);for(let D=0;D<_.length;D++)for(let u=0;u=0;){const D=s[0];for(let k=0;k{const e=m(2230),t=m(5448),_=m(7701),E=m(9088),s=m(8298),D=m(2903),u=m(6485),k=m(1690),p=m(3035),S=m(8421),A=m(6327),P=m(4059),M=m(2149);function Q(ye,ue,$){const he=ye.size,w=A.getEncodedBits(ue,$);let n,o;for(n=0;n<15;n++)o=1==(w>>n&1),n<6?ye.set(n,8,o,!0):n<8?ye.set(n+1,8,o,!0):ye.set(he-15+n,8,o,!0),n<8?ye.set(8,he-n-1,o,!0):n<9?ye.set(8,15-n-1+1,o,!0):ye.set(8,15-n-1,o,!0);ye.set(he-8,8,1,!0)}function ae(ye,ue,$){const he=new _;$.forEach(function(d){he.put(d.mode.bit,4),he.put(d.getLength(),P.getCharCountIndicator(d.mode,ye)),d.write(he)});const o=8*(e.getSymbolTotalCodewords(ye)-k.getTotalCodewordsCount(ye,ue));for(he.getLengthInBits()+4<=o&&he.put(0,4);he.getLengthInBits()%8!=0;)he.putBit(0);const h=(o-he.getLengthInBits())/8;for(let d=0;d=0&&h<=6&&(0===d||6===d)||d>=0&&d<=6&&(0===h||6===h)||h>=2&&h<=4&&d>=2&&d<=4?ye.set(n+h,o+d,!0,!0):ye.set(n+h,o+d,!1,!0))}}(d,ue),function I(ye){const ue=ye.size;for(let $=8;$=7&&function Z(ye,ue){const $=ye.size,he=S.getEncodedBits(ue);let w,n,o;for(let h=0;h<18;h++)w=Math.floor(h/3),n=h%3+$-8-3,o=1==(he>>h&1),ye.set(w,n,o,!0),ye.set(n,w,o,!0)}(d,ue),function ie(ye,ue){const $=ye.size;let he=-1,w=$-1,n=7,o=0;for(let h=$-1;h>0;h-=2)for(6===h&&h--;;){for(let d=0;d<2;d++)if(!ye.isReserved(w,h-d)){let y=!1;o>>n&1)),ye.set(w,h-d,y),n--,-1===n&&(o++,n=7)}if(w+=he,w<0||$<=w){w-=he,he=-he;break}}}(d,o),isNaN(he)&&(he=u.getBestMask(d,Q.bind(null,d,$))),u.applyMask(he,d),Q(d,$,he),{modules:d,version:ue,errorCorrectionLevel:$,maskPattern:he,segments:w}}q.create=function(ue,$){if(typeof ue>"u"||""===ue)throw new Error("No input text");let w,n,he=t.M;return typeof $<"u"&&(he=t.from($.errorCorrectionLevel,t.M),w=S.from($.version),n=u.from($.maskPattern),$.toSJISFunc&&e.setToSJISFunction($.toSJISFunc)),ce(ue,w,he,n)}},3035:(Ue,q,m)=>{const e=m(1845);function t(_){this.genPoly=void 0,this.degree=_,this.degree&&this.initialize(this.degree)}t.prototype.initialize=function(E){this.degree=E,this.genPoly=e.generateECPolynomial(this.degree)},t.prototype.encode=function(E){if(!this.genPoly)throw new Error("Encoder not initialized");const s=new Uint8Array(E.length+this.degree);s.set(E);const D=e.mod(s,this.genPoly),u=this.degree-D.length;if(u>0){const k=new Uint8Array(this.degree);return k.set(D,u),k}return D},Ue.exports=t},7526:(Ue,q)=>{const m="[0-9]+";let t="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";t=t.replace(/u/g,"\\u");const _="(?:(?![A-Z0-9 $%*+\\-./:]|"+t+")(?:.|[\r\n]))+";q.KANJI=new RegExp(t,"g"),q.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),q.BYTE=new RegExp(_,"g"),q.NUMERIC=new RegExp(m,"g"),q.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const E=new RegExp("^"+t+"$"),s=new RegExp("^"+m+"$"),D=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");q.testKanji=function(k){return E.test(k)},q.testNumeric=function(k){return s.test(k)},q.testAlphanumeric=function(k){return D.test(k)}},2149:(Ue,q,m)=>{const e=m(4059),t=m(9782),_=m(9321),E=m(6323),s=m(5134),D=m(7526),u=m(2230),k=m(6348);function p(Z){return unescape(encodeURIComponent(Z)).length}function S(Z,Q,ie){const ae=[];let _e;for(;null!==(_e=Z.exec(ie));)ae.push({data:_e[0],index:_e.index,mode:Q,length:_e[0].length});return ae}function A(Z){const Q=S(D.NUMERIC,e.NUMERIC,Z),ie=S(D.ALPHANUMERIC,e.ALPHANUMERIC,Z);let ae,_e;return u.isKanjiModeEnabled()?(ae=S(D.BYTE,e.BYTE,Z),_e=S(D.KANJI,e.KANJI,Z)):(ae=S(D.BYTE_KANJI,e.BYTE,Z),_e=[]),Q.concat(ie,ae,_e).sort(function(ye,ue){return ye.index-ue.index}).map(function(ye){return{data:ye.data,mode:ye.mode,length:ye.length}})}function P(Z,Q){switch(Q){case e.NUMERIC:return t.getBitsLength(Z);case e.ALPHANUMERIC:return _.getBitsLength(Z);case e.KANJI:return s.getBitsLength(Z);case e.BYTE:return E.getBitsLength(Z)}}function W(Z,Q){let ie;const ae=e.getBestModeForData(Z);if(ie=e.from(Q,ae),ie!==e.BYTE&&ie.bit=0?Q[Q.length-1]:null;return ae&&ae.mode===ie.mode?(Q[Q.length-1].data+=ie.data,Q):(Q.push(ie),Q)},[])}(ue))},q.rawSplit=function(Q){return q.fromArray(A(Q,u.isKanjiModeEnabled()))}},2230:(Ue,q)=>{let m;const e=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];q.getSymbolSize=function(_){if(!_)throw new Error('"version" cannot be null or undefined');if(_<1||_>40)throw new Error('"version" should be in range from 1 to 40');return 4*_+17},q.getSymbolTotalCodewords=function(_){return e[_]},q.getBCHDigit=function(t){let _=0;for(;0!==t;)_++,t>>>=1;return _},q.setToSJISFunction=function(_){if("function"!=typeof _)throw new Error('"toSJISFunc" is not a valid function.');m=_},q.isKanjiModeEnabled=function(){return typeof m<"u"},q.toSJIS=function(_){return m(_)}},6859:(Ue,q)=>{q.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},8421:(Ue,q,m)=>{const e=m(2230),t=m(1690),_=m(5448),E=m(4059),s=m(6859),u=e.getBCHDigit(7973);function p(P,M){return E.getCharCountIndicator(P,M)+4}function S(P,M){let z=0;return P.forEach(function(I){const W=p(I.mode,M);z+=W+I.getBitsLength()}),z}q.from=function(M,z){return s.isValid(M)?parseInt(M,10):z},q.getCapacity=function(M,z,I){if(!s.isValid(M))throw new Error("Invalid QR Code version");typeof I>"u"&&(I=E.BYTE);const Q=8*(e.getSymbolTotalCodewords(M)-t.getTotalCodewordsCount(M,z));if(I===E.MIXED)return Q;const ie=Q-p(I,M);switch(I){case E.NUMERIC:return Math.floor(ie/10*3);case E.ALPHANUMERIC:return Math.floor(ie/11*2);case E.KANJI:return Math.floor(ie/13);case E.BYTE:default:return Math.floor(ie/8)}},q.getBestVersionForData=function(M,z){let I;const W=_.from(z,_.M);if(Array.isArray(M)){if(M.length>1)return function A(P,M){for(let z=1;z<=40;z++)if(S(P,z)<=q.getCapacity(z,M,E.MIXED))return z}(M,W);if(0===M.length)return 1;I=M[0]}else I=M;return function k(P,M,z){for(let I=1;I<=40;I++)if(M<=q.getCapacity(I,z,P))return I}(I.mode,I.getLength(),W)},q.getEncodedBits=function(M){if(!s.isValid(M)||M<7)throw new Error("Invalid QR Code version");let z=M<<12;for(;e.getBCHDigit(z)-u>=0;)z^=7973<{const e=m(3239);q.render=function(s,D,u){let k=u,p=D;typeof k>"u"&&(!D||!D.getContext)&&(k=D,D=void 0),D||(p=function _(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}()),k=e.getOptions(k);const S=e.getImageWidth(s.modules.size,k),A=p.getContext("2d"),P=A.createImageData(S,S);return e.qrToImageData(P.data,s,k),function t(E,s,D){E.clearRect(0,0,s.width,s.height),s.style||(s.style={}),s.height=D,s.width=D,s.style.height=D+"px",s.style.width=D+"px"}(A,p,S),A.putImageData(P,0,0),p},q.renderToDataURL=function(s,D,u){let k=u;typeof k>"u"&&(!D||!D.getContext)&&(k=D,D=void 0),k||(k={});const p=q.render(s,D,k),S=k.type||"image/png",A=k.rendererOpts||{};return p.toDataURL(S,A.quality)}},226:(Ue,q,m)=>{const e=m(3239);function t(s,D){const u=s.a/255,k=D+'="'+s.hex+'"';return u<1?k+" "+D+'-opacity="'+u.toFixed(2).slice(1)+'"':k}function _(s,D,u){let k=s+D;return typeof u<"u"&&(k+=" "+u),k}q.render=function(D,u,k){const p=e.getOptions(u),S=D.modules.size,A=D.modules.data,P=S+2*p.margin,M=p.color.light.a?"':"",z="0&&M>0&&s[P-1]||(k+=S?_("M",M+u,.5+z+u):_("m",p,0),p=0,S=!1),M+1',I='viewBox="0 0 '+P+" "+P+'"',Z=''+M+z+"\n";return"function"==typeof k&&k(null,Z),Z}},3239:(Ue,q)=>{function m(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);(3===t.length||4===t.length)&&(t=Array.prototype.concat.apply([],t.map(function(E){return[E,E]}))),6===t.length&&t.push("F","F");const _=parseInt(t.join(""),16);return{r:_>>24&255,g:_>>16&255,b:_>>8&255,a:255&_,hex:"#"+t.slice(0,6).join("")}}q.getOptions=function(t){t||(t={}),t.color||(t.color={});const _=typeof t.margin>"u"||null===t.margin||t.margin<0?4:t.margin,E=t.width&&t.width>=21?t.width:void 0,s=t.scale||4;return{width:E,scale:E?4:s,margin:_,color:{dark:m(t.color.dark||"#000000ff"),light:m(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},q.getScale=function(t,_){return _.width&&_.width>=t+2*_.margin?_.width/(t+2*_.margin):_.scale},q.getImageWidth=function(t,_){const E=q.getScale(t,_);return Math.floor((t+2*_.margin)*E)},q.qrToImageData=function(t,_,E){const s=_.modules.size,D=_.modules.data,u=q.getScale(s,E),k=Math.floor((s+2*E.margin)*u),p=E.margin*u,S=[E.color.light,E.color.dark];for(let A=0;A=p&&P>=p&&A{"use strict";var e=65536;var E=m(9708).Buffer,s=global.crypto||global.msCrypto;s&&s.getRandomValues?Ue.exports=function D(u,k){if(u>4294967295)throw new RangeError("requested too many random bytes");var p=E.allocUnsafe(u);if(u>0)if(u>e)for(var S=0;S{"use strict";function e(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var t=m(9708),_=m(1186),E=t.Buffer,s=t.kMaxLength,D=global.crypto||global.msCrypto,u=Math.pow(2,32)-1;function k(M,z){if("number"!=typeof M||M!=M)throw new TypeError("offset must be a number");if(M>u||M<0)throw new TypeError("offset must be a uint32");if(M>s||M>z)throw new RangeError("offset out of range")}function p(M,z,I){if("number"!=typeof M||M!=M)throw new TypeError("size must be a number");if(M>u||M<0)throw new TypeError("size must be a uint32");if(M+z>I||M>s)throw new RangeError("buffer too small")}function A(M,z,I,W){if(process.browser){var Z=M.buffer,Q=new Uint8Array(Z,z,I);return D.getRandomValues(Q),W?void process.nextTick(function(){W(null,M)}):M}if(!W)return _(I).copy(M,z),M;_(I,function(ae,_e){if(ae)return W(ae);_e.copy(M,z),W(null,M)})}D&&D.getRandomValues||!process.browser?(q.randomFill=function S(M,z,I,W){if(!(E.isBuffer(M)||M instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof z)W=z,z=0,I=M.length;else if("function"==typeof I)W=I,I=M.length-z;else if("function"!=typeof W)throw new TypeError('"cb" argument must be a function');return k(z,M.length),p(I,z,M.length),A(M,z,I,W)},q.randomFillSync=function P(M,z,I){if(typeof z>"u"&&(z=0),!(E.isBuffer(M)||M instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return k(z,M.length),void 0===I&&(I=M.length-z),p(I,z,M.length),A(M,z,I)}):(q.randomFill=e,q.randomFillSync=e)},7446:Ue=>{"use strict";var m={};function e(D,u,k){k||(k=Error);var S=function(A){function P(M,z,I){return A.call(this,function p(A,P,M){return"string"==typeof u?u:u(A,P,M)}(M,z,I))||this}return function q(D,u){D.prototype=Object.create(u.prototype),D.prototype.constructor=D,D.__proto__=u}(P,A),P}(k);S.prototype.name=k.name,S.prototype.code=D,m[D]=S}function t(D,u){if(Array.isArray(D)){var k=D.length;return D=D.map(function(p){return String(p)}),k>2?"one of ".concat(u," ").concat(D.slice(0,k-1).join(", "),", or ")+D[k-1]:2===k?"one of ".concat(u," ").concat(D[0]," or ").concat(D[1]):"of ".concat(u," ").concat(D[0])}return"of ".concat(u," ").concat(String(D))}e("ERR_INVALID_OPT_VALUE",function(D,u){return'The value "'+u+'" is invalid for option "'+D+'"'},TypeError),e("ERR_INVALID_ARG_TYPE",function(D,u,k){var p,S;if("string"==typeof u&&function _(D,u,k){return D.substr(!k||k<0?0:+k,u.length)===u}(u,"not ")?(p="must not be",u=u.replace(/^not /,"")):p="must be",function E(D,u,k){return(void 0===k||k>D.length)&&(k=D.length),D.substring(k-u.length,k)===u}(D," argument"))S="The ".concat(D," ").concat(p," ").concat(t(u,"type"));else{var A=function s(D,u,k){return"number"!=typeof k&&(k=0),!(k+u.length>D.length)&&-1!==D.indexOf(u,k)}(D,".")?"property":"argument";S='The "'.concat(D,'" ').concat(A," ").concat(p," ").concat(t(u,"type"))}return S+=". Received type ".concat(typeof k)},TypeError),e("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),e("ERR_METHOD_NOT_IMPLEMENTED",function(D){return"The "+D+" method is not implemented"}),e("ERR_STREAM_PREMATURE_CLOSE","Premature close"),e("ERR_STREAM_DESTROYED",function(D){return"Cannot call "+D+" after a stream was destroyed"}),e("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),e("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),e("ERR_STREAM_WRITE_AFTER_END","write after end"),e("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),e("ERR_UNKNOWN_ENCODING",function(D){return"Unknown encoding: "+D},TypeError),e("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ue.exports.q=m},9800:(Ue,q,m)=>{"use strict";var e=Object.keys||function(S){var A=[];for(var P in S)A.push(P);return A};Ue.exports=u;var t=m(1396),_=m(1120);m(5035)(u,t);for(var E=e(_.prototype),s=0;s{"use strict";Ue.exports=t;var e=m(8157);function t(_){if(!(this instanceof t))return new t(_);e.call(this,_)}m(5035)(t,e),t.prototype._transform=function(_,E,s){s(null,_)}},1396:(Ue,q,m)=>{"use strict";var e;Ue.exports=w,w.ReadableState=he;m(3358).EventEmitter;var _=function(et,ht){return et.listeners(ht).length},E=m(8431),s=m(3195).Buffer,D=global.Uint8Array||function(){};var S,p=m(4616);S=p&&p.debuglog?p.debuglog("stream"):function(){};var ae,_e,ce,A=m(350),P=m(5923),z=m(1561).getHighWaterMark,I=m(7446).q,W=I.ERR_INVALID_ARG_TYPE,Z=I.ERR_STREAM_PUSH_AFTER_EOF,Q=I.ERR_METHOD_NOT_IMPLEMENTED,ie=I.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;m(5035)(w,E);var ye=P.errorOrDestroy,ue=["error","close","destroy","pause","resume"];function he(ve,et,ht){e=e||m(9800),ve=ve||{},"boolean"!=typeof ht&&(ht=et instanceof e),this.objectMode=!!ve.objectMode,ht&&(this.objectMode=this.objectMode||!!ve.readableObjectMode),this.highWaterMark=z(this,ve,"readableHighWaterMark",ht),this.buffer=new A,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==ve.emitClose,this.autoDestroy=!!ve.autoDestroy,this.destroyed=!1,this.defaultEncoding=ve.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,ve.encoding&&(ae||(ae=m(4547).s),this.decoder=new ae(ve.encoding),this.encoding=ve.encoding)}function w(ve){if(e=e||m(9800),!(this instanceof w))return new w(ve);var et=this instanceof e;this._readableState=new he(ve,this,et),this.readable=!0,ve&&("function"==typeof ve.read&&(this._read=ve.read),"function"==typeof ve.destroy&&(this._destroy=ve.destroy)),E.call(this)}function n(ve,et,ht,Le,Ae){S("readableAddChunk",et);var pe,te=ve._readableState;if(null===et)te.reading=!1,function B(ve,et){if(S("onEofChunk"),!et.ended){if(et.decoder){var ht=et.decoder.end();ht&&ht.length&&(et.buffer.push(ht),et.length+=et.objectMode?1:ht.length)}et.ended=!0,et.sync?v(ve):(et.needReadable=!1,et.emittedReadable||(et.emittedReadable=!0,a(ve)))}}(ve,te);else if(Ae||(pe=function h(ve,et){var ht;return!function k(ve){return s.isBuffer(ve)||ve instanceof D}(et)&&"string"!=typeof et&&void 0!==et&&!ve.objectMode&&(ht=new W("chunk",["string","Buffer","Uint8Array"],et)),ht}(te,et)),pe)ye(ve,pe);else if(te.objectMode||et&&et.length>0)if("string"!=typeof et&&!te.objectMode&&Object.getPrototypeOf(et)!==s.prototype&&(et=function u(ve){return s.from(ve)}(et)),Le)te.endEmitted?ye(ve,new ie):o(ve,te,et,!0);else if(te.ended)ye(ve,new Z);else{if(te.destroyed)return!1;te.reading=!1,te.decoder&&!ht?(et=te.decoder.write(et),te.objectMode||0!==et.length?o(ve,te,et,!1):C(ve,te)):o(ve,te,et,!1)}else Le||(te.reading=!1,C(ve,te));return!te.ended&&(te.lengthet.highWaterMark&&(et.highWaterMark=function y(ve){return ve>=d?ve=d:(ve--,ve|=ve>>>1,ve|=ve>>>2,ve|=ve>>>4,ve|=ve>>>8,ve|=ve>>>16,ve++),ve}(ve)),ve<=et.length?ve:et.ended?et.length:(et.needReadable=!0,0))}function v(ve){var et=ve._readableState;S("emitReadable",et.needReadable,et.emittedReadable),et.needReadable=!1,et.emittedReadable||(S("emitReadable",et.flowing),et.emittedReadable=!0,process.nextTick(a,ve))}function a(ve){var et=ve._readableState;S("emitReadable_",et.destroyed,et.length,et.ended),!et.destroyed&&(et.length||et.ended)&&(ve.emit("readable"),et.emittedReadable=!1),et.needReadable=!et.flowing&&!et.ended&&et.length<=et.highWaterMark,je(ve)}function C(ve,et){et.readingMore||(et.readingMore=!0,process.nextTick(N,ve,et))}function N(ve,et){for(;!et.reading&&!et.ended&&(et.length0,et.resumeScheduled&&!et.paused?et.flowing=!0:ve.listenerCount("data")>0&&ve.resume()}function Fe(ve){S("readable nexttick read 0"),ve.read(0)}function Ke(ve,et){S("resume",et.reading),et.reading||ve.read(0),et.resumeScheduled=!1,ve.emit("resume"),je(ve),et.flowing&&!et.reading&&ve.read(0)}function je(ve){var et=ve._readableState;for(S("flow",et.flowing);et.flowing&&null!==ve.read(););}function Ve(ve,et){return 0===et.length?null:(et.objectMode?ht=et.buffer.shift():!ve||ve>=et.length?(ht=et.decoder?et.buffer.join(""):1===et.buffer.length?et.buffer.first():et.buffer.concat(et.length),et.buffer.clear()):ht=et.buffer.consume(ve,et.decoder),ht);var ht}function xe(ve){var et=ve._readableState;S("endReadable",et.endEmitted),et.endEmitted||(et.ended=!0,process.nextTick(Ze,et,ve))}function Ze(ve,et){if(S("endReadableNT",ve.endEmitted,ve.length),!ve.endEmitted&&0===ve.length&&(ve.endEmitted=!0,et.readable=!1,et.emit("end"),ve.autoDestroy)){var ht=et._writableState;(!ht||ht.autoDestroy&&ht.finished)&&et.destroy()}}function Ie(ve,et){for(var ht=0,Le=ve.length;ht=et.highWaterMark:et.length>0)||et.ended))return S("read: emitReadable",et.length,et.ended),0===et.length&&et.ended?xe(this):v(this),null;if(0===(ve=L(ve,et))&&et.ended)return 0===et.length&&xe(this),null;var Ae,Le=et.needReadable;return S("need readable",Le),(0===et.length||et.length-ve0?Ve(ve,et):null)?(et.needReadable=et.length<=et.highWaterMark,ve=0):(et.length-=ve,et.awaitDrain=0),0===et.length&&(et.ended||(et.needReadable=!0),ht!==ve&&et.ended&&xe(this)),null!==Ae&&this.emit("data",Ae),Ae},w.prototype._read=function(ve){ye(this,new Q("_read()"))},w.prototype.pipe=function(ve,et){var ht=this,Le=this._readableState;switch(Le.pipesCount){case 0:Le.pipes=ve;break;case 1:Le.pipes=[Le.pipes,ve];break;default:Le.pipes.push(ve)}Le.pipesCount+=1,S("pipe count=%d opts=%j",Le.pipesCount,et);var te=(!et||!1!==et.end)&&ve!==process.stdout&&ve!==process.stderr?ee:Ct;function pe(un,Bt){S("onunpipe"),un===ht&&Bt&&!1===Bt.hasUnpiped&&(Bt.hasUnpiped=!0,function Oe(){S("cleanup"),ve.removeListener("close",_t),ve.removeListener("finish",it),ve.removeListener("drain",H),ve.removeListener("error",le),ve.removeListener("unpipe",pe),ht.removeListener("end",ee),ht.removeListener("end",Ct),ht.removeListener("data",Re),j=!0,Le.awaitDrain&&(!ve._writableState||ve._writableState.needDrain)&&H()}())}function ee(){S("onend"),ve.end()}Le.endEmitted?process.nextTick(te):ht.once("end",te),ve.on("unpipe",pe);var H=function F(ve){return function(){var ht=ve._readableState;S("pipeOnDrain",ht.awaitDrain),ht.awaitDrain&&ht.awaitDrain--,0===ht.awaitDrain&&_(ve,"data")&&(ht.flowing=!0,je(ve))}}(ht);ve.on("drain",H);var j=!1;function Re(un){S("ondata");var Bt=ve.write(un);S("dest.write",Bt),!1===Bt&&((1===Le.pipesCount&&Le.pipes===ve||Le.pipesCount>1&&-1!==Ie(Le.pipes,ve))&&!j&&(S("false write response, pause",Le.awaitDrain),Le.awaitDrain++),ht.pause())}function le(un){S("onerror",un),Ct(),ve.removeListener("error",le),0===_(ve,"error")&&ye(ve,un)}function _t(){ve.removeListener("finish",it),Ct()}function it(){S("onfinish"),ve.removeListener("close",_t),Ct()}function Ct(){S("unpipe"),ht.unpipe(ve)}return ht.on("data",Re),function $(ve,et,ht){if("function"==typeof ve.prependListener)return ve.prependListener(et,ht);ve._events&&ve._events[et]?Array.isArray(ve._events[et])?ve._events[et].unshift(ht):ve._events[et]=[ht,ve._events[et]]:ve.on(et,ht)}(ve,"error",le),ve.once("close",_t),ve.once("finish",it),ve.emit("pipe",ht),Le.flowing||(S("pipe resume"),ht.resume()),ve},w.prototype.unpipe=function(ve){var et=this._readableState,ht={hasUnpiped:!1};if(0===et.pipesCount)return this;if(1===et.pipesCount)return ve&&ve!==et.pipes||(ve||(ve=et.pipes),et.pipes=null,et.pipesCount=0,et.flowing=!1,ve&&ve.emit("unpipe",this,ht)),this;if(!ve){var Le=et.pipes,Ae=et.pipesCount;et.pipes=null,et.pipesCount=0,et.flowing=!1;for(var te=0;te0,!1!==Le.flowing&&this.resume()):"readable"===ve&&!Le.endEmitted&&!Le.readableListening&&(Le.readableListening=Le.needReadable=!0,Le.flowing=!1,Le.emittedReadable=!1,S("on readable",Le.length,Le.reading),Le.length?v(this):Le.reading||process.nextTick(Fe,this)),ht},w.prototype.addListener=w.prototype.on,w.prototype.removeListener=function(ve,et){var ht=E.prototype.removeListener.call(this,ve,et);return"readable"===ve&&process.nextTick(X,this),ht},w.prototype.removeAllListeners=function(ve){var et=E.prototype.removeAllListeners.apply(this,arguments);return("readable"===ve||void 0===ve)&&process.nextTick(X,this),et},w.prototype.resume=function(){var ve=this._readableState;return ve.flowing||(S("resume"),ve.flowing=!ve.readableListening,function ke(ve,et){et.resumeScheduled||(et.resumeScheduled=!0,process.nextTick(Ke,ve,et))}(this,ve)),ve.paused=!1,this},w.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},w.prototype.wrap=function(ve){var et=this,ht=this._readableState,Le=!1;for(var Ae in ve.on("end",function(){if(S("wrapped end"),ht.decoder&&!ht.ended){var pe=ht.decoder.end();pe&&pe.length&&et.push(pe)}et.push(null)}),ve.on("data",function(pe){(S("wrapped data"),ht.decoder&&(pe=ht.decoder.write(pe)),ht.objectMode&&null==pe||!(ht.objectMode||pe&&pe.length))||(et.push(pe)||(Le=!0,ve.pause()))}),ve)void 0===this[Ae]&&"function"==typeof ve[Ae]&&(this[Ae]=function(ee){return function(){return ve[ee].apply(ve,arguments)}}(Ae));for(var te=0;te{"use strict";Ue.exports=k;var e=m(7446).q,t=e.ERR_METHOD_NOT_IMPLEMENTED,_=e.ERR_MULTIPLE_CALLBACK,E=e.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=e.ERR_TRANSFORM_WITH_LENGTH_0,D=m(9800);function u(A,P){var M=this._transformState;M.transforming=!1;var z=M.writecb;if(null===z)return this.emit("error",new _);M.writechunk=null,M.writecb=null,null!=P&&this.push(P),z(A);var I=this._readableState;I.reading=!1,(I.needReadable||I.length{"use strict";function t(je){var Ve=this;this.next=null,this.entry=null,this.finish=function(){!function Ke(je,Ve,xe){var Ze=je.entry;for(je.entry=null;Ze;){var Ie=Ze.callback;Ve.pendingcb--,Ie(xe),Ze=Ze.next}Ve.corkedRequestsFree.next=je}(Ve,je)}}var _;Ue.exports=he,he.WritableState=ue;var E={deprecate:m(8059)},s=m(8431),D=m(3195).Buffer,u=global.Uint8Array||function(){};var $,S=m(5923),P=m(1561).getHighWaterMark,M=m(7446).q,z=M.ERR_INVALID_ARG_TYPE,I=M.ERR_METHOD_NOT_IMPLEMENTED,W=M.ERR_MULTIPLE_CALLBACK,Z=M.ERR_STREAM_CANNOT_PIPE,Q=M.ERR_STREAM_DESTROYED,ie=M.ERR_STREAM_NULL_VALUES,ae=M.ERR_STREAM_WRITE_AFTER_END,_e=M.ERR_UNKNOWN_ENCODING,ce=S.errorOrDestroy;function ye(){}function ue(je,Ve,xe){_=_||m(9800),je=je||{},"boolean"!=typeof xe&&(xe=Ve instanceof _),this.objectMode=!!je.objectMode,xe&&(this.objectMode=this.objectMode||!!je.writableObjectMode),this.highWaterMark=P(this,je,"writableHighWaterMark",xe),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Ze=!1===je.decodeStrings;this.decodeStrings=!Ze,this.defaultEncoding=je.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Ie){!function B(je,Ve){var xe=je._writableState,Ze=xe.sync,Ie=xe.writecb;if("function"!=typeof Ie)throw new W;if(function L(je){je.writing=!1,je.writecb=null,je.length-=je.writelen,je.writelen=0}(xe),Ve)!function y(je,Ve,xe,Ze,Ie){--Ve.pendingcb,xe?(process.nextTick(Ie,Ze),process.nextTick(Fe,je,Ve),je._writableState.errorEmitted=!0,ce(je,Ze)):(Ie(Ze),je._writableState.errorEmitted=!0,ce(je,Ze),Fe(je,Ve))}(je,xe,Ze,Ve,Ie);else{var ve=N(xe)||je.destroyed;!ve&&!xe.corked&&!xe.bufferProcessing&&xe.bufferedRequest&&C(je,xe),Ze?process.nextTick(v,je,xe,ve,Ie):v(je,xe,ve,Ie)}}(Ve,Ie)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==je.emitClose,this.autoDestroy=!!je.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t(this)}function he(je){var Ve=this instanceof(_=_||m(9800));if(!Ve&&!$.call(he,this))return new he(je);this._writableState=new ue(je,this,Ve),this.writable=!0,je&&("function"==typeof je.write&&(this._write=je.write),"function"==typeof je.writev&&(this._writev=je.writev),"function"==typeof je.destroy&&(this._destroy=je.destroy),"function"==typeof je.final&&(this._final=je.final)),s.call(this)}function d(je,Ve,xe,Ze,Ie,ve,et){Ve.writelen=Ze,Ve.writecb=et,Ve.writing=!0,Ve.sync=!0,Ve.destroyed?Ve.onwrite(new Q("write")):xe?je._writev(Ie,Ve.onwrite):je._write(Ie,ve,Ve.onwrite),Ve.sync=!1}function v(je,Ve,xe,Ze){xe||function a(je,Ve){0===Ve.length&&Ve.needDrain&&(Ve.needDrain=!1,je.emit("drain"))}(je,Ve),Ve.pendingcb--,Ze(),Fe(je,Ve)}function C(je,Ve){Ve.bufferProcessing=!0;var xe=Ve.bufferedRequest;if(je._writev&&xe&&xe.next){var Ze=Ve.bufferedRequestCount,Ie=new Array(Ze),ve=Ve.corkedRequestsFree;ve.entry=xe;for(var et=0,ht=!0;xe;)Ie[et]=xe,xe.isBuf||(ht=!1),xe=xe.next,et+=1;Ie.allBuffers=ht,d(je,Ve,!0,Ve.length,Ie,"",ve.finish),Ve.pendingcb++,Ve.lastBufferedRequest=null,ve.next?(Ve.corkedRequestsFree=ve.next,ve.next=null):Ve.corkedRequestsFree=new t(Ve),Ve.bufferedRequestCount=0}else{for(;xe;){var Le=xe.chunk,Ae=xe.encoding,te=xe.callback;if(d(je,Ve,!1,Ve.objectMode?1:Le.length,Le,Ae,te),xe=xe.next,Ve.bufferedRequestCount--,Ve.writing)break}null===xe&&(Ve.lastBufferedRequest=null)}Ve.bufferedRequest=xe,Ve.bufferProcessing=!1}function N(je){return je.ending&&0===je.length&&null===je.bufferedRequest&&!je.finished&&!je.writing}function F(je,Ve){je._final(function(xe){Ve.pendingcb--,xe&&ce(je,xe),Ve.prefinished=!0,je.emit("prefinish"),Fe(je,Ve)})}function Fe(je,Ve){var xe=N(Ve);if(xe&&(function X(je,Ve){!Ve.prefinished&&!Ve.finalCalled&&("function"!=typeof je._final||Ve.destroyed?(Ve.prefinished=!0,je.emit("prefinish")):(Ve.pendingcb++,Ve.finalCalled=!0,process.nextTick(F,je,Ve)))}(je,Ve),0===Ve.pendingcb&&(Ve.finished=!0,je.emit("finish"),Ve.autoDestroy))){var Ze=je._readableState;(!Ze||Ze.autoDestroy&&Ze.endEmitted)&&je.destroy()}return xe}m(5035)(he,s),ue.prototype.getBuffer=function(){for(var Ve=this.bufferedRequest,xe=[];Ve;)xe.push(Ve),Ve=Ve.next;return xe},function(){try{Object.defineProperty(ue.prototype,"buffer",{get:E.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(he,Symbol.hasInstance,{value:function(Ve){return!!$.call(this,Ve)||this===he&&(Ve&&Ve._writableState instanceof ue)}})):$=function(Ve){return Ve instanceof this},he.prototype.pipe=function(){ce(this,new Z)},he.prototype.write=function(je,Ve,xe){var Ze=this._writableState,Ie=!1,ve=!Ze.objectMode&&function p(je){return D.isBuffer(je)||je instanceof u}(je);return ve&&!D.isBuffer(je)&&(je=function k(je){return D.from(je)}(je)),"function"==typeof Ve&&(xe=Ve,Ve=null),ve?Ve="buffer":Ve||(Ve=Ze.defaultEncoding),"function"!=typeof xe&&(xe=ye),Ze.ending?function w(je,Ve){var xe=new ae;ce(je,xe),process.nextTick(Ve,xe)}(this,xe):(ve||function n(je,Ve,xe,Ze){var Ie;return null===xe?Ie=new ie:"string"!=typeof xe&&!Ve.objectMode&&(Ie=new z("chunk",["string","Buffer"],xe)),!Ie||(ce(je,Ie),process.nextTick(Ze,Ie),!1)}(this,Ze,je,xe))&&(Ze.pendingcb++,Ie=function h(je,Ve,xe,Ze,Ie,ve){if(!xe){var et=function o(je,Ve,xe){return!je.objectMode&&!1!==je.decodeStrings&&"string"==typeof Ve&&(Ve=D.from(Ve,xe)),Ve}(Ve,Ze,Ie);Ze!==et&&(xe=!0,Ie="buffer",Ze=et)}var ht=Ve.objectMode?1:Ze.length;Ve.length+=ht;var Le=Ve.length-1))throw new _e(Ve);return this._writableState.defaultEncoding=Ve,this},Object.defineProperty(he.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(he.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),he.prototype._write=function(je,Ve,xe){xe(new I("_write()"))},he.prototype._writev=null,he.prototype.end=function(je,Ve,xe){var Ze=this._writableState;return"function"==typeof je?(xe=je,je=null,Ve=null):"function"==typeof Ve&&(xe=Ve,Ve=null),null!=je&&this.write(je,Ve),Ze.corked&&(Ze.corked=1,this.uncork()),Ze.ending||function ke(je,Ve,xe){Ve.ending=!0,Fe(je,Ve),xe&&(Ve.finished?process.nextTick(xe):je.once("finish",xe)),Ve.ended=!0,je.writable=!1}(this,Ze,xe),this},Object.defineProperty(he.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(he.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(Ve){!this._writableState||(this._writableState.destroyed=Ve)}}),he.prototype.destroy=S.destroy,he.prototype._undestroy=S.undestroy,he.prototype._destroy=function(je,Ve){Ve(je)}},2325:(Ue,q,m)=>{"use strict";var e;function t(Q,ie,ae){return ie in Q?Object.defineProperty(Q,ie,{value:ae,enumerable:!0,configurable:!0,writable:!0}):Q[ie]=ae,Q}var _=m(7722),E=Symbol("lastResolve"),s=Symbol("lastReject"),D=Symbol("error"),u=Symbol("ended"),k=Symbol("lastPromise"),p=Symbol("handlePromise"),S=Symbol("stream");function A(Q,ie){return{value:Q,done:ie}}function P(Q){var ie=Q[E];if(null!==ie){var ae=Q[S].read();null!==ae&&(Q[k]=null,Q[E]=null,Q[s]=null,ie(A(ae,!1)))}}function M(Q){process.nextTick(P,Q)}var I=Object.getPrototypeOf(function(){}),W=Object.setPrototypeOf((t(e={get stream(){return this[S]},next:function(){var ie=this,ae=this[D];if(null!==ae)return Promise.reject(ae);if(this[u])return Promise.resolve(A(void 0,!0));if(this[S].destroyed)return new Promise(function(ue,$){process.nextTick(function(){ie[D]?$(ie[D]):ue(A(void 0,!0))})});var ce,_e=this[k];if(_e)ce=new Promise(function z(Q,ie){return function(ae,_e){Q.then(function(){ie[u]?ae(A(void 0,!0)):ie[p](ae,_e)},_e)}}(_e,this));else{var ye=this[S].read();if(null!==ye)return Promise.resolve(A(ye,!1));ce=new Promise(this[p])}return this[k]=ce,ce}},Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var ie=this;return new Promise(function(ae,_e){ie[S].destroy(null,function(ce){ce?_e(ce):ae(A(void 0,!0))})})}),e),I);Ue.exports=function(ie){var ae,_e=Object.create(W,(t(ae={},S,{value:ie,writable:!0}),t(ae,E,{value:null,writable:!0}),t(ae,s,{value:null,writable:!0}),t(ae,D,{value:null,writable:!0}),t(ae,u,{value:ie._readableState.endEmitted,writable:!0}),t(ae,p,{value:function(ye,ue){var $=_e[S].read();$?(_e[k]=null,_e[E]=null,_e[s]=null,ye(A($,!1))):(_e[E]=ye,_e[s]=ue)},writable:!0}),ae));return _e[k]=null,_(ie,function(ce){if(ce&&"ERR_STREAM_PREMATURE_CLOSE"!==ce.code){var ye=_e[s];return null!==ye&&(_e[k]=null,_e[E]=null,_e[s]=null,ye(ce)),void(_e[D]=ce)}var ue=_e[E];null!==ue&&(_e[k]=null,_e[E]=null,_e[s]=null,ue(A(void 0,!0))),_e[u]=!0}),ie.on("readable",M.bind(null,_e)),_e}},350:(Ue,q,m)=>{"use strict";function e(M,z){var I=Object.keys(M);if(Object.getOwnPropertySymbols){var W=Object.getOwnPropertySymbols(M);z&&(W=W.filter(function(Z){return Object.getOwnPropertyDescriptor(M,Z).enumerable})),I.push.apply(I,W)}return I}function _(M,z,I){return z in M?Object.defineProperty(M,z,{value:I,enumerable:!0,configurable:!0,writable:!0}):M[z]=I,M}function s(M,z){for(var I=0;I0?this.tail.next=W:this.head=W,this.tail=W,++this.length}},{key:"unshift",value:function(I){var W={data:I,next:this.head};0===this.length&&(this.tail=W),this.head=W,++this.length}},{key:"shift",value:function(){if(0!==this.length){var I=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,I}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(I){if(0===this.length)return"";for(var W=this.head,Z=""+W.data;W=W.next;)Z+=I+W.data;return Z}},{key:"concat",value:function(I){if(0===this.length)return k.alloc(0);for(var W=k.allocUnsafe(I>>>0),Z=this.head,Q=0;Z;)P(Z.data,W,Q),Q+=Z.data.length,Z=Z.next;return W}},{key:"consume",value:function(I,W){var Z;return Iie.length?ie.length:I;if(ae===ie.length?Q+=ie:Q+=ie.slice(0,I),0===(I-=ae)){ae===ie.length?(++Z,W.next?this.head=W.next:this.head=this.tail=null):(this.head=W,W.data=ie.slice(ae));break}++Z}return this.length-=Z,Q}},{key:"_getBuffer",value:function(I){var W=k.allocUnsafe(I),Z=this.head,Q=1;for(Z.data.copy(W),I-=Z.data.length;Z=Z.next;){var ie=Z.data,ae=I>ie.length?ie.length:I;if(ie.copy(W,W.length-I,0,ae),0===(I-=ae)){ae===ie.length?(++Q,Z.next?this.head=Z.next:this.head=this.tail=null):(this.head=Z,Z.data=ie.slice(ae));break}++Q}return this.length-=Q,W}},{key:A,value:function(I,W){return S(this,function t(M){for(var z=1;z{"use strict";function m(s,D){_(s,D),e(s)}function e(s){s._writableState&&!s._writableState.emitClose||s._readableState&&!s._readableState.emitClose||s.emit("close")}function _(s,D){s.emit("error",D)}Ue.exports={destroy:function q(s,D){var u=this,k=this._readableState&&this._readableState.destroyed,p=this._writableState&&this._writableState.destroyed;return k||p?(D?D(s):s&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(_,this,s)):process.nextTick(_,this,s)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(s||null,function(S){!D&&S?u._writableState?u._writableState.errorEmitted?process.nextTick(e,u):(u._writableState.errorEmitted=!0,process.nextTick(m,u,S)):process.nextTick(m,u,S):D?(process.nextTick(e,u),D(S)):process.nextTick(e,u)}),this)},undestroy:function t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function E(s,D){var u=s._readableState,k=s._writableState;u&&u.autoDestroy||k&&k.autoDestroy?s.destroy(D):s.emit("error",D)}}},7722:(Ue,q,m)=>{"use strict";var e=m(7446).q.ERR_STREAM_PREMATURE_CLOSE;function _(){}Ue.exports=function s(D,u,k){if("function"==typeof u)return s(D,null,u);u||(u={}),k=function t(D){var u=!1;return function(){if(!u){u=!0;for(var k=arguments.length,p=new Array(k),S=0;S{Ue.exports=function(){throw new Error("Readable.from is not available in the browser")}},8096:(Ue,q,m)=>{"use strict";var e;var _=m(7446).q,E=_.ERR_MISSING_ARGS,s=_.ERR_STREAM_DESTROYED;function D(M){if(M)throw M}function k(M,z,I,W){W=function t(M){var z=!1;return function(){z||(z=!0,M.apply(void 0,arguments))}}(W);var Z=!1;M.on("close",function(){Z=!0}),void 0===e&&(e=m(7722)),e(M,{readable:z,writable:I},function(ie){if(ie)return W(ie);Z=!0,W()});var Q=!1;return function(ie){if(!Z&&!Q){if(Q=!0,function u(M){return M.setHeader&&"function"==typeof M.abort}(M))return M.abort();if("function"==typeof M.destroy)return M.destroy();W(ie||new s("pipe"))}}}function p(M){M()}function S(M,z){return M.pipe(z)}function A(M){return M.length&&"function"==typeof M[M.length-1]?M.pop():D}Ue.exports=function P(){for(var M=arguments.length,z=new Array(M),I=0;I0,function(ye){Z||(Z=ye),ye&&Q.forEach(p),!_e&&(Q.forEach(p),W(Z))})});return z.reduce(S)}},1561:(Ue,q,m)=>{"use strict";var e=m(7446).q.ERR_INVALID_OPT_VALUE;Ue.exports={getHighWaterMark:function _(E,s,D,u){var k=function t(E,s,D){return null!=E.highWaterMark?E.highWaterMark:s?E[D]:null}(s,u,D);if(null!=k){if(!isFinite(k)||Math.floor(k)!==k||k<0)throw new e(u?D:"highWaterMark",k);return Math.floor(k)}return E.objectMode?16:16384}}},8431:(Ue,q,m)=>{Ue.exports=m(3358).EventEmitter},9697:(Ue,q,m)=>{(q=Ue.exports=m(1396)).Stream=q,q.Readable=q,q.Writable=m(1120),q.Duplex=m(9800),q.Transform=m(8157),q.PassThrough=m(1908),q.finished=m(7722),q.pipeline=m(8096)},5351:(Ue,q,m)=>{"use strict";var e=m(3195).Buffer,t=m(5035),_=m(3817),E=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],D=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],k=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],p=[0,1518500249,1859775393,2400959708,2840853838],S=[1352829926,1548603684,1836072691,2053994217,0];function A(){_.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function P(Q,ie){return Q<>>32-ie}function M(Q,ie,ae,_e,ce,ye,ue,$){return P(Q+(ie^ae^_e)+ye+ue|0,$)+ce|0}function z(Q,ie,ae,_e,ce,ye,ue,$){return P(Q+(ie&ae|~ie&_e)+ye+ue|0,$)+ce|0}function I(Q,ie,ae,_e,ce,ye,ue,$){return P(Q+((ie|~ae)^_e)+ye+ue|0,$)+ce|0}function W(Q,ie,ae,_e,ce,ye,ue,$){return P(Q+(ie&_e|ae&~_e)+ye+ue|0,$)+ce|0}function Z(Q,ie,ae,_e,ce,ye,ue,$){return P(Q+(ie^(ae|~_e))+ye+ue|0,$)+ce|0}t(A,_),A.prototype._update=function(){for(var Q=E,ie=0;ie<16;++ie)Q[ie]=this._block.readInt32LE(4*ie);for(var ae=0|this._a,_e=0|this._b,ce=0|this._c,ye=0|this._d,ue=0|this._e,$=0|this._a,he=0|this._b,w=0|this._c,n=0|this._d,o=0|this._e,h=0;h<80;h+=1){var d,y;h<16?(d=M(ae,_e,ce,ye,ue,Q[s[h]],p[0],u[h]),y=Z($,he,w,n,o,Q[D[h]],S[0],k[h])):h<32?(d=z(ae,_e,ce,ye,ue,Q[s[h]],p[1],u[h]),y=W($,he,w,n,o,Q[D[h]],S[1],k[h])):h<48?(d=I(ae,_e,ce,ye,ue,Q[s[h]],p[2],u[h]),y=I($,he,w,n,o,Q[D[h]],S[2],k[h])):h<64?(d=W(ae,_e,ce,ye,ue,Q[s[h]],p[3],u[h]),y=z($,he,w,n,o,Q[D[h]],S[3],k[h])):(d=Z(ae,_e,ce,ye,ue,Q[s[h]],p[4],u[h]),y=M($,he,w,n,o,Q[D[h]],S[4],k[h])),ae=ue,ue=ye,ye=P(ce,10),ce=_e,_e=d,$=o,o=n,n=P(w,10),w=he,he=y}var L=this._b+ce+n|0;this._b=this._c+ye+o|0,this._c=this._d+ue+$|0,this._d=this._e+ae+he|0,this._e=this._a+_e+w|0,this._a=L},A.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var Q=e.alloc?e.alloc(20):new e(20);return Q.writeInt32LE(this._a,0),Q.writeInt32LE(this._b,4),Q.writeInt32LE(this._c,8),Q.writeInt32LE(this._d,12),Q.writeInt32LE(this._e,16),Q},Ue.exports=A},6317:(Ue,q,m)=>{"use strict";m.d(q,{X:()=>t});var e=m(253);class t extends e.x{constructor(E){super(),this._value=E}get value(){return this.getValue()}_subscribe(E){const s=super._subscribe(E);return!s.closed&&E.next(this._value),s}getValue(){const{hasError:E,thrownError:s,_value:D}=this;if(E)throw s;return this._throwIfClosed(),D}next(E){super.next(this._value=E)}}},833:(Ue,q,m)=>{"use strict";m.d(q,{y:()=>k});var e=m(5463),t=m(7714),_=m(4585),E=m(629),s=m(9057),D=m(2971),u=m(2309);class k{constructor(M){M&&(this._subscribe=M)}lift(M){const z=new k;return z.source=this,z.operator=M,z}subscribe(M,z,I){const W=function A(P){return P&&P instanceof e.Lv||function S(P){return P&&(0,D.m)(P.next)&&(0,D.m)(P.error)&&(0,D.m)(P.complete)}(P)&&(0,t.Nn)(P)}(M)?M:new e.Hp(M,z,I);return(0,u.x)(()=>{const{operator:Z,source:Q}=this;W.add(Z?Z.call(W,Q):Q?this._subscribe(W):this._trySubscribe(W))}),W}_trySubscribe(M){try{return this._subscribe(M)}catch(z){M.error(z)}}forEach(M,z){return new(z=p(z))((I,W)=>{const Z=new e.Hp({next:Q=>{try{M(Q)}catch(ie){W(ie),Z.unsubscribe()}},error:W,complete:I});this.subscribe(Z)})}_subscribe(M){var z;return null===(z=this.source)||void 0===z?void 0:z.subscribe(M)}[_.L](){return this}pipe(...M){return(0,E.U)(M)(this)}toPromise(M){return new(M=p(M))((z,I)=>{let W;this.subscribe(Z=>W=Z,Z=>I(Z),()=>z(W))})}}function p(P){var M;return null!==(M=P??s.v.Promise)&&void 0!==M?M:Promise}k.create=P=>new k(P)},6067:(Ue,q,m)=>{"use strict";m.d(q,{t:()=>_});var e=m(253),t=m(7654);class _ extends e.x{constructor(s=1/0,D=1/0,u=t.l){super(),this._bufferSize=s,this._windowTime=D,this._timestampProvider=u,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=D===1/0,this._bufferSize=Math.max(1,s),this._windowTime=Math.max(1,D)}next(s){const{isStopped:D,_buffer:u,_infiniteTimeWindow:k,_timestampProvider:p,_windowTime:S}=this;D||(u.push(s),!k&&u.push(p.now()+S)),this._trimBuffer(),super.next(s)}_subscribe(s){this._throwIfClosed(),this._trimBuffer();const D=this._innerSubscribe(s),{_infiniteTimeWindow:u,_buffer:k}=this,p=k.slice();for(let S=0;S{"use strict";m.d(q,{u:()=>k,x:()=>u});var e=m(833),t=m(7714);const E=(0,m(7543).d)(p=>function(){p(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var s=m(9663),D=m(2309);class u extends e.y{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(S){const A=new k(this,this);return A.operator=S,A}_throwIfClosed(){if(this.closed)throw new E}next(S){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const A of this.currentObservers)A.next(S)}})}error(S){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=S;const{observers:A}=this;for(;A.length;)A.shift().error(S)}})}complete(){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:S}=this;for(;S.length;)S.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var S;return(null===(S=this.observers)||void 0===S?void 0:S.length)>0}_trySubscribe(S){return this._throwIfClosed(),super._trySubscribe(S)}_subscribe(S){return this._throwIfClosed(),this._checkFinalizedStatuses(S),this._innerSubscribe(S)}_innerSubscribe(S){const{hasError:A,isStopped:P,observers:M}=this;return A||P?t.Lc:(this.currentObservers=null,M.push(S),new t.w0(()=>{this.currentObservers=null,(0,s.P)(M,S)}))}_checkFinalizedStatuses(S){const{hasError:A,thrownError:P,isStopped:M}=this;A?S.error(P):M&&S.complete()}asObservable(){const S=new e.y;return S.source=this,S}}u.create=(p,S)=>new k(p,S);class k extends u{constructor(S,A){super(),this.destination=S,this.source=A}next(S){var A,P;null===(P=null===(A=this.destination)||void 0===A?void 0:A.next)||void 0===P||P.call(A,S)}error(S){var A,P;null===(P=null===(A=this.destination)||void 0===A?void 0:A.error)||void 0===P||P.call(A,S)}complete(){var S,A;null===(A=null===(S=this.destination)||void 0===S?void 0:S.complete)||void 0===A||A.call(S)}_subscribe(S){var A,P;return null!==(P=null===(A=this.source)||void 0===A?void 0:A.subscribe(S))&&void 0!==P?P:t.Lc}}},5463:(Ue,q,m)=>{"use strict";m.d(q,{Hp:()=>W,Lv:()=>P});var e=m(2971),t=m(7714),_=m(9057),E=m(4709),s=m(9635);const D=p("C",void 0,void 0);function p(_e,ce,ye){return{kind:_e,value:ce,error:ye}}var S=m(3542),A=m(2309);class P extends t.w0{constructor(ce){super(),this.isStopped=!1,ce?(this.destination=ce,(0,t.Nn)(ce)&&ce.add(this)):this.destination=ae}static create(ce,ye,ue){return new W(ce,ye,ue)}next(ce){this.isStopped?ie(function k(_e){return p("N",_e,void 0)}(ce),this):this._next(ce)}error(ce){this.isStopped?ie(function u(_e){return p("E",void 0,_e)}(ce),this):(this.isStopped=!0,this._error(ce))}complete(){this.isStopped?ie(D,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(ce){this.destination.next(ce)}_error(ce){try{this.destination.error(ce)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const M=Function.prototype.bind;function z(_e,ce){return M.call(_e,ce)}class I{constructor(ce){this.partialObserver=ce}next(ce){const{partialObserver:ye}=this;if(ye.next)try{ye.next(ce)}catch(ue){Z(ue)}}error(ce){const{partialObserver:ye}=this;if(ye.error)try{ye.error(ce)}catch(ue){Z(ue)}else Z(ce)}complete(){const{partialObserver:ce}=this;if(ce.complete)try{ce.complete()}catch(ye){Z(ye)}}}class W extends P{constructor(ce,ye,ue){let $;if(super(),(0,e.m)(ce)||!ce)$={next:ce??void 0,error:ye??void 0,complete:ue??void 0};else{let he;this&&_.v.useDeprecatedNextContext?(he=Object.create(ce),he.unsubscribe=()=>this.unsubscribe(),$={next:ce.next&&z(ce.next,he),error:ce.error&&z(ce.error,he),complete:ce.complete&&z(ce.complete,he)}):$=ce}this.destination=new I($)}}function Z(_e){_.v.useDeprecatedSynchronousErrorHandling?(0,A.O)(_e):(0,E.h)(_e)}function ie(_e,ce){const{onStoppedNotification:ye}=_.v;ye&&S.z.setTimeout(()=>ye(_e,ce))}const ae={closed:!0,next:s.Z,error:function Q(_e){throw _e},complete:s.Z}},7714:(Ue,q,m)=>{"use strict";m.d(q,{Lc:()=>D,w0:()=>s,Nn:()=>u});var e=m(2971);const _=(0,m(7543).d)(p=>function(A){p(this),this.message=A?`${A.length} errors occurred during unsubscription:\n${A.map((P,M)=>`${M+1}) ${P.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=A});var E=m(9663);class s{constructor(S){this.initialTeardown=S,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let S;if(!this.closed){this.closed=!0;const{_parentage:A}=this;if(A)if(this._parentage=null,Array.isArray(A))for(const z of A)z.remove(this);else A.remove(this);const{initialTeardown:P}=this;if((0,e.m)(P))try{P()}catch(z){S=z instanceof _?z.errors:[z]}const{_finalizers:M}=this;if(M){this._finalizers=null;for(const z of M)try{k(z)}catch(I){S=S??[],I instanceof _?S=[...S,...I.errors]:S.push(I)}}if(S)throw new _(S)}}add(S){var A;if(S&&S!==this)if(this.closed)k(S);else{if(S instanceof s){if(S.closed||S._hasParent(this))return;S._addParent(this)}(this._finalizers=null!==(A=this._finalizers)&&void 0!==A?A:[]).push(S)}}_hasParent(S){const{_parentage:A}=this;return A===S||Array.isArray(A)&&A.includes(S)}_addParent(S){const{_parentage:A}=this;this._parentage=Array.isArray(A)?(A.push(S),A):A?[A,S]:S}_removeParent(S){const{_parentage:A}=this;A===S?this._parentage=null:Array.isArray(A)&&(0,E.P)(A,S)}remove(S){const{_finalizers:A}=this;A&&(0,E.P)(A,S),S instanceof s&&S._removeParent(this)}}s.EMPTY=(()=>{const p=new s;return p.closed=!0,p})();const D=s.EMPTY;function u(p){return p instanceof s||p&&"closed"in p&&(0,e.m)(p.remove)&&(0,e.m)(p.add)&&(0,e.m)(p.unsubscribe)}function k(p){(0,e.m)(p)?p():p.unsubscribe()}},9057:(Ue,q,m)=>{"use strict";m.d(q,{v:()=>e});const e={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},3932:(Ue,q,m)=>{"use strict";m.d(q,{c:()=>D});var e=m(833),t=m(7714),_=m(6074),E=m(3945),s=m(1944);class D extends e.y{constructor(k,p){super(),this.source=k,this.subjectFactory=p,this._subject=null,this._refCount=0,this._connection=null,(0,s.A)(k)&&(this.lift=k.lift)}_subscribe(k){return this.getSubject().subscribe(k)}getSubject(){const k=this._subject;return(!k||k.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:k}=this;this._subject=this._connection=null,k?.unsubscribe()}connect(){let k=this._connection;if(!k){k=this._connection=new t.w0;const p=this.getSubject();k.add(this.source.subscribe((0,E.x)(p,void 0,()=>{this._teardown(),p.complete()},S=>{this._teardown(),p.error(S)},()=>this._teardown()))),k.closed&&(this._connection=null,k=t.w0.EMPTY)}return k}refCount(){return(0,_.x)()(this)}}},6562:(Ue,q,m)=>{"use strict";m.d(q,{a:()=>S});var e=m(833),t=m(5756),_=m(7400),E=m(9173),s=m(8385),D=m(420),u=m(1054),k=m(3945),p=m(1817);function S(...M){const z=(0,D.yG)(M),I=(0,D.jO)(M),{args:W,keys:Z}=(0,t.D)(M);if(0===W.length)return(0,_.D)([],z);const Q=new e.y(function A(M,z,I=E.y){return W=>{P(z,()=>{const{length:Z}=M,Q=new Array(Z);let ie=Z,ae=Z;for(let _e=0;_e{const ce=(0,_.D)(M[_e],z);let ye=!1;ce.subscribe((0,k.x)(W,ue=>{Q[_e]=ue,ye||(ye=!0,ae--),ae||W.next(I(Q.slice()))},()=>{--ie||W.complete()}))},W)},W)}}(W,z,Z?ie=>(0,u.n)(Z,ie):E.y));return I?Q.pipe((0,s.Z)(I)):Q}function P(M,z,I){M?(0,p.f)(I,M,z):z()}},9319:(Ue,q,m)=>{"use strict";m.d(q,{z:()=>s});var e=m(1308);var _=m(420),E=m(7400);function s(...D){return function t(){return(0,e.J)(1)}()((0,E.D)(D,(0,_.yG)(D)))}},1954:(Ue,q,m)=>{"use strict";m.d(q,{P:()=>_});var e=m(833),t=m(4987);function _(E){return new e.y(s=>{(0,t.Xf)(E()).subscribe(s)})}},591:(Ue,q,m)=>{"use strict";m.d(q,{E:()=>t});const t=new(m(833).y)(s=>s.complete())},1640:(Ue,q,m)=>{"use strict";m.d(q,{D:()=>k});var e=m(833),t=m(5756),_=m(4987),E=m(420),s=m(3945),D=m(8385),u=m(1054);function k(...p){const S=(0,E.jO)(p),{args:A,keys:P}=(0,t.D)(p),M=new e.y(z=>{const{length:I}=A;if(!I)return void z.complete();const W=new Array(I);let Z=I,Q=I;for(let ie=0;ie{ae||(ae=!0,Q--),W[ie]=_e},()=>Z--,void 0,()=>{(!Z||!ae)&&(Q||z.next(P?(0,u.n)(P,W):W),z.complete())}))}});return S?M.pipe((0,D.Z)(S)):M}},7400:(Ue,q,m)=>{"use strict";m.d(q,{D:()=>ye});var e=m(4987),t=m(8728),_=m(1944);function E(ue,$=0){return(0,_.e)((he,w)=>{w.add(ue.schedule(()=>he.subscribe(w),$))})}var u=m(833);var p=m(7321),S=m(2971),A=m(1817);function M(ue,$){if(!ue)throw new Error("Iterable cannot be null");return new u.y(he=>{(0,A.f)(he,$,()=>{const w=ue[Symbol.asyncIterator]();(0,A.f)(he,$,()=>{w.next().then(n=>{n.done?he.complete():he.next(n.value)})},0,!0)})})}var z=m(1331),I=m(9548),W=m(9806),Z=m(3433),Q=m(470),ie=m(7785),ae=m(181);function ce(ue,$){if(null!=ue){if((0,z.c)(ue))return function s(ue,$){return(0,e.Xf)(ue).pipe(E($),(0,t.Q)($))}(ue,$);if((0,W.z)(ue))return function k(ue,$){return new u.y(he=>{let w=0;return $.schedule(function(){w===ue.length?he.complete():(he.next(ue[w++]),he.closed||this.schedule())})})}(ue,$);if((0,I.t)(ue))return function D(ue,$){return(0,e.Xf)(ue).pipe(E($),(0,t.Q)($))}(ue,$);if((0,Q.D)(ue))return M(ue,$);if((0,Z.T)(ue))return function P(ue,$){return new u.y(he=>{let w;return(0,A.f)(he,$,()=>{w=ue[p.h](),(0,A.f)(he,$,()=>{let n,o;try{({value:n,done:o}=w.next())}catch(h){return void he.error(h)}o?he.complete():he.next(n)},0,!0)}),()=>(0,S.m)(w?.return)&&w.return()})}(ue,$);if((0,ae.L)(ue))return function _e(ue,$){return M((0,ae.Q)(ue),$)}(ue,$)}throw(0,ie.z)(ue)}function ye(ue,$){return $?ce(ue,$):(0,e.Xf)(ue)}},3280:(Ue,q,m)=>{"use strict";m.d(q,{R:()=>S});var e=m(4987),t=m(833),_=m(9525),E=m(9806),s=m(2971),D=m(8385);const u=["addListener","removeListener"],k=["addEventListener","removeEventListener"],p=["on","off"];function S(I,W,Z,Q){if((0,s.m)(Z)&&(Q=Z,Z=void 0),Q)return S(I,W,Z).pipe((0,D.Z)(Q));const[ie,ae]=function z(I){return(0,s.m)(I.addEventListener)&&(0,s.m)(I.removeEventListener)}(I)?k.map(_e=>ce=>I[_e](W,ce,Z)):function P(I){return(0,s.m)(I.addListener)&&(0,s.m)(I.removeListener)}(I)?u.map(A(I,W)):function M(I){return(0,s.m)(I.on)&&(0,s.m)(I.off)}(I)?p.map(A(I,W)):[];if(!ie&&(0,E.z)(I))return(0,_.z)(_e=>S(_e,W,Z))((0,e.Xf)(I));if(!ie)throw new TypeError("Invalid event target");return new t.y(_e=>{const ce=(...ye)=>_e.next(1ae(ce)})}function A(I,W){return Z=>Q=>I[Z](W,Q)}},4987:(Ue,q,m)=>{"use strict";m.d(q,{Xf:()=>M});var e=m(4929),t=m(9806),_=m(9548),E=m(833),s=m(1331),D=m(470),u=m(7785),k=m(3433),p=m(181),S=m(2971),A=m(4709),P=m(4585);function M(_e){if(_e instanceof E.y)return _e;if(null!=_e){if((0,s.c)(_e))return function z(_e){return new E.y(ce=>{const ye=_e[P.L]();if((0,S.m)(ye.subscribe))return ye.subscribe(ce);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(_e);if((0,t.z)(_e))return function I(_e){return new E.y(ce=>{for(let ye=0;ye<_e.length&&!ce.closed;ye++)ce.next(_e[ye]);ce.complete()})}(_e);if((0,_.t)(_e))return function W(_e){return new E.y(ce=>{_e.then(ye=>{ce.closed||(ce.next(ye),ce.complete())},ye=>ce.error(ye)).then(null,A.h)})}(_e);if((0,D.D)(_e))return Q(_e);if((0,k.T)(_e))return function Z(_e){return new E.y(ce=>{for(const ye of _e)if(ce.next(ye),ce.closed)return;ce.complete()})}(_e);if((0,p.L)(_e))return function ie(_e){return Q((0,p.Q)(_e))}(_e)}throw(0,u.z)(_e)}function Q(_e){return new E.y(ce=>{(function ae(_e,ce){var ye,ue,$,he;return(0,e.mG)(this,void 0,void 0,function*(){try{for(ye=(0,e.KL)(_e);!(ue=yield ye.next()).done;){const w=ue.value;if(ce.next(w),ce.closed)return}}catch(w){$={error:w}}finally{try{ue&&!ue.done&&(he=ye.return)&&(yield he.call(ye))}finally{if($)throw $.error}}ce.complete()})})(_e,ce).catch(ye=>ce.error(ye))})}},6646:(Ue,q,m)=>{"use strict";m.d(q,{T:()=>D});var e=m(1308),t=m(4987),_=m(591),E=m(420),s=m(7400);function D(...u){const k=(0,E.yG)(u),p=(0,E._6)(u,1/0),S=u;return S.length?1===S.length?(0,t.Xf)(S[0]):(0,e.J)(p)((0,s.D)(S,k)):_.E}},745:(Ue,q,m)=>{"use strict";m.d(q,{of:()=>_});var e=m(420),t=m(7400);function _(...E){const s=(0,e.yG)(E);return(0,t.D)(E,s)}},5474:(Ue,q,m)=>{"use strict";m.d(q,{_:()=>_});var e=m(833),t=m(2971);function _(E,s){const D=(0,t.m)(E)?E:()=>E,u=k=>k.error(D());return new e.y(s?k=>s.schedule(u,0,k):u)}},8947:(Ue,q,m)=>{"use strict";m.d(q,{H:()=>s});var e=m(833),t=m(6936),_=m(9867),E=m(7885);function s(D=0,u,k=t.P){let p=-1;return null!=u&&((0,_.K)(u)?k=u:p=u),new e.y(S=>{let A=(0,E.q)(D)?+D-k.now():D;A<0&&(A=0);let P=0;return k.schedule(function(){S.closed||(S.next(P++),0<=p?this.schedule(void 0,p):S.complete())},A)})}},3945:(Ue,q,m)=>{"use strict";m.d(q,{Q:()=>_,x:()=>t});var e=m(5463);function t(E,s,D,u,k){return new _(E,s,D,u,k)}class _ extends e.Lv{constructor(s,D,u,k,p,S){super(s),this.onFinalize=p,this.shouldUnsubscribe=S,this._next=D?function(A){try{D(A)}catch(P){s.error(P)}}:super._next,this._error=k?function(A){try{k(A)}catch(P){s.error(P)}finally{this.unsubscribe()}}:super._error,this._complete=u?function(){try{u()}catch(A){s.error(A)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var s;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:D}=this;super.unsubscribe(),!D&&(null===(s=this.onFinalize)||void 0===s||s.call(this))}}}},9211:(Ue,q,m)=>{"use strict";m.d(q,{e:()=>u});var e=m(6936),t=m(1944),_=m(4987),E=m(3945);var D=m(8947);function u(k,p=e.z){return function s(k){return(0,t.e)((p,S)=>{let A=!1,P=null,M=null,z=!1;const I=()=>{if(M?.unsubscribe(),M=null,A){A=!1;const Z=P;P=null,S.next(Z)}z&&S.complete()},W=()=>{M=null,z&&S.complete()};p.subscribe((0,E.x)(S,Z=>{A=!0,P=Z,M||(0,_.Xf)(k(Z)).subscribe(M=(0,E.x)(S,I,W))},()=>{z=!0,(!A||!M||M.closed)&&S.complete()}))})}(()=>(0,D.H)(k,p))}},3158:(Ue,q,m)=>{"use strict";m.d(q,{K:()=>E});var e=m(4987),t=m(3945),_=m(1944);function E(s){return(0,_.e)((D,u)=>{let S,k=null,p=!1;k=D.subscribe((0,t.x)(u,void 0,void 0,A=>{S=(0,e.Xf)(s(A,E(s)(D))),k?(k.unsubscribe(),k=null,S.subscribe(u)):p=!0})),p&&(k.unsubscribe(),k=null,S.subscribe(u))})}},3853:(Ue,q,m)=>{"use strict";m.d(q,{b:()=>_});var e=m(9525),t=m(2971);function _(E,s){return(0,t.m)(s)?(0,e.z)(E,s,1):(0,e.z)(E,1)}},1989:(Ue,q,m)=>{"use strict";m.d(q,{b:()=>E});var e=m(6936),t=m(1944),_=m(3945);function E(s,D=e.z){return(0,t.e)((u,k)=>{let p=null,S=null,A=null;const P=()=>{if(p){p.unsubscribe(),p=null;const z=S;S=null,k.next(z)}};function M(){const z=A+s,I=D.now();if(I{S=z,A=D.now(),p||(p=D.schedule(M,s),k.add(p))},()=>{P(),k.complete()},void 0,()=>{S=p=null}))})}},4744:(Ue,q,m)=>{"use strict";m.d(q,{d:()=>_});var e=m(1944),t=m(3945);function _(E){return(0,e.e)((s,D)=>{let u=!1;s.subscribe((0,t.x)(D,k=>{u=!0,D.next(k)},()=>{u||D.next(E),D.complete()}))})}},6234:(Ue,q,m)=>{"use strict";m.d(q,{g:()=>p});var e=m(6936),t=m(9319),_=m(9295),E=m(23),s=m(73),D=m(9525);function u(S,A){return A?P=>(0,t.z)(A.pipe((0,_.q)(1),(0,E.l)()),P.pipe(u(S))):(0,D.z)((P,M)=>S(P,M).pipe((0,_.q)(1),(0,s.h)(P)))}var k=m(8947);function p(S,A=e.z){const P=(0,k.H)(S,A);return u(()=>P)}},8977:(Ue,q,m)=>{"use strict";m.d(q,{x:()=>E});var e=m(9173),t=m(1944),_=m(3945);function E(D,u=e.y){return D=D??s,(0,t.e)((k,p)=>{let S,A=!0;k.subscribe((0,_.x)(p,P=>{const M=u(P);(A||!D(S,M))&&(A=!1,S=M,p.next(P))}))})}function s(D,u){return D===u}},116:(Ue,q,m)=>{"use strict";m.d(q,{h:()=>_});var e=m(1944),t=m(3945);function _(E,s){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>E.call(s,p,k++)&&u.next(p)))})}},2313:(Ue,q,m)=>{"use strict";m.d(q,{x:()=>t});var e=m(1944);function t(_){return(0,e.e)((E,s)=>{try{E.subscribe(s)}finally{s.add(_)}})}},155:(Ue,q,m)=>{"use strict";m.d(q,{P:()=>u});var e=m(4423),t=m(116),_=m(9295),E=m(4744),s=m(7354),D=m(9173);function u(k,p){const S=arguments.length>=2;return A=>A.pipe(k?(0,t.h)((P,M)=>k(P,M,A)):D.y,(0,_.q)(1),S?(0,E.d)(p):(0,s.T)(()=>new e.K))}},23:(Ue,q,m)=>{"use strict";m.d(q,{l:()=>E});var e=m(1944),t=m(3945),_=m(9635);function E(){return(0,e.e)((s,D)=>{s.subscribe((0,t.x)(D,_.Z))})}},635:(Ue,q,m)=>{"use strict";m.d(q,{U:()=>_});var e=m(1944),t=m(3945);function _(E,s){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>{u.next(E.call(s,p,k++))}))})}},73:(Ue,q,m)=>{"use strict";m.d(q,{h:()=>t});var e=m(635);function t(_){return(0,e.U)(()=>_)}},1308:(Ue,q,m)=>{"use strict";m.d(q,{J:()=>_});var e=m(9525),t=m(9173);function _(E=1/0){return(0,e.z)(t.y,E)}},9525:(Ue,q,m)=>{"use strict";m.d(q,{z:()=>k});var e=m(635),t=m(4987),_=m(1944),E=m(1817),s=m(3945);var u=m(2971);function k(p,S,A=1/0){return(0,u.m)(S)?k((P,M)=>(0,e.U)((z,I)=>S(P,z,M,I))((0,t.Xf)(p(P,M))),A):("number"==typeof S&&(A=S),(0,_.e)((P,M)=>function D(p,S,A,P,M,z,I,W){const Z=[];let Q=0,ie=0,ae=!1;const _e=()=>{ae&&!Z.length&&!Q&&S.complete()},ce=ue=>Q{z&&S.next(ue),Q++;let $=!1;(0,t.Xf)(A(ue,ie++)).subscribe((0,s.x)(S,he=>{M?.(he),z?ce(he):S.next(he)},()=>{$=!0},void 0,()=>{if($)try{for(Q--;Z.length&&Qye(he)):ye(he)}_e()}catch(he){S.error(he)}}))};return p.subscribe((0,s.x)(S,ce,()=>{ae=!0,_e()})),()=>{W?.()}}(P,M,p,A)))}},8728:(Ue,q,m)=>{"use strict";m.d(q,{Q:()=>E});var e=m(1817),t=m(1944),_=m(3945);function E(s,D=0){return(0,t.e)((u,k)=>{u.subscribe((0,_.x)(k,p=>(0,e.f)(k,s,()=>k.next(p),D),()=>(0,e.f)(k,s,()=>k.complete(),D),p=>(0,e.f)(k,s,()=>k.error(p),D)))})}},6074:(Ue,q,m)=>{"use strict";m.d(q,{x:()=>_});var e=m(1944),t=m(3945);function _(){return(0,e.e)((E,s)=>{let D=null;E._refCount++;const u=(0,t.x)(s,void 0,void 0,void 0,()=>{if(!E||E._refCount<=0||0<--E._refCount)return void(D=null);const k=E._connection,p=D;D=null,k&&(!p||k===p)&&k.unsubscribe(),s.unsubscribe()});E.subscribe(u),u.closed||(D=E.connect())})}},4351:(Ue,q,m)=>{"use strict";m.d(q,{R:()=>E});var e=m(1944),t=m(3945);function _(s,D,u,k,p){return(S,A)=>{let P=u,M=D,z=0;S.subscribe((0,t.x)(A,I=>{const W=z++;M=P?s(M,I,W):(P=!0,I),k&&A.next(M)},p&&(()=>{P&&A.next(M),A.complete()})))}}function E(s,D){return(0,e.e)(_(s,D,arguments.length>=2,!0))}},1203:(Ue,q,m)=>{"use strict";m.d(q,{B:()=>s});var e=m(4987),t=m(253),_=m(5463),E=m(1944);function s(u={}){const{connector:k=(()=>new t.x),resetOnError:p=!0,resetOnComplete:S=!0,resetOnRefCountZero:A=!0}=u;return P=>{let M,z,I,W=0,Z=!1,Q=!1;const ie=()=>{z?.unsubscribe(),z=void 0},ae=()=>{ie(),M=I=void 0,Z=Q=!1},_e=()=>{const ce=M;ae(),ce?.unsubscribe()};return(0,E.e)((ce,ye)=>{W++,!Q&&!Z&&ie();const ue=I=I??k();ye.add(()=>{W--,0===W&&!Q&&!Z&&(z=D(_e,A))}),ue.subscribe(ye),!M&&W>0&&(M=new _.Hp({next:$=>ue.next($),error:$=>{Q=!0,ie(),z=D(ae,p,$),ue.error($)},complete:()=>{Z=!0,ie(),z=D(ae,S),ue.complete()}}),(0,e.Xf)(ce).subscribe(M))})(P)}}function D(u,k,...p){if(!0===k)return void u();if(!1===k)return;const S=new _.Hp({next:()=>{S.unsubscribe(),u()}});return k(...p).subscribe(S)}},7260:(Ue,q,m)=>{"use strict";m.d(q,{T:()=>t});var e=m(116);function t(_){return(0,e.h)((E,s)=>_<=s)}},4874:(Ue,q,m)=>{"use strict";m.d(q,{O:()=>E});var e=m(9319),t=m(420),_=m(1944);function E(...s){const D=(0,t.yG)(s);return(0,_.e)((u,k)=>{(D?(0,e.z)(s,u,D):(0,e.z)(s,u)).subscribe(k)})}},2673:(Ue,q,m)=>{"use strict";m.d(q,{w:()=>E});var e=m(4987),t=m(1944),_=m(3945);function E(s,D){return(0,t.e)((u,k)=>{let p=null,S=0,A=!1;const P=()=>A&&!p&&k.complete();u.subscribe((0,_.x)(k,M=>{p?.unsubscribe();let z=0;const I=S++;(0,e.Xf)(s(M,I)).subscribe(p=(0,_.x)(k,W=>k.next(D?D(M,W,I,z++):W),()=>{p=null,P()}))},()=>{A=!0,P()}))})}},9295:(Ue,q,m)=>{"use strict";m.d(q,{q:()=>E});var e=m(591),t=m(1944),_=m(3945);function E(s){return s<=0?()=>e.E:(0,t.e)((D,u)=>{let k=0;D.subscribe((0,_.x)(u,p=>{++k<=s&&(u.next(p),s<=k&&u.complete())}))})}},8951:(Ue,q,m)=>{"use strict";m.d(q,{R:()=>s});var e=m(1944),t=m(3945),_=m(4987),E=m(9635);function s(D){return(0,e.e)((u,k)=>{(0,_.Xf)(D).subscribe((0,t.x)(k,()=>k.complete(),E.Z)),!k.closed&&u.subscribe(k)})}},2566:(Ue,q,m)=>{"use strict";m.d(q,{o:()=>_});var e=m(1944),t=m(3945);function _(E,s=!1){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>{const S=E(p,k++);(S||s)&&u.next(p),!S&&u.complete()}))})}},9337:(Ue,q,m)=>{"use strict";m.d(q,{b:()=>s});var e=m(2971),t=m(1944),_=m(3945),E=m(9173);function s(D,u,k){const p=(0,e.m)(D)||u||k?{next:D,error:u,complete:k}:D;return p?(0,t.e)((S,A)=>{var P;null===(P=p.subscribe)||void 0===P||P.call(p);let M=!0;S.subscribe((0,_.x)(A,z=>{var I;null===(I=p.next)||void 0===I||I.call(p,z),A.next(z)},()=>{var z;M=!1,null===(z=p.complete)||void 0===z||z.call(p),A.complete()},z=>{var I;M=!1,null===(I=p.error)||void 0===I||I.call(p,z),A.error(z)},()=>{var z,I;M&&(null===(z=p.unsubscribe)||void 0===z||z.call(p)),null===(I=p.finalize)||void 0===I||I.call(p)}))}):E.y}},7354:(Ue,q,m)=>{"use strict";m.d(q,{T:()=>E});var e=m(4423),t=m(1944),_=m(3945);function E(D=s){return(0,t.e)((u,k)=>{let p=!1;u.subscribe((0,_.x)(k,S=>{p=!0,k.next(S)},()=>p?k.complete():k.error(D())))})}function s(){return new e.K}},7580:(Ue,q,m)=>{"use strict";m.d(q,{V:()=>p});var e=m(6936),t=m(7885),_=m(1944),E=m(4987),s=m(7543),D=m(3945),u=m(1817);const k=(0,s.d)(A=>function(M=null){A(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=M});function p(A,P){const{first:M,each:z,with:I=S,scheduler:W=P??e.z,meta:Z=null}=(0,t.q)(A)?{first:A}:"number"==typeof A?{each:A}:A;if(null==M&&null==z)throw new TypeError("No timeout provided.");return(0,_.e)((Q,ie)=>{let ae,_e,ce=null,ye=0;const ue=$=>{_e=(0,u.f)(ie,W,()=>{try{ae.unsubscribe(),(0,E.Xf)(I({meta:Z,lastValue:ce,seen:ye})).subscribe(ie)}catch(he){ie.error(he)}},$)};ae=Q.subscribe((0,D.x)(ie,$=>{_e?.unsubscribe(),ye++,ie.next(ce=$),z>0&&ue(z)},void 0,void 0,()=>{_e?.closed||_e?.unsubscribe(),ce=null})),!ye&&ue(null!=M?"number"==typeof M?M:+M-W.now():z)})}function S(A){throw new k(A)}},538:(Ue,q,m)=>{"use strict";m.d(q,{M:()=>u});var e=m(1944),t=m(3945),_=m(4987),E=m(9173),s=m(9635),D=m(420);function u(...k){const p=(0,D.jO)(k);return(0,e.e)((S,A)=>{const P=k.length,M=new Array(P);let z=k.map(()=>!1),I=!1;for(let W=0;W{M[W]=Z,!I&&!z[W]&&(z[W]=!0,(I=z.every(E.y))&&(z=null))},s.Z));S.subscribe((0,t.x)(A,W=>{if(I){const Z=[W,...M];A.next(p?p(...Z):Z)}}))})}},5417:(Ue,q,m)=>{"use strict";m.d(q,{o:()=>s});var e=m(7714);class t extends e.w0{constructor(u,k){super()}schedule(u,k=0){return this}}const _={setInterval(D,u,...k){const{delegate:p}=_;return p?.setInterval?p.setInterval(D,u,...k):setInterval(D,u,...k)},clearInterval(D){const{delegate:u}=_;return(u?.clearInterval||clearInterval)(D)},delegate:void 0};var E=m(9663);class s extends t{constructor(u,k){super(u,k),this.scheduler=u,this.work=k,this.pending=!1}schedule(u,k=0){var p;if(this.closed)return this;this.state=u;const S=this.id,A=this.scheduler;return null!=S&&(this.id=this.recycleAsyncId(A,S,k)),this.pending=!0,this.delay=k,this.id=null!==(p=this.id)&&void 0!==p?p:this.requestAsyncId(A,this.id,k),this}requestAsyncId(u,k,p=0){return _.setInterval(u.flush.bind(u,this),p)}recycleAsyncId(u,k,p=0){if(null!=p&&this.delay===p&&!1===this.pending)return k;null!=k&&_.clearInterval(k)}execute(u,k){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const p=this._execute(u,k);if(p)return p;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(u,k){let S,p=!1;try{this.work(u)}catch(A){p=!0,S=A||new Error("Scheduled action threw falsy error")}if(p)return this.unsubscribe(),S}unsubscribe(){if(!this.closed){const{id:u,scheduler:k}=this,{actions:p}=k;this.work=this.state=this.scheduler=null,this.pending=!1,(0,E.P)(p,this),null!=u&&(this.id=this.recycleAsyncId(k,u,null)),this.delay=null,super.unsubscribe()}}}},1010:(Ue,q,m)=>{"use strict";m.d(q,{v:()=>_});var e=m(7654);class t{constructor(s,D=t.now){this.schedulerActionCtor=s,this.now=D}schedule(s,D=0,u){return new this.schedulerActionCtor(this,s).schedule(u,D)}}t.now=e.l.now;class _ extends t{constructor(s,D=t.now){super(s,D),this.actions=[],this._active=!1}flush(s){const{actions:D}=this;if(this._active)return void D.push(s);let u;this._active=!0;do{if(u=s.execute(s.state,s.delay))break}while(s=D.shift());if(this._active=!1,u){for(;s=D.shift();)s.unsubscribe();throw u}}}},3888:(Ue,q,m)=>{"use strict";m.d(q,{E:()=>z});var e=m(5417);let _,t=1;const E={};function s(W){return W in E&&(delete E[W],!0)}const D={setImmediate(W){const Z=t++;return E[Z]=!0,_||(_=Promise.resolve()),_.then(()=>s(Z)&&W()),Z},clearImmediate(W){s(W)}},{setImmediate:k,clearImmediate:p}=D,S={setImmediate(...W){const{delegate:Z}=S;return(Z?.setImmediate||k)(...W)},clearImmediate(W){const{delegate:Z}=S;return(Z?.clearImmediate||p)(W)},delegate:void 0};class A extends e.o{constructor(Z,Q){super(Z,Q),this.scheduler=Z,this.work=Q}requestAsyncId(Z,Q,ie=0){return null!==ie&&ie>0?super.requestAsyncId(Z,Q,ie):(Z.actions.push(this),Z._scheduled||(Z._scheduled=S.setImmediate(Z.flush.bind(Z,void 0))))}recycleAsyncId(Z,Q,ie=0){var ae;if(null!=ie?ie>0:this.delay>0)return super.recycleAsyncId(Z,Q,ie);const{actions:_e}=Z;null!=Q&&(null===(ae=_e[_e.length-1])||void 0===ae?void 0:ae.id)!==Q&&(S.clearImmediate(Q),Z._scheduled=void 0)}}var P=m(1010);class M extends P.v{flush(Z){this._active=!0;const Q=this._scheduled;this._scheduled=void 0;const{actions:ie}=this;let ae;Z=Z||ie.shift();do{if(ae=Z.execute(Z.state,Z.delay))break}while((Z=ie[0])&&Z.id===Q&&ie.shift());if(this._active=!1,ae){for(;(Z=ie[0])&&Z.id===Q&&ie.shift();)Z.unsubscribe();throw ae}}}const z=new M(A)},6936:(Ue,q,m)=>{"use strict";m.d(q,{P:()=>E,z:()=>_});var e=m(5417);const _=new(m(1010).v)(e.o),E=_},7654:(Ue,q,m)=>{"use strict";m.d(q,{l:()=>e});const e={now:()=>(e.delegate||Date).now(),delegate:void 0}},4915:(Ue,q,m)=>{"use strict";m.d(q,{N:()=>s});var e=m(5417);class t extends e.o{constructor(k,p){super(k,p),this.scheduler=k,this.work=p}schedule(k,p=0){return p>0?super.schedule(k,p):(this.delay=p,this.state=k,this.scheduler.flush(this),this)}execute(k,p){return p>0||this.closed?super.execute(k,p):this._execute(k,p)}requestAsyncId(k,p,S=0){return null!=S&&S>0||null==S&&this.delay>0?super.requestAsyncId(k,p,S):(k.flush(this),0)}}var _=m(1010);class E extends _.v{}const s=new E(t)},3542:(Ue,q,m)=>{"use strict";m.d(q,{z:()=>e});const e={setTimeout(t,_,...E){const{delegate:s}=e;return s?.setTimeout?s.setTimeout(t,_,...E):setTimeout(t,_,...E)},clearTimeout(t){const{delegate:_}=e;return(_?.clearTimeout||clearTimeout)(t)},delegate:void 0}},7321:(Ue,q,m)=>{"use strict";m.d(q,{h:()=>t});const t=function e(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},4585:(Ue,q,m)=>{"use strict";m.d(q,{L:()=>e});const e="function"==typeof Symbol&&Symbol.observable||"@@observable"},4423:(Ue,q,m)=>{"use strict";m.d(q,{K:()=>t});const t=(0,m(7543).d)(_=>function(){_(this),this.name="EmptyError",this.message="no elements in sequence"})},420:(Ue,q,m)=>{"use strict";m.d(q,{_6:()=>D,jO:()=>E,yG:()=>s});var e=m(2971),t=m(9867);function _(u){return u[u.length-1]}function E(u){return(0,e.m)(_(u))?u.pop():void 0}function s(u){return(0,t.K)(_(u))?u.pop():void 0}function D(u,k){return"number"==typeof _(u)?u.pop():k}},5756:(Ue,q,m)=>{"use strict";m.d(q,{D:()=>s});const{isArray:e}=Array,{getPrototypeOf:t,prototype:_,keys:E}=Object;function s(u){if(1===u.length){const k=u[0];if(e(k))return{args:k,keys:null};if(function D(u){return u&&"object"==typeof u&&t(u)===_}(k)){const p=E(k);return{args:p.map(S=>k[S]),keys:p}}}return{args:u,keys:null}}},9663:(Ue,q,m)=>{"use strict";function e(t,_){if(t){const E=t.indexOf(_);0<=E&&t.splice(E,1)}}m.d(q,{P:()=>e})},7543:(Ue,q,m)=>{"use strict";function e(t){const E=t(s=>{Error.call(s),s.stack=(new Error).stack});return E.prototype=Object.create(Error.prototype),E.prototype.constructor=E,E}m.d(q,{d:()=>e})},1054:(Ue,q,m)=>{"use strict";function e(t,_){return t.reduce((E,s,D)=>(E[s]=_[D],E),{})}m.d(q,{n:()=>e})},2309:(Ue,q,m)=>{"use strict";m.d(q,{O:()=>E,x:()=>_});var e=m(9057);let t=null;function _(s){if(e.v.useDeprecatedSynchronousErrorHandling){const D=!t;if(D&&(t={errorThrown:!1,error:null}),s(),D){const{errorThrown:u,error:k}=t;if(t=null,u)throw k}}else s()}function E(s){e.v.useDeprecatedSynchronousErrorHandling&&t&&(t.errorThrown=!0,t.error=s)}},1817:(Ue,q,m)=>{"use strict";function e(t,_,E,s=0,D=!1){const u=_.schedule(function(){E(),D?t.add(this.schedule(null,s)):this.unsubscribe()},s);if(t.add(u),!D)return u}m.d(q,{f:()=>e})},9173:(Ue,q,m)=>{"use strict";function e(t){return t}m.d(q,{y:()=>e})},9806:(Ue,q,m)=>{"use strict";m.d(q,{z:()=>e});const e=t=>t&&"number"==typeof t.length&&"function"!=typeof t},470:(Ue,q,m)=>{"use strict";m.d(q,{D:()=>t});var e=m(2971);function t(_){return Symbol.asyncIterator&&(0,e.m)(_?.[Symbol.asyncIterator])}},7885:(Ue,q,m)=>{"use strict";function e(t){return t instanceof Date&&!isNaN(t)}m.d(q,{q:()=>e})},2971:(Ue,q,m)=>{"use strict";function e(t){return"function"==typeof t}m.d(q,{m:()=>e})},1331:(Ue,q,m)=>{"use strict";m.d(q,{c:()=>_});var e=m(4585),t=m(2971);function _(E){return(0,t.m)(E[e.L])}},3433:(Ue,q,m)=>{"use strict";m.d(q,{T:()=>_});var e=m(7321),t=m(2971);function _(E){return(0,t.m)(E?.[e.h])}},4437:(Ue,q,m)=>{"use strict";m.d(q,{b:()=>_});var e=m(833),t=m(2971);function _(E){return!!E&&(E instanceof e.y||(0,t.m)(E.lift)&&(0,t.m)(E.subscribe))}},9548:(Ue,q,m)=>{"use strict";m.d(q,{t:()=>t});var e=m(2971);function t(_){return(0,e.m)(_?.then)}},181:(Ue,q,m)=>{"use strict";m.d(q,{L:()=>E,Q:()=>_});var e=m(4929),t=m(2971);function _(s){return(0,e.FC)(this,arguments,function*(){const u=s.getReader();try{for(;;){const{value:k,done:p}=yield(0,e.qq)(u.read());if(p)return yield(0,e.qq)(void 0);yield yield(0,e.qq)(k)}}finally{u.releaseLock()}})}function E(s){return(0,t.m)(s?.getReader)}},9867:(Ue,q,m)=>{"use strict";m.d(q,{K:()=>t});var e=m(2971);function t(_){return _&&(0,e.m)(_.schedule)}},1944:(Ue,q,m)=>{"use strict";m.d(q,{A:()=>t,e:()=>_});var e=m(2971);function t(E){return(0,e.m)(E?.lift)}function _(E){return s=>{if(t(s))return s.lift(function(D){try{return E(D,this)}catch(u){this.error(u)}});throw new TypeError("Unable to lift unknown Observable type")}}},8385:(Ue,q,m)=>{"use strict";m.d(q,{Z:()=>E});var e=m(635);const{isArray:t}=Array;function E(s){return(0,e.U)(D=>function _(s,D){return t(D)?s(...D):s(D)}(s,D))}},9635:(Ue,q,m)=>{"use strict";function e(){}m.d(q,{Z:()=>e})},629:(Ue,q,m)=>{"use strict";m.d(q,{U:()=>_,z:()=>t});var e=m(9173);function t(...E){return _(E)}function _(E){return 0===E.length?e.y:1===E.length?E[0]:function(D){return E.reduce((u,k)=>k(u),D)}}},4709:(Ue,q,m)=>{"use strict";m.d(q,{h:()=>_});var e=m(9057),t=m(3542);function _(E){t.z.setTimeout(()=>{const{onUnhandledError:s}=e.v;if(!s)throw E;s(E)})}},7785:(Ue,q,m)=>{"use strict";function e(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}m.d(q,{z:()=>e})},9708:(Ue,q,m)=>{var e=m(3195),t=e.Buffer;function _(s,D){for(var u in s)D[u]=s[u]}function E(s,D,u){return t(s,D,u)}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?Ue.exports=e:(_(e,q),q.Buffer=E),E.prototype=Object.create(t.prototype),_(t,E),E.from=function(s,D,u){if("number"==typeof s)throw new TypeError("Argument must not be a number");return t(s,D,u)},E.alloc=function(s,D,u){if("number"!=typeof s)throw new TypeError("Argument must be a number");var k=t(s);return void 0!==D?"string"==typeof u?k.fill(D,u):k.fill(D):k.fill(0),k},E.allocUnsafe=function(s){if("number"!=typeof s)throw new TypeError("Argument must be a number");return t(s)},E.allocUnsafeSlow=function(s){if("number"!=typeof s)throw new TypeError("Argument must be a number");return e.SlowBuffer(s)}},4421:(Ue,q,m)=>{"use strict";var E,e=m(3195),t=e.Buffer,_={};for(E in e)!e.hasOwnProperty(E)||"SlowBuffer"===E||"Buffer"===E||(_[E]=e[E]);var s=_.Buffer={};for(E in t)!t.hasOwnProperty(E)||"allocUnsafe"===E||"allocUnsafeSlow"===E||(s[E]=t[E]);if(_.Buffer.prototype=t.prototype,(!s.from||s.from===Uint8Array.from)&&(s.from=function(D,u,k){if("number"==typeof D)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof D);if(D&&typeof D.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof D);return t(D,u,k)}),s.alloc||(s.alloc=function(D,u,k){if("number"!=typeof D)throw new TypeError('The "size" argument must be of type number. Received type '+typeof D);if(D<0||D>=2*(1<<30))throw new RangeError('The value "'+D+'" is invalid for option "size"');var p=t(D);return u&&0!==u.length?"string"==typeof k?p.fill(u,k):p.fill(u):p.fill(0),p}),!_.kStringMaxLength)try{_.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}_.constants||(_.constants={MAX_LENGTH:_.kMaxLength},_.kStringMaxLength&&(_.constants.MAX_STRING_LENGTH=_.kStringMaxLength)),Ue.exports=_},2443:(Ue,q,m)=>{var e=m(9708).Buffer;function t(_,E){this._block=e.alloc(_),this._finalSize=E,this._blockSize=_,this._len=0}t.prototype.update=function(_,E){"string"==typeof _&&(E=E||"utf8",_=e.from(_,E));for(var s=this._block,D=this._blockSize,u=_.length,k=this._len,p=0;p=this._finalSize&&(this._update(this._block),this._block.fill(0));var s=8*this._len;if(s<=4294967295)this._block.writeUInt32BE(s,this._blockSize-4);else{var D=(4294967295&s)>>>0,u=(s-D)/4294967296;this._block.writeUInt32BE(u,this._blockSize-8),this._block.writeUInt32BE(D,this._blockSize-4)}this._update(this._block);var k=this._hash();return _?k.toString(_):k},t.prototype._update=function(){throw new Error("_update must be implemented by subclass")},Ue.exports=t},1001:(Ue,q,m)=>{var e=Ue.exports=function(_){_=_.toLowerCase();var E=e[_];if(!E)throw new Error(_+" is not supported (we accept pull requests)");return new E};e.sha=m(6216),e.sha1=m(442),e.sha224=m(3843),e.sha256=m(4507),e.sha384=m(8660),e.sha512=m(3544)},6216:(Ue,q,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(S){return S<<5|S>>>27}function k(S){return S<<30|S>>>2}function p(S,A,P,M){return 0===S?A&P|~A&M:2===S?A&P|A&M|P&M:A^P^M}e(D,t),D.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},D.prototype._update=function(S){for(var A=this._w,P=0|this._a,M=0|this._b,z=0|this._c,I=0|this._d,W=0|this._e,Z=0;Z<16;++Z)A[Z]=S.readInt32BE(4*Z);for(;Z<80;++Z)A[Z]=A[Z-3]^A[Z-8]^A[Z-14]^A[Z-16];for(var Q=0;Q<80;++Q){var ie=~~(Q/20),ae=u(P)+p(ie,M,z,I)+W+A[Q]+E[ie]|0;W=I,I=z,z=k(M),M=P,P=ae}this._a=P+this._a|0,this._b=M+this._b|0,this._c=z+this._c|0,this._d=I+this._d|0,this._e=W+this._e|0},D.prototype._hash=function(){var S=_.allocUnsafe(20);return S.writeInt32BE(0|this._a,0),S.writeInt32BE(0|this._b,4),S.writeInt32BE(0|this._c,8),S.writeInt32BE(0|this._d,12),S.writeInt32BE(0|this._e,16),S},Ue.exports=D},442:(Ue,q,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(A){return A<<1|A>>>31}function k(A){return A<<5|A>>>27}function p(A){return A<<30|A>>>2}function S(A,P,M,z){return 0===A?P&M|~P&z:2===A?P&M|P&z|M&z:P^M^z}e(D,t),D.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},D.prototype._update=function(A){for(var P=this._w,M=0|this._a,z=0|this._b,I=0|this._c,W=0|this._d,Z=0|this._e,Q=0;Q<16;++Q)P[Q]=A.readInt32BE(4*Q);for(;Q<80;++Q)P[Q]=u(P[Q-3]^P[Q-8]^P[Q-14]^P[Q-16]);for(var ie=0;ie<80;++ie){var ae=~~(ie/20),_e=k(M)+S(ae,z,I,W)+Z+P[ie]+E[ae]|0;Z=W,W=I,I=p(z),z=M,M=_e}this._a=M+this._a|0,this._b=z+this._b|0,this._c=I+this._c|0,this._d=W+this._d|0,this._e=Z+this._e|0},D.prototype._hash=function(){var A=_.allocUnsafe(20);return A.writeInt32BE(0|this._a,0),A.writeInt32BE(0|this._b,4),A.writeInt32BE(0|this._c,8),A.writeInt32BE(0|this._d,12),A.writeInt32BE(0|this._e,16),A},Ue.exports=D},3843:(Ue,q,m)=>{var e=m(5035),t=m(4507),_=m(2443),E=m(9708).Buffer,s=new Array(64);function D(){this.init(),this._w=s,_.call(this,64,56)}e(D,t),D.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},D.prototype._hash=function(){var u=E.allocUnsafe(28);return u.writeInt32BE(this._a,0),u.writeInt32BE(this._b,4),u.writeInt32BE(this._c,8),u.writeInt32BE(this._d,12),u.writeInt32BE(this._e,16),u.writeInt32BE(this._f,20),u.writeInt32BE(this._g,24),u},Ue.exports=D},4507:(Ue,q,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(M,z,I){return I^M&(z^I)}function k(M,z,I){return M&z|I&(M|z)}function p(M){return(M>>>2|M<<30)^(M>>>13|M<<19)^(M>>>22|M<<10)}function S(M){return(M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7)}function A(M){return(M>>>7|M<<25)^(M>>>18|M<<14)^M>>>3}function P(M){return(M>>>17|M<<15)^(M>>>19|M<<13)^M>>>10}e(D,t),D.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},D.prototype._update=function(M){for(var z=this._w,I=0|this._a,W=0|this._b,Z=0|this._c,Q=0|this._d,ie=0|this._e,ae=0|this._f,_e=0|this._g,ce=0|this._h,ye=0;ye<16;++ye)z[ye]=M.readInt32BE(4*ye);for(;ye<64;++ye)z[ye]=P(z[ye-2])+z[ye-7]+A(z[ye-15])+z[ye-16]|0;for(var ue=0;ue<64;++ue){var $=ce+S(ie)+u(ie,ae,_e)+E[ue]+z[ue]|0,he=p(I)+k(I,W,Z)|0;ce=_e,_e=ae,ae=ie,ie=Q+$|0,Q=Z,Z=W,W=I,I=$+he|0}this._a=I+this._a|0,this._b=W+this._b|0,this._c=Z+this._c|0,this._d=Q+this._d|0,this._e=ie+this._e|0,this._f=ae+this._f|0,this._g=_e+this._g|0,this._h=ce+this._h|0},D.prototype._hash=function(){var M=_.allocUnsafe(32);return M.writeInt32BE(this._a,0),M.writeInt32BE(this._b,4),M.writeInt32BE(this._c,8),M.writeInt32BE(this._d,12),M.writeInt32BE(this._e,16),M.writeInt32BE(this._f,20),M.writeInt32BE(this._g,24),M.writeInt32BE(this._h,28),M},Ue.exports=D},8660:(Ue,q,m)=>{var e=m(5035),t=m(3544),_=m(2443),E=m(9708).Buffer,s=new Array(160);function D(){this.init(),this._w=s,_.call(this,128,112)}e(D,t),D.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},D.prototype._hash=function(){var u=E.allocUnsafe(48);function k(p,S,A){u.writeInt32BE(p,A),u.writeInt32BE(S,A+4)}return k(this._ah,this._al,0),k(this._bh,this._bl,8),k(this._ch,this._cl,16),k(this._dh,this._dl,24),k(this._eh,this._el,32),k(this._fh,this._fl,40),u},Ue.exports=D},3544:(Ue,q,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function D(){this.init(),this._w=s,t.call(this,128,112)}function u(W,Z,Q){return Q^W&(Z^Q)}function k(W,Z,Q){return W&Z|Q&(W|Z)}function p(W,Z){return(W>>>28|Z<<4)^(Z>>>2|W<<30)^(Z>>>7|W<<25)}function S(W,Z){return(W>>>14|Z<<18)^(W>>>18|Z<<14)^(Z>>>9|W<<23)}function A(W,Z){return(W>>>1|Z<<31)^(W>>>8|Z<<24)^W>>>7}function P(W,Z){return(W>>>1|Z<<31)^(W>>>8|Z<<24)^(W>>>7|Z<<25)}function M(W,Z){return(W>>>19|Z<<13)^(Z>>>29|W<<3)^W>>>6}function z(W,Z){return(W>>>19|Z<<13)^(Z>>>29|W<<3)^(W>>>6|Z<<26)}function I(W,Z){return W>>>0>>0?1:0}e(D,t),D.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},D.prototype._update=function(W){for(var Z=this._w,Q=0|this._ah,ie=0|this._bh,ae=0|this._ch,_e=0|this._dh,ce=0|this._eh,ye=0|this._fh,ue=0|this._gh,$=0|this._hh,he=0|this._al,w=0|this._bl,n=0|this._cl,o=0|this._dl,h=0|this._el,d=0|this._fl,y=0|this._gl,L=0|this._hl,B=0;B<32;B+=2)Z[B]=W.readInt32BE(4*B),Z[B+1]=W.readInt32BE(4*B+4);for(;B<160;B+=2){var v=Z[B-30],a=Z[B-30+1],C=A(v,a),N=P(a,v),F=M(v=Z[B-4],a=Z[B-4+1]),X=z(a,v),Fe=Z[B-14],ke=Z[B-14+1],Ke=Z[B-32],je=Z[B-32+1],Ve=N+ke|0,xe=C+Fe+I(Ve,N)|0;xe=(xe=xe+F+I(Ve=Ve+X|0,X)|0)+Ke+I(Ve=Ve+je|0,je)|0,Z[B]=xe,Z[B+1]=Ve}for(var Ze=0;Ze<160;Ze+=2){xe=Z[Ze],Ve=Z[Ze+1];var Ie=k(Q,ie,ae),ve=k(he,w,n),et=p(Q,he),ht=p(he,Q),Le=S(ce,h),Ae=S(h,ce),te=E[Ze],pe=E[Ze+1],ee=u(ce,ye,ue),H=u(h,d,y),j=L+Ae|0,Oe=$+Le+I(j,L)|0;Oe=(Oe=(Oe=Oe+ee+I(j=j+H|0,H)|0)+te+I(j=j+pe|0,pe)|0)+xe+I(j=j+Ve|0,Ve)|0;var Re=ht+ve|0,le=et+Ie+I(Re,ht)|0;$=ue,L=y,ue=ye,y=d,ye=ce,d=h,ce=_e+Oe+I(h=o+j|0,o)|0,_e=ae,o=n,ae=ie,n=w,ie=Q,w=he,Q=Oe+le+I(he=j+Re|0,j)|0}this._al=this._al+he|0,this._bl=this._bl+w|0,this._cl=this._cl+n|0,this._dl=this._dl+o|0,this._el=this._el+h|0,this._fl=this._fl+d|0,this._gl=this._gl+y|0,this._hl=this._hl+L|0,this._ah=this._ah+Q+I(this._al,he)|0,this._bh=this._bh+ie+I(this._bl,w)|0,this._ch=this._ch+ae+I(this._cl,n)|0,this._dh=this._dh+_e+I(this._dl,o)|0,this._eh=this._eh+ce+I(this._el,h)|0,this._fh=this._fh+ye+I(this._fl,d)|0,this._gh=this._gh+ue+I(this._gl,y)|0,this._hh=this._hh+$+I(this._hl,L)|0},D.prototype._hash=function(){var W=_.allocUnsafe(64);function Z(Q,ie,ae){W.writeInt32BE(Q,ae),W.writeInt32BE(ie,ae+4)}return Z(this._ah,this._al,0),Z(this._bh,this._bl,8),Z(this._ch,this._cl,16),Z(this._dh,this._dl,24),Z(this._eh,this._el,32),Z(this._fh,this._fl,40),Z(this._gh,this._gl,48),Z(this._hh,this._hl,56),W},Ue.exports=D},9591:function(Ue,q,m){!function(e){"use strict";var t={};Ue.exports?(t.bytesToHex=m(4123).bytesToHex,t.convertString=m(4056),Ue.exports=k):(t.bytesToHex=e.convertHex.bytesToHex,t.convertString=e.convertString,e.sha256=k);var _=[];!function(){function p(M){for(var z=Math.sqrt(M),I=2;I<=z;I++)if(!(M%I))return!1;return!0}for(var A=2,P=0;P<64;)p(A)&&(_[P]=4294967296*((M=Math.pow(A,1/3))-(0|M))|0,P++),A++;var M}();var D=[],u=function(p,S,A){for(var P=p[0],M=p[1],z=p[2],I=p[3],W=p[4],Z=p[5],Q=p[6],ie=p[7],ae=0;ae<64;ae++){if(ae<16)D[ae]=0|S[A+ae];else{var _e=D[ae-15],ce=(_e<<25|_e>>>7)^(_e<<14|_e>>>18)^_e>>>3,ye=D[ae-2],ue=(ye<<15|ye>>>17)^(ye<<13|ye>>>19)^ye>>>10;D[ae]=ce+D[ae-7]+ue+D[ae-16]}var he=P&M^P&z^M&z,w=(P<<30|P>>>2)^(P<<19|P>>>13)^(P<<10|P>>>22),o=ie+((W<<26|W>>>6)^(W<<21|W>>>11)^(W<<7|W>>>25))+(W&Z^~W&Q)+_[ae]+D[ae];ie=Q,Q=Z,Z=W,W=I+o|0,I=z,z=M,M=P,P=o+(w+he)|0}p[0]=p[0]+P|0,p[1]=p[1]+M|0,p[2]=p[2]+z|0,p[3]=p[3]+I|0,p[4]=p[4]+W|0,p[5]=p[5]+Z|0,p[6]=p[6]+Q|0,p[7]=p[7]+ie|0};function k(p,S){p.constructor===String&&(p=t.convertString.UTF8.stringToBytes(p));var A=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],P=function(p){for(var S=[],A=0,P=0;A>>5]|=p[A]<<24-P%32;return S}(p),M=8*p.length;P[M>>5]|=128<<24-M%32,P[15+(M+64>>9<<4)]=M;for(var z=0;z>>5]>>>24-A%32&255);return S}(A);return S&&S.asBytes?I:S&&S.asString?t.convertString.bytesToString(I):t.bytesToHex(I)}k.x2=function(p,S){return k(k(p,{asBytes:!0}),S)}}(this)},9046:(Ue,q,m)=>{"use strict";const e=Symbol.prototype.valueOf,t=m(8220);Ue.exports=function _(p,S){switch(t(p)){case"array":return p.slice();case"object":return Object.assign({},p);case"date":return new p.constructor(Number(p));case"map":return new Map(p);case"set":return new Set(p);case"buffer":return function u(p){const S=p.length,A=Buffer.allocUnsafe?Buffer.allocUnsafe(S):Buffer.from(S);return p.copy(A),A}(p);case"symbol":return function k(p){return e?Object(e.call(p)):{}}(p);case"arraybuffer":return function s(p){const S=new p.constructor(p.byteLength);return new Uint8Array(S).set(new Uint8Array(p)),S}(p);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return function D(p,S){return new p.constructor(p.buffer,p.byteOffset,p.length)}(p);case"regexp":return function E(p){const S=void 0!==p.flags?p.flags:/\w+$/.exec(p)||void 0,A=new p.constructor(p.source,S);return A.lastIndex=p.lastIndex,A}(p);case"error":return Object.create(p);default:return p}}},574:(Ue,q,m)=>{Ue.exports=_;var e=m(3358).EventEmitter;function _(){e.call(this)}m(5035)(_,e),_.Readable=m(1396),_.Writable=m(1120),_.Duplex=m(9800),_.Transform=m(8157),_.PassThrough=m(1908),_.finished=m(7722),_.pipeline=m(8096),_.Stream=_,_.prototype.pipe=function(E,s){var D=this;function u(z){E.writable&&!1===E.write(z)&&D.pause&&D.pause()}function k(){D.readable&&D.resume&&D.resume()}D.on("data",u),E.on("drain",k),!E._isStdio&&(!s||!1!==s.end)&&(D.on("end",S),D.on("close",A));var p=!1;function S(){p||(p=!0,E.end())}function A(){p||(p=!0,"function"==typeof E.destroy&&E.destroy())}function P(z){if(M(),0===e.listenerCount(this,"error"))throw z}function M(){D.removeListener("data",u),E.removeListener("drain",k),D.removeListener("end",S),D.removeListener("close",A),D.removeListener("error",P),E.removeListener("error",P),D.removeListener("end",M),D.removeListener("close",M),E.removeListener("close",M)}return D.on("error",P),E.on("error",P),D.on("end",M),D.on("close",M),E.on("close",M),E.emit("pipe",D),E}},4547:(Ue,q,m)=>{"use strict";var e=m(9708).Buffer,t=e.isEncoding||function(Q){switch((Q=""+Q)&&Q.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(Q){var ie;switch(this.encoding=function E(Q){var ie=function _(Q){if(!Q)return"utf8";for(var ie;;)switch(Q){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return Q;default:if(ie)return;Q=(""+Q).toLowerCase(),ie=!0}}(Q);if("string"!=typeof ie&&(e.isEncoding===t||!t(Q)))throw new Error("Unknown encoding: "+Q);return ie||Q}(Q),this.encoding){case"utf16le":this.text=P,this.end=M,ie=4;break;case"utf8":this.fillLast=p,ie=4;break;case"base64":this.text=z,this.end=I,ie=3;break;default:return this.write=W,void(this.end=Z)}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(ie)}function D(Q){return Q<=127?0:Q>>5==6?2:Q>>4==14?3:Q>>3==30?4:Q>>6==2?-1:-2}function p(Q){var ie=this.lastTotal-this.lastNeed,ae=function k(Q,ie,ae){if(128!=(192&ie[0]))return Q.lastNeed=0,"\ufffd";if(Q.lastNeed>1&&ie.length>1){if(128!=(192&ie[1]))return Q.lastNeed=1,"\ufffd";if(Q.lastNeed>2&&ie.length>2&&128!=(192&ie[2]))return Q.lastNeed=2,"\ufffd"}}(this,Q);return void 0!==ae?ae:this.lastNeed<=Q.length?(Q.copy(this.lastChar,ie,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(Q.copy(this.lastChar,ie,0,Q.length),void(this.lastNeed-=Q.length))}function P(Q,ie){if((Q.length-ie)%2==0){var ae=Q.toString("utf16le",ie);if(ae){var _e=ae.charCodeAt(ae.length-1);if(_e>=55296&&_e<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=Q[Q.length-2],this.lastChar[1]=Q[Q.length-1],ae.slice(0,-1)}return ae}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=Q[Q.length-1],Q.toString("utf16le",ie,Q.length-1)}function M(Q){var ie=Q&&Q.length?this.write(Q):"";if(this.lastNeed){var ae=this.lastTotal-this.lastNeed;return ie+this.lastChar.toString("utf16le",0,ae)}return ie}function z(Q,ie){var ae=(Q.length-ie)%3;return 0===ae?Q.toString("base64",ie):(this.lastNeed=3-ae,this.lastTotal=3,1===ae?this.lastChar[0]=Q[Q.length-1]:(this.lastChar[0]=Q[Q.length-2],this.lastChar[1]=Q[Q.length-1]),Q.toString("base64",ie,Q.length-ae))}function I(Q){var ie=Q&&Q.length?this.write(Q):"";return this.lastNeed?ie+this.lastChar.toString("base64",0,3-this.lastNeed):ie}function W(Q){return Q.toString(this.encoding)}function Z(Q){return Q&&Q.length?this.write(Q):""}q.s=s,s.prototype.write=function(Q){if(0===Q.length)return"";var ie,ae;if(this.lastNeed){if(void 0===(ie=this.fillLast(Q)))return"";ae=this.lastNeed,this.lastNeed=0}else ae=0;return ae=0?(ce>0&&(Q.lastNeed=ce-1),ce):--_e=0?(ce>0&&(Q.lastNeed=ce-2),ce):--_e=0?(ce>0&&(2===ce?ce=0:Q.lastNeed=ce-3),ce):0}(this,Q,ie);if(!this.lastNeed)return Q.toString("utf8",ie);this.lastTotal=ae;var _e=Q.length-(ae-this.lastNeed);return Q.copy(this.lastChar,0,_e),Q.toString("utf8",ie,_e)},s.prototype.fillLast=function(Q){if(this.lastNeed<=Q.length)return Q.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);Q.copy(this.lastChar,this.lastTotal-this.lastNeed,0,Q.length),this.lastNeed-=Q.length}},917:(Ue,q,m)=>{var e=m(1546);q.encode=e.encode,q.decode=e.decode},1546:(Ue,q)=>{"use strict";var e=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];q.encode=function(_){Buffer.isBuffer(_)||(_=new Buffer(_));for(var E=0,s=0,D=0,u=0,k=new Buffer(8*function t(_){var E=Math.floor(_.length/5);return _.length%5==0?E:E+1}(_));E<_.length;){var p=_[E];D>3?(u=(u=p&255>>D)<<(D=(D+5)%8)|(E+1<_.length?_[E+1]:0)>>8-D,E++):(u=p>>8-(D+5)&31,0===(D=(D+5)%8)&&E++),k[s]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(u),s++}for(E=s;E>>(E=(E+5)%8),k[u]=D,u++,D=255&s<<8-E)}return k.slice(0,u)}},8059:Ue=>{function m(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}Ue.exports=function q(e,t){if(m("noDeprecation"))return e;var _=!1;return function E(){if(!_){if(m("throwDeprecation"))throw new Error(t);m("traceDeprecation")?console.trace(t):console.warn(t),_=!0}return e.apply(this,arguments)}}},4929:(Ue,q,m)=>{"use strict";m.d(q,{FC:()=>Q,KL:()=>ae,gn:()=>s,mG:()=>k,qq:()=>Z});function s(n,o,h,d){var B,y=arguments.length,L=y<3?o:null===d?d=Object.getOwnPropertyDescriptor(o,h):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)L=Reflect.decorate(n,o,h,d);else for(var v=n.length-1;v>=0;v--)(B=n[v])&&(L=(y<3?B(L):y>3?B(o,h,L):B(o,h))||L);return y>3&&L&&Object.defineProperty(o,h,L),L}function k(n,o,h,d){return new(h||(h=Promise))(function(L,B){function v(N){try{C(d.next(N))}catch(F){B(F)}}function a(N){try{C(d.throw(N))}catch(F){B(F)}}function C(N){N.done?L(N.value):function y(L){return L instanceof h?L:new h(function(B){B(L)})}(N.value).then(v,a)}C((d=d.apply(n,o||[])).next())})}Object.create;function P(n){var o="function"==typeof Symbol&&Symbol.iterator,h=o&&n[o],d=0;if(h)return h.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&d>=n.length&&(n=void 0),{value:n&&n[d++],done:!n}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")}function Z(n){return this instanceof Z?(this.v=n,this):new Z(n)}function Q(n,o,h){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var y,d=h.apply(n,o||[]),L=[];return y={},B("next"),B("throw"),B("return"),y[Symbol.asyncIterator]=function(){return this},y;function B(X){d[X]&&(y[X]=function(Fe){return new Promise(function(ke,Ke){L.push([X,Fe,ke,Ke])>1||v(X,Fe)})})}function v(X,Fe){try{!function a(X){X.value instanceof Z?Promise.resolve(X.value.v).then(C,N):F(L[0][2],X)}(d[X](Fe))}catch(ke){F(L[0][3],ke)}}function C(X){v("next",X)}function N(X){v("throw",X)}function F(X,Fe){X(Fe),L.shift(),L.length&&v(L[0][0],L[0][1])}}function ae(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var h,o=n[Symbol.asyncIterator];return o?o.call(n):(n=P(n),h={},d("next"),d("throw"),d("return"),h[Symbol.asyncIterator]=function(){return this},h);function d(L){h[L]=n[L]&&function(B){return new Promise(function(v,a){(function y(L,B,v,a){Promise.resolve(a).then(function(C){L({value:C,done:v})},B)})(v,a,(B=n[L](B)).done,B.value)})}}}Object.create},950:()=>{},6601:()=>{},8623:()=>{},7748:()=>{},5568:()=>{},6619:()=>{},7108:()=>{},2361:()=>{},4616:()=>{},4851:(Ue,q,m)=>{"use strict";m.d(q,{F4:()=>S,IO:()=>I,LC:()=>t,SB:()=>p,X$:()=>E,ZE:()=>ie,ZN:()=>Q,_j:()=>e,eR:()=>A,jt:()=>s,k1:()=>ae,l3:()=>_,oB:()=>k,pV:()=>M,ru:()=>D,vP:()=>u});class e{}class t{}const _="*";function E(_e,ce){return{type:7,name:_e,definitions:ce,options:{}}}function s(_e,ce=null){return{type:4,styles:ce,timings:_e}}function D(_e,ce=null){return{type:3,steps:_e,options:ce}}function u(_e,ce=null){return{type:2,steps:_e,options:ce}}function k(_e){return{type:6,styles:_e,offset:null}}function p(_e,ce,ye){return{type:0,name:_e,styles:ce,options:ye}}function S(_e){return{type:5,steps:_e}}function A(_e,ce,ye=null){return{type:1,expr:_e,animation:ce,options:ye}}function M(_e=null){return{type:9,options:_e}}function I(_e,ce,ye=null){return{type:11,selector:_e,animation:ce,options:ye}}function Z(_e){Promise.resolve().then(_e)}class Q{constructor(ce=0,ye=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=ce+ye}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ce=>ce()),this._onDoneFns=[])}onStart(ce){this._originalOnStartFns.push(ce),this._onStartFns.push(ce)}onDone(ce){this._originalOnDoneFns.push(ce),this._onDoneFns.push(ce)}onDestroy(ce){this._onDestroyFns.push(ce)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){Z(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(ce=>ce()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(ce=>ce()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(ce){this._position=this.totalTime?ce*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(ce){const ye="start"==ce?this._onStartFns:this._onDoneFns;ye.forEach(ue=>ue()),ye.length=0}}class ie{constructor(ce){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=ce;let ye=0,ue=0,$=0;const he=this.players.length;0==he?Z(()=>this._onFinish()):this.players.forEach(w=>{w.onDone(()=>{++ye==he&&this._onFinish()}),w.onDestroy(()=>{++ue==he&&this._onDestroy()}),w.onStart(()=>{++$==he&&this._onStart()})}),this.totalTime=this.players.reduce((w,n)=>Math.max(w,n.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(ce=>ce()),this._onDoneFns=[])}init(){this.players.forEach(ce=>ce.init())}onStart(ce){this._onStartFns.push(ce)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(ce=>ce()),this._onStartFns=[])}onDone(ce){this._onDoneFns.push(ce)}onDestroy(ce){this._onDestroyFns.push(ce)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(ce=>ce.play())}pause(){this.players.forEach(ce=>ce.pause())}restart(){this.players.forEach(ce=>ce.restart())}finish(){this._onFinish(),this.players.forEach(ce=>ce.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(ce=>ce.destroy()),this._onDestroyFns.forEach(ce=>ce()),this._onDestroyFns=[])}reset(){this.players.forEach(ce=>ce.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(ce){const ye=ce*this.totalTime;this.players.forEach(ue=>{const $=ue.totalTime?Math.min(1,ye/ue.totalTime):1;ue.setPosition($)})}getPosition(){const ce=this.players.reduce((ye,ue)=>null===ye||ue.totalTime>ye.totalTime?ue:ye,null);return null!=ce?ce.getPosition():0}beforeDestroy(){this.players.forEach(ce=>{ce.beforeDestroy&&ce.beforeDestroy()})}triggerCallback(ce){const ye="start"==ce?this._onStartFns:this._onDoneFns;ye.forEach(ue=>ue()),ye.length=0}}const ae="!"},4218:(Ue,q,m)=>{"use strict";m.d(q,{$s:()=>n,Em:()=>L,Kd:()=>Bt,X6:()=>ee,ic:()=>v,kH:()=>In,mK:()=>et,qV:()=>ve,qm:()=>tt,rt:()=>vt,s1:()=>y,tE:()=>Gt,yG:()=>H});var e=m(4666),t=m(2560),_=m(9107),E=m(253),s=m(7714),D=m(6317),u=m(745),k=m(8456),p=m(9337),S=m(1989),A=m(116),P=m(635),M=m(9295),z=m(7260),I=m(8977),W=m(8951),Z=m(8971),Q=m(3773),ie=m(3278);function ye(dt,se){return(dt.getAttribute(se)||"").match(/\S+/g)||[]}const $="cdk-describedby-message",he="cdk-describedby-host";let w=0;class n{constructor(se,J){this._platform=J,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+w++,this._document=se,this._id=(0,t.f3M)(t.AFp)+"-"+w++}describe(se,J,oe){if(!this._canBeDescribed(se,J))return;const De=o(J,oe);"string"!=typeof J?(h(J,this._id),this._messageRegistry.set(De,{messageElement:J,referenceCount:0})):this._messageRegistry.has(De)||this._createMessageElement(J,oe),this._isElementDescribedByMessage(se,De)||this._addMessageReference(se,De)}removeDescription(se,J,oe){if(!J||!this._isElementNode(se))return;const De=o(J,oe);if(this._isElementDescribedByMessage(se,De)&&this._removeMessageReference(se,De),"string"==typeof J){const Ye=this._messageRegistry.get(De);Ye&&0===Ye.referenceCount&&this._deleteMessageElement(De)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const se=this._document.querySelectorAll(`[${he}="${this._id}"]`);for(let J=0;J0!=oe.indexOf($));se.setAttribute("aria-describedby",J.join(" "))}_addMessageReference(se,J){const oe=this._messageRegistry.get(J);(function _e(dt,se,J){const oe=ye(dt,se);oe.some(De=>De.trim()==J.trim())||(oe.push(J.trim()),dt.setAttribute(se,oe.join(" ")))})(se,"aria-describedby",oe.messageElement.id),se.setAttribute(he,this._id),oe.referenceCount++}_removeMessageReference(se,J){const oe=this._messageRegistry.get(J);oe.referenceCount--,function ce(dt,se,J){const De=ye(dt,se).filter(Ye=>Ye!=J.trim());De.length?dt.setAttribute(se,De.join(" ")):dt.removeAttribute(se)}(se,"aria-describedby",oe.messageElement.id),se.removeAttribute(he)}_isElementDescribedByMessage(se,J){const oe=ye(se,"aria-describedby"),De=this._messageRegistry.get(J),Ye=De&&De.messageElement.id;return!!Ye&&-1!=oe.indexOf(Ye)}_canBeDescribed(se,J){if(!this._isElementNode(se))return!1;if(J&&"object"==typeof J)return!0;const oe=null==J?"":`${J}`.trim(),De=se.getAttribute("aria-label");return!!oe&&(!De||De.trim()!==oe)}_isElementNode(se){return se.nodeType===this._document.ELEMENT_NODE}}function o(dt,se){return"string"==typeof dt?`${se||""}/${dt}`:dt}function h(dt,se){dt.id||(dt.id=`${$}-${se}-${w++}`)}n.\u0275fac=function(se){return new(se||n)(t.LFG(e.K0),t.LFG(_.t4))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"});class d{constructor(se){this._items=se,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new E.x,this._typeaheadSubscription=s.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=J=>J.disabled,this._pressedLetters=[],this.tabOut=new E.x,this.change=new E.x,se instanceof t.n_E&&se.changes.subscribe(J=>{if(this._activeItem){const De=J.toArray().indexOf(this._activeItem);De>-1&&De!==this._activeItemIndex&&(this._activeItemIndex=De)}})}skipPredicate(se){return this._skipPredicateFn=se,this}withWrap(se=!0){return this._wrap=se,this}withVerticalOrientation(se=!0){return this._vertical=se,this}withHorizontalOrientation(se){return this._horizontal=se,this}withAllowedModifierKeys(se){return this._allowedModifierKeys=se,this}withTypeAhead(se=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,p.b)(J=>this._pressedLetters.push(J)),(0,S.b)(se),(0,A.h)(()=>this._pressedLetters.length>0),(0,P.U)(()=>this._pressedLetters.join(""))).subscribe(J=>{const oe=this._getItemsArray();for(let De=1;De!se[Ye]||this._allowedModifierKeys.indexOf(Ye)>-1);switch(J){case k.Mf:return void this.tabOut.next();case k.JH:if(this._vertical&&De){this.setNextItemActive();break}return;case k.LH:if(this._vertical&&De){this.setPreviousItemActive();break}return;case k.SV:if(this._horizontal&&De){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case k.oh:if(this._horizontal&&De){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case k.Sd:if(this._homeAndEnd&&De){this.setFirstItemActive();break}return;case k.uR:if(this._homeAndEnd&&De){this.setLastItemActive();break}return;default:return void((De||(0,k.Vb)(se,"shiftKey"))&&(se.key&&1===se.key.length?this._letterKeyStream.next(se.key.toLocaleUpperCase()):(J>=k.A&&J<=k.Z||J>=k.xE&&J<=k.aO)&&this._letterKeyStream.next(String.fromCharCode(J))))}this._pressedLetters=[],se.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(se){const J=this._getItemsArray(),oe="number"==typeof se?se:J.indexOf(se),De=J[oe];this._activeItem=De??null,this._activeItemIndex=oe}_setActiveItemByDelta(se){this._wrap?this._setActiveInWrapMode(se):this._setActiveInDefaultMode(se)}_setActiveInWrapMode(se){const J=this._getItemsArray();for(let oe=1;oe<=J.length;oe++){const De=(this._activeItemIndex+se*oe+J.length)%J.length,Ye=J[De];if(!this._skipPredicateFn(Ye))return void this.setActiveItem(De)}}_setActiveInDefaultMode(se){this._setActiveItemByIndex(this._activeItemIndex+se,se)}_setActiveItemByIndex(se,J){const oe=this._getItemsArray();if(oe[se]){for(;this._skipPredicateFn(oe[se]);)if(!oe[se+=J])return;this.setActiveItem(se)}}_getItemsArray(){return this._items instanceof t.n_E?this._items.toArray():this._items}}class y extends d{setActiveItem(se){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(se),this.activeItem&&this.activeItem.setActiveStyles()}}class L extends d{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(se){return this._origin=se,this}setActiveItem(se){super.setActiveItem(se),this.activeItem&&this.activeItem.focus(this._origin)}}class v{constructor(se){this._platform=se}isDisabled(se){return se.hasAttribute("disabled")}isVisible(se){return function C(dt){return!!(dt.offsetWidth||dt.offsetHeight||"function"==typeof dt.getClientRects&&dt.getClientRects().length)}(se)&&"visible"===getComputedStyle(se).visibility}isTabbable(se){if(!this._platform.isBrowser)return!1;const J=function a(dt){try{return dt.frameElement}catch{return null}}(function Ze(dt){return dt.ownerDocument&&dt.ownerDocument.defaultView||window}(se));if(J&&(-1===je(J)||!this.isVisible(J)))return!1;let oe=se.nodeName.toLowerCase(),De=je(se);return se.hasAttribute("contenteditable")?-1!==De:!("iframe"===oe||"object"===oe||this._platform.WEBKIT&&this._platform.IOS&&!function Ve(dt){let se=dt.nodeName.toLowerCase(),J="input"===se&&dt.type;return"text"===J||"password"===J||"select"===se||"textarea"===se}(se))&&("audio"===oe?!!se.hasAttribute("controls")&&-1!==De:"video"===oe?-1!==De&&(null!==De||(this._platform.FIREFOX||se.hasAttribute("controls"))):se.tabIndex>=0)}isFocusable(se,J){return function xe(dt){return!function F(dt){return function Fe(dt){return"input"==dt.nodeName.toLowerCase()}(dt)&&"hidden"==dt.type}(dt)&&(function N(dt){let se=dt.nodeName.toLowerCase();return"input"===se||"select"===se||"button"===se||"textarea"===se}(dt)||function X(dt){return function ke(dt){return"a"==dt.nodeName.toLowerCase()}(dt)&&dt.hasAttribute("href")}(dt)||dt.hasAttribute("contenteditable")||Ke(dt))}(se)&&!this.isDisabled(se)&&(J?.ignoreVisibility||this.isVisible(se))}}function Ke(dt){if(!dt.hasAttribute("tabindex")||void 0===dt.tabIndex)return!1;let se=dt.getAttribute("tabindex");return!(!se||isNaN(parseInt(se,10)))}function je(dt){if(!Ke(dt))return null;const se=parseInt(dt.getAttribute("tabindex")||"",10);return isNaN(se)?-1:se}v.\u0275fac=function(se){return new(se||v)(t.LFG(_.t4))},v.\u0275prov=t.Yz7({token:v,factory:v.\u0275fac,providedIn:"root"});class Ie{constructor(se,J,oe,De,Ye=!1){this._element=se,this._checker=J,this._ngZone=oe,this._document=De,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,Ye||this.attachAnchors()}get enabled(){return this._enabled}set enabled(se){this._enabled=se,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(se,this._startAnchor),this._toggleAnchorTabIndex(se,this._endAnchor))}destroy(){const se=this._startAnchor,J=this._endAnchor;se&&(se.removeEventListener("focus",this.startAnchorListener),se.remove()),J&&(J.removeEventListener("focus",this.endAnchorListener),J.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(se){return new Promise(J=>{this._executeOnStable(()=>J(this.focusInitialElement(se)))})}focusFirstTabbableElementWhenReady(se){return new Promise(J=>{this._executeOnStable(()=>J(this.focusFirstTabbableElement(se)))})}focusLastTabbableElementWhenReady(se){return new Promise(J=>{this._executeOnStable(()=>J(this.focusLastTabbableElement(se)))})}_getRegionBoundary(se){const J=this._element.querySelectorAll(`[cdk-focus-region-${se}], [cdkFocusRegion${se}], [cdk-focus-${se}]`);return"start"==se?J.length?J[0]:this._getFirstTabbableElement(this._element):J.length?J[J.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(se){const J=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(J){if(!this._checker.isFocusable(J)){const oe=this._getFirstTabbableElement(J);return oe?.focus(se),!!oe}return J.focus(se),!0}return this.focusFirstTabbableElement(se)}focusFirstTabbableElement(se){const J=this._getRegionBoundary("start");return J&&J.focus(se),!!J}focusLastTabbableElement(se){const J=this._getRegionBoundary("end");return J&&J.focus(se),!!J}hasAttached(){return this._hasAttached}_getFirstTabbableElement(se){if(this._checker.isFocusable(se)&&this._checker.isTabbable(se))return se;const J=se.children;for(let oe=0;oe=0;oe--){const De=J[oe].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(J[oe]):null;if(De)return De}return null}_createAnchor(){const se=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,se),se.classList.add("cdk-visually-hidden"),se.classList.add("cdk-focus-trap-anchor"),se.setAttribute("aria-hidden","true"),se}_toggleAnchorTabIndex(se,J){se?J.setAttribute("tabindex","0"):J.removeAttribute("tabindex")}toggleAnchors(se){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(se,this._startAnchor),this._toggleAnchorTabIndex(se,this._endAnchor))}_executeOnStable(se){this._ngZone.isStable?se():this._ngZone.onStable.pipe((0,M.q)(1)).subscribe(se)}}class ve{constructor(se,J,oe){this._checker=se,this._ngZone=J,this._document=oe}create(se,J=!1){return new Ie(se,this._checker,this._ngZone,this._document,J)}}ve.\u0275fac=function(se){return new(se||ve)(t.LFG(v),t.LFG(t.R0b),t.LFG(e.K0))},ve.\u0275prov=t.Yz7({token:ve,factory:ve.\u0275fac,providedIn:"root"});class et{constructor(se,J,oe){this._elementRef=se,this._focusTrapFactory=J,this._previouslyFocusedElement=null,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}get enabled(){return this.focusTrap.enabled}set enabled(se){this.focusTrap.enabled=(0,Z.Ig)(se)}get autoCapture(){return this._autoCapture}set autoCapture(se){this._autoCapture=(0,Z.Ig)(se)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(se){const J=se.autoCapture;J&&!J.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=(0,_.ht)(),this.focusTrap.focusInitialElementWhenReady()}}et.\u0275fac=function(se){return new(se||et)(t.Y36(t.SBq),t.Y36(ve),t.Y36(e.K0))},et.\u0275dir=t.lG2({type:et,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:["cdkTrapFocus","enabled"],autoCapture:["cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["cdkTrapFocus"],features:[t.TTD]});class ht extends Ie{constructor(se,J,oe,De,Ye,Dt,ut){super(se,J,oe,De,ut.defer),this._focusTrapManager=Ye,this._inertStrategy=Dt,this._focusTrapManager.register(this)}get enabled(){return this._enabled}set enabled(se){this._enabled=se,this._enabled?this._focusTrapManager.register(this):this._focusTrapManager.deregister(this)}destroy(){this._focusTrapManager.deregister(this),super.destroy()}_enable(){this._inertStrategy.preventFocus(this),this.toggleAnchors(!0)}_disable(){this._inertStrategy.allowFocus(this),this.toggleAnchors(!1)}}const Le=new t.OlP("FOCUS_TRAP_INERT_STRATEGY");class Ae{constructor(){this._listener=null}preventFocus(se){this._listener&&se._document.removeEventListener("focus",this._listener,!0),this._listener=J=>this._trapFocus(se,J),se._ngZone.runOutsideAngular(()=>{se._document.addEventListener("focus",this._listener,!0)})}allowFocus(se){!this._listener||(se._document.removeEventListener("focus",this._listener,!0),this._listener=null)}_trapFocus(se,J){const oe=J.target,De=se._element;oe&&!De.contains(oe)&&!oe.closest?.("div.cdk-overlay-pane")&&setTimeout(()=>{se.enabled&&!De.contains(se._document.activeElement)&&se.focusFirstTabbableElement()})}}class te{constructor(){this._focusTrapStack=[]}register(se){this._focusTrapStack=this._focusTrapStack.filter(oe=>oe!==se);let J=this._focusTrapStack;J.length&&J[J.length-1]._disable(),J.push(se),se._enable()}deregister(se){se._disable();const J=this._focusTrapStack,oe=J.indexOf(se);-1!==oe&&(J.splice(oe,1),J.length&&J[J.length-1]._enable())}}te.\u0275fac=function(se){return new(se||te)},te.\u0275prov=t.Yz7({token:te,factory:te.\u0275fac,providedIn:"root"});class pe{constructor(se,J,oe,De,Ye){this._checker=se,this._ngZone=J,this._focusTrapManager=oe,this._document=De,this._inertStrategy=Ye||new Ae}create(se,J={defer:!1}){let oe;return oe="boolean"==typeof J?{defer:J}:J,new ht(se,this._checker,this._ngZone,this._document,this._focusTrapManager,this._inertStrategy,oe)}}function ee(dt){return 0===dt.buttons||0===dt.offsetX&&0===dt.offsetY}function H(dt){const se=dt.touches&&dt.touches[0]||dt.changedTouches&&dt.changedTouches[0];return!(!se||-1!==se.identifier||null!=se.radiusX&&1!==se.radiusX||null!=se.radiusY&&1!==se.radiusY)}pe.\u0275fac=function(se){return new(se||pe)(t.LFG(v),t.LFG(t.R0b),t.LFG(te),t.LFG(e.K0),t.LFG(Le,8))},pe.\u0275prov=t.Yz7({token:pe,factory:pe.\u0275fac,providedIn:"root"});const j=new t.OlP("cdk-input-modality-detector-options"),Oe={ignoreKeys:[k.zL,k.jx,k.b2,k.MW,k.JU]},le=(0,_.i$)({passive:!0,capture:!0});class _t{constructor(se,J,oe,De){this._platform=se,this._mostRecentTarget=null,this._modality=new D.X(null),this._lastTouchMs=0,this._onKeydown=Ye=>{this._options?.ignoreKeys?.some(Dt=>Dt===Ye.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=(0,_.sA)(Ye))},this._onMousedown=Ye=>{Date.now()-this._lastTouchMs<650||(this._modality.next(ee(Ye)?"keyboard":"mouse"),this._mostRecentTarget=(0,_.sA)(Ye))},this._onTouchstart=Ye=>{H(Ye)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=(0,_.sA)(Ye))},this._options={...Oe,...De},this.modalityDetected=this._modality.pipe((0,z.T)(1)),this.modalityChanged=this.modalityDetected.pipe((0,I.x)()),se.isBrowser&&J.runOutsideAngular(()=>{oe.addEventListener("keydown",this._onKeydown,le),oe.addEventListener("mousedown",this._onMousedown,le),oe.addEventListener("touchstart",this._onTouchstart,le)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,le),document.removeEventListener("mousedown",this._onMousedown,le),document.removeEventListener("touchstart",this._onTouchstart,le))}}_t.\u0275fac=function(se){return new(se||_t)(t.LFG(_.t4),t.LFG(t.R0b),t.LFG(e.K0),t.LFG(j,8))},_t.\u0275prov=t.Yz7({token:_t,factory:_t.\u0275fac,providedIn:"root"});const it=new t.OlP("liveAnnouncerElement",{providedIn:"root",factory:function Ct(){return null}});const un=new t.OlP("LIVE_ANNOUNCER_DEFAULT_OPTIONS");class Bt{constructor(se,J,oe,De){this._ngZone=J,this._defaultOptions=De,this._document=oe,this._liveElement=se||this._createLiveElement()}announce(se,...J){const oe=this._defaultOptions;let De,Ye;return 1===J.length&&"number"==typeof J[0]?Ye=J[0]:[De,Ye]=J,this.clear(),clearTimeout(this._previousTimeout),De||(De=oe&&oe.politeness?oe.politeness:"polite"),null==Ye&&oe&&(Ye=oe.duration),this._liveElement.setAttribute("aria-live",De),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(Dt=>this._currentResolve=Dt)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=se,"number"==typeof Ye&&(this._previousTimeout=setTimeout(()=>this.clear(),Ye)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const se="cdk-live-announcer-element",J=this._document.getElementsByClassName(se),oe=this._document.createElement("div");for(let De=0;Dethis._contentObserver.observe(this._elementRef).subscribe(()=>{const J=this._elementRef.nativeElement.textContent;J!==this._previousAnnouncedText&&(this._liveAnnouncer.announce(J,this._politeness,this.duration),this._previousAnnouncedText=J)})))}ngOnDestroy(){this._subscription&&this._subscription.unsubscribe()}}Ut.\u0275fac=function(se){return new(se||Ut)(t.Y36(t.SBq),t.Y36(Bt),t.Y36(Q.yq),t.Y36(t.R0b))},Ut.\u0275dir=t.lG2({type:Ut,selectors:[["","cdkAriaLive",""]],inputs:{politeness:["cdkAriaLive","politeness"],duration:["cdkAriaLiveDuration","duration"]},exportAs:["cdkAriaLive"]});const yn=new t.OlP("cdk-focus-monitor-default-options"),Xt=(0,_.i$)({passive:!0,capture:!0});class Gt{constructor(se,J,oe,De,Ye){this._ngZone=se,this._platform=J,this._inputModalityDetector=oe,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new E.x,this._rootNodeFocusAndBlurListener=Dt=>{for(let ze=(0,_.sA)(Dt);ze;ze=ze.parentElement)"focus"===Dt.type?this._onFocus(Dt,ze):this._onBlur(Dt,ze)},this._document=De,this._detectionMode=Ye?.detectionMode||0}monitor(se,J=!1){const oe=(0,Z.fI)(se);if(!this._platform.isBrowser||1!==oe.nodeType)return(0,u.of)(null);const De=(0,_.kV)(oe)||this._getDocument(),Ye=this._elementInfo.get(oe);if(Ye)return J&&(Ye.checkChildren=!0),Ye.subject;const Dt={checkChildren:J,subject:new E.x,rootNode:De};return this._elementInfo.set(oe,Dt),this._registerGlobalListeners(Dt),Dt.subject}stopMonitoring(se){const J=(0,Z.fI)(se),oe=this._elementInfo.get(J);oe&&(oe.subject.complete(),this._setClasses(J),this._elementInfo.delete(J),this._removeGlobalListeners(oe))}focusVia(se,J,oe){const De=(0,Z.fI)(se);De===this._getDocument().activeElement?this._getClosestElementsInfo(De).forEach(([Dt,ut])=>this._originChanged(Dt,J,ut)):(this._setOrigin(J),"function"==typeof De.focus&&De.focus(oe))}ngOnDestroy(){this._elementInfo.forEach((se,J)=>this.stopMonitoring(J))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(se){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(se)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:se&&this._isLastInteractionFromInputLabel(se)?"mouse":"program"}_shouldBeAttributedToTouch(se){return 1===this._detectionMode||!!se?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(se,J){se.classList.toggle("cdk-focused",!!J),se.classList.toggle("cdk-touch-focused","touch"===J),se.classList.toggle("cdk-keyboard-focused","keyboard"===J),se.classList.toggle("cdk-mouse-focused","mouse"===J),se.classList.toggle("cdk-program-focused","program"===J)}_setOrigin(se,J=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=se,this._originFromTouchInteraction="touch"===se&&J,0===this._detectionMode){clearTimeout(this._originTimeoutId);const oe=this._originFromTouchInteraction?650:1;this._originTimeoutId=setTimeout(()=>this._origin=null,oe)}})}_onFocus(se,J){const oe=this._elementInfo.get(J),De=(0,_.sA)(se);!oe||!oe.checkChildren&&J!==De||this._originChanged(J,this._getFocusOrigin(De),oe)}_onBlur(se,J){const oe=this._elementInfo.get(J);!oe||oe.checkChildren&&se.relatedTarget instanceof Node&&J.contains(se.relatedTarget)||(this._setClasses(J),this._emitOrigin(oe,null))}_emitOrigin(se,J){se.subject.observers.length&&this._ngZone.run(()=>se.subject.next(J))}_registerGlobalListeners(se){if(!this._platform.isBrowser)return;const J=se.rootNode,oe=this._rootNodeFocusListenerCount.get(J)||0;oe||this._ngZone.runOutsideAngular(()=>{J.addEventListener("focus",this._rootNodeFocusAndBlurListener,Xt),J.addEventListener("blur",this._rootNodeFocusAndBlurListener,Xt)}),this._rootNodeFocusListenerCount.set(J,oe+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe((0,W.R)(this._stopInputModalityDetector)).subscribe(De=>{this._setOrigin(De,!0)}))}_removeGlobalListeners(se){const J=se.rootNode;if(this._rootNodeFocusListenerCount.has(J)){const oe=this._rootNodeFocusListenerCount.get(J);oe>1?this._rootNodeFocusListenerCount.set(J,oe-1):(J.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Xt),J.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Xt),this._rootNodeFocusListenerCount.delete(J))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(se,J,oe){this._setClasses(se,J),this._emitOrigin(oe,J),this._lastFocusOrigin=J}_getClosestElementsInfo(se){const J=[];return this._elementInfo.forEach((oe,De)=>{(De===se||oe.checkChildren&&De.contains(se))&&J.push([De,oe])}),J}_isLastInteractionFromInputLabel(se){const{_mostRecentTarget:J,mostRecentModality:oe}=this._inputModalityDetector;if("mouse"!==oe||!J||J===se||"INPUT"!==se.nodeName&&"TEXTAREA"!==se.nodeName||se.disabled)return!1;const De=se.labels;if(De)for(let Ye=0;Ye{this._focusOrigin=J,this.cdkFocusChange.emit(J)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}In.\u0275fac=function(se){return new(se||In)(t.Y36(t.SBq),t.Y36(Gt))},In.\u0275dir=t.lG2({type:In,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]});const rn="cdk-high-contrast-black-on-white",tn="cdk-high-contrast-white-on-black",pn="cdk-high-contrast-active";class tt{constructor(se,J){this._platform=se,this._document=J,this._breakpointSubscription=(0,t.f3M)(ie.Yg).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const se=this._document.createElement("div");se.style.backgroundColor="rgb(1,2,3)",se.style.position="absolute",this._document.body.appendChild(se);const J=this._document.defaultView||window,oe=J&&J.getComputedStyle?J.getComputedStyle(se):null,De=(oe&&oe.backgroundColor||"").replace(/ /g,"");switch(se.remove(),De){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const se=this._document.body.classList;se.remove(pn,rn,tn),this._hasCheckedHighContrastMode=!0;const J=this.getHighContrastMode();1===J?se.add(pn,rn):2===J&&se.add(pn,tn)}}}tt.\u0275fac=function(se){return new(se||tt)(t.LFG(_.t4),t.LFG(e.K0))},tt.\u0275prov=t.Yz7({token:tt,factory:tt.\u0275fac,providedIn:"root"});class vt{constructor(se){se._applyBodyHighContrastModeCssClasses()}}vt.\u0275fac=function(se){return new(se||vt)(t.LFG(tt))},vt.\u0275mod=t.oAB({type:vt}),vt.\u0275inj=t.cJS({imports:[Q.Q8]})},2867:(Ue,q,m)=>{"use strict";m.d(q,{Is:()=>u,vT:()=>p});var e=m(2560),t=m(4666);const _=new e.OlP("cdk-dir-doc",{providedIn:"root",factory:function E(){return(0,e.f3M)(t.K0)}});const s=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function D(S){const A=S?.toLowerCase()||"";return"auto"===A&&typeof navigator<"u"&&navigator?.language?s.test(navigator.language)?"rtl":"ltr":"rtl"===A?"rtl":"ltr"}class u{constructor(A){if(this.value="ltr",this.change=new e.vpe,A){const P=A.body?A.body.dir:null,M=A.documentElement?A.documentElement.dir:null;this.value=D(P||M||"ltr")}}ngOnDestroy(){this.change.complete()}}u.\u0275fac=function(A){return new(A||u)(e.LFG(_,8))},u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k{constructor(){this._dir="ltr",this._isInitialized=!1,this.change=new e.vpe}get dir(){return this._dir}set dir(A){const P=this._dir;this._dir=D(A),this._rawDir=A,P!==this._dir&&this._isInitialized&&this.change.emit(this._dir)}get value(){return this.dir}ngAfterContentInit(){this._isInitialized=!0}ngOnDestroy(){this.change.complete()}}k.\u0275fac=function(A){return new(A||k)},k.\u0275dir=e.lG2({type:k,selectors:[["","dir",""]],hostVars:1,hostBindings:function(A,P){2&A&&e.uIk("dir",P._rawDir)},inputs:{dir:"dir"},outputs:{change:"dirChange"},exportAs:["dir"],features:[e._Bn([{provide:u,useExisting:k}])]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=e.oAB({type:p}),p.\u0275inj=e.cJS({})},8971:(Ue,q,m)=>{"use strict";m.d(q,{Eq:()=>s,HM:()=>D,Ig:()=>t,du:()=>k,fI:()=>u,su:()=>_,t6:()=>E});var e=m(2560);function t(p){return null!=p&&"false"!=`${p}`}function _(p,S=0){return E(p)?Number(p):S}function E(p){return!isNaN(parseFloat(p))&&!isNaN(Number(p))}function s(p){return Array.isArray(p)?p:[p]}function D(p){return null==p?"":"string"==typeof p?p:`${p}px`}function u(p){return p instanceof e.SBq?p.nativeElement:p}function k(p,S=/\s+/){const A=[];if(null!=p){const P=Array.isArray(p)?p:`${p}`.split(S);for(const M of P){const z=`${M}`.trim();z&&A.push(z)}}return A}},1755:(Ue,q,m)=>{"use strict";m.d(q,{A8:()=>M,Ov:()=>A,P3:()=>k,Z9:()=>u,eX:()=>S,k:()=>z,o2:()=>D,yy:()=>p});var e=m(3932),t=m(4437),_=m(745),E=m(253),s=m(2560);class D{}function u(I){return I&&"function"==typeof I.connect&&!(I instanceof e.c)}class k extends D{constructor(W){super(),this._data=W}connect(){return(0,t.b)(this._data)?this._data:(0,_.of)(this._data)}disconnect(){}}class p{applyChanges(W,Z,Q,ie,ae){W.forEachOperation((_e,ce,ye)=>{let ue,$;if(null==_e.previousIndex){const he=Q(_e,ce,ye);ue=Z.createEmbeddedView(he.templateRef,he.context,he.index),$=1}else null==ye?(Z.remove(ce),$=3):(ue=Z.get(ce),Z.move(ue,ye),$=2);ae&&ae({context:ue?.context,operation:$,record:_e})})}detach(){}}class S{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(W,Z,Q,ie,ae){W.forEachOperation((_e,ce,ye)=>{let ue,$;if(null==_e.previousIndex){const he=()=>Q(_e,ce,ye);ue=this._insertView(he,ye,Z,ie(_e)),$=ue?1:0}else null==ye?(this._detachAndCacheView(ce,Z),$=3):(ue=this._moveView(ce,ye,Z,ie(_e)),$=2);ae&&ae({context:ue?.context,operation:$,record:_e})})}detach(){for(const W of this._viewCache)W.destroy();this._viewCache=[]}_insertView(W,Z,Q,ie){const ae=this._insertViewFromCache(Z,Q);if(ae)return void(ae.context.$implicit=ie);const _e=W();return Q.createEmbeddedView(_e.templateRef,_e.context,_e.index)}_detachAndCacheView(W,Z){const Q=Z.detach(W);this._maybeCacheView(Q,Z)}_moveView(W,Z,Q,ie){const ae=Q.get(W);return Q.move(ae,Z),ae.context.$implicit=ie,ae}_maybeCacheView(W,Z){if(this._viewCache.lengththis._markSelected(ae)):this._markSelected(Z[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...W){this._verifyValueAssignment(W),W.forEach(Q=>this._markSelected(Q));const Z=this._hasQueuedChanges();return this._emitChangeEvent(),Z}deselect(...W){this._verifyValueAssignment(W),W.forEach(Q=>this._unmarkSelected(Q));const Z=this._hasQueuedChanges();return this._emitChangeEvent(),Z}setSelection(...W){this._verifyValueAssignment(W);const Z=this.selected,Q=new Set(W);W.forEach(ae=>this._markSelected(ae)),Z.filter(ae=>!Q.has(ae)).forEach(ae=>this._unmarkSelected(ae));const ie=this._hasQueuedChanges();return this._emitChangeEvent(),ie}toggle(W){return this.isSelected(W)?this.deselect(W):this.select(W)}clear(W=!0){this._unmarkAll();const Z=this._hasQueuedChanges();return W&&this._emitChangeEvent(),Z}isSelected(W){if(this.compareWith){for(const Z of this._selection)if(this.compareWith(Z,W))return!0;return!1}return this._selection.has(W)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(W){this._multiple&&this.selected&&this._selected.sort(W)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(W){this.isSelected(W)||(this._multiple||this._unmarkAll(),this.isSelected(W)||this._selection.add(W),this._emitChanges&&this._selectedToEmit.push(W))}_unmarkSelected(W){this.isSelected(W)&&(this._selection.delete(W),this._emitChanges&&this._deselectedToEmit.push(W))}_unmarkAll(){this.isEmpty()||this._selection.forEach(W=>this._unmarkSelected(W))}_verifyValueAssignment(W){W.length>1&&this._multiple}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}}class M{constructor(){this._listeners=[]}notify(W,Z){for(let Q of this._listeners)Q(W,Z)}listen(W){return this._listeners.push(W),()=>{this._listeners=this._listeners.filter(Z=>W!==Z)}}ngOnDestroy(){this._listeners=[]}}M.\u0275fac=function(W){return new(W||M)},M.\u0275prov=s.Yz7({token:M,factory:M.\u0275fac,providedIn:"root"});const z=new s.OlP("_ViewRepeater")},8456:(Ue,q,m)=>{"use strict";m.d(q,{A:()=>F,JH:()=>ae,JU:()=>D,K5:()=>s,Ku:()=>M,LH:()=>Q,L_:()=>P,MW:()=>un,Mf:()=>_,SV:()=>ie,Sd:()=>W,VM:()=>z,Vb:()=>gn,Z:()=>Ct,ZH:()=>t,aO:()=>B,b2:()=>en,hY:()=>A,jx:()=>u,oh:()=>Z,uR:()=>I,xE:()=>$,yY:()=>ue,zL:()=>k});const t=8,_=9,s=13,D=16,u=17,k=18,A=27,P=32,M=33,z=34,I=35,W=36,Z=37,Q=38,ie=39,ae=40,ue=46,$=48,B=57,F=65,Ct=90,un=91,en=224;function gn(Qn,...Ei){return Ei.length?Ei.some(ha=>Qn[ha]):Qn.altKey||Qn.shiftKey||Qn.ctrlKey||Qn.metaKey}},3278:(Ue,q,m)=>{"use strict";m.d(q,{Yg:()=>ae,u3:()=>ce,xu:()=>z});var e=m(2560),t=m(8971),_=m(253),E=m(6562),s=m(9319),D=m(833),u=m(9295),k=m(7260),p=m(1989),S=m(635),A=m(4874),P=m(8951),M=m(9107);class z{}z.\u0275fac=function(ue){return new(ue||z)},z.\u0275mod=e.oAB({type:z}),z.\u0275inj=e.cJS({});const I=new Set;let W;class Z{constructor(ue){this._platform=ue,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):ie}matchMedia(ue){return(this._platform.WEBKIT||this._platform.BLINK)&&function Q(ye){if(!I.has(ye))try{W||(W=document.createElement("style"),W.setAttribute("type","text/css"),document.head.appendChild(W)),W.sheet&&(W.sheet.insertRule(`@media ${ye} {body{ }}`,0),I.add(ye))}catch(ue){console.error(ue)}}(ue),this._matchMedia(ue)}}function ie(ye){return{matches:"all"===ye||""===ye,media:ye,addListener:()=>{},removeListener:()=>{}}}Z.\u0275fac=function(ue){return new(ue||Z)(e.LFG(M.t4))},Z.\u0275prov=e.Yz7({token:Z,factory:Z.\u0275fac,providedIn:"root"});class ae{constructor(ue,$){this._mediaMatcher=ue,this._zone=$,this._queries=new Map,this._destroySubject=new _.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(ue){return _e((0,t.Eq)(ue)).some(he=>this._registerQuery(he).mql.matches)}observe(ue){const he=_e((0,t.Eq)(ue)).map(n=>this._registerQuery(n).observable);let w=(0,E.a)(he);return w=(0,s.z)(w.pipe((0,u.q)(1)),w.pipe((0,k.T)(1),(0,p.b)(0))),w.pipe((0,S.U)(n=>{const o={matches:!1,breakpoints:{}};return n.forEach(({matches:h,query:d})=>{o.matches=o.matches||h,o.breakpoints[d]=h}),o}))}_registerQuery(ue){if(this._queries.has(ue))return this._queries.get(ue);const $=this._mediaMatcher.matchMedia(ue),w={observable:new D.y(n=>{const o=h=>this._zone.run(()=>n.next(h));return $.addListener(o),()=>{$.removeListener(o)}}).pipe((0,A.O)($),(0,S.U)(({matches:n})=>({query:ue,matches:n})),(0,P.R)(this._destroySubject)),mql:$};return this._queries.set(ue,w),w}}function _e(ye){return ye.map(ue=>ue.split(",")).reduce((ue,$)=>ue.concat($)).map(ue=>ue.trim())}ae.\u0275fac=function(ue){return new(ue||ae)(e.LFG(Z),e.LFG(e.R0b))},ae.\u0275prov=e.Yz7({token:ae,factory:ae.\u0275fac,providedIn:"root"});const ce={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"}},3773:(Ue,q,m)=>{"use strict";m.d(q,{Q8:()=>p,wD:()=>k,yq:()=>u});var e=m(8971),t=m(2560),_=m(833),E=m(253),s=m(1989);class D{create(A){return typeof MutationObserver>"u"?null:new MutationObserver(A)}}D.\u0275fac=function(A){return new(A||D)},D.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"});class u{constructor(A){this._mutationObserverFactory=A,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((A,P)=>this._cleanupObserver(P))}observe(A){const P=(0,e.fI)(A);return new _.y(M=>{const I=this._observeElement(P).subscribe(M);return()=>{I.unsubscribe(),this._unobserveElement(P)}})}_observeElement(A){if(this._observedElements.has(A))this._observedElements.get(A).count++;else{const P=new E.x,M=this._mutationObserverFactory.create(z=>P.next(z));M&&M.observe(A,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(A,{observer:M,stream:P,count:1})}return this._observedElements.get(A).stream}_unobserveElement(A){this._observedElements.has(A)&&(this._observedElements.get(A).count--,this._observedElements.get(A).count||this._cleanupObserver(A))}_cleanupObserver(A){if(this._observedElements.has(A)){const{observer:P,stream:M}=this._observedElements.get(A);P&&P.disconnect(),M.complete(),this._observedElements.delete(A)}}}u.\u0275fac=function(A){return new(A||u)(t.LFG(D))},u.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k{constructor(A,P,M){this._contentObserver=A,this._elementRef=P,this._ngZone=M,this.event=new t.vpe,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(A){this._disabled=(0,e.Ig)(A),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(A){this._debounce=(0,e.su)(A),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const A=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?A.pipe((0,s.b)(this.debounce)):A).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}k.\u0275fac=function(A){return new(A||k)(t.Y36(u),t.Y36(t.SBq),t.Y36(t.R0b))},k.\u0275dir=t.lG2({type:k,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=t.oAB({type:p}),p.\u0275inj=t.cJS({providers:[D]})},5895:(Ue,q,m)=>{"use strict";m.d(q,{Iu:()=>B,U8:()=>te,X_:()=>ue,Xj:()=>L,_G:()=>C,aV:()=>Ze,pI:()=>ht,xu:()=>et});var e=m(1494),t=m(4666),_=m(2560),E=m(8971),s=m(9107),D=m(2867),u=m(7520),k=m(253),p=m(7714),S=m(6646),A=m(9295),P=m(8951),M=m(2566),z=m(8456);const I=(0,s.Mq)();class W{constructor(H,j){this._viewportRuler=H,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=j}attach(){}enable(){if(this._canBeEnabled()){const H=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=H.style.left||"",this._previousHTMLStyles.top=H.style.top||"",H.style.left=(0,E.HM)(-this._previousScrollPosition.left),H.style.top=(0,E.HM)(-this._previousScrollPosition.top),H.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const H=this._document.documentElement,j=this._document.body,Oe=H.style,Re=j.style,le=Oe.scrollBehavior||"",_t=Re.scrollBehavior||"";this._isEnabled=!1,Oe.left=this._previousHTMLStyles.left,Oe.top=this._previousHTMLStyles.top,H.classList.remove("cdk-global-scrollblock"),I&&(Oe.scrollBehavior=Re.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),I&&(Oe.scrollBehavior=le,Re.scrollBehavior=_t)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const j=this._document.body,Oe=this._viewportRuler.getViewportSize();return j.scrollHeight>Oe.height||j.scrollWidth>Oe.width}}class Q{constructor(H,j,Oe,Re){this._scrollDispatcher=H,this._ngZone=j,this._viewportRuler=Oe,this._config=Re,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(H){this._overlayRef,this._overlayRef=H}enable(){if(this._scrollSubscription)return;const H=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=H.subscribe(()=>{const j=this._viewportRuler.getViewportScrollPosition().top;Math.abs(j-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=H.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ie{enable(){}disable(){}attach(){}}function ae(ee,H){return H.some(j=>{const Oe=ee.bottomj.bottom,le=ee.rightj.right;return Oe||Re||le||_t})}function _e(ee,H){return H.some(j=>{const Oe=ee.topj.bottom,le=ee.leftj.right;return Oe||Re||le||_t})}class ce{constructor(H,j,Oe,Re){this._scrollDispatcher=H,this._viewportRuler=j,this._ngZone=Oe,this._config=Re,this._scrollSubscription=null}attach(H){this._overlayRef,this._overlayRef=H}enable(){if(!this._scrollSubscription){const H=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(H).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const j=this._overlayRef.overlayElement.getBoundingClientRect(),{width:Oe,height:Re}=this._viewportRuler.getViewportSize();ae(j,[{width:Oe,height:Re,bottom:Re,right:Oe,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ye{constructor(H,j,Oe,Re){this._scrollDispatcher=H,this._viewportRuler=j,this._ngZone=Oe,this.noop=()=>new ie,this.close=le=>new Q(this._scrollDispatcher,this._ngZone,this._viewportRuler,le),this.block=()=>new W(this._viewportRuler,this._document),this.reposition=le=>new ce(this._scrollDispatcher,this._viewportRuler,this._ngZone,le),this._document=Re}}ye.\u0275fac=function(H){return new(H||ye)(_.LFG(e.mF),_.LFG(e.rL),_.LFG(_.R0b),_.LFG(t.K0))},ye.\u0275prov=_.Yz7({token:ye,factory:ye.\u0275fac,providedIn:"root"});class ue{constructor(H){if(this.scrollStrategy=new ie,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,H){const j=Object.keys(H);for(const Oe of j)void 0!==H[Oe]&&(this[Oe]=H[Oe])}}}class w{constructor(H,j){this.connectionPair=H,this.scrollableViewProperties=j}}class h{constructor(H){this._attachedOverlays=[],this._document=H}ngOnDestroy(){this.detach()}add(H){this.remove(H),this._attachedOverlays.push(H)}remove(H){const j=this._attachedOverlays.indexOf(H);j>-1&&this._attachedOverlays.splice(j,1),0===this._attachedOverlays.length&&this.detach()}}h.\u0275fac=function(H){return new(H||h)(_.LFG(t.K0))},h.\u0275prov=_.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"});class d extends h{constructor(H,j){super(H),this._ngZone=j,this._keydownListener=Oe=>{const Re=this._attachedOverlays;for(let le=Re.length-1;le>-1;le--)if(Re[le]._keydownEvents.observers.length>0){const _t=Re[le]._keydownEvents;this._ngZone?this._ngZone.run(()=>_t.next(Oe)):_t.next(Oe);break}}}add(H){super.add(H),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}d.\u0275fac=function(H){return new(H||d)(_.LFG(t.K0),_.LFG(_.R0b,8))},d.\u0275prov=_.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"});class y extends h{constructor(H,j,Oe){super(H),this._platform=j,this._ngZone=Oe,this._cursorStyleIsSet=!1,this._pointerDownListener=Re=>{this._pointerDownEventTarget=(0,s.sA)(Re)},this._clickListener=Re=>{const le=(0,s.sA)(Re),_t="click"===Re.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:le;this._pointerDownEventTarget=null;const it=this._attachedOverlays.slice();for(let Ct=it.length-1;Ct>-1;Ct--){const un=it[Ct];if(un._outsidePointerEvents.observers.length<1||!un.hasAttached())continue;if(un.overlayElement.contains(le)||un.overlayElement.contains(_t))break;const Bt=un._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>Bt.next(Re)):Bt.next(Re)}}}add(H){if(super.add(H),!this._isAttached){const j=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(j)):this._addEventListeners(j),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=j.style.cursor,j.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const H=this._document.body;H.removeEventListener("pointerdown",this._pointerDownListener,!0),H.removeEventListener("click",this._clickListener,!0),H.removeEventListener("auxclick",this._clickListener,!0),H.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(H.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(H){H.addEventListener("pointerdown",this._pointerDownListener,!0),H.addEventListener("click",this._clickListener,!0),H.addEventListener("auxclick",this._clickListener,!0),H.addEventListener("contextmenu",this._clickListener,!0)}}y.\u0275fac=function(H){return new(H||y)(_.LFG(t.K0),_.LFG(s.t4),_.LFG(_.R0b,8))},y.\u0275prov=_.Yz7({token:y,factory:y.\u0275fac,providedIn:"root"});class L{constructor(H,j){this._platform=j,this._document=H}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const H="cdk-overlay-container";if(this._platform.isBrowser||(0,s.Oy)()){const Oe=this._document.querySelectorAll(`.${H}[platform="server"], .${H}[platform="test"]`);for(let Re=0;Rethis._backdropClick.next(Ut),this._backdropTransitionendHandler=Ut=>{this._disposeBackdrop(Ut.target)},this._keydownEvents=new k.x,this._outsidePointerEvents=new k.x,Re.scrollStrategy&&(this._scrollStrategy=Re.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=Re.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(H){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const j=this._portalOutlet.attach(H);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,A.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof j?.onDestroy&&j.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),j}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const H=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),H}dispose(){const H=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,H&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(H){H!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=H,this.hasAttached()&&(H.attach(this),this.updatePosition()))}updateSize(H){this._config={...this._config,...H},this._updateElementSize()}setDirection(H){this._config={...this._config,direction:H},this._updateElementDirection()}addPanelClass(H){this._pane&&this._toggleClasses(this._pane,H,!0)}removePanelClass(H){this._pane&&this._toggleClasses(this._pane,H,!1)}getDirection(){const H=this._config.direction;return H?"string"==typeof H?H:H.value:"ltr"}updateScrollStrategy(H){H!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=H,this.hasAttached()&&(H.attach(this),H.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const H=this._pane.style;H.width=(0,E.HM)(this._config.width),H.height=(0,E.HM)(this._config.height),H.minWidth=(0,E.HM)(this._config.minWidth),H.minHeight=(0,E.HM)(this._config.minHeight),H.maxWidth=(0,E.HM)(this._config.maxWidth),H.maxHeight=(0,E.HM)(this._config.maxHeight)}_togglePointerEvents(H){this._pane.style.pointerEvents=H?"":"none"}_attachBackdrop(){const H="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(H)})}):this._backdropElement.classList.add(H)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const H=this._backdropElement;if(H){if(this._animationsDisabled)return void this._disposeBackdrop(H);H.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{H.addEventListener("transitionend",this._backdropTransitionendHandler)}),H.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(H)},500))}}_toggleClasses(H,j,Oe){const Re=(0,E.Eq)(j||[]).filter(le=>!!le);Re.length&&(Oe?H.classList.add(...Re):H.classList.remove(...Re))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const H=this._ngZone.onStable.pipe((0,P.R)((0,S.T)(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),H.unsubscribe())})})}_disposeScrollStrategy(){const H=this._scrollStrategy;H&&(H.disable(),H.detach&&H.detach())}_disposeBackdrop(H){H&&(H.removeEventListener("click",this._backdropClickHandler),H.removeEventListener("transitionend",this._backdropTransitionendHandler),H.remove(),this._backdropElement===H&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const v="cdk-overlay-connected-position-bounding-box",a=/([A-Za-z%]+)$/;class C{constructor(H,j,Oe,Re,le){this._viewportRuler=j,this._document=Oe,this._platform=Re,this._overlayContainer=le,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new k.x,this._resizeSubscription=p.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(H)}get positions(){return this._preferredPositions}attach(H){this._overlayRef&&this._overlayRef,this._validatePositions(),H.hostElement.classList.add(v),this._overlayRef=H,this._boundingBox=H.hostElement,this._pane=H.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const H=this._originRect,j=this._overlayRect,Oe=this._viewportRect,Re=this._containerRect,le=[];let _t;for(let it of this._preferredPositions){let Ct=this._getOriginPoint(H,Re,it),un=this._getOverlayPoint(Ct,j,it),Bt=this._getOverlayFit(un,j,Oe,it);if(Bt.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(it,Ct);this._canFitWithFlexibleDimensions(Bt,un,Oe)?le.push({position:it,origin:Ct,overlayRect:j,boundingBoxRect:this._calculateBoundingBoxRect(Ct,it)}):(!_t||_t.overlayFit.visibleAreaCt&&(Ct=Bt,it=un)}return this._isPushed=!1,void this._applyPosition(it.position,it.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(_t.position,_t.originPoint);this._applyPosition(_t.position,_t.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&N(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(v),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const H=this._lastPosition;if(H){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const j=this._getOriginPoint(this._originRect,this._containerRect,H);this._applyPosition(H,j)}else this.apply()}withScrollableContainers(H){return this._scrollables=H,this}withPositions(H){return this._preferredPositions=H,-1===H.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(H){return this._viewportMargin=H,this}withFlexibleDimensions(H=!0){return this._hasFlexibleDimensions=H,this}withGrowAfterOpen(H=!0){return this._growAfterOpen=H,this}withPush(H=!0){return this._canPush=H,this}withLockedPosition(H=!0){return this._positionLocked=H,this}setOrigin(H){return this._origin=H,this}withDefaultOffsetX(H){return this._offsetX=H,this}withDefaultOffsetY(H){return this._offsetY=H,this}withTransformOriginOn(H){return this._transformOriginSelector=H,this}_getOriginPoint(H,j,Oe){let Re,le;if("center"==Oe.originX)Re=H.left+H.width/2;else{const _t=this._isRtl()?H.right:H.left,it=this._isRtl()?H.left:H.right;Re="start"==Oe.originX?_t:it}return j.left<0&&(Re-=j.left),le="center"==Oe.originY?H.top+H.height/2:"top"==Oe.originY?H.top:H.bottom,j.top<0&&(le-=j.top),{x:Re,y:le}}_getOverlayPoint(H,j,Oe){let Re,le;return Re="center"==Oe.overlayX?-j.width/2:"start"===Oe.overlayX?this._isRtl()?-j.width:0:this._isRtl()?0:-j.width,le="center"==Oe.overlayY?-j.height/2:"top"==Oe.overlayY?0:-j.height,{x:H.x+Re,y:H.y+le}}_getOverlayFit(H,j,Oe,Re){const le=X(j);let{x:_t,y:it}=H,Ct=this._getOffset(Re,"x"),un=this._getOffset(Re,"y");Ct&&(_t+=Ct),un&&(it+=un);let Bt=0-_t,Ut=_t+le.width-Oe.width,yn=0-it,Xt=it+le.height-Oe.height,Gt=this._subtractOverflows(le.width,Bt,Ut),In=this._subtractOverflows(le.height,yn,Xt),rn=Gt*In;return{visibleArea:rn,isCompletelyWithinViewport:le.width*le.height===rn,fitsInViewportVertically:In===le.height,fitsInViewportHorizontally:Gt==le.width}}_canFitWithFlexibleDimensions(H,j,Oe){if(this._hasFlexibleDimensions){const Re=Oe.bottom-j.y,le=Oe.right-j.x,_t=F(this._overlayRef.getConfig().minHeight),it=F(this._overlayRef.getConfig().minWidth),Ct=H.fitsInViewportVertically||null!=_t&&_t<=Re,un=H.fitsInViewportHorizontally||null!=it&&it<=le;return Ct&&un}return!1}_pushOverlayOnScreen(H,j,Oe){if(this._previousPushAmount&&this._positionLocked)return{x:H.x+this._previousPushAmount.x,y:H.y+this._previousPushAmount.y};const Re=X(j),le=this._viewportRect,_t=Math.max(H.x+Re.width-le.width,0),it=Math.max(H.y+Re.height-le.height,0),Ct=Math.max(le.top-Oe.top-H.y,0),un=Math.max(le.left-Oe.left-H.x,0);let Bt=0,Ut=0;return Bt=Re.width<=le.width?un||-_t:H.xGt&&!this._isInitialRender&&!this._growAfterOpen&&(_t=H.y-Gt/2)}const Ct="start"===j.overlayX&&!Re||"end"===j.overlayX&ℜlet Bt,Ut,yn;if("end"===j.overlayX&&!Re||"start"===j.overlayX&&Re)yn=Oe.width-H.x+this._viewportMargin,Bt=H.x-this._viewportMargin;else if(Ct)Ut=H.x,Bt=Oe.right-H.x;else{const Xt=Math.min(Oe.right-H.x+Oe.left,H.x),Gt=this._lastBoundingBoxSize.width;Bt=2*Xt,Ut=H.x-Xt,Bt>Gt&&!this._isInitialRender&&!this._growAfterOpen&&(Ut=H.x-Gt/2)}return{top:_t,left:Ut,bottom:it,right:yn,width:Bt,height:le}}_setBoundingBoxStyles(H,j){const Oe=this._calculateBoundingBoxRect(H,j);!this._isInitialRender&&!this._growAfterOpen&&(Oe.height=Math.min(Oe.height,this._lastBoundingBoxSize.height),Oe.width=Math.min(Oe.width,this._lastBoundingBoxSize.width));const Re={};if(this._hasExactPosition())Re.top=Re.left="0",Re.bottom=Re.right=Re.maxHeight=Re.maxWidth="",Re.width=Re.height="100%";else{const le=this._overlayRef.getConfig().maxHeight,_t=this._overlayRef.getConfig().maxWidth;Re.height=(0,E.HM)(Oe.height),Re.top=(0,E.HM)(Oe.top),Re.bottom=(0,E.HM)(Oe.bottom),Re.width=(0,E.HM)(Oe.width),Re.left=(0,E.HM)(Oe.left),Re.right=(0,E.HM)(Oe.right),"center"===j.overlayX?Re.alignItems="center":Re.alignItems="end"===j.overlayX?"flex-end":"flex-start","center"===j.overlayY?Re.justifyContent="center":Re.justifyContent="bottom"===j.overlayY?"flex-end":"flex-start",le&&(Re.maxHeight=(0,E.HM)(le)),_t&&(Re.maxWidth=(0,E.HM)(_t))}this._lastBoundingBoxSize=Oe,N(this._boundingBox.style,Re)}_resetBoundingBoxStyles(){N(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){N(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(H,j){const Oe={},Re=this._hasExactPosition(),le=this._hasFlexibleDimensions,_t=this._overlayRef.getConfig();if(Re){const Bt=this._viewportRuler.getViewportScrollPosition();N(Oe,this._getExactOverlayY(j,H,Bt)),N(Oe,this._getExactOverlayX(j,H,Bt))}else Oe.position="static";let it="",Ct=this._getOffset(j,"x"),un=this._getOffset(j,"y");Ct&&(it+=`translateX(${Ct}px) `),un&&(it+=`translateY(${un}px)`),Oe.transform=it.trim(),_t.maxHeight&&(Re?Oe.maxHeight=(0,E.HM)(_t.maxHeight):le&&(Oe.maxHeight="")),_t.maxWidth&&(Re?Oe.maxWidth=(0,E.HM)(_t.maxWidth):le&&(Oe.maxWidth="")),N(this._pane.style,Oe)}_getExactOverlayY(H,j,Oe){let Re={top:"",bottom:""},le=this._getOverlayPoint(j,this._overlayRect,H);if(this._isPushed&&(le=this._pushOverlayOnScreen(le,this._overlayRect,Oe)),"bottom"===H.overlayY){const _t=this._document.documentElement.clientHeight;Re.bottom=_t-(le.y+this._overlayRect.height)+"px"}else Re.top=(0,E.HM)(le.y);return Re}_getExactOverlayX(H,j,Oe){let _t,Re={left:"",right:""},le=this._getOverlayPoint(j,this._overlayRect,H);if(this._isPushed&&(le=this._pushOverlayOnScreen(le,this._overlayRect,Oe)),_t=this._isRtl()?"end"===H.overlayX?"left":"right":"end"===H.overlayX?"right":"left","right"===_t){const it=this._document.documentElement.clientWidth;Re.right=it-(le.x+this._overlayRect.width)+"px"}else Re.left=(0,E.HM)(le.x);return Re}_getScrollVisibility(){const H=this._getOriginRect(),j=this._pane.getBoundingClientRect(),Oe=this._scrollables.map(Re=>Re.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:_e(H,Oe),isOriginOutsideView:ae(H,Oe),isOverlayClipped:_e(j,Oe),isOverlayOutsideView:ae(j,Oe)}}_subtractOverflows(H,...j){return j.reduce((Oe,Re)=>Oe-Math.max(Re,0),H)}_getNarrowedViewportRect(){const H=this._document.documentElement.clientWidth,j=this._document.documentElement.clientHeight,Oe=this._viewportRuler.getViewportScrollPosition();return{top:Oe.top+this._viewportMargin,left:Oe.left+this._viewportMargin,right:Oe.left+H-this._viewportMargin,bottom:Oe.top+j-this._viewportMargin,width:H-2*this._viewportMargin,height:j-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(H,j){return"x"===j?null==H.offsetX?this._offsetX:H.offsetX:null==H.offsetY?this._offsetY:H.offsetY}_validatePositions(){}_addPanelClasses(H){this._pane&&(0,E.Eq)(H).forEach(j=>{""!==j&&-1===this._appliedPanelClasses.indexOf(j)&&(this._appliedPanelClasses.push(j),this._pane.classList.add(j))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(H=>{this._pane.classList.remove(H)}),this._appliedPanelClasses=[])}_getOriginRect(){const H=this._origin;if(H instanceof _.SBq)return H.nativeElement.getBoundingClientRect();if(H instanceof Element)return H.getBoundingClientRect();const j=H.width||0,Oe=H.height||0;return{top:H.y,bottom:H.y+Oe,left:H.x,right:H.x+j,height:Oe,width:j}}}function N(ee,H){for(let j in H)H.hasOwnProperty(j)&&(ee[j]=H[j]);return ee}function F(ee){if("number"!=typeof ee&&null!=ee){const[H,j]=ee.split(a);return j&&"px"!==j?null:parseFloat(H)}return ee||null}function X(ee){return{top:Math.floor(ee.top),right:Math.floor(ee.right),bottom:Math.floor(ee.bottom),left:Math.floor(ee.left),width:Math.floor(ee.width),height:Math.floor(ee.height)}}const Ke="cdk-global-overlay-wrapper";class je{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(H){const j=H.getConfig();this._overlayRef=H,this._width&&!j.width&&H.updateSize({width:this._width}),this._height&&!j.height&&H.updateSize({height:this._height}),H.hostElement.classList.add(Ke),this._isDisposed=!1}top(H=""){return this._bottomOffset="",this._topOffset=H,this._alignItems="flex-start",this}left(H=""){return this._xOffset=H,this._xPosition="left",this}bottom(H=""){return this._topOffset="",this._bottomOffset=H,this._alignItems="flex-end",this}right(H=""){return this._xOffset=H,this._xPosition="right",this}start(H=""){return this._xOffset=H,this._xPosition="start",this}end(H=""){return this._xOffset=H,this._xPosition="end",this}width(H=""){return this._overlayRef?this._overlayRef.updateSize({width:H}):this._width=H,this}height(H=""){return this._overlayRef?this._overlayRef.updateSize({height:H}):this._height=H,this}centerHorizontally(H=""){return this.left(H),this._xPosition="center",this}centerVertically(H=""){return this.top(H),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const H=this._overlayRef.overlayElement.style,j=this._overlayRef.hostElement.style,Oe=this._overlayRef.getConfig(),{width:Re,height:le,maxWidth:_t,maxHeight:it}=Oe,Ct=!("100%"!==Re&&"100vw"!==Re||_t&&"100%"!==_t&&"100vw"!==_t),un=!("100%"!==le&&"100vh"!==le||it&&"100%"!==it&&"100vh"!==it),Bt=this._xPosition,Ut=this._xOffset,yn="rtl"===this._overlayRef.getConfig().direction;let Xt="",Gt="",In="";Ct?In="flex-start":"center"===Bt?(In="center",yn?Gt=Ut:Xt=Ut):yn?"left"===Bt||"end"===Bt?(In="flex-end",Xt=Ut):("right"===Bt||"start"===Bt)&&(In="flex-start",Gt=Ut):"left"===Bt||"start"===Bt?(In="flex-start",Xt=Ut):("right"===Bt||"end"===Bt)&&(In="flex-end",Gt=Ut),H.position=this._cssPosition,H.marginLeft=Ct?"0":Xt,H.marginTop=un?"0":this._topOffset,H.marginBottom=this._bottomOffset,H.marginRight=Ct?"0":Gt,j.justifyContent=In,j.alignItems=un?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const H=this._overlayRef.overlayElement.style,j=this._overlayRef.hostElement,Oe=j.style;j.classList.remove(Ke),Oe.justifyContent=Oe.alignItems=H.marginTop=H.marginBottom=H.marginLeft=H.marginRight=H.position="",this._overlayRef=null,this._isDisposed=!0}}class Ve{constructor(H,j,Oe,Re){this._viewportRuler=H,this._document=j,this._platform=Oe,this._overlayContainer=Re}global(){return new je}flexibleConnectedTo(H){return new C(H,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}Ve.\u0275fac=function(H){return new(H||Ve)(_.LFG(e.rL),_.LFG(t.K0),_.LFG(s.t4),_.LFG(L))},Ve.\u0275prov=_.Yz7({token:Ve,factory:Ve.\u0275fac,providedIn:"root"});let xe=0;class Ze{constructor(H,j,Oe,Re,le,_t,it,Ct,un,Bt,Ut,yn){this.scrollStrategies=H,this._overlayContainer=j,this._componentFactoryResolver=Oe,this._positionBuilder=Re,this._keyboardDispatcher=le,this._injector=_t,this._ngZone=it,this._document=Ct,this._directionality=un,this._location=Bt,this._outsideClickDispatcher=Ut,this._animationsModuleType=yn}create(H){const j=this._createHostElement(),Oe=this._createPaneElement(j),Re=this._createPortalOutlet(Oe),le=new ue(H);return le.direction=le.direction||this._directionality.value,new B(Re,j,Oe,le,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(H){const j=this._document.createElement("div");return j.id="cdk-overlay-"+xe++,j.classList.add("cdk-overlay-pane"),H.appendChild(j),j}_createHostElement(){const H=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(H),H}_createPortalOutlet(H){return this._appRef||(this._appRef=this._injector.get(_.z2F)),new u.u0(H,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}Ze.\u0275fac=function(H){return new(H||Ze)(_.LFG(ye),_.LFG(L),_.LFG(_._Vd),_.LFG(Ve),_.LFG(d),_.LFG(_.zs3),_.LFG(_.R0b),_.LFG(t.K0),_.LFG(D.Is),_.LFG(t.Ye),_.LFG(y),_.LFG(_.QbO,8))},Ze.\u0275prov=_.Yz7({token:Ze,factory:Ze.\u0275fac});const Ie=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],ve=new _.OlP("cdk-connected-overlay-scroll-strategy");class et{constructor(H){this.elementRef=H}}et.\u0275fac=function(H){return new(H||et)(_.Y36(_.SBq))},et.\u0275dir=_.lG2({type:et,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]});class ht{constructor(H,j,Oe,Re,le){this._overlay=H,this._dir=le,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=p.w0.EMPTY,this._attachSubscription=p.w0.EMPTY,this._detachSubscription=p.w0.EMPTY,this._positionSubscription=p.w0.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new _.vpe,this.positionChange=new _.vpe,this.attach=new _.vpe,this.detach=new _.vpe,this.overlayKeydown=new _.vpe,this.overlayOutsideClick=new _.vpe,this._templatePortal=new u.UE(j,Oe),this._scrollStrategyFactory=Re,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(H){this._offsetX=H,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(H){this._offsetY=H,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(H){this._hasBackdrop=(0,E.Ig)(H)}get lockPosition(){return this._lockPosition}set lockPosition(H){this._lockPosition=(0,E.Ig)(H)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(H){this._flexibleDimensions=(0,E.Ig)(H)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(H){this._growAfterOpen=(0,E.Ig)(H)}get push(){return this._push}set push(H){this._push=(0,E.Ig)(H)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(H){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),H.origin&&this.open&&this._position.apply()),H.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Ie);const H=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=H.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=H.detachments().subscribe(()=>this.detach.emit()),H.keydownEvents().subscribe(j=>{this.overlayKeydown.next(j),j.keyCode===z.hY&&!this.disableClose&&!(0,z.Vb)(j)&&(j.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(j=>{this.overlayOutsideClick.next(j)})}_buildConfig(){const H=this._position=this.positionStrategy||this._createPositionStrategy(),j=new ue({direction:this._dir,positionStrategy:H,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(j.width=this.width),(this.height||0===this.height)&&(j.height=this.height),(this.minWidth||0===this.minWidth)&&(j.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(j.minHeight=this.minHeight),this.backdropClass&&(j.backdropClass=this.backdropClass),this.panelClass&&(j.panelClass=this.panelClass),j}_updatePositionStrategy(H){const j=this.positions.map(Oe=>({originX:Oe.originX,originY:Oe.originY,overlayX:Oe.overlayX,overlayY:Oe.overlayY,offsetX:Oe.offsetX||this.offsetX,offsetY:Oe.offsetY||this.offsetY,panelClass:Oe.panelClass||void 0}));return H.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(j).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const H=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(H),H}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof et?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(H=>{this.backdropClick.emit(H)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe((0,M.o)(()=>this.positionChange.observers.length>0)).subscribe(H=>{this.positionChange.emit(H),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}ht.\u0275fac=function(H){return new(H||ht)(_.Y36(Ze),_.Y36(_.Rgc),_.Y36(_.s_b),_.Y36(ve),_.Y36(D.Is,8))},ht.\u0275dir=_.lG2({type:ht,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[_.TTD]});const Ae={provide:ve,deps:[Ze],useFactory:function Le(ee){return()=>ee.scrollStrategies.reposition()}};class te{}te.\u0275fac=function(H){return new(H||te)},te.\u0275mod=_.oAB({type:te}),te.\u0275inj=_.cJS({providers:[Ze,Ae],imports:[D.vT,u.eL,e.Cl,e.Cl]});class pe extends L{constructor(H,j){super(H,j)}ngOnDestroy(){super.ngOnDestroy(),this._fullScreenEventName&&this._fullScreenListener&&this._document.removeEventListener(this._fullScreenEventName,this._fullScreenListener)}_createContainer(){super._createContainer(),this._adjustParentForFullscreenChange(),this._addFullscreenChangeListener(()=>this._adjustParentForFullscreenChange())}_adjustParentForFullscreenChange(){this._containerElement&&(this.getFullscreenElement()||this._document.body).appendChild(this._containerElement)}_addFullscreenChangeListener(H){const j=this._getEventName();j&&(this._fullScreenListener&&this._document.removeEventListener(j,this._fullScreenListener),this._document.addEventListener(j,H),this._fullScreenListener=H)}_getEventName(){if(!this._fullScreenEventName){const H=this._document;H.fullscreenEnabled?this._fullScreenEventName="fullscreenchange":H.webkitFullscreenEnabled?this._fullScreenEventName="webkitfullscreenchange":H.mozFullScreenEnabled?this._fullScreenEventName="mozfullscreenchange":H.msFullscreenEnabled&&(this._fullScreenEventName="MSFullscreenChange")}return this._fullScreenEventName}getFullscreenElement(){const H=this._document;return H.fullscreenElement||H.webkitFullscreenElement||H.mozFullScreenElement||H.msFullscreenElement||null}}pe.\u0275fac=function(H){return new(H||pe)(_.LFG(t.K0),_.LFG(s.t4))},pe.\u0275prov=_.Yz7({token:pe,factory:pe.\u0275fac,providedIn:"root"})},9107:(Ue,q,m)=>{"use strict";m.d(q,{Mq:()=>z,Oy:()=>_e,_i:()=>I,ht:()=>ie,i$:()=>A,kV:()=>Q,qK:()=>k,sA:()=>ae,t4:()=>E});var e=m(2560),t=m(4666);let _,D;try{_=typeof Intl<"u"&&Intl.v8BreakIterator}catch{_=!1}class E{constructor(ye){this._platformId=ye,this.isBrowser=this._platformId?(0,t.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!_)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}E.\u0275fac=function(ye){return new(ye||E)(e.LFG(e.Lbi))},E.\u0275prov=e.Yz7({token:E,factory:E.\u0275fac,providedIn:"root"});class s{}s.\u0275fac=function(ye){return new(ye||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({});const u=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function k(){if(D)return D;if("object"!=typeof document||!document)return D=new Set(u),D;let ce=document.createElement("input");return D=new Set(u.filter(ye=>(ce.setAttribute("type",ye),ce.type===ye))),D}let p,P,M,W;function A(ce){return function S(){if(null==p&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>p=!0}))}finally{p=p||!1}return p}()?ce:!!ce.capture}function z(){if(null==M){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return M=!1,M;if("scrollBehavior"in document.documentElement.style)M=!0;else{const ce=Element.prototype.scrollTo;M=!!ce&&!/\{\s*\[native code\]\s*\}/.test(ce.toString())}}return M}function I(){if("object"!=typeof document||!document)return 0;if(null==P){const ce=document.createElement("div"),ye=ce.style;ce.dir="rtl",ye.width="1px",ye.overflow="auto",ye.visibility="hidden",ye.pointerEvents="none",ye.position="absolute";const ue=document.createElement("div"),$=ue.style;$.width="2px",$.height="1px",ce.appendChild(ue),document.body.appendChild(ce),P=0,0===ce.scrollLeft&&(ce.scrollLeft=1,P=0===ce.scrollLeft?1:2),ce.remove()}return P}function Q(ce){if(function Z(){if(null==W){const ce=typeof document<"u"?document.head:null;W=!(!ce||!ce.createShadowRoot&&!ce.attachShadow)}return W}()){const ye=ce.getRootNode?ce.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&ye instanceof ShadowRoot)return ye}return null}function ie(){let ce=typeof document<"u"&&document?document.activeElement:null;for(;ce&&ce.shadowRoot;){const ye=ce.shadowRoot.activeElement;if(ye===ce)break;ce=ye}return ce}function ae(ce){return ce.composedPath?ce.composedPath()[0]:ce.target}function _e(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}},7520:(Ue,q,m)=>{"use strict";m.d(q,{C5:()=>S,Pl:()=>ie,UE:()=>A,eL:()=>_e,en:()=>M,ig:()=>Z,u0:()=>I});var e=m(2560),t=m(4666);class p{attach(ue){return this._attachedHost=ue,ue.attach(this)}detach(){let ue=this._attachedHost;null!=ue&&(this._attachedHost=null,ue.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(ue){this._attachedHost=ue}}class S extends p{constructor(ue,$,he,w){super(),this.component=ue,this.viewContainerRef=$,this.injector=he,this.componentFactoryResolver=w}}class A extends p{constructor(ue,$,he,w){super(),this.templateRef=ue,this.viewContainerRef=$,this.context=he,this.injector=w}get origin(){return this.templateRef.elementRef}attach(ue,$=this.context){return this.context=$,super.attach(ue)}detach(){return this.context=void 0,super.detach()}}class P extends p{constructor(ue){super(),this.element=ue instanceof e.SBq?ue.nativeElement:ue}}class M{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(ue){return ue instanceof S?(this._attachedPortal=ue,this.attachComponentPortal(ue)):ue instanceof A?(this._attachedPortal=ue,this.attachTemplatePortal(ue)):this.attachDomPortal&&ue instanceof P?(this._attachedPortal=ue,this.attachDomPortal(ue)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(ue){this._disposeFn=ue}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class I extends M{constructor(ue,$,he,w,n){super(),this.outletElement=ue,this._componentFactoryResolver=$,this._appRef=he,this._defaultInjector=w,this.attachDomPortal=o=>{this._document;const h=o.element;h.parentNode;const d=this._document.createComment("dom-portal");h.parentNode.insertBefore(d,h),this.outletElement.appendChild(h),this._attachedPortal=o,super.setDisposeFn(()=>{d.parentNode&&d.parentNode.replaceChild(h,d)})},this._document=n}attachComponentPortal(ue){const he=(ue.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(ue.component);let w;return ue.viewContainerRef?(w=ue.viewContainerRef.createComponent(he,ue.viewContainerRef.length,ue.injector||ue.viewContainerRef.injector),this.setDisposeFn(()=>w.destroy())):(w=he.create(ue.injector||this._defaultInjector||e.zs3.NULL),this._appRef.attachView(w.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(w.hostView),w.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(w)),this._attachedPortal=ue,w}attachTemplatePortal(ue){let $=ue.viewContainerRef,he=$.createEmbeddedView(ue.templateRef,ue.context,{injector:ue.injector});return he.rootNodes.forEach(w=>this.outletElement.appendChild(w)),he.detectChanges(),this.setDisposeFn(()=>{let w=$.indexOf(he);-1!==w&&$.remove(w)}),this._attachedPortal=ue,he}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(ue){return ue.hostView.rootNodes[0]}}class Z extends A{constructor(ue,$){super(ue,$)}}Z.\u0275fac=function(ue){return new(ue||Z)(e.Y36(e.Rgc),e.Y36(e.s_b))},Z.\u0275dir=e.lG2({type:Z,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[e.qOj]});class Q extends Z{}Q.\u0275fac=function(){let ye;return function($){return(ye||(ye=e.n5z(Q)))($||Q)}}(),Q.\u0275dir=e.lG2({type:Q,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[e._Bn([{provide:Z,useExisting:Q}]),e.qOj]});class ie extends M{constructor(ue,$,he){super(),this._componentFactoryResolver=ue,this._viewContainerRef=$,this._isInitialized=!1,this.attached=new e.vpe,this.attachDomPortal=w=>{this._document;const n=w.element;n.parentNode;const o=this._document.createComment("dom-portal");w.setAttachedHost(this),n.parentNode.insertBefore(o,n),this._getRootNode().appendChild(n),this._attachedPortal=w,super.setDisposeFn(()=>{o.parentNode&&o.parentNode.replaceChild(n,o)})},this._document=he}get portal(){return this._attachedPortal}set portal(ue){this.hasAttached()&&!ue&&!this._isInitialized||(this.hasAttached()&&super.detach(),ue&&super.attach(ue),this._attachedPortal=ue||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedPortal=null,this._attachedRef=null}attachComponentPortal(ue){ue.setAttachedHost(this);const $=null!=ue.viewContainerRef?ue.viewContainerRef:this._viewContainerRef,w=(ue.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(ue.component),n=$.createComponent(w,$.length,ue.injector||$.injector);return $!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=ue,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(ue){ue.setAttachedHost(this);const $=this._viewContainerRef.createEmbeddedView(ue.templateRef,ue.context,{injector:ue.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=ue,this._attachedRef=$,this.attached.emit($),$}_getRootNode(){const ue=this._viewContainerRef.element.nativeElement;return ue.nodeType===ue.ELEMENT_NODE?ue:ue.parentNode}}ie.\u0275fac=function(ue){return new(ue||ie)(e.Y36(e._Vd),e.Y36(e.s_b),e.Y36(t.K0))},ie.\u0275dir=e.lG2({type:ie,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[e.qOj]});class ae extends ie{}ae.\u0275fac=function(){let ye;return function($){return(ye||(ye=e.n5z(ae)))($||ae)}}(),ae.\u0275dir=e.lG2({type:ae,selectors:[["","cdkPortalHost",""],["","portalHost",""]],inputs:{portal:["cdkPortalHost","portal"]},exportAs:["cdkPortalHost"],features:[e._Bn([{provide:ie,useExisting:ae}]),e.qOj]});class _e{}_e.\u0275fac=function(ue){return new(ue||_e)},_e.\u0275mod=e.oAB({type:_e}),_e.\u0275inj=e.cJS({})},1494:(Ue,q,m)=>{"use strict";m.d(q,{PQ:()=>Fe,ZD:()=>Ae,mF:()=>X,Cl:()=>te,rL:()=>Ke});var e=m(8971),t=m(2560),_=m(253),E=m(745),s=m(833),D=m(3280),u=m(5417),k=m(7714);const p={schedule(pe){let ee=requestAnimationFrame,H=cancelAnimationFrame;const{delegate:j}=p;j&&(ee=j.requestAnimationFrame,H=j.cancelAnimationFrame);const Oe=ee(Re=>{H=void 0,pe(Re)});return new k.w0(()=>H?.(Oe))},requestAnimationFrame(...pe){const{delegate:ee}=p;return(ee?.requestAnimationFrame||requestAnimationFrame)(...pe)},cancelAnimationFrame(...pe){const{delegate:ee}=p;return(ee?.cancelAnimationFrame||cancelAnimationFrame)(...pe)},delegate:void 0};class S extends u.o{constructor(ee,H){super(ee,H),this.scheduler=ee,this.work=H}requestAsyncId(ee,H,j=0){return null!==j&&j>0?super.requestAsyncId(ee,H,j):(ee.actions.push(this),ee._scheduled||(ee._scheduled=p.requestAnimationFrame(()=>ee.flush(void 0))))}recycleAsyncId(ee,H,j=0){var Oe;if(null!=j?j>0:this.delay>0)return super.recycleAsyncId(ee,H,j);const{actions:Re}=ee;null!=H&&(null===(Oe=Re[Re.length-1])||void 0===Oe?void 0:Oe.id)!==H&&(p.cancelAnimationFrame(H),ee._scheduled=void 0)}}var A=m(1010);class P extends A.v{flush(ee){this._active=!0;const H=this._scheduled;this._scheduled=void 0;const{actions:j}=this;let Oe;ee=ee||j.shift();do{if(Oe=ee.execute(ee.state,ee.delay))break}while((ee=j[0])&&ee.id===H&&j.shift());if(this._active=!1,Oe){for(;(ee=j[0])&&ee.id===H&&j.shift();)ee.unsubscribe();throw Oe}}}const M=new P(S);var I=m(3888),W=m(4437),Z=m(8977),Q=m(9211),ie=m(116),ae=m(8951),_e=m(4874),ce=m(1944),ye=m(3945);var $=m(2673),he=m(6067),w=m(1203);var o=m(9107),h=m(4666),d=m(2867),y=m(1755);const L=["contentWrapper"],v=new t.OlP("VIRTUAL_SCROLL_STRATEGY");class a{constructor(ee,H,j){this._scrolledIndexChange=new _.x,this.scrolledIndexChange=this._scrolledIndexChange.pipe((0,Z.x)()),this._viewport=null,this._itemSize=ee,this._minBufferPx=H,this._maxBufferPx=j}attach(ee){this._viewport=ee,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(ee,H,j){this._itemSize=ee,this._minBufferPx=H,this._maxBufferPx=j,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(ee,H){this._viewport&&this._viewport.scrollToOffset(ee*this._itemSize,H)}_updateTotalContentSize(){!this._viewport||this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;const ee=this._viewport.getRenderedRange(),H={start:ee.start,end:ee.end},j=this._viewport.getViewportSize(),Oe=this._viewport.getDataLength();let Re=this._viewport.measureScrollOffset(),le=this._itemSize>0?Re/this._itemSize:0;if(H.end>Oe){const it=Math.ceil(j/this._itemSize),Ct=Math.max(0,Math.min(le,Oe-it));le!=Ct&&(le=Ct,Re=Ct*this._itemSize,H.start=Math.floor(le)),H.end=Math.max(0,Math.min(Oe,H.start+it))}const _t=Re-H.start*this._itemSize;if(_t0&&(H.end=Math.min(Oe,H.end+Ct),H.start=Math.max(0,Math.floor(le-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(H),this._viewport.setRenderedContentOffset(this._itemSize*H.start),this._scrolledIndexChange.next(Math.floor(le))}}class N{constructor(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new a(this.itemSize,this.minBufferPx,this.maxBufferPx)}get itemSize(){return this._itemSize}set itemSize(ee){this._itemSize=(0,e.su)(ee)}get minBufferPx(){return this._minBufferPx}set minBufferPx(ee){this._minBufferPx=(0,e.su)(ee)}get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(ee){this._maxBufferPx=(0,e.su)(ee)}ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}}N.\u0275fac=function(ee){return new(ee||N)},N.\u0275dir=t.lG2({type:N,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[t._Bn([{provide:v,useFactory:function C(pe){return pe._scrollStrategy},deps:[(0,t.Gpc)(()=>N)]}]),t.TTD]});class X{constructor(ee,H,j){this._ngZone=ee,this._platform=H,this._scrolled=new _.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=j}register(ee){this.scrollContainers.has(ee)||this.scrollContainers.set(ee,ee.elementScrolled().subscribe(()=>this._scrolled.next(ee)))}deregister(ee){const H=this.scrollContainers.get(ee);H&&(H.unsubscribe(),this.scrollContainers.delete(ee))}scrolled(ee=20){return this._platform.isBrowser?new s.y(H=>{this._globalSubscription||this._addGlobalListener();const j=ee>0?this._scrolled.pipe((0,Q.e)(ee)).subscribe(H):this._scrolled.subscribe(H);return this._scrolledCount++,()=>{j.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,E.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((ee,H)=>this.deregister(H)),this._scrolled.complete()}ancestorScrolled(ee,H){const j=this.getAncestorScrollContainers(ee);return this.scrolled(H).pipe((0,ie.h)(Oe=>!Oe||j.indexOf(Oe)>-1))}getAncestorScrollContainers(ee){const H=[];return this.scrollContainers.forEach((j,Oe)=>{this._scrollableContainsElement(Oe,ee)&&H.push(Oe)}),H}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(ee,H){let j=(0,e.fI)(H),Oe=ee.getElementRef().nativeElement;do{if(j==Oe)return!0}while(j=j.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const ee=this._getWindow();return(0,D.R)(ee.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}X.\u0275fac=function(ee){return new(ee||X)(t.LFG(t.R0b),t.LFG(o.t4),t.LFG(h.K0,8))},X.\u0275prov=t.Yz7({token:X,factory:X.\u0275fac,providedIn:"root"});class Fe{constructor(ee,H,j,Oe){this.elementRef=ee,this.scrollDispatcher=H,this.ngZone=j,this.dir=Oe,this._destroyed=new _.x,this._elementScrolled=new s.y(Re=>this.ngZone.runOutsideAngular(()=>(0,D.R)(this.elementRef.nativeElement,"scroll").pipe((0,ae.R)(this._destroyed)).subscribe(Re)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(ee){const H=this.elementRef.nativeElement,j=this.dir&&"rtl"==this.dir.value;null==ee.left&&(ee.left=j?ee.end:ee.start),null==ee.right&&(ee.right=j?ee.start:ee.end),null!=ee.bottom&&(ee.top=H.scrollHeight-H.clientHeight-ee.bottom),j&&0!=(0,o._i)()?(null!=ee.left&&(ee.right=H.scrollWidth-H.clientWidth-ee.left),2==(0,o._i)()?ee.left=ee.right:1==(0,o._i)()&&(ee.left=ee.right?-ee.right:ee.right)):null!=ee.right&&(ee.left=H.scrollWidth-H.clientWidth-ee.right),this._applyScrollToOptions(ee)}_applyScrollToOptions(ee){const H=this.elementRef.nativeElement;(0,o.Mq)()?H.scrollTo(ee):(null!=ee.top&&(H.scrollTop=ee.top),null!=ee.left&&(H.scrollLeft=ee.left))}measureScrollOffset(ee){const H="left",j="right",Oe=this.elementRef.nativeElement;if("top"==ee)return Oe.scrollTop;if("bottom"==ee)return Oe.scrollHeight-Oe.clientHeight-Oe.scrollTop;const Re=this.dir&&"rtl"==this.dir.value;return"start"==ee?ee=Re?j:H:"end"==ee&&(ee=Re?H:j),Re&&2==(0,o._i)()?ee==H?Oe.scrollWidth-Oe.clientWidth-Oe.scrollLeft:Oe.scrollLeft:Re&&1==(0,o._i)()?ee==H?Oe.scrollLeft+Oe.scrollWidth-Oe.clientWidth:-Oe.scrollLeft:ee==H?Oe.scrollLeft:Oe.scrollWidth-Oe.clientWidth-Oe.scrollLeft}}Fe.\u0275fac=function(ee){return new(ee||Fe)(t.Y36(t.SBq),t.Y36(X),t.Y36(t.R0b),t.Y36(d.Is,8))},Fe.\u0275dir=t.lG2({type:Fe,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]});class Ke{constructor(ee,H,j){this._platform=ee,this._change=new _.x,this._changeListener=Oe=>{this._change.next(Oe)},this._document=j,H.runOutsideAngular(()=>{if(ee.isBrowser){const Oe=this._getWindow();Oe.addEventListener("resize",this._changeListener),Oe.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const ee=this._getWindow();ee.removeEventListener("resize",this._changeListener),ee.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const ee={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),ee}getViewportRect(){const ee=this.getViewportScrollPosition(),{width:H,height:j}=this.getViewportSize();return{top:ee.top,left:ee.left,bottom:ee.top+j,right:ee.left+H,height:j,width:H}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const ee=this._document,H=this._getWindow(),j=ee.documentElement,Oe=j.getBoundingClientRect();return{top:-Oe.top||ee.body.scrollTop||H.scrollY||j.scrollTop||0,left:-Oe.left||ee.body.scrollLeft||H.scrollX||j.scrollLeft||0}}change(ee=20){return ee>0?this._change.pipe((0,Q.e)(ee)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const ee=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:ee.innerWidth,height:ee.innerHeight}:{width:0,height:0}}}Ke.\u0275fac=function(ee){return new(ee||Ke)(t.LFG(o.t4),t.LFG(t.R0b),t.LFG(h.K0,8))},Ke.\u0275prov=t.Yz7({token:Ke,factory:Ke.\u0275fac,providedIn:"root"});const je=new t.OlP("VIRTUAL_SCROLLABLE");class Ve extends Fe{constructor(ee,H,j,Oe){super(ee,H,j,Oe)}measureViewportSize(ee){const H=this.elementRef.nativeElement;return"horizontal"===ee?H.clientWidth:H.clientHeight}}Ve.\u0275fac=function(ee){return new(ee||Ve)(t.Y36(t.SBq),t.Y36(X),t.Y36(t.R0b),t.Y36(d.Is,8))},Ve.\u0275dir=t.lG2({type:Ve,features:[t.qOj]});const Ze=typeof requestAnimationFrame<"u"?M:I.E;class Ie extends Ve{constructor(ee,H,j,Oe,Re,le,_t,it){super(ee,le,j,Re),this.elementRef=ee,this._changeDetectorRef=H,this._scrollStrategy=Oe,this.scrollable=it,this._platform=(0,t.f3M)(o.t4),this._detachedSubject=new _.x,this._renderedRangeSubject=new _.x,this._orientation="vertical",this._appendOnly=!1,this.scrolledIndexChange=new s.y(Ct=>this._scrollStrategy.scrolledIndexChange.subscribe(un=>Promise.resolve().then(()=>this.ngZone.run(()=>Ct.next(un))))),this.renderedRangeStream=this._renderedRangeSubject,this._totalContentSize=0,this._totalContentWidth="",this._totalContentHeight="",this._renderedRange={start:0,end:0},this._dataLength=0,this._viewportSize=0,this._renderedContentOffset=0,this._renderedContentOffsetNeedsRewrite=!1,this._isChangeDetectionPending=!1,this._runAfterChangeDetection=[],this._viewportChanges=k.w0.EMPTY,this._viewportChanges=_t.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this)}get orientation(){return this._orientation}set orientation(ee){this._orientation!==ee&&(this._orientation=ee,this._calculateSpacerSize())}get appendOnly(){return this._appendOnly}set appendOnly(ee){this._appendOnly=(0,e.Ig)(ee)}ngOnInit(){!this._platform.isBrowser||(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe((0,_e.O)(null),(0,Q.e)(0,Ze)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),super.ngOnDestroy()}attach(ee){this._forOf,this.ngZone.runOutsideAngular(()=>{this._forOf=ee,this._forOf.dataStream.pipe((0,ae.R)(this._detachedSubject)).subscribe(H=>{const j=H.length;j!==this._dataLength&&(this._dataLength=j,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]}setTotalContentSize(ee){this._totalContentSize!==ee&&(this._totalContentSize=ee,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(ee){(function xe(pe,ee){return pe.start==ee.start&&pe.end==ee.end})(this._renderedRange,ee)||(this.appendOnly&&(ee={start:0,end:Math.max(this._renderedRange.end,ee.end)}),this._renderedRangeSubject.next(this._renderedRange=ee),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(ee,H="to-start"){ee=this.appendOnly&&"to-start"===H?0:ee;const j=this.dir&&"rtl"==this.dir.value,Oe="horizontal"==this.orientation,Re=Oe?"X":"Y";let _t=`translate${Re}(${Number((Oe&&j?-1:1)*ee)}px)`;this._renderedContentOffset=ee,"to-end"===H&&(_t+=` translate${Re}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=_t&&(this._renderedContentTransform=_t,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(ee,H="auto"){const j={behavior:H};"horizontal"===this.orientation?j.start=ee:j.top=ee,this.scrollable.scrollTo(j)}scrollToIndex(ee,H="auto"){this._scrollStrategy.scrollToIndex(ee,H)}measureScrollOffset(ee){let H;return H=this.scrollable==this?j=>super.measureScrollOffset(j):j=>this.scrollable.measureScrollOffset(j),Math.max(0,H(ee??("horizontal"===this.orientation?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(ee){let H;const j="left",Re="rtl"==this.dir?.value;H="start"==ee?Re?"right":j:"end"==ee?Re?j:"right":ee||("horizontal"===this.orientation?"left":"top");const le=this.scrollable.measureBoundingClientRectWithScrollOffset(H);return this.elementRef.nativeElement.getBoundingClientRect()[H]-le}measureRenderedContentSize(){const ee=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?ee.offsetWidth:ee.offsetHeight}measureRangeSize(ee){return this._forOf?this._forOf.measureRangeSize(ee,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(ee){ee&&this._runAfterChangeDetection.push(ee),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._doChangeDetection()})))}_doChangeDetection(){this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run(()=>this._changeDetectorRef.markForCheck());const ee=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(const H of ee)H()}_calculateSpacerSize(){this._totalContentHeight="horizontal"===this.orientation?"":`${this._totalContentSize}px`,this._totalContentWidth="horizontal"===this.orientation?`${this._totalContentSize}px`:""}}function ve(pe,ee,H){const j=H;if(!j.getBoundingClientRect)return 0;const Oe=j.getBoundingClientRect();return"horizontal"===pe?"start"===ee?Oe.left:Oe.right:"start"===ee?Oe.top:Oe.bottom}Ie.\u0275fac=function(ee){return new(ee||Ie)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(t.R0b),t.Y36(v,8),t.Y36(d.Is,8),t.Y36(X),t.Y36(Ke),t.Y36(je,8))},Ie.\u0275cmp=t.Xpm({type:Ie,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(ee,H){if(1&ee&&t.Gf(L,7),2&ee){let j;t.iGM(j=t.CRH())&&(H._contentWrapper=j.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(ee,H){2&ee&&t.ekj("cdk-virtual-scroll-orientation-horizontal","horizontal"===H.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==H.orientation)},inputs:{orientation:"orientation",appendOnly:"appendOnly"},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[t._Bn([{provide:Fe,useFactory:(pe,ee)=>pe||ee,deps:[[new t.FiY,new t.tBr(je)],Ie]}]),t.qOj],ngContentSelectors:["*"],decls:4,vars:4,consts:[[1,"cdk-virtual-scroll-content-wrapper"],["contentWrapper",""],[1,"cdk-virtual-scroll-spacer"]],template:function(ee,H){1&ee&&(t.F$t(),t.TgZ(0,"div",0,1),t.Hsn(2),t.qZA(),t._UZ(3,"div",2)),2&ee&&(t.xp6(3),t.Udp("width",H._totalContentWidth)("height",H._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"],encapsulation:2,changeDetection:0});class et{constructor(ee,H,j,Oe,Re,le){this._viewContainerRef=ee,this._template=H,this._differs=j,this._viewRepeater=Oe,this._viewport=Re,this.viewChange=new _.x,this._dataSourceChanges=new _.x,this.dataStream=this._dataSourceChanges.pipe((0,_e.O)(null),function ue(){return(0,ce.e)((pe,ee)=>{let H,j=!1;pe.subscribe((0,ye.x)(ee,Oe=>{const Re=H;H=Oe,j&&ee.next([Re,Oe]),j=!0}))})}(),(0,$.w)(([_t,it])=>this._changeDataSource(_t,it)),function n(pe,ee,H){let j,Oe=!1;return pe&&"object"==typeof pe?({bufferSize:j=1/0,windowTime:ee=1/0,refCount:Oe=!1,scheduler:H}=pe):j=pe??1/0,(0,w.B)({connector:()=>new he.t(j,ee,H),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:Oe})}(1)),this._differ=null,this._needsUpdate=!1,this._destroyed=new _.x,this.dataStream.subscribe(_t=>{this._data=_t,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe((0,ae.R)(this._destroyed)).subscribe(_t=>{this._renderedRange=_t,this.viewChange.observers.length&&le.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(ee){this._cdkVirtualForOf=ee,(0,y.Z9)(ee)?this._dataSourceChanges.next(ee):this._dataSourceChanges.next(new y.P3((0,W.b)(ee)?ee:Array.from(ee||[])))}get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(ee){this._needsUpdate=!0,this._cdkVirtualForTrackBy=ee?(H,j)=>ee(H+(this._renderedRange?this._renderedRange.start:0),j):void 0}set cdkVirtualForTemplate(ee){ee&&(this._needsUpdate=!0,this._template=ee)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(ee){this._viewRepeater.viewCacheSize=(0,e.su)(ee)}measureRangeSize(ee,H){if(ee.start>=ee.end)return 0;ee.start-1;_t--){const it=this._viewContainerRef.get(_t+j);if(it&&it.rootNodes.length){le=it.rootNodes[it.rootNodes.length-1];break}}return Re&&le?ve(H,"end",le)-ve(H,"start",Re):0}ngDoCheck(){if(this._differ&&this._needsUpdate){const ee=this._differ.diff(this._renderedItems);ee?this._applyChanges(ee):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){!this._renderedRange||(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((ee,H)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(ee,H):H)),this._needsUpdate=!0)}_changeDataSource(ee,H){return ee&&ee.disconnect(this),this._needsUpdate=!0,H?H.connect(this):(0,E.of)()}_updateContext(){const ee=this._data.length;let H=this._viewContainerRef.length;for(;H--;){const j=this._viewContainerRef.get(H);j.context.index=this._renderedRange.start+H,j.context.count=ee,this._updateComputedContextProperties(j.context),j.detectChanges()}}_applyChanges(ee){this._viewRepeater.applyChanges(ee,this._viewContainerRef,(Oe,Re,le)=>this._getEmbeddedViewArgs(Oe,le),Oe=>Oe.item),ee.forEachIdentityChange(Oe=>{this._viewContainerRef.get(Oe.currentIndex).context.$implicit=Oe.item});const H=this._data.length;let j=this._viewContainerRef.length;for(;j--;){const Oe=this._viewContainerRef.get(j);Oe.context.index=this._renderedRange.start+j,Oe.context.count=H,this._updateComputedContextProperties(Oe.context)}}_updateComputedContextProperties(ee){ee.first=0===ee.index,ee.last=ee.index===ee.count-1,ee.even=ee.index%2==0,ee.odd=!ee.even}_getEmbeddedViewArgs(ee,H){return{templateRef:this._template,context:{$implicit:ee.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:H}}}et.\u0275fac=function(ee){return new(ee||et)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(t.ZZ4),t.Y36(y.k),t.Y36(Ie,4),t.Y36(t.R0b))},et.\u0275dir=t.lG2({type:et,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},features:[t._Bn([{provide:y.k,useClass:y.eX}])]});class ht extends Ve{constructor(ee,H,j,Oe){super(ee,H,j,Oe)}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]-this.measureScrollOffset(ee)}}ht.\u0275fac=function(ee){return new(ee||ht)(t.Y36(t.SBq),t.Y36(X),t.Y36(t.R0b),t.Y36(d.Is,8))},ht.\u0275dir=t.lG2({type:ht,selectors:[["","cdkVirtualScrollingElement",""]],hostAttrs:[1,"cdk-virtual-scrollable"],features:[t._Bn([{provide:je,useExisting:ht}]),t.qOj]});class Le extends Ve{constructor(ee,H,j){super(new t.SBq(document.documentElement),ee,H,j),this._elementScrolled=new s.y(Oe=>this.ngZone.runOutsideAngular(()=>(0,D.R)(document,"scroll").pipe((0,ae.R)(this._destroyed)).subscribe(Oe)))}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]}}Le.\u0275fac=function(ee){return new(ee||Le)(t.Y36(X),t.Y36(t.R0b),t.Y36(d.Is,8))},Le.\u0275dir=t.lG2({type:Le,selectors:[["cdk-virtual-scroll-viewport","scrollWindow",""]],features:[t._Bn([{provide:je,useExisting:Le}]),t.qOj]});class Ae{}Ae.\u0275fac=function(ee){return new(ee||Ae)},Ae.\u0275mod=t.oAB({type:Ae}),Ae.\u0275inj=t.cJS({});class te{}te.\u0275fac=function(ee){return new(ee||te)},te.\u0275mod=t.oAB({type:te}),te.\u0275inj=t.cJS({imports:[d.vT,Ae,d.vT,Ae]})},1861:(Ue,q,m)=>{"use strict";m.d(q,{B8:()=>ae,KL:()=>M,U5:()=>ye,be:()=>ie,gx:()=>Q,po:()=>ce,st:()=>_e,u6:()=>z});var e=m(4218),t=m(2867),_=m(8971),E=m(8456),s=m(2560),D=m(9107),u=m(253),k=m(745),p=m(4874),S=m(8951);function A(ue,$){1&ue&&s.Hsn(0)}class M{constructor($){this._elementRef=$}focus(){this._elementRef.nativeElement.focus()}}M.\u0275fac=function($){return new($||M)(s.Y36(s.SBq))},M.\u0275dir=s.lG2({type:M,selectors:[["","cdkStepHeader",""]],hostAttrs:["role","tab"]});class z{constructor($){this.template=$}}z.\u0275fac=function($){return new($||z)(s.Y36(s.Rgc))},z.\u0275dir=s.lG2({type:z,selectors:[["","cdkStepLabel",""]]});let I=0;const Z_NUMBER="number",Z_EDIT="edit",Z_DONE="done",Z_ERROR="error",Q=new s.OlP("STEPPER_GLOBAL_OPTIONS");class ie{constructor($,he){this._stepper=$,this.interacted=!1,this.interactedStream=new s.vpe,this._editable=!0,this._optional=!1,this._completedOverride=null,this._customError=null,this._stepperOptions=he||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType}get editable(){return this._editable}set editable($){this._editable=(0,_.Ig)($)}get optional(){return this._optional}set optional($){this._optional=(0,_.Ig)($)}get completed(){return null==this._completedOverride?this._getDefaultCompleted():this._completedOverride}set completed($){this._completedOverride=(0,_.Ig)($)}_getDefaultCompleted(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted}get hasError(){return null==this._customError?this._getDefaultError():this._customError}set hasError($){this._customError=(0,_.Ig)($)}_getDefaultError(){return this.stepControl&&this.stepControl.invalid&&this.interacted}select(){this._stepper.selected=this}reset(){this.interacted=!1,null!=this._completedOverride&&(this._completedOverride=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()}ngOnChanges(){this._stepper._stateChanged()}_markAsInteracted(){this.interacted||(this.interacted=!0,this.interactedStream.emit(this))}_showError(){return this._stepperOptions.showError??null!=this._customError}}ie.\u0275fac=function($){return new($||ie)(s.Y36((0,s.Gpc)(()=>ae)),s.Y36(Q,8))},ie.\u0275cmp=s.Xpm({type:ie,selectors:[["cdk-step"]],contentQueries:function($,he,w){if(1&$&&s.Suo(w,z,5),2&$){let n;s.iGM(n=s.CRH())&&(he.stepLabel=n.first)}},viewQuery:function($,he){if(1&$&&s.Gf(s.Rgc,7),2&$){let w;s.iGM(w=s.CRH())&&(he.content=w.first)}},inputs:{stepControl:"stepControl",label:"label",errorMessage:"errorMessage",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],state:"state",editable:"editable",optional:"optional",completed:"completed",hasError:"hasError"},outputs:{interactedStream:"interacted"},exportAs:["cdkStep"],features:[s.TTD],ngContentSelectors:["*"],decls:1,vars:0,template:function($,he){1&$&&(s.F$t(),s.YNc(0,A,1,0,"ng-template"))},encapsulation:2,changeDetection:0});class ae{constructor($,he,w){this._dir=$,this._changeDetectorRef=he,this._elementRef=w,this._destroyed=new u.x,this.steps=new s.n_E,this._sortedHeaders=new s.n_E,this._linear=!1,this._selectedIndex=0,this.selectionChange=new s.vpe,this._orientation="horizontal",this._groupId=I++}get linear(){return this._linear}set linear($){this._linear=(0,_.Ig)($)}get selectedIndex(){return this._selectedIndex}set selectedIndex($){const he=(0,_.su)($);this.steps&&this._steps?(this._isValidIndex(he),this.selected?._markAsInteracted(),this._selectedIndex!==he&&!this._anyControlsInvalidOrPending(he)&&(he>=this._selectedIndex||this.steps.toArray()[he].editable)&&this._updateSelectedItemIndex(he)):this._selectedIndex=he}get selected(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0}set selected($){this.selectedIndex=$&&this.steps?this.steps.toArray().indexOf($):-1}get orientation(){return this._orientation}set orientation($){this._orientation=$,this._keyManager&&this._keyManager.withVerticalOrientation("vertical"===$)}ngAfterContentInit(){this._steps.changes.pipe((0,p.O)(this._steps),(0,S.R)(this._destroyed)).subscribe($=>{this.steps.reset($.filter(he=>he._stepper===this)),this.steps.notifyOnChanges()})}ngAfterViewInit(){this._stepHeader.changes.pipe((0,p.O)(this._stepHeader),(0,S.R)(this._destroyed)).subscribe($=>{this._sortedHeaders.reset($.toArray().sort((he,w)=>he._elementRef.nativeElement.compareDocumentPosition(w._elementRef.nativeElement)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),this._sortedHeaders.notifyOnChanges()}),this._keyManager=new e.Em(this._sortedHeaders).withWrap().withHomeAndEnd().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:(0,k.of)()).pipe((0,p.O)(this._layoutDirection()),(0,S.R)(this._destroyed)).subscribe($=>this._keyManager.withHorizontalOrientation($)),this._keyManager.updateActiveItem(this._selectedIndex),this.steps.changes.subscribe(()=>{this.selected||(this._selectedIndex=Math.max(this._selectedIndex-1,0))}),this._isValidIndex(this._selectedIndex)||(this._selectedIndex=0)}ngOnDestroy(){this.steps.destroy(),this._sortedHeaders.destroy(),this._destroyed.next(),this._destroyed.complete()}next(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)}previous(){this.selectedIndex=Math.max(this._selectedIndex-1,0)}reset(){this._updateSelectedItemIndex(0),this.steps.forEach($=>$.reset()),this._stateChanged()}_getStepLabelId($){return`cdk-step-label-${this._groupId}-${$}`}_getStepContentId($){return`cdk-step-content-${this._groupId}-${$}`}_stateChanged(){this._changeDetectorRef.markForCheck()}_getAnimationDirection($){const he=$-this._selectedIndex;return he<0?"rtl"===this._layoutDirection()?"next":"previous":he>0?"rtl"===this._layoutDirection()?"previous":"next":"current"}_getIndicatorType($,he=Z_NUMBER){const w=this.steps.toArray()[$],n=this._isCurrentStep($);return w._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(w,n):this._getGuidelineLogic(w,n,he)}_getDefaultIndicatorLogic($,he){return $._showError()&&$.hasError&&!he?Z_ERROR:!$.completed||he?Z_NUMBER:$.editable?Z_EDIT:Z_DONE}_getGuidelineLogic($,he,w=Z_NUMBER){return $._showError()&&$.hasError&&!he?Z_ERROR:$.completed&&!he?Z_DONE:$.completed&&he?w:$.editable&&he?Z_EDIT:w}_isCurrentStep($){return this._selectedIndex===$}_getFocusIndex(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex}_updateSelectedItemIndex($){const he=this.steps.toArray();this.selectionChange.emit({selectedIndex:$,previouslySelectedIndex:this._selectedIndex,selectedStep:he[$],previouslySelectedStep:he[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem($):this._keyManager.updateActiveItem($),this._selectedIndex=$,this._stateChanged()}_onKeydown($){const he=(0,E.Vb)($),w=$.keyCode,n=this._keyManager;null==n.activeItemIndex||he||w!==E.L_&&w!==E.K5?n.onKeydown($):(this.selectedIndex=n.activeItemIndex,$.preventDefault())}_anyControlsInvalidOrPending($){return!!(this._linear&&$>=0)&&this.steps.toArray().slice(0,$).some(he=>{const w=he.stepControl;return(w?w.invalid||w.pending||!he.interacted:!he.completed)&&!he.optional&&!he._completedOverride})}_layoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_containsFocus(){const $=this._elementRef.nativeElement,he=(0,D.ht)();return $===he||$.contains(he)}_isValidIndex($){return $>-1&&(!this.steps||${"use strict";m.d(q,{HI:()=>I,Hs:()=>$,Ud:()=>d,VY:()=>z,XJ:()=>h,Xx:()=>n,_0:()=>ue,cu:()=>W,nZ:()=>L,rO:()=>Q});var e=m(1755),t=m(4437),_=m(253),E=m(6317),s=m(745),D=m(9295),u=m(116),k=m(8951),p=m(2560),S=m(8971),A=m(2867);class P{constructor(){this.expansionModel=new e.Ov(!0)}toggle(v){this.expansionModel.toggle(this._trackByValue(v))}expand(v){this.expansionModel.select(this._trackByValue(v))}collapse(v){this.expansionModel.deselect(this._trackByValue(v))}isExpanded(v){return this.expansionModel.isSelected(this._trackByValue(v))}toggleDescendants(v){this.expansionModel.isSelected(this._trackByValue(v))?this.collapseDescendants(v):this.expandDescendants(v)}collapseAll(){this.expansionModel.clear()}expandDescendants(v){let a=[v];a.push(...this.getDescendants(v)),this.expansionModel.select(...a.map(C=>this._trackByValue(C)))}collapseDescendants(v){let a=[v];a.push(...this.getDescendants(v)),this.expansionModel.deselect(...a.map(C=>this._trackByValue(C)))}_trackByValue(v){return this.trackBy?this.trackBy(v):v}}class z extends P{constructor(v,a){super(),this.getChildren=v,this.options=a,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const v=this.dataNodes.reduce((a,C)=>[...a,...this.getDescendants(C),C],[]);this.expansionModel.select(...v.map(a=>this._trackByValue(a)))}getDescendants(v){const a=[];return this._getDescendants(a,v),a.splice(1)}_getDescendants(v,a){v.push(a);const C=this.getChildren(a);Array.isArray(C)?C.forEach(N=>this._getDescendants(v,N)):(0,t.b)(C)&&C.pipe((0,D.q)(1),(0,u.h)(Boolean)).subscribe(N=>{for(const F of N)this._getDescendants(v,F)})}}const I=new p.OlP("CDK_TREE_NODE_OUTLET_NODE");class W{constructor(v,a){this.viewContainer=v,this._node=a}}W.\u0275fac=function(v){return new(v||W)(p.Y36(p.s_b),p.Y36(I,8))},W.\u0275dir=p.lG2({type:W,selectors:[["","cdkTreeNodeOutlet",""]]});class Z{constructor(v){this.$implicit=v}}class Q{constructor(v){this.template=v}}Q.\u0275fac=function(v){return new(v||Q)(p.Y36(p.Rgc))},Q.\u0275dir=p.lG2({type:Q,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}});class ue{constructor(v,a){this._differs=v,this._changeDetectorRef=a,this._onDestroy=new _.x,this._levels=new Map,this.viewChange=new E.X({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(v){this._dataSource!==v&&this._switchDataSource(v)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy),this.treeControl}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const v=this._nodeDefs.filter(a=>!a.when);v.length,this._defaultNodeDef=v[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(v){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),v||this._nodeOutlet.viewContainer.clear(),this._dataSource=v,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let v;(0,e.Z9)(this._dataSource)?v=this._dataSource.connect(this):(0,t.b)(this._dataSource)?v=this._dataSource:Array.isArray(this._dataSource)&&(v=(0,s.of)(this._dataSource)),v&&(this._dataSubscription=v.pipe((0,k.R)(this._onDestroy)).subscribe(a=>this.renderNodeChanges(a)))}renderNodeChanges(v,a=this._dataDiffer,C=this._nodeOutlet.viewContainer,N){const F=a.diff(v);!F||(F.forEachOperation((X,Fe,ke)=>{if(null==X.previousIndex)this.insertNode(v[ke],ke,C,N);else if(null==ke)C.remove(Fe),this._levels.delete(X.item);else{const Ke=C.get(Fe);C.move(Ke,ke)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(v,a){if(1===this._nodeDefs.length)return this._nodeDefs.first;return this._nodeDefs.find(N=>N.when&&N.when(a,v))||this._defaultNodeDef}insertNode(v,a,C,N){const F=this._getNodeDef(v,a),X=new Z(v);this.treeControl.getLevel?X.level=this.treeControl.getLevel(v):typeof N<"u"&&this._levels.has(N)?X.level=this._levels.get(N)+1:X.level=0,this._levels.set(v,X.level),(C||this._nodeOutlet.viewContainer).createEmbeddedView(F.template,X,a),$.mostRecentTreeNode&&($.mostRecentTreeNode.data=v)}}ue.\u0275fac=function(v){return new(v||ue)(p.Y36(p.ZZ4),p.Y36(p.sBO))},ue.\u0275cmp=p.Xpm({type:ue,selectors:[["cdk-tree"]],contentQueries:function(v,a,C){if(1&v&&p.Suo(C,Q,5),2&v){let N;p.iGM(N=p.CRH())&&(a._nodeDefs=N)}},viewQuery:function(v,a){if(1&v&&p.Gf(W,7),2&v){let C;p.iGM(C=p.CRH())&&(a._nodeOutlet=C.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(v,a){1&v&&p.GkF(0,0)},dependencies:[W],encapsulation:2});class ${constructor(v,a){this._elementRef=v,this._tree=a,this._destroyed=new _.x,this._dataChanges=new _.x,$.mostRecentTreeNode=this,this.role="treeitem"}get role(){return"treeitem"}set role(v){this._elementRef.nativeElement.setAttribute("role",v)}get data(){return this._data}set data(v){v!==this._data&&(this._data=v,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function he(B){let v=B.parentElement;for(;v&&!w(v);)v=v.parentElement;return v?v.classList.contains("cdk-nested-tree-node")?(0,S.su)(v.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngOnDestroy(){$.mostRecentTreeNode===this&&($.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){!this._tree.treeControl.isExpandable&&this._tree.treeControl.getChildren,this.role="treeitem"}}function w(B){const v=B.classList;return!(!v?.contains("cdk-nested-tree-node")&&!v?.contains("cdk-tree"))}$.mostRecentTreeNode=null,$.\u0275fac=function(v){return new(v||$)(p.Y36(p.SBq),p.Y36(ue))},$.\u0275dir=p.lG2({type:$,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(v,a){2&v&&p.uIk("aria-expanded",a.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"]});class n extends ${constructor(v,a,C){super(v,a),this._differs=C}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy),this._tree.treeControl.getChildren;const v=this._tree.treeControl.getChildren(this.data);Array.isArray(v)?this.updateChildrenNodes(v):(0,t.b)(v)&&v.pipe((0,k.R)(this._destroyed)).subscribe(a=>this.updateChildrenNodes(a)),this.nodeOutlet.changes.pipe((0,k.R)(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(v){const a=this._getNodeOutlet();if(v&&(this._children=v),a&&this._children){const C=a.viewContainer;this._tree.renderNodeChanges(this._children,this._dataDiffer,C,this._data)}else this._dataDiffer.diff([])}_clear(){const v=this._getNodeOutlet();v&&(v.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const v=this.nodeOutlet;return v&&v.find(a=>!a._node||a._node===this)}}n.\u0275fac=function(v){return new(v||n)(p.Y36(p.SBq),p.Y36(ue),p.Y36(p.ZZ4))},n.\u0275dir=p.lG2({type:n,selectors:[["cdk-nested-tree-node"]],contentQueries:function(v,a,C){if(1&v&&p.Suo(C,W,5),2&v){let N;p.iGM(N=p.CRH())&&(a.nodeOutlet=N)}},hostAttrs:[1,"cdk-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[p._Bn([{provide:$,useExisting:n},{provide:I,useExisting:n}]),p.qOj]});const o=/([A-Za-z%]+)$/;class h{constructor(v,a,C,N){this._treeNode=v,this._tree=a,this._element=C,this._dir=N,this._destroyed=new _.x,this.indentUnits="px",this._indent=40,this._setPadding(),N&&N.change.pipe((0,k.R)(this._destroyed)).subscribe(()=>this._setPadding(!0)),v._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(v){this._setLevelInput(v)}get indent(){return this._indent}set indent(v){this._setIndentInput(v)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const v=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,a=null==this._level?v:this._level;return"number"==typeof a?`${a*this._indent}${this.indentUnits}`:null}_setPadding(v=!1){const a=this._paddingIndent();if(a!==this._currentPadding||v){const C=this._element.nativeElement,N=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",F="paddingLeft"===N?"paddingRight":"paddingLeft";C.style[N]=a||"",C.style[F]="",this._currentPadding=a}}_setLevelInput(v){this._level=(0,S.su)(v,null),this._setPadding()}_setIndentInput(v){let a=v,C="px";if("string"==typeof v){const N=v.split(o);a=N[0],C=N[1]||C}this.indentUnits=C,this._indent=(0,S.su)(a),this._setPadding()}}h.\u0275fac=function(v){return new(v||h)(p.Y36($),p.Y36(ue),p.Y36(p.SBq),p.Y36(A.Is,8))},h.\u0275dir=p.lG2({type:h,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}});class d{constructor(v,a){this._tree=v,this._treeNode=a,this._recursive=!1}get recursive(){return this._recursive}set recursive(v){this._recursive=(0,S.Ig)(v)}_toggle(v){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),v.stopPropagation()}}d.\u0275fac=function(v){return new(v||d)(p.Y36(ue),p.Y36($))},d.\u0275dir=p.lG2({type:d,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(v,a){1&v&&p.NdJ("click",function(N){return a._toggle(N)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}});class L{}L.\u0275fac=function(v){return new(v||L)},L.\u0275mod=p.oAB({type:L}),L.\u0275inj=p.cJS({})},4666:(Ue,q,m)=>{"use strict";m.d(q,{Do:()=>ae,ED:()=>Za,EM:()=>Oa,HT:()=>s,JF:()=>yr,JJ:()=>is,K0:()=>u,Mx:()=>Wn,NF:()=>nr,Nd:()=>za,O5:()=>Qn,OU:()=>Ua,Ov:()=>Di,PC:()=>ln,PM:()=>Pr,RF:()=>qi,S$:()=>Z,Ts:()=>ra,V_:()=>S,Ye:()=>_e,b0:()=>ie,bD:()=>vr,ez:()=>Ca,gd:()=>Ha,i8:()=>Ji,mk:()=>ti,n9:()=>Zi,q:()=>_,rS:()=>Yi,sg:()=>hn,tP:()=>En,uU:()=>Sa,w_:()=>D});var e=m(2560);let t=null;function _(){return t}function s(Ne){t||(t=Ne)}class D{}const u=new e.OlP("DocumentToken");class k{historyGo(fe){throw new Error("Not implemented")}}k.\u0275fac=function(fe){return new(fe||k)},k.\u0275prov=e.Yz7({token:k,factory:function(){return function p(){return(0,e.LFG)(A)}()},providedIn:"platform"});const S=new e.OlP("Location Initialized");class A extends k{constructor(fe){super(),this._doc=fe,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return _().getBaseHref(this._doc)}onPopState(fe){const st=_().getGlobalEventTarget(this._doc,"window");return st.addEventListener("popstate",fe,!1),()=>st.removeEventListener("popstate",fe)}onHashChange(fe){const st=_().getGlobalEventTarget(this._doc,"window");return st.addEventListener("hashchange",fe,!1),()=>st.removeEventListener("hashchange",fe)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(fe){this.location.pathname=fe}pushState(fe,st,Ot){P()?this._history.pushState(fe,st,Ot):this.location.hash=Ot}replaceState(fe,st,Ot){P()?this._history.replaceState(fe,st,Ot):this.location.hash=Ot}forward(){this._history.forward()}back(){this._history.back()}historyGo(fe=0){this._history.go(fe)}getState(){return this._history.state}}function P(){return!!window.history.pushState}function z(Ne,fe){if(0==Ne.length)return fe;if(0==fe.length)return Ne;let st=0;return Ne.endsWith("/")&&st++,fe.startsWith("/")&&st++,2==st?Ne+fe.substring(1):1==st?Ne+fe:Ne+"/"+fe}function I(Ne){const fe=Ne.match(/#|\?|$/),st=fe&&fe.index||Ne.length,Ot=st-("/"===Ne[st-1]?1:0);return Ne.slice(0,Ot)+Ne.slice(st)}function W(Ne){return Ne&&"?"!==Ne[0]?"?"+Ne:Ne}A.\u0275fac=function(fe){return new(fe||A)(e.LFG(u))},A.\u0275prov=e.Yz7({token:A,factory:function(){return function M(){return new A((0,e.LFG)(u))}()},providedIn:"platform"});class Z{historyGo(fe){throw new Error("Not implemented")}}Z.\u0275fac=function(fe){return new(fe||Z)},Z.\u0275prov=e.Yz7({token:Z,factory:function(){return(0,e.f3M)(ie)},providedIn:"root"});const Q=new e.OlP("appBaseHref");class ie extends Z{constructor(fe,st){super(),this._platformLocation=fe,this._removeListenerFns=[],this._baseHref=st??this._platformLocation.getBaseHrefFromDOM()??(0,e.f3M)(u).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(fe){this._removeListenerFns.push(this._platformLocation.onPopState(fe),this._platformLocation.onHashChange(fe))}getBaseHref(){return this._baseHref}prepareExternalUrl(fe){return z(this._baseHref,fe)}path(fe=!1){const st=this._platformLocation.pathname+W(this._platformLocation.search),Ot=this._platformLocation.hash;return Ot&&fe?`${st}${Ot}`:st}pushState(fe,st,Ot,Vt){const fn=this.prepareExternalUrl(Ot+W(Vt));this._platformLocation.pushState(fe,st,fn)}replaceState(fe,st,Ot,Vt){const fn=this.prepareExternalUrl(Ot+W(Vt));this._platformLocation.replaceState(fe,st,fn)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(fe=0){this._platformLocation.historyGo?.(fe)}}ie.\u0275fac=function(fe){return new(fe||ie)(e.LFG(k),e.LFG(Q,8))},ie.\u0275prov=e.Yz7({token:ie,factory:ie.\u0275fac,providedIn:"root"});class ae extends Z{constructor(fe,st){super(),this._platformLocation=fe,this._baseHref="",this._removeListenerFns=[],null!=st&&(this._baseHref=st)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(fe){this._removeListenerFns.push(this._platformLocation.onPopState(fe),this._platformLocation.onHashChange(fe))}getBaseHref(){return this._baseHref}path(fe=!1){let st=this._platformLocation.hash;return null==st&&(st="#"),st.length>0?st.substring(1):st}prepareExternalUrl(fe){const st=z(this._baseHref,fe);return st.length>0?"#"+st:st}pushState(fe,st,Ot,Vt){let fn=this.prepareExternalUrl(Ot+W(Vt));0==fn.length&&(fn=this._platformLocation.pathname),this._platformLocation.pushState(fe,st,fn)}replaceState(fe,st,Ot,Vt){let fn=this.prepareExternalUrl(Ot+W(Vt));0==fn.length&&(fn=this._platformLocation.pathname),this._platformLocation.replaceState(fe,st,fn)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(fe=0){this._platformLocation.historyGo?.(fe)}}ae.\u0275fac=function(fe){return new(fe||ae)(e.LFG(k),e.LFG(Q,8))},ae.\u0275prov=e.Yz7({token:ae,factory:ae.\u0275fac});class _e{constructor(fe){this._subject=new e.vpe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=fe;const st=this._locationStrategy.getBaseHref();this._baseHref=I(ue(st)),this._locationStrategy.onPopState(Ot=>{this._subject.emit({url:this.path(!0),pop:!0,state:Ot.state,type:Ot.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(fe=!1){return this.normalize(this._locationStrategy.path(fe))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(fe,st=""){return this.path()==this.normalize(fe+W(st))}normalize(fe){return _e.stripTrailingSlash(function ye(Ne,fe){return Ne&&fe.startsWith(Ne)?fe.substring(Ne.length):fe}(this._baseHref,ue(fe)))}prepareExternalUrl(fe){return fe&&"/"!==fe[0]&&(fe="/"+fe),this._locationStrategy.prepareExternalUrl(fe)}go(fe,st="",Ot=null){this._locationStrategy.pushState(Ot,"",fe,st),this._notifyUrlChangeListeners(this.prepareExternalUrl(fe+W(st)),Ot)}replaceState(fe,st="",Ot=null){this._locationStrategy.replaceState(Ot,"",fe,st),this._notifyUrlChangeListeners(this.prepareExternalUrl(fe+W(st)),Ot)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(fe=0){this._locationStrategy.historyGo?.(fe)}onUrlChange(fe){return this._urlChangeListeners.push(fe),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(st=>{this._notifyUrlChangeListeners(st.url,st.state)})),()=>{const st=this._urlChangeListeners.indexOf(fe);this._urlChangeListeners.splice(st,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(fe="",st){this._urlChangeListeners.forEach(Ot=>Ot(fe,st))}subscribe(fe,st,Ot){return this._subject.subscribe({next:fe,error:st,complete:Ot})}}function ue(Ne){return Ne.replace(/\/index.html$/,"")}_e.normalizeQueryParams=W,_e.joinWithSlash=z,_e.stripTrailingSlash=I,_e.\u0275fac=function(fe){return new(fe||_e)(e.LFG(Z))},_e.\u0275prov=e.Yz7({token:_e,factory:function(){return function ce(){return new _e((0,e.LFG)(Z))}()},providedIn:"root"});const $={ADP:[void 0,void 0,0],AFN:[void 0,"\u060b",0],ALL:[void 0,void 0,0],AMD:[void 0,"\u058f",2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],AZN:[void 0,"\u20bc"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"\u09f3"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,void 0,2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN\xa5","\xa5"],COP:[void 0,"$",2],CRC:[void 0,"\u20a1",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"K\u010d",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E\xa3"],ESP:[void 0,"\u20a7",0],EUR:["\u20ac"],FJD:[void 0,"$"],FKP:[void 0,"\xa3"],GBP:["\xa3"],GEL:[void 0,"\u20be"],GHS:[void 0,"GH\u20b5"],GIP:[void 0,"\xa3"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["\u20aa"],INR:["\u20b9"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["\xa5",void 0,0],KHR:[void 0,"\u17db"],KMF:[void 0,"CF",0],KPW:[void 0,"\u20a9",0],KRW:["\u20a9",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"\u20b8"],LAK:[void 0,"\u20ad",0],LBP:[void 0,"L\xa3",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"\u20ae",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"\u20a6"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:["\u20b1"],PKR:[void 0,"Rs",2],PLN:[void 0,"z\u0142"],PYG:[void 0,"\u20b2",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"\u20bd"],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"\xa3"],SLE:[void 0,void 0,2],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"\xa3"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"\xa3",0],THB:[void 0,"\u0e3f"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"\u20ba"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"\u20b4"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["\u20ab",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["F\u202fCFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["\xa4"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};var he,Ne,w,n,o,h,d,y;function X(Ne,fe){return te((0,e.cg1)(Ne)[e.wAp.DateFormat],fe)}function Fe(Ne,fe){return te((0,e.cg1)(Ne)[e.wAp.TimeFormat],fe)}function ke(Ne,fe){return te((0,e.cg1)(Ne)[e.wAp.DateTimeFormat],fe)}function Ke(Ne,fe){const st=(0,e.cg1)(Ne),Ot=st[e.wAp.NumberSymbols][fe];if(typeof Ot>"u"){if(fe===d.CurrencyDecimal)return st[e.wAp.NumberSymbols][d.Decimal];if(fe===d.CurrencyGroup)return st[e.wAp.NumberSymbols][d.Group]}return Ot}function je(Ne,fe){return(0,e.cg1)(Ne)[e.wAp.NumberFormats][fe]}(Ne=he||(he={}))[Ne.Decimal=0]="Decimal",Ne[Ne.Percent=1]="Percent",Ne[Ne.Currency=2]="Currency",Ne[Ne.Scientific=3]="Scientific",function(Ne){Ne[Ne.Zero=0]="Zero",Ne[Ne.One=1]="One",Ne[Ne.Two=2]="Two",Ne[Ne.Few=3]="Few",Ne[Ne.Many=4]="Many",Ne[Ne.Other=5]="Other"}(w||(w={})),function(Ne){Ne[Ne.Format=0]="Format",Ne[Ne.Standalone=1]="Standalone"}(n||(n={})),function(Ne){Ne[Ne.Narrow=0]="Narrow",Ne[Ne.Abbreviated=1]="Abbreviated",Ne[Ne.Wide=2]="Wide",Ne[Ne.Short=3]="Short"}(o||(o={})),function(Ne){Ne[Ne.Short=0]="Short",Ne[Ne.Medium=1]="Medium",Ne[Ne.Long=2]="Long",Ne[Ne.Full=3]="Full"}(h||(h={})),function(Ne){Ne[Ne.Decimal=0]="Decimal",Ne[Ne.Group=1]="Group",Ne[Ne.List=2]="List",Ne[Ne.PercentSign=3]="PercentSign",Ne[Ne.PlusSign=4]="PlusSign",Ne[Ne.MinusSign=5]="MinusSign",Ne[Ne.Exponential=6]="Exponential",Ne[Ne.SuperscriptingExponent=7]="SuperscriptingExponent",Ne[Ne.PerMille=8]="PerMille",Ne[Ne.Infinity=9]="Infinity",Ne[Ne.NaN=10]="NaN",Ne[Ne.TimeSeparator=11]="TimeSeparator",Ne[Ne.CurrencyDecimal=12]="CurrencyDecimal",Ne[Ne.CurrencyGroup=13]="CurrencyGroup"}(d||(d={})),function(Ne){Ne[Ne.Sunday=0]="Sunday",Ne[Ne.Monday=1]="Monday",Ne[Ne.Tuesday=2]="Tuesday",Ne[Ne.Wednesday=3]="Wednesday",Ne[Ne.Thursday=4]="Thursday",Ne[Ne.Friday=5]="Friday",Ne[Ne.Saturday=6]="Saturday"}(y||(y={}));const ve=e.kL8;function et(Ne){if(!Ne[e.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ne[e.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function te(Ne,fe){for(let st=fe;st>-1;st--)if(typeof Ne[st]<"u")return Ne[st];throw new Error("Locale data API: locale data undefined")}function pe(Ne){const[fe,st]=Ne.split(":");return{hours:+fe,minutes:+st}}function ee(Ne,fe,st="en"){const Ot=function Ie(Ne){return(0,e.cg1)(Ne)[e.wAp.Currencies]}(st)[Ne]||$[Ne]||[],Vt=Ot[1];return"narrow"===fe&&"string"==typeof Vt?Vt:Ot[0]||Ne}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Re={},le=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var _t,it,Ct;function un(Ne,fe,st,Ot){let Vt=function Ce(Ne){if(zt(Ne))return Ne;if("number"==typeof Ne&&!isNaN(Ne))return new Date(Ne);if("string"==typeof Ne){if(Ne=Ne.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ne)){const[Vt,fn=1,Un=1]=Ne.split("-").map(Xe=>+Xe);return Bt(Vt,fn-1,Un)}const st=parseFloat(Ne);if(!isNaN(Ne-st))return new Date(st);let Ot;if(Ot=Ne.match(Oe))return function Je(Ne){const fe=new Date(0);let st=0,Ot=0;const Vt=Ne[8]?fe.setUTCFullYear:fe.setFullYear,fn=Ne[8]?fe.setUTCHours:fe.setHours;Ne[9]&&(st=Number(Ne[9]+Ne[10]),Ot=Number(Ne[9]+Ne[11])),Vt.call(fe,Number(Ne[1]),Number(Ne[2])-1,Number(Ne[3]));const Un=Number(Ne[4]||0)-st,Xe=Number(Ne[5]||0)-Ot,rt=Number(Ne[6]||0),yt=Math.floor(1e3*parseFloat("0."+(Ne[7]||0)));return fn.call(fe,Un,Xe,rt,yt),fe}(Ot)}const fe=new Date(Ne);if(!zt(fe))throw new Error(`Unable to convert "${Ne}" into a date`);return fe}(Ne);fe=Ut(st,fe)||fe;let Xe,Un=[];for(;fe;){if(Xe=le.exec(fe),!Xe){Un.push(fe);break}{Un=Un.concat(Xe.slice(1));const Pt=Un.pop();if(!Pt)break;fe=Pt}}let rt=Vt.getTimezoneOffset();Ot&&(rt=ut(Ot,rt),Vt=function Me(Ne,fe,st){const Ot=st?-1:1,Vt=Ne.getTimezoneOffset(),fn=ut(fe,Vt);return function ze(Ne,fe){return(Ne=new Date(Ne.getTime())).setMinutes(Ne.getMinutes()+fe),Ne}(Ne,Ot*(fn-Vt))}(Vt,Ot,!0));let yt="";return Un.forEach(Pt=>{const Qe=function Dt(Ne){if(Ye[Ne])return Ye[Ne];let fe;switch(Ne){case"G":case"GG":case"GGG":fe=tn(Ct.Eras,o.Abbreviated);break;case"GGGG":fe=tn(Ct.Eras,o.Wide);break;case"GGGGG":fe=tn(Ct.Eras,o.Narrow);break;case"y":fe=In(it.FullYear,1,0,!1,!0);break;case"yy":fe=In(it.FullYear,2,0,!0,!0);break;case"yyy":fe=In(it.FullYear,3,0,!1,!0);break;case"yyyy":fe=In(it.FullYear,4,0,!1,!0);break;case"Y":fe=De(1);break;case"YY":fe=De(2,!0);break;case"YYY":fe=De(3);break;case"YYYY":fe=De(4);break;case"M":case"L":fe=In(it.Month,1,1);break;case"MM":case"LL":fe=In(it.Month,2,1);break;case"MMM":fe=tn(Ct.Months,o.Abbreviated);break;case"MMMM":fe=tn(Ct.Months,o.Wide);break;case"MMMMM":fe=tn(Ct.Months,o.Narrow);break;case"LLL":fe=tn(Ct.Months,o.Abbreviated,n.Standalone);break;case"LLLL":fe=tn(Ct.Months,o.Wide,n.Standalone);break;case"LLLLL":fe=tn(Ct.Months,o.Narrow,n.Standalone);break;case"w":fe=oe(1);break;case"ww":fe=oe(2);break;case"W":fe=oe(1,!0);break;case"d":fe=In(it.Date,1);break;case"dd":fe=In(it.Date,2);break;case"c":case"cc":fe=In(it.Day,1);break;case"ccc":fe=tn(Ct.Days,o.Abbreviated,n.Standalone);break;case"cccc":fe=tn(Ct.Days,o.Wide,n.Standalone);break;case"ccccc":fe=tn(Ct.Days,o.Narrow,n.Standalone);break;case"cccccc":fe=tn(Ct.Days,o.Short,n.Standalone);break;case"E":case"EE":case"EEE":fe=tn(Ct.Days,o.Abbreviated);break;case"EEEE":fe=tn(Ct.Days,o.Wide);break;case"EEEEE":fe=tn(Ct.Days,o.Narrow);break;case"EEEEEE":fe=tn(Ct.Days,o.Short);break;case"a":case"aa":case"aaa":fe=tn(Ct.DayPeriods,o.Abbreviated);break;case"aaaa":fe=tn(Ct.DayPeriods,o.Wide);break;case"aaaaa":fe=tn(Ct.DayPeriods,o.Narrow);break;case"b":case"bb":case"bbb":fe=tn(Ct.DayPeriods,o.Abbreviated,n.Standalone,!0);break;case"bbbb":fe=tn(Ct.DayPeriods,o.Wide,n.Standalone,!0);break;case"bbbbb":fe=tn(Ct.DayPeriods,o.Narrow,n.Standalone,!0);break;case"B":case"BB":case"BBB":fe=tn(Ct.DayPeriods,o.Abbreviated,n.Format,!0);break;case"BBBB":fe=tn(Ct.DayPeriods,o.Wide,n.Format,!0);break;case"BBBBB":fe=tn(Ct.DayPeriods,o.Narrow,n.Format,!0);break;case"h":fe=In(it.Hours,1,-12);break;case"hh":fe=In(it.Hours,2,-12);break;case"H":fe=In(it.Hours,1);break;case"HH":fe=In(it.Hours,2);break;case"m":fe=In(it.Minutes,1);break;case"mm":fe=In(it.Minutes,2);break;case"s":fe=In(it.Seconds,1);break;case"ss":fe=In(it.Seconds,2);break;case"S":fe=In(it.FractionalSeconds,1);break;case"SS":fe=In(it.FractionalSeconds,2);break;case"SSS":fe=In(it.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":fe=tt(_t.Short);break;case"ZZZZZ":fe=tt(_t.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":fe=tt(_t.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":fe=tt(_t.Long);break;default:return null}return Ye[Ne]=fe,fe}(Pt);yt+=Qe?Qe(Vt,st,rt):"''"===Pt?"'":Pt.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),yt}function Bt(Ne,fe,st){const Ot=new Date(0);return Ot.setFullYear(Ne,fe,st),Ot.setHours(0,0,0),Ot}function Ut(Ne,fe){const st=function L(Ne){return(0,e.cg1)(Ne)[e.wAp.LocaleId]}(Ne);if(Re[st]=Re[st]||{},Re[st][fe])return Re[st][fe];let Ot="";switch(fe){case"shortDate":Ot=X(Ne,h.Short);break;case"mediumDate":Ot=X(Ne,h.Medium);break;case"longDate":Ot=X(Ne,h.Long);break;case"fullDate":Ot=X(Ne,h.Full);break;case"shortTime":Ot=Fe(Ne,h.Short);break;case"mediumTime":Ot=Fe(Ne,h.Medium);break;case"longTime":Ot=Fe(Ne,h.Long);break;case"fullTime":Ot=Fe(Ne,h.Full);break;case"short":const Vt=Ut(Ne,"shortTime"),fn=Ut(Ne,"shortDate");Ot=yn(ke(Ne,h.Short),[Vt,fn]);break;case"medium":const Un=Ut(Ne,"mediumTime"),Xe=Ut(Ne,"mediumDate");Ot=yn(ke(Ne,h.Medium),[Un,Xe]);break;case"long":const rt=Ut(Ne,"longTime"),yt=Ut(Ne,"longDate");Ot=yn(ke(Ne,h.Long),[rt,yt]);break;case"full":const Pt=Ut(Ne,"fullTime"),Qe=Ut(Ne,"fullDate");Ot=yn(ke(Ne,h.Full),[Pt,Qe])}return Ot&&(Re[st][fe]=Ot),Ot}function yn(Ne,fe){return fe&&(Ne=Ne.replace(/\{([^}]+)}/g,function(st,Ot){return null!=fe&&Ot in fe?fe[Ot]:st})),Ne}function Xt(Ne,fe,st="-",Ot,Vt){let fn="";(Ne<0||Vt&&Ne<=0)&&(Vt?Ne=1-Ne:(Ne=-Ne,fn=st));let Un=String(Ne);for(;Un.length0||Xe>-st)&&(Xe+=st),Ne===it.Hours)0===Xe&&-12===st&&(Xe=12);else if(Ne===it.FractionalSeconds)return function Gt(Ne,fe){return Xt(Ne,3).substring(0,fe)}(Xe,fe);const rt=Ke(Un,d.MinusSign);return Xt(Xe,fe,rt,Ot,Vt)}}function tn(Ne,fe,st=n.Format,Ot=!1){return function(Vt,fn){return function pn(Ne,fe,st,Ot,Vt,fn){switch(st){case Ct.Months:return function a(Ne,fe,st){const Ot=(0,e.cg1)(Ne),fn=te([Ot[e.wAp.MonthsFormat],Ot[e.wAp.MonthsStandalone]],fe);return te(fn,st)}(fe,Vt,Ot)[Ne.getMonth()];case Ct.Days:return function v(Ne,fe,st){const Ot=(0,e.cg1)(Ne),fn=te([Ot[e.wAp.DaysFormat],Ot[e.wAp.DaysStandalone]],fe);return te(fn,st)}(fe,Vt,Ot)[Ne.getDay()];case Ct.DayPeriods:const Un=Ne.getHours(),Xe=Ne.getMinutes();if(fn){const yt=function ht(Ne){const fe=(0,e.cg1)(Ne);return et(fe),(fe[e.wAp.ExtraData][2]||[]).map(Ot=>"string"==typeof Ot?pe(Ot):[pe(Ot[0]),pe(Ot[1])])}(fe),Pt=function Le(Ne,fe,st){const Ot=(0,e.cg1)(Ne);et(Ot);const fn=te([Ot[e.wAp.ExtraData][0],Ot[e.wAp.ExtraData][1]],fe)||[];return te(fn,st)||[]}(fe,Vt,Ot),Qe=yt.findIndex(Qt=>{if(Array.isArray(Qt)){const[sn,qt]=Qt,An=Un>=sn.hours&&Xe>=sn.minutes,Sn=Un0?Math.floor(Vt/60):Math.ceil(Vt/60);switch(Ne){case _t.Short:return(Vt>=0?"+":"")+Xt(Un,2,fn)+Xt(Math.abs(Vt%60),2,fn);case _t.ShortGMT:return"GMT"+(Vt>=0?"+":"")+Xt(Un,1,fn);case _t.Long:return"GMT"+(Vt>=0?"+":"")+Xt(Un,2,fn)+":"+Xt(Math.abs(Vt%60),2,fn);case _t.Extended:return 0===Ot?"Z":(Vt>=0?"+":"")+Xt(Un,2,fn)+":"+Xt(Math.abs(Vt%60),2,fn);default:throw new Error(`Unknown zone width "${Ne}"`)}}}!function(Ne){Ne[Ne.Short=0]="Short",Ne[Ne.ShortGMT=1]="ShortGMT",Ne[Ne.Long=2]="Long",Ne[Ne.Extended=3]="Extended"}(_t||(_t={})),function(Ne){Ne[Ne.FullYear=0]="FullYear",Ne[Ne.Month=1]="Month",Ne[Ne.Date=2]="Date",Ne[Ne.Hours=3]="Hours",Ne[Ne.Minutes=4]="Minutes",Ne[Ne.Seconds=5]="Seconds",Ne[Ne.FractionalSeconds=6]="FractionalSeconds",Ne[Ne.Day=7]="Day"}(it||(it={})),function(Ne){Ne[Ne.DayPeriods=0]="DayPeriods",Ne[Ne.Days=1]="Days",Ne[Ne.Months=2]="Months",Ne[Ne.Eras=3]="Eras"}(Ct||(Ct={}));function J(Ne){return Bt(Ne.getFullYear(),Ne.getMonth(),Ne.getDate()+(4-Ne.getDay()))}function oe(Ne,fe=!1){return function(st,Ot){let Vt;if(fe){const fn=new Date(st.getFullYear(),st.getMonth(),1).getDay()-1,Un=st.getDate();Vt=1+Math.floor((Un+fn)/7)}else{const fn=J(st),Un=function se(Ne){const fe=Bt(Ne,0,1).getDay();return Bt(Ne,0,1+(fe<=4?4:11)-fe)}(fn.getFullYear()),Xe=fn.getTime()-Un.getTime();Vt=1+Math.round(Xe/6048e5)}return Xt(Vt,Ne,Ke(Ot,d.MinusSign))}}function De(Ne,fe=!1){return function(st,Ot){return Xt(J(st).getFullYear(),Ne,Ke(Ot,d.MinusSign),fe)}}const Ye={};function ut(Ne,fe){Ne=Ne.replace(/:/g,"");const st=Date.parse("Jan 01, 1970 00:00:00 "+Ne)/6e4;return isNaN(st)?fe:st}function zt(Ne){return Ne instanceof Date&&!isNaN(Ne.valueOf())}const At=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function zn(Ne,fe,st,Ot,Vt,fn,Un=!1){let Xe="",rt=!1;if(isFinite(Ne)){let yt=function ft(Ne){let Ot,Vt,fn,Un,Xe,fe=Math.abs(Ne)+"",st=0;for((Vt=fe.indexOf("."))>-1&&(fe=fe.replace(".","")),(fn=fe.search(/e/i))>0?(Vt<0&&(Vt=fn),Vt+=+fe.slice(fn+1),fe=fe.substring(0,fn)):Vt<0&&(Vt=fe.length),fn=0;"0"===fe.charAt(fn);fn++);if(fn===(Xe=fe.length))Ot=[0],Vt=1;else{for(Xe--;"0"===fe.charAt(Xe);)Xe--;for(Vt-=fn,Ot=[],Un=0;fn<=Xe;fn++,Un++)Ot[Un]=Number(fe.charAt(fn))}return Vt>22&&(Ot=Ot.splice(0,21),st=Vt-1,Vt=1),{digits:Ot,exponent:st,integerLen:Vt}}(Ne);Un&&(yt=function Be(Ne){if(0===Ne.digits[0])return Ne;const fe=Ne.digits.length-Ne.integerLen;return Ne.exponent?Ne.exponent+=2:(0===fe?Ne.digits.push(0,0):1===fe&&Ne.digits.push(0),Ne.integerLen+=2),Ne}(yt));let Pt=fe.minInt,Qe=fe.minFrac,Qt=fe.maxFrac;if(fn){const oi=fn.match(At);if(null===oi)throw new Error(`${fn} is not a valid digit info`);const xi=oi[1],Si=oi[3],ur=oi[5];null!=xi&&(Pt=Te(xi)),null!=Si&&(Qe=Te(Si)),null!=ur?Qt=Te(ur):null!=Si&&Qe>Qt&&(Qt=Qe)}!function re(Ne,fe,st){if(fe>st)throw new Error(`The minimum number of digits after fraction (${fe}) is higher than the maximum (${st}).`);let Ot=Ne.digits,Vt=Ot.length-Ne.integerLen;const fn=Math.min(Math.max(fe,Vt),st);let Un=fn+Ne.integerLen,Xe=Ot[Un];if(Un>0){Ot.splice(Math.max(Ne.integerLen,Un));for(let Qe=Un;Qe=5)if(Un-1<0){for(let Qe=0;Qe>Un;Qe--)Ot.unshift(0),Ne.integerLen++;Ot.unshift(1),Ne.integerLen++}else Ot[Un-1]++;for(;Vt=yt?qt.pop():rt=!1),Qt>=10?1:0},0);Pt&&(Ot.unshift(Pt),Ne.integerLen++)}(yt,Qe,Qt);let sn=yt.digits,qt=yt.integerLen;const An=yt.exponent;let Sn=[];for(rt=sn.every(oi=>!oi);qt0?Sn=sn.splice(qt,sn.length):(Sn=sn,sn=[0]);const Jn=[];for(sn.length>=fe.lgSize&&Jn.unshift(sn.splice(-fe.lgSize,sn.length).join(""));sn.length>fe.gSize;)Jn.unshift(sn.splice(-fe.gSize,sn.length).join(""));sn.length&&Jn.unshift(sn.join("")),Xe=Jn.join(Ke(st,Ot)),Sn.length&&(Xe+=Ke(st,Vt)+Sn.join("")),An&&(Xe+=Ke(st,d.Exponential)+"+"+An)}else Xe=Ke(st,d.Infinity);return Xe=Ne<0&&!rt?fe.negPre+Xe+fe.negSuf:fe.posPre+Xe+fe.posSuf,Xe}function Tn(Ne,fe,st,Ot,Vt){const Un=Ge(je(fe,he.Currency),Ke(fe,d.MinusSign));return Un.minFrac=function j(Ne){let fe;const st=$[Ne];return st&&(fe=st[2]),"number"==typeof fe?fe:2}(Ot),Un.maxFrac=Un.minFrac,zn(Ne,Un,fe,d.CurrencyGroup,d.CurrencyDecimal,Vt).replace("\xa4",st).replace("\xa4","").trim()}function Ge(Ne,fe="-"){const st={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},Ot=Ne.split(";"),Vt=Ot[0],fn=Ot[1],Un=-1!==Vt.indexOf(".")?Vt.split("."):[Vt.substring(0,Vt.lastIndexOf("0")+1),Vt.substring(Vt.lastIndexOf("0")+1)],Xe=Un[0],rt=Un[1]||"";st.posPre=Xe.substring(0,Xe.indexOf("#"));for(let Pt=0;Pt-1||(Vt=st.getPluralCategory(Ne,Ot),fe.indexOf(Vt)>-1))return Vt;if(fe.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${Ne}"`)}pt.\u0275fac=function(fe){return new(fe||pt)},pt.\u0275prov=e.Yz7({token:pt,factory:function(fe){let st=null;return fe?st=new fe:(Ot=e.LFG(e.soG),st=new nn(Ot)),st;var Ot},providedIn:"root"});class nn extends pt{constructor(fe){super(),this.locale=fe}getPluralCategory(fe,st){switch(ve(st||this.locale)(fe)){case w.Zero:return"zero";case w.One:return"one";case w.Two:return"two";case w.Few:return"few";case w.Many:return"many";default:return"other"}}}function Wn(Ne,fe){fe=encodeURIComponent(fe);for(const st of Ne.split(";")){const Ot=st.indexOf("="),[Vt,fn]=-1==Ot?[st,""]:[st.slice(0,Ot),st.slice(Ot+1)];if(Vt.trim()===fe)return decodeURIComponent(fn)}return null}nn.\u0275fac=function(fe){return new(fe||nn)(e.LFG(e.soG))},nn.\u0275prov=e.Yz7({token:nn,factory:nn.\u0275fac});class ti{constructor(fe,st,Ot,Vt){this._iterableDiffers=fe,this._keyValueDiffers=st,this._ngEl=Ot,this._renderer=Vt,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(fe){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof fe?fe.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(fe){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof fe?fe.split(/\s+/):fe,this._rawClass&&((0,e.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const fe=this._iterableDiffer.diff(this._rawClass);fe&&this._applyIterableChanges(fe)}else if(this._keyValueDiffer){const fe=this._keyValueDiffer.diff(this._rawClass);fe&&this._applyKeyValueChanges(fe)}}_applyKeyValueChanges(fe){fe.forEachAddedItem(st=>this._toggleClass(st.key,st.currentValue)),fe.forEachChangedItem(st=>this._toggleClass(st.key,st.currentValue)),fe.forEachRemovedItem(st=>{st.previousValue&&this._toggleClass(st.key,!1)})}_applyIterableChanges(fe){fe.forEachAddedItem(st=>{if("string"!=typeof st.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,e.AaK)(st.item)}`);this._toggleClass(st.item,!0)}),fe.forEachRemovedItem(st=>this._toggleClass(st.item,!1))}_applyClasses(fe){fe&&(Array.isArray(fe)||fe instanceof Set?fe.forEach(st=>this._toggleClass(st,!0)):Object.keys(fe).forEach(st=>this._toggleClass(st,!!fe[st])))}_removeClasses(fe){fe&&(Array.isArray(fe)||fe instanceof Set?fe.forEach(st=>this._toggleClass(st,!1)):Object.keys(fe).forEach(st=>this._toggleClass(st,!1)))}_toggleClass(fe,st){(fe=fe.trim())&&fe.split(/\s+/g).forEach(Ot=>{st?this._renderer.addClass(this._ngEl.nativeElement,Ot):this._renderer.removeClass(this._ngEl.nativeElement,Ot)})}}ti.\u0275fac=function(fe){return new(fe||ti)(e.Y36(e.ZZ4),e.Y36(e.aQg),e.Y36(e.SBq),e.Y36(e.Qsj))},ti.\u0275dir=e.lG2({type:ti,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0});class Mn{constructor(fe){this._viewContainerRef=fe,this.ngComponentOutlet=null}ngOnChanges(fe){const{_viewContainerRef:st,ngComponentOutletNgModule:Ot,ngComponentOutletNgModuleFactory:Vt}=this;if(st.clear(),this._componentRef=void 0,this.ngComponentOutlet){const fn=this.ngComponentOutletInjector||st.parentInjector;(fe.ngComponentOutletNgModule||fe.ngComponentOutletNgModuleFactory)&&(this._moduleRef&&this._moduleRef.destroy(),this._moduleRef=Ot?(0,e.Lck)(Ot,Ln(fn)):Vt?Vt.create(Ln(fn)):void 0),this._componentRef=st.createComponent(this.ngComponentOutlet,{index:st.length,injector:fn,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngOnDestroy(){this._moduleRef&&this._moduleRef.destroy()}}function Ln(Ne){return Ne.get(e.h0i).injector}Mn.\u0275fac=function(fe){return new(fe||Mn)(e.Y36(e.s_b))},Mn.\u0275dir=e.lG2({type:Mn,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},standalone:!0,features:[e.TTD]});class an{constructor(fe,st,Ot,Vt){this.$implicit=fe,this.ngForOf=st,this.index=Ot,this.count=Vt}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class hn{constructor(fe,st,Ot){this._viewContainer=fe,this._template=st,this._differs=Ot,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(fe){this._ngForOf=fe,this._ngForOfDirty=!0}set ngForTrackBy(fe){this._trackByFn=fe}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(fe){fe&&(this._template=fe)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const fe=this._ngForOf;!this._differ&&fe&&(this._differ=this._differs.find(fe).create(this.ngForTrackBy))}if(this._differ){const fe=this._differ.diff(this._ngForOf);fe&&this._applyChanges(fe)}}_applyChanges(fe){const st=this._viewContainer;fe.forEachOperation((Ot,Vt,fn)=>{if(null==Ot.previousIndex)st.createEmbeddedView(this._template,new an(Ot.item,this._ngForOf,-1,-1),null===fn?void 0:fn);else if(null==fn)st.remove(null===Vt?void 0:Vt);else if(null!==Vt){const Un=st.get(Vt);st.move(Un,fn),en(Un,Ot)}});for(let Ot=0,Vt=st.length;Ot{en(st.get(Ot.currentIndex),Ot)})}static ngTemplateContextGuard(fe,st){return!0}}function en(Ne,fe){Ne.context.$implicit=fe.item}hn.\u0275fac=function(fe){return new(fe||hn)(e.Y36(e.s_b),e.Y36(e.Rgc),e.Y36(e.ZZ4))},hn.\u0275dir=e.lG2({type:hn,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0});class Qn{constructor(fe,st){this._viewContainer=fe,this._context=new Ei,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=st}set ngIf(fe){this._context.$implicit=this._context.ngIf=fe,this._updateView()}set ngIfThen(fe){ha("ngIfThen",fe),this._thenTemplateRef=fe,this._thenViewRef=null,this._updateView()}set ngIfElse(fe){ha("ngIfElse",fe),this._elseTemplateRef=fe,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(fe,st){return!0}}Qn.\u0275fac=function(fe){return new(fe||Qn)(e.Y36(e.s_b),e.Y36(e.Rgc))},Qn.\u0275dir=e.lG2({type:Qn,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0});class Ei{constructor(){this.$implicit=null,this.ngIf=null}}function ha(Ne,fe){if(fe&&!fe.createEmbeddedView)throw new Error(`${Ne} must be a TemplateRef, but received '${(0,e.AaK)(fe)}'.`)}class mi{constructor(fe,st){this._viewContainerRef=fe,this._templateRef=st,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(fe){fe&&!this._created?this.create():!fe&&this._created&&this.destroy()}}class qi{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(fe){this._ngSwitch=fe,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(fe){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(fe)}_matchCase(fe){const st=fe==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||st,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),st}_updateDefaultCases(fe){if(this._defaultViews&&fe!==this._defaultUsed){this._defaultUsed=fe;for(let st=0;stthis._setStyle(st.key,null)),fe.forEachAddedItem(st=>this._setStyle(st.key,st.currentValue)),fe.forEachChangedItem(st=>this._setStyle(st.key,st.currentValue))}}ln.\u0275fac=function(fe){return new(fe||ln)(e.Y36(e.SBq),e.Y36(e.aQg),e.Y36(e.Qsj))},ln.\u0275dir=e.lG2({type:ln,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0});class En{constructor(fe){this._viewContainerRef=fe,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(fe){if(fe.ngTemplateOutlet||fe.ngTemplateOutletInjector){const st=this._viewContainerRef;if(this._viewRef&&st.remove(st.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:Ot,ngTemplateOutletContext:Vt,ngTemplateOutletInjector:fn}=this;this._viewRef=st.createEmbeddedView(Ot,Vt,fn?{injector:fn}:void 0)}else this._viewRef=null}else this._viewRef&&fe.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}En.\u0275fac=function(fe){return new(fe||En)(e.Y36(e.s_b))},En.\u0275dir=e.lG2({type:En,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[e.TTD]});function Nn(Ne,fe){return new e.vHH(2100,!1)}const Ii=new class aa{createSubscription(fe,st){return fe.then(st,Ot=>{throw Ot})}dispose(fe){}},ea=new class li{createSubscription(fe,st){return fe.subscribe({next:st,error:Ot=>{throw Ot}})}dispose(fe){fe.unsubscribe()}};class Di{constructor(fe){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=fe}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(fe){return this._obj?fe!==this._obj?(this._dispose(),this.transform(fe)):this._latestValue:(fe&&this._subscribe(fe),this._latestValue)}_subscribe(fe){this._obj=fe,this._strategy=this._selectStrategy(fe),this._subscription=this._strategy.createSubscription(fe,st=>this._updateLatestValue(fe,st))}_selectStrategy(fe){if((0,e.QGY)(fe))return Ii;if((0,e.F4k)(fe))return ea;throw Nn()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(fe,st){fe===this._obj&&(this._latestValue=st,this._ref.markForCheck())}}Di.\u0275fac=function(fe){return new(fe||Di)(e.Y36(e.sBO,16))},Di.\u0275pipe=e.Yjl({name:"async",type:Di,pure:!1,standalone:!0});class Ji{transform(fe){if(null==fe)return null;if("string"!=typeof fe)throw Nn();return fe.toLowerCase()}}Ji.\u0275fac=function(fe){return new(fe||Ji)},Ji.\u0275pipe=e.Yjl({name:"lowercase",type:Ji,pure:!0,standalone:!0});const ka=/(?:[0-9A-Za-z\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\u0560-\u0588\u05D0-\u05EA\u05EF-\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\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\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\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\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\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\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\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\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-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\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\u2183\u2184\u2C00-\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\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\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-\uAB69\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\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\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-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\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\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\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]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\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-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g;class Yi{transform(fe){if(null==fe)return null;if("string"!=typeof fe)throw Nn();return fe.replace(ka,st=>st[0].toUpperCase()+st.slice(1).toLowerCase())}}Yi.\u0275fac=function(fe){return new(fe||Yi)},Yi.\u0275pipe=e.Yjl({name:"titlecase",type:Yi,pure:!0,standalone:!0});class Ha{transform(fe){if(null==fe)return null;if("string"!=typeof fe)throw Nn();return fe.toUpperCase()}}Ha.\u0275fac=function(fe){return new(fe||Ha)},Ha.\u0275pipe=e.Yjl({name:"uppercase",type:Ha,pure:!0,standalone:!0});const La=new e.OlP("DATE_PIPE_DEFAULT_TIMEZONE"),gr=new e.OlP("DATE_PIPE_DEFAULT_OPTIONS");class Sa{constructor(fe,st,Ot){this.locale=fe,this.defaultTimezone=st,this.defaultOptions=Ot}transform(fe,st,Ot,Vt){if(null==fe||""===fe||fe!=fe)return null;try{const fn=st??this.defaultOptions?.dateFormat??"mediumDate",Un=Ot??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return un(fe,fn,Vt||this.locale,Un)}catch(fn){throw Nn(0,fn.message)}}}Sa.\u0275fac=function(fe){return new(fe||Sa)(e.Y36(e.soG,16),e.Y36(La,24),e.Y36(gr,24))},Sa.\u0275pipe=e.Yjl({name:"date",type:Sa,pure:!0,standalone:!0});const fa=/#/g;class Ki{constructor(fe){this._localization=fe}transform(fe,st,Ot){if(null==fe)return"";if("object"!=typeof st||null===st)throw Nn();return st[Lt(fe,Object.keys(st),this._localization,Ot)].replace(fa,fe.toString())}}Ki.\u0275fac=function(fe){return new(fe||Ki)(e.Y36(pt,16))},Ki.\u0275pipe=e.Yjl({name:"i18nPlural",type:Ki,pure:!0,standalone:!0});class xa{transform(fe,st){if(null==fe)return"";if("object"!=typeof st||"string"!=typeof fe)throw Nn();return st.hasOwnProperty(fe)?st[fe]:st.hasOwnProperty("other")?st.other:""}}xa.\u0275fac=function(fe){return new(fe||xa)},xa.\u0275pipe=e.Yjl({name:"i18nSelect",type:xa,pure:!0,standalone:!0});class ra{transform(fe){return JSON.stringify(fe,null,2)}}ra.\u0275fac=function(fe){return new(fe||ra)},ra.\u0275pipe=e.Yjl({name:"json",type:ra,pure:!1,standalone:!0});class za{constructor(fe){this.differs=fe,this.keyValues=[],this.compareFn=js}transform(fe,st=js){if(!fe||!(fe instanceof Map)&&"object"!=typeof fe)return null;this.differ||(this.differ=this.differs.find(fe).create());const Ot=this.differ.diff(fe),Vt=st!==this.compareFn;return Ot&&(this.keyValues=[],Ot.forEachItem(fn=>{this.keyValues.push(function fo(Ne,fe){return{key:Ne,value:fe}}(fn.key,fn.currentValue))})),(Ot||Vt)&&(this.keyValues.sort(st),this.compareFn=st),this.keyValues}}function js(Ne,fe){const st=Ne.key,Ot=fe.key;if(st===Ot)return 0;if(void 0===st)return 1;if(void 0===Ot)return-1;if(null===st)return 1;if(null===Ot)return-1;if("string"==typeof st&&"string"==typeof Ot)return stnew Ss((0,e.LFG)(u),window)});class Ss{constructor(fe,st){this.document=fe,this.window=st,this.offset=()=>[0,0]}setOffset(fe){Array.isArray(fe)?this.offset=()=>fe:this.offset=fe}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(fe){this.supportsScrolling()&&this.window.scrollTo(fe[0],fe[1])}scrollToAnchor(fe){if(!this.supportsScrolling())return;const st=function Os(Ne,fe){const st=Ne.getElementById(fe)||Ne.getElementsByName(fe)[0];if(st)return st;if("function"==typeof Ne.createTreeWalker&&Ne.body&&(Ne.body.createShadowRoot||Ne.body.attachShadow)){const Ot=Ne.createTreeWalker(Ne.body,NodeFilter.SHOW_ELEMENT);let Vt=Ot.currentNode;for(;Vt;){const fn=Vt.shadowRoot;if(fn){const Un=fn.getElementById(fe)||fn.querySelector(`[name="${fe}"]`);if(Un)return Un}Vt=Ot.nextNode()}}return null}(this.document,fe);st&&(this.scrollToElement(st),st.focus())}setHistoryScrollRestoration(fe){if(this.supportScrollRestoration()){const st=this.window.history;st&&st.scrollRestoration&&(st.scrollRestoration=fe)}}scrollToElement(fe){const st=fe.getBoundingClientRect(),Ot=st.left+this.window.pageXOffset,Vt=st.top+this.window.pageYOffset,fn=this.offset();this.window.scrollTo(Ot-fn[0],Vt-fn[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const fe=Ja(this.window.history)||Ja(Object.getPrototypeOf(this.window.history));return!(!fe||!fe.writable&&!fe.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function Ja(Ne){return Object.getOwnPropertyDescriptor(Ne,"scrollRestoration")}class yr{}function sa(Ne,fe){return ir(Ne)?new URL(Ne):new URL(Ne,fe.location.href)}function ir(Ne){return/^https?:\/\//.test(Ne)}function br(Ne){return ir(Ne)?new URL(Ne).hostname:Ne}function Va(Ne){return Ne.startsWith("/")?Ne.slice(1):Ne}const dn=Ne=>Ne.src,xt=new e.OlP("ImageLoader",{providedIn:"root",factory:()=>dn});function Nt(Ne,fe){return function(Ot){return function as(Ne){if("string"!=typeof Ne||""===Ne.trim())return!1;try{return new URL(Ne),!0}catch{return!1}}(Ot)||function Fn(Ne,fe){throw new e.vHH(2959,!1)}(),Ot=function kr(Ne){return Ne.endsWith("/")?Ne.slice(0,-1):Ne}(Ot),[{provide:xt,useValue:Un=>(ir(Un.src)&&function ri(Ne,fe){throw new e.vHH(2959,!1)}(0,Un.src),Ne(Ot,{...Un,src:Va(Un.src)}))}]}}Nt(function Xi(Ne,fe){let st="format=auto";return fe.width&&(st+=`,width=${fe.width}`),`${Ne}/cdn-cgi/image/${st}/${fe.src}`});Nt(function Rr(Ne,fe){let st="f_auto,q_auto";return fe.width&&(st+=`,w_${fe.width}`),`${Ne}/image/upload/${st}/${fe.src}`});Nt(function Ps(Ne,fe){let st="tr:q-auto";return fe.width&&(st+=`,w-${fe.width}`),`${Ne}/${st}/${fe.src}`});Nt(function Pn(Ne,fe){const st=new URL(`${Ne}/${fe.src}`);return st.searchParams.set("auto","format"),fe.width&&st.searchParams.set("w",fe.width.toString()),st.href});function Ti(Ne,fe=!0){return`The NgOptimizedImage directive ${fe?`(activated on an element with the \`ngSrc="${Ne}"\`) `:""}has detected that`}function rr(Ne){throw new e.vHH(2958,`Unexpected invocation of the ${Ne} in the prod mode. Please make sure that the prod mode is enabled for production builds.`)}class gs{constructor(){this.images=new Map,this.alreadyWarned=new Set,this.window=null,this.observer=null,rr("LCP checker");const fe=(0,e.f3M)(u).defaultView;typeof fe<"u"&&typeof PerformanceObserver<"u"&&(this.window=fe,this.observer=this.initPerformanceObserver())}initPerformanceObserver(){const fe=new PerformanceObserver(st=>{const Ot=st.getEntries();if(0===Ot.length)return;const fn=Ot[Ot.length-1].element?.src??"";fn.startsWith("data:")||fn.startsWith("blob:")||this.images.get(fn)&&!this.alreadyWarned.has(fn)&&(this.alreadyWarned.add(fn),function Oo(Ne){const fe=Ti(Ne);console.warn((0,e.kuF)(2955,`${fe} this image is the Largest Contentful Paint (LCP) element but was not marked "priority". This image should be marked "priority" in order to prioritize its loading. To fix this, add the "priority" attribute.`))}(fn))});return fe.observe({type:"largest-contentful-paint",buffered:!0}),fe}registerImage(fe,st){!this.observer||this.images.set(sa(fe,this.window).href,st)}unregisterImage(fe){!this.observer||this.images.delete(sa(fe,this.window).href)}ngOnDestroy(){!this.observer||(this.observer.disconnect(),this.images.clear(),this.alreadyWarned.clear())}}gs.\u0275fac=function(fe){return new(fe||gs)},gs.\u0275prov=e.Yz7({token:gs,factory:gs.\u0275fac,providedIn:"root"});const $s=new Set(["localhost","127.0.0.1","0.0.0.0"]),kl=new e.OlP("PRECONNECT_CHECK_BLOCKLIST");class po{constructor(){this.document=(0,e.f3M)(u),this.preconnectLinks=null,this.alreadySeen=new Set,this.window=null,this.blocklist=new Set($s),rr("preconnect link checker");const fe=this.document.defaultView;typeof fe<"u"&&(this.window=fe);const st=(0,e.f3M)(kl,{optional:!0});st&&this.populateBlocklist(st)}populateBlocklist(fe){Array.isArray(fe)?kn(fe,st=>{this.blocklist.add(br(st))}):this.blocklist.add(br(fe))}assertPreconnect(fe,st){if(!this.window)return;const Ot=sa(fe,this.window);this.blocklist.has(Ot.hostname)||this.alreadySeen.has(Ot.origin)||(this.alreadySeen.add(Ot.origin),this.preconnectLinks||(this.preconnectLinks=this.queryPreconnectLinks()),this.preconnectLinks.has(Ot.origin)||console.warn((0,e.kuF)(2956,`${Ti(st)} there is no preconnect tag present for this image. Preconnecting to the origin(s) that serve priority images ensures that these images are delivered as soon as possible. To fix this, please add the following element into the of the document:\n `)))}queryPreconnectLinks(){const fe=new Set,Ot=Array.from(this.document.querySelectorAll("link[rel=preconnect]"));for(let Vt of Ot){const fn=sa(Vt.href,this.window);fe.add(fn.origin)}return fe}ngOnDestroy(){this.preconnectLinks?.clear(),this.alreadySeen.clear()}}function kn(Ne,fe){for(let st of Ne)Array.isArray(st)?kn(st,fe):fe(st)}po.\u0275fac=function(fe){return new(fe||po)},po.\u0275prov=e.Yz7({token:po,factory:po.\u0275fac,providedIn:"root"});const eo=new e.OlP("NG_OPTIMIZED_PRELOADED_IMAGES",{providedIn:"root",factory:()=>new Set});class sr{constructor(){this.preloadedImages=(0,e.f3M)(eo),this.document=(0,e.f3M)(u)}createPreloadLinkTag(fe,st,Ot,Vt){if(this.preloadedImages.has(st))return;this.preloadedImages.add(st);const fn=fe.createElement("link");fe.setAttribute(fn,"as","image"),fe.setAttribute(fn,"href",st),fe.setAttribute(fn,"rel","preload"),fe.setAttribute(fn,"fetchpriority","high"),Vt&&fe.setAttribute(fn,"imageSizes",Vt),Ot&&fe.setAttribute(fn,"imageSrcset",Ot),fe.appendChild(this.document.head,fn)}}sr.\u0275fac=function(fe){return new(fe||sr)},sr.\u0275prov=e.Yz7({token:sr,factory:sr.\u0275fac,providedIn:"root"});const Br=/^((\s*\d+w\s*(,|$)){1,})$/,Hn=[1,2],Wa={breakpoints:[16,32,48,64,96,128,256,384,640,750,828,1080,1200,1920,2048,3840]},ss=new e.OlP("ImageConfig",{providedIn:"root",factory:()=>Wa});class zs{constructor(){this.imageLoader=(0,e.f3M)(xt),this.config=function Po(Ne){let fe={};return Ne.breakpoints&&(fe.breakpoints=Ne.breakpoints.sort((st,Ot)=>st-Ot)),Object.assign({},Wa,Ne,fe)}((0,e.f3M)(ss)),this.renderer=(0,e.f3M)(e.Qsj),this.imgElement=(0,e.f3M)(e.SBq).nativeElement,this.injector=(0,e.f3M)(e.zs3),this.isServer=Pr((0,e.f3M)(e.Lbi)),this.preloadLinkChecker=(0,e.f3M)(sr),this.lcpObserver=null,this._renderedSrc=null,this._priority=!1,this._disableOptimizedSrcset=!1,this._fill=!1}set width(fe){this._width=to(fe)}get width(){return this._width}set height(fe){this._height=to(fe)}get height(){return this._height}set priority(fe){this._priority=Yr(fe)}get priority(){return this._priority}set disableOptimizedSrcset(fe){this._disableOptimizedSrcset=Yr(fe)}get disableOptimizedSrcset(){return this._disableOptimizedSrcset}set fill(fe){this._fill=Yr(fe)}get fill(){return this._fill}ngOnInit(){this.setHostAttributes()}setHostAttributes(){this.fill?this.sizes||(this.sizes="100vw"):(this.setHostAttribute("width",this.width.toString()),this.setHostAttribute("height",this.height.toString())),this.setHostAttribute("loading",this.getLoadingBehavior()),this.setHostAttribute("fetchpriority",this.getFetchPriority());const fe=this.getRewrittenSrc();let st;this.setHostAttribute("src",fe),this.sizes&&this.setHostAttribute("sizes",this.sizes),this.ngSrcset?st=this.getRewrittenSrcset():!this._disableOptimizedSrcset&&!this.srcset&&this.imageLoader!==dn&&(st=this.getAutomaticSrcset()),st&&this.setHostAttribute("srcset",st),this.isServer&&this.priority&&this.preloadLinkChecker.createPreloadLinkTag(this.renderer,fe,st,this.sizes)}ngOnChanges(fe){}getLoadingBehavior(){return this.priority||void 0===this.loading?this.priority?"eager":"lazy":this.loading}getFetchPriority(){return this.priority?"high":"auto"}getRewrittenSrc(){if(!this._renderedSrc){const fe={src:this.ngSrc};this._renderedSrc=this.imageLoader(fe)}return this._renderedSrc}getRewrittenSrcset(){const fe=Br.test(this.ngSrcset);return this.ngSrcset.split(",").filter(Ot=>""!==Ot).map(Ot=>{Ot=Ot.trim();const Vt=fe?parseFloat(Ot):parseFloat(Ot)*this.width;return`${this.imageLoader({src:this.ngSrc,width:Vt})} ${Ot}`}).join(", ")}getAutomaticSrcset(){return this.sizes?this.getResponsiveSrcset():this.getFixedSrcset()}getResponsiveSrcset(){const{breakpoints:fe}=this.config;let st=fe;return"100vw"===this.sizes?.trim()&&(st=fe.filter(Vt=>Vt>=640)),st.map(Vt=>`${this.imageLoader({src:this.ngSrc,width:Vt})} ${Vt}w`).join(", ")}getFixedSrcset(){return Hn.map(st=>`${this.imageLoader({src:this.ngSrc,width:this.width*st})} ${st}x`).join(", ")}ngOnDestroy(){}setHostAttribute(fe,st){this.renderer.setAttribute(this.imgElement,fe,st)}}function to(Ne){return"string"==typeof Ne?parseInt(Ne,10):Ne}function Yr(Ne){return null!=Ne&&"false"!=`${Ne}`}zs.\u0275fac=function(fe){return new(fe||zs)},zs.\u0275dir=e.lG2({type:zs,selectors:[["img","ngSrc",""]],hostVars:8,hostBindings:function(fe,st){2&fe&&e.Udp("position",st.fill?"absolute":null)("width",st.fill?"100%":null)("height",st.fill?"100%":null)("inset",st.fill?"0px":null)},inputs:{ngSrc:"ngSrc",ngSrcset:"ngSrcset",sizes:"sizes",width:"width",height:"height",loading:"loading",priority:"priority",disableOptimizedSrcset:"disableOptimizedSrcset",fill:"fill",src:"src",srcset:"srcset"},standalone:!0,features:[e.TTD]})},8987:(Ue,q,m)=>{"use strict";m.d(q,{JF:()=>tt,LE:()=>Q,TP:()=>C,eN:()=>L});var e=m(4666),t=m(2560),_=m(745),E=m(833),s=m(3853),D=m(116),u=m(635);class k{}class p{}class S{constructor(J){this.normalizedNames=new Map,this.lazyUpdate=null,J?this.lazyInit="string"==typeof J?()=>{this.headers=new Map,J.split("\n").forEach(oe=>{const De=oe.indexOf(":");if(De>0){const Ye=oe.slice(0,De),Dt=Ye.toLowerCase(),ut=oe.slice(De+1).trim();this.maybeSetNormalizedName(Ye,Dt),this.headers.has(Dt)?this.headers.get(Dt).push(ut):this.headers.set(Dt,[ut])}})}:()=>{this.headers=new Map,Object.keys(J).forEach(oe=>{let De=J[oe];const Ye=oe.toLowerCase();"string"==typeof De&&(De=[De]),De.length>0&&(this.headers.set(Ye,De),this.maybeSetNormalizedName(oe,Ye))})}:this.headers=new Map}has(J){return this.init(),this.headers.has(J.toLowerCase())}get(J){this.init();const oe=this.headers.get(J.toLowerCase());return oe&&oe.length>0?oe[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(J){return this.init(),this.headers.get(J.toLowerCase())||null}append(J,oe){return this.clone({name:J,value:oe,op:"a"})}set(J,oe){return this.clone({name:J,value:oe,op:"s"})}delete(J,oe){return this.clone({name:J,value:oe,op:"d"})}maybeSetNormalizedName(J,oe){this.normalizedNames.has(oe)||this.normalizedNames.set(oe,J)}init(){this.lazyInit&&(this.lazyInit instanceof S?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(J=>this.applyUpdate(J)),this.lazyUpdate=null))}copyFrom(J){J.init(),Array.from(J.headers.keys()).forEach(oe=>{this.headers.set(oe,J.headers.get(oe)),this.normalizedNames.set(oe,J.normalizedNames.get(oe))})}clone(J){const oe=new S;return oe.lazyInit=this.lazyInit&&this.lazyInit instanceof S?this.lazyInit:this,oe.lazyUpdate=(this.lazyUpdate||[]).concat([J]),oe}applyUpdate(J){const oe=J.name.toLowerCase();switch(J.op){case"a":case"s":let De=J.value;if("string"==typeof De&&(De=[De]),0===De.length)return;this.maybeSetNormalizedName(J.name,oe);const Ye=("a"===J.op?this.headers.get(oe):void 0)||[];Ye.push(...De),this.headers.set(oe,Ye);break;case"d":const Dt=J.value;if(Dt){let ut=this.headers.get(oe);if(!ut)return;ut=ut.filter(ze=>-1===Dt.indexOf(ze)),0===ut.length?(this.headers.delete(oe),this.normalizedNames.delete(oe)):this.headers.set(oe,ut)}else this.headers.delete(oe),this.normalizedNames.delete(oe)}}forEach(J){this.init(),Array.from(this.normalizedNames.keys()).forEach(oe=>J(this.normalizedNames.get(oe),this.headers.get(oe)))}}class P{encodeKey(J){return W(J)}encodeValue(J){return W(J)}decodeKey(J){return decodeURIComponent(J)}decodeValue(J){return decodeURIComponent(J)}}const z=/%(\d[a-f0-9])/gi,I={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function W(se){return encodeURIComponent(se).replace(z,(J,oe)=>I[oe]??J)}function Z(se){return`${se}`}class Q{constructor(J={}){if(this.updates=null,this.cloneFrom=null,this.encoder=J.encoder||new P,J.fromString){if(J.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function M(se,J){const oe=new Map;return se.length>0&&se.replace(/^\?/,"").split("&").forEach(Ye=>{const Dt=Ye.indexOf("="),[ut,ze]=-1==Dt?[J.decodeKey(Ye),""]:[J.decodeKey(Ye.slice(0,Dt)),J.decodeValue(Ye.slice(Dt+1))],Me=oe.get(ut)||[];Me.push(ze),oe.set(ut,Me)}),oe}(J.fromString,this.encoder)}else J.fromObject?(this.map=new Map,Object.keys(J.fromObject).forEach(oe=>{const De=J.fromObject[oe],Ye=Array.isArray(De)?De.map(Z):[Z(De)];this.map.set(oe,Ye)})):this.map=null}has(J){return this.init(),this.map.has(J)}get(J){this.init();const oe=this.map.get(J);return oe?oe[0]:null}getAll(J){return this.init(),this.map.get(J)||null}keys(){return this.init(),Array.from(this.map.keys())}append(J,oe){return this.clone({param:J,value:oe,op:"a"})}appendAll(J){const oe=[];return Object.keys(J).forEach(De=>{const Ye=J[De];Array.isArray(Ye)?Ye.forEach(Dt=>{oe.push({param:De,value:Dt,op:"a"})}):oe.push({param:De,value:Ye,op:"a"})}),this.clone(oe)}set(J,oe){return this.clone({param:J,value:oe,op:"s"})}delete(J,oe){return this.clone({param:J,value:oe,op:"d"})}toString(){return this.init(),this.keys().map(J=>{const oe=this.encoder.encodeKey(J);return this.map.get(J).map(De=>oe+"="+this.encoder.encodeValue(De)).join("&")}).filter(J=>""!==J).join("&")}clone(J){const oe=new Q({encoder:this.encoder});return oe.cloneFrom=this.cloneFrom||this,oe.updates=(this.updates||[]).concat(J),oe}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(J=>this.map.set(J,this.cloneFrom.map.get(J))),this.updates.forEach(J=>{switch(J.op){case"a":case"s":const oe=("a"===J.op?this.map.get(J.param):void 0)||[];oe.push(Z(J.value)),this.map.set(J.param,oe);break;case"d":if(void 0===J.value){this.map.delete(J.param);break}{let De=this.map.get(J.param)||[];const Ye=De.indexOf(Z(J.value));-1!==Ye&&De.splice(Ye,1),De.length>0?this.map.set(J.param,De):this.map.delete(J.param)}}}),this.cloneFrom=this.updates=null)}}class ae{constructor(){this.map=new Map}set(J,oe){return this.map.set(J,oe),this}get(J){return this.map.has(J)||this.map.set(J,J.defaultValue()),this.map.get(J)}delete(J){return this.map.delete(J),this}has(J){return this.map.has(J)}keys(){return this.map.keys()}}function ce(se){return typeof ArrayBuffer<"u"&&se instanceof ArrayBuffer}function ye(se){return typeof Blob<"u"&&se instanceof Blob}function ue(se){return typeof FormData<"u"&&se instanceof FormData}class he{constructor(J,oe,De,Ye){let Dt;if(this.url=oe,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=J.toUpperCase(),function _e(se){switch(se){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||Ye?(this.body=void 0!==De?De:null,Dt=Ye):Dt=De,Dt&&(this.reportProgress=!!Dt.reportProgress,this.withCredentials=!!Dt.withCredentials,Dt.responseType&&(this.responseType=Dt.responseType),Dt.headers&&(this.headers=Dt.headers),Dt.context&&(this.context=Dt.context),Dt.params&&(this.params=Dt.params)),this.headers||(this.headers=new S),this.context||(this.context=new ae),this.params){const ut=this.params.toString();if(0===ut.length)this.urlWithParams=oe;else{const ze=oe.indexOf("?"),Me=-1===ze?"?":zezt.set(At,J.setHeaders[At]),Me)),J.setParams&&(Ce=Object.keys(J.setParams).reduce((zt,At)=>zt.set(At,J.setParams[At]),Ce)),new he(oe,De,Dt,{params:Ce,headers:Me,context:Je,reportProgress:ze,responseType:Ye,withCredentials:ut})}}var w,se;(se=w||(w={}))[se.Sent=0]="Sent",se[se.UploadProgress=1]="UploadProgress",se[se.ResponseHeader=2]="ResponseHeader",se[se.DownloadProgress=3]="DownloadProgress",se[se.Response=4]="Response",se[se.User=5]="User";class n{constructor(J,oe=200,De="OK"){this.headers=J.headers||new S,this.status=void 0!==J.status?J.status:oe,this.statusText=J.statusText||De,this.url=J.url||null,this.ok=this.status>=200&&this.status<300}}class o extends n{constructor(J={}){super(J),this.type=w.ResponseHeader}clone(J={}){return new o({headers:J.headers||this.headers,status:void 0!==J.status?J.status:this.status,statusText:J.statusText||this.statusText,url:J.url||this.url||void 0})}}class h extends n{constructor(J={}){super(J),this.type=w.Response,this.body=void 0!==J.body?J.body:null}clone(J={}){return new h({body:void 0!==J.body?J.body:this.body,headers:J.headers||this.headers,status:void 0!==J.status?J.status:this.status,statusText:J.statusText||this.statusText,url:J.url||this.url||void 0})}}class d extends n{constructor(J){super(J,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${J.url||"(unknown url)"}`:this.message=`Http failure response for ${J.url||"(unknown url)"}: ${J.status} ${J.statusText}`,this.error=J.error||null}}function y(se,J){return{body:J,headers:se.headers,context:se.context,observe:se.observe,params:se.params,reportProgress:se.reportProgress,responseType:se.responseType,withCredentials:se.withCredentials}}class L{constructor(J){this.handler=J}request(J,oe,De={}){let Ye;if(J instanceof he)Ye=J;else{let ze,Me;ze=De.headers instanceof S?De.headers:new S(De.headers),De.params&&(Me=De.params instanceof Q?De.params:new Q({fromObject:De.params})),Ye=new he(J,oe,void 0!==De.body?De.body:null,{headers:ze,context:De.context,params:Me,reportProgress:De.reportProgress,responseType:De.responseType||"json",withCredentials:De.withCredentials})}const Dt=(0,_.of)(Ye).pipe((0,s.b)(ze=>this.handler.handle(ze)));if(J instanceof he||"events"===De.observe)return Dt;const ut=Dt.pipe((0,D.h)(ze=>ze instanceof h));switch(De.observe||"body"){case"body":switch(Ye.responseType){case"arraybuffer":return ut.pipe((0,u.U)(ze=>{if(null!==ze.body&&!(ze.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return ze.body}));case"blob":return ut.pipe((0,u.U)(ze=>{if(null!==ze.body&&!(ze.body instanceof Blob))throw new Error("Response is not a Blob.");return ze.body}));case"text":return ut.pipe((0,u.U)(ze=>{if(null!==ze.body&&"string"!=typeof ze.body)throw new Error("Response is not a string.");return ze.body}));default:return ut.pipe((0,u.U)(ze=>ze.body))}case"response":return ut;default:throw new Error(`Unreachable: unhandled observe type ${De.observe}}`)}}delete(J,oe={}){return this.request("DELETE",J,oe)}get(J,oe={}){return this.request("GET",J,oe)}head(J,oe={}){return this.request("HEAD",J,oe)}jsonp(J,oe){return this.request("JSONP",J,{params:(new Q).append(oe,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(J,oe={}){return this.request("OPTIONS",J,oe)}patch(J,oe,De={}){return this.request("PATCH",J,y(De,oe))}post(J,oe,De={}){return this.request("POST",J,y(De,oe))}put(J,oe,De={}){return this.request("PUT",J,y(De,oe))}}function B(se,J){return J(se)}function v(se,J){return(oe,De)=>J.intercept(oe,{handle:Ye=>se(Ye,De)})}L.\u0275fac=function(J){return new(J||L)(t.LFG(k))},L.\u0275prov=t.Yz7({token:L,factory:L.\u0275fac});const C=new t.OlP("HTTP_INTERCEPTORS"),N=new t.OlP("HTTP_INTERCEPTOR_FNS");function F(){let se=null;return(J,oe)=>(null===se&&(se=((0,t.f3M)(C,{optional:!0})??[]).reduceRight(v,B)),se(J,oe))}class X extends k{constructor(J,oe){super(),this.backend=J,this.injector=oe,this.chain=null}handle(J){if(null===this.chain){const oe=Array.from(new Set(this.injector.get(N)));this.chain=oe.reduceRight((De,Ye)=>function a(se,J,oe){return(De,Ye)=>oe.runInContext(()=>J(De,Dt=>se(Dt,Ye)))}(De,Ye,this.injector),B)}return this.chain(J,oe=>this.backend.handle(oe))}}X.\u0275fac=function(J){return new(J||X)(t.LFG(p),t.LFG(t.lqb))},X.\u0275prov=t.Yz7({token:X,factory:X.\u0275fac});let ke,Fe=0;class Ze{}function Ie(){return"object"==typeof window?window:{}}class ve{constructor(J,oe){this.callbackMap=J,this.document=oe,this.resolvedPromise=Promise.resolve()}nextCallback(){return"ng_jsonp_callback_"+Fe++}handle(J){if("JSONP"!==J.method)throw new Error("JSONP requests must use JSONP request method.");if("json"!==J.responseType)throw new Error("JSONP requests must use Json response type.");if(J.headers.keys().length>0)throw new Error("JSONP requests do not support headers.");return new E.y(oe=>{const De=this.nextCallback(),Ye=J.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/,`=${De}$1`),Dt=this.document.createElement("script");Dt.src=Ye;let ut=null,ze=!1;this.callbackMap[De]=zt=>{delete this.callbackMap[De],ut=zt,ze=!0};const Me=()=>{Dt.parentNode&&Dt.parentNode.removeChild(Dt),delete this.callbackMap[De]};return Dt.addEventListener("load",zt=>{this.resolvedPromise.then(()=>{Me(),ze?(oe.next(new h({body:ut,status:200,statusText:"OK",url:Ye})),oe.complete()):oe.error(new d({url:Ye,status:0,statusText:"JSONP Error",error:new Error("JSONP injected script did not invoke callback.")}))})}),Dt.addEventListener("error",zt=>{Me(),oe.error(new d({error:zt,status:0,statusText:"JSONP Error",url:Ye}))}),this.document.body.appendChild(Dt),oe.next({type:w.Sent}),()=>{ze||this.removeListeners(Dt),Me()}})}removeListeners(J){ke||(ke=this.document.implementation.createHTMLDocument()),ke.adoptNode(J)}}function et(se,J){return"JSONP"===se.method?(0,t.f3M)(ve).handle(se):J(se)}ve.\u0275fac=function(J){return new(J||ve)(t.LFG(Ze),t.LFG(e.K0))},ve.\u0275prov=t.Yz7({token:ve,factory:ve.\u0275fac});class ht{constructor(J){this.injector=J}intercept(J,oe){return this.injector.runInContext(()=>et(J,De=>oe.handle(De)))}}ht.\u0275fac=function(J){return new(J||ht)(t.LFG(t.lqb))},ht.\u0275prov=t.Yz7({token:ht,factory:ht.\u0275fac});const Le=/^\)\]\}',?\n/;class te{constructor(J){this.xhrFactory=J}handle(J){if("JSONP"===J.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E.y(oe=>{const De=this.xhrFactory.build();if(De.open(J.method,J.urlWithParams),J.withCredentials&&(De.withCredentials=!0),J.headers.forEach((At,Tt)=>De.setRequestHeader(At,Tt.join(","))),J.headers.has("Accept")||De.setRequestHeader("Accept","application/json, text/plain, */*"),!J.headers.has("Content-Type")){const At=J.detectContentTypeHeader();null!==At&&De.setRequestHeader("Content-Type",At)}if(J.responseType){const At=J.responseType.toLowerCase();De.responseType="json"!==At?At:"text"}const Ye=J.serializeBody();let Dt=null;const ut=()=>{if(null!==Dt)return Dt;const At=De.statusText||"OK",Tt=new S(De.getAllResponseHeaders()),Ht=function Ae(se){return"responseURL"in se&&se.responseURL?se.responseURL:/^X-Request-URL:/m.test(se.getAllResponseHeaders())?se.getResponseHeader("X-Request-URL"):null}(De)||J.url;return Dt=new o({headers:Tt,status:De.status,statusText:At,url:Ht}),Dt},ze=()=>{let{headers:At,status:Tt,statusText:Ht,url:He}=ut(),$e=null;204!==Tt&&($e=typeof De.response>"u"?De.responseText:De.response),0===Tt&&(Tt=$e?200:0);let $t=Tt>=200&&Tt<300;if("json"===J.responseType&&"string"==typeof $e){const Rt=$e;$e=$e.replace(Le,"");try{$e=""!==$e?JSON.parse($e):null}catch(Jt){$e=Rt,$t&&($t=!1,$e={error:Jt,text:$e})}}$t?(oe.next(new h({body:$e,headers:At,status:Tt,statusText:Ht,url:He||void 0})),oe.complete()):oe.error(new d({error:$e,headers:At,status:Tt,statusText:Ht,url:He||void 0}))},Me=At=>{const{url:Tt}=ut(),Ht=new d({error:At,status:De.status||0,statusText:De.statusText||"Unknown Error",url:Tt||void 0});oe.error(Ht)};let Ce=!1;const Je=At=>{Ce||(oe.next(ut()),Ce=!0);let Tt={type:w.DownloadProgress,loaded:At.loaded};At.lengthComputable&&(Tt.total=At.total),"text"===J.responseType&&!!De.responseText&&(Tt.partialText=De.responseText),oe.next(Tt)},zt=At=>{let Tt={type:w.UploadProgress,loaded:At.loaded};At.lengthComputable&&(Tt.total=At.total),oe.next(Tt)};return De.addEventListener("load",ze),De.addEventListener("error",Me),De.addEventListener("timeout",Me),De.addEventListener("abort",Me),J.reportProgress&&(De.addEventListener("progress",Je),null!==Ye&&De.upload&&De.upload.addEventListener("progress",zt)),De.send(Ye),oe.next({type:w.Sent}),()=>{De.removeEventListener("error",Me),De.removeEventListener("abort",Me),De.removeEventListener("load",ze),De.removeEventListener("timeout",Me),J.reportProgress&&(De.removeEventListener("progress",Je),null!==Ye&&De.upload&&De.upload.removeEventListener("progress",zt)),De.readyState!==De.DONE&&De.abort()}})}}te.\u0275fac=function(J){return new(J||te)(t.LFG(e.JF))},te.\u0275prov=t.Yz7({token:te,factory:te.\u0275fac});const pe=new t.OlP("XSRF_ENABLED"),ee="XSRF-TOKEN",H=new t.OlP("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>ee}),j="X-XSRF-TOKEN",Oe=new t.OlP("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>j});class Re{}class le{constructor(J,oe,De){this.doc=J,this.platform=oe,this.cookieName=De,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const J=this.doc.cookie||"";return J!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,e.Mx)(J,this.cookieName),this.lastCookieString=J),this.lastToken}}function _t(se,J){const oe=se.url.toLowerCase();if(!(0,t.f3M)(pe)||"GET"===se.method||"HEAD"===se.method||oe.startsWith("http://")||oe.startsWith("https://"))return J(se);const De=(0,t.f3M)(Re).getToken(),Ye=(0,t.f3M)(Oe);return null!=De&&!se.headers.has(Ye)&&(se=se.clone({headers:se.headers.set(Ye,De)})),J(se)}le.\u0275fac=function(J){return new(J||le)(t.LFG(e.K0),t.LFG(t.Lbi),t.LFG(H))},le.\u0275prov=t.Yz7({token:le,factory:le.\u0275fac});class it{constructor(J){this.injector=J}intercept(J,oe){return this.injector.runInContext(()=>_t(J,De=>oe.handle(De)))}}var Ct;function un(se,J){return{\u0275kind:se,\u0275providers:J}}it.\u0275fac=function(J){return new(J||it)(t.LFG(t.lqb))},it.\u0275prov=t.Yz7({token:it,factory:it.\u0275fac}),function(se){se[se.Interceptors=0]="Interceptors",se[se.LegacyInterceptors=1]="LegacyInterceptors",se[se.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",se[se.NoXsrfProtection=3]="NoXsrfProtection",se[se.JsonpSupport=4]="JsonpSupport",se[se.RequestsMadeViaParent=5]="RequestsMadeViaParent"}(Ct||(Ct={}));const yn=new t.OlP("LEGACY_INTERCEPTOR_FN");function Gt({cookieName:se,headerName:J}){const oe=[];return void 0!==se&&oe.push({provide:H,useValue:se}),void 0!==J&&oe.push({provide:Oe,useValue:J}),un(Ct.CustomXsrfConfiguration,oe)}class pn{static disable(){return{ngModule:pn,providers:[un(Ct.NoXsrfProtection,[{provide:pe,useValue:!1}]).\u0275providers]}}static withOptions(J={}){return{ngModule:pn,providers:Gt(J).\u0275providers}}}pn.\u0275fac=function(J){return new(J||pn)},pn.\u0275mod=t.oAB({type:pn}),pn.\u0275inj=t.cJS({providers:[it,{provide:C,useExisting:it,multi:!0},{provide:Re,useClass:le},Gt({cookieName:ee,headerName:j}).\u0275providers,{provide:pe,useValue:!0}]});class tt{}tt.\u0275fac=function(J){return new(J||tt)},tt.\u0275mod=t.oAB({type:tt}),tt.\u0275inj=t.cJS({providers:[function Bt(...se){const J=[L,te,X,{provide:k,useExisting:X},{provide:p,useExisting:te},{provide:N,useValue:_t,multi:!0},{provide:pe,useValue:!0},{provide:Re,useClass:le}];for(const oe of se)J.push(...oe.\u0275providers);return(0,t.MR2)(J)}(function Xt(){return un(Ct.LegacyInterceptors,[{provide:yn,useFactory:F},{provide:N,useExisting:yn,multi:!0}])}(),Gt({cookieName:ee,headerName:j}))]});class vt{}vt.\u0275fac=function(J){return new(J||vt)},vt.\u0275mod=t.oAB({type:vt}),vt.\u0275inj=t.cJS({providers:[function rn(){return un(Ct.JsonpSupport,[ve,{provide:Ze,useFactory:Ie},{provide:N,useValue:et,multi:!0}])}().\u0275providers]})},2560:(Ue,q,m)=>{"use strict";m.d(q,{$8M:()=>yl,$Z:()=>Ih,AA_:()=>d3,AFp:()=>Cm,ALo:()=>H_,AaK:()=>k,AcB:()=>ne,AsE:()=>tu,BQk:()=>Vh,CHM:()=>eo,CRH:()=>em,CZH:()=>w2,CqO:()=>Wf,D6c:()=>x8,DdM:()=>L_,Dn7:()=>U_,DyG:()=>Rn,E6H:()=>vm,EJc:()=>zg,EiD:()=>nh,EpF:()=>v4,F$t:()=>x4,F4k:()=>Vf,FYo:()=>hd,FiY:()=>B2,G48:()=>Hm,GSi:()=>kt,Gf:()=>J_,GfV:()=>dh,GkF:()=>g4,Gpc:()=>A,Gre:()=>Zs,HOy:()=>y1,Hsn:()=>Qf,IIB:()=>Rg,Ikx:()=>Ds,JOm:()=>z2,JVY:()=>T0,JZr:()=>W,Jf7:()=>K0,KtG:()=>sr,L6J:()=>bm,L6k:()=>k3,LAX:()=>ju,LFG:()=>vt,LVF:()=>Ng,Lbi:()=>wp,Lck:()=>_s,MAs:()=>f4,MGl:()=>Gh,MMx:()=>Ol,MR2:()=>s1,NdJ:()=>Kh,O4$:()=>Ot,OlP:()=>va,Oqu:()=>Oc,P3R:()=>P0,PXZ:()=>$g,PiD:()=>qc,Q6J:()=>p4,QGY:()=>Wh,QP$:()=>Bn,QbO:()=>Fg,Qsj:()=>U0,R0b:()=>sc,RDi:()=>S3,Rgc:()=>t3,SBq:()=>Ac,Sil:()=>o3,Suo:()=>$_,TTD:()=>Ja,TgZ:()=>eu,Tol:()=>O4,Udp:()=>S4,VKq:()=>S_,W1O:()=>G6,WFA:()=>y4,WLB:()=>vp,X6Q:()=>r8,XFs:()=>ee,Xek:()=>gm,Xpm:()=>zn,Xts:()=>er,Y36:()=>wc,YKP:()=>Pa,YNc:()=>Uf,Yjl:()=>Te,Yz7:()=>Ke,Z0I:()=>Ze,ZZ4:()=>I1,_Bn:()=>Vr,_UZ:()=>m4,_Vd:()=>d1,_c5:()=>b8,_uU:()=>es,aQ5:()=>Ee,aQg:()=>L1,ahi:()=>B1,c2e:()=>_u,cJS:()=>Ve,cg1:()=>Sd,d8E:()=>fr,dDg:()=>l3,dqk:()=>_t,eBb:()=>R3,eFA:()=>o_,ekj:()=>Ri,eoX:()=>mu,f3M:()=>se,g9A:()=>Em,h0i:()=>ua,hGG:()=>c3,hYB:()=>M4,hij:()=>wl,i9L:()=>at,iGM:()=>i3,ifc:()=>zt,ip1:()=>xm,jDz:()=>Pl,kEZ:()=>O_,kL8:()=>au,kcU:()=>fn,kuF:()=>Q,lG2:()=>re,lcZ:()=>z_,lnq:()=>Gs,lqb:()=>tl,lri:()=>Sm,mCW:()=>td,n4l:()=>Me,n5z:()=>jo,n_E:()=>bp,oAB:()=>Ge,oJD:()=>L0,oxw:()=>Zf,pB0:()=>qu,pfw:()=>Bg,q3G:()=>el,qLn:()=>El,qOj:()=>o4,qZA:()=>Uh,qzn:()=>Cc,rWj:()=>Om,r_U:()=>ym,s9C:()=>C4,sBO:()=>d_,sIi:()=>J0,s_b:()=>H4,soG:()=>Ip,tBr:()=>jc,tb:()=>Dm,tp0:()=>bl,uIk:()=>u4,vHH:()=>Z,vR:()=>qe,vpe:()=>w1,wA2:()=>kg,wAp:()=>Ll,xi3:()=>B6,xp6:()=>md,ynx:()=>Td,z2F:()=>L2,z3N:()=>Jo,zSh:()=>da,zlt:()=>I_,zs3:()=>xn});var e=m(253),t=m(7714),_=m(833),E=m(6646),s=m(1203);function D(l){for(let c in l)if(l[c]===D)return c;throw Error("Could not find renamed property on target object.")}function u(l,c){for(const g in c)c.hasOwnProperty(g)&&!l.hasOwnProperty(g)&&(l[g]=c[g])}function k(l){if("string"==typeof l)return l;if(Array.isArray(l))return"["+l.map(k).join(", ")+"]";if(null==l)return""+l;if(l.overriddenName)return`${l.overriddenName}`;if(l.name)return`${l.name}`;const c=l.toString();if(null==c)return""+c;const g=c.indexOf("\n");return-1===g?c:c.substring(0,g)}function p(l,c){return null==l||""===l?null===c?"":c:null==c||""===c?l:l+" "+c}const S=D({__forward_ref__:D});function A(l){return l.__forward_ref__=A,l.toString=function(){return k(this())},l}function P(l){return M(l)?l():l}function M(l){return"function"==typeof l&&l.hasOwnProperty(S)&&l.__forward_ref__===A}function z(l){return l&&!!l.\u0275providers}const W="https://g.co/ng/security#xss";class Z extends Error{constructor(c,g){super(Q(c,g)),this.code=c}}function Q(l,c){return`NG0${Math.abs(l)}${c?": "+c.trim():""}`}function ie(l){return"string"==typeof l?l:null==l?"":String(l)}function ae(l){return"function"==typeof l?l.name||l.toString():"object"==typeof l&&null!=l&&"function"==typeof l.type?l.type.name||l.type.toString():ie(l)}function ue(l,c){throw new Z(-201,!1)}function o(l,c,g){l!=c&&F(g,l,c,"==")}function N(l,c){null==l&&F(c,l,null,"!=")}function F(l,c,g,O){throw new Error(`ASSERTION ERROR: ${l}`+(null==O?"":` [Expected=> ${g} ${O} ${c} <=Actual]`))}function Ke(l){return{token:l.token,providedIn:l.providedIn||null,factory:l.factory,value:void 0}}function Ve(l){return{providers:l.providers||[],imports:l.imports||[]}}function xe(l){return Ie(l,Le)||Ie(l,te)}function Ze(l){return null!==xe(l)}function Ie(l,c){return l.hasOwnProperty(c)?l[c]:null}function ht(l){return l&&(l.hasOwnProperty(Ae)||l.hasOwnProperty(pe))?l[Ae]:null}const Le=D({\u0275prov:D}),Ae=D({\u0275inj:D}),te=D({ngInjectableDef:D}),pe=D({ngInjectorDef:D});var ee,l;let H;function Oe(l){const c=H;return H=l,c}function Re(l,c,g){const O=xe(l);return O&&"root"==O.providedIn?void 0===O.value?O.value=O.factory():O.value:g&ee.Optional?null:void 0!==c?c:void ue(k(l))}(l=ee||(ee={}))[l.Default=0]="Default",l[l.Host=1]="Host",l[l.Self=2]="Self",l[l.SkipSelf=4]="SkipSelf",l[l.Optional=8]="Optional";const _t=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)();const Bt={},Ut="__NG_DI_FLAG__",yn="ngTempTokenPath",Gt=/\n/gm,rn="__source";let tn;function pn(l){const c=tn;return tn=l,c}function tt(l,c=ee.Default){if(void 0===tn)throw new Z(-203,!1);return null===tn?Re(l,void 0,c):tn.get(l,c&ee.Optional?null:void 0,c)}function vt(l,c=ee.Default){return(function j(){return H}()||tt)(P(l),c)}function dt(l){throw new Z(202,!1)}function se(l,c=ee.Default){return vt(l,J(c))}function J(l){return typeof l>"u"||"number"==typeof l?l:0|(l.optional&&8)|(l.host&&1)|(l.self&&2)|(l.skipSelf&&4)}function oe(l){const c=[];for(let g=0;g ");else if("object"==typeof c){let G=[];for(let de in c)if(c.hasOwnProperty(de)){let Se=c[de];G.push(de+":"+("string"==typeof Se?JSON.stringify(Se):k(Se)))}U=`{${G.join(", ")}}`}return`${g}${O?"("+O+")":""}[${U}]: ${l.replace(Gt,"\n ")}`}("\n"+l.message,U,g,O),l.ngTokenPath=U,l[yn]=null,l}function ze(l){return{toString:l}.toString()}var Me,Ce,zt;!function(l){l[l.OnPush=0]="OnPush",l[l.Default=1]="Default"}(Me||(Me={})),function(l){l[l.CheckOnce=0]="CheckOnce",l[l.Checked=1]="Checked",l[l.CheckAlways=2]="CheckAlways",l[l.Detached=3]="Detached",l[l.Errored=4]="Errored",l[l.Destroyed=5]="Destroyed"}(Ce||(Ce={})),function(l){l[l.Emulated=0]="Emulated",l[l.None=2]="None",l[l.ShadowDom=3]="ShadowDom"}(zt||(zt={}));const At={},Tt=[],Ht=D({\u0275cmp:D}),He=D({\u0275dir:D}),$e=D({\u0275pipe:D}),$t=D({\u0275mod:D}),Rt=D({\u0275fac:D}),Jt=D({__NG_ELEMENT_ID__:D});let Vn=0;function zn(l){return ze(()=>{const c=l.type,g=!0===l.standalone,O={},U={type:c,providersResolver:null,decls:l.decls,vars:l.vars,factory:null,template:l.template||null,consts:l.consts||null,ngContentSelectors:l.ngContentSelectors,hostBindings:l.hostBindings||null,hostVars:l.hostVars||0,hostAttrs:l.hostAttrs||null,contentQueries:l.contentQueries||null,declaredInputs:O,inputs:null,outputs:null,exportAs:l.exportAs||null,onPush:l.changeDetection===Me.OnPush,directiveDefs:null,pipeDefs:null,standalone:g,dependencies:g&&l.dependencies||null,getStandaloneInjector:null,selectors:l.selectors||Tt,viewQuery:l.viewQuery||null,features:l.features||null,data:l.data||{},encapsulation:l.encapsulation||zt.Emulated,id:"c"+Vn++,styles:l.styles||Tt,_:null,setInput:null,schemas:l.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},G=l.dependencies,de=l.features;return U.inputs=ft(l.inputs,O),U.outputs=ft(l.outputs),de&&de.forEach(Se=>Se(U)),U.directiveDefs=G?()=>("function"==typeof G?G():G).map(Yn).filter(Mt):null,U.pipeDefs=G?()=>("function"==typeof G?G():G).map(nn).filter(Mt):null,U})}function Tn(l,c,g){const O=l.\u0275cmp;O.directiveDefs=()=>("function"==typeof c?c():c).map(Yn),O.pipeDefs=()=>("function"==typeof g?g():g).map(nn)}function Yn(l){return pt(l)||Lt(l)}function Mt(l){return null!==l}function Ge(l){return ze(()=>({type:l.type,bootstrap:l.bootstrap||Tt,declarations:l.declarations||Tt,imports:l.imports||Tt,exports:l.exports||Tt,transitiveCompileScopes:null,schemas:l.schemas||null,id:l.id||null}))}function Be(l,c){return ze(()=>{const g=Wn(l,!0);g.declarations=c.declarations||Tt,g.imports=c.imports||Tt,g.exports=c.exports||Tt})}function ft(l,c){if(null==l)return At;const g={};for(const O in l)if(l.hasOwnProperty(O)){let U=l[O],G=U;Array.isArray(U)&&(G=U[1],U=U[0]),g[U]=O,c&&(c[U]=G)}return g}const re=zn;function Te(l){return{type:l.type,name:l.name,factory:null,pure:!1!==l.pure,standalone:!0===l.standalone,onDestroy:l.type.prototype.ngOnDestroy||null}}function pt(l){return l[Ht]||null}function Lt(l){return l[He]||null}function nn(l){return l[$e]||null}function Bn(l){const c=pt(l)||Lt(l)||nn(l);return null!==c&&c.standalone}function Wn(l,c){const g=l[$t]||null;if(!g&&!0===c)throw new Error(`Type ${k(l)} does not have '\u0275mod' property.`);return g}function Hi(l){return Array.isArray(l)&&"object"==typeof l[1]}function La(l){return Array.isArray(l)&&!0===l[1]}function gr(l){return 0!=(4&l.flags)}function Sa(l){return l.componentOffset>-1}function fa(l){return 1==(1&l.flags)}function Ki(l){return null!==l.template}function xa(l){return 0!=(256&l[2])}function Oa(l,c){return l.hasOwnProperty(Rt)?l[Rt]:null}class Ss{constructor(c,g,O){this.previousValue=c,this.currentValue=g,this.firstChange=O}isFirstChange(){return this.firstChange}}function Ja(){return Os}function Os(l){return l.type.prototype.ngOnChanges&&(l.setInput=yr),$a}function $a(){const l=ir(this),c=l?.current;if(c){const g=l.previous;if(g===At)l.previous=c;else for(let O in c)g[O]=c[O];l.current=null,this.ngOnChanges(c)}}function yr(l,c,g,O){const U=this.declaredInputs[g],G=ir(l)||function br(l,c){return l[sa]=c}(l,{previous:At,current:null}),de=G.current||(G.current={}),Se=G.previous,We=Se[U];de[U]=new Ss(We&&We.currentValue,c,Se===At),l[O]=c}Ja.ngInherit=!0;const sa="__ngSimpleChanges__";function ir(l){return l[sa]||null}let as=null;const Va=function(l,c,g){as?.(l,c,g)},Nt="math";function Bi(l){for(;Array.isArray(l);)l=l[0];return l}function la(l,c){return Bi(c[l])}function Li(l,c){return Bi(c[l.index])}function Rr(l,c){return l.data[c]}function Zr(l,c){return l[c]}function ca(l,c){const g=c[l];return Hi(g)?g:g[0]}function ar(l){return 64==(64&l[2])}function bt(l,c){return null==c?null:l[c]}function be(l){l[18]=0}function ct(l,c){l[5]+=c;let g=l,O=l[3];for(;null!==O&&(1===c&&1===g[5]||-1===c&&0===g[5]);)O[5]+=c,g=O,O=O[3]}const Yt={lFrame:ul(null),bindingsEnabled:!0};function $s(){return Yt.bindingsEnabled}function kl(){Yt.bindingsEnabled=!0}function po(){Yt.bindingsEnabled=!1}function kn(){return Yt.lFrame.lView}function Ui(){return Yt.lFrame.tView}function eo(l){return Yt.lFrame.contextLView=l,l[8]}function sr(l){return Yt.lFrame.contextLView=null,l}function Ra(){let l=Br();for(;null!==l&&64===l.type;)l=l.parent;return l}function Br(){return Yt.lFrame.currentTNode}function _o(){const l=Yt.lFrame,c=l.currentTNode;return l.isParent?c:c.parent}function Ba(l,c){const g=Yt.lFrame;g.currentTNode=l,g.isParent=c}function $i(){return Yt.lFrame.isParent}function Hn(){Yt.lFrame.isParent=!1}function Wa(){const l=Yt.lFrame;let c=l.bindingRootIndex;return-1===c&&(c=l.bindingRootIndex=l.tView.bindingStartIndex),c}function ss(){return Yt.lFrame.bindingIndex}function zs(l){return Yt.lFrame.bindingIndex=l}function to(){return Yt.lFrame.bindingIndex++}function Yr(l){const c=Yt.lFrame,g=c.bindingIndex;return c.bindingIndex=c.bindingIndex+l,g}function Vc(l){Yt.lFrame.inI18n=l}function Wc(l,c){const g=Yt.lFrame;g.bindingIndex=g.bindingRootIndex=l,Rl(c)}function Rl(l){Yt.lFrame.currentDirectiveIndex=l}function Go(l){const c=Yt.lFrame.currentDirectiveIndex;return-1===c?null:l[c]}function Zo(){return Yt.lFrame.currentQueryIndex}function ko(l){Yt.lFrame.currentQueryIndex=l}function xr(l){const c=l[1];return 2===c.type?c.declTNode:1===c.type?l[6]:null}function Ro(l,c,g){if(g&ee.SkipSelf){let U=c,G=l;for(;(U=U.parent,null===U&&!(g&ee.Host))&&(U=xr(G),!(null===U||(G=G[15],10&U.type))););if(null===U)return!1;c=U,l=G}const O=Yt.lFrame=ui();return O.currentTNode=c,O.lView=l,!0}function Yo(l){const c=ui(),g=l[1];Yt.lFrame=c,c.currentTNode=g.firstChild,c.lView=l,c.tView=g,c.contextLView=l,c.bindingIndex=g.bindingStartIndex,c.inI18n=!1}function ui(){const l=Yt.lFrame,c=null===l?null:l.child;return null===c?ul(l):c}function ul(l){const c={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:l,child:null,inI18n:!1};return null!==l&&(l.child=c),c}function oc(){const l=Yt.lFrame;return Yt.lFrame=l.parent,l.currentTNode=null,l.lView=null,l}const ys=oc;function ks(){const l=oc();l.isParent=!0,l.tView=null,l.selectedIndex=-1,l.contextLView=null,l.elementDepthCount=0,l.currentDirectiveIndex=-1,l.currentNamespace=null,l.bindingRootIndex=-1,l.bindingIndex=-1,l.currentQueryIndex=0}function no(l){return(Yt.lFrame.contextLView=function os(l,c){for(;l>0;)c=c[15],l--;return c}(l,Yt.lFrame.contextLView))[8]}function Ne(){return Yt.lFrame.selectedIndex}function fe(l){Yt.lFrame.selectedIndex=l}function st(){const l=Yt.lFrame;return Rr(l.tView,l.selectedIndex)}function Ot(){Yt.lFrame.currentNamespace="svg"}function Vt(){Yt.lFrame.currentNamespace=Nt}function fn(){!function Un(){Yt.lFrame.currentNamespace=null}()}function yt(l,c){for(let g=c.directiveStart,O=c.directiveEnd;g=O)break}else c[We]<0&&(l[18]+=65536),(Se>11>16&&(3&l[2])===c){l[2]+=2048,Va(4,Se,G);try{G.call(Se)}finally{Va(5,Se,G)}}}else{Va(4,Se,G);try{G.call(Se)}finally{Va(5,Se,G)}}}class Sn{constructor(c,g,O){this.factory=c,this.resolving=!1,this.canSeeViewProviders=g,this.injectImpl=O}}function Ka(l,c,g){let O=0;for(;Oc){de=G-1;break}}}for(;G>16}(l),O=c;for(;g>0;)O=O[15],g--;return O}let Dr=!0;function lc(l){const c=Dr;return Dr=l,c}let S1=0;const or={};function Mo(l,c){const g=Bl(l,c);if(-1!==g)return g;const O=c[1];O.firstCreatePass&&(l.injectorIndex=c.length,vo(O.data,l),vo(c,null),vo(O.blueprint,null));const U=ml(l,c),G=l.injectorIndex;if(Er(U)){const de=bs(U),Se=hl(U,c),We=Se[1].data;for(let ot=0;ot<8;ot++)c[G+ot]=Se[de+ot]|We[de+ot]}return c[G+8]=U,G}function vo(l,c){l.push(0,0,0,0,0,0,0,0,c)}function Bl(l,c){return-1===l.injectorIndex||l.parent&&l.parent.injectorIndex===l.injectorIndex||null===c[l.injectorIndex+8]?-1:l.injectorIndex}function ml(l,c){if(l.parent&&-1!==l.parent.injectorIndex)return l.parent.injectorIndex;let g=0,O=null,U=c;for(;null!==U;){if(O=P2(U),null===O)return-1;if(g++,U=U[15],-1!==O.injectorIndex)return O.injectorIndex|g<<16}return-1}function O1(l,c,g){!function _l(l,c,g){let O;"string"==typeof g?O=g.charCodeAt(0)||0:g.hasOwnProperty(Jt)&&(O=g[Jt]),null==O&&(O=g[Jt]=S1++);const U=255&O,G=1<>5)]|=G}(l,c,g)}function gl(l,c,g){if(g&ee.Optional||void 0!==l)return l;ue()}function cc(l,c,g,O){if(g&ee.Optional&&void 0===O&&(O=null),0==(g&(ee.Self|ee.Host))){const U=l[9],G=Oe(void 0);try{return U?U.get(c,O,g&ee.Optional):Re(c,O,g&ee.Optional)}finally{Oe(G)}}return gl(O,0,g)}function O2(l,c,g,O=ee.Default,U){if(null!==l){if(1024&c[2]){const de=function Ar(l,c,g,O,U){let G=l,de=c;for(;null!==G&&null!==de&&1024&de[2]&&!(256&de[2]);){const Se=k1(G,de,g,O|ee.Self,or);if(Se!==or)return Se;let We=G.parent;if(!We){const ot=de[21];if(ot){const wt=ot.get(g,or,O);if(wt!==or)return wt}We=P2(de),de=de[15]}G=We}return U}(l,c,g,O,or);if(de!==or)return de}const G=k1(l,c,g,O,or);if(G!==or)return G}return cc(c,g,O,U)}function k1(l,c,g,O,U){const G=function dc(l){if("string"==typeof l)return l.charCodeAt(0)||0;const c=l.hasOwnProperty(Jt)?l[Jt]:void 0;return"number"==typeof c?c>=0?255&c:Eo:c}(g);if("function"==typeof G){if(!Ro(c,l,O))return O&ee.Host?gl(U,0,O):cc(c,g,O,U);try{const de=G(O);if(null!=de||O&ee.Optional)return de;ue()}finally{ys()}}else if("number"==typeof G){let de=null,Se=Bl(l,c),We=-1,ot=O&ee.Host?c[16][6]:null;for((-1===Se||O&ee.SkipSelf)&&(We=-1===Se?ml(l,c):c[Se+8],-1!==We&&Gc(O,!1)?(de=c[1],Se=bs(We),c=hl(We,c)):Se=-1);-1!==Se;){const wt=c[1];if(R1(G,Se,wt.data)){const Kt=Qo(Se,c,g,de,O,ot);if(Kt!==or)return Kt}We=c[Se+8],-1!==We&&Gc(O,c[1].data[Se+8]===ot)&&R1(G,Se,c)?(de=wt,Se=bs(We),c=hl(We,c)):Se=-1}}return U}function Qo(l,c,g,O,U,G){const de=c[1],Se=de.data[l+8],wt=io(Se,de,g,null==O?Sa(Se)&&Dr:O!=de&&0!=(3&Se.type),U&ee.Host&&G===Se);return null!==wt?vl(c,de,wt,Se):or}function io(l,c,g,O,U){const G=l.providerIndexes,de=c.data,Se=1048575&G,We=l.directiveStart,ot=l.directiveEnd,wt=G>>20,cn=U?Se+wt:ot;for(let bn=O?Se:Se+wt;bn=We&&On.type===g)return bn}if(U){const bn=de[We];if(bn&&Ki(bn)&&bn.type===g)return We}return null}function vl(l,c,g,O){let U=l[g];const G=c.data;if(function Jn(l){return l instanceof Sn}(U)){const de=U;de.resolving&&function _e(l,c){const g=c?`. Dependency path: ${c.join(" > ")} > ${l}`:"";throw new Z(-200,`Circular dependency in DI detected for ${l}${g}`)}(ae(G[g]));const Se=lc(de.canSeeViewProviders);de.resolving=!0;const We=de.injectImpl?Oe(de.injectImpl):null;Ro(l,O,ee.Default);try{U=l[g]=de.factory(void 0,G,l,O),c.firstCreatePass&&g>=O.directiveStart&&function rt(l,c,g){const{ngOnChanges:O,ngOnInit:U,ngDoCheck:G}=c.type.prototype;if(O){const de=Os(c);(g.preOrderHooks||(g.preOrderHooks=[])).push(l,de),(g.preOrderCheckHooks||(g.preOrderCheckHooks=[])).push(l,de)}U&&(g.preOrderHooks||(g.preOrderHooks=[])).push(0-l,U),G&&((g.preOrderHooks||(g.preOrderHooks=[])).push(l,G),(g.preOrderCheckHooks||(g.preOrderCheckHooks=[])).push(l,G))}(g,G[g],c)}finally{null!==We&&Oe(We),lc(Se),de.resolving=!1,ys()}}return U}function R1(l,c,g){const O=1<>5)]&O)}function Gc(l,c){return!(l&ee.Self||l&ee.Host&&c)}class ao{constructor(c,g){this._tNode=c,this._lView=g}get(c,g,O){return O2(this._tNode,this._lView,c,J(O),g)}}function Eo(){return new ao(Ra(),kn())}function jo(l){return ze(()=>{const c=l.prototype.constructor,g=c[Rt]||Nr(c),O=Object.prototype;let U=Object.getPrototypeOf(l.prototype).constructor;for(;U&&U!==O;){const G=U[Rt]||Nr(U);if(G&&G!==g)return G;U=Object.getPrototypeOf(U)}return G=>new G})}function Nr(l){return M(l)?()=>{const c=Nr(P(l));return c&&c()}:Oa(l)}function P2(l){const c=l[1],g=c.type;return 2===g?c.declTNode:1===g?l[6]:null}function yl(l){return function P1(l,c){if("class"===c)return l.classes;if("style"===c)return l.styles;const g=l.attrs;if(g){const O=g.length;let U=0;for(;U{const G=Zc(c);function de(...Se){if(this instanceof de)return G.call(this,...Se),this;const We=new de(...Se);return function(wt){return U&&U(wt,...Se),(wt.hasOwnProperty(Bo)?wt[Bo]:Object.defineProperty(wt,Bo,{value:[]})[Bo]).push(We),O&&O(wt),wt}}return g&&(de.prototype=Object.create(g.prototype)),de.prototype.ngMetadataName=l,de.annotationCls=de,de})}function Zc(l){return function(...g){if(l){const O=l(...g);for(const U in O)this[U]=O[U]}}}function Do(l,c,g){return ze(()=>{const O=Zc(c);function U(...G){if(this instanceof U)return O.apply(this,G),this;const de=new U(...G);return Se.annotation=de,Se;function Se(We,ot,wt){const Kt=We.hasOwnProperty(ro)?We[ro]:Object.defineProperty(We,ro,{value:[]})[ro];for(;Kt.length<=wt;)Kt.push(null);return(Kt[wt]=Kt[wt]||[]).push(de),We}}return g&&(U.prototype=Object.create(g.prototype)),U.prototype.ngMetadataName=l,U.annotationCls=U,U})}function qo(l,c,g,O){return ze(()=>{const U=Zc(c);function G(...de){if(this instanceof G)return U.apply(this,de),this;const Se=new G(...de);return function We(ot,wt){const Kt=ot.constructor,cn=Kt.hasOwnProperty(Rs)?Kt[Rs]:Object.defineProperty(Kt,Rs,{value:{}})[Rs];cn[wt]=cn.hasOwnProperty(wt)&&cn[wt]||[],cn[wt].unshift(Se),O&&O(ot,wt,...de)}}return g&&(G.prototype=Object.create(g.prototype)),G.prototype.ngMetadataName=l,G.annotationCls=G,G})}const B1=Do("Attribute",l=>({attributeName:l,__NG_ELEMENT_ID__:()=>yl(l)}));class va{constructor(c,g){this._desc=c,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof g?this.__NG_ELEMENT_ID__=g:void 0!==g&&(this.\u0275prov=Ke({token:this,providedIn:g.providedIn||"root",factory:g.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}new va("AnalyzeForEntryComponents");class we{}const ne=qo("ContentChildren",(l,c={})=>({selector:l,first:!1,isViewQuery:!1,descendants:!1,emitDistinctChangesOnly:true,...c}),we),Ee=qo("ContentChild",(l,c={})=>({selector:l,first:!0,isViewQuery:!1,descendants:!0,...c}),we),qe=qo("ViewChildren",(l,c={})=>({selector:l,first:!1,isViewQuery:!0,descendants:!0,emitDistinctChangesOnly:true,...c}),we),at=qo("ViewChild",(l,c)=>({selector:l,first:!0,isViewQuery:!0,descendants:!0,...c}),we);var mt,Wt,mn;function Dn(l){const c=_t.ng;if(c&&c.\u0275compilerFacade)return c.\u0275compilerFacade;throw new Error("JIT compiler unavailable")}!function(l){l[l.Directive=0]="Directive",l[l.Component=1]="Component",l[l.Injectable=2]="Injectable",l[l.Pipe=3]="Pipe",l[l.NgModule=4]="NgModule"}(mt||(mt={})),function(l){l[l.Directive=0]="Directive",l[l.Pipe=1]="Pipe",l[l.NgModule=2]="NgModule"}(Wt||(Wt={})),function(l){l[l.Emulated=0]="Emulated",l[l.None=2]="None",l[l.ShadowDom=3]="ShadowDom"}(mn||(mn={}));const Rn=Function;function di(l){return"function"==typeof l}function zi(l,c){void 0===c&&(c=l);for(let g=0;gArray.isArray(g)?Fr(g,c):c(g))}function so(l,c,g){c>=l.length?l.push(g):l.splice(c,0,g)}function ds(l,c){return c>=l.length-1?l.pop():l.splice(c,1)[0]}function Us(l,c){const g=[];for(let O=0;O=0?l[1|O]=g:(O=~O,function uc(l,c,g,O){let U=l.length;if(U==c)l.push(g,O);else if(1===U)l.push(O,l[0]),l[0]=g;else{for(U--,l.push(l[U-1],l[U]);U>c;){const G=U-2;l[U]=l[G],U--}l[c]=g,l[c+1]=O}}(l,O,c,g)),O}function Nl(l,c){const g=lr(l,c);if(g>=0)return l[1|g]}function lr(l,c){return R2(l,c,1)}function R2(l,c,g){let O=0,U=l.length>>g;for(;U!==O;){const G=O+(U-O>>1),de=l[G<c?U=G:O=G+1}return~(U<new c(...g)}_zipTypesAndAnnotations(c,g){let O;O=Us(typeof c>"u"?g.length:c.length);for(let U=0;U"u"?O[U]=[]:c[U]&&c[U]!=Object?O[U]=[c[U]]:O[U]=[],g&&null!=g[U]&&(O[U]=O[U].concat(g[U]));return O}_ownParameters(c,g){if(function bu(l){return $d.test(l)||K4.test(l)||e0.test(l)&&!Hl.test(l)}(c.toString()))return null;if(c.parameters&&c.parameters!==g.parameters)return c.parameters;const U=c.ctorParameters;if(U&&U!==g.ctorParameters){const Se="function"==typeof U?U():U,We=Se.map(wt=>wt&&wt.type),ot=Se.map(wt=>wt&&Cu(wt.decorators));return this._zipTypesAndAnnotations(We,ot)}const G=c.hasOwnProperty(ro)&&c[ro],de=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",c);return de||G?this._zipTypesAndAnnotations(de,G):Us(c.length)}parameters(c){if(!di(c))return[];const g=N1(c);let O=this._ownParameters(c,g);return!O&&g!==Object&&(O=this.parameters(g)),O||[]}_ownAnnotations(c,g){if(c.annotations&&c.annotations!==g.annotations){let O=c.annotations;return"function"==typeof O&&O.annotations&&(O=O.annotations),O}return c.decorators&&c.decorators!==g.decorators?Cu(c.decorators):c.hasOwnProperty(Bo)?c[Bo]:null}annotations(c){if(!di(c))return[];const g=N1(c),O=this._ownAnnotations(c,g)||[];return(g!==Object?this.annotations(g):[]).concat(O)}_ownPropMetadata(c,g){if(c.propMetadata&&c.propMetadata!==g.propMetadata){let O=c.propMetadata;return"function"==typeof O&&O.propMetadata&&(O=O.propMetadata),O}if(c.propDecorators&&c.propDecorators!==g.propDecorators){const O=c.propDecorators,U={};return Object.keys(O).forEach(G=>{U[G]=Cu(O[G])}),U}return c.hasOwnProperty(Rs)?c[Rs]:null}propMetadata(c){if(!di(c))return{};const g=N1(c),O={};if(g!==Object){const G=this.propMetadata(g);Object.keys(G).forEach(de=>{O[de]=G[de]})}const U=this._ownPropMetadata(c,g);return U&&Object.keys(U).forEach(G=>{const de=[];O.hasOwnProperty(G)&&de.push(...O[G]),de.push(...U[G]),O[G]=de}),O}ownPropMetadata(c){return di(c)&&this._ownPropMetadata(c,N1(c))||{}}hasLifecycleHook(c,g){return c instanceof Rn&&g in c.prototype}}function Cu(l){return l?l.map(c=>new(0,c.type.annotationCls)(...c.args?c.args:[])):[]}function N1(l){const c=l.prototype?Object.getPrototypeOf(l.prototype):null;return(c?c.constructor:null)||Object}const jc=De(Do("Inject",l=>({token:l})),-1),B2=De(Do("Optional"),8),qc=De(Do("Self"),2),bl=De(Do("SkipSelf"),4),d3=De(Do("Host"),1);let zl=null;function Ul(){return zl=zl||new xu}function hc(l){return Mu(Ul().parameters(l))}function Mu(l){return l.map(c=>function u3(l){const c={token:null,attribute:null,host:!1,optional:!1,self:!1,skipSelf:!1};if(Array.isArray(l)&&l.length>0)for(let g=0;g|^->||--!>|)/;function v3(l){return l.replace(j4,c=>c.replace(q4,"\u200b$1\u200b"))}const U2=new Map;let s0=0;const W2="__ngContext__";function us(l,c){Hi(c)?(l[W2]=c[20],function V2(l){U2.set(l[20],l)}(c)):l[W2]=c}let o0;function K2(l,c){return o0(l,c)}function yo(l){const c=l[3];return La(c)?c[3]:c}function c0(l){return e1(l[13])}function d0(l){return e1(l[4])}function e1(l){for(;null!==l&&!La(l);)l=l[4];return l}function Zl(l,c,g,O,U){if(null!=O){let G,de=!1;La(O)?G=O:Hi(O)&&(de=!0,O=O[0]);const Se=Bi(O);0===l&&null!==g?null==U?_0(c,g,Se):Yl(c,g,Se,U||null,!0):1===l&&null!==g?Yl(c,g,Se,U||null,!0):2===l?y0(c,Se,de):3===l&&c.destroyNode(Se),null!=G&&function Wu(l,c,g,O,U){const G=g[7],de=Bi(g);G!==de&&Zl(c,l,O,G,U);for(let Se=10;Se0&&(g[U-1][4]=c),O0&&(l[g-1][4]=O[4]);const G=ds(l,10+c);!function C3(l,c){i1(l,c,c[11],2,null,null),c[0]=null,c[6]=null}(O[1],O);const de=G[19];null!==de&&de.detachView(G[1]),O[3]=null,O[4]=null,O[2]&=-65}return O}function Ru(l,c){if(!(128&c[2])){const g=c[11];g.destroyNode&&i1(l,c,g,3,null,null),function t1(l){let c=l[13];if(!c)return p0(l[1],l);for(;c;){let g=null;if(Hi(c))g=c[13];else{const O=c[10];O&&(g=O)}if(!g){for(;c&&!c[4]&&c!==l;)Hi(c)&&p0(c[1],c),c=c[3];null===c&&(c=l),Hi(c)&&p0(c[1],c),g=c&&c[4]}c=g}}(c)}}function p0(l,c){if(!(128&c[2])){c[2]&=-65,c[2]|=128,function V1(l,c){let g;if(null!=l&&null!=(g=l.destroyHooks))for(let O=0;O=0?O[U=de]():O[U=-de].unsubscribe(),G+=2}else{const de=O[U=g[G+1]];g[G].call(de)}if(null!==O){for(let G=U+1;G-1){const{encapsulation:G}=l.data[O.directiveStart+U];if(G===zt.None||G===zt.Emulated)return null}return Li(O,g)}}function Yl(l,c,g,O,U){l.insertBefore(c,g,O,U)}function _0(l,c,g){l.appendChild(c,g)}function Fu(l,c,g,O,U){null!==O?Yl(l,c,g,O,U):_0(l,c,g)}function Q2(l,c){return l.parentNode(c)}function zu(l,c,g){return m0(l,c,g)}function Uu(l,c,g){return 40&l.type?Li(l,g):null}let g0,X2,J2,Xo,m0=Uu;function v0(l,c){m0=l,g0=c}function j2(l,c,g,O){const U=Bu(l,O,c),G=c[11],Se=zu(O.parent||c[6],O,c);if(null!=U)if(Array.isArray(g))for(let We=0;Wel,createScript:l=>l,createScriptURL:l=>l})}catch{}return X2}function Fo(l){return M0()?.createHTML(l)||l}function bc(l,c,g){const O=kn(),U=st(),G=Li(U,O);if(2===U.type&&"iframe"===c.toLowerCase()){const de=G;de.src="",de.srcdoc=Fo(""),y0(O[11],de);throw new Z(-910,!1)}return l}function S3(l){J2=l}function Zu(){return void 0!==J2?J2:typeof document<"u"?document:void 0}function D0(){if(void 0===Xo&&(Xo=null,_t.trustedTypes))try{Xo=_t.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:l=>l,createScript:l=>l,createScriptURL:l=>l})}catch{}return Xo}function $2(l){return D0()?.createHTML(l)||l}function Yu(l){return D0()?.createScript(l)||l}function A0(l){return D0()?.createScriptURL(l)||l}class xc{constructor(c){this.changingThisBreaksApplicationSecurity=c}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${W})`}}class ef extends xc{getTypeName(){return"HTML"}}class tf extends xc{getTypeName(){return"Style"}}class Qu extends xc{getTypeName(){return"Script"}}class O3 extends xc{getTypeName(){return"URL"}}class P3 extends xc{getTypeName(){return"ResourceURL"}}function Jo(l){return l instanceof xc?l.changingThisBreaksApplicationSecurity:l}function Cc(l,c){const g=function Mc(l){return l instanceof xc&&l.getTypeName()||null}(l);if(null!=g&&g!==c){if("ResourceURL"===g&&"URL"===c)return!0;throw new Error(`Required a safe ${c}, got a ${g} (see ${W})`)}return g===c}function T0(l){return new ef(l)}function k3(l){return new tf(l)}function R3(l){return new Qu(l)}function ju(l){return new O3(l)}function qu(l){return new P3(l)}function ed(l){const c=new W1(l);return function B3(){try{return!!(new window.DOMParser).parseFromString(Fo(""),"text/html")}catch{return!1}}()?new Xu(c):c}class Xu{constructor(c){this.inertDocumentHelper=c}getInertBodyElement(c){c=""+c;try{const g=(new window.DOMParser).parseFromString(Fo(c),"text/html").body;return null===g?this.inertDocumentHelper.getInertBodyElement(c):(g.removeChild(g.firstChild),g)}catch{return null}}}class W1{constructor(c){if(this.defaultDoc=c,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const g=this.inertDocument.createElement("html");this.inertDocument.appendChild(g);const O=this.inertDocument.createElement("body");g.appendChild(O)}}getInertBodyElement(c){const g=this.inertDocument.createElement("template");if("content"in g)return g.innerHTML=Fo(c),g;const O=this.inertDocument.createElement("body");return O.innerHTML=Fo(c),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(O),O}stripCustomNsAttrs(c){const g=c.attributes;for(let U=g.length-1;0"),!0}endElement(c){const g=c.nodeName.toLowerCase();jl.hasOwnProperty(g)&&!Ql.hasOwnProperty(g)&&(this.buf.push(""))}chars(c){this.buf.push(I0(c))}checkClobberedElement(c,g){if(g&&(c.compareDocumentPosition(g)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${c.outerHTML}`);return g}}const Z1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,z3=/([^\#-~ |!])/g;function I0(l){return l.replace(/&/g,"&").replace(Z1,function(c){return"&#"+(1024*(c.charCodeAt(0)-55296)+(c.charCodeAt(1)-56320)+65536)+";"}).replace(z3,function(c){return"&#"+c.charCodeAt(0)+";"}).replace(//g,">")}let ad;function nh(l,c){let g=null;try{ad=ad||ed(l);let O=c?String(c):"";g=ad.getInertBodyElement(O);let U=5,G=O;do{if(0===U)throw new Error("Failed to sanitize html because the input is unstable");U--,O=G,G=g.innerHTML,g=ad.getInertBodyElement(O)}while(O!==G);return Fo((new th).sanitizeChildren(ih(g)||g))}finally{if(g){const O=ih(g)||g;for(;O.firstChild;)O.removeChild(O.firstChild)}}}function ih(l){return"content"in l&&function wr(l){return l.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===l.nodeName}(l)?l.content:null}var el;function L0(l){const c=Cl();return c?$2(c.sanitize(el.HTML,l)||""):Cc(l,"HTML")?$2(Jo(l)):nh(Zu(),ie(l))}function rd(l){const c=Cl();return c?c.sanitize(el.STYLE,l)||"":Cc(l,"Style")?Jo(l):ie(l)}function ah(l){const c=Cl();return c?c.sanitize(el.URL,l)||"":Cc(l,"URL")?Jo(l):td(ie(l))}function S0(l){const c=Cl();if(c)return A0(c.sanitize(el.RESOURCE_URL,l)||"");if(Cc(l,"ResourceURL"))return A0(Jo(l));throw new Z(904,!1)}function sd(l){const c=Cl();if(c)return Yu(c.sanitize(el.SCRIPT,l)||"");if(Cc(l,"Script"))return Yu(Jo(l));throw new Z(905,!1)}function rh(l){return Fo(l[0])}function Ga(l){return function E0(l){return M0()?.createScriptURL(l)||l}(l[0])}function P0(l,c,g){return function O0(l,c){return"src"===c&&("embed"===l||"frame"===l||"iframe"===l||"media"===l||"script"===l)||"href"===c&&("base"===l||"link"===l)?S0:ah}(c,g)(l)}function Cl(){const l=kn();return l&&l[12]}!function(l){l[l.NONE=0]="NONE",l[l.HTML=1]="HTML",l[l.STYLE=2]="STYLE",l[l.SCRIPT=3]="SCRIPT",l[l.URL=4]="URL",l[l.RESOURCE_URL=5]="RESOURCE_URL"}(el||(el={}));const er=new va("ENVIRONMENT_INITIALIZER"),r1=new va("INJECTOR",-1),Q1=new va("INJECTOR_DEF_TYPES");class k0{get(c,g=Bt){if(g===Bt){const O=new Error(`NullInjectorError: No provider for ${k(c)}!`);throw O.name="NullInjectorError",O}return g}}function s1(l){return{\u0275providers:l}}function R0(...l){return{\u0275providers:sh(!0,l),\u0275fromNgModule:!0}}function sh(l,...c){const g=[],O=new Set;let U;return Fr(c,G=>{const de=G;o1(de,g,[],O)&&(U||(U=[]),U.push(de))}),void 0!==U&&B0(U,g),g}function B0(l,c){for(let g=0;g{c.push(G)})}}function o1(l,c,g,O){if(!(l=P(l)))return!1;let U=null,G=ht(l);const de=!G&&pt(l);if(G||de){if(de&&!de.standalone)return!1;U=l}else{const We=l.ngModule;if(G=ht(We),!G)return!1;U=We}const Se=O.has(U);if(de){if(Se)return!1;if(O.add(U),de.dependencies){const We="function"==typeof de.dependencies?de.dependencies():de.dependencies;for(const ot of We)o1(ot,c,g,O)}}else{if(!G)return!1;{if(null!=G.imports&&!Se){let ot;O.add(U);try{Fr(G.imports,wt=>{o1(wt,c,g,O)&&(ot||(ot=[]),ot.push(wt))})}finally{}void 0!==ot&&B0(ot,c)}if(!Se){const ot=Oa(U)||(()=>new U);c.push({provide:U,useFactory:ot,deps:Tt},{provide:Q1,useValue:U,multi:!0},{provide:er,useValue:()=>vt(U),multi:!0})}const We=G.providers;if(null!=We&&!Se){Ml(We,wt=>{c.push(wt)})}}}return U!==l&&void 0!==l.providers}function Ml(l,c){for(let g of l)z(g)&&(g=g.\u0275providers),Array.isArray(g)?Ml(g,c):c(g)}const U3=D({provide:String,useValue:D});function j1(l){return null!==l&&"object"==typeof l&&U3 in l}function F0(l){return!(!l||!l.useExisting)}function od(l){return!(!l||!l.useFactory)}function l1(l){return"function"==typeof l}const da=new va("Set Injector scope."),q1={},Ec={};let ld;function ql(){return void 0===ld&&(ld=new k0),ld}class tl{}class Xl extends tl{constructor(c,g,O,U){super(),this.parent=g,this.source=O,this.scopes=U,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,c1(c,de=>this.processProvider(de)),this.records.set(r1,Jl(void 0,this)),U.has("environment")&&this.records.set(tl,Jl(void 0,this));const G=this.records.get(da);null!=G&&"string"==typeof G.value&&this.scopes.add(G.value),this.injectorDefTypes=new Set(this.get(Q1.multi,Tt,ee.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const c of this._ngOnDestroyHooks)c.ngOnDestroy();for(const c of this._onDestroyHooks)c()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(c){this._onDestroyHooks.push(c)}runInContext(c){this.assertNotDestroyed();const g=pn(this),O=Oe(void 0);try{return c()}finally{pn(g),Oe(O)}}get(c,g=Bt,O=ee.Default){this.assertNotDestroyed(),O=J(O);const U=pn(this),G=Oe(void 0);try{if(!(O&ee.SkipSelf)){let Se=this.records.get(c);if(void 0===Se){const We=function xo(l){return"function"==typeof l||"object"==typeof l&&l instanceof va}(c)&&xe(c);Se=We&&this.injectableDefInScope(We)?Jl(cd(c),q1):null,this.records.set(c,Se)}if(null!=Se)return this.hydrate(c,Se)}const de=O&ee.Self?ql():this.parent;return g=O&ee.Optional&&g===Bt?null:g,de.get(c,g)}catch(de){if("NullInjectorError"===de.name){if((de[yn]=de[yn]||[]).unshift(k(c)),U)throw de;return Dt(de,c,"R3InjectorError",this.source)}throw de}finally{Oe(G),pn(U)}}resolveInjectorInitializers(){const c=pn(this),g=Oe(void 0);try{const O=this.get(er.multi,Tt,ee.Self);for(const U of O)U()}finally{pn(c),Oe(g)}}toString(){const c=[],g=this.records;for(const O of g.keys())c.push(k(O));return`R3Injector[${c.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Z(205,!1)}processProvider(c){let g=l1(c=P(c))?c:P(c&&c.provide);const O=function Dc(l){if(j1(l))return Jl(void 0,l.useValue);return Jl(dd(l),q1)}(c);if(l1(c)||!0!==c.multi){this.records.get(g)}else{let U=this.records.get(g);U||(U=Jl(void 0,q1,!0),U.factory=()=>oe(U.multi),this.records.set(g,U)),g=c,U.multi.push(c)}this.records.set(g,O)}hydrate(c,g){return g.value===q1&&(g.value=Ec,g.value=g.factory()),"object"==typeof g.value&&g.value&&function Vs(l){return null!==l&&"object"==typeof l&&"function"==typeof l.ngOnDestroy}(g.value)&&this._ngOnDestroyHooks.add(g.value),g.value}injectableDefInScope(c){if(!c.providedIn)return!1;const g=P(c.providedIn);return"string"==typeof g?"any"===g||this.scopes.has(g):this.injectorDefTypes.has(g)}}function cd(l){const c=xe(l),g=null!==c?c.factory:Oa(l);if(null!==g)return g;if(l instanceof va)throw new Z(204,!1);if(l instanceof Function)return function Xr(l){const c=l.length;if(c>0){Us(c,"?");throw new Z(204,!1)}const g=function ve(l){const c=l&&(l[Le]||l[te]);if(c){const g=function et(l){if(l.hasOwnProperty("name"))return l.name;const c=(""+l).match(/^function\s*([^\s(]+)/);return null===c?"":c[1]}(l);return console.warn(`DEPRECATED: DI is instantiating a token "${g}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${g}" class.`),c}return null}(l);return null!==g?()=>g.factory(l):()=>new l}(l);throw new Z(204,!1)}function dd(l,c,g){let O;if(l1(l)){const U=P(l);return Oa(U)||cd(U)}if(j1(l))O=()=>P(l.useValue);else if(od(l))O=()=>l.useFactory(...oe(l.deps||[]));else if(F0(l))O=()=>vt(P(l.useExisting));else{const U=P(l&&(l.useClass||l.provide));if(!function bo(l){return!!l.deps}(l))return Oa(U)||cd(U);O=()=>new U(...oe(l.deps))}return O}function Jl(l,c,g=!1){return{factory:l,value:c,multi:g?[]:void 0}}function c1(l,c){for(const g of l)Array.isArray(g)?c1(g,c):g&&z(g)?c1(g.\u0275providers,c):c(g)}class Ho{}class X1{}const z0="ngComponent";class lh{resolveComponentFactory(c){throw function oh(l){const c=Error(`No component factory found for ${k(l)}. Did you add it to @NgModule.entryComponents?`);return c[z0]=l,c}(c)}}class d1{}function u1(l,c){return new Ac(Li(l,c))}d1.NULL=new lh;class Ac{constructor(c){this.nativeElement=c}}function ud(l){return l instanceof Ac?l.nativeElement:l}Ac.__NG_ELEMENT_ID__=function V3(){return u1(Ra(),kn())};class hd{}class U0{}U0.__NG_ELEMENT_ID__=()=>function ch(){const l=kn(),g=ca(Ra().index,l);return(Hi(g)?g:l)[11]}();class fd{}fd.\u0275prov=Ke({token:fd,providedIn:"root",factory:()=>null});class dh{constructor(c){this.full=c,this.major=c.split(".")[0],this.minor=c.split(".")[1],this.patch=c.split(".").slice(2).join(".")}}const V0=new dh("15.0.2"),pd={},J1="ngOriginalError";function W0(l){return l[J1]}class El{constructor(){this._console=console}handleError(c){const g=this._findOriginalError(c);this._console.error("ERROR",c),g&&this._console.error("ORIGINAL ERROR",g)}_findOriginalError(c){let g=c&&W0(c);for(;g&&W0(g);)g=W0(g);return g||null}}function K0(l){return l.ownerDocument.defaultView}function $1(l){return l.ownerDocument}function af(l){return l.ownerDocument.body}function nl(l){return l instanceof Function?l():l}function mh(l,c,g){let O=l.length;for(;;){const U=l.indexOf(c,g);if(-1===U)return U;if(0===U||l.charCodeAt(U-1)<=32){const G=c.length;if(U+G===O||l.charCodeAt(U+G)<=32)return U}g=U+1}}const Dl="ng-template";function t2(l,c,g){let O=0;for(;OG?"":U[Kt+1].toLowerCase();const bn=8&O?cn:null;if(bn&&-1!==mh(bn,ot,0)||2&O&&ot!==cn){if(Ao(O))return!1;de=!0}}}}else{if(!de&&!Ao(O)&&!Ao(We))return!1;if(de&&Ao(We))continue;de=!1,O=We|1&O}}return Ao(O)||de}function Ao(l){return 0==(1&l)}function vh(l,c,g,O){if(null===c)return-1;let U=0;if(O||!g){let G=!1;for(;U-1)for(g++;g0?'="'+Se+'"':"")+"]"}else 8&O?U+="."+de:4&O&&(U+=" "+de);else""!==U&&!Ao(de)&&(c+=Z0(G,U),U=""),O=de,G=G||!Ao(O);g++}return""!==U&&(c+=Z0(G,U)),c}const Vi={};function md(l){Dh(Ui(),kn(),Ne()+l,!1)}function Dh(l,c,g,O){if(!O)if(3==(3&c[2])){const G=l.preOrderCheckHooks;null!==G&&Pt(c,G,g)}else{const G=l.preOrderHooks;null!==G&&Qe(c,G,0,g)}fe(g)}const gd={\u0275\u0275defineInjectable:Ke,\u0275\u0275defineInjector:Ve,\u0275\u0275inject:vt,\u0275\u0275invalidFactoryDep:dt,resolveForwardRef:P};function n2(l,c){let g=null,O=null;l.hasOwnProperty(Le)||Object.defineProperty(l,Le,{get:()=>(null===g&&(g=Dn().compileInjectable(gd,`ng:///${l.name}/\u0275prov.js`,function nt(l,c){const g=c||{providedIn:null},O={name:l.name,type:l,typeArgumentCount:0,providedIn:g.providedIn};return(T(g)||V(g))&&void 0!==g.deps&&(O.deps=Mu(g.deps)),T(g)?O.useClass=g.useClass:function x(l){return K in l}(g)?O.useValue=g.useValue:V(g)?O.useFactory=g.useFactory:function ge(l){return void 0!==l.useExisting}(g)&&(O.useExisting=g.useExisting),O}(l,c))),g)}),l.hasOwnProperty(Rt)||Object.defineProperty(l,Rt,{get:()=>{if(null===O){const U=Dn();O=U.compileFactory(gd,`ng:///${l.name}/\u0275fac.js`,{name:l.name,type:l,typeArgumentCount:0,deps:hc(l),target:U.FactoryTarget.Injectable})}return O},configurable:!0})}const K=D({provide:String,useValue:D});function T(l){return void 0!==l.useClass}function V(l){return void 0!==l.useFactory}const kt=cs("Injectable",void 0,void 0,void 0,(l,c)=>n2(l,c));function jt(l,c=null,g=null,O){const U=on(l,c,g,O);return U.resolveInjectorInitializers(),U}function on(l,c=null,g=null,O,U=new Set){const G=[g||Tt,R0(l)];return O=O||("object"==typeof l?void 0:k(l)),new Xl(G,c||ql(),O||null,U)}class xn{static create(c,g){if(Array.isArray(c))return jt({name:""},g,c,"");{const O=c.name??"";return jt({name:O},c.parent,c.providers,O)}}}function Xn(l){return l.length>1?" ("+function fi(l){const c=[];for(let g=0;g-1)return c.push(l[g]),c;c.push(l[g])}return c}(l.slice().reverse()).map(O=>k(O.token)).join(" -> ")+")":""}function Pi(l,c,g,O){const U=[c],G=g(U),de=O?function uh(l,c){const g=`${l} caused by: ${c instanceof Error?c.message:c}`,O=Error(g);return O[J1]=c,O}(G,O):Error(G);return de.addKey=Ni,de.keys=U,de.injectors=[l],de.constructResolvingMessage=g,de[J1]=O,de}function Ni(l,c){this.injectors.push(l),this.keys.push(c),this.message=this.constructResolvingMessage(this.keys)}function Jr(l,c){const g=[];for(let O=0,U=c.length;Ovt(r1)}),xn.__NG_ELEMENT_ID__=-1;class lo{constructor(c,g){if(this.token=c,this.id=g,!c)throw new Z(208,!1);this.displayName=k(this.token)}static get(c){return Ms.get(P(c))}static get numberOfKeys(){return Ms.numberOfKeys}}const Ms=new class il{constructor(){this._allKeys=new Map}get(c){if(c instanceof lo)return c;if(this._allKeys.has(c))return this._allKeys.get(c);const g=new lo(c,lo.numberOfKeys);return this._allKeys.set(c,g),g}get numberOfKeys(){return this._allKeys.size}};class To{constructor(c,g,O){this.key=c,this.optional=g,this.visibility=O}static fromKey(c){return new To(c,!1,null)}}const al=[];class zo{constructor(c,g,O){this.key=c,this.resolvedFactories=g,this.multiProvider=O,this.resolvedFactory=this.resolvedFactories[0]}}class Ah{constructor(c,g){this.factory=c,this.dependencies=g}}function h1(l){let c,g;if(l.useClass){const O=P(l.useClass);c=Ul().factory(O),g=ki(O)}else l.useExisting?(c=O=>O,g=[To.fromKey(lo.get(l.useExisting))]):l.useFactory?(c=l.useFactory,g=function wi(l,c){if(c){const g=c.map(O=>[O]);return c.map(O=>_a(l,O,g))}return ki(l)}(l.useFactory,l.deps)):(c=()=>l.useValue,g=al);return new Ah(c,g)}function Tc(l){return new zo(lo.get(l.provide),[h1(l)],l.multi||!1)}function Th(l){const O=function wh(l,c){for(let g=0;g{if(g instanceof Rn)c.push({provide:g,useClass:g});else if(g&&"object"==typeof g&&void 0!==g.provide)c.push(g);else{if(!Array.isArray(g))throw function Ia(l){return Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${l}`)}(g);vi(g,c)}}),c}function ki(l){const c=Ul().parameters(l);if(!c)return[];if(c.some(g=>null==g))throw Jr(l,c);return c.map(g=>_a(l,g,c))}function _a(l,c,g){let O=null,U=!1;if(!Array.isArray(c))return Tr(c instanceof jc?c.token:c,U,null);let G=null;for(let de=0;de=this._providers.length)throw function Ns(l){return Error(`Index ${l} is out-of-bounds.`)}(c);return this._providers[c]}_new(c){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function Oi(l,c){return Pi(l,c,function(g){return`Cannot instantiate cyclic dependency!${Xn(g)}`})}(this,c.key);return this._instantiateProvider(c)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(c){if(c.multiProvider){const g=[];for(let O=0;Othis._getByReflectiveDependency(de))}catch(de){throw de.addKey&&de.addKey(this,c.key),de}try{G=O(...U)}catch(de){throw function na(l,c,g,O){return Pi(l,O,function(U){const G=k(U[0].token);return`${c.message}: Error during instantiation of ${G}!${Xn(U)}.`},c)}(this,de,de.stack,c.key)}return G}_getByReflectiveDependency(c){return this._getByKey(c.key,c.visibility,c.optional?null:Bt)}_getByKey(c,g,O){return c===Co.INJECTOR_KEY?this:g instanceof qc?this._getByKeySelf(c,O):this._getByKeyDefault(c,O,g)}_getObjByKeyId(c){for(let g=0;g' "'+g.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}function wc(l,c=ee.Default){const g=kn();if(null===g)return vt(l,c);return O2(Ra(),g,P(l),c)}function Ih(){throw new Error("invalid")}function Al(l,c){const g=l.contentQueries;if(null!==g)for(let O=0;O22&&Dh(l,c,22,!1),Va(de?2:0,U),g(O,U)}finally{fe(G),Va(de?3:1,U)}}function Q0(l,c,g){if(gr(c)){const O=c.directiveStart,U=c.directiveEnd;for(let G=O;G0;){const g=l[--c];if("number"==typeof g&&g<0)return g}return 0})(de)!=Se&&de.push(Se),de.push(g,O,G)}}(l,c,O,Y0(l,g,U.hostVars,Vi),U)}function Qp(l,c,g){const O=Li(c,l),U=J3(g),G=l[10],de=kh(l,f1(l,U,null,g.onPush?32:16,O,c,G,G.createRenderer(O,g),null,null,null));l[c.index]=de}function ec(l,c,g,O,U,G){const de=Li(l,c);n4(c[11],de,G,l.value,g,O,U)}function n4(l,c,g,O,U,G,de){if(null==G)l.removeAttribute(c,U,g);else{const Se=null==de?ie(G):de(G,O||"",U);l.setAttribute(c,U,Se,g)}}function mf(l,c,g,O,U,G){const de=G[c];if(null!==de){const Se=O.setInput;for(let We=0;We0&&Ph(g)}}function Ph(l){for(let O=c0(l);null!==O;O=d0(O))for(let U=10;U0&&Ph(G)}const g=l[1].components;if(null!==g)for(let O=0;O0&&Ph(U)}}function Jp(l,c){const g=ca(c,l),O=g[1];(function $p(l,c){for(let g=c.length;g-1&&(Y2(c,O),ds(g,O))}this._attachedToViewContainer=!1}Ru(this._lView[1],this._lView)}onDestroy(c){e4(this._lView[1],this._lView,null,c)}markForCheck(){Rh(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Bh(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Z(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function M3(l,c){i1(l,c,c[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(c){if(this._attachedToViewContainer)throw new Z(902,!1);this._appRef=c}}class bf extends j0{constructor(c){super(c),this._view=c}detectChanges(){const c=this._view;Bh(c[1],c,c[8],!1)}checkNoChanges(){}get context(){return null}}class xf extends d1{constructor(c){super(),this.ngModule=c}resolveComponentFactory(c){const g=pt(c);return new q0(g,this.ngModule)}}function Cf(l){const c=[];for(let g in l)if(l.hasOwnProperty(g)){const O=l[g];c.push({propName:O,templateName:g})}return c}class Mf{constructor(c,g){this.injector=c,this.parentInjector=g}get(c,g,O){O=J(O);const U=this.injector.get(c,pd,O);return U!==pd||g===pd?U:this.parentInjector.get(c,g,O)}}class q0 extends X1{constructor(c,g){super(),this.componentDef=c,this.ngModule=g,this.componentType=c.type,this.selector=function Mh(l){return l.map(Q3).join(",")}(c.selectors),this.ngContentSelectors=c.ngContentSelectors?c.ngContentSelectors:[],this.isBoundToModule=!!g}get inputs(){return Cf(this.componentDef.inputs)}get outputs(){return Cf(this.componentDef.outputs)}create(c,g,O,U){let G=(U=U||this.ngModule)instanceof tl?U:U?.injector;G&&null!==this.componentDef.getStandaloneInjector&&(G=this.componentDef.getStandaloneInjector(G)||G);const de=G?new Mf(c,G):c,Se=de.get(hd,null);if(null===Se)throw new Z(407,!1);const We=de.get(fd,null),ot=Se.createRenderer(null,this.componentDef),wt=this.componentDef.selectors[0][0]||"div",Kt=O?function Fp(l,c,g){const O=g===zt.ShadowDom;return l.selectRootElement(c,O)}(ot,O,this.componentDef.encapsulation):Z2(ot,wt,function t6(l){const c=l.toLowerCase();return"svg"===c?"svg":"math"===c?Nt:null}(wt)),cn=this.componentDef.onPush?288:272,bn=$3(0,null,null,1,0,null,null,null,null,null),On=f1(null,bn,null,cn,null,null,Se,ot,We,de,null);let ii,hi;Yo(On);try{const Mi=this.componentDef;let Fi,Kn=null;Mi.findHostDirectiveDefs?(Fi=[],Kn=new Map,Mi.findHostDirectiveDefs(Mi,Fi,Kn),Fi.push(Mi)):Fi=[Mi];const ji=function n6(l,c){const g=l[1],O=22;return l[O]=c,vd(g,O,2,"#host",null)}(On,Kt),Kr=function i6(l,c,g,O,U,G,de,Se){const We=U[1];!function a6(l,c,g,O){for(const U of l)c.mergedAttrs=Na(c.mergedAttrs,U.hostAttrs);null!==c.mergedAttrs&&(Nh(c,c.mergedAttrs,!0),null!==g&&Ku(O,g,c))}(O,l,c,de);const ot=G.createRenderer(c,g),wt=f1(U,J3(g),null,g.onPush?32:16,U[l.index],l,G,ot,Se||null,null,null);return We.firstCreatePass&&Ya(We,l,O.length-1),kh(U,wt),U[l.index]=wt}(ji,Kt,Mi,Fi,On,Se,ot);hi=Rr(bn,22),Kt&&function r6(l,c,g,O){if(O)Ka(l,g,["ng-version",V0.full]);else{const{attrs:U,classes:G}=function Eh(l){const c=[],g=[];let O=1,U=2;for(;O0&&C0(l,g,G.join(" "))}}(ot,Mi,Kt,O),void 0!==g&&function Af(l,c,g){const O=l.projection=[];for(let U=0;U=0;O--){const U=l[O];U.hostVars=c+=U.hostVars,U.hostAttrs=Na(U.hostAttrs,g=Na(g,U.hostAttrs))}}(O)}function l4(l){return l===At?{}:l===Tt?[]:l}function c4(l,c){const g=l.viewQuery;l.viewQuery=g?(O,U)=>{c(O,U),g(O,U)}:c}function o6(l,c){const g=l.contentQueries;l.contentQueries=g?(O,U,G)=>{c(O,U,G),g(O,U,G)}:c}function l6(l,c){const g=l.hostBindings;l.hostBindings=g?(O,U)=>{c(O,U),g(O,U)}:c}const c6=["providersResolver"],If=["template","decls","consts","vars","onPush","ngContentSelectors","styles","encapsulation","schemas"];function d6(l){let g,c=Tf(l.type);g=Ki(l)?c.\u0275cmp:c.\u0275dir;const O=l;for(const U of c6)O[U]=g[U];if(Ki(g))for(const U of If)O[U]=g[U]}function u6(l){return c=>{c.findHostDirectiveDefs=Lf,c.hostDirectives=(Array.isArray(l)?l:l()).map(g=>"function"==typeof g?{directive:P(g),inputs:At,outputs:At}:{directive:P(g.directive),inputs:Sf(g.inputs),outputs:Sf(g.outputs)})}}function Lf(l,c,g){if(null!==l.hostDirectives)for(const O of l.hostDirectives){const U=Lt(O.directive);Of(U.declaredInputs,O.inputs),Lf(U,c,g),g.set(U,O),c.push(U)}}function Sf(l){if(void 0===l||0===l.length)return At;const c={};for(let g=0;gde(Bi(ji[O.index])):O.index;let Kn=null;if(!de&&Se&&(Kn=function x6(l,c,g,O){const U=l.cleanup;if(null!=U)for(let G=0;GWe?Se[We]:null}"string"==typeof de&&(G+=2)}return null}(l,c,U,O.index)),null!==Kn){(Kn.__ngLastListenerFn__||Kn).__ngNextListenerFn__=G,Kn.__ngLastListenerFn__=G,cn=!1}else{G=Gf(O,c,wt,G,!1);const ji=g.listen(hi,U,G);Kt.push(G,ji),ot&&ot.push(U,Fi,Mi,Mi+1)}}else G=Gf(O,c,wt,G,!1);const bn=O.outputs;let On;if(cn&&null!==bn&&(On=bn[U])){const ii=On.length;if(ii)for(let hi=0;hi-1?ca(l.index,c):c);let We=Kf(c,g,O,de),ot=G.__ngNextListenerFn__;for(;ot;)We=Kf(c,g,ot,de)&&We,ot=ot.__ngNextListenerFn__;return U&&!1===We&&(de.preventDefault(),de.returnValue=!1),We}}function Zf(l=1){return no(l)}function Yf(l,c){let g=null;const O=function yh(l){const c=l.attrs;if(null!=c){const g=c.indexOf(5);if(0==(1&g))return c[g+1]}return null}(l);for(let U=0;U>17&32767}function w4(l){return 2|l}function g1(l){return(131068&l)>>2}function I4(l,c){return-131069&l|c<<2}function Yh(l){return 1|l}function $f(l,c,g,O,U,G){let de=G?c.classBindings:c.styleBindings,Se=m1(de),We=g1(de);l[O]=g;let wt,ot=!1;if(Array.isArray(g)){const Kt=g;wt=Kt[1],(null===wt||lr(Kt,wt)>0)&&(ot=!0)}else wt=g;if(U)if(0!==We){const cn=m1(l[Se+1]);l[O+1]=Zh(cn,Se),0!==cn&&(l[cn+1]=I4(l[cn+1],O)),l[Se+1]=function T4(l,c){return 131071&l|c<<17}(l[Se+1],O)}else l[O+1]=Zh(Se,0),0!==Se&&(l[Se+1]=I4(l[Se+1],O)),Se=O;else l[O+1]=Zh(We,0),0===Se?Se=O:l[We+1]=I4(l[We+1],O),We=O;ot&&(l[O+1]=w4(l[O+1])),ep(l,wt,O,!0,G),ep(l,wt,O,!1,G),function E6(l,c,g,O,U){const G=U?l.residualClasses:l.residualStyles;null!=G&&"string"==typeof c&&lr(G,c)>=0&&(g[O+1]=Yh(g[O+1]))}(c,wt,l,O,G),de=Zh(Se,We),G?c.classBindings=de:c.styleBindings=de}function ep(l,c,g,O,U){const G=l[g+1],de=null===c;let Se=O?m1(G):g1(G),We=!1;for(;0!==Se&&(!1===We||de);){const ot=l[Se],wt=l[Se+1];D6(ot,c)&&(We=!0,l[Se+1]=O?Yh(wt):w4(wt)),Se=O?m1(wt):g1(wt)}We&&(l[g+1]=O?w4(G):Yh(G))}function D6(l,c){return null===l||null==c||(Array.isArray(l)?l[1]:l)===c||!(!Array.isArray(l)||"string"!=typeof c)&&lr(l,c)>=0}const Hr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function tp(l){return l.substring(Hr.key,Hr.keyEnd)}function A6(l){return l.substring(Hr.value,Hr.valueEnd)}function np(l,c){const g=Hr.textEnd;return g===c?-1:(c=Hr.keyEnd=function w6(l,c,g){for(;c32;)c++;return c}(l,Hr.key=c,g),wd(l,c,g))}function ap(l,c){const g=Hr.textEnd;let O=Hr.key=wd(l,c,g);return g===O?-1:(O=Hr.keyEnd=function I6(l,c,g){let O;for(;c=65&&(-33&O)<=90||O>=48&&O<=57);)c++;return c}(l,O,g),O=sp(l,O,g,58),O=Hr.value=wd(l,O,g),O=Hr.valueEnd=function L6(l,c,g){let O=-1,U=-1,G=-1,de=c,Se=de;for(;de32&&(Se=de),G=U,U=O,O=-33&We}return Se}(l,O,g),sp(l,O,g,59))}function rp(l){Hr.key=0,Hr.keyEnd=0,Hr.value=0,Hr.valueEnd=0,Hr.textEnd=l.length}function wd(l,c,g){for(;c=0;g=ap(c,g))v1(l,tp(c),A6(c))}function O4(l){sl(Cs,zr,l,!0)}function zr(l,c){for(let g=function T6(l){return rp(l),np(l,wd(l,0,Hr.textEnd))}(c);g>=0;g=np(c,g))Cs(l,tp(c),!0)}function uo(l,c,g,O){const U=kn(),G=Ui(),de=Yr(2);if(G.firstUpdatePass&&Vo(G,l,de,O),c!==Vi&&Ws(U,de,c)){Qa(G,G.data[Ne()],U,U[11],l,U[de+1]=function S6(l,c){return null==l||("string"==typeof c?l+=c:"object"==typeof l&&(l=k(Jo(l)))),l}(c,g),O,de)}}function sl(l,c,g,O){const U=Ui(),G=Yr(2);U.firstUpdatePass&&Vo(U,null,G,O);const de=kn();if(g!==Vi&&Ws(de,G,g)){const Se=U.data[Ne()];if(ja(Se,O)&&!lp(U,G)){let We=O?Se.classesWithoutHost:Se.stylesWithoutHost;null!==We&&(g=p(We,g||"")),_4(U,Se,de,g,O)}else!function Id(l,c,g,O,U,G,de,Se){U===Vi&&(U=Tt);let We=0,ot=0,wt=0=l.expandoStartIndex}function Vo(l,c,g,O){const U=l.data;if(null===U[g+1]){const G=U[Ne()],de=lp(l,g);ja(G,O)&&null===c&&!de&&(c=!1),c=function Lc(l,c,g,O){const U=Go(l);let G=O?c.residualClasses:c.residualStyles;if(null===U)0===(O?c.classBindings:c.styleBindings)&&(g=Ur(g=Sc(null,l,c,g,O),c.attrs,O),G=null);else{const de=c.directiveStylingLast;if(-1===de||l[de]!==U)if(g=Sc(U,l,c,g,O),null===G){let We=function hr(l,c,g){const O=g?c.classBindings:c.styleBindings;if(0!==g1(O))return l[m1(O)]}(l,c,O);void 0!==We&&Array.isArray(We)&&(We=Sc(null,l,c,We[1],O),We=Ur(We,c.attrs,O),function s2(l,c,g,O){const U=g?c.classBindings:c.styleBindings;l[m1(U)]=O}(l,c,O,We))}else G=function Cn(l,c,g){let O;const U=c.directiveEnd;for(let G=1+c.directiveStylingLast;G0;){const We=l[U],ot=Array.isArray(We),wt=ot?We[1]:We,Kt=null===wt;let cn=g[U+1];cn===Vi&&(cn=Kt?Tt:void 0);let bn=Kt?Nl(cn,O):wt===O?cn:void 0;if(ot&&!l2(bn)&&(bn=Nl(We,O)),l2(bn)&&(Se=bn,de))return Se;const On=l[U+1];U=de?m1(On):g1(On)}if(null!==c){let We=G?c.residualClasses:c.residualStyles;null!=We&&(Se=Nl(We,O))}return Se}function l2(l){return void 0!==l}function ja(l,c){return 0!=(l.flags&(c?8:16))}function es(l,c=""){const g=kn(),O=Ui(),U=l+22,G=O.firstCreatePass?vd(O,U,1,c,null):O.data[U],de=g[U]=h0(g[11],c);j2(O,g,de,G),Ba(G,!1)}function Oc(l){return wl("",l,""),Oc}function wl(l,c,g){const O=kn(),U=bd(O,l,c,g);return U!==Vi&&Ic(O,Ne(),U),wl}function tu(l,c,g,O,U){const G=kn(),de=xd(G,l,c,g,O,U);return de!==Vi&&Ic(G,Ne(),de),tu}function Gs(l,c,g,O,U,G,de){const Se=kn(),We=_1(Se,l,c,g,O,U,G,de);return We!==Vi&&Ic(Se,Ne(),We),Gs}function y1(l,c,g,O,U,G,de,Se,We){const ot=kn(),wt=Cd(ot,l,c,g,O,U,G,de,Se,We);return wt!==Vi&&Ic(ot,Ne(),wt),y1}function ps(l,c,g,O,U,G,de,Se,We,ot,wt){const Kt=kn(),cn=Md(Kt,l,c,g,O,U,G,de,Se,We,ot,wt);return cn!==Vi&&Ic(Kt,Ne(),cn),ps}function ol(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn){const bn=kn(),On=Ed(bn,l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn);return On!==Vi&&Ic(bn,Ne(),On),ol}function b1(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On){const ii=kn(),hi=Dd(ii,l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On);return hi!==Vi&&Ic(ii,Ne(),hi),b1}function ts(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi){const Mi=kn(),Fi=Ad(Mi,l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi);return Fi!==Vi&&Ic(Mi,Ne(),Fi),ts}function x1(l){const c=kn(),g=r2(c,l);return g!==Vi&&Ic(c,Ne(),g),x1}function Zs(l,c,g){sl(Cs,zr,bd(kn(),l,c,g),!0)}function c2(l,c,g,O,U){sl(Cs,zr,xd(kn(),l,c,g,O,U),!0)}function ho(l,c,g,O,U,G,de){sl(Cs,zr,_1(kn(),l,c,g,O,U,G,de),!0)}function d2(l,c,g,O,U,G,de,Se,We){sl(Cs,zr,Cd(kn(),l,c,g,O,U,G,de,Se,We),!0)}function cp(l,c,g,O,U,G,de,Se,We,ot,wt){sl(Cs,zr,Md(kn(),l,c,g,O,U,G,de,Se,We,ot,wt),!0)}function Ys(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn){sl(Cs,zr,Ed(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn),!0)}function Fa(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On){sl(Cs,zr,Dd(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On),!0)}function ll(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi){sl(Cs,zr,Ad(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi),!0)}function C1(l){sl(Cs,zr,r2(kn(),l),!0)}function u2(l,c,g){Ks(bd(kn(),l,c,g))}function Pc(l,c,g,O,U){Ks(xd(kn(),l,c,g,O,U))}function Ld(l,c,g,O,U,G,de){Ks(_1(kn(),l,c,g,O,U,G,de))}function nu(l,c,g,O,U,G,de,Se,We){Ks(Cd(kn(),l,c,g,O,U,G,de,Se,We))}function h2(l,c,g,O,U,G,de,Se,We,ot,wt){Ks(Md(kn(),l,c,g,O,U,G,de,Se,We,ot,wt))}function M1(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn){Ks(Ed(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn))}function f2(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On){Ks(Dd(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On))}function P4(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi){Ks(Ad(kn(),l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi))}function dp(l){Ks(r2(kn(),l))}function Qh(l,c,g,O,U){return uo(l,bd(kn(),c,g,O),U,!1),Qh}function kc(l,c,g,O,U,G,de){return uo(l,xd(kn(),c,g,O,U,G),de,!1),kc}function jh(l,c,g,O,U,G,de,Se,We){return uo(l,_1(kn(),c,g,O,U,G,de,Se),We,!1),jh}function qh(l,c,g,O,U,G,de,Se,We,ot,wt){return uo(l,Cd(kn(),c,g,O,U,G,de,Se,We,ot),wt,!1),qh}function Xh(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn){return uo(l,Md(kn(),c,g,O,U,G,de,Se,We,ot,wt,Kt),cn,!1),Xh}function tc(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On){return uo(l,Ed(kn(),c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn),On,!1),tc}function Il(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi){return uo(l,Dd(kn(),c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii),hi,!1),Il}function p2(l,c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi,Mi,Fi){return uo(l,Ad(kn(),c,g,O,U,G,de,Se,We,ot,wt,Kt,cn,bn,On,ii,hi,Mi),Fi,!1),p2}function up(l,c,g){return uo(l,r2(kn(),c),g,!1),up}function Ds(l,c,g){const O=kn();if(Ws(O,to(),c)){Uo(Ui(),st(),O,l,c,O[11],g,!0)}return Ds}function fr(l,c,g){const O=kn();if(Ws(O,to(),c)){const G=Ui(),de=st();Uo(G,de,O,l,c,vf(Go(G.data),de,O),g,!0)}return fr}const E1=void 0;var iu=["en",[["a","p"],["AM","PM"],E1],[["AM","PM"],E1,E1],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],E1,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],E1,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",E1,"{1} 'at' {0}",E1],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function Lr(l){const g=Math.floor(Math.abs(l)),O=l.toString().replace(/^[^.]*\.?/,"").length;return 1===g&&0===O?1:5}];let Io={};function Sd(l){const c=function ru(l){return l.toLowerCase().replace(/_/g,"-")}(l);let g=Rc(c);if(g)return g;const O=c.split("-")[0];if(g=Rc(O),g)return g;if("en"===O)return iu;throw new Z(701,!1)}function au(l){return Sd(l)[Ll.PluralCase]}function Rc(l){return l in Io||(Io[l]=_t.ng&&_t.ng.common&&_t.ng.common.locales&&_t.ng.common.locales[l]),Io[l]}var Ll;!function(l){l[l.LocaleId=0]="LocaleId",l[l.DayPeriodsFormat=1]="DayPeriodsFormat",l[l.DayPeriodsStandalone=2]="DayPeriodsStandalone",l[l.DaysFormat=3]="DaysFormat",l[l.DaysStandalone=4]="DaysStandalone",l[l.MonthsFormat=5]="MonthsFormat",l[l.MonthsStandalone=6]="MonthsStandalone",l[l.Eras=7]="Eras",l[l.FirstDayOfWeek=8]="FirstDayOfWeek",l[l.WeekendRange=9]="WeekendRange",l[l.DateFormat=10]="DateFormat",l[l.TimeFormat=11]="TimeFormat",l[l.DateTimeFormat=12]="DateTimeFormat",l[l.NumberSymbols=13]="NumberSymbols",l[l.NumberFormats=14]="NumberFormats",l[l.CurrencyCode=15]="CurrencyCode",l[l.CurrencySymbol=16]="CurrencySymbol",l[l.CurrencyName=17]="CurrencyName",l[l.Currencies=18]="Currencies",l[l.Directionality=19]="Directionality",l[l.PluralCase=20]="PluralCase",l[l.ExtraData=21]="ExtraData"}(Ll||(Ll={}));const Od=["zero","one","two","few","many"];const pr="en-US",Bc={marker:"element"},Wo={marker:"ICU"};var As;!function(l){l[l.SHIFT=2]="SHIFT",l[l.APPEND_EAGERLY=1]="APPEND_EAGERLY",l[l.COMMENT=2]="COMMENT"}(As||(As={}));let Pd=pr;function kd(l){N(l,"Expected localeId to be defined"),"string"==typeof l&&(Pd=l.toLowerCase().replace(/_/g,"-"))}function m2(l,c,g){const O=c.insertBeforeIndex,U=Array.isArray(O)?O[0]:O;return null===U?Uu(l,0,g):Bi(g[U])}function g2(l,c,g,O,U){const G=c.insertBeforeIndex;if(Array.isArray(G)){let de=O,Se=null;if(3&c.type||(Se=de,de=U),null!==de&&-1===c.componentOffset)for(let We=1;We1)for(let g=l.length-2;g>=0;g--){const O=l[g];Rd(O)||y2(O,c)&&null===Bd(O)&&su(O,c.index)}}function Rd(l){return!(64&l.type)}function y2(l,c){return Rd(c)||l.index>c.index}function Bd(l){const c=l.insertBeforeIndex;return Array.isArray(c)?c[0]:c}function su(l,c){const g=l.insertBeforeIndex;Array.isArray(g)?g[0]=c:(v0(m2,g2),l.insertBeforeIndex=c)}function nc(l,c){const g=l.data[c];return null===g||"string"==typeof g?null:g.hasOwnProperty("currentCaseLViewIndex")?g:g.value}function k4(l,c,g){const O=Lh(l,g,64,null,null);return v2(c,O),O}function D1(l,c){const g=c[l.currentCaseLViewIndex];return null===g?g:g<0?~g:g}function b2(l){return l>>>17}function x2(l){return(131070&l)>>>1}let Fc=0,ic=0;function A1(l,c,g,O){const U=g[11];let de,G=null;for(let Se=0;Se>>1,bn=c[++Se],On=c[++Se];n4(U,la(cn,g),null,null,bn,On,null)}else switch(We){case Wo:const ot=c[++Se],wt=c[++Se];if(null===g[wt]){us(g[wt]=x3(U,ot),g)}break;case Bc:const Kt=c[++Se],cn=c[++Se];if(null===g[cn]){us(g[cn]=Z2(U,Kt,null),g)}}}}function E2(l,c,g,O,U){for(let G=0;G>>2;switch(3&wt){case 1:const cn=g[++ot],bn=g[++ot],On=l.data[Kt];"string"==typeof On?n4(c[11],c[Kt],null,On,cn,We,bn):Uo(l,On,c,cn,We,c[11],bn,!1);break;case 0:const ii=c[Kt];null!==ii&&yc(c[11],ii,We);break;case 2:pp(l,nc(l,Kt),c,We);break;case 3:Hd(l,nc(l,Kt),O,c)}}}}else{const We=g[G+1];if(We>0&&3==(3&We)){const wt=nc(l,We>>>2);c[wt.currentCaseLViewIndex]<0&&Hd(l,wt,O,c)}}G+=Se}}function Hd(l,c,g,O){let U=O[c.currentCaseLViewIndex];if(null!==U){let G=Fc;U<0&&(U=O[c.currentCaseLViewIndex]=~U,G=-1),E2(l,O,c.update[U],g,G)}}function pp(l,c,g,O){const U=function T1(l,c){let g=l.cases.indexOf(c);if(-1===g)switch(l.type){case 1:{const O=function _2(l,c){const g=au(c)(parseInt(l,10)),O=Od[g];return void 0!==O?O:"other"}(c,function Nc(){return Pd}());g=l.cases.indexOf(O),-1===g&&"other"!==O&&(g=l.cases.indexOf("other"));break}case 0:g=l.cases.indexOf("other")}return-1===g?null:g}(c,O);if(D1(c,g)!==U&&(zd(l,c,g),g[c.currentCaseLViewIndex]=null===U?null:~U,null!==U)){const de=g[c.anchorIdx];de&&A1(l,c.create[U],g,de)}}function zd(l,c,g){let O=D1(c,g);if(null!==O){const U=c.remove[O];for(let G=0;G0){const Se=la(de,g);null!==Se&&y0(g[11],Se)}else zd(l,nc(l,~de),g)}}}function Ud(){const l=[];let g,O,c=-1;function G(Se,We){c=0;const ot=D1(Se,We);O=null!==ot?Se.remove[ot]:Tt}function de(){if(c0)return g[Se];{l.push(c,O);const We=~Se;return G(g[1].data[We],g),de()}}return 0===l.length?null:(O=l.pop(),c=l.pop(),de())}return function U(Se,We){for(g=We;l.length;)l.pop();return G(Se.value,We),de}}const Sl=/\ufffd(\d+):?\d*\ufffd/gi,Wd=/({\s*\ufffd\d+:?\d*\ufffd\s*,\s*\S{6}\s*,[\s\S]*})/gi,_p=/\ufffd(\d+)\ufffd/,R4=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,w_=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,mp=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,gp=/\uE500/g;function uu(l,c,g,O,U,G){const de=_o(),Se=[],We=[],ot=[[]];U=function fu(l,c){if(function hu(l){return-1===l}(c))return Yd(l);{const g=l.indexOf(`:${c}\ufffd`)+2+c.toString().length,O=l.search(new RegExp(`\ufffd\\/\\*\\d+:${c}\ufffd`));return Yd(l.substring(g,O))}}(U,G);const wt=function du(l){return l.replace(gp," ")}(U).split(mp);for(let Kt=0;Ktg.length&&g.push(We)}return{type:O,mainBinding:U,cases:c,values:g}}function B4(l){if(!l)return[];let c=0;const g=[],O=[],U=/[{}]/g;let G;for(U.lastIndex=0;G=U.exec(l);){const Se=G.index;if("}"==G[0]){if(g.pop(),0==g.length){const We=l.substring(c,Se);R4.test(We)?O.push(jd(We)):O.push(We),c=Se+1}}else{if(0==g.length){const We=l.substring(c,Se);O.push(We),c=Se+1}g.push("{")}}const de=l.substring(c);return O.push(de),O}function qd(l,c,g,O,U,G,de,Se){const We=[],ot=[],wt=[];c.cases.push(G),c.create.push(We),c.remove.push(ot),c.update.push(wt);const cn=ed(Zu()).getInertBodyElement(de),bn=ih(cn)||cn;return bn?k6(l,c,g,O,We,ot,wt,bn,U,Se,0):0}function k6(l,c,g,O,U,G,de,Se,We,ot,wt){let Kt=0,cn=Se.firstChild;for(;cn;){const bn=Y0(l,g,1,null);switch(cn.nodeType){case Node.ELEMENT_NODE:const On=cn,ii=On.tagName.toLowerCase();if(jl.hasOwnProperty(ii)){R(U,Bc,ii,We,bn),l.data[bn]=ii;const Kn=On.attributes;for(let ji=0;ji>>As.SHIFT;let Kt=l[wt];null===Kt&&(Kt=l[wt]=We?U.createComment(Se):h0(U,Se)),ot&&null!==g&&Yl(U,g,Kt,O,!1)}})(U,We.create,wt,Kt),Vc(!0)}function _n(){Vc(!1)}function jn(l,c,g){Zn(l,c,g),_n()}function ni(l,c){const g=Ui();!function Gd(l,c,g){const U=Ra().index,G=[];if(l.firstCreatePass&&null===l.data[c]){for(let de=0;de0){const O=l.data[g];E2(l,c,Array.isArray(O)?O:O.update,ss()-ic-1,Fc)}Fc=0,ic=0}(Ui(),kn(),l+22)}function gi(l,c={}){return function wn(l,c={}){let g=l;if(Pe.test(l)){const O={},U=[0];g=g.replace(lt,(G,de,Se)=>{const We=de||Se,ot=O[We]||[];if(ot.length||(We.split("|").forEach(ii=>{const hi=ii.match(vn),Mi=hi?parseInt(hi[1],10):0,Fi=St.test(ii);ot.push([Mi,Fi,ii])}),O[We]=ot),!ot.length)throw new Error(`i18n postprocess: unmatched placeholder - ${We}`);const wt=U[U.length-1];let Kt=0;for(let ii=0;iic.hasOwnProperty(G)?`${U}${c[G]}${We}`:O),g=g.replace(Et,(O,U)=>c.hasOwnProperty(U)?c[U]:O),g=g.replace(Zt,(O,U)=>{if(c.hasOwnProperty(U)){const G=c[U];if(!G.length)throw new Error(`i18n postprocess: unmatched ICU - ${O} with key: ${U}`);return G.shift()}return O})),g}(l,c)}function Da(l,c,g,O,U){if(l=P(l),Array.isArray(l))for(let G=0;G>20;if(l1(l)||!l.multi){const bn=new Sn(We,U,wc),On=ma(Se,c,U?wt:wt+cn,Kt);-1===On?(O1(Mo(ot,de),G,Se),ia(G,l,c.length),c.push(Se),ot.directiveStart++,ot.directiveEnd++,U&&(ot.providerIndexes+=1048576),g.push(bn),de.push(bn)):(g[On]=bn,de[On]=bn)}else{const bn=ma(Se,c,wt+cn,Kt),On=ma(Se,c,wt,wt+cn),ii=bn>=0&&g[bn],hi=On>=0&&g[On];if(U&&!hi||!U&&!ii){O1(Mo(ot,de),G,Se);const Mi=function ba(l,c,g,O,U){const G=new Sn(l,g,wc);return G.multi=[],G.index=c,G.componentProviders=0,qa(G,U,O&&!g),G}(U?Ai:yi,g.length,U,O,We);!U&&hi&&(g[On].providerFactory=Mi),ia(G,l,c.length,0),c.push(Se),ot.directiveStart++,ot.directiveEnd++,U&&(ot.providerIndexes+=1048576),g.push(Mi),de.push(Mi)}else{ia(G,l,bn>-1?bn:On,qa(g[U?On:bn],We,!U&&O))}!U&&O&&hi&&g[On].componentProviders++}}}function ia(l,c,g,O){const U=l1(c),G=function H0(l){return!!l.useClass}(c);if(U||G){const We=(G?P(c.useClass):c).prototype.ngOnDestroy;if(We){const ot=l.destroyHooks||(l.destroyHooks=[]);if(!U&&c.multi){const wt=ot.indexOf(g);-1===wt?ot.push(g,[O,We]):ot[wt+1].push(O,We)}else ot.push(g,We)}}}function qa(l,c,g){return g&&l.componentProviders++,l.multi.push(c)-1}function ma(l,c,g,O){for(let U=g;U{g.providersResolver=(O,U)=>function ci(l,c,g){const O=Ui();if(O.firstCreatePass){const U=Ki(l);Da(g,O.data,O.blueprint,U,!0),Da(c,O.data,O.blueprint,U,!1)}}(O,U?U(l):l,c)}}class ua{}class Pa{}function _s(l,c){return new _r(l,c??null)}class _r extends ua{constructor(c,g){super(),this._parent=g,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new xf(this);const O=Wn(c);this._bootstrapComponents=nl(O.bootstrap),this._r3Injector=on(c,g,[{provide:ua,useValue:this},{provide:d1,useValue:this.componentFactoryResolver}],k(c),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(c)}get injector(){return this._r3Injector}destroy(){const c=this._r3Injector;!c.destroyed&&c.destroy(),this.destroyCbs.forEach(g=>g()),this.destroyCbs=null}onDestroy(c){this.destroyCbs.push(c)}}class tr extends Pa{constructor(c){super(),this.moduleType=c}create(c){return new _r(this.moduleType,c)}}class dr extends ua{constructor(c,g,O){super(),this.componentFactoryResolver=new xf(this),this.instance=null;const U=new Xl([...c,{provide:ua,useValue:this},{provide:d1,useValue:this.componentFactoryResolver}],g||ql(),O,new Set(["environment"]));this.injector=U,U.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(c){this.injector.onDestroy(c)}}function Ol(l,c,g=null){return new dr(l,c,g).injector}class Ts{constructor(c){this._injector=c,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(c){if(!c.standalone)return null;if(!this.cachedInjectors.has(c.id)){const g=sh(0,c.type),O=g.length>0?Ol([g],this._injector,`Standalone[${c.type.name}]`):null;this.cachedInjectors.set(c.id,O)}return this.cachedInjectors.get(c.id)}ngOnDestroy(){try{for(const c of this.cachedInjectors.values())null!==c&&c.destroy()}finally{this.cachedInjectors.clear()}}}function Pl(l){l.getStandaloneInjector=c=>c.get(Ts).getOrCreateStandaloneInjector(l)}function I_(l,c,g,O){return ze(()=>{const U=l;null!==c&&(U.hasOwnProperty("decorators")&&void 0!==U.decorators?U.decorators.push(...c):U.decorators=c),null!==g&&(U.ctorParameters=g),null!==O&&(U.hasOwnProperty("propDecorators")&&void 0!==U.propDecorators?U.propDecorators={...U.propDecorators,...O}:U.propDecorators=O)})}function L_(l,c,g){const O=Wa()+l,U=kn();return U[O]===Vi?Tl(U,O,g?c.call(g):c()):$0(U,O)}function S_(l,c,g,O){return R_(kn(),Wa(),l,c,g,O)}function vp(l,c,g,O,U){return R6(kn(),Wa(),l,c,g,O,U)}function O_(l,c,g,O,U,G){return B_(kn(),Wa(),l,c,g,O,U,G)}function tg(l,c,g,O,U,G,de){return N_(kn(),Wa(),l,c,g,O,U,G,de)}function ng(l,c,g,O,U,G,de,Se){const We=Wa()+l,ot=kn(),wt=rl(ot,We,g,O,U,G);return Ws(ot,We+4,de)||wt?Tl(ot,We+5,Se?c.call(Se,g,O,U,G,de):c(g,O,U,G,de)):$0(ot,We+5)}function P_(l,c,g,O,U,G,de,Se,We){const ot=Wa()+l,wt=kn(),Kt=rl(wt,ot,g,O,U,G);return p1(wt,ot+4,de,Se)||Kt?Tl(wt,ot+6,We?c.call(We,g,O,U,G,de,Se):c(g,O,U,G,de,Se)):$0(wt,ot+6)}function k_(l,c,g,O,U,G,de,Se,We,ot){const wt=Wa()+l,Kt=kn();let cn=rl(Kt,wt,g,O,U,G);return Hh(Kt,wt+4,de,Se,We)||cn?Tl(Kt,wt+7,ot?c.call(ot,g,O,U,G,de,Se,We):c(g,O,U,G,de,Se,We)):$0(Kt,wt+7)}function ig(l,c,g,O,U,G,de,Se,We,ot,wt){const Kt=Wa()+l,cn=kn(),bn=rl(cn,Kt,g,O,U,G);return rl(cn,Kt+4,de,Se,We,ot)||bn?Tl(cn,Kt+8,wt?c.call(wt,g,O,U,G,de,Se,We,ot):c(g,O,U,G,de,Se,We,ot)):$0(cn,Kt+8)}function ag(l,c,g,O){return F_(kn(),Wa(),l,c,g,O)}function N4(l,c){const g=l[c];return g===Vi?void 0:g}function R_(l,c,g,O,U,G){const de=c+g;return Ws(l,de,U)?Tl(l,de+1,G?O.call(G,U):O(U)):N4(l,de+1)}function R6(l,c,g,O,U,G,de){const Se=c+g;return p1(l,Se,U,G)?Tl(l,Se+2,de?O.call(de,U,G):O(U,G)):N4(l,Se+2)}function B_(l,c,g,O,U,G,de,Se){const We=c+g;return Hh(l,We,U,G,de)?Tl(l,We+3,Se?O.call(Se,U,G,de):O(U,G,de)):N4(l,We+3)}function N_(l,c,g,O,U,G,de,Se,We){const ot=c+g;return rl(l,ot,U,G,de,Se)?Tl(l,ot+4,We?O.call(We,U,G,de,Se):O(U,G,de,Se)):N4(l,ot+4)}function F_(l,c,g,O,U,G){let de=c+g,Se=!1;for(let We=0;We=0;g--){const O=c[g];if(l===O.name)return O}}(c,g.pipeRegistry),g.data[U]=O,O.onDestroy&&(g.destroyHooks||(g.destroyHooks=[])).push(U,O.onDestroy)):O=g.data[U];const G=O.factory||(O.factory=Oa(O.type)),de=Oe(wc);try{const Se=lc(!1),We=G();return lc(Se),function v6(l,c,g,O){g>=l.data.length&&(l.data[g]=null,l.blueprint[g]=null),c[g]=O}(g,kn(),U,We),We}finally{Oe(de)}}function z_(l,c,g){const O=l+22,U=kn(),G=Zr(U,O);return F4(U,O)?R_(U,Wa(),c,G.transform,g,G):G.transform(g)}function B6(l,c,g,O){const U=l+22,G=kn(),de=Zr(G,U);return F4(G,U)?R6(G,Wa(),c,de.transform,g,O,de):de.transform(g,O)}function U_(l,c,g,O,U){const G=l+22,de=kn(),Se=Zr(de,G);return F4(de,G)?B_(de,Wa(),c,Se.transform,g,O,U,Se):Se.transform(g,O,U)}function sg(l,c,g,O,U,G){const de=l+22,Se=kn(),We=Zr(Se,de);return F4(Se,de)?N_(Se,Wa(),c,We.transform,g,O,U,G,We):We.transform(g,O,U,G)}function V_(l,c,g){const O=l+22,U=kn(),G=Zr(U,O);return F4(U,O)?F_(U,Wa(),c,G.transform,g,G):G.transform.apply(G,g)}function F4(l,c){return l[1].data[c].pure}Ts.\u0275prov=Ke({token:Ts,providedIn:"environment",factory:()=>new Ts(vt(tl))});class W_ extends e.x{constructor(c=!1){super(),this.__isAsync=c}emit(c){super.next(c)}subscribe(c,g,O){let U=c,G=g||(()=>null),de=O;if(c&&"object"==typeof c){const We=c;U=We.next?.bind(We),G=We.error?.bind(We),de=We.complete?.bind(We)}this.__isAsync&&(G=yp(G),U&&(U=yp(U)),de&&(de=yp(de)));const Se=super.subscribe({next:U,error:G,complete:de});return c instanceof t.w0&&c.add(Se),Se}}function yp(l){return c=>{setTimeout(l,void 0,c)}}const w1=W_;function K_(){return this._results[a2()]()}class bp{constructor(c=!1){this._emitDistinctChangesOnly=c,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const g=a2(),O=bp.prototype;O[g]||(O[g]=K_)}get changes(){return this._changes||(this._changes=new w1)}get(c){return this._results[c]}map(c){return this._results.map(c)}filter(c){return this._results.filter(c)}find(c){return this._results.find(c)}reduce(c,g){return this._results.reduce(c,g)}forEach(c){this._results.forEach(c)}some(c){return this._results.some(c)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(c,g){const O=this;O.dirty=!1;const U=zi(c);(this._changesDetected=!function Ea(l,c,g){if(l.length!==c.length)return!1;for(let O=0;O0;)this.remove(this.length-1)}get(c){const g=Y_(this._lContainer);return null!==g&&g[c]||null}get length(){return this._lContainer.length-10}createEmbeddedView(c,g,O){let U,G;"number"==typeof O?U=O:null!=O&&(U=O.index,G=O.injector);const de=c.createEmbeddedView(g||{},G);return this.insert(de,U),de}createComponent(c,g,O,U,G){const de=c&&!di(c);let Se;if(de)Se=g;else{const Kt=g||{};Se=Kt.index,O=Kt.injector,U=Kt.projectableNodes,G=Kt.environmentInjector||Kt.ngModuleRef}const We=de?c:new q0(pt(c)),ot=O||this.parentInjector;if(!G&&null==We.ngModule){const cn=(de?ot:this.parentInjector).get(tl,null);cn&&(G=cn)}const wt=We.create(ot,U,void 0,G);return this.insert(wt.hostView,Se),wt}insert(c,g){const O=c._lView,U=O[1];if(function Ps(l){return La(l[3])}(O)){const wt=this.indexOf(c);if(-1!==wt)this.detach(wt);else{const Kt=O[3],cn=new Z_(Kt,Kt[6],Kt[3]);cn.detach(cn.indexOf(c))}}const G=this._adjustIndex(g),de=this._lContainer;E3(U,O,de,G);const Se=q2(G,de),We=O[11],ot=Q2(We,de[7]);return null!==ot&&function ku(l,c,g,O,U,G){O[0]=U,O[6]=c,i1(l,O,g,1,U,G)}(U,de[6],We,O,ot,Se),c.attachToViewContainerRef(),so(N6(de),G,c),c}move(c,g){return this.insert(c,g)}indexOf(c){const g=Y_(this._lContainer);return null!==g?g.indexOf(c):-1}remove(c){const g=this._adjustIndex(c,-1),O=Y2(this._lContainer,g);O&&(ds(N6(this._lContainer),g),Ru(O[1],O))}detach(c){const g=this._adjustIndex(c,-1),O=Y2(this._lContainer,g);return O&&null!=ds(N6(this._lContainer),g)?new j0(O):null}_adjustIndex(c,g=0){return c??this.length+g}};function Y_(l){return l[8]}function N6(l){return l[8]||(l[8]=[])}function Q_(l,c){let g;const O=c[l.index];if(La(O))g=O;else{let U;if(8&l.type)U=Bi(O);else{const G=c[11];U=G.createComment("");const de=Li(l,c);Yl(G,Q2(G,de),U,function A3(l,c){return l.nextSibling(c)}(G,de),!1)}c[l.index]=g=i4(O,c,U,l),kh(c,g)}return new Z_(g,l,c)}class F6{constructor(c){this.queryList=c,this.matches=null}clone(){return new F6(this.queryList)}setDirty(){this.queryList.setDirty()}}class H6{constructor(c=[]){this.queries=c}createEmbeddedView(c){const g=c.queries;if(null!==g){const O=null!==c.contentQueries?c.contentQueries[0]:g.length,U=[];for(let G=0;G0)O.push(de[Se/2]);else{const ot=G[Se+1],wt=c[-We];for(let Kt=10;Kt(null===U&&(U=Dn().compileNgModule(So,`ng:///${l.name}/\u0275mod.js`,{type:l,bootstrap:zi(c.bootstrap||Tt).map(P),declarations:O.map(P),imports:zi(c.imports||Tt).map(P).map(Q6),exports:zi(c.exports||Tt).map(P).map(Q6),schemas:c.schemas?zi(c.schemas):null,id:c.id||null}),U.schemas||(U.schemas=[])),U)});let G=null;Object.defineProperty(l,Rt,{get:()=>{if(null===G){const Se=Dn();G=Se.compileFactory(So,`ng:///${l.name}/\u0275fac.js`,{name:l.name,type:l,deps:hc(l),target:Se.FactoryTarget.NgModule,typeArgumentCount:0})}return G},configurable:!1});let de=null;Object.defineProperty(l,Ae,{get:()=>{if(null===de){const Se={name:l.name,type:l,providers:c.providers||Tt,imports:[(c.imports||Tt).map(P),(c.exports||Tt).map(P)]};de=Dn().compileInjector(So,`ng:///${l.name}/\u0275inj.js`,Se)}return de},configurable:!1})})(l,c),void 0!==c.id&&Wl(l,c.id),function yg(l,c){r3.push({moduleType:l,ngModule:c})}(l,c)}function Mg(l,c){const g=zi(c.declarations||Tt),O=s3(l);g.forEach(U=>{if((U=P(U)).hasOwnProperty(Ht)){Y6(pt(U),O)}else!U.hasOwnProperty(He)&&!U.hasOwnProperty($e)&&(U.ngSelectorScope=l)})}function Y6(l,c){l.directiveDefs=()=>Array.from(c.compilation.directives).map(g=>g.hasOwnProperty(Ht)?pt(g):Lt(g)).filter(g=>!!g),l.pipeDefs=()=>Array.from(c.compilation.pipes).map(g=>nn(g)),l.schemas=c.schemas,l.tView=null}function s3(l){if(rm(l))return function Eg(l){const c=Wn(l,!0);if(null!==c.transitiveCompileScopes)return c.transitiveCompileScopes;const g={schemas:c.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return nl(c.imports).forEach(O=>{const U=s3(O);U.exported.directives.forEach(G=>g.compilation.directives.add(G)),U.exported.pipes.forEach(G=>g.compilation.pipes.add(G))}),nl(c.declarations).forEach(O=>{nn(O)?g.compilation.pipes.add(O):g.compilation.directives.add(O)}),nl(c.exports).forEach(O=>{const U=O;if(rm(U)){const G=s3(U);G.exported.directives.forEach(de=>{g.compilation.directives.add(de),g.exported.directives.add(de)}),G.exported.pipes.forEach(de=>{g.compilation.pipes.add(de),g.exported.pipes.add(de)})}else nn(U)?g.exported.pipes.add(U):g.exported.directives.add(U)}),c.transitiveCompileScopes=g,g}(l);if(Bn(l)){if(null!==(pt(l)||Lt(l)))return{schemas:null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set([l]),pipes:new Set}};if(null!==nn(l))return{schemas:null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set([l])}}}throw new Error(`${l.name} does not have a module def (\u0275mod property)`)}function Q6(l){return am(l)?l.ngModule:l}let j6=0;function Dg(l,c){let g=null;(function G4(l,c){h3(c)&&(xl.set(l,c),F1.add(l))})(l,c),um(l,c),Object.defineProperty(l,Ht,{get:()=>{if(null===g){const O=Dn();if(h3(c)){const ot=[`Component '${l.name}' is not resolved:`];throw c.templateUrl&&ot.push(` - templateUrl: ${c.templateUrl}`),c.styleUrls&&c.styleUrls.length&&ot.push(` - styleUrls: ${JSON.stringify(c.styleUrls)}`),ot.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(ot.join("\n"))}const U=function gg(){return a3}();let G=c.preserveWhitespaces;void 0===G&&(G=null!==U&&void 0!==U.preserveWhitespaces&&U.preserveWhitespaces);let de=c.encapsulation;void 0===de&&(de=null!==U&&void 0!==U.defaultEncapsulation?U.defaultEncapsulation:zt.Emulated);const Se=c.templateUrl||`ng:///${l.name}/template.html`,We={...q6(l,c),typeSourceSpan:O.createParseSourceSpan("Component",l.name,Se),template:c.template||"",preserveWhitespaces:G,styles:c.styles||Tt,animations:c.animations,declarations:[],changeDetection:c.changeDetection,encapsulation:de,interpolation:c.interpolation,viewProviders:c.viewProviders||null,isStandalone:!!c.standalone};j6++;try{if(We.usesInheritance&&X6(l),g=O.compileComponent(So,Se,We),c.standalone){const ot=zi(c.imports||Tt),{directiveDefs:wt,pipeDefs:Kt}=function Tg(l,c){let g=null,O=null;return{directiveDefs:()=>{if(null===g){g=[pt(l)];const de=new Set;for(const Se of c){const We=P(Se);if(!de.has(We))if(de.add(We),Wn(We)){const ot=s3(We);for(const wt of ot.exported.directives){const Kt=pt(wt)||Lt(wt);Kt&&!de.has(wt)&&(de.add(wt),g.push(Kt))}}else{const ot=pt(We)||Lt(We);ot&&g.push(ot)}}}return g},pipeDefs:()=>{if(null===O){O=[];const de=new Set;for(const Se of c){const We=P(Se);if(!de.has(We))if(de.add(We),Wn(We)){const ot=s3(We);for(const wt of ot.exported.pipes){const Kt=nn(wt);Kt&&!de.has(wt)&&(de.add(wt),O.push(Kt))}}else{const ot=nn(We);ot&&O.push(ot)}}}return O}}}(l,ot);g.directiveDefs=wt,g.pipeDefs=Kt,g.dependencies=()=>ot.map(P)}}finally{j6--}if(0===j6&&function bg(){if(!xp){xp=!0;try{for(let l=r3.length-1;l>=0;l--){const{moduleType:c,ngModule:g}=r3[l];g.declarations&&g.declarations.every(sm)&&(r3.splice(l,1),Mg(c,g))}}finally{xp=!1}}}(),function Dp(l){return void 0!==l.ngSelectorScope}(l)){const ot=s3(l.ngSelectorScope);Y6(g,ot)}if(c.schemas){if(!c.standalone)throw new Error(`The 'schemas' was specified for the ${ae(l)} but is only valid on a component that is standalone.`);g.schemas=c.schemas}else c.standalone&&(g.schemas=[])}return g},configurable:!1})}function cm(l,c){let g=null;um(l,c||{}),Object.defineProperty(l,He,{get:()=>{if(null===g){const O=dm(l,c||{});g=Dn().compileDirective(So,O.sourceMapUrl,O.metadata)}return g},configurable:!1})}function dm(l,c){const g=l&&l.name,O=`ng:///${g}/\u0275dir.js`,U=Dn(),G=q6(l,c);return G.typeSourceSpan=U.createParseSourceSpan("Directive",g,O),G.usesInheritance&&X6(l),{metadata:G,sourceMapUrl:O}}function um(l,c){let g=null;Object.defineProperty(l,Rt,{get:()=>{if(null===g){const O=dm(l,c),U=Dn();g=U.compileFactory(So,`ng:///${l.name}/\u0275fac.js`,{name:O.metadata.name,type:O.metadata.type,typeArgumentCount:0,deps:hc(l),target:U.FactoryTarget.Directive})}return g},configurable:!1})}function hm(l){return Object.getPrototypeOf(l.prototype)===Object.prototype}function q6(l,c){const g=Ul(),O=g.ownPropMetadata(l);return{name:l.name,type:l,selector:void 0!==c.selector?c.selector:null,host:c.host||At,propMetadata:O,inputs:c.inputs||Tt,outputs:c.outputs||Tt,queries:fm(l,O,pm),lifecycle:{usesOnChanges:g.hasLifecycleHook(l,"ngOnChanges")},typeSourceSpan:null,usesInheritance:!hm(l),exportAs:Lg(c.exportAs),providers:c.providers||null,viewQueries:fm(l,O,J6),isStandalone:!!c.standalone,hostDirectives:c.hostDirectives?.map(U=>"function"==typeof U?{directive:U}:U)||null}}function X6(l){const c=Object.prototype;let g=Object.getPrototypeOf(l.prototype).constructor;for(;g&&g!==c;)!Lt(g)&&!pt(g)&&Og(g)&&cm(g,null),g=Object.getPrototypeOf(g)}function wg(l){return"string"==typeof l?mm(l):P(l)}function Ig(l,c){return{propertyName:l,predicate:wg(c.selector),descendants:c.descendants,first:c.first,read:c.read?c.read:null,static:!!c.static,emitDistinctChangesOnly:!!c.emitDistinctChangesOnly}}function fm(l,c,g){const O=[];for(const U in c)if(c.hasOwnProperty(U)){const G=c[U];G.forEach(de=>{if(g(de)){if(!de.selector)throw new Error(`Can't construct a query for the property "${U}" of "${ae(l)}" since the query selector wasn't defined.`);if(G.some(_m))throw new Error("Cannot combine @Input decorators with query decorators");O.push(Ig(U,de))}})}return O}function Lg(l){return void 0===l?null:mm(l)}function pm(l){const c=l.ngMetadataName;return"ContentChild"===c||"ContentChildren"===c}function J6(l){const c=l.ngMetadataName;return"ViewChild"===c||"ViewChildren"===c}function _m(l){return"Input"===l.ngMetadataName}function mm(l){return l.split(",").map(c=>c.trim())}const Sg=["ngOnChanges","ngOnInit","ngOnDestroy","ngDoCheck","ngAfterViewInit","ngAfterViewChecked","ngAfterContentInit","ngAfterContentChecked"];function Og(l){const c=Ul();if(Sg.some(O=>c.hasLifecycleHook(l,O)))return!0;const g=c.propMetadata(l);for(const O in g){const U=g[O];for(let G=0;Gl,void 0,void 0,(l,c)=>cm(l,c)),kg=cs("Component",(l={})=>({changeDetection:Me.Default,...l}),gm,void 0,(l,c)=>Dg(l,c)),vm=cs("Pipe",l=>({pure:!0,...l}),void 0,void 0,(l,c)=>function Pg(l,c){let g=null,O=null;Object.defineProperty(l,Rt,{get:()=>{if(null===O){const U=$6(l,c),G=Dn(U.type);O=G.compileFactory(So,`ng:///${U.name}/\u0275fac.js`,{name:U.name,type:U.type,typeArgumentCount:0,deps:hc(l),target:G.FactoryTarget.Pipe})}return O},configurable:!1}),Object.defineProperty(l,$e,{get:()=>{if(null===g){const U=$6(l,c);g=Dn(U.type).compilePipe(So,`ng:///${U.name}/\u0275pipe.js`,U)}return g},configurable:!1})}(l,c)),Rg=qo("Input",l=>({bindingPropertyName:l})),ym=qo("Output",l=>({bindingPropertyName:l})),Bg=qo("HostBinding",l=>({hostPropertyName:l})),bm=qo("HostListener",(l,c)=>({eventName:l,args:c})),Ng=cs("NgModule",l=>l,void 0,void 0,(l,c)=>Z6(l,c));function Ap(...l){}const xm=new va("Application Initializer");class w2{constructor(c){this.appInits=c,this.resolve=Ap,this.reject=Ap,this.initialized=!1,this.done=!1,this.donePromise=new Promise((g,O)=>{this.resolve=g,this.reject=O})}runInitializers(){if(this.initialized)return;const c=[],g=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let O=0;O{U.subscribe({complete:de,error:Se})});c.push(G)}}Promise.all(c).then(()=>{g()}).catch(O=>{this.reject(O)}),0===c.length&&g(),this.initialized=!0}}w2.\u0275fac=function(c){return new(c||w2)(vt(xm,8))},w2.\u0275prov=Ke({token:w2,factory:w2.\u0275fac,providedIn:"root"});const Cm=new va("AppId",{providedIn:"root",factory:Mm});function Mm(){return`${Tp()}${Tp()}${Tp()}`}function Tp(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Em=new va("Platform Initializer"),wp=new va("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Dm=new va("appBootstrapListener"),Fg=(new va("Application Packages Root URL"),new va("AnimationModuleType"));class _u{log(c){console.log(c)}warn(c){console.warn(c)}}_u.\u0275fac=function(c){return new(c||_u)},_u.\u0275prov=Ke({token:_u,factory:_u.\u0275fac,providedIn:"platform"});const Ip=new va("LocaleId",{providedIn:"root",factory:()=>se(Ip,ee.Optional|ee.SkipSelf)||function Hg(){return typeof $localize<"u"&&$localize.locale||pr}()}),zg=new va("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"});new va("Translations"),new va("TranslationsFormat");var Am;!function(l){l[l.Error=0]="Error",l[l.Warning=1]="Warning",l[l.Ignore=2]="Ignore"}(Am||(Am={}));class Vg{constructor(c,g){this.ngModuleFactory=c,this.componentFactories=g}}class o3{compileModuleSync(c){return new tr(c)}compileModuleAsync(c){return Promise.resolve(this.compileModuleSync(c))}compileModuleAndAllComponentsSync(c){const g=this.compileModuleSync(c),U=nl(Wn(c).declarations).reduce((G,de)=>{const Se=pt(de);return Se&&G.push(new q0(Se)),G},[]);return new Vg(g,U)}compileModuleAndAllComponentsAsync(c){return Promise.resolve(this.compileModuleAndAllComponentsSync(c))}clearCache(){}clearCacheFor(c){}getModuleId(c){}}o3.\u0275fac=function(c){return new(c||o3)},o3.\u0275prov=Ke({token:o3,factory:o3.\u0275fac,providedIn:"root"});new va("compilerOptions");const Kg=Promise.resolve(0);function t_(l){typeof Zone>"u"?Kg.then(()=>{l&&l.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",l)}class sc{constructor({enableLongStackTrace:c=!1,shouldCoalesceEventChangeDetection:g=!1,shouldCoalesceRunChangeDetection:O=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new w1(!1),this.onMicrotaskEmpty=new w1(!1),this.onStable=new w1(!1),this.onError=new w1(!1),typeof Zone>"u")throw new Z(908,!1);Zone.assertZonePatched();const U=this;U._nesting=0,U._outer=U._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(U._inner=U._inner.fork(new Zone.TaskTrackingZoneSpec)),c&&Zone.longStackTraceZoneSpec&&(U._inner=U._inner.fork(Zone.longStackTraceZoneSpec)),U.shouldCoalesceEventChangeDetection=!O&&g,U.shouldCoalesceRunChangeDetection=O,U.lastRequestAnimationFrameId=-1,U.nativeRequestAnimationFrame=function Gg(){let l=_t.requestAnimationFrame,c=_t.cancelAnimationFrame;if(typeof Zone<"u"&&l&&c){const g=l[Zone.__symbol__("OriginalDelegate")];g&&(l=g);const O=c[Zone.__symbol__("OriginalDelegate")];O&&(c=O)}return{nativeRequestAnimationFrame:l,nativeCancelAnimationFrame:c}}().nativeRequestAnimationFrame,function Qg(l){const c=()=>{!function Im(l){l.isCheckStableRunning||-1!==l.lastRequestAnimationFrameId||(l.lastRequestAnimationFrameId=l.nativeRequestAnimationFrame.call(_t,()=>{l.fakeTopEventTask||(l.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{l.lastRequestAnimationFrameId=-1,i_(l),l.isCheckStableRunning=!0,n_(l),l.isCheckStableRunning=!1},void 0,()=>{},()=>{})),l.fakeTopEventTask.invoke()}),i_(l))}(l)};l._inner=l._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(g,O,U,G,de,Se)=>{try{return Lm(l),g.invokeTask(U,G,de,Se)}finally{(l.shouldCoalesceEventChangeDetection&&"eventTask"===G.type||l.shouldCoalesceRunChangeDetection)&&c(),a_(l)}},onInvoke:(g,O,U,G,de,Se,We)=>{try{return Lm(l),g.invoke(U,G,de,Se,We)}finally{l.shouldCoalesceRunChangeDetection&&c(),a_(l)}},onHasTask:(g,O,U,G)=>{g.hasTask(U,G),O===U&&("microTask"==G.change?(l._hasPendingMicrotasks=G.microTask,i_(l),n_(l)):"macroTask"==G.change&&(l.hasPendingMacrotasks=G.macroTask))},onHandleError:(g,O,U,G)=>(g.handleError(U,G),l.runOutsideAngular(()=>l.onError.emit(G)),!1)})}(U)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!sc.isInAngularZone())throw new Z(909,!1)}static assertNotInAngularZone(){if(sc.isInAngularZone())throw new Z(909,!1)}run(c,g,O){return this._inner.run(c,g,O)}runTask(c,g,O,U){const G=this._inner,de=G.scheduleEventTask("NgZoneEvent: "+U,c,Yg,Ap,Ap);try{return G.runTask(de,g,O)}finally{G.cancelTask(de)}}runGuarded(c,g,O){return this._inner.runGuarded(c,g,O)}runOutsideAngular(c){return this._outer.run(c)}}const Yg={};function n_(l){if(0==l._nesting&&!l.hasPendingMicrotasks&&!l.isStable)try{l._nesting++,l.onMicrotaskEmpty.emit(null)}finally{if(l._nesting--,!l.hasPendingMicrotasks)try{l.runOutsideAngular(()=>l.onStable.emit(null))}finally{l.isStable=!0}}}function i_(l){l._hasPendingMicrotasks||(l.shouldCoalesceEventChangeDetection||l.shouldCoalesceRunChangeDetection)&&-1!==l.lastRequestAnimationFrameId?l.hasPendingMicrotasks=!0:l.hasPendingMicrotasks=!1}function Lm(l){l._nesting++,l.isStable&&(l.isStable=!1,l.onUnstable.emit(null))}function a_(l){l._nesting--,n_(l)}class jg{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new w1,this.onMicrotaskEmpty=new w1,this.onStable=new w1,this.onError=new w1}run(c,g,O){return c.apply(g,O)}runGuarded(c,g,O){return c.apply(g,O)}runOutsideAngular(c){return c()}runTask(c,g,O,U){return c.apply(g,O)}}const Sm=new va(""),Om=new va("");class l3{constructor(c,g,O){this._ngZone=c,this.registry=g,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,r_||(function Pm(l){r_=l}(O),O.addToWindow(g)),this._watchAngularEvents(),c.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{sc.assertNotInAngularZone(),t_(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())t_(()=>{for(;0!==this._callbacks.length;){let c=this._callbacks.pop();clearTimeout(c.timeoutId),c.doneCb(this._didWork)}this._didWork=!1});else{let c=this.getPendingTasks();this._callbacks=this._callbacks.filter(g=>!g.updateCb||!g.updateCb(c)||(clearTimeout(g.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(c=>({source:c.source,creationLocation:c.creationLocation,data:c.data})):[]}addCallback(c,g,O){let U=-1;g&&g>0&&(U=setTimeout(()=>{this._callbacks=this._callbacks.filter(G=>G.timeoutId!==U),c(this._didWork,this.getPendingTasks())},g)),this._callbacks.push({doneCb:c,timeoutId:U,updateCb:O})}whenStable(c,g,O){if(O&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(c,g,O),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(c){this.registry.registerApplication(c,this)}unregisterApplication(c){this.registry.unregisterApplication(c)}findProviders(c,g,O){return[]}}l3.\u0275fac=function(c){return new(c||l3)(vt(sc),vt(mu),vt(Om))},l3.\u0275prov=Ke({token:l3,factory:l3.\u0275fac});class mu{constructor(){this._applications=new Map}registerApplication(c,g){this._applications.set(c,g)}unregisterApplication(c){this._applications.delete(c)}unregisterAllApplications(){this._applications.clear()}getTestability(c){return this._applications.get(c)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(c,g=!0){return r_?.findTestabilityInTree(this,c,g)??null}}let r_;mu.\u0275fac=function(c){return new(c||mu)},mu.\u0275prov=Ke({token:mu,factory:mu.\u0275fac,providedIn:"platform"});let Xd=null;const km=new va("AllowMultipleToken"),s_=new va("PlatformDestroyListeners"),I2=!1;class $g{constructor(c,g){this.name=c,this.token=g}}function Rm(l){const c=l.get(Em,null);c&&c.forEach(g=>g())}function o_(l,c,g=[]){const O=`Platform: ${c}`,U=new va(O);return(G=[])=>{let de=U4();if(!de||de.injector.get(km,!1)){const Se=[...g,...G,{provide:U,useValue:!0}];l?l(Se):function e8(l){if(Xd&&!Xd.get(km,!1))throw new Z(400,!1);Xd=l;const c=l.get(gu);return Rm(l),c}(l_(Se,O))}return function i8(l){const c=U4();if(!c)throw new Z(401,!1);return c}()}}function l_(l=[],c){return xn.create({name:c,providers:[{provide:da,useValue:"platform"},{provide:s_,useValue:new Set([()=>Xd=null])},...l]})}function U4(){return Xd?.get(gu)??null}class gu{constructor(c){this._injector=c,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(c,g){const O=Nm(g?.ngZone,Bm(g)),U=[{provide:sc,useValue:O}];return O.run(()=>{const G=xn.create({providers:U,parent:this.injector,name:c.moduleType.name}),de=c.create(G),Se=de.injector.get(El,null);if(!Se)throw new Z(402,!1);return O.runOutsideAngular(()=>{const We=O.onError.subscribe({next:ot=>{Se.handleError(ot)}});de.onDestroy(()=>{Sp(this._modules,de),We.unsubscribe()})}),Fm(Se,O,()=>{const We=de.injector.get(w2);return We.runInitializers(),We.donePromise.then(()=>(kd(de.injector.get(Ip,pr)||pr),this._moduleDoBootstrap(de),de))})})}bootstrapModule(c,g=[]){const O=Lp({},g);return function qg(l,c,g){const O=new tr(g);return Promise.resolve(O)}(this.injector,0,c).then(U=>this.bootstrapModuleFactory(U,O))}_moduleDoBootstrap(c){const g=c.injector.get(L2);if(c._bootstrapComponents.length>0)c._bootstrapComponents.forEach(O=>g.bootstrap(O));else{if(!c.instance.ngDoBootstrap)throw new Z(403,!1);c.instance.ngDoBootstrap(g)}this._modules.push(c)}onDestroy(c){this._destroyListeners.push(c)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Z(404,!1);this._modules.slice().forEach(g=>g.destroy()),this._destroyListeners.forEach(g=>g());const c=this._injector.get(s_,null);c&&(c.forEach(g=>g()),c.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Bm(l){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!l||!l.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!l||!l.ngZoneRunCoalescing)||!1}}function Nm(l,c){let g;return g="noop"===l?new jg:("zone.js"===l?void 0:l)||new sc(c),g}function Fm(l,c,g){try{const O=g();return Wh(O)?O.catch(U=>{throw c.runOutsideAngular(()=>l.handleError(U)),U}):O}catch(O){throw c.runOutsideAngular(()=>l.handleError(O)),O}}function Lp(l,c){return l=Array.isArray(c)?c.reduce(Lp,l):{...l,...c}}gu.\u0275fac=function(c){return new(c||gu)(vt(xn))},gu.\u0275prov=Ke({token:gu,factory:gu.\u0275fac,providedIn:"platform"});class L2{constructor(c,g,O){this._zone=c,this._injector=g,this._exceptionHandler=O,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const U=new _.y(de=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{de.next(this._stable),de.complete()})}),G=new _.y(de=>{let Se;this._zone.runOutsideAngular(()=>{Se=this._zone.onStable.subscribe(()=>{sc.assertNotInAngularZone(),t_(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,de.next(!0))})})});const We=this._zone.onUnstable.subscribe(()=>{sc.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{de.next(!1)}))});return()=>{Se.unsubscribe(),We.unsubscribe()}});this.isStable=(0,E.T)(U,G.pipe((0,s.B)()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(c,g){const O=c instanceof X1;if(!this._injector.get(w2).done){!O&&Bn(c);throw new Z(405,I2)}let G;G=O?c:this._injector.get(d1).resolveComponentFactory(c),this.componentTypes.push(G.componentType);const de=function Jg(l){return l.isBoundToModule}(G)?void 0:this._injector.get(ua),Se=g||G.selector,We=G.create(xn.NULL,[],Se,de),ot=We.location.nativeElement,wt=We.injector.get(Sm,null);return wt?.registerApplication(ot),We.onDestroy(()=>{this.detachView(We.hostView),Sp(this.components,We),wt?.unregisterApplication(ot)}),this._loadComponent(We),We}tick(){if(this._runningTick)throw new Z(101,!1);try{this._runningTick=!0;for(let c of this._views)c.detectChanges()}catch(c){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(c))}finally{this._runningTick=!1}}attachView(c){const g=c;this._views.push(g),g.attachToAppRef(this)}detachView(c){const g=c;Sp(this._views,g),g.detachFromAppRef()}_loadComponent(c){this.attachView(c.hostView),this.tick(),this.components.push(c),this._injector.get(Dm,[]).concat(this._bootstrapListeners).forEach(O=>O(c))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(c=>c()),this._views.slice().forEach(c=>c.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(c){return this._destroyListeners.push(c),()=>Sp(this._destroyListeners,c)}destroy(){if(this._destroyed)throw new Z(406,!1);const c=this._injector;c.destroy&&!c.destroyed&&c.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}function Sp(l,c){const g=l.indexOf(c);g>-1&&l.splice(g,1)}function r8(){return!1}function Hm(){}L2.\u0275fac=function(c){return new(c||L2)(vt(sc),vt(tl),vt(El))},L2.\u0275prov=Ke({token:L2,factory:L2.\u0275fac,providedIn:"root"});class d_{}d_.__NG_ELEMENT_ID__=function o8(l){return function l8(l,c,g){if(Sa(l)&&!g){const O=ca(l.index,c);return new j0(O,O)}if(47&l.type){const O=c[16];return new j0(O,c)}return null}(Ra(),kn(),16==(16&l))};class p_{constructor(){}supports(c){return J0(c)}create(c){return new p8(c)}}const f8=(l,c)=>c;class p8{constructor(c){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=c||f8}forEachItem(c){let g;for(g=this._itHead;null!==g;g=g._next)c(g)}forEachOperation(c){let g=this._itHead,O=this._removalsHead,U=0,G=null;for(;g||O;){const de=!O||g&&g.currentIndex{de=this._trackByFn(U,Se),null!==g&&Object.is(g.trackById,de)?(O&&(g=this._verifyReinsertion(g,Se,de,U)),Object.is(g.item,Se)||this._addIdentityChange(g,Se)):(g=this._mismatch(g,Se,de,U),O=!0),g=g._next,U++}),this.length=U;return this._truncate(g),this.collection=c,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let c;for(c=this._previousItHead=this._itHead;null!==c;c=c._next)c._nextPrevious=c._next;for(c=this._additionsHead;null!==c;c=c._nextAdded)c.previousIndex=c.currentIndex;for(this._additionsHead=this._additionsTail=null,c=this._movesHead;null!==c;c=c._nextMoved)c.previousIndex=c.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(c,g,O,U){let G;return null===c?G=this._itTail:(G=c._prev,this._remove(c)),null!==(c=null===this._unlinkedRecords?null:this._unlinkedRecords.get(O,null))?(Object.is(c.item,g)||this._addIdentityChange(c,g),this._reinsertAfter(c,G,U)):null!==(c=null===this._linkedRecords?null:this._linkedRecords.get(O,U))?(Object.is(c.item,g)||this._addIdentityChange(c,g),this._moveAfter(c,G,U)):c=this._addAfter(new Wm(g,O),G,U),c}_verifyReinsertion(c,g,O,U){let G=null===this._unlinkedRecords?null:this._unlinkedRecords.get(O,null);return null!==G?c=this._reinsertAfter(G,c._prev,U):c.currentIndex!=U&&(c.currentIndex=U,this._addToMoves(c,U)),c}_truncate(c){for(;null!==c;){const g=c._next;this._addToRemovals(this._unlink(c)),c=g}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(c,g,O){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(c);const U=c._prevRemoved,G=c._nextRemoved;return null===U?this._removalsHead=G:U._nextRemoved=G,null===G?this._removalsTail=U:G._prevRemoved=U,this._insertAfter(c,g,O),this._addToMoves(c,O),c}_moveAfter(c,g,O){return this._unlink(c),this._insertAfter(c,g,O),this._addToMoves(c,O),c}_addAfter(c,g,O){return this._insertAfter(c,g,O),null===this._additionsTail?this._additionsTail=this._additionsHead=c:this._additionsTail=this._additionsTail._nextAdded=c,c}_insertAfter(c,g,O){const U=null===g?this._itHead:g._next;return c._next=U,c._prev=g,null===U?this._itTail=c:U._prev=c,null===g?this._itHead=c:g._next=c,null===this._linkedRecords&&(this._linkedRecords=new Km),this._linkedRecords.put(c),c.currentIndex=O,c}_remove(c){return this._addToRemovals(this._unlink(c))}_unlink(c){null!==this._linkedRecords&&this._linkedRecords.remove(c);const g=c._prev,O=c._next;return null===g?this._itHead=O:g._next=O,null===O?this._itTail=g:O._prev=g,c}_addToMoves(c,g){return c.previousIndex===g||(null===this._movesTail?this._movesTail=this._movesHead=c:this._movesTail=this._movesTail._nextMoved=c),c}_addToRemovals(c){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Km),this._unlinkedRecords.put(c),c.currentIndex=null,c._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=c,c._prevRemoved=null):(c._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=c),c}_addIdentityChange(c,g){return c.item=g,null===this._identityChangesTail?this._identityChangesTail=this._identityChangesHead=c:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=c,c}}class Wm{constructor(c,g){this.item=c,this.trackById=g,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class _8{constructor(){this._head=null,this._tail=null}add(c){null===this._head?(this._head=this._tail=c,c._nextDup=null,c._prevDup=null):(this._tail._nextDup=c,c._prevDup=this._tail,c._nextDup=null,this._tail=c)}get(c,g){let O;for(O=this._head;null!==O;O=O._nextDup)if((null===g||g<=O.currentIndex)&&Object.is(O.trackById,c))return O;return null}remove(c){const g=c._prevDup,O=c._nextDup;return null===g?this._head=O:g._nextDup=O,null===O?this._tail=g:O._prevDup=g,null===this._head}}class Km{constructor(){this.map=new Map}put(c){const g=c.trackById;let O=this.map.get(g);O||(O=new _8,this.map.set(g,O)),O.add(c)}get(c,g){const O=c,U=this.map.get(O);return U?U.get(c,g):null}remove(c){const g=c.trackById;return this.map.get(g).remove(c)&&this.map.delete(g),c}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Gm(l,c,g){const O=l.previousIndex;if(null===O)return O;let U=0;return g&&O{if(g&&g.key===U)this._maybeAddToChanges(g,O),this._appendAfter=g,g=g._next;else{const G=this._getOrCreateRecordForKey(U,O);g=this._insertBeforeOrAppend(g,G)}}),g){g._prev&&(g._prev._next=null),this._removalsHead=g;for(let O=g;null!==O;O=O._nextRemoved)O===this._mapHead&&(this._mapHead=null),this._records.delete(O.key),O._nextRemoved=O._next,O.previousValue=O.currentValue,O.currentValue=null,O._prev=null,O._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(c,g){if(c){const O=c._prev;return g._next=c,g._prev=O,c._prev=g,O&&(O._next=g),c===this._mapHead&&(this._mapHead=g),this._appendAfter=c,c}return this._appendAfter?(this._appendAfter._next=g,g._prev=this._appendAfter):this._mapHead=g,this._appendAfter=g,null}_getOrCreateRecordForKey(c,g){if(this._records.has(c)){const U=this._records.get(c);this._maybeAddToChanges(U,g);const G=U._prev,de=U._next;return G&&(G._next=de),de&&(de._prev=G),U._next=null,U._prev=null,U}const O=new g8(c);return this._records.set(c,O),O.currentValue=g,this._addToAdditions(O),O}_reset(){if(this.isDirty){let c;for(this._previousMapHead=this._mapHead,c=this._previousMapHead;null!==c;c=c._next)c._nextPrevious=c._next;for(c=this._changesHead;null!==c;c=c._nextChanged)c.previousValue=c.currentValue;for(c=this._additionsHead;null!=c;c=c._nextAdded)c.previousValue=c.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(c,g){Object.is(g,c.currentValue)||(c.previousValue=c.currentValue,c.currentValue=g,this._addToChanges(c))}_addToAdditions(c){null===this._additionsHead?this._additionsHead=this._additionsTail=c:(this._additionsTail._nextAdded=c,this._additionsTail=c)}_addToChanges(c){null===this._changesHead?this._changesHead=this._changesTail=c:(this._changesTail._nextChanged=c,this._changesTail=c)}_forEach(c,g){c instanceof Map?c.forEach(g):Object.keys(c).forEach(O=>g(c[O],O))}}class g8{constructor(c){this.key=c,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Ym(){return new I1([new p_])}class I1{constructor(c){this.factories=c}static create(c,g){if(null!=g){const O=g.factories.slice();c=c.concat(O)}return new I1(c)}static extend(c){return{provide:I1,useFactory:g=>I1.create(c,g||Ym()),deps:[[I1,new bl,new B2]]}}find(c){const g=this.factories.find(O=>O.supports(c));if(null!=g)return g;throw new Z(901,!1)}}function Qm(){return new L1([new Zm])}I1.\u0275prov=Ke({token:I1,providedIn:"root",factory:Ym});class L1{constructor(c){this.factories=c}static create(c,g){if(g){const O=g.factories.slice();c=c.concat(O)}return new L1(c)}static extend(c){return{provide:L1,useFactory:g=>L1.create(c,g||Qm()),deps:[[L1,new bl,new B2]]}}find(c){const g=this.factories.find(O=>O.supports(c));if(g)return g;throw new Z(901,!1)}}L1.\u0275prov=Ke({token:L1,providedIn:"root",factory:Qm});const y8=[new Zm],__=[new p_],b8=(new I1(__),new L1(y8),o_(null,"core",[]));class c3{constructor(c){}}function x8(l){return"boolean"==typeof l?l:null!=l&&"false"!==l}c3.\u0275fac=function(c){return new(c||c3)(vt(L2))},c3.\u0275mod=Ge({type:c3}),c3.\u0275inj=Ve({})},7200:(Ue,q,m)=>{"use strict";function e(S){for(let A in S){let P=S[A]??"";switch(A){case"display":S.display="flex"===P?["-webkit-flex","flex"]:"inline-flex"===P?["-webkit-inline-flex","inline-flex"]:P;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":S["-webkit-"+A]=P;break;case"flex-direction":S["-webkit-flex-direction"]=P,S["flex-direction"]=P;break;case"order":S.order=S["-webkit-"+A]=isNaN(+P)?"0":P}}return S}m.d(q,{Ar:()=>E,GK:()=>e,iQ:()=>_,kt:()=>p,tj:()=>D});const t="inline",_=["row","column","row-reverse","column-reverse"];function E(S){let[A,P,M]=s(S);return function k(S,A=null,P=!1){return{display:P?"inline-flex":"flex","box-sizing":"border-box","flex-direction":S,"flex-wrap":A||null}}(A,P,M)}function s(S){S=S?.toLowerCase()??"";let[A,P,M]=S.split(" ");return _.find(z=>z===A)||(A=_[0]),P===t&&(P=M!==t?M:"",M=t),[A,u(P),!!M]}function D(S){let[A]=s(S);return A.indexOf("row")>-1}function u(S){if(S)switch(S.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":S="wrap-reverse";break;case"no":case"none":case"nowrap":S="nowrap";break;default:S="wrap"}return S}function p(S,...A){if(null==S)throw TypeError("Cannot convert undefined or null to object");for(let P of A)if(null!=P)for(let M in P)P.hasOwnProperty(M)&&(S[M]=P[M]);return S}},4658:(Ue,q,m)=>{"use strict";m.d(q,{Bs:()=>n,FL:()=>se,IR:()=>ce,Ot:()=>tt,QI:()=>h,RK:()=>d,WU:()=>he,g5:()=>$,iR:()=>Bt,wY:()=>w,yB:()=>Ct});var e=m(2560),t=m(4666),_=m(6317),E=m(833),s=m(6646),D=m(253),u=m(3888),k=m(745),p=m(3280),S=m(7200),A=m(116),P=m(9337),M=m(1989),z=m(2673),I=m(635),W=m(8977),Z=m(8951),Q=m(9295);const ae={provide:e.tb,useFactory:function ie(J,oe){return()=>{if((0,t.NF)(oe)){const De=Array.from(J.querySelectorAll(`[class*=${_e}]`)),Ye=/\bflex-layout-.+?\b/g;De.forEach(Dt=>{Dt.classList.contains(`${_e}ssr`)&&Dt.parentNode?Dt.parentNode.removeChild(Dt):Dt.className.replace(Ye,"")})}}},deps:[t.K0,e.Lbi],multi:!0},_e="flex-layout-";class ce{}ce.\u0275fac=function(oe){return new(oe||ce)},ce.\u0275mod=e.oAB({type:ce}),ce.\u0275inj=e.cJS({providers:[ae]});class ye{constructor(oe=!1,De="all",Ye="",Dt="",ut=0){this.matches=oe,this.mediaQuery=De,this.mqAlias=Ye,this.suffix=Dt,this.priority=ut,this.property=""}clone(){return new ye(this.matches,this.mediaQuery,this.mqAlias,this.suffix)}}class ue{constructor(){this.stylesheet=new Map}addStyleToElement(oe,De,Ye){const Dt=this.stylesheet.get(oe);Dt?Dt.set(De,Ye):this.stylesheet.set(oe,new Map([[De,Ye]]))}clearStyles(){this.stylesheet.clear()}getStyleForElement(oe,De){const Ye=this.stylesheet.get(oe);let Dt="";if(Ye){const ut=Ye.get(De);("number"==typeof ut||"string"==typeof ut)&&(Dt=ut+"")}return Dt}}ue.\u0275fac=function(oe){return new(oe||ue)},ue.\u0275prov=e.Yz7({token:ue,factory:ue.\u0275fac,providedIn:"root"});const $={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[],multiplier:void 0,defaultUnit:"px",detectLayoutDisplay:!1},he=new e.OlP("Flex Layout token, config options for the library",{providedIn:"root",factory:()=>$}),w=new e.OlP("FlexLayoutServerLoaded",{providedIn:"root",factory:()=>!1}),n=new e.OlP("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:()=>null});function o(J,oe){return J=J?.clone()??new ye,oe&&(J.mqAlias=oe.alias,J.mediaQuery=oe.mediaQuery,J.suffix=oe.suffix,J.priority=oe.priority),J}class h{constructor(){this.shouldCache=!0}sideEffect(oe,De,Ye){}}class d{constructor(oe,De,Ye,Dt){this._serverStylesheet=oe,this._serverModuleLoaded=De,this._platformId=Ye,this.layoutConfig=Dt}applyStyleToElement(oe,De,Ye=null){let Dt={};"string"==typeof De&&(Dt[De]=Ye,De=Dt),Dt=this.layoutConfig.disableVendorPrefixes?De:(0,S.GK)(De),this._applyMultiValueStyleToElement(Dt,oe)}applyStyleToElements(oe,De=[]){const Ye=this.layoutConfig.disableVendorPrefixes?oe:(0,S.GK)(oe);De.forEach(Dt=>{this._applyMultiValueStyleToElement(Ye,Dt)})}getFlowDirection(oe){const De="flex-direction";let Ye=this.lookupStyle(oe,De);return[Ye||"row",this.lookupInlineStyle(oe,De)||(0,t.PM)(this._platformId)&&this._serverModuleLoaded?Ye:""]}hasWrap(oe){return"wrap"===this.lookupStyle(oe,"flex-wrap")}lookupAttributeValue(oe,De){return oe.getAttribute(De)??""}lookupInlineStyle(oe,De){return(0,t.NF)(this._platformId)?oe.style.getPropertyValue(De):function y(J,oe){return v(J)[oe]??""}(oe,De)}lookupStyle(oe,De,Ye=!1){let Dt="";return oe&&((Dt=this.lookupInlineStyle(oe,De))||((0,t.NF)(this._platformId)?Ye||(Dt=getComputedStyle(oe).getPropertyValue(De)):this._serverModuleLoaded&&(Dt=this._serverStylesheet.getStyleForElement(oe,De)))),Dt?Dt.trim():""}_applyMultiValueStyleToElement(oe,De){Object.keys(oe).sort().forEach(Ye=>{const Dt=oe[Ye],ut=Array.isArray(Dt)?Dt:[Dt];ut.sort();for(let ze of ut)ze=ze?ze+"":"",(0,t.NF)(this._platformId)||!this._serverModuleLoaded?(0,t.NF)(this._platformId)?De.style.setProperty(Ye,ze):L(De,Ye,ze):this._serverStylesheet.addStyleToElement(De,Ye,ze)})}}function L(J,oe,De){oe=oe.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const Ye=v(J);Ye[oe]=De??"",function B(J,oe){let De="";for(const Ye in oe)oe[Ye]&&(De+=`${Ye}:${oe[Ye]};`);J.setAttribute("style",De)}(J,Ye)}function v(J){const oe={},De=J.getAttribute("style");if(De){const Ye=De.split(/;+/g);for(let Dt=0;Dt0){const ze=ut.indexOf(":");if(-1===ze)throw new Error(`Invalid CSS style: ${ut}`);oe[ut.substr(0,ze).trim()]=ut.substr(ze+1).trim()}}}return oe}function a(J,oe){const De=J&&J.priority||0;return(oe&&oe.priority||0)-De}function C(J,oe){return(J.priority||0)-(oe.priority||0)}d.\u0275fac=function(oe){return new(oe||d)(e.LFG(ue),e.LFG(w),e.LFG(e.Lbi),e.LFG(he))},d.\u0275prov=e.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"});class N{constructor(oe,De,Ye){this._zone=oe,this._platformId=De,this._document=Ye,this.source=new _.X(new ye(!0)),this.registry=new Map,this.pendingRemoveListenerFns=[],this._observable$=this.source.asObservable()}get activations(){const oe=[];return this.registry.forEach((De,Ye)=>{De.matches&&oe.push(Ye)}),oe}isActive(oe){return this.registry.get(oe)?.matches??this.registerQuery(oe).some(Ye=>Ye.matches)}observe(oe,De=!1){if(oe&&oe.length){const Ye=this._observable$.pipe((0,A.h)(ut=>!De||oe.indexOf(ut.mediaQuery)>-1)),Dt=new E.y(ut=>{const ze=this.registerQuery(oe);if(ze.length){const Me=ze.pop();ze.forEach(Ce=>{ut.next(Ce)}),this.source.next(Me)}ut.complete()});return(0,s.T)(Dt,Ye)}return this._observable$}registerQuery(oe){const De=Array.isArray(oe)?oe:[oe],Ye=[];return function X(J,oe){const De=J.filter(Ye=>!F[Ye]);if(De.length>0){const Ye=De.join(", ");try{const Dt=oe.createElement("style");if(Dt.setAttribute("type","text/css"),!Dt.styleSheet){const ut=`\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ${Ye} {.fx-query-test{ }}\n`;Dt.appendChild(oe.createTextNode(ut))}oe.head.appendChild(Dt),De.forEach(ut=>F[ut]=Dt)}catch(Dt){console.error(Dt)}}}(De,this._document),De.forEach(Dt=>{const ut=Me=>{this._zone.run(()=>this.source.next(new ye(Me.matches,Dt)))};let ze=this.registry.get(Dt);ze||(ze=this.buildMQL(Dt),ze.addListener(ut),this.pendingRemoveListenerFns.push(()=>ze.removeListener(ut)),this.registry.set(Dt,ze)),ze.matches&&Ye.push(new ye(!0,Dt))}),Ye}ngOnDestroy(){let oe;for(;oe=this.pendingRemoveListenerFns.pop();)oe()}buildMQL(oe){return function ke(J,oe){return oe&&window.matchMedia("all").addListener?window.matchMedia(J):function Fe(J){const oe=new EventTarget;return oe.matches="all"===J||""===J,oe.media=J,oe.addListener=()=>{},oe.removeListener=()=>{},oe.addEventListener=()=>{},oe.dispatchEvent=()=>!1,oe.onchange=null,oe}(J)}(oe,(0,t.NF)(this._platformId))}}N.\u0275fac=function(oe){return new(oe||N)(e.LFG(e.R0b),e.LFG(e.Lbi),e.LFG(t.K0))},N.\u0275prov=e.Yz7({token:N,factory:N.\u0275fac,providedIn:"root"});const F={};const Ke=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.98px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.98px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.98px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.98px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.98px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.98px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.98px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.98px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.98px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],je="(orientation: portrait) and (max-width: 599.98px)",Ve="(orientation: landscape) and (max-width: 959.98px)",xe="(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)",Ze="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)",Ie="(orientation: portrait) and (min-width: 840px)",ve="(orientation: landscape) and (min-width: 1280px)",et={HANDSET:`${je}, ${Ve}`,TABLET:`${xe} , ${Ze}`,WEB:`${Ie}, ${ve} `,HANDSET_PORTRAIT:`${je}`,TABLET_PORTRAIT:`${xe} `,WEB_PORTRAIT:`${Ie}`,HANDSET_LANDSCAPE:`${Ve}`,TABLET_LANDSCAPE:`${Ze}`,WEB_LANDSCAPE:`${ve}`},ht=[{alias:"handset",priority:2e3,mediaQuery:et.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:et.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:et.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:et.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:et.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:et.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:et.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:et.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:et.WEB_PORTRAIT,overlapping:!0}],Le=/(\.|-|_)/g;function Ae(J){let oe=J.length>0?J.charAt(0):"",De=J.length>1?J.slice(1):"";return oe.toUpperCase()+De}function pe(J){return J.forEach(oe=>{oe.suffix||(oe.suffix=function te(J){return J.replace(Le,"|").split("|").map(Ae).join("")}(oe.alias),oe.overlapping=!!oe.overlapping)}),J}const H=new e.OlP("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:()=>{const J=(0,e.f3M)(n),oe=(0,e.f3M)(he),De=[].concat.apply([],(J||[]).map(Dt=>Array.isArray(Dt)?Dt:[Dt]));return function ee(J,oe=[]){const De={};return J.forEach(Ye=>{De[Ye.alias]=Ye}),oe.forEach(Ye=>{De[Ye.alias]?(0,S.kt)(De[Ye.alias],Ye):De[Ye.alias]=Ye}),pe(Object.keys(De).map(Ye=>De[Ye]))}((oe.disableDefaultBps?[]:Ke).concat(oe.addOrientationBps?ht:[]),De)}});class j{constructor(oe){this.findByMap=new Map,this.items=[...oe].sort(C)}findByAlias(oe){return oe?this.findWithPredicate(oe,De=>De.alias===oe):null}findByQuery(oe){return this.findWithPredicate(oe,De=>De.mediaQuery===oe)}get overlappings(){return this.items.filter(oe=>oe.overlapping)}get aliases(){return this.items.map(oe=>oe.alias)}get suffixes(){return this.items.map(oe=>oe?.suffix??"")}findWithPredicate(oe,De){let Ye=this.findByMap.get(oe);return Ye||(Ye=this.items.find(De)??null,this.findByMap.set(oe,Ye)),Ye??null}}j.\u0275fac=function(oe){return new(oe||j)(e.LFG(H))},j.\u0275prov=e.Yz7({token:j,factory:j.\u0275fac,providedIn:"root"});const Oe="print",Re={alias:Oe,mediaQuery:Oe,priority:1e3};class le{constructor(oe,De,Ye){this.breakpoints=oe,this.layoutConfig=De,this._document=Ye,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.formerActivations=null,this.isPrinting=!1,this.queue=new _t,this.deactivations=[]}withPrintQuery(oe){return[...oe,Oe]}isPrintEvent(oe){return oe.mediaQuery.startsWith(Oe)}get printAlias(){return[...this.layoutConfig.printWithBreakpoints??[]]}get printBreakPoints(){return this.printAlias.map(oe=>this.breakpoints.findByAlias(oe)).filter(oe=>null!==oe)}getEventBreakpoints({mediaQuery:oe}){const De=this.breakpoints.findByQuery(oe);return(De?[...this.printBreakPoints,De]:this.printBreakPoints).sort(a)}updateEvent(oe){let De=this.breakpoints.findByQuery(oe.mediaQuery);return this.isPrintEvent(oe)&&(De=this.getEventBreakpoints(oe)[0],oe.mediaQuery=De?.mediaQuery??""),o(oe,De)}registerBeforeAfterPrintHooks(oe){if(!this._document.defaultView||this.registeredBeforeAfterPrintHooks)return;this.registeredBeforeAfterPrintHooks=!0;const De=()=>{this.isPrinting||(this.isPrintingBeforeAfterEvent=!0,this.startPrinting(oe,this.getEventBreakpoints(new ye(!0,Oe))),oe.updateStyles())},Ye=()=>{this.isPrintingBeforeAfterEvent=!1,this.isPrinting&&(this.stopPrinting(oe),oe.updateStyles())};this._document.defaultView.addEventListener("beforeprint",De),this._document.defaultView.addEventListener("afterprint",Ye),this.beforePrintEventListeners.push(De),this.afterPrintEventListeners.push(Ye)}interceptEvents(oe){return De=>{this.isPrintEvent(De)?De.matches&&!this.isPrinting?(this.startPrinting(oe,this.getEventBreakpoints(De)),oe.updateStyles()):!De.matches&&this.isPrinting&&!this.isPrintingBeforeAfterEvent&&(this.stopPrinting(oe),oe.updateStyles()):this.collectActivations(oe,De)}}blockPropagation(){return oe=>!(this.isPrinting||this.isPrintEvent(oe))}startPrinting(oe,De){this.isPrinting=!0,this.formerActivations=oe.activatedBreakpoints,oe.activatedBreakpoints=this.queue.addPrintBreakpoints(De)}stopPrinting(oe){oe.activatedBreakpoints=this.deactivations,this.deactivations=[],this.formerActivations=null,this.queue.clear(),this.isPrinting=!1}collectActivations(oe,De){if(!this.isPrinting||this.isPrintingBeforeAfterEvent){if(!this.isPrintingBeforeAfterEvent)return void(this.deactivations=[]);if(!De.matches){const Ye=this.breakpoints.findByQuery(De.mediaQuery);if(Ye){const Dt=this.formerActivations&&this.formerActivations.includes(Ye),ut=!this.formerActivations&&oe.activatedBreakpoints.includes(Ye);(Dt||ut)&&(this.deactivations.push(Ye),this.deactivations.sort(a))}}}}ngOnDestroy(){this._document.defaultView&&(this.beforePrintEventListeners.forEach(oe=>this._document.defaultView.removeEventListener("beforeprint",oe)),this.afterPrintEventListeners.forEach(oe=>this._document.defaultView.removeEventListener("afterprint",oe)))}}le.\u0275fac=function(oe){return new(oe||le)(e.LFG(j),e.LFG(he),e.LFG(t.K0))},le.\u0275prov=e.Yz7({token:le,factory:le.\u0275fac,providedIn:"root"});class _t{constructor(){this.printBreakpoints=[]}addPrintBreakpoints(oe){return oe.push(Re),oe.sort(a),oe.forEach(De=>this.addBreakpoint(De)),this.printBreakpoints}addBreakpoint(oe){oe&&void 0===this.printBreakpoints.find(Ye=>Ye.mediaQuery===oe.mediaQuery)&&(this.printBreakpoints=function it(J){return J?.mediaQuery.startsWith(Oe)??!1}(oe)?[oe,...this.printBreakpoints]:[...this.printBreakpoints,oe])}clear(){this.printBreakpoints=[]}}class Ct{constructor(oe,De,Ye){this.matchMedia=oe,this.breakpoints=De,this.hook=Ye,this._useFallbacks=!0,this._activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new D.x,this.observeActivations()}get activatedAlias(){return this.activatedBreakpoints[0]?.alias??""}set activatedBreakpoints(oe){this._activatedBreakpoints=[...oe]}get activatedBreakpoints(){return[...this._activatedBreakpoints]}set useFallbacks(oe){this._useFallbacks=oe}onMediaChange(oe){const De=this.findByQuery(oe.mediaQuery);if(De){oe=o(oe,De);const Ye=this.activatedBreakpoints.indexOf(De);oe.matches&&-1===Ye?(this._activatedBreakpoints.push(De),this._activatedBreakpoints.sort(a),this.updateStyles()):!oe.matches&&-1!==Ye&&(this._activatedBreakpoints.splice(Ye,1),this._activatedBreakpoints.sort(a),this.updateStyles())}}init(oe,De,Ye,Dt,ut=[]){un(this.updateMap,oe,De,Ye),un(this.clearMap,oe,De,Dt),this.buildElementKeyMap(oe,De),this.watchExtraTriggers(oe,De,ut)}getValue(oe,De,Ye){const Dt=this.elementMap.get(oe);if(Dt){const ut=void 0!==Ye?Dt.get(Ye):this.getActivatedValues(Dt,De);if(ut)return ut.get(De)}}hasValue(oe,De){const Ye=this.elementMap.get(oe);if(Ye){const Dt=this.getActivatedValues(Ye,De);if(Dt)return void 0!==Dt.get(De)||!1}return!1}setValue(oe,De,Ye,Dt){let ut=this.elementMap.get(oe);if(ut){const Me=(ut.get(Dt)??new Map).set(De,Ye);ut.set(Dt,Me),this.elementMap.set(oe,ut)}else ut=(new Map).set(Dt,(new Map).set(De,Ye)),this.elementMap.set(oe,ut);const ze=this.getValue(oe,De);void 0!==ze&&this.updateElement(oe,De,ze)}trackValue(oe,De){return this.subject.asObservable().pipe((0,A.h)(Ye=>Ye.element===oe&&Ye.key===De))}updateStyles(){this.elementMap.forEach((oe,De)=>{const Ye=new Set(this.elementKeyMap.get(De));let Dt=this.getActivatedValues(oe);Dt&&Dt.forEach((ut,ze)=>{this.updateElement(De,ze,ut),Ye.delete(ze)}),Ye.forEach(ut=>{if(Dt=this.getActivatedValues(oe,ut),Dt){const ze=Dt.get(ut);this.updateElement(De,ut,ze)}else this.clearElement(De,ut)})})}clearElement(oe,De){const Ye=this.clearMap.get(oe);if(Ye){const Dt=Ye.get(De);Dt&&(Dt(),this.subject.next({element:oe,key:De,value:""}))}}updateElement(oe,De,Ye){const Dt=this.updateMap.get(oe);if(Dt){const ut=Dt.get(De);ut&&(ut(Ye),this.subject.next({element:oe,key:De,value:Ye}))}}releaseElement(oe){const De=this.watcherMap.get(oe);De&&(De.forEach(Dt=>Dt.unsubscribe()),this.watcherMap.delete(oe));const Ye=this.elementMap.get(oe);Ye&&(Ye.forEach((Dt,ut)=>Ye.delete(ut)),this.elementMap.delete(oe))}triggerUpdate(oe,De){const Ye=this.elementMap.get(oe);if(Ye){const Dt=this.getActivatedValues(Ye,De);Dt&&(De?this.updateElement(oe,De,Dt.get(De)):Dt.forEach((ut,ze)=>this.updateElement(oe,ze,ut)))}}buildElementKeyMap(oe,De){let Ye=this.elementKeyMap.get(oe);Ye||(Ye=new Set,this.elementKeyMap.set(oe,Ye)),Ye.add(De)}watchExtraTriggers(oe,De,Ye){if(Ye&&Ye.length){let Dt=this.watcherMap.get(oe);if(Dt||(Dt=new Map,this.watcherMap.set(oe,Dt)),!Dt.get(De)){const ze=(0,s.T)(...Ye).subscribe(()=>{const Me=this.getValue(oe,De);this.updateElement(oe,De,Me)});Dt.set(De,ze)}}}findByQuery(oe){return this.breakpoints.findByQuery(oe)}getActivatedValues(oe,De){for(let Dt=0;DtDe.mediaQuery);this.hook.registerBeforeAfterPrintHooks(this),this.matchMedia.observe(this.hook.withPrintQuery(oe)).pipe((0,P.b)(this.hook.interceptEvents(this)),(0,A.h)(this.hook.blockPropagation())).subscribe(this.onMediaChange.bind(this))}}function un(J,oe,De,Ye){if(void 0!==Ye){const Dt=J.get(oe)??new Map;Dt.set(De,Ye),J.set(oe,Dt)}}Ct.\u0275fac=function(oe){return new(oe||Ct)(e.LFG(N),e.LFG(j),e.LFG(le))},Ct.\u0275prov=e.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"});class Bt{constructor(oe,De,Ye,Dt){this.elementRef=oe,this.styleBuilder=De,this.styler=Ye,this.marshal=Dt,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new D.x,this.styleCache=new Map}get parentElement(){return this.elementRef.nativeElement.parentElement}get nativeElement(){return this.elementRef.nativeElement}get activatedValue(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)}set activatedValue(oe){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,oe,this.marshal.activatedAlias)}ngOnChanges(oe){Object.keys(oe).forEach(De=>{if(-1!==this.inputs.indexOf(De)){const Ye=De.split(".").slice(1).join("."),Dt=oe[De].currentValue;this.setValue(Dt,Ye)}})}ngOnDestroy(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)}init(oe=[]){this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),oe)}addStyles(oe,De){const Ye=this.styleBuilder,Dt=Ye.shouldCache;let ut=this.styleCache.get(oe);(!ut||!Dt)&&(ut=Ye.buildStyles(oe,De),Dt&&this.styleCache.set(oe,ut)),this.mru={...ut},this.applyStyleToElement(ut),Ye.sideEffect(oe,ut,De)}clearStyles(){Object.keys(this.mru).forEach(oe=>{this.mru[oe]=""}),this.applyStyleToElement(this.mru),this.mru={},this.currentValue=void 0}triggerUpdate(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)}getFlexFlowDirection(oe,De=!1){if(oe){const[Ye,Dt]=this.styler.getFlowDirection(oe);if(!Dt&&De){const ut=(0,S.Ar)(Ye),ze=[oe];this.styler.applyStyleToElements(ut,ze)}return Ye.trim()}return"row"}hasWrap(oe){return this.styler.hasWrap(oe)}applyStyleToElement(oe,De,Ye=this.nativeElement){this.styler.applyStyleToElement(Ye,oe,De)}setValue(oe,De){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,oe,De)}updateWithValue(oe){this.currentValue!==oe&&(this.addStyles(oe),this.currentValue=oe)}}Bt.\u0275fac=function(oe){return new(oe||Bt)(e.Y36(e.SBq),e.Y36(h),e.Y36(d),e.Y36(Ct))},Bt.\u0275dir=e.lG2({type:Bt,features:[e.TTD]});class Ut extends N{constructor(oe,De,Ye,Dt){super(oe,De,Ye),this._breakpoints=Dt,this.autoRegisterQueries=!0,this.useOverlaps=!1}clearAll(){this.registry.forEach(oe=>{oe.destroy()}),this.registry.clear(),this.useOverlaps=!1}activate(oe,De=this.useOverlaps){return oe=this._validateQuery(oe),(De||!this.isActive(oe))&&(this._deactivateAll(),this._registerMediaQuery(oe),this._activateWithOverlaps(oe,De)),this.hasActivated}_validateQuery(oe){return this._breakpoints.findByAlias(oe)?.mediaQuery??oe}_activateWithOverlaps(oe,De){if(De){const Dt=this._breakpoints.findByQuery(oe)?.alias??"unknown";switch(Dt){case"lg":this._activateByAlias(["lt-xl"]);break;case"md":this._activateByAlias(["lt-xl","lt-lg"]);break;case"sm":this._activateByAlias(["lt-xl","lt-lg","lt-md"]);break;case"xs":this._activateByAlias(["lt-xl","lt-lg","lt-md","lt-sm"])}switch(Dt){case"xl":this._activateByAlias(["gt-lg","gt-md","gt-sm","gt-xs"]);break;case"lg":this._activateByAlias(["gt-md","gt-sm","gt-xs"]);break;case"md":this._activateByAlias(["gt-sm","gt-xs"]);break;case"sm":this._activateByAlias(["gt-xs"])}}return this._activateByQuery(oe)}_activateByAlias(oe){oe.forEach(Ye=>{const Dt=this._breakpoints.findByAlias(Ye);this._activateByQuery(Dt?.mediaQuery??Ye)})}_activateByQuery(oe){!this.registry.has(oe)&&this.autoRegisterQueries&&this._registerMediaQuery(oe);const De=this.registry.get(oe);return De&&!this.isActive(oe)&&this.registry.set(oe,De.activate()),this.hasActivated}_deactivateAll(){return this.registry.forEach(oe=>{oe.deactivate()}),this}_registerMediaQuery(oe){!this.registry.has(oe)&&this.autoRegisterQueries&&this.registerQuery(oe)}buildMQL(oe){return new yn(oe)}get hasActivated(){return this.activations.length>0}}Ut.\u0275fac=function(oe){return new(oe||Ut)(e.LFG(e.R0b),e.LFG(e.Lbi),e.LFG(t.K0),e.LFG(j))},Ut.\u0275prov=e.Yz7({token:Ut,factory:Ut.\u0275fac});class yn extends EventTarget{constructor(oe){super(),this._mediaQuery=oe,this._isActive=!1,this._listeners=[],this.onchange=null}get matches(){return this._isActive}get media(){return this._mediaQuery}destroy(){this.deactivate(),this._listeners=[]}activate(){return this._isActive||(this._isActive=!0,this._listeners.forEach(oe=>{oe.call(this,{matches:this.matches,media:this.media})})),this}deactivate(){return this._isActive&&(this._isActive=!1,this._listeners.forEach(oe=>{oe.call(this,{matches:this.matches,media:this.media})})),this}addListener(oe){-1===this._listeners.indexOf(oe)&&this._listeners.push(oe),this._isActive&&oe.call(this,{matches:this.matches,media:this.media})}removeListener(oe){}dispatchEvent(oe){return!1}}class In{constructor(oe,De,Ye){this.breakpoints=oe,this.matchMedia=De,this.hook=Ye,this.filterOverlaps=!1,this.destroyed$=new D.x,this._media$=this.watchActivations()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}asObservable(){return this._media$}isActive(oe){return function tn(J){return J.flatMap(oe=>oe.split(",")).map(oe=>oe.trim())}(function Gt(J){return Array.isArray(J)?J:[J]}(oe)).some(Ye=>{const Dt=function rn(J,oe){return(oe.findByAlias(J)??oe.findByQuery(J))?.mediaQuery??null}(Ye,this.breakpoints);return null!==Dt&&this.matchMedia.isActive(Dt)})}watchActivations(){const oe=this.breakpoints.items.map(De=>De.mediaQuery);return this.buildObservable(oe)}buildObservable(oe){return this.matchMedia.observe(this.hook.withPrintQuery(oe)).pipe((0,A.h)(ut=>ut.matches),(0,M.b)(0,u.E),(0,z.w)(ut=>(0,k.of)(this.findAllActivations())),(0,I.U)(ut=>this.filterOverlaps?ut.filter(ze=>this.breakpoints.findByQuery(ze.mediaQuery)?.overlapping??!0):ut),(0,A.h)(ut=>ut.filter(Me=>Me.mediaQuery.length>0).length>0),(0,W.x)((ut,ze)=>{if(ut.length!==ze.length)return!1;const Me=ut.map(zt=>zt.mediaQuery),Ce=new Set(ze.map(zt=>zt.mediaQuery));return 0===new Set(Me.filter(zt=>!Ce.has(zt))).size}),(0,Z.R)(this.destroyed$))}findAllActivations(){return this.matchMedia.activations.map(Ye=>new ye(!0,Ye)).map(Ye=>this.hook.isPrintEvent(Ye)?this.hook.updateEvent(Ye):Ye).map(Ye=>o(Ye,this.breakpoints.findByQuery(Ye.mediaQuery))).sort(a)}}In.\u0275fac=function(oe){return new(oe||In)(e.LFG(j),e.LFG(N),e.LFG(le))},In.\u0275prov=e.Yz7({token:In,factory:In.\u0275fac,providedIn:"root"});class pn{constructor(oe,De,Ye,Dt,ut){this.breakpoints=oe,this.matchMedia=De,this.layoutConfig=Ye,this._platformId=Dt,this._document=ut,this.hasCachedRegistryMatches=!1,this.originalActivations=[],this.originalRegistry=new Map}activate(oe){oe=oe.map(De=>De.trim()),this.saveActivations(),this.deactivateAll(),this.setActivations(oe),this.prepareAutoRestore()}restore(){if(this.hasCachedRegistryMatches){const oe=Ye=>Ye.mediaQuery,De=this.originalActivations.map(oe);try{this.deactivateAll(),this.restoreRegistryMatches(),this.setActivations(De)}finally{this.originalActivations=[],this.resizeSubscription&&this.resizeSubscription.unsubscribe()}}}prepareAutoRestore(){if((0,t.NF)(this._platformId)&&this._document&&this.layoutConfig.mediaTriggerAutoRestore){const Ye=(0,p.R)(window,"resize").pipe((0,Q.q)(1));this.resizeSubscription=Ye.subscribe(this.restore.bind(this))}}deactivateAll(){const oe=this.currentActivations;this.forceRegistryMatches(oe,!1),this.simulateMediaChanges(oe,!1)}saveActivations(){if(!this.hasCachedRegistryMatches){const oe=Ye=>new ye(!0,Ye),De=Ye=>o(Ye,this.breakpoints.findByQuery(Ye.mediaQuery));this.originalActivations=this.currentActivations.map(oe).map(De).sort(a),this.cacheRegistryMatches()}}setActivations(oe){this.originalRegistry&&this.forceRegistryMatches(oe,!0),this.simulateMediaChanges(oe)}simulateMediaChanges(oe,De=!0){oe.map(ut=>{const ze=this.breakpoints,Me=ze.findByAlias(ut)||ze.findByQuery(ut);return Me?Me.mediaQuery:ut}).forEach(ut=>this.emitChangeEvent(De,ut))}forceRegistryMatches(oe,De){const Ye=new Map;oe.forEach(Dt=>{Ye.set(Dt,{matches:De})}),this.matchMedia.registry=Ye}cacheRegistryMatches(){const oe=this.originalRegistry;oe.clear(),this.matchMedia.registry.forEach((De,Ye)=>{oe.set(Ye,De)}),this.hasCachedRegistryMatches=!0}restoreRegistryMatches(){const oe=this.matchMedia.registry;oe.clear(),this.originalRegistry.forEach((De,Ye)=>{oe.set(Ye,De)}),this.originalRegistry.clear(),this.hasCachedRegistryMatches=!1}emitChangeEvent(oe,De){this.matchMedia.source.next(new ye(oe,De))}get currentActivations(){return this.matchMedia.activations}}function tt(J,oe="1",De="1"){let Ye=[oe,De,J],Dt=J.indexOf("calc");if(Dt>0){Ye[2]=vt(J.substring(Dt).trim());let ut=J.substr(0,Dt).trim().split(" ");2==ut.length&&(Ye[0]=ut[0],Ye[1]=ut[1])}else if(0==Dt)Ye[2]=vt(J.trim());else{let ut=J.split(" ");Ye=3===ut.length?ut:[oe,De,J]}return Ye}function vt(J){return J.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}pn.\u0275fac=function(oe){return new(oe||pn)(e.LFG(j),e.LFG(N),e.LFG(he),e.LFG(e.Lbi),e.LFG(t.K0))},pn.\u0275prov=e.Yz7({token:pn,factory:pn.\u0275fac,providedIn:"root"});function se(J,oe){if(void 0===oe)return J;const De=Ye=>{const Dt=+Ye.slice(0,-"x".length);return J.endsWith("x")&&!isNaN(Dt)?`${Dt*oe.value}${oe.unit}`:J};return J.includes(" ")?J.split(" ").map(De).join(" "):De(J)}},3704:(Ue,q,m)=>{"use strict";m.d(q,{Zl:()=>L,aT:()=>a,oO:()=>W});var e=m(2560),t=m(4658),_=m(4666),E=m(8971),s=m(8951),D=m(4497);class u extends t.QI{buildStyles(N){return{content:N?`url(${N})`:""}}}u.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(u)))(F||u)}}(),u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k extends t.iR{constructor(N,F,X,Fe,ke,Ke){super(N,F,X,Fe),this.platformId=ke,this.serverModuleLoaded=Ke,this.DIRECTIVE_KEY="img-src",this.defaultSrc="",this.styleCache=p,this.init(),this.setValue(this.nativeElement.getAttribute("src")||"",""),(0,_.PM)(this.platformId)&&this.serverModuleLoaded&&this.nativeElement.setAttribute("src","")}set src(N){this.defaultSrc=N,this.setValue(this.defaultSrc,"")}updateWithValue(N){const F=N||this.defaultSrc;(0,_.PM)(this.platformId)&&this.serverModuleLoaded?this.addStyles(F):this.nativeElement.setAttribute("src",F)}}k.\u0275fac=function(N){return new(N||k)(e.Y36(e.SBq),e.Y36(u),e.Y36(t.RK),e.Y36(t.yB),e.Y36(e.Lbi),e.Y36(t.wY))},k.\u0275dir=e.lG2({type:k,inputs:{src:"src"},features:[e.qOj]});const p=new Map,S=["src.xs","src.sm","src.md","src.lg","src.xl","src.lt-sm","src.lt-md","src.lt-lg","src.lt-xl","src.gt-xs","src.gt-sm","src.gt-md","src.gt-lg"];class P extends k{constructor(){super(...arguments),this.inputs=S}}P.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(P)))(F||P)}}(),P.\u0275dir=e.lG2({type:P,selectors:[["img","src.xs",""],["img","src.sm",""],["img","src.md",""],["img","src.lg",""],["img","src.xl",""],["img","src.lt-sm",""],["img","src.lt-md",""],["img","src.lt-lg",""],["img","src.lt-xl",""],["img","src.gt-xs",""],["img","src.gt-sm",""],["img","src.gt-md",""],["img","src.gt-lg",""]],inputs:{"src.xs":"src.xs","src.sm":"src.sm","src.md":"src.md","src.lg":"src.lg","src.xl":"src.xl","src.lt-sm":"src.lt-sm","src.lt-md":"src.lt-md","src.lt-lg":"src.lt-lg","src.lt-xl":"src.lt-xl","src.gt-xs":"src.gt-xs","src.gt-sm":"src.gt-sm","src.gt-md":"src.gt-md","src.gt-lg":"src.gt-lg"},features:[e.qOj]});class M extends t.iR{constructor(N,F,X,Fe,ke,Ke,je){super(N,null,F,X),this.ngClassInstance=je,this.DIRECTIVE_KEY="ngClass",this.ngClassInstance||(this.ngClassInstance=new _.mk(Fe,ke,N,Ke)),this.init(),this.setValue("","")}set klass(N){this.ngClassInstance.klass=N,this.setValue(N,"")}updateWithValue(N){this.ngClassInstance.ngClass=N,this.ngClassInstance.ngDoCheck()}ngDoCheck(){this.ngClassInstance.ngDoCheck()}}M.\u0275fac=function(N){return new(N||M)(e.Y36(e.SBq),e.Y36(t.RK),e.Y36(t.yB),e.Y36(e.ZZ4),e.Y36(e.aQg),e.Y36(e.Qsj),e.Y36(_.mk,10))},M.\u0275dir=e.lG2({type:M,inputs:{klass:["class","klass"]},features:[e.qOj]});const z=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"];class W extends M{constructor(){super(...arguments),this.inputs=z}}W.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(W)))(F||W)}}(),W.\u0275dir=e.lG2({type:W,selectors:[["","ngClass",""],["","ngClass.xs",""],["","ngClass.sm",""],["","ngClass.md",""],["","ngClass.lg",""],["","ngClass.xl",""],["","ngClass.lt-sm",""],["","ngClass.lt-md",""],["","ngClass.lt-lg",""],["","ngClass.lt-xl",""],["","ngClass.gt-xs",""],["","ngClass.gt-sm",""],["","ngClass.gt-md",""],["","ngClass.gt-lg",""]],inputs:{ngClass:"ngClass","ngClass.xs":"ngClass.xs","ngClass.sm":"ngClass.sm","ngClass.md":"ngClass.md","ngClass.lg":"ngClass.lg","ngClass.xl":"ngClass.xl","ngClass.lt-sm":"ngClass.lt-sm","ngClass.lt-md":"ngClass.lt-md","ngClass.lt-lg":"ngClass.lt-lg","ngClass.lt-xl":"ngClass.lt-xl","ngClass.gt-xs":"ngClass.gt-xs","ngClass.gt-sm":"ngClass.gt-sm","ngClass.gt-md":"ngClass.gt-md","ngClass.gt-lg":"ngClass.gt-lg"},features:[e.qOj]});class Z extends t.QI{buildStyles(N,F){return{display:"true"===N?F.display||(F.isServer?"initial":""):"none"}}}Z.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(Z)))(F||Z)}}(),Z.\u0275prov=e.Yz7({token:Z,factory:Z.\u0275fac,providedIn:"root"});class Q extends t.iR{constructor(N,F,X,Fe,ke,Ke,je){super(N,F,X,Fe),this.layoutConfig=ke,this.platformId=Ke,this.serverModuleLoaded=je,this.DIRECTIVE_KEY="show-hide",this.display="",this.hasLayout=!1,this.hasFlexChild=!1}ngAfterViewInit(){this.trackExtraTriggers();const N=Array.from(this.nativeElement.children);for(let X=0;X{if(-1!==this.inputs.indexOf(F)){const X=F.split("."),Fe=X.slice(1).join("."),ke=N[F].currentValue;let Ke=""===ke||0!==ke&&(0,E.Ig)(ke);"fxHide"===X[0]&&(Ke=!Ke),this.setValue(Ke,Fe)}})}trackExtraTriggers(){this.hasLayout=this.marshal.hasValue(this.nativeElement,"layout"),["layout","layout-align"].forEach(N=>{this.marshal.trackValue(this.nativeElement,N).pipe((0,s.R)(this.destroySubject)).subscribe(this.triggerUpdate.bind(this))})}getDisplayStyle(){return this.hasLayout||this.hasFlexChild&&this.layoutConfig.addFlexToParent?"flex":this.styler.lookupStyle(this.nativeElement,"display",!0)}updateWithValue(N=!0){if(""===N)return;const F=(0,_.PM)(this.platformId);this.addStyles(N?"true":"false",{display:this.display,isServer:F}),F&&this.serverModuleLoaded&&this.nativeElement.style.setProperty("display",""),this.marshal.triggerUpdate(this.parentElement,"layout-gap")}}Q.\u0275fac=function(N){return new(N||Q)(e.Y36(e.SBq),e.Y36(Z),e.Y36(t.RK),e.Y36(t.yB),e.Y36(t.WU),e.Y36(e.Lbi),e.Y36(t.wY))},Q.\u0275dir=e.lG2({type:Q,features:[e.qOj,e.TTD]});const ie=new WeakMap,ae=["fxShow","fxShow.print","fxShow.xs","fxShow.sm","fxShow.md","fxShow.lg","fxShow.xl","fxShow.lt-sm","fxShow.lt-md","fxShow.lt-lg","fxShow.lt-xl","fxShow.gt-xs","fxShow.gt-sm","fxShow.gt-md","fxShow.gt-lg","fxHide","fxHide.print","fxHide.xs","fxHide.sm","fxHide.md","fxHide.lg","fxHide.xl","fxHide.lt-sm","fxHide.lt-md","fxHide.lt-lg","fxHide.lt-xl","fxHide.gt-xs","fxHide.gt-sm","fxHide.gt-md","fxHide.gt-lg"];class ce extends Q{constructor(){super(...arguments),this.inputs=ae}}ce.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(ce)))(F||ce)}}(),ce.\u0275dir=e.lG2({type:ce,selectors:[["","fxShow",""],["","fxShow.print",""],["","fxShow.xs",""],["","fxShow.sm",""],["","fxShow.md",""],["","fxShow.lg",""],["","fxShow.xl",""],["","fxShow.lt-sm",""],["","fxShow.lt-md",""],["","fxShow.lt-lg",""],["","fxShow.lt-xl",""],["","fxShow.gt-xs",""],["","fxShow.gt-sm",""],["","fxShow.gt-md",""],["","fxShow.gt-lg",""],["","fxHide",""],["","fxHide.print",""],["","fxHide.xs",""],["","fxHide.sm",""],["","fxHide.md",""],["","fxHide.lg",""],["","fxHide.xl",""],["","fxHide.lt-sm",""],["","fxHide.lt-md",""],["","fxHide.lt-lg",""],["","fxHide.lt-xl",""],["","fxHide.gt-xs",""],["","fxHide.gt-sm",""],["","fxHide.gt-md",""],["","fxHide.gt-lg",""]],inputs:{fxShow:"fxShow","fxShow.print":"fxShow.print","fxShow.xs":"fxShow.xs","fxShow.sm":"fxShow.sm","fxShow.md":"fxShow.md","fxShow.lg":"fxShow.lg","fxShow.xl":"fxShow.xl","fxShow.lt-sm":"fxShow.lt-sm","fxShow.lt-md":"fxShow.lt-md","fxShow.lt-lg":"fxShow.lt-lg","fxShow.lt-xl":"fxShow.lt-xl","fxShow.gt-xs":"fxShow.gt-xs","fxShow.gt-sm":"fxShow.gt-sm","fxShow.gt-md":"fxShow.gt-md","fxShow.gt-lg":"fxShow.gt-lg",fxHide:"fxHide","fxHide.print":"fxHide.print","fxHide.xs":"fxHide.xs","fxHide.sm":"fxHide.sm","fxHide.md":"fxHide.md","fxHide.lg":"fxHide.lg","fxHide.xl":"fxHide.xl","fxHide.lt-sm":"fxHide.lt-sm","fxHide.lt-md":"fxHide.lt-md","fxHide.lt-lg":"fxHide.lt-lg","fxHide.lt-xl":"fxHide.lt-xl","fxHide.gt-xs":"fxHide.gt-xs","fxHide.gt-sm":"fxHide.gt-sm","fxHide.gt-md":"fxHide.gt-md","fxHide.gt-lg":"fxHide.gt-lg"},features:[e.qOj]});class ye{constructor(N,F,X=!0){this.key=N,this.value=F,this.key=X?N.replace(/['"]/g,"").trim():N.trim(),this.value=X?F.replace(/['"]/g,"").trim():F.trim(),this.value=this.value.replace(/;/,"")}}function ue(C){let N=typeof C;return"object"===N?C.constructor===Array?"array":C.constructor===Set?"set":"object":N}function w(C,N){let F=[];return"set"===ue(C)?C.forEach(X=>F.push(X)):Object.keys(C).forEach(X=>{F.push(`${X}:${C[X]}`)}),function he(C,N){return C.map(n).filter(X=>!!X).map(X=>(N&&(X.value=N(X.value)),X)).reduce(o,{})}(F,N)}function n(C){const[N,...F]=C.split(":");return new ye(N,F.join(":"))}function o(C,N){return N.key&&(C[N.key]=N.value),C}class h extends t.iR{constructor(N,F,X,Fe,ke,Ke,je,Ve,xe){super(N,null,F,X),this.sanitizer=Fe,this.ngStyleInstance=je,this.DIRECTIVE_KEY="ngStyle",this.ngStyleInstance||(this.ngStyleInstance=new _.PC(N,ke,Ke)),this.init();const Ze=this.nativeElement.getAttribute("style")??"";this.fallbackStyles=this.buildStyleMap(Ze),this.isServer=Ve&&(0,_.PM)(xe)}updateWithValue(N){const F=this.buildStyleMap(N);this.ngStyleInstance.ngStyle={...this.fallbackStyles,...F},this.isServer&&this.applyStyleToElement(F),this.ngStyleInstance.ngDoCheck()}clearStyles(){this.ngStyleInstance.ngStyle=this.fallbackStyles,this.ngStyleInstance.ngDoCheck()}buildStyleMap(N){const F=X=>this.sanitizer.sanitize(e.q3G.STYLE,X)??"";if(N)switch(ue(N)){case"string":return B(function $(C,N=";"){return String(C).trim().split(N).map(F=>F.trim()).filter(F=>""!==F)}(N),F);case"array":return B(N,F);default:return w(N,F)}return{}}ngDoCheck(){this.ngStyleInstance.ngDoCheck()}}h.\u0275fac=function(N){return new(N||h)(e.Y36(e.SBq),e.Y36(t.RK),e.Y36(t.yB),e.Y36(D.H7),e.Y36(e.aQg),e.Y36(e.Qsj),e.Y36(_.PC,10),e.Y36(t.wY),e.Y36(e.Lbi))},h.\u0275dir=e.lG2({type:h,features:[e.qOj]});const d=["ngStyle","ngStyle.xs","ngStyle.sm","ngStyle.md","ngStyle.lg","ngStyle.xl","ngStyle.lt-sm","ngStyle.lt-md","ngStyle.lt-lg","ngStyle.lt-xl","ngStyle.gt-xs","ngStyle.gt-sm","ngStyle.gt-md","ngStyle.gt-lg"];class L extends h{constructor(){super(...arguments),this.inputs=d}}function B(C,N){return C.map(n).filter(X=>!!X).map(X=>(N&&(X.value=N(X.value)),X)).reduce(o,{})}L.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(L)))(F||L)}}(),L.\u0275dir=e.lG2({type:L,selectors:[["","ngStyle",""],["","ngStyle.xs",""],["","ngStyle.sm",""],["","ngStyle.md",""],["","ngStyle.lg",""],["","ngStyle.xl",""],["","ngStyle.lt-sm",""],["","ngStyle.lt-md",""],["","ngStyle.lt-lg",""],["","ngStyle.lt-xl",""],["","ngStyle.gt-xs",""],["","ngStyle.gt-sm",""],["","ngStyle.gt-md",""],["","ngStyle.gt-lg",""]],inputs:{ngStyle:"ngStyle","ngStyle.xs":"ngStyle.xs","ngStyle.sm":"ngStyle.sm","ngStyle.md":"ngStyle.md","ngStyle.lg":"ngStyle.lg","ngStyle.xl":"ngStyle.xl","ngStyle.lt-sm":"ngStyle.lt-sm","ngStyle.lt-md":"ngStyle.lt-md","ngStyle.lt-lg":"ngStyle.lt-lg","ngStyle.lt-xl":"ngStyle.lt-xl","ngStyle.gt-xs":"ngStyle.gt-xs","ngStyle.gt-sm":"ngStyle.gt-sm","ngStyle.gt-md":"ngStyle.gt-md","ngStyle.gt-lg":"ngStyle.gt-lg"},features:[e.qOj]});class a{}a.\u0275fac=function(N){return new(N||a)},a.\u0275mod=e.oAB({type:a}),a.\u0275inj=e.cJS({imports:[t.IR]})},6722:(Ue,q,m)=>{"use strict";m.d(q,{Wh:()=>Bt,ae:()=>vt,xw:()=>A,yH:()=>y});var e=m(2560),t=m(2867),_=m(4658),E=m(7200),s=m(253),D=m(8951);class u extends _.QI{buildStyles(se,{display:J}){const oe=(0,E.Ar)(se);return{...oe,display:"none"===J?J:oe.display}}}u.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(u)))(J||u)}}(),u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});const k=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"];class S extends _.iR{constructor(se,J,oe,De,Ye){super(se,oe,J,De),this._config=Ye,this.DIRECTIVE_KEY="layout",this.init()}updateWithValue(se){const oe=this._config.detectLayoutDisplay?this.styler.lookupStyle(this.nativeElement,"display"):"";this.styleCache=P.get(oe)??new Map,P.set(oe,this.styleCache),this.currentValue!==se&&(this.addStyles(se,{display:oe}),this.currentValue=se)}}S.\u0275fac=function(se){return new(se||S)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(u),e.Y36(_.yB),e.Y36(_.WU))},S.\u0275dir=e.lG2({type:S,features:[e.qOj]});class A extends S{constructor(){super(...arguments),this.inputs=k}}A.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(A)))(J||A)}}(),A.\u0275dir=e.lG2({type:A,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[e.qOj]});const P=new Map,M={"margin-left":null,"margin-right":null,"margin-top":null,"margin-bottom":null};class z extends _.QI{constructor(se,J){super(),this._styler=se,this._config=J}buildStyles(se,J){return se.endsWith(ye)?(se=se.slice(0,se.indexOf(ye)),function $(dt,se){const[J,oe]=dt.split(" "),Ye=Me=>`-${Me}`;let Dt="0px",ut=Ye(oe??J),ze="0px";return"rtl"===se?ze=Ye(J):Dt=Ye(J),{margin:`0px ${Dt} ${ut} ${ze}`}}(se=(0,_.FL)(se,this._config.multiplier),J.directionality)):{}}sideEffect(se,J,oe){const De=oe.items;if(se.endsWith(ye)){se=se.slice(0,se.indexOf(ye));const Ye=function ue(dt,se){const[J,oe]=dt.split(" ");let Ye="0px",ut="0px";return"rtl"===se?ut=J:Ye=J,{padding:`0px ${Ye} ${oe??J} ${ut}`}}(se=(0,_.FL)(se,this._config.multiplier),oe.directionality);this._styler.applyStyleToElements(Ye,oe.items)}else{se=(0,_.FL)(se,this._config.multiplier),se=this.addFallbackUnit(se);const Ye=De.pop(),Dt=function w(dt,se){const J=he(se.directionality,se.layout),oe={...M};return oe[J]=dt,oe}(se,oe);this._styler.applyStyleToElements(Dt,De),this._styler.applyStyleToElements(M,[Ye])}}addFallbackUnit(se){return isNaN(+se)?se:`${se}${this._config.defaultUnit}`}}z.\u0275fac=function(se){return new(se||z)(e.LFG(_.RK),e.LFG(_.WU))},z.\u0275prov=e.Yz7({token:z,factory:z.\u0275fac,providedIn:"root"});const I=["fxLayoutGap","fxLayoutGap.xs","fxLayoutGap.sm","fxLayoutGap.md","fxLayoutGap.lg","fxLayoutGap.xl","fxLayoutGap.lt-sm","fxLayoutGap.lt-md","fxLayoutGap.lt-lg","fxLayoutGap.lt-xl","fxLayoutGap.gt-xs","fxLayoutGap.gt-sm","fxLayoutGap.gt-md","fxLayoutGap.gt-lg"];class Z extends _.iR{constructor(se,J,oe,De,Ye,Dt){super(se,Ye,De,Dt),this.zone=J,this.directionality=oe,this.styleUtils=De,this.layout="row",this.DIRECTIVE_KEY="layout-gap",this.observerSubject=new s.x;const ut=[this.directionality.change,this.observerSubject.asObservable()];this.init(ut),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}get childrenNodes(){const se=this.nativeElement.children,J=[];for(let oe=se.length;oe--;)J[oe]=se[oe];return J}ngAfterContentInit(){this.buildChildObservable(),this.triggerUpdate()}ngOnDestroy(){super.ngOnDestroy(),this.observer&&this.observer.disconnect()}onLayoutChange(se){const oe=se.value.split(" ");this.layout=oe[0],E.iQ.find(De=>De===this.layout)||(this.layout="row"),this.triggerUpdate()}updateWithValue(se){const J=this.childrenNodes.filter(oe=>1===oe.nodeType&&this.willDisplay(oe)).sort((oe,De)=>{const Ye=+this.styler.lookupStyle(oe,"order"),Dt=+this.styler.lookupStyle(De,"order");return isNaN(Ye)||isNaN(Dt)||Ye===Dt?0:Ye>Dt?1:-1});if(J.length>0){const oe=this.directionality.value,De=this.layout;"row"===De&&"rtl"===oe?this.styleCache=ie:"row"===De&&"rtl"!==oe?this.styleCache=_e:"column"===De&&"rtl"===oe?this.styleCache=ae:"column"===De&&"rtl"!==oe&&(this.styleCache=ce),this.addStyles(se,{directionality:oe,items:J,layout:De})}}clearStyles(){const se=Object.keys(this.mru).length>0,J=se?"padding":he(this.directionality.value,this.layout);se&&super.clearStyles(),this.styleUtils.applyStyleToElements({[J]:""},this.childrenNodes)}willDisplay(se){const J=this.marshal.getValue(se,"show-hide");return!0===J||void 0===J&&"none"!==this.styleUtils.lookupStyle(se,"display")}buildChildObservable(){this.zone.runOutsideAngular(()=>{typeof MutationObserver<"u"&&(this.observer=new MutationObserver(se=>{se.some(oe=>oe.addedNodes&&oe.addedNodes.length>0||oe.removedNodes&&oe.removedNodes.length>0)&&this.observerSubject.next()}),this.observer.observe(this.nativeElement,{childList:!0}))})}}Z.\u0275fac=function(se){return new(se||Z)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(t.Is),e.Y36(_.RK),e.Y36(z),e.Y36(_.yB))},Z.\u0275dir=e.lG2({type:Z,features:[e.qOj]});class Q extends Z{constructor(){super(...arguments),this.inputs=I}}Q.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(Q)))(J||Q)}}(),Q.\u0275dir=e.lG2({type:Q,selectors:[["","fxLayoutGap",""],["","fxLayoutGap.xs",""],["","fxLayoutGap.sm",""],["","fxLayoutGap.md",""],["","fxLayoutGap.lg",""],["","fxLayoutGap.xl",""],["","fxLayoutGap.lt-sm",""],["","fxLayoutGap.lt-md",""],["","fxLayoutGap.lt-lg",""],["","fxLayoutGap.lt-xl",""],["","fxLayoutGap.gt-xs",""],["","fxLayoutGap.gt-sm",""],["","fxLayoutGap.gt-md",""],["","fxLayoutGap.gt-lg",""]],inputs:{fxLayoutGap:"fxLayoutGap","fxLayoutGap.xs":"fxLayoutGap.xs","fxLayoutGap.sm":"fxLayoutGap.sm","fxLayoutGap.md":"fxLayoutGap.md","fxLayoutGap.lg":"fxLayoutGap.lg","fxLayoutGap.xl":"fxLayoutGap.xl","fxLayoutGap.lt-sm":"fxLayoutGap.lt-sm","fxLayoutGap.lt-md":"fxLayoutGap.lt-md","fxLayoutGap.lt-lg":"fxLayoutGap.lt-lg","fxLayoutGap.lt-xl":"fxLayoutGap.lt-xl","fxLayoutGap.gt-xs":"fxLayoutGap.gt-xs","fxLayoutGap.gt-sm":"fxLayoutGap.gt-sm","fxLayoutGap.gt-md":"fxLayoutGap.gt-md","fxLayoutGap.gt-lg":"fxLayoutGap.gt-lg"},features:[e.qOj]});const ie=new Map,ae=new Map,_e=new Map,ce=new Map,ye=" grid";function he(dt,se){switch(se){case"column":return"margin-bottom";case"column-reverse":return"margin-top";case"row":default:return"rtl"===dt?"margin-left":"margin-right";case"row-reverse":return"rtl"===dt?"margin-right":"margin-left"}}class n extends _.QI{constructor(se){super(),this.layoutConfig=se}buildStyles(se,J){let[oe,De,...Ye]=se.split(" "),Dt=Ye.join(" ");const ut=J.direction.indexOf("column")>-1?"column":"row",ze=(0,E.tj)(ut)?"max-width":"max-height",Me=(0,E.tj)(ut)?"min-width":"min-height",Ce=String(Dt).indexOf("calc")>-1,Je=Ce||"auto"===Dt,zt=String(Dt).indexOf("%")>-1&&!Ce,At=String(Dt).indexOf("px")>-1||String(Dt).indexOf("rem")>-1||String(Dt).indexOf("em")>-1||String(Dt).indexOf("vw")>-1||String(Dt).indexOf("vh")>-1;let Tt=Ce||At;oe="0"==oe?0:oe,De="0"==De?0:De;const Ht=!oe&&!De;let He={};const $e={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(Dt||""){case"":const $t=!1!==this.layoutConfig.useColumnBasisZero;Dt="row"===ut?"0%":$t?"0.000000001px":"auto";break;case"initial":case"nogrow":oe=0,Dt="auto";break;case"grow":Dt="100%";break;case"noshrink":De=0,Dt="auto";break;case"auto":break;case"none":oe=0,De=0,Dt="auto";break;default:!Tt&&!zt&&!isNaN(Dt)&&(Dt+="%"),"0%"===Dt&&(Tt=!0),"0px"===Dt&&(Dt="0%"),He=Ce?(0,E.kt)($e,{"flex-grow":oe,"flex-shrink":De,"flex-basis":Tt?Dt:"100%"}):(0,E.kt)($e,{flex:`${oe} ${De} ${Tt?Dt:"100%"}`})}return He.flex||He["flex-grow"]||(He=Ce?(0,E.kt)($e,{"flex-grow":oe,"flex-shrink":De,"flex-basis":Dt}):(0,E.kt)($e,{flex:`${oe} ${De} ${Dt}`})),"0%"!==Dt&&"0px"!==Dt&&"0.000000001px"!==Dt&&"auto"!==Dt&&(He[Me]=Ht||Tt&&oe?Dt:null,He[ze]=Ht||!Je&&De?Dt:null),He[Me]||He[ze]?J.hasWrap&&(He[Ce?"flex-basis":"flex"]=He[ze]?Ce?He[ze]:`${oe} ${De} ${He[ze]}`:Ce?He[Me]:`${oe} ${De} ${He[Me]}`):He=Ce?(0,E.kt)($e,{"flex-grow":oe,"flex-shrink":De,"flex-basis":Dt}):(0,E.kt)($e,{flex:`${oe} ${De} ${Dt}`}),(0,E.kt)(He,{"box-sizing":"border-box"})}}n.\u0275fac=function(se){return new(se||n)(e.LFG(_.WU))},n.\u0275prov=e.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"});const o=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"];class d extends _.iR{constructor(se,J,oe,De,Ye){super(se,De,J,Ye),this.layoutConfig=oe,this.marshal=Ye,this.DIRECTIVE_KEY="flex",this.direction=void 0,this.wrap=void 0,this.flexGrow="1",this.flexShrink="1",this.init()}get shrink(){return this.flexShrink}set shrink(se){this.flexShrink=se||"1",this.triggerReflow()}get grow(){return this.flexGrow}set grow(se){this.flexGrow=se||"1",this.triggerReflow()}ngOnInit(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe((0,D.R)(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))}onLayoutChange(se){const oe=se.value.split(" ");this.direction=oe[0],this.wrap=void 0!==oe[1]&&"wrap"===oe[1],this.triggerUpdate()}updateWithValue(se){const J=!1!==this.layoutConfig.addFlexToParent;void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,J)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));const oe=this.direction,De=oe.startsWith("row"),Ye=this.wrap;De&&Ye?this.styleCache=v:De&&!Ye?this.styleCache=L:!De&&Ye?this.styleCache=a:!De&&!Ye&&(this.styleCache=B);const Dt=String(se).replace(";",""),ut=(0,_.Ot)(Dt,this.flexGrow,this.flexShrink);this.addStyles(ut.join(" "),{direction:oe,hasWrap:Ye})}triggerReflow(){const se=this.activatedValue;if(void 0!==se){const J=(0,_.Ot)(se+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,J.join(" "))}}}d.\u0275fac=function(se){return new(se||d)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(_.WU),e.Y36(n),e.Y36(_.yB))},d.\u0275dir=e.lG2({type:d,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[e.qOj]});class y extends d{constructor(){super(...arguments),this.inputs=o}}y.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(y)))(J||y)}}(),y.\u0275dir=e.lG2({type:y,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[e.qOj]});const L=new Map,B=new Map,v=new Map,a=new Map;class C extends _.QI{buildStyles(se){return{order:se&&parseInt(se,10)||""}}}C.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(C)))(J||C)}}(),C.\u0275prov=e.Yz7({token:C,factory:C.\u0275fac,providedIn:"root"});const N=["fxFlexOrder","fxFlexOrder.xs","fxFlexOrder.sm","fxFlexOrder.md","fxFlexOrder.lg","fxFlexOrder.xl","fxFlexOrder.lt-sm","fxFlexOrder.lt-md","fxFlexOrder.lt-lg","fxFlexOrder.lt-xl","fxFlexOrder.gt-xs","fxFlexOrder.gt-sm","fxFlexOrder.gt-md","fxFlexOrder.gt-lg"];class X extends _.iR{constructor(se,J,oe,De){super(se,oe,J,De),this.DIRECTIVE_KEY="flex-order",this.styleCache=Fe,this.init()}}X.\u0275fac=function(se){return new(se||X)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(C),e.Y36(_.yB))},X.\u0275dir=e.lG2({type:X,features:[e.qOj]});const Fe=new Map;class ke extends X{constructor(){super(...arguments),this.inputs=N}}ke.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(ke)))(J||ke)}}(),ke.\u0275dir=e.lG2({type:ke,selectors:[["","fxFlexOrder",""],["","fxFlexOrder.xs",""],["","fxFlexOrder.sm",""],["","fxFlexOrder.md",""],["","fxFlexOrder.lg",""],["","fxFlexOrder.xl",""],["","fxFlexOrder.lt-sm",""],["","fxFlexOrder.lt-md",""],["","fxFlexOrder.lt-lg",""],["","fxFlexOrder.lt-xl",""],["","fxFlexOrder.gt-xs",""],["","fxFlexOrder.gt-sm",""],["","fxFlexOrder.gt-md",""],["","fxFlexOrder.gt-lg",""]],inputs:{fxFlexOrder:"fxFlexOrder","fxFlexOrder.xs":"fxFlexOrder.xs","fxFlexOrder.sm":"fxFlexOrder.sm","fxFlexOrder.md":"fxFlexOrder.md","fxFlexOrder.lg":"fxFlexOrder.lg","fxFlexOrder.xl":"fxFlexOrder.xl","fxFlexOrder.lt-sm":"fxFlexOrder.lt-sm","fxFlexOrder.lt-md":"fxFlexOrder.lt-md","fxFlexOrder.lt-lg":"fxFlexOrder.lt-lg","fxFlexOrder.lt-xl":"fxFlexOrder.lt-xl","fxFlexOrder.gt-xs":"fxFlexOrder.gt-xs","fxFlexOrder.gt-sm":"fxFlexOrder.gt-sm","fxFlexOrder.gt-md":"fxFlexOrder.gt-md","fxFlexOrder.gt-lg":"fxFlexOrder.gt-lg"},features:[e.qOj]});class Ke extends _.QI{constructor(se){super(),this._config=se}buildStyles(se,J){se||(se="0"),se=(0,_.FL)(se,this._config.multiplier);const oe=String(se).indexOf("%")>-1;!(String(se).indexOf("px")>-1)&&!oe&&!isNaN(+se)&&(se=`${se}%`);const Ye=J.isRtl?"margin-right":"margin-left";return(0,E.tj)(J.layout)?{[Ye]:se}:{"margin-top":se}}}Ke.\u0275fac=function(se){return new(se||Ke)(e.LFG(_.WU))},Ke.\u0275prov=e.Yz7({token:Ke,factory:Ke.\u0275fac,providedIn:"root"});const je=["fxFlexOffset","fxFlexOffset.xs","fxFlexOffset.sm","fxFlexOffset.md","fxFlexOffset.lg","fxFlexOffset.xl","fxFlexOffset.lt-sm","fxFlexOffset.lt-md","fxFlexOffset.lt-lg","fxFlexOffset.lt-xl","fxFlexOffset.gt-xs","fxFlexOffset.gt-sm","fxFlexOffset.gt-md","fxFlexOffset.gt-lg"];class xe extends _.iR{constructor(se,J,oe,De,Ye){super(se,oe,Ye,De),this.directionality=J,this.DIRECTIVE_KEY="flex-offset",this.init([this.directionality.change]),this.parentElement&&this.marshal.trackValue(this.parentElement,"layout-gap").pipe((0,D.R)(this.destroySubject)).subscribe(this.triggerUpdate.bind(this))}updateWithValue(se=""){const J=this.getFlexFlowDirection(this.parentElement,!0),oe="rtl"===this.directionality.value;"row"===J&&oe?this.styleCache=Ie:"row"!==J||oe?"column"===J&&oe?this.styleCache=ve:"column"===J&&!oe&&(this.styleCache=ht):this.styleCache=et,this.addStyles(se+"",{layout:J,isRtl:oe})}}xe.\u0275fac=function(se){return new(se||xe)(e.Y36(e.SBq),e.Y36(t.Is),e.Y36(Ke),e.Y36(_.yB),e.Y36(_.RK))},xe.\u0275dir=e.lG2({type:xe,features:[e.qOj]});class Ze extends xe{constructor(){super(...arguments),this.inputs=je}}Ze.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(Ze)))(J||Ze)}}(),Ze.\u0275dir=e.lG2({type:Ze,selectors:[["","fxFlexOffset",""],["","fxFlexOffset.xs",""],["","fxFlexOffset.sm",""],["","fxFlexOffset.md",""],["","fxFlexOffset.lg",""],["","fxFlexOffset.xl",""],["","fxFlexOffset.lt-sm",""],["","fxFlexOffset.lt-md",""],["","fxFlexOffset.lt-lg",""],["","fxFlexOffset.lt-xl",""],["","fxFlexOffset.gt-xs",""],["","fxFlexOffset.gt-sm",""],["","fxFlexOffset.gt-md",""],["","fxFlexOffset.gt-lg",""]],inputs:{fxFlexOffset:"fxFlexOffset","fxFlexOffset.xs":"fxFlexOffset.xs","fxFlexOffset.sm":"fxFlexOffset.sm","fxFlexOffset.md":"fxFlexOffset.md","fxFlexOffset.lg":"fxFlexOffset.lg","fxFlexOffset.xl":"fxFlexOffset.xl","fxFlexOffset.lt-sm":"fxFlexOffset.lt-sm","fxFlexOffset.lt-md":"fxFlexOffset.lt-md","fxFlexOffset.lt-lg":"fxFlexOffset.lt-lg","fxFlexOffset.lt-xl":"fxFlexOffset.lt-xl","fxFlexOffset.gt-xs":"fxFlexOffset.gt-xs","fxFlexOffset.gt-sm":"fxFlexOffset.gt-sm","fxFlexOffset.gt-md":"fxFlexOffset.gt-md","fxFlexOffset.gt-lg":"fxFlexOffset.gt-lg"},features:[e.qOj]});const Ie=new Map,ve=new Map,et=new Map,ht=new Map;class Le extends _.QI{buildStyles(se){const J={};switch(se=se||"stretch"){case"start":J["align-self"]="flex-start";break;case"end":J["align-self"]="flex-end";break;default:J["align-self"]=se}return J}}Le.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(Le)))(J||Le)}}(),Le.\u0275prov=e.Yz7({token:Le,factory:Le.\u0275fac,providedIn:"root"});const Ae=["fxFlexAlign","fxFlexAlign.xs","fxFlexAlign.sm","fxFlexAlign.md","fxFlexAlign.lg","fxFlexAlign.xl","fxFlexAlign.lt-sm","fxFlexAlign.lt-md","fxFlexAlign.lt-lg","fxFlexAlign.lt-xl","fxFlexAlign.gt-xs","fxFlexAlign.gt-sm","fxFlexAlign.gt-md","fxFlexAlign.gt-lg"];class pe extends _.iR{constructor(se,J,oe,De){super(se,oe,J,De),this.DIRECTIVE_KEY="flex-align",this.styleCache=ee,this.init()}}pe.\u0275fac=function(se){return new(se||pe)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(Le),e.Y36(_.yB))},pe.\u0275dir=e.lG2({type:pe,features:[e.qOj]});const ee=new Map;class H extends pe{constructor(){super(...arguments),this.inputs=Ae}}H.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(H)))(J||H)}}(),H.\u0275dir=e.lG2({type:H,selectors:[["","fxFlexAlign",""],["","fxFlexAlign.xs",""],["","fxFlexAlign.sm",""],["","fxFlexAlign.md",""],["","fxFlexAlign.lg",""],["","fxFlexAlign.xl",""],["","fxFlexAlign.lt-sm",""],["","fxFlexAlign.lt-md",""],["","fxFlexAlign.lt-lg",""],["","fxFlexAlign.lt-xl",""],["","fxFlexAlign.gt-xs",""],["","fxFlexAlign.gt-sm",""],["","fxFlexAlign.gt-md",""],["","fxFlexAlign.gt-lg",""]],inputs:{fxFlexAlign:"fxFlexAlign","fxFlexAlign.xs":"fxFlexAlign.xs","fxFlexAlign.sm":"fxFlexAlign.sm","fxFlexAlign.md":"fxFlexAlign.md","fxFlexAlign.lg":"fxFlexAlign.lg","fxFlexAlign.xl":"fxFlexAlign.xl","fxFlexAlign.lt-sm":"fxFlexAlign.lt-sm","fxFlexAlign.lt-md":"fxFlexAlign.lt-md","fxFlexAlign.lt-lg":"fxFlexAlign.lt-lg","fxFlexAlign.lt-xl":"fxFlexAlign.lt-xl","fxFlexAlign.gt-xs":"fxFlexAlign.gt-xs","fxFlexAlign.gt-sm":"fxFlexAlign.gt-sm","fxFlexAlign.gt-md":"fxFlexAlign.gt-md","fxFlexAlign.gt-lg":"fxFlexAlign.gt-lg"},features:[e.qOj]});const j={margin:0,width:"100%",height:"100%","min-width":"100%","min-height":"100%"};class Oe extends _.QI{buildStyles(se){return j}}Oe.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(Oe)))(J||Oe)}}(),Oe.\u0275prov=e.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"});class Re extends _.iR{constructor(se,J,oe,De){super(se,oe,J,De),this.styleCache=le,this.addStyles("")}}Re.\u0275fac=function(se){return new(se||Re)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(Oe),e.Y36(_.yB))},Re.\u0275dir=e.lG2({type:Re,selectors:[["","fxFill",""],["","fxFlexFill",""]],features:[e.qOj]});const le=new Map;class _t extends _.QI{buildStyles(se,J){const oe={},[De,Ye]=se.split(" ");switch(De){case"center":oe["justify-content"]="center";break;case"space-around":oe["justify-content"]="space-around";break;case"space-between":oe["justify-content"]="space-between";break;case"space-evenly":oe["justify-content"]="space-evenly";break;case"end":case"flex-end":oe["justify-content"]="flex-end";break;default:oe["justify-content"]="flex-start"}switch(Ye){case"start":case"flex-start":oe["align-items"]=oe["align-content"]="flex-start";break;case"center":oe["align-items"]=oe["align-content"]="center";break;case"end":case"flex-end":oe["align-items"]=oe["align-content"]="flex-end";break;case"space-between":oe["align-content"]="space-between",oe["align-items"]="stretch";break;case"space-around":oe["align-content"]="space-around",oe["align-items"]="stretch";break;case"baseline":oe["align-content"]="stretch",oe["align-items"]="baseline";break;default:oe["align-items"]=oe["align-content"]="stretch"}return(0,E.kt)(oe,{display:J.inline?"inline-flex":"flex","flex-direction":J.layout,"box-sizing":"border-box","max-width":"stretch"===Ye?(0,E.tj)(J.layout)?null:"100%":null,"max-height":"stretch"===Ye&&(0,E.tj)(J.layout)?"100%":null})}}_t.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(_t)))(J||_t)}}(),_t.\u0275prov=e.Yz7({token:_t,factory:_t.\u0275fac,providedIn:"root"});const it=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"];class un extends _.iR{constructor(se,J,oe,De){super(se,oe,J,De),this.DIRECTIVE_KEY="layout-align",this.layout="row",this.inline=!1,this.init(),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}updateWithValue(se){const J=this.layout||"row",oe=this.inline;"row"===J&&oe?this.styleCache=In:"row"!==J||oe?"row-reverse"===J&&oe?this.styleCache=tn:"row-reverse"!==J||oe?"column"===J&&oe?this.styleCache=rn:"column"!==J||oe?"column-reverse"===J&&oe?this.styleCache=pn:"column-reverse"===J&&!oe&&(this.styleCache=Gt):this.styleCache=yn:this.styleCache=Xt:this.styleCache=Ut,this.addStyles(se,{layout:J,inline:oe})}onLayoutChange(se){const J=se.value.split(" ");this.layout=J[0],this.inline=se.value.includes("inline"),E.iQ.find(oe=>oe===this.layout)||(this.layout="row"),this.triggerUpdate()}}un.\u0275fac=function(se){return new(se||un)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(_t),e.Y36(_.yB))},un.\u0275dir=e.lG2({type:un,features:[e.qOj]});class Bt extends un{constructor(){super(...arguments),this.inputs=it}}Bt.\u0275fac=function(){let dt;return function(J){return(dt||(dt=e.n5z(Bt)))(J||Bt)}}(),Bt.\u0275dir=e.lG2({type:Bt,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[e.qOj]});const Ut=new Map,yn=new Map,Xt=new Map,Gt=new Map,In=new Map,rn=new Map,tn=new Map,pn=new Map;class vt{}vt.\u0275fac=function(se){return new(se||vt)},vt.\u0275mod=e.oAB({type:vt}),vt.\u0275inj=e.cJS({imports:[_.IR,t.vT]})},2508:(Ue,q,m)=>{"use strict";m.d(q,{Cf:()=>Q,F:()=>en,Fd:()=>Oa,Fj:()=>z,JJ:()=>te,JL:()=>pe,JU:()=>k,On:()=>Nn,Q7:()=>yr,QS:()=>ar,UX:()=>la,Zs:()=>sa,_Y:()=>li,a5:()=>et,gN:()=>ve,kI:()=>_e,oH:()=>Sa,p4:()=>ha,qQ:()=>Ja,sg:()=>Ki,u:()=>Qi,u5:()=>oa,wV:()=>Ii});var e=m(2560),t=m(4666),_=m(7400),E=m(1640),s=m(635);class D{constructor(be,ct){this._renderer=be,this._elementRef=ct,this.onChange=Yt=>{},this.onTouched=()=>{}}setProperty(be,ct){this._renderer.setProperty(this._elementRef.nativeElement,be,ct)}registerOnTouched(be){this.onTouched=be}registerOnChange(be){this.onChange=be}setDisabledState(be){this.setProperty("disabled",be)}}D.\u0275fac=function(be){return new(be||D)(e.Y36(e.Qsj),e.Y36(e.SBq))},D.\u0275dir=e.lG2({type:D});class u extends D{}u.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(u)))(ct||u)}}(),u.\u0275dir=e.lG2({type:u,features:[e.qOj]});const k=new e.OlP("NgValueAccessor"),p={provide:k,useExisting:(0,e.Gpc)(()=>S),multi:!0};class S extends u{writeValue(be){this.setProperty("checked",be)}}S.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(S)))(ct||S)}}(),S.\u0275dir=e.lG2({type:S,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(be,ct){1&be&&e.NdJ("change",function(Pn){return ct.onChange(Pn.target.checked)})("blur",function(){return ct.onTouched()})},features:[e._Bn([p]),e.qOj]});const A={provide:k,useExisting:(0,e.Gpc)(()=>z),multi:!0};const M=new e.OlP("CompositionEventMode");class z extends D{constructor(be,ct,Yt){super(be,ct),this._compositionMode=Yt,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function P(){const bt=(0,t.q)()?(0,t.q)().getUserAgent():"";return/android (\d+)/.test(bt.toLowerCase())}())}writeValue(be){const ct=be??"";this.setProperty("value",ct)}_handleInput(be){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(be)}_compositionStart(){this._composing=!0}_compositionEnd(be){this._composing=!1,this._compositionMode&&this.onChange(be)}}z.\u0275fac=function(be){return new(be||z)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(M,8))},z.\u0275dir=e.lG2({type:z,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(be,ct){1&be&&e.NdJ("input",function(Pn){return ct._handleInput(Pn.target.value)})("blur",function(){return ct.onTouched()})("compositionstart",function(){return ct._compositionStart()})("compositionend",function(Pn){return ct._compositionEnd(Pn.target.value)})},features:[e._Bn([A]),e.qOj]});function W(bt){return null==bt||("string"==typeof bt||Array.isArray(bt))&&0===bt.length}function Z(bt){return null!=bt&&"number"==typeof bt.length}const Q=new e.OlP("NgValidators"),ie=new e.OlP("NgAsyncValidators"),ae=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class _e{static min(be){return ce(be)}static max(be){return ye(be)}static required(be){return ue(be)}static requiredTrue(be){return $(be)}static email(be){return he(be)}static minLength(be){return w(be)}static maxLength(be){return n(be)}static pattern(be){return o(be)}static nullValidator(be){return null}static compose(be){return C(be)}static composeAsync(be){return F(be)}}function ce(bt){return be=>{if(W(be.value)||W(bt))return null;const ct=parseFloat(be.value);return!isNaN(ct)&&ct{if(W(be.value)||W(bt))return null;const ct=parseFloat(be.value);return!isNaN(ct)&&ct>bt?{max:{max:bt,actual:be.value}}:null}}function ue(bt){return W(bt.value)?{required:!0}:null}function $(bt){return!0===bt.value?null:{required:!0}}function he(bt){return W(bt.value)||ae.test(bt.value)?null:{email:!0}}function w(bt){return be=>W(be.value)||!Z(be.value)?null:be.value.lengthZ(be.value)&&be.value.length>bt?{maxlength:{requiredLength:bt,actualLength:be.value.length}}:null}function o(bt){if(!bt)return h;let be,ct;return"string"==typeof bt?(ct="","^"!==bt.charAt(0)&&(ct+="^"),ct+=bt,"$"!==bt.charAt(bt.length-1)&&(ct+="$"),be=new RegExp(ct)):(ct=bt.toString(),be=bt),Yt=>{if(W(Yt.value))return null;const Pn=Yt.value;return be.test(Pn)?null:{pattern:{requiredPattern:ct,actualValue:Pn}}}}function h(bt){return null}function d(bt){return null!=bt}function y(bt){const be=(0,e.QGY)(bt)?(0,_.D)(bt):bt;return be}function L(bt){let be={};return bt.forEach(ct=>{be=null!=ct?{...be,...ct}:be}),0===Object.keys(be).length?null:be}function B(bt,be){return be.map(ct=>ct(bt))}function a(bt){return bt.map(be=>function v(bt){return!bt.validate}(be)?be:ct=>be.validate(ct))}function C(bt){if(!bt)return null;const be=bt.filter(d);return 0==be.length?null:function(ct){return L(B(ct,be))}}function N(bt){return null!=bt?C(a(bt)):null}function F(bt){if(!bt)return null;const be=bt.filter(d);return 0==be.length?null:function(ct){const Yt=B(ct,be).map(y);return(0,E.D)(Yt).pipe((0,s.U)(L))}}function X(bt){return null!=bt?F(a(bt)):null}function Fe(bt,be){return null===bt?[be]:Array.isArray(bt)?[...bt,be]:[bt,be]}function ke(bt){return bt._rawValidators}function Ke(bt){return bt._rawAsyncValidators}function je(bt){return bt?Array.isArray(bt)?bt:[bt]:[]}function Ve(bt,be){return Array.isArray(bt)?bt.includes(be):bt===be}function xe(bt,be){const ct=je(be);return je(bt).forEach(Pn=>{Ve(ct,Pn)||ct.push(Pn)}),ct}function Ze(bt,be){return je(be).filter(ct=>!Ve(bt,ct))}class Ie{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(be){this._rawValidators=be||[],this._composedValidatorFn=N(this._rawValidators)}_setAsyncValidators(be){this._rawAsyncValidators=be||[],this._composedAsyncValidatorFn=X(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(be){this._onDestroyCallbacks.push(be)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(be=>be()),this._onDestroyCallbacks=[]}reset(be){this.control&&this.control.reset(be)}hasError(be,ct){return!!this.control&&this.control.hasError(be,ct)}getError(be,ct){return this.control?this.control.getError(be,ct):null}}class ve extends Ie{get formDirective(){return null}get path(){return null}}class et extends Ie{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ht{constructor(be){this._cd=be}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}class te extends ht{constructor(be){super(be)}}te.\u0275fac=function(be){return new(be||te)(e.Y36(et,2))},te.\u0275dir=e.lG2({type:te,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(be,ct){2&be&&e.ekj("ng-untouched",ct.isUntouched)("ng-touched",ct.isTouched)("ng-pristine",ct.isPristine)("ng-dirty",ct.isDirty)("ng-valid",ct.isValid)("ng-invalid",ct.isInvalid)("ng-pending",ct.isPending)},features:[e.qOj]});class pe extends ht{constructor(be){super(be)}}pe.\u0275fac=function(be){return new(be||pe)(e.Y36(ve,10))},pe.\u0275dir=e.lG2({type:pe,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(be,ct){2&be&&e.ekj("ng-untouched",ct.isUntouched)("ng-touched",ct.isTouched)("ng-pristine",ct.isPristine)("ng-dirty",ct.isDirty)("ng-valid",ct.isValid)("ng-invalid",ct.isInvalid)("ng-pending",ct.isPending)("ng-submitted",ct.isSubmitted)},features:[e.qOj]});const pn="VALID",tt="INVALID",vt="PENDING",dt="DISABLED";function se(bt){return(Ye(bt)?bt.validators:bt)||null}function oe(bt,be){return(Ye(be)?be.asyncValidators:bt)||null}function Ye(bt){return null!=bt&&!Array.isArray(bt)&&"object"==typeof bt}function Dt(bt,be,ct){const Yt=bt.controls;if(!(be?Object.keys(Yt):Yt).length)throw new e.vHH(1e3,"");if(!Yt[ct])throw new e.vHH(1001,"")}function ut(bt,be,ct){bt._forEachChild((Yt,Pn)=>{if(void 0===ct[Pn])throw new e.vHH(1002,"")})}class ze{constructor(be,ct){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(be),this._assignAsyncValidators(ct)}get validator(){return this._composedValidatorFn}set validator(be){this._rawValidators=this._composedValidatorFn=be}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(be){this._rawAsyncValidators=this._composedAsyncValidatorFn=be}get parent(){return this._parent}get valid(){return this.status===pn}get invalid(){return this.status===tt}get pending(){return this.status==vt}get disabled(){return this.status===dt}get enabled(){return this.status!==dt}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(be){this._assignValidators(be)}setAsyncValidators(be){this._assignAsyncValidators(be)}addValidators(be){this.setValidators(xe(be,this._rawValidators))}addAsyncValidators(be){this.setAsyncValidators(xe(be,this._rawAsyncValidators))}removeValidators(be){this.setValidators(Ze(be,this._rawValidators))}removeAsyncValidators(be){this.setAsyncValidators(Ze(be,this._rawAsyncValidators))}hasValidator(be){return Ve(this._rawValidators,be)}hasAsyncValidator(be){return Ve(this._rawAsyncValidators,be)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(be={}){this.touched=!0,this._parent&&!be.onlySelf&&this._parent.markAsTouched(be)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(be=>be.markAllAsTouched())}markAsUntouched(be={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(ct=>{ct.markAsUntouched({onlySelf:!0})}),this._parent&&!be.onlySelf&&this._parent._updateTouched(be)}markAsDirty(be={}){this.pristine=!1,this._parent&&!be.onlySelf&&this._parent.markAsDirty(be)}markAsPristine(be={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(ct=>{ct.markAsPristine({onlySelf:!0})}),this._parent&&!be.onlySelf&&this._parent._updatePristine(be)}markAsPending(be={}){this.status=vt,!1!==be.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!be.onlySelf&&this._parent.markAsPending(be)}disable(be={}){const ct=this._parentMarkedDirty(be.onlySelf);this.status=dt,this.errors=null,this._forEachChild(Yt=>{Yt.disable({...be,onlySelf:!0})}),this._updateValue(),!1!==be.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...be,skipPristineCheck:ct}),this._onDisabledChange.forEach(Yt=>Yt(!0))}enable(be={}){const ct=this._parentMarkedDirty(be.onlySelf);this.status=pn,this._forEachChild(Yt=>{Yt.enable({...be,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:be.emitEvent}),this._updateAncestors({...be,skipPristineCheck:ct}),this._onDisabledChange.forEach(Yt=>Yt(!1))}_updateAncestors(be){this._parent&&!be.onlySelf&&(this._parent.updateValueAndValidity(be),be.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(be){this._parent=be}getRawValue(){return this.value}updateValueAndValidity(be={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===pn||this.status===vt)&&this._runAsyncValidator(be.emitEvent)),!1!==be.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!be.onlySelf&&this._parent.updateValueAndValidity(be)}_updateTreeValidity(be={emitEvent:!0}){this._forEachChild(ct=>ct._updateTreeValidity(be)),this.updateValueAndValidity({onlySelf:!0,emitEvent:be.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?dt:pn}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(be){if(this.asyncValidator){this.status=vt,this._hasOwnPendingAsyncValidator=!0;const ct=y(this.asyncValidator(this));this._asyncValidationSubscription=ct.subscribe(Yt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(Yt,{emitEvent:be})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(be,ct={}){this.errors=be,this._updateControlsErrors(!1!==ct.emitEvent)}get(be){let ct=be;return null==ct||(Array.isArray(ct)||(ct=ct.split(".")),0===ct.length)?null:ct.reduce((Yt,Pn)=>Yt&&Yt._find(Pn),this)}getError(be,ct){const Yt=ct?this.get(ct):this;return Yt&&Yt.errors?Yt.errors[be]:null}hasError(be,ct){return!!this.getError(be,ct)}get root(){let be=this;for(;be._parent;)be=be._parent;return be}_updateControlsErrors(be){this.status=this._calculateStatus(),be&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(be)}_initObservables(){this.valueChanges=new e.vpe,this.statusChanges=new e.vpe}_calculateStatus(){return this._allControlsDisabled()?dt:this.errors?tt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(vt)?vt:this._anyControlsHaveStatus(tt)?tt:pn}_anyControlsHaveStatus(be){return this._anyControls(ct=>ct.status===be)}_anyControlsDirty(){return this._anyControls(be=>be.dirty)}_anyControlsTouched(){return this._anyControls(be=>be.touched)}_updatePristine(be={}){this.pristine=!this._anyControlsDirty(),this._parent&&!be.onlySelf&&this._parent._updatePristine(be)}_updateTouched(be={}){this.touched=this._anyControlsTouched(),this._parent&&!be.onlySelf&&this._parent._updateTouched(be)}_registerOnCollectionChange(be){this._onCollectionChange=be}_setUpdateStrategy(be){Ye(be)&&null!=be.updateOn&&(this._updateOn=be.updateOn)}_parentMarkedDirty(be){const ct=this._parent&&this._parent.dirty;return!be&&!!ct&&!this._parent._anyControlsDirty()}_find(be){return null}_assignValidators(be){this._rawValidators=Array.isArray(be)?be.slice():be,this._composedValidatorFn=function J(bt){return Array.isArray(bt)?N(bt):bt||null}(this._rawValidators)}_assignAsyncValidators(be){this._rawAsyncValidators=Array.isArray(be)?be.slice():be,this._composedAsyncValidatorFn=function De(bt){return Array.isArray(bt)?X(bt):bt||null}(this._rawAsyncValidators)}}class Me extends ze{constructor(be,ct,Yt){super(se(ct),oe(Yt,ct)),this.controls=be,this._initObservables(),this._setUpdateStrategy(ct),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(be,ct){return this.controls[be]?this.controls[be]:(this.controls[be]=ct,ct.setParent(this),ct._registerOnCollectionChange(this._onCollectionChange),ct)}addControl(be,ct,Yt={}){this.registerControl(be,ct),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}removeControl(be,ct={}){this.controls[be]&&this.controls[be]._registerOnCollectionChange(()=>{}),delete this.controls[be],this.updateValueAndValidity({emitEvent:ct.emitEvent}),this._onCollectionChange()}setControl(be,ct,Yt={}){this.controls[be]&&this.controls[be]._registerOnCollectionChange(()=>{}),delete this.controls[be],ct&&this.registerControl(be,ct),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}contains(be){return this.controls.hasOwnProperty(be)&&this.controls[be].enabled}setValue(be,ct={}){ut(this,0,be),Object.keys(be).forEach(Yt=>{Dt(this,!0,Yt),this.controls[Yt].setValue(be[Yt],{onlySelf:!0,emitEvent:ct.emitEvent})}),this.updateValueAndValidity(ct)}patchValue(be,ct={}){null!=be&&(Object.keys(be).forEach(Yt=>{const Pn=this.controls[Yt];Pn&&Pn.patchValue(be[Yt],{onlySelf:!0,emitEvent:ct.emitEvent})}),this.updateValueAndValidity(ct))}reset(be={},ct={}){this._forEachChild((Yt,Pn)=>{Yt.reset(be[Pn],{onlySelf:!0,emitEvent:ct.emitEvent})}),this._updatePristine(ct),this._updateTouched(ct),this.updateValueAndValidity(ct)}getRawValue(){return this._reduceChildren({},(be,ct,Yt)=>(be[Yt]=ct.getRawValue(),be))}_syncPendingControls(){let be=this._reduceChildren(!1,(ct,Yt)=>!!Yt._syncPendingControls()||ct);return be&&this.updateValueAndValidity({onlySelf:!0}),be}_forEachChild(be){Object.keys(this.controls).forEach(ct=>{const Yt=this.controls[ct];Yt&&be(Yt,ct)})}_setUpControls(){this._forEachChild(be=>{be.setParent(this),be._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(be){for(const[ct,Yt]of Object.entries(this.controls))if(this.contains(ct)&&be(Yt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(ct,Yt,Pn)=>((Yt.enabled||this.disabled)&&(ct[Pn]=Yt.value),ct))}_reduceChildren(be,ct){let Yt=be;return this._forEachChild((Pn,Ti)=>{Yt=ct(Yt,Pn,Ti)}),Yt}_allControlsDisabled(){for(const be of Object.keys(this.controls))if(this.controls[be].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(be){return this.controls.hasOwnProperty(be)?this.controls[be]:null}}class zt extends Me{}const Tt=new e.OlP("CallSetDisabledState",{providedIn:"root",factory:()=>Ht}),Ht="always";function He(bt,be){return[...be.path,bt]}function $e(bt,be,ct=Ht){Vn(bt,be),be.valueAccessor.writeValue(bt.value),(bt.disabled||"always"===ct)&&be.valueAccessor.setDisabledState?.(bt.disabled),function Tn(bt,be){be.valueAccessor.registerOnChange(ct=>{bt._pendingValue=ct,bt._pendingChange=!0,bt._pendingDirty=!0,"change"===bt.updateOn&&Mt(bt,be)})}(bt,be),function Ge(bt,be){const ct=(Yt,Pn)=>{be.valueAccessor.writeValue(Yt),Pn&&be.viewToModelUpdate(Yt)};bt.registerOnChange(ct),be._registerOnDestroy(()=>{bt._unregisterOnChange(ct)})}(bt,be),function Yn(bt,be){be.valueAccessor.registerOnTouched(()=>{bt._pendingTouched=!0,"blur"===bt.updateOn&&bt._pendingChange&&Mt(bt,be),"submit"!==bt.updateOn&&bt.markAsTouched()})}(bt,be),function Jt(bt,be){if(be.valueAccessor.setDisabledState){const ct=Yt=>{be.valueAccessor.setDisabledState(Yt)};bt.registerOnDisabledChange(ct),be._registerOnDestroy(()=>{bt._unregisterOnDisabledChange(ct)})}}(bt,be)}function $t(bt,be,ct=!0){const Yt=()=>{};be.valueAccessor&&(be.valueAccessor.registerOnChange(Yt),be.valueAccessor.registerOnTouched(Yt)),zn(bt,be),bt&&(be._invokeOnDestroyCallbacks(),bt._registerOnCollectionChange(()=>{}))}function Rt(bt,be){bt.forEach(ct=>{ct.registerOnValidatorChange&&ct.registerOnValidatorChange(be)})}function Vn(bt,be){const ct=ke(bt);null!==be.validator?bt.setValidators(Fe(ct,be.validator)):"function"==typeof ct&&bt.setValidators([ct]);const Yt=Ke(bt);null!==be.asyncValidator?bt.setAsyncValidators(Fe(Yt,be.asyncValidator)):"function"==typeof Yt&&bt.setAsyncValidators([Yt]);const Pn=()=>bt.updateValueAndValidity();Rt(be._rawValidators,Pn),Rt(be._rawAsyncValidators,Pn)}function zn(bt,be){let ct=!1;if(null!==bt){if(null!==be.validator){const Pn=ke(bt);if(Array.isArray(Pn)&&Pn.length>0){const Ti=Pn.filter(rr=>rr!==be.validator);Ti.length!==Pn.length&&(ct=!0,bt.setValidators(Ti))}}if(null!==be.asyncValidator){const Pn=Ke(bt);if(Array.isArray(Pn)&&Pn.length>0){const Ti=Pn.filter(rr=>rr!==be.asyncValidator);Ti.length!==Pn.length&&(ct=!0,bt.setAsyncValidators(Ti))}}}const Yt=()=>{};return Rt(be._rawValidators,Yt),Rt(be._rawAsyncValidators,Yt),ct}function Mt(bt,be){bt._pendingDirty&&bt.markAsDirty(),bt.setValue(bt._pendingValue,{emitModelToViewChange:!1}),be.viewToModelUpdate(bt._pendingValue),bt._pendingChange=!1}function Be(bt,be){Vn(bt,be)}function Bn(bt,be){if(!bt.hasOwnProperty("model"))return!1;const ct=bt.model;return!!ct.isFirstChange()||!Object.is(be,ct.currentValue)}function ti(bt,be){bt._syncPendingControls(),be.forEach(ct=>{const Yt=ct.control;"submit"===Yt.updateOn&&Yt._pendingChange&&(ct.viewToModelUpdate(Yt._pendingValue),Yt._pendingChange=!1)})}function Mn(bt,be){if(!be)return null;let ct,Yt,Pn;return Array.isArray(be),be.forEach(Ti=>{Ti.constructor===z?ct=Ti:function Wn(bt){return Object.getPrototypeOf(bt.constructor)===u}(Ti)?Yt=Ti:Pn=Ti}),Pn||Yt||ct||null}const an={provide:ve,useExisting:(0,e.Gpc)(()=>en)},hn=Promise.resolve();class en extends ve{constructor(be,ct,Yt){super(),this.callSetDisabledState=Yt,this.submitted=!1,this._directives=new Set,this.ngSubmit=new e.vpe,this.form=new Me({},N(be),X(ct))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(be){hn.then(()=>{const ct=this._findContainer(be.path);be.control=ct.registerControl(be.name,be.control),$e(be.control,be,this.callSetDisabledState),be.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(be)})}getControl(be){return this.form.get(be.path)}removeControl(be){hn.then(()=>{const ct=this._findContainer(be.path);ct&&ct.removeControl(be.name),this._directives.delete(be)})}addFormGroup(be){hn.then(()=>{const ct=this._findContainer(be.path),Yt=new Me({});Be(Yt,be),ct.registerControl(be.name,Yt),Yt.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(be){hn.then(()=>{const ct=this._findContainer(be.path);ct&&ct.removeControl(be.name)})}getFormGroup(be){return this.form.get(be.path)}updateModel(be,ct){hn.then(()=>{this.form.get(be.path).setValue(ct)})}setValue(be){this.control.setValue(be)}onSubmit(be){return this.submitted=!0,ti(this.form,this._directives),this.ngSubmit.emit(be),"dialog"===be?.target?.method}onReset(){this.resetForm()}resetForm(be){this.form.reset(be),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(be){return be.pop(),be.length?this.form.get(be):this.form}}function gn(bt,be){const ct=bt.indexOf(be);ct>-1&&bt.splice(ct,1)}function Qn(bt){return"object"==typeof bt&&null!==bt&&2===Object.keys(bt).length&&"value"in bt&&"disabled"in bt}en.\u0275fac=function(be){return new(be||en)(e.Y36(Q,10),e.Y36(ie,10),e.Y36(Tt,8))},en.\u0275dir=e.lG2({type:en,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(be,ct){1&be&&e.NdJ("submit",function(Pn){return ct.onSubmit(Pn)})("reset",function(){return ct.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[e._Bn([an]),e.qOj]});const Ei=class extends ze{constructor(be=null,ct,Yt){super(se(ct),oe(Yt,ct)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(be),this._setUpdateStrategy(ct),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Ye(ct)&&(ct.nonNullable||ct.initialValueIsDefault)&&(Qn(be)?this.defaultValue=be.value:this.defaultValue=be)}setValue(be,ct={}){this.value=this._pendingValue=be,this._onChange.length&&!1!==ct.emitModelToViewChange&&this._onChange.forEach(Yt=>Yt(this.value,!1!==ct.emitViewToModelChange)),this.updateValueAndValidity(ct)}patchValue(be,ct={}){this.setValue(be,ct)}reset(be=this.defaultValue,ct={}){this._applyFormState(be),this.markAsPristine(ct),this.markAsUntouched(ct),this.setValue(this.value,ct),this._pendingChange=!1}_updateValue(){}_anyControls(be){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(be){this._onChange.push(be)}_unregisterOnChange(be){gn(this._onChange,be)}registerOnDisabledChange(be){this._onDisabledChange.push(be)}_unregisterOnDisabledChange(be){gn(this._onDisabledChange,be)}_forEachChild(be){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}_applyFormState(be){Qn(be)?(this.value=this._pendingValue=be.value,be.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=be}},ha=Ei;class qi extends ve{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}qi.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(qi)))(ct||qi)}}(),qi.\u0275dir=e.lG2({type:qi,features:[e.qOj]});const Ft={provide:ve,useExisting:(0,e.Gpc)(()=>ln)};class ln extends qi{constructor(be,ct,Yt){super(),this._parent=be,this._setValidators(ct),this._setAsyncValidators(Yt)}_checkParentType(){!(this._parent instanceof ln)&&this._parent}}ln.\u0275fac=function(be){return new(be||ln)(e.Y36(ve,5),e.Y36(Q,10),e.Y36(ie,10))},ln.\u0275dir=e.lG2({type:ln,selectors:[["","ngModelGroup",""]],inputs:{name:["ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[e._Bn([Ft]),e.qOj]});const En={provide:et,useExisting:(0,e.Gpc)(()=>Nn)},qn=Promise.resolve();class Nn extends et{constructor(be,ct,Yt,Pn,Ti,rr){super(),this._changeDetectorRef=Ti,this.callSetDisabledState=rr,this.control=new Ei,this._registered=!1,this.update=new e.vpe,this._parent=be,this._setValidators(ct),this._setAsyncValidators(Yt),this.valueAccessor=Mn(0,Pn)}ngOnChanges(be){if(this._checkForErrors(),!this._registered||"name"in be){if(this._registered&&(this._checkName(),this.formDirective)){const ct=be.name.previousValue;this.formDirective.removeControl({name:ct,path:this._getPath(ct)})}this._setUpControl()}"isDisabled"in be&&this._updateDisabled(be),Bn(be,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(be){this.viewModel=be,this.update.emit(be)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$e(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(be){qn.then(()=>{this.control.setValue(be,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(be){const ct=be.isDisabled.currentValue,Yt=0!==ct&&(0,e.D6c)(ct);qn.then(()=>{Yt&&!this.control.disabled?this.control.disable():!Yt&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(be){return this._parent?He(be,this._parent):[be]}}Nn.\u0275fac=function(be){return new(be||Nn)(e.Y36(ve,9),e.Y36(Q,10),e.Y36(ie,10),e.Y36(k,10),e.Y36(e.sBO,8),e.Y36(Tt,8))},Nn.\u0275dir=e.lG2({type:Nn,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[e._Bn([En]),e.qOj,e.TTD]});class li{}li.\u0275fac=function(be){return new(be||li)},li.\u0275dir=e.lG2({type:li,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]});const aa={provide:k,useExisting:(0,e.Gpc)(()=>Ii),multi:!0};class Ii extends u{writeValue(be){const ct=be??"";this.setProperty("value",ct)}registerOnChange(be){this.onChange=ct=>{be(""==ct?null:parseFloat(ct))}}}Ii.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Ii)))(ct||Ii)}}(),Ii.\u0275dir=e.lG2({type:Ii,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(be,ct){1&be&&e.NdJ("input",function(Pn){return ct.onChange(Pn.target.value)})("blur",function(){return ct.onTouched()})},features:[e._Bn([aa]),e.qOj]});const ea={provide:k,useExisting:(0,e.Gpc)(()=>Yi),multi:!0};class Ji{}Ji.\u0275fac=function(be){return new(be||Ji)},Ji.\u0275mod=e.oAB({type:Ji}),Ji.\u0275inj=e.cJS({});class ka{constructor(){this._accessors=[]}add(be,ct){this._accessors.push([be,ct])}remove(be){for(let ct=this._accessors.length-1;ct>=0;--ct)if(this._accessors[ct][1]===be)return void this._accessors.splice(ct,1)}select(be){this._accessors.forEach(ct=>{this._isSameGroup(ct,be)&&ct[1]!==be&&ct[1].fireUncheck(be.value)})}_isSameGroup(be,ct){return!!be[0].control&&(be[0]._parent===ct._control._parent&&be[1].name===ct.name)}}ka.\u0275fac=function(be){return new(be||ka)},ka.\u0275prov=e.Yz7({token:ka,factory:ka.\u0275fac,providedIn:Ji});class Yi extends u{constructor(be,ct,Yt,Pn){super(be,ct),this._registry=Yt,this._injector=Pn,this.onChange=()=>{}}ngOnInit(){this._control=this._injector.get(et),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(be){this._state=be===this.value,this.setProperty("checked",this._state)}registerOnChange(be){this._fn=be,this.onChange=()=>{be(this.value),this._registry.select(this)}}fireUncheck(be){this.writeValue(be)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}}Yi.\u0275fac=function(be){return new(be||Yi)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(ka),e.Y36(e.zs3))},Yi.\u0275dir=e.lG2({type:Yi,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(be,ct){1&be&&e.NdJ("change",function(){return ct.onChange()})("blur",function(){return ct.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[e._Bn([ea]),e.qOj]});const Ha={provide:k,useExisting:(0,e.Gpc)(()=>Hi),multi:!0};class Hi extends u{writeValue(be){this.setProperty("value",parseFloat(be))}registerOnChange(be){this.onChange=ct=>{be(""==ct?null:parseFloat(ct))}}}Hi.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Hi)))(ct||Hi)}}(),Hi.\u0275dir=e.lG2({type:Hi,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(be,ct){1&be&&e.NdJ("change",function(Pn){return ct.onChange(Pn.target.value)})("input",function(Pn){return ct.onChange(Pn.target.value)})("blur",function(){return ct.onTouched()})},features:[e._Bn([Ha]),e.qOj]});const La=new e.OlP("NgModelWithFormControlWarning"),gr={provide:et,useExisting:(0,e.Gpc)(()=>Sa)};class Sa extends et{constructor(be,ct,Yt,Pn,Ti){super(),this._ngModelWarningConfig=Pn,this.callSetDisabledState=Ti,this.update=new e.vpe,this._ngModelWarningSent=!1,this._setValidators(be),this._setAsyncValidators(ct),this.valueAccessor=Mn(0,Yt)}set isDisabled(be){}ngOnChanges(be){if(this._isControlChanged(be)){const ct=be.form.previousValue;ct&&$t(ct,this,!1),$e(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Bn(be,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&$t(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(be){this.viewModel=be,this.update.emit(be)}_isControlChanged(be){return be.hasOwnProperty("form")}}Sa._ngModelWarningSentOnce=!1,Sa.\u0275fac=function(be){return new(be||Sa)(e.Y36(Q,10),e.Y36(ie,10),e.Y36(k,10),e.Y36(La,8),e.Y36(Tt,8))},Sa.\u0275dir=e.lG2({type:Sa,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[e._Bn([gr]),e.qOj,e.TTD]});const fa={provide:ve,useExisting:(0,e.Gpc)(()=>Ki)};class Ki extends ve{constructor(be,ct,Yt){super(),this.callSetDisabledState=Yt,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new e.vpe,this._setValidators(be),this._setAsyncValidators(ct)}ngOnChanges(be){this._checkFormPresent(),be.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(zn(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(be){const ct=this.form.get(be.path);return $e(ct,be,this.callSetDisabledState),ct.updateValueAndValidity({emitEvent:!1}),this.directives.push(be),ct}getControl(be){return this.form.get(be.path)}removeControl(be){$t(be.control||null,be,!1),function Ln(bt,be){const ct=bt.indexOf(be);ct>-1&&bt.splice(ct,1)}(this.directives,be)}addFormGroup(be){this._setUpFormContainer(be)}removeFormGroup(be){this._cleanUpFormContainer(be)}getFormGroup(be){return this.form.get(be.path)}addFormArray(be){this._setUpFormContainer(be)}removeFormArray(be){this._cleanUpFormContainer(be)}getFormArray(be){return this.form.get(be.path)}updateModel(be,ct){this.form.get(be.path).setValue(ct)}onSubmit(be){return this.submitted=!0,ti(this.form,this.directives),this.ngSubmit.emit(be),"dialog"===be?.target?.method}onReset(){this.resetForm()}resetForm(be){this.form.reset(be),this.submitted=!1}_updateDomValue(){this.directives.forEach(be=>{const ct=be.control,Yt=this.form.get(be.path);ct!==Yt&&($t(ct||null,be),Yt instanceof Ei&&($e(Yt,be,this.callSetDisabledState),be.control=Yt))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(be){const ct=this.form.get(be.path);Be(ct,be),ct.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(be){if(this.form){const ct=this.form.get(be.path);ct&&function ft(bt,be){return zn(bt,be)}(ct,be)&&ct.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Vn(this.form,this),this._oldForm&&zn(this._oldForm,this)}_checkFormPresent(){this.form}}Ki.\u0275fac=function(be){return new(be||Ki)(e.Y36(Q,10),e.Y36(ie,10),e.Y36(Tt,8))},Ki.\u0275dir=e.lG2({type:Ki,selectors:[["","formGroup",""]],hostBindings:function(be,ct){1&be&&e.NdJ("submit",function(Pn){return ct.onSubmit(Pn)})("reset",function(){return ct.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[e._Bn([fa]),e.qOj,e.TTD]});const xa={provide:ve,useExisting:(0,e.Gpc)(()=>ra)};class ra extends qi{constructor(be,ct,Yt){super(),this._parent=be,this._setValidators(ct),this._setAsyncValidators(Yt)}_checkParentType(){js(this._parent)}}ra.\u0275fac=function(be){return new(be||ra)(e.Y36(ve,13),e.Y36(Q,10),e.Y36(ie,10))},ra.\u0275dir=e.lG2({type:ra,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[e._Bn([xa]),e.qOj]});const fo={provide:ve,useExisting:(0,e.Gpc)(()=>za)};class za extends ve{constructor(be,ct,Yt){super(),this._parent=be,this._setValidators(ct),this._setAsyncValidators(Yt)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){js(this._parent)}}function js(bt){return!(bt instanceof ra||bt instanceof Ki||bt instanceof za)}za.\u0275fac=function(be){return new(be||za)(e.Y36(ve,13),e.Y36(Q,10),e.Y36(ie,10))},za.\u0275dir=e.lG2({type:za,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[e._Bn([fo]),e.qOj]});const is={provide:et,useExisting:(0,e.Gpc)(()=>Qi)};class Qi extends et{constructor(be,ct,Yt,Pn,Ti){super(),this._ngModelWarningConfig=Ti,this._added=!1,this.update=new e.vpe,this._ngModelWarningSent=!1,this._parent=be,this._setValidators(ct),this._setAsyncValidators(Yt),this.valueAccessor=Mn(0,Pn)}set isDisabled(be){}ngOnChanges(be){this._added||this._setUpControl(),Bn(be,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(be){this.viewModel=be,this.update.emit(be)}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}Qi._ngModelWarningSentOnce=!1,Qi.\u0275fac=function(be){return new(be||Qi)(e.Y36(ve,13),e.Y36(Q,10),e.Y36(ie,10),e.Y36(k,10),e.Y36(La,8))},Qi.\u0275dir=e.lG2({type:Qi,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[e._Bn([is]),e.qOj,e.TTD]});const Gr={provide:k,useExisting:(0,e.Gpc)(()=>Ua),multi:!0};function Ta(bt,be){return null==bt?`${be}`:(be&&"object"==typeof be&&(be="Object"),`${bt}: ${be}`.slice(0,50))}class Ua extends u{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(be){this._compareWith=be}writeValue(be){this.value=be;const Yt=Ta(this._getOptionId(be),be);this.setProperty("value",Yt)}registerOnChange(be){this.onChange=ct=>{this.value=this._getOptionValue(ct),be(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(be){for(const ct of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(ct),be))return ct;return null}_getOptionValue(be){const ct=function Is(bt){return bt.split(":")[0]}(be);return this._optionMap.has(ct)?this._optionMap.get(ct):be}}Ua.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Ua)))(ct||Ua)}}(),Ua.\u0275dir=e.lG2({type:Ua,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(be,ct){1&be&&e.NdJ("change",function(Pn){return ct.onChange(Pn.target.value)})("blur",function(){return ct.onTouched()})},inputs:{compareWith:"compareWith"},features:[e._Bn([Gr]),e.qOj]});class Ls{constructor(be,ct,Yt){this._element=be,this._renderer=ct,this._select=Yt,this._select&&(this.id=this._select._registerOption())}set ngValue(be){null!=this._select&&(this._select._optionMap.set(this.id,be),this._setElementValue(Ta(this.id,be)),this._select.writeValue(this._select.value))}set value(be){this._setElementValue(be),this._select&&this._select.writeValue(this._select.value)}_setElementValue(be){this._renderer.setProperty(this._element.nativeElement,"value",be)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}Ls.\u0275fac=function(be){return new(be||Ls)(e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(Ua,9))},Ls.\u0275dir=e.lG2({type:Ls,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}});const Ca={provide:k,useExisting:(0,e.Gpc)(()=>ms),multi:!0};function vr(bt,be){return null==bt?`${be}`:("string"==typeof be&&(be=`'${be}'`),be&&"object"==typeof be&&(be="Object"),`${bt}: ${be}`.slice(0,50))}class ms extends u{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(be){this._compareWith=be}writeValue(be){let ct;if(this.value=be,Array.isArray(be)){const Yt=be.map(Pn=>this._getOptionId(Pn));ct=(Pn,Ti)=>{Pn._setSelected(Yt.indexOf(Ti.toString())>-1)}}else ct=(Yt,Pn)=>{Yt._setSelected(!1)};this._optionMap.forEach(ct)}registerOnChange(be){this.onChange=ct=>{const Yt=[],Pn=ct.selectedOptions;if(void 0!==Pn){const Ti=Pn;for(let rr=0;rrOa),multi:!0};class Oa extends pa{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=be=>Xs(be),this.createValidator=be=>ye(be)}}Oa.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Oa)))(ct||Oa)}}(),Oa.\u0275dir=e.lG2({type:Oa,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("max",ct._enabled?ct.max:null)},inputs:{max:"max"},features:[e._Bn([Js]),e.qOj]});const Ss={provide:Q,useExisting:(0,e.Gpc)(()=>Ja),multi:!0};class Ja extends pa{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=be=>Xs(be),this.createValidator=be=>ce(be)}}Ja.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Ja)))(ct||Ja)}}(),Ja.\u0275dir=e.lG2({type:Ja,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("min",ct._enabled?ct.min:null)},inputs:{min:"min"},features:[e._Bn([Ss]),e.qOj]});const Os={provide:Q,useExisting:(0,e.Gpc)(()=>yr),multi:!0},$a={provide:Q,useExisting:(0,e.Gpc)(()=>sa),multi:!0};class yr extends pa{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=e.D6c,this.createValidator=be=>ue}enabled(be){return be}}yr.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(yr)))(ct||yr)}}(),yr.\u0275dir=e.lG2({type:yr,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("required",ct._enabled?"":null)},inputs:{required:"required"},features:[e._Bn([Os]),e.qOj]});class sa extends yr{constructor(){super(...arguments),this.createValidator=be=>$}}sa.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(sa)))(ct||sa)}}(),sa.\u0275dir=e.lG2({type:sa,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("required",ct._enabled?"":null)},features:[e._Bn([$a]),e.qOj]});const ir={provide:Q,useExisting:(0,e.Gpc)(()=>br),multi:!0};class br extends pa{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=e.D6c,this.createValidator=be=>he}enabled(be){return be}}br.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(br)))(ct||br)}}(),br.\u0275dir=e.lG2({type:br,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[e._Bn([ir]),e.qOj]});const as={provide:Q,useExisting:(0,e.Gpc)(()=>kr),multi:!0};class kr extends pa{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=be=>Pr(be),this.createValidator=be=>w(be)}}kr.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(kr)))(ct||kr)}}(),kr.\u0275dir=e.lG2({type:kr,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("minlength",ct._enabled?ct.minlength:null)},inputs:{minlength:"minlength"},features:[e._Bn([as]),e.qOj]});const Va={provide:Q,useExisting:(0,e.Gpc)(()=>dn),multi:!0};class dn extends pa{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=be=>Pr(be),this.createValidator=be=>n(be)}}dn.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(dn)))(ct||dn)}}(),dn.\u0275dir=e.lG2({type:dn,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("maxlength",ct._enabled?ct.maxlength:null)},inputs:{maxlength:"maxlength"},features:[e._Bn([Va]),e.qOj]});const xt={provide:Q,useExisting:(0,e.Gpc)(()=>Nt),multi:!0};class Nt extends pa{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=be=>be,this.createValidator=be=>o(be)}}Nt.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(Nt)))(ct||Nt)}}(),Nt.\u0275dir=e.lG2({type:Nt,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(be,ct){2&be&&e.uIk("pattern",ct._enabled?ct.pattern:null)},inputs:{pattern:"pattern"},features:[e._Bn([xt]),e.qOj]});class Xi{}Xi.\u0275fac=function(be){return new(be||Xi)},Xi.\u0275mod=e.oAB({type:Xi}),Xi.\u0275inj=e.cJS({imports:[Ji]});class oa{static withConfig(be){return{ngModule:oa,providers:[{provide:Tt,useValue:be.callSetDisabledState??Ht}]}}}oa.\u0275fac=function(be){return new(be||oa)},oa.\u0275mod=e.oAB({type:oa}),oa.\u0275inj=e.cJS({imports:[Xi]});class la{static withConfig(be){return{ngModule:la,providers:[{provide:La,useValue:be.warnOnNgModelWithFormControl??"always"},{provide:Tt,useValue:be.callSetDisabledState??Ht}]}}}la.\u0275fac=function(be){return new(be||la)},la.\u0275mod=e.oAB({type:la}),la.\u0275inj=e.cJS({imports:[Xi]});class Li extends ze{constructor(be,ct,Yt){super(se(ct),oe(Yt,ct)),this.controls=be,this._initObservables(),this._setUpdateStrategy(ct),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(be){return this.controls[this._adjustIndex(be)]}push(be,ct={}){this.controls.push(be),this._registerControl(be),this.updateValueAndValidity({emitEvent:ct.emitEvent}),this._onCollectionChange()}insert(be,ct,Yt={}){this.controls.splice(be,0,ct),this._registerControl(ct),this.updateValueAndValidity({emitEvent:Yt.emitEvent})}removeAt(be,ct={}){let Yt=this._adjustIndex(be);Yt<0&&(Yt=0),this.controls[Yt]&&this.controls[Yt]._registerOnCollectionChange(()=>{}),this.controls.splice(Yt,1),this.updateValueAndValidity({emitEvent:ct.emitEvent})}setControl(be,ct,Yt={}){let Pn=this._adjustIndex(be);Pn<0&&(Pn=0),this.controls[Pn]&&this.controls[Pn]._registerOnCollectionChange(()=>{}),this.controls.splice(Pn,1),ct&&(this.controls.splice(Pn,0,ct),this._registerControl(ct)),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(be,ct={}){ut(this,0,be),be.forEach((Yt,Pn)=>{Dt(this,!1,Pn),this.at(Pn).setValue(Yt,{onlySelf:!0,emitEvent:ct.emitEvent})}),this.updateValueAndValidity(ct)}patchValue(be,ct={}){null!=be&&(be.forEach((Yt,Pn)=>{this.at(Pn)&&this.at(Pn).patchValue(Yt,{onlySelf:!0,emitEvent:ct.emitEvent})}),this.updateValueAndValidity(ct))}reset(be=[],ct={}){this._forEachChild((Yt,Pn)=>{Yt.reset(be[Pn],{onlySelf:!0,emitEvent:ct.emitEvent})}),this._updatePristine(ct),this._updateTouched(ct),this.updateValueAndValidity(ct)}getRawValue(){return this.controls.map(be=>be.getRawValue())}clear(be={}){this.controls.length<1||(this._forEachChild(ct=>ct._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:be.emitEvent}))}_adjustIndex(be){return be<0?be+this.length:be}_syncPendingControls(){let be=this.controls.reduce((ct,Yt)=>!!Yt._syncPendingControls()||ct,!1);return be&&this.updateValueAndValidity({onlySelf:!0}),be}_forEachChild(be){this.controls.forEach((ct,Yt)=>{be(ct,Yt)})}_updateValue(){this.value=this.controls.filter(be=>be.enabled||this.disabled).map(be=>be.value)}_anyControls(be){return this.controls.some(ct=>ct.enabled&&be(ct))}_setUpControls(){this._forEachChild(be=>this._registerControl(be))}_allControlsDisabled(){for(const be of this.controls)if(be.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(be){be.setParent(this),be._registerOnCollectionChange(this._onCollectionChange)}_find(be){return this.at(be)??null}}function Zr(bt){return!!bt&&(void 0!==bt.asyncValidators||void 0!==bt.validators||void 0!==bt.updateOn)}class ca{constructor(){this.useNonNullable=!1}get nonNullable(){const be=new ca;return be.useNonNullable=!0,be}group(be,ct=null){const Yt=this._reduceControls(be);let Pn={};return Zr(ct)?Pn=ct:null!==ct&&(Pn.validators=ct.validator,Pn.asyncValidators=ct.asyncValidator),new Me(Yt,Pn)}record(be,ct=null){const Yt=this._reduceControls(be);return new zt(Yt,ct)}control(be,ct,Yt){let Pn={};return this.useNonNullable?(Zr(ct)?Pn=ct:(Pn.validators=ct,Pn.asyncValidators=Yt),new Ei(be,{...Pn,nonNullable:!0})):new Ei(be,ct,Yt)}array(be,ct,Yt){const Pn=be.map(Ti=>this._createControl(Ti));return new Li(Pn,ct,Yt)}_reduceControls(be){const ct={};return Object.keys(be).forEach(Yt=>{ct[Yt]=this._createControl(be[Yt])}),ct}_createControl(be){if(be instanceof Ei)return be;if(be instanceof ze)return be;if(Array.isArray(be)){const ct=be[0],Yt=be.length>1?be[1]:null,Pn=be.length>2?be[2]:null;return this.control(ct,Yt,Pn)}return this.control(be)}}ca.\u0275fac=function(be){return new(be||ca)},ca.\u0275prov=e.Yz7({token:ca,factory:ca.\u0275fac,providedIn:la});class si{}si.\u0275fac=function(be){return new(be||si)},si.\u0275prov=e.Yz7({token:si,factory:function(){return(0,e.f3M)(ca).nonNullable},providedIn:la});class ar extends ca{group(be,ct=null){return super.group(be,ct)}control(be,ct,Yt){return super.control(be,ct,Yt)}array(be,ct,Yt){return super.array(be,ct,Yt)}}ar.\u0275fac=function(){let bt;return function(ct){return(bt||(bt=e.n5z(ar)))(ct||ar)}}(),ar.\u0275prov=e.Yz7({token:ar,factory:ar.\u0275fac,providedIn:la});new e.GfV("15.0.2")},8550:(Ue,q,m)=>{"use strict";m.d(q,{Bb:()=>xe,XC:()=>a,ZL:()=>Ve});var e=m(4218),t=m(8971),_=m(9107),E=m(2560),s=m(207),D=m(7714),u=m(253),k=m(1954),p=m(6646),S=m(745),A=m(3280),P=m(4666),M=m(5895),z=m(1494),I=m(2867),W=m(8456),Z=m(7520),Q=m(2508),ie=m(5074),ae=m(4874),_e=m(2673),ce=m(9295),ye=m(116),ue=m(635),$=m(9337),he=m(6234);const w=["panel"];function n(Ze,Ie){if(1&Ze&&(E.TgZ(0,"div",0,1),E.Hsn(2),E.qZA()),2&Ze){const ve=Ie.id,et=E.oxw();E.Q6J("id",et.id)("ngClass",et._classList),E.uIk("aria-label",et.ariaLabel||null)("aria-labelledby",et._getPanelAriaLabelledby(ve))}}let h=0;class d{constructor(Ie,ve){this.source=Ie,this.option=ve}}const y=(0,s.Kr)(class{}),L=new E.OlP("mat-autocomplete-default-options",{providedIn:"root",factory:function B(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1}}});class v extends y{constructor(Ie,ve,et,ht){super(),this._changeDetectorRef=Ie,this._elementRef=ve,this._activeOptionChanges=D.w0.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new E.vpe,this.opened=new E.vpe,this.closed=new E.vpe,this.optionActivated=new E.vpe,this._classList={},this.id="mat-autocomplete-"+h++,this.inertGroups=ht?.SAFARI||!1,this._autoActiveFirstOption=!!et.autoActiveFirstOption,this._autoSelectActiveOption=!!et.autoSelectActiveOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(Ie){this._autoActiveFirstOption=(0,t.Ig)(Ie)}get autoSelectActiveOption(){return this._autoSelectActiveOption}set autoSelectActiveOption(Ie){this._autoSelectActiveOption=(0,t.Ig)(Ie)}set classList(Ie){Ie&&Ie.length?this._classList=(0,t.du)(Ie).reduce((ve,et)=>(ve[et]=!0,ve),{}):this._classList={},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new e.s1(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(Ie=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[Ie]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(Ie){this.panel&&(this.panel.nativeElement.scrollTop=Ie)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(Ie){const ve=new d(this,Ie);this.optionSelected.emit(ve)}_getPanelAriaLabelledby(Ie){if(this.ariaLabel)return null;const ve=Ie?Ie+" ":"";return this.ariaLabelledby?ve+this.ariaLabelledby:Ie}_setVisibilityClasses(Ie){Ie[this._visibleClass]=this.showPanel,Ie[this._hiddenClass]=!this.showPanel}}v.\u0275fac=function(Ie){return new(Ie||v)(E.Y36(E.sBO),E.Y36(E.SBq),E.Y36(L),E.Y36(_.t4))},v.\u0275dir=E.lG2({type:v,viewQuery:function(Ie,ve){if(1&Ie&&(E.Gf(E.Rgc,7),E.Gf(w,5)),2&Ie){let et;E.iGM(et=E.CRH())&&(ve.template=et.first),E.iGM(et=E.CRH())&&(ve.panel=et.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",autoSelectActiveOption:"autoSelectActiveOption",panelWidth:"panelWidth",classList:["class","classList"]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[E.qOj]});class a extends v{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}a.\u0275fac=function(){let Ze;return function(ve){return(Ze||(Ze=E.n5z(a)))(ve||a)}}(),a.\u0275cmp=E.Xpm({type:a,selectors:[["mat-autocomplete"]],contentQueries:function(Ie,ve,et){if(1&Ie&&(E.Suo(et,s.K7,5),E.Suo(et,s.ey,5)),2&Ie){let ht;E.iGM(ht=E.CRH())&&(ve.optionGroups=ht),E.iGM(ht=E.CRH())&&(ve.options=ht)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[E._Bn([{provide:s.HF,useExisting:a}]),E.qOj],ngContentSelectors:["*"],decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(Ie,ve){1&Ie&&(E.F$t(),E.YNc(0,n,3,4,"ng-template"))},dependencies:[P.mk],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}"],encapsulation:2,changeDetection:0});class C{constructor(Ie){this.elementRef=Ie}}C.\u0275fac=function(Ie){return new(Ie||C)(E.Y36(E.SBq))},C.\u0275dir=E.lG2({type:C});class N extends C{}N.\u0275fac=function(){let Ze;return function(ve){return(Ze||(Ze=E.n5z(N)))(ve||N)}}(),N.\u0275dir=E.lG2({type:N,selectors:[["","matAutocompleteOrigin",""]],exportAs:["matAutocompleteOrigin"],features:[E.qOj]});const F=new E.OlP("mat-autocomplete-scroll-strategy");const Fe={provide:F,deps:[M.aV],useFactory:function X(Ze){return()=>Ze.scrollStrategies.reposition()}},ke={provide:Q.JU,useExisting:(0,E.Gpc)(()=>Ve),multi:!0};class je{constructor(Ie,ve,et,ht,Le,Ae,te,pe,ee,H,j){this._element=Ie,this._overlay=ve,this._viewContainerRef=et,this._zone=ht,this._changeDetectorRef=Le,this._dir=te,this._formField=pe,this._document=ee,this._viewportRuler=H,this._defaults=j,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=D.w0.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new u.x,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=(0,k.P)(()=>{const Oe=this.autocomplete?this.autocomplete.options:null;return Oe?Oe.changes.pipe((0,ae.O)(Oe),(0,_e.w)(()=>(0,p.T)(...Oe.map(Re=>Re.onSelectionChange)))):this._zone.onStable.pipe((0,ce.q)(1),(0,_e.w)(()=>this.optionSelections))}),this._scrollStrategy=Ae}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(Ie){this._autocompleteDisabled=(0,t.Ig)(Ie)}ngAfterViewInit(){const Ie=this._getWindow();typeof Ie<"u"&&this._zone.runOutsideAngular(()=>Ie.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(Ie){Ie.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const Ie=this._getWindow();typeof Ie<"u"&&Ie.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._isOpen=this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return(0,p.T)(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe((0,ye.h)(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe((0,ye.h)(()=>this._overlayAttached)):(0,S.of)()).pipe((0,ue.U)(Ie=>Ie instanceof s.rN?Ie:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return(0,p.T)((0,A.R)(this._document,"click"),(0,A.R)(this._document,"auxclick"),(0,A.R)(this._document,"touchend")).pipe((0,ye.h)(Ie=>{const ve=(0,_.sA)(Ie),et=this._formField?this._formField._elementRef.nativeElement:null,ht=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&ve!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!et||!et.contains(ve))&&(!ht||!ht.contains(ve))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(ve)}))}writeValue(Ie){Promise.resolve(null).then(()=>this._assignOptionValue(Ie))}registerOnChange(Ie){this._onChange=Ie}registerOnTouched(Ie){this._onTouched=Ie}setDisabledState(Ie){this._element.nativeElement.disabled=Ie}_handleKeydown(Ie){const ve=Ie.keyCode,et=(0,W.Vb)(Ie);if(ve===W.hY&&!et&&Ie.preventDefault(),this.activeOption&&ve===W.K5&&this.panelOpen&&!et)this.activeOption._selectViaInteraction(),this._resetActiveItem(),Ie.preventDefault();else if(this.autocomplete){const ht=this.autocomplete._keyManager.activeItem,Le=ve===W.LH||ve===W.JH;ve===W.Mf||Le&&!et&&this.panelOpen?this.autocomplete._keyManager.onKeydown(Ie):Le&&this._canOpen()&&this.openPanel(),(Le||this.autocomplete._keyManager.activeItem!==ht)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._element.nativeElement.value),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(Ie){let ve=Ie.target,et=ve.value;"number"===ve.type&&(et=""==et?null:parseFloat(et)),this._previousValue!==et&&(this._previousValue=et,this._pendingAutoselectedOption=null,this._onChange(et),this._canOpen()&&this._document.activeElement===Ie.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this.openPanel()}_floatLabel(Ie=!1){this._formField&&"auto"===this._formField.floatLabel&&(Ie?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){const Ie=this._zone.onStable.pipe((0,ce.q)(1)),ve=this.autocomplete.options.changes.pipe((0,$.b)(()=>this._positionStrategy.reapplyLastPosition()),(0,he.g)(0));return(0,p.T)(Ie,ve).pipe((0,_e.w)(()=>(this._zone.run(()=>{const et=this.panelOpen;this._resetActiveItem(),this.autocomplete._setVisibility(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),et!==this.panelOpen&&(this.panelOpen?this.autocomplete.opened.emit():this.autocomplete.closed.emit())}),this.panelClosingActions)),(0,ce.q)(1)).subscribe(et=>this._setValueAndClose(et))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_assignOptionValue(Ie){const ve=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(Ie):Ie;this._updateNativeInputValue(ve??"")}_updateNativeInputValue(Ie){this._formField?this._formField._control.value=Ie:this._element.nativeElement.value=Ie,this._previousValue=Ie}_setValueAndClose(Ie){const ve=Ie?Ie.source:this._pendingAutoselectedOption;ve&&(this._clearPreviousSelectedOption(ve),this._assignOptionValue(ve.value),this._onChange(ve.value),this.autocomplete._emitSelectEvent(ve),this._element.nativeElement.focus()),this.closePanel()}_clearPreviousSelectedOption(Ie){this.autocomplete.options.forEach(ve=>{ve!==Ie&&ve.selected&&ve.deselect()})}_attachOverlay(){this.autocomplete;let Ie=this._overlayRef;Ie?(this._positionStrategy.setOrigin(this._getConnectedElement()),Ie.updateSize({width:this._getPanelWidth()})):(this._portal=new Z.UE(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),Ie=this._overlay.create(this._getOverlayConfig()),this._overlayRef=Ie,this._handleOverlayEvents(Ie),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&Ie&&Ie.updateSize({width:this._getPanelWidth()})})),Ie&&!Ie.hasAttached()&&(Ie.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const ve=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&ve!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new M.X_({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){const Ie=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(Ie),this._positionStrategy=Ie,Ie}_setStrategyPositions(Ie){const ve=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],et=this._aboveClass,ht=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:et},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:et}];let Le;Le="above"===this.position?ht:"below"===this.position?ve:[...ve,...ht],Ie.withPositions(Le)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const Ie=this.autocomplete;Ie.autoActiveFirstOption?Ie._keyManager.setFirstItemActive():Ie._keyManager.setActiveItem(-1)}_canOpen(){const Ie=this._element.nativeElement;return!Ie.readOnly&&!Ie.disabled&&!this._autocompleteDisabled}_getWindow(){return this._document?.defaultView||window}_scrollToOption(Ie){const ve=this.autocomplete,et=(0,s.CB)(Ie,ve.options,ve.optionGroups);if(0===Ie&&1===et)ve._setScrollTop(0);else if(ve.panel){const ht=ve.options.toArray()[Ie];if(ht){const Le=ht._getHostElement(),Ae=(0,s.jH)(Le.offsetTop,Le.offsetHeight,ve._getScrollTop(),ve.panel.nativeElement.offsetHeight);ve._setScrollTop(Ae)}}}_handleOverlayEvents(Ie){Ie.keydownEvents().subscribe(ve=>{(ve.keyCode===W.hY&&!(0,W.Vb)(ve)||ve.keyCode===W.LH&&(0,W.Vb)(ve,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),ve.stopPropagation(),ve.preventDefault())}),Ie.outsidePointerEvents().subscribe()}}je.\u0275fac=function(Ie){return new(Ie||je)(E.Y36(E.SBq),E.Y36(M.aV),E.Y36(E.s_b),E.Y36(E.R0b),E.Y36(E.sBO),E.Y36(F),E.Y36(I.Is,8),E.Y36(ie.G_,9),E.Y36(P.K0,8),E.Y36(z.rL),E.Y36(L,8))},je.\u0275dir=E.lG2({type:je,inputs:{autocomplete:["matAutocomplete","autocomplete"],position:["matAutocompletePosition","position"],connectedTo:["matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"]},features:[E.TTD]});class Ve extends je{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}Ve.\u0275fac=function(){let Ze;return function(ve){return(Ze||(Ze=E.n5z(Ve)))(ve||Ve)}}(),Ve.\u0275dir=E.lG2({type:Ve,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(Ie,ve){1&Ie&&E.NdJ("focusin",function(){return ve._handleFocus()})("blur",function(){return ve._onTouched()})("input",function(ht){return ve._handleInput(ht)})("keydown",function(ht){return ve._handleKeydown(ht)})("click",function(){return ve._handleClick()}),2&Ie&&E.uIk("autocomplete",ve.autocompleteAttribute)("role",ve.autocompleteDisabled?null:"combobox")("aria-autocomplete",ve.autocompleteDisabled?null:"list")("aria-activedescendant",ve.panelOpen&&ve.activeOption?ve.activeOption.id:null)("aria-expanded",ve.autocompleteDisabled?null:ve.panelOpen.toString())("aria-owns",ve.autocompleteDisabled||!ve.panelOpen||null==ve.autocomplete?null:ve.autocomplete.id)("aria-haspopup",ve.autocompleteDisabled?null:"listbox")},exportAs:["matAutocompleteTrigger"],features:[E._Bn([ke]),E.qOj]});class xe{}xe.\u0275fac=function(Ie){return new(Ie||xe)},xe.\u0275mod=E.oAB({type:xe}),xe.\u0275inj=E.cJS({providers:[Fe],imports:[M.U8,s.Ng,s.BQ,P.ez,z.ZD,s.Ng,s.BQ]})},3335:(Ue,q,m)=>{"use strict";m.d(q,{g:()=>p,k:()=>k});var e=m(2560),t=m(207),_=m(4218),E=m(8971);let s=0;const D=(0,t.Id)(class{}),u="mat-badge-content";class k extends D{constructor(A,P,M,z,I){super(),this._ngZone=A,this._elementRef=P,this._ariaDescriber=M,this._renderer=z,this._animationMode=I,this._color="primary",this._overlap=!0,this.position="above after",this.size="medium",this._id=s++,this._isInitialized=!1}get color(){return this._color}set color(A){this._setColor(A),this._color=A}get overlap(){return this._overlap}set overlap(A){this._overlap=(0,E.Ig)(A)}get content(){return this._content}set content(A){this._updateRenderedContent(A)}get description(){return this._description}set description(A){this._updateHostAriaDescription(A)}get hidden(){return this._hidden}set hidden(A){this._hidden=(0,E.Ig)(A)}isAbove(){return-1===this.position.indexOf("below")}isAfter(){return-1===this.position.indexOf("before")}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngOnDestroy(){this._renderer.destroyNode&&this._renderer.destroyNode(this._badgeElement),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_createBadgeElement(){const A=this._renderer.createElement("span"),P="mat-badge-active";return A.setAttribute("id",`mat-badge-content-${this._id}`),A.setAttribute("aria-hidden","true"),A.classList.add(u),"NoopAnimations"===this._animationMode&&A.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(A),"function"==typeof requestAnimationFrame&&"NoopAnimations"!==this._animationMode?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{A.classList.add(P)})}):A.classList.add(P),A}_updateRenderedContent(A){const P=`${A??""}`.trim();this._isInitialized&&P&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=P),this._content=P}_updateHostAriaDescription(A){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),A&&this._ariaDescriber.describe(this._elementRef.nativeElement,A),this._description=A}_setColor(A){const P=this._elementRef.nativeElement.classList;P.remove(`mat-badge-${this._color}`),A&&P.add(`mat-badge-${A}`)}_clearExistingBadges(){const A=this._elementRef.nativeElement.querySelectorAll(`:scope > .${u}`);for(const P of Array.from(A))P!==this._badgeElement&&P.remove()}}k.\u0275fac=function(A){return new(A||k)(e.Y36(e.R0b),e.Y36(e.SBq),e.Y36(_.$s),e.Y36(e.Qsj),e.Y36(e.QbO,8))},k.\u0275dir=e.lG2({type:k,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(A,P){2&A&&e.ekj("mat-badge-overlap",P.overlap)("mat-badge-above",P.isAbove())("mat-badge-below",!P.isAbove())("mat-badge-before",!P.isAfter())("mat-badge-after",P.isAfter())("mat-badge-small","small"===P.size)("mat-badge-medium","medium"===P.size)("mat-badge-large","large"===P.size)("mat-badge-hidden",P.hidden||!P.content)("mat-badge-disabled",P.disabled)},inputs:{disabled:["matBadgeDisabled","disabled"],color:["matBadgeColor","color"],overlap:["matBadgeOverlap","overlap"],position:["matBadgePosition","position"],content:["matBadge","content"],description:["matBadgeDescription","description"],size:["matBadgeSize","size"],hidden:["matBadgeHidden","hidden"]},features:[e.qOj]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=e.oAB({type:p}),p.\u0275inj=e.cJS({imports:[_.rt,t.BQ,t.BQ]})},4522:(Ue,q,m)=>{"use strict";m.d(q,{lW:()=>S,ot:()=>P});var e=m(2560),t=m(207),_=m(4218);const E=["mat-button",""],s=["*"],k=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],p=(0,t.pj)((0,t.Id)((0,t.Kr)(class{constructor(M){this._elementRef=M}})));class S extends p{constructor(z,I,W){super(z),this._focusMonitor=I,this._animationMode=W,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const Z of k)this._hasHostAttributes(Z)&&this._getHostElement().classList.add(Z);z.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(z,I){z?this._focusMonitor.focusVia(this._getHostElement(),z,I):this._getHostElement().focus(I)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...z){return z.some(I=>this._getHostElement().hasAttribute(I))}}S.\u0275fac=function(z){return new(z||S)(e.Y36(e.SBq),e.Y36(_.tE),e.Y36(e.QbO,8))},S.\u0275cmp=e.Xpm({type:S,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(z,I){if(1&z&&e.Gf(t.wG,5),2&z){let W;e.iGM(W=e.CRH())&&(I.ripple=W.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(z,I){2&z&&(e.uIk("disabled",I.disabled||null),e.ekj("_mat-animation-noopable","NoopAnimations"===I._animationMode)("mat-button-disabled",I.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[e.qOj],attrs:E,ngContentSelectors:s,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(z,I){1&z&&(e.F$t(),e.TgZ(0,"span",0),e.Hsn(1),e.qZA(),e._UZ(2,"span",1)(3,"span",2)),2&z&&(e.xp6(2),e.ekj("mat-button-ripple-round",I.isRoundButton||I.isIconButton),e.Q6J("matRippleDisabled",I._isRippleDisabled())("matRippleCentered",I.isIconButton)("matRippleTrigger",I._getHostElement()))},dependencies:[t.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}.mat-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.mat-flat-button::before,.mat-raised-button::before,.mat-fab::before,.mat-mini-fab::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-stroked-button::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}"],encapsulation:2,changeDetection:0});class A extends S{constructor(z,I,W,Z){super(I,z,W),this._ngZone=Z,this._haltDisabledEvents=Q=>{this.disabled&&(Q.preventDefault(),Q.stopImmediatePropagation())}}ngAfterViewInit(){super.ngAfterViewInit(),this._ngZone?this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}):this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}A.\u0275fac=function(z){return new(z||A)(e.Y36(_.tE),e.Y36(e.SBq),e.Y36(e.QbO,8),e.Y36(e.R0b,8))},A.\u0275cmp=e.Xpm({type:A,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(z,I){2&z&&(e.uIk("tabindex",I.disabled?-1:I.tabIndex)("disabled",I.disabled||null)("aria-disabled",I.disabled.toString()),e.ekj("_mat-animation-noopable","NoopAnimations"===I._animationMode)("mat-button-disabled",I.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[e.qOj],attrs:E,ngContentSelectors:s,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(z,I){1&z&&(e.F$t(),e.TgZ(0,"span",0),e.Hsn(1),e.qZA(),e._UZ(2,"span",1)(3,"span",2)),2&z&&(e.xp6(2),e.ekj("mat-button-ripple-round",I.isRoundButton||I.isIconButton),e.Q6J("matRippleDisabled",I._isRippleDisabled())("matRippleCentered",I.isIconButton)("matRippleTrigger",I._getHostElement()))},dependencies:[t.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}.mat-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.mat-flat-button::before,.mat-raised-button::before,.mat-fab::before,.mat-mini-fab::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-stroked-button::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}"],encapsulation:2,changeDetection:0});class P{}P.\u0275fac=function(z){return new(z||P)},P.\u0275mod=e.oAB({type:P}),P.\u0275inj=e.cJS({imports:[t.si,t.BQ,t.BQ]})},2156:(Ue,q,m)=>{"use strict";m.d(q,{$j:()=>A,QW:()=>ye,a8:()=>ae,dk:()=>_e,dn:()=>p,n5:()=>S});var e=m(2560),t=m(207);const _=["*",[["mat-card-footer"]]],s=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],D=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"],u=[[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],[["img"]],"*"],k=["mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","img","*"];class p{}p.\u0275fac=function($){return new($||p)},p.\u0275dir=e.lG2({type:p,selectors:[["mat-card-content"],["","mat-card-content",""],["","matCardContent",""]],hostAttrs:[1,"mat-card-content"]});class S{}S.\u0275fac=function($){return new($||S)},S.\u0275dir=e.lG2({type:S,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]});class A{}A.\u0275fac=function($){return new($||A)},A.\u0275dir=e.lG2({type:A,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]});class P{constructor(){this.align="start"}}P.\u0275fac=function($){return new($||P)},P.\u0275dir=e.lG2({type:P,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-card-actions"],hostVars:2,hostBindings:function($,he){2&$&&e.ekj("mat-card-actions-align-end","end"===he.align)},inputs:{align:"align"},exportAs:["matCardActions"]});class M{}M.\u0275fac=function($){return new($||M)},M.\u0275dir=e.lG2({type:M,selectors:[["mat-card-footer"]],hostAttrs:[1,"mat-card-footer"]});class z{}z.\u0275fac=function($){return new($||z)},z.\u0275dir=e.lG2({type:z,selectors:[["","mat-card-image",""],["","matCardImage",""]],hostAttrs:[1,"mat-card-image"]});class I{}I.\u0275fac=function($){return new($||I)},I.\u0275dir=e.lG2({type:I,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]});class W{}W.\u0275fac=function($){return new($||W)},W.\u0275dir=e.lG2({type:W,selectors:[["","mat-card-md-image",""],["","matCardImageMedium",""]],hostAttrs:[1,"mat-card-md-image"]});class Z{}Z.\u0275fac=function($){return new($||Z)},Z.\u0275dir=e.lG2({type:Z,selectors:[["","mat-card-lg-image",""],["","matCardImageLarge",""]],hostAttrs:[1,"mat-card-lg-image"]});class Q{}Q.\u0275fac=function($){return new($||Q)},Q.\u0275dir=e.lG2({type:Q,selectors:[["","mat-card-xl-image",""],["","matCardImageXLarge",""]],hostAttrs:[1,"mat-card-xl-image"]});class ie{}ie.\u0275fac=function($){return new($||ie)},ie.\u0275dir=e.lG2({type:ie,selectors:[["","mat-card-avatar",""],["","matCardAvatar",""]],hostAttrs:[1,"mat-card-avatar"]});class ae{constructor($){this._animationMode=$}}ae.\u0275fac=function($){return new($||ae)(e.Y36(e.QbO,8))},ae.\u0275cmp=e.Xpm({type:ae,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function($,he){2&$&&e.ekj("_mat-animation-noopable","NoopAnimations"===he._animationMode)},exportAs:["matCard"],ngContentSelectors:["*","mat-card-footer"],decls:2,vars:0,template:function($,he){1&$&&(e.F$t(_),e.Hsn(0),e.Hsn(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}.mat-card._mat-animation-noopable{transition:none !important;animation:none !important}.mat-card>.mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card>.mat-divider-horizontal{left:auto;right:0}.mat-card>.mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card>.mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px;display:block;overflow:hidden}.mat-card-image img{width:100%}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],encapsulation:2,changeDetection:0});class _e{}_e.\u0275fac=function($){return new($||_e)},_e.\u0275cmp=e.Xpm({type:_e,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:D,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function($,he){1&$&&(e.F$t(s),e.Hsn(0),e.TgZ(1,"div",0),e.Hsn(2,1),e.qZA(),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class ce{}ce.\u0275fac=function($){return new($||ce)},ce.\u0275cmp=e.Xpm({type:ce,selectors:[["mat-card-title-group"]],hostAttrs:[1,"mat-card-title-group"],ngContentSelectors:k,decls:4,vars:0,template:function($,he){1&$&&(e.F$t(u),e.TgZ(0,"div"),e.Hsn(1),e.qZA(),e.Hsn(2,1),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class ye{}ye.\u0275fac=function($){return new($||ye)},ye.\u0275mod=e.oAB({type:ye}),ye.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},4792:(Ue,q,m)=>{"use strict";m.d(q,{oG:()=>ie,p9:()=>ye});var e=m(4218),t=m(8971),_=m(2560),E=m(2508),s=m(207),D=m(3773);const u=["input"],k=["label"],p=function(ue){return{enterDuration:ue}},A=new _.OlP("mat-checkbox-default-options",{providedIn:"root",factory:P});function P(){return{color:"accent",clickAction:"check-indeterminate"}}let M=0;const z={color:"accent",clickAction:"check-indeterminate"},I={provide:E.JU,useExisting:(0,_.Gpc)(()=>ie),multi:!0};class W{}const Z=(0,s.sb)((0,s.pj)((0,s.Kr)((0,s.Id)(class{constructor(ue){this._elementRef=ue}}))));class Q extends Z{constructor($,he,w,n,o,h,d){super(he),this._changeDetectorRef=w,this._ngZone=n,this._animationMode=h,this._options=d,this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new _.vpe,this.indeterminateChange=new _.vpe,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||z,this.color=this.defaultColor=this._options.color||z.color,this.tabIndex=parseInt(o)||0,this.id=this._uniqueId=`${$}${++M}`}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required($){this._required=(0,t.Ig)($)}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked($){const he=(0,t.Ig)($);he!=this.checked&&(this._checked=he,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled($){const he=(0,t.Ig)($);he!==this.disabled&&(this._disabled=he,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate($){const he=$!=this._indeterminate;this._indeterminate=(0,t.Ig)($),he&&(this._indeterminate?this._transitionCheckState(3):this._transitionCheckState(this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue($){this.checked=!!$}registerOnChange($){this._controlValueAccessorChangeFn=$}registerOnTouched($){this._onTouched=$}setDisabledState($){this.disabled=$}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState($){let he=this._currentCheckState,w=this._getAnimationTargetElement();if(he!==$&&w&&(this._currentAnimationClass&&w.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(he,$),this._currentCheckState=$,this._currentAnimationClass.length>0)){w.classList.add(this._currentAnimationClass);const n=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{w.classList.remove(n)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const $=this._options?.clickAction;this.disabled||"noop"===$?!this.disabled&&"noop"===$&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==$&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}_onInteractionEvent($){$.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition($,he){if("NoopAnimations"===this._animationMode)return"";switch($){case 0:if(1===he)return this._animationClasses.uncheckedToChecked;if(3==he)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case 2:return 1===he?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case 1:return 2===he?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case 3:return 1===he?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate($){const he=this._inputElement;he&&(he.nativeElement.indeterminate=$)}}Q.\u0275fac=function($){_.$Z()},Q.\u0275dir=_.lG2({type:Q,viewQuery:function($,he){if(1&$&&(_.Gf(u,5),_.Gf(k,5),_.Gf(s.wG,5)),2&$){let w;_.iGM(w=_.CRH())&&(he._inputElement=w.first),_.iGM(w=_.CRH())&&(he._labelElement=w.first),_.iGM(w=_.CRH())&&(he.ripple=w.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},features:[_.qOj]});class ie extends Q{constructor($,he,w,n,o,h,d){super("mat-checkbox-",$,he,n,o,h,d),this._focusMonitor=w,this._animationClasses={uncheckedToChecked:"mat-checkbox-anim-unchecked-checked",uncheckedToIndeterminate:"mat-checkbox-anim-unchecked-indeterminate",checkedToUnchecked:"mat-checkbox-anim-checked-unchecked",checkedToIndeterminate:"mat-checkbox-anim-checked-indeterminate",indeterminateToChecked:"mat-checkbox-anim-indeterminate-checked",indeterminateToUnchecked:"mat-checkbox-anim-indeterminate-unchecked"}}_createChangeEvent($){const he=new W;return he.source=this,he.checked=$,he}_getAnimationTargetElement(){return this._elementRef.nativeElement}ngAfterViewInit(){super.ngAfterViewInit(),this._focusMonitor.monitor(this._elementRef,!0).subscribe($=>{$||this._onBlur()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onInputClick($){$.stopPropagation(),super._handleInputClick()}focus($,he){$?this._focusMonitor.focusVia(this._inputElement,$,he):this._inputElement.nativeElement.focus(he)}}ie.\u0275fac=function($){return new($||ie)(_.Y36(_.SBq),_.Y36(_.sBO),_.Y36(e.tE),_.Y36(_.R0b),_.$8M("tabindex"),_.Y36(_.QbO,8),_.Y36(A,8))},ie.\u0275cmp=_.Xpm({type:ie,selectors:[["mat-checkbox"]],hostAttrs:[1,"mat-checkbox"],hostVars:14,hostBindings:function($,he){2&$&&(_.Ikx("id",he.id),_.uIk("tabindex",null)("aria-label",null)("aria-labelledby",null),_.ekj("mat-checkbox-indeterminate",he.indeterminate)("mat-checkbox-checked",he.checked)("mat-checkbox-disabled",he.disabled)("mat-checkbox-label-before","before"==he.labelPosition)("_mat-animation-noopable","NoopAnimations"===he._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matCheckbox"],features:[_._Bn([I]),_.qOj],ngContentSelectors:["*"],decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function($,he){if(1&$&&(_.F$t(),_.TgZ(0,"label",0,1)(2,"span",2)(3,"input",3,4),_.NdJ("change",function(n){return he._onInteractionEvent(n)})("click",function(n){return he._onInputClick(n)}),_.qZA(),_.TgZ(5,"span",5),_._UZ(6,"span",6),_.qZA(),_._UZ(7,"span",7),_.TgZ(8,"span",8),_.O4$(),_.TgZ(9,"svg",9),_._UZ(10,"path",10),_.qZA(),_.kcU(),_._UZ(11,"span",11),_.qZA()(),_.TgZ(12,"span",12,13),_.NdJ("cdkObserveContent",function(){return he._onLabelTextChange()}),_.TgZ(14,"span",14),_._uU(15,"\xa0"),_.qZA(),_.Hsn(16),_.qZA()()),2&$){const w=_.MAs(1),n=_.MAs(13);_.uIk("for",he.inputId),_.xp6(2),_.ekj("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),_.xp6(1),_.Q6J("id",he.inputId)("required",he.required)("checked",he.checked)("disabled",he.disabled)("tabIndex",he.tabIndex),_.uIk("value",he.value)("name",he.name)("aria-label",he.ariaLabel||null)("aria-labelledby",he.ariaLabelledby)("aria-checked",he._getAriaChecked())("aria-describedby",he.ariaDescribedby),_.xp6(2),_.Q6J("matRippleTrigger",w)("matRippleDisabled",he._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",_.VKq(19,p,"NoopAnimations"===he._animationMode?0:150))}},dependencies:[s.wG,D.wD],styles:['@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.mat-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:rgba(0,0,0,0);transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:rgba(0,0,0,0)}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-input:focus~.mat-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});const ae={provide:E.Cf,useExisting:(0,_.Gpc)(()=>_e),multi:!0};class _e extends E.Zs{}_e.\u0275fac=function(){let ue;return function(he){return(ue||(ue=_.n5z(_e)))(he||_e)}}(),_e.\u0275dir=_.lG2({type:_e,selectors:[["mat-checkbox","required","","formControlName",""],["mat-checkbox","required","","formControl",""],["mat-checkbox","required","","ngModel",""]],features:[_._Bn([ae]),_.qOj]});class ce{}ce.\u0275fac=function($){return new($||ce)},ce.\u0275mod=_.oAB({type:ce}),ce.\u0275inj=_.cJS({});class ye{}ye.\u0275fac=function($){return new($||ye)},ye.\u0275mod=_.oAB({type:ye}),ye.\u0275inj=_.cJS({imports:[s.si,s.BQ,D.Q8,ce,s.BQ,ce]})},1169:(Ue,q,m)=>{"use strict";m.d(q,{HS:()=>he,Hi:()=>a,qn:()=>y});var e=m(8456),t=m(2560),_=m(207),E=m(8971),s=m(9107),D=m(4666),u=m(253),k=m(6646),p=m(9295),S=m(8951),A=m(4874),P=m(4218),M=m(2867),z=m(1755),I=m(2508),W=m(5074);const ie=new t.OlP("MatChipRemove"),ae=new t.OlP("MatChipAvatar"),_e=new t.OlP("MatChipTrailingIcon");const ye=(0,_.sb)((0,_.pj)((0,_.Kr)(class ce{constructor(N){this._elementRef=N}}),"primary"),-1);class ue{}ue.\u0275fac=function(N){return new(N||ue)},ue.\u0275dir=t.lG2({type:ue,selectors:[["mat-chip-avatar"],["","matChipAvatar",""]],hostAttrs:[1,"mat-chip-avatar"],features:[t._Bn([{provide:ae,useExisting:ue}])]});class ${}$.\u0275fac=function(N){return new(N||$)},$.\u0275dir=t.lG2({type:$,selectors:[["mat-chip-trailing-icon"],["","matChipTrailingIcon",""]],hostAttrs:[1,"mat-chip-trailing-icon"],features:[t._Bn([{provide:_e,useExisting:$}])]});class he extends ye{constructor(N,F,X,Fe,ke,Ke,je,Ve){super(N),this._ngZone=F,this._changeDetectorRef=ke,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this.role="option",this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new u.x,this._onBlur=new u.x,this.selectionChange=new t.vpe,this.destroyed=new t.vpe,this.removed=new t.vpe,this._addHostClassName(),this._chipRippleTarget=Ke.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new _.IR(this,F,this._chipRippleTarget,X),this._chipRipple.setupTriggerEvents(N),this.rippleConfig=Fe||{},this._animationsDisabled="NoopAnimations"===je,this.tabIndex=null!=Ve&&parseInt(Ve)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(N){const F=(0,E.Ig)(N);F!==this._selected&&(this._selected=F,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(N){this._value=N}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(N){this._selectable=(0,E.Ig)(N)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(N){this._disabled=(0,E.Ig)(N)}get removable(){return this._removable}set removable(N){this._removable=(0,E.Ig)(N)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const N="mat-basic-chip",F=this._elementRef.nativeElement;F.hasAttribute(N)||F.tagName.toLowerCase()===N?F.classList.add(N):F.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(N=!1){return this._selected=!this.selected,this._dispatchSelectionChange(N),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(N){this.disabled&&N.preventDefault()}_handleKeydown(N){if(!this.disabled)switch(N.keyCode){case e.yY:case e.ZH:this.remove(),N.preventDefault();break;case e.L_:this.selectable&&this.toggleSelected(!0),N.preventDefault()}}_blur(){this._ngZone.onStable.pipe((0,p.q)(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(N=!1){this.selectionChange.emit({source:this,isUserInput:N,selected:this._selected})}}he.\u0275fac=function(N){return new(N||he)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(s.t4),t.Y36(_.Y2,8),t.Y36(t.sBO),t.Y36(D.K0),t.Y36(t.QbO,8),t.$8M("tabindex"))},he.\u0275dir=t.lG2({type:he,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(N,F,X){if(1&N&&(t.Suo(X,ae,5),t.Suo(X,_e,5),t.Suo(X,ie,5)),2&N){let Fe;t.iGM(Fe=t.CRH())&&(F.avatar=Fe.first),t.iGM(Fe=t.CRH())&&(F.trailingIcon=Fe.first),t.iGM(Fe=t.CRH())&&(F.removeIcon=Fe.first)}},hostAttrs:[1,"mat-chip","mat-focus-indicator"],hostVars:15,hostBindings:function(N,F){1&N&&t.NdJ("click",function(Fe){return F._handleClick(Fe)})("keydown",function(Fe){return F._handleKeydown(Fe)})("focus",function(){return F.focus()})("blur",function(){return F._blur()}),2&N&&(t.uIk("tabindex",F.disabled?null:F.tabIndex)("role",F.role)("disabled",F.disabled||null)("aria-disabled",F.disabled.toString())("aria-selected",F.ariaSelected),t.ekj("mat-chip-selected",F.selected)("mat-chip-with-avatar",F.avatar)("mat-chip-with-trailing-icon",F.trailingIcon||F.removeIcon)("mat-chip-disabled",F.disabled)("_mat-animation-noopable",F._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",role:"role",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[t.qOj]});class w{constructor(N,F){this._parentChip=N,"BUTTON"===F.nativeElement.nodeName&&F.nativeElement.setAttribute("type","button")}_handleClick(N){const F=this._parentChip;F.removable&&!F.disabled&&F.remove(),N.stopPropagation(),N.preventDefault()}}w.\u0275fac=function(N){return new(N||w)(t.Y36(he),t.Y36(t.SBq))},w.\u0275dir=t.lG2({type:w,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(N,F){1&N&&t.NdJ("click",function(Fe){return F._handleClick(Fe)})},features:[t._Bn([{provide:ie,useExisting:w}])]});const n=new t.OlP("mat-chips-default-options"),o=(0,_.FD)(class{constructor(C,N,F,X){this._defaultErrorStateMatcher=C,this._parentForm=N,this._parentFormGroup=F,this.ngControl=X,this.stateChanges=new u.x}});let h=0;class d{constructor(N,F){this.source=N,this.value=F}}class y extends o{constructor(N,F,X,Fe,ke,Ke,je){super(Ke,Fe,ke,je),this._elementRef=N,this._changeDetectorRef=F,this._dir=X,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new u.x,this._uid="mat-chip-list-"+h++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(Ve,xe)=>Ve===xe,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new t.vpe,this.valueChange=new t.vpe,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get role(){return this._explicitRole?this._explicitRole:this.empty?null:"listbox"}set role(N){this._explicitRole=N}get multiple(){return this._multiple}set multiple(N){this._multiple=(0,E.Ig)(N),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(N){this._compareWith=N,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(N){this.writeValue(N),this._value=N}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(I.kI.required)??!1}set required(N){this._required=(0,E.Ig)(N),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(N){this._placeholder=N,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(N){this._disabled=(0,E.Ig)(N),this._syncChipsState()}get selectable(){return this._selectable}set selectable(N){this._selectable=(0,E.Ig)(N),this._syncChipsState()}set tabIndex(N){this._userTabIndex=N,this._tabIndex=N}get chipSelectionChanges(){return(0,k.T)(...this.chips.map(N=>N.selectionChange))}get chipFocusChanges(){return(0,k.T)(...this.chips.map(N=>N._onFocus))}get chipBlurChanges(){return(0,k.T)(...this.chips.map(N=>N._onBlur))}get chipRemoveChanges(){return(0,k.T)(...this.chips.map(N=>N.destroyed))}ngAfterContentInit(){this._keyManager=new P.Em(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe((0,S.R)(this._destroyed)).subscribe(N=>this._keyManager.withHorizontalOrientation(N)),this._keyManager.tabOut.pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe((0,A.O)(null),(0,S.R)(this._destroyed)).subscribe(()=>{(this.disabled||!this.selectable)&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new z.Ov(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(N){this._chipInput=N,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",N.id)}setDescribedByIds(N){N.length?this._elementRef.nativeElement.setAttribute("aria-describedby",N.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(N){this.chips&&this._setSelectionByValue(N,!1)}registerOnChange(N){this._onChange=N}registerOnTouched(N){this._onTouched=N}setDisabledState(N){this.disabled=N,this.stateChanges.next()}onContainerClick(N){this._originatesFromChip(N)||this.focus()}focus(N){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(N),this.stateChanges.next()))}_focusInput(N){this._chipInput&&this._chipInput.focus(N)}_keydown(N){const F=N.target;F&&F.classList.contains("mat-chip")&&(this._keyManager.onKeydown(N),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const N=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(N)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(N){return N>=0&&NX.deselect()),Array.isArray(N))N.forEach(X=>this._selectValue(X,F)),this._sortValues();else{const X=this._selectValue(N,F);X&&F&&this._keyManager.setActiveItem(X)}}_selectValue(N,F=!0){const X=this.chips.find(Fe=>null!=Fe.value&&this._compareWith(Fe.value,N));return X&&(F?X.selectViaInteraction():X.select(),this._selectionModel.select(X)),X}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(N){this._selectionModel.clear(),this.chips.forEach(F=>{F!==N&&F.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(N=>{N.selected&&this._selectionModel.select(N)}),this.stateChanges.next())}_propagateChanges(N){let F=null;F=Array.isArray(this.selected)?this.selected.map(X=>X.value):this.selected?this.selected.value:N,this._value=F,this.change.emit(new d(this,F)),this.valueChange.emit(F),this._onChange(F),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(N=>{N.source.selected?this._selectionModel.select(N.source):this._selectionModel.deselect(N.source),this.multiple||this.chips.forEach(F=>{!this._selectionModel.isSelected(F)&&F.selected&&F.deselect()}),N.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(N=>{let F=this.chips.toArray().indexOf(N.chip);this._isValidIndex(F)&&this._keyManager.updateActiveItem(F),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(N=>{const F=N.chip,X=this.chips.toArray().indexOf(N.chip);this._isValidIndex(X)&&F._hasFocus&&(this._lastDestroyedChipIndex=X)})}_originatesFromChip(N){let F=N.target;for(;F&&F!==this._elementRef.nativeElement;){if(F.classList.contains("mat-chip"))return!0;F=F.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(N=>N._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(N=>{N._chipListDisabled=this._disabled,N._chipListMultiple=this.multiple,N.chipListSelectable=this._selectable})}}y.\u0275fac=function(N){return new(N||y)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(M.Is,8),t.Y36(I.F,8),t.Y36(I.sg,8),t.Y36(_.rD),t.Y36(I.a5,10))},y.\u0275cmp=t.Xpm({type:y,selectors:[["mat-chip-list"]],contentQueries:function(N,F,X){if(1&N&&t.Suo(X,he,5),2&N){let Fe;t.iGM(Fe=t.CRH())&&(F.chips=Fe)}},hostAttrs:[1,"mat-chip-list"],hostVars:14,hostBindings:function(N,F){1&N&&t.NdJ("focus",function(){return F.focus()})("blur",function(){return F._blur()})("keydown",function(Fe){return F._keydown(Fe)}),2&N&&(t.Ikx("id",F._uid),t.uIk("tabindex",F.disabled?null:F._tabIndex)("aria-required",F.role?F.required:null)("aria-disabled",F.disabled.toString())("aria-invalid",F.errorState)("aria-multiselectable",F.multiple)("role",F.role)("aria-orientation",F.ariaOrientation),t.ekj("mat-chip-list-disabled",F.disabled)("mat-chip-list-invalid",F.errorState)("mat-chip-list-required",F.required))},inputs:{role:"role",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],errorStateMatcher:"errorStateMatcher",multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",ariaOrientation:["aria-orientation","ariaOrientation"],selectable:"selectable",tabIndex:"tabIndex"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[t._Bn([{provide:W.Eo,useExisting:y}]),t.qOj],ngContentSelectors:["*"],decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(N,F){1&N&&(t.F$t(),t.TgZ(0,"div",0),t.Hsn(1),t.qZA())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-chip::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}.mat-standard-chip._mat-animation-noopable{transition:none !important;animation:none !important}.mat-standard-chip .mat-chip-remove{border:none;-webkit-appearance:none;-moz-appearance:none;padding:0;background:none}.mat-standard-chip .mat-chip-remove.mat-icon,.mat-standard-chip .mat-chip-remove .mat-icon{width:18px;height:18px;font-size:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip.mat-chip-selected{outline-width:3px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden;transform:translateZ(0)}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}'],encapsulation:2,changeDetection:0});let L=0;class B{constructor(N,F){this._elementRef=N,this._defaultOptions=F,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new t.vpe,this.placeholder="",this.id="mat-chip-list-input-"+L++,this._disabled=!1,this.inputElement=this._elementRef.nativeElement}set chipList(N){N&&(this._chipList=N,this._chipList.registerInput(this))}get addOnBlur(){return this._addOnBlur}set addOnBlur(N){this._addOnBlur=(0,E.Ig)(N)}get disabled(){return this._disabled||this._chipList&&this._chipList.disabled}set disabled(N){this._disabled=(0,E.Ig)(N)}get empty(){return!this.inputElement.value}ngOnChanges(){this._chipList.stateChanges.next()}ngOnDestroy(){this.chipEnd.complete()}ngAfterContentInit(){this._focusLastChipOnBackspace=this.empty}_keydown(N){if(N){if(N.keyCode===e.Mf&&!(0,e.Vb)(N,"shiftKey")&&this._chipList._allowFocusEscape(),N.keyCode===e.ZH&&this._focusLastChipOnBackspace)return this._chipList._keyManager.setLastItemActive(),void N.preventDefault();this._focusLastChipOnBackspace=!1}this._emitChipEnd(N)}_keyup(N){!this._focusLastChipOnBackspace&&N.keyCode===e.ZH&&this.empty&&(this._focusLastChipOnBackspace=!0,N.preventDefault())}_blur(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()}_focus(){this.focused=!0,this._focusLastChipOnBackspace=this.empty,this._chipList.stateChanges.next()}_emitChipEnd(N){!this.inputElement.value&&!!N&&this._chipList._keydown(N),(!N||this._isSeparatorKey(N))&&(this.chipEnd.emit({input:this.inputElement,value:this.inputElement.value,chipInput:this}),N?.preventDefault())}_onInput(){this._chipList.stateChanges.next()}focus(N){this.inputElement.focus(N)}clear(){this.inputElement.value="",this._focusLastChipOnBackspace=!0}_isSeparatorKey(N){return!(0,e.Vb)(N)&&new Set(this.separatorKeyCodes).has(N.keyCode)}}B.\u0275fac=function(N){return new(N||B)(t.Y36(t.SBq),t.Y36(n))},B.\u0275dir=t.lG2({type:B,selectors:[["input","matChipInputFor",""]],hostAttrs:[1,"mat-chip-input","mat-input-element"],hostVars:5,hostBindings:function(N,F){1&N&&t.NdJ("keydown",function(Fe){return F._keydown(Fe)})("keyup",function(Fe){return F._keyup(Fe)})("blur",function(){return F._blur()})("focus",function(){return F._focus()})("input",function(){return F._onInput()}),2&N&&(t.Ikx("id",F.id),t.uIk("disabled",F.disabled||null)("placeholder",F.placeholder||null)("aria-invalid",F._chipList&&F._chipList.ngControl?F._chipList.ngControl.invalid:null)("aria-required",F._chipList&&F._chipList.required||null))},inputs:{chipList:["matChipInputFor","chipList"],addOnBlur:["matChipInputAddOnBlur","addOnBlur"],separatorKeyCodes:["matChipInputSeparatorKeyCodes","separatorKeyCodes"],placeholder:"placeholder",id:"id",disabled:"disabled"},outputs:{chipEnd:"matChipInputTokenEnd"},exportAs:["matChipInput","matChipInputFor"],features:[t.TTD]});class a{}a.\u0275fac=function(N){return new(N||a)},a.\u0275mod=t.oAB({type:a}),a.\u0275inj=t.cJS({providers:[_.rD,{provide:n,useValue:{separatorKeyCodes:[e.K5]}}],imports:[_.BQ]})},207:(Ue,q,m)=>{"use strict";m.d(q,{yN:()=>Q,mZ:()=>ie,_A:()=>B,rD:()=>Ke,sG:()=>v,Ad:()=>y,K7:()=>un,HF:()=>le,Y2:()=>ee,BQ:()=>ce,X2:()=>je,uc:()=>Ze,XK:()=>Fe,ey:()=>Gt,Ng:()=>tn,rN:()=>yn,nP:()=>Oe,us:()=>Re,wG:()=>H,si:()=>j,LF:()=>N,IR:()=>te,CB:()=>In,jH:()=>rn,pj:()=>w,Kr:()=>n,Id:()=>he,FD:()=>h,dB:()=>d,sb:()=>o,E0:()=>Ve});var e=m(2560),t=m(4218),_=m(2867);new e.GfV("14.2.7");var s=m(4666),D=m(9107),u=m(8971),k=m(833),p=m(253),S=m(4874),A=m(8456);const P=["*",[["mat-option"],["ng-container"]]];function z(pn,tt){if(1&pn&&e._UZ(0,"mat-pseudo-checkbox",4),2&pn){const vt=e.oxw();e.Q6J("state",vt.selected?"checked":"unchecked")("disabled",vt.disabled)}}function I(pn,tt){if(1&pn&&(e.TgZ(0,"span",5),e._uU(1),e.qZA()),2&pn){const vt=e.oxw();e.xp6(1),e.hij("(",vt.group.label,")")}}new e.GfV("14.2.7");class Q{}Q.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",Q.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",Q.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",Q.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class ie{}ie.COMPLEX="375ms",ie.ENTERING="225ms",ie.EXITING="195ms";const _e=new e.OlP("mat-sanity-checks",{providedIn:"root",factory:function ae(){return!0}});class ce{constructor(tt,vt,dt){this._sanityChecks=vt,this._document=dt,this._hasDoneGlobalChecks=!1,tt._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(tt){return!(0,D.Oy)()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[tt])}}function he(pn){return class extends pn{constructor(...tt){super(...tt),this._disabled=!1}get disabled(){return this._disabled}set disabled(tt){this._disabled=(0,u.Ig)(tt)}}}function w(pn,tt){return class extends pn{constructor(...vt){super(...vt),this.defaultColor=tt,this.color=tt}get color(){return this._color}set color(vt){const dt=vt||this.defaultColor;dt!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),dt&&this._elementRef.nativeElement.classList.add(`mat-${dt}`),this._color=dt)}}}function n(pn){return class extends pn{constructor(...tt){super(...tt),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(tt){this._disableRipple=(0,u.Ig)(tt)}}}function o(pn,tt=0){return class extends pn{constructor(...vt){super(...vt),this._tabIndex=tt,this.defaultTabIndex=tt}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(vt){this._tabIndex=null!=vt?(0,u.su)(vt):this.defaultTabIndex}}}function h(pn){return class extends pn{constructor(...tt){super(...tt),this.errorState=!1}updateErrorState(){const tt=this.errorState,vt=this._parentFormGroup||this._parentForm,dt=this.errorStateMatcher||this._defaultErrorStateMatcher,se=this.ngControl?this.ngControl.control:null,J=dt.isErrorState(se,vt);J!==tt&&(this.errorState=J,this.stateChanges.next())}}}function d(pn){return class extends pn{constructor(...tt){super(...tt),this._isInitialized=!1,this._pendingSubscribers=[],this.initialized=new k.y(vt=>{this._isInitialized?this._notifySubscriber(vt):this._pendingSubscribers.push(vt)})}_markInitialized(){this._isInitialized,this._isInitialized=!0,this._pendingSubscribers.forEach(this._notifySubscriber),this._pendingSubscribers=null}_notifySubscriber(tt){tt.next(),tt.complete()}}}ce.\u0275fac=function(tt){return new(tt||ce)(e.LFG(t.qm),e.LFG(_e,8),e.LFG(s.K0))},ce.\u0275mod=e.oAB({type:ce}),ce.\u0275inj=e.cJS({imports:[_.vT,_.vT]});const y=new e.OlP("MAT_DATE_LOCALE",{providedIn:"root",factory:function L(){return(0,e.f3M)(e.soG)}});class B{constructor(){this._localeChanges=new p.x,this.localeChanges=this._localeChanges}getValidDateOrNull(tt){return this.isDateInstance(tt)&&this.isValid(tt)?tt:null}deserialize(tt){return null==tt||this.isDateInstance(tt)&&this.isValid(tt)?tt:this.invalid()}setLocale(tt){this.locale=tt,this._localeChanges.next()}compareDate(tt,vt){return this.getYear(tt)-this.getYear(vt)||this.getMonth(tt)-this.getMonth(vt)||this.getDate(tt)-this.getDate(vt)}sameDate(tt,vt){if(tt&&vt){let dt=this.isValid(tt),se=this.isValid(vt);return dt&&se?!this.compareDate(tt,vt):dt==se}return tt==vt}clampDate(tt,vt,dt){return vt&&this.compareDate(tt,vt)<0?vt:dt&&this.compareDate(tt,dt)>0?dt:tt}}const v=new e.OlP("mat-date-formats"),a=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function C(pn,tt){const vt=Array(pn);for(let dt=0;dtthis._format(vt,new Date(2017,dt,1)))}getDateNames(){const tt=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return C(31,vt=>this._format(tt,new Date(2017,0,vt+1)))}getDayOfWeekNames(tt){const vt=new Intl.DateTimeFormat(this.locale,{weekday:tt,timeZone:"utc"});return C(7,dt=>this._format(vt,new Date(2017,0,dt+1)))}getYearName(tt){const vt=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._format(vt,tt)}getFirstDayOfWeek(){return 0}getNumDaysInMonth(tt){return this.getDate(this._createDateWithOverflow(this.getYear(tt),this.getMonth(tt)+1,0))}clone(tt){return new Date(tt.getTime())}createDate(tt,vt,dt){let se=this._createDateWithOverflow(tt,vt,dt);return se.getMonth(),se}today(){return new Date}parse(tt,vt){return"number"==typeof tt?new Date(tt):tt?new Date(Date.parse(tt)):null}format(tt,vt){if(!this.isValid(tt))throw Error("NativeDateAdapter: Cannot format invalid date.");const dt=new Intl.DateTimeFormat(this.locale,{...vt,timeZone:"utc"});return this._format(dt,tt)}addCalendarYears(tt,vt){return this.addCalendarMonths(tt,12*vt)}addCalendarMonths(tt,vt){let dt=this._createDateWithOverflow(this.getYear(tt),this.getMonth(tt)+vt,this.getDate(tt));return this.getMonth(dt)!=((this.getMonth(tt)+vt)%12+12)%12&&(dt=this._createDateWithOverflow(this.getYear(dt),this.getMonth(dt),0)),dt}addCalendarDays(tt,vt){return this._createDateWithOverflow(this.getYear(tt),this.getMonth(tt),this.getDate(tt)+vt)}toIso8601(tt){return[tt.getUTCFullYear(),this._2digit(tt.getUTCMonth()+1),this._2digit(tt.getUTCDate())].join("-")}deserialize(tt){if("string"==typeof tt){if(!tt)return null;if(a.test(tt)){let vt=new Date(tt);if(this.isValid(vt))return vt}}return super.deserialize(tt)}isDateInstance(tt){return tt instanceof Date}isValid(tt){return!isNaN(tt.getTime())}invalid(){return new Date(NaN)}_createDateWithOverflow(tt,vt,dt){const se=new Date;return se.setFullYear(tt,vt,dt),se.setHours(0,0,0,0),se}_2digit(tt){return("00"+tt).slice(-2)}_format(tt,vt){const dt=new Date;return dt.setUTCFullYear(vt.getFullYear(),vt.getMonth(),vt.getDate()),dt.setUTCHours(vt.getHours(),vt.getMinutes(),vt.getSeconds(),vt.getMilliseconds()),tt.format(dt)}}N.\u0275fac=function(tt){return new(tt||N)(e.LFG(y,8),e.LFG(D.t4))},N.\u0275prov=e.Yz7({token:N,factory:N.\u0275fac});class X{}X.\u0275fac=function(tt){return new(tt||X)},X.\u0275mod=e.oAB({type:X}),X.\u0275inj=e.cJS({providers:[{provide:B,useClass:N}]});class Fe{}Fe.\u0275fac=function(tt){return new(tt||Fe)},Fe.\u0275mod=e.oAB({type:Fe}),Fe.\u0275inj=e.cJS({providers:[{provide:v,useValue:{parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}}}],imports:[X]});class ke{isErrorState(tt,vt){return!!(tt&&tt.invalid&&(tt.dirty||vt&&vt.submitted))}}ke.\u0275fac=function(tt){return new(tt||ke)},ke.\u0275prov=e.Yz7({token:ke,factory:ke.\u0275fac});class Ke{isErrorState(tt,vt){return!!(tt&&tt.invalid&&(tt.touched||vt&&vt.submitted))}}Ke.\u0275fac=function(tt){return new(tt||Ke)},Ke.\u0275prov=e.Yz7({token:Ke,factory:Ke.\u0275fac,providedIn:"root"});class je{}function Ve(pn,tt,vt="mat"){pn.changes.pipe((0,S.O)(pn)).subscribe(({length:dt})=>{xe(tt,`${vt}-2-line`,!1),xe(tt,`${vt}-3-line`,!1),xe(tt,`${vt}-multi-line`,!1),2===dt||3===dt?xe(tt,`${vt}-${dt}-line`,!0):dt>3&&xe(tt,`${vt}-multi-line`,!0)})}function xe(pn,tt,vt){pn.nativeElement.classList.toggle(tt,vt)}je.\u0275fac=function(tt){return new(tt||je)},je.\u0275dir=e.lG2({type:je,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]});class Ze{}Ze.\u0275fac=function(tt){return new(tt||Ze)},Ze.\u0275mod=e.oAB({type:Ze}),Ze.\u0275inj=e.cJS({imports:[ce,ce]});class Ie{constructor(tt,vt,dt,se=!1){this._renderer=tt,this.element=vt,this.config=dt,this._animationForciblyDisabledThroughCss=se,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ve={enterDuration:225,exitDuration:150},ht=(0,D.i$)({passive:!0}),Le=["mousedown","touchstart"],Ae=["mouseup","mouseleave","touchend","touchcancel"];class te{constructor(tt,vt,dt,se){this._target=tt,this._ngZone=vt,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,se.isBrowser&&(this._containerElement=(0,u.fI)(dt))}fadeInRipple(tt,vt,dt={}){const se=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),J={...ve,...dt.animation};dt.centered&&(tt=se.left+se.width/2,vt=se.top+se.height/2);const oe=dt.radius||function pe(pn,tt,vt){const dt=Math.max(Math.abs(pn-vt.left),Math.abs(pn-vt.right)),se=Math.max(Math.abs(tt-vt.top),Math.abs(tt-vt.bottom));return Math.sqrt(dt*dt+se*se)}(tt,vt,se),De=tt-se.left,Ye=vt-se.top,Dt=J.enterDuration,ut=document.createElement("div");ut.classList.add("mat-ripple-element"),ut.style.left=De-oe+"px",ut.style.top=Ye-oe+"px",ut.style.height=2*oe+"px",ut.style.width=2*oe+"px",null!=dt.color&&(ut.style.backgroundColor=dt.color),ut.style.transitionDuration=`${Dt}ms`,this._containerElement.appendChild(ut);const ze=window.getComputedStyle(ut),Me=ze.transitionProperty,Ce=ze.transitionDuration,Je="none"===Me||"0s"===Ce||"0s, 0s"===Ce,zt=new Ie(this,ut,dt,Je);ut.style.transform="scale3d(1, 1, 1)",zt.state=0,dt.persistent||(this._mostRecentTransientRipple=zt);let At=null;return!Je&&(Dt||J.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const Tt=()=>this._finishRippleTransition(zt),Ht=()=>this._destroyRipple(zt);ut.addEventListener("transitionend",Tt),ut.addEventListener("transitioncancel",Ht),At={onTransitionEnd:Tt,onTransitionCancel:Ht}}),this._activeRipples.set(zt,At),(Je||!Dt)&&this._finishRippleTransition(zt),zt}fadeOutRipple(tt){if(2===tt.state||3===tt.state)return;const vt=tt.element,dt={...ve,...tt.config.animation};vt.style.transitionDuration=`${dt.exitDuration}ms`,vt.style.opacity="0",tt.state=2,(tt._animationForciblyDisabledThroughCss||!dt.exitDuration)&&this._finishRippleTransition(tt)}fadeOutAll(){this._getActiveRipples().forEach(tt=>tt.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(tt=>{tt.config.persistent||tt.fadeOut()})}setupTriggerEvents(tt){const vt=(0,u.fI)(tt);!vt||vt===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=vt,this._registerEvents(Le))}handleEvent(tt){"mousedown"===tt.type?this._onMousedown(tt):"touchstart"===tt.type?this._onTouchStart(tt):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(Ae),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(tt){0===tt.state?this._startFadeOutTransition(tt):2===tt.state&&this._destroyRipple(tt)}_startFadeOutTransition(tt){const vt=tt===this._mostRecentTransientRipple,{persistent:dt}=tt.config;tt.state=1,!dt&&(!vt||!this._isPointerDown)&&tt.fadeOut()}_destroyRipple(tt){const vt=this._activeRipples.get(tt)??null;this._activeRipples.delete(tt),this._activeRipples.size||(this._containerRect=null),tt===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),tt.state=3,null!==vt&&(tt.element.removeEventListener("transitionend",vt.onTransitionEnd),tt.element.removeEventListener("transitioncancel",vt.onTransitionCancel)),tt.element.remove()}_onMousedown(tt){const vt=(0,t.X6)(tt),dt=this._lastTouchStartEvent&&Date.now(){const vt=1===tt.state||tt.config.terminateOnPointerUp&&0===tt.state;!tt.config.persistent&&vt&&tt.fadeOut()}))}_registerEvents(tt){this._ngZone.runOutsideAngular(()=>{tt.forEach(vt=>{this._triggerElement.addEventListener(vt,this,ht)})})}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){this._triggerElement&&(Le.forEach(tt=>{this._triggerElement.removeEventListener(tt,this,ht)}),this._pointerUpEventsRegistered&&Ae.forEach(tt=>{this._triggerElement.removeEventListener(tt,this,ht)}))}}const ee=new e.OlP("mat-ripple-global-options");class H{constructor(tt,vt,dt,se,J){this._elementRef=tt,this._animationMode=J,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=se||{},this._rippleRenderer=new te(this,vt,tt,dt)}get disabled(){return this._disabled}set disabled(tt){tt&&this.fadeOutAllNonPersistent(),this._disabled=tt,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(tt){this._trigger=tt,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(tt,vt=0,dt){return"number"==typeof tt?this._rippleRenderer.fadeInRipple(tt,vt,{...this.rippleConfig,...dt}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...tt})}}H.\u0275fac=function(tt){return new(tt||H)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(D.t4),e.Y36(ee,8),e.Y36(e.QbO,8))},H.\u0275dir=e.lG2({type:H,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(tt,vt){2&tt&&e.ekj("mat-ripple-unbounded",vt.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]});class j{}j.\u0275fac=function(tt){return new(tt||j)},j.\u0275mod=e.oAB({type:j}),j.\u0275inj=e.cJS({imports:[ce,ce]});class Oe{constructor(tt){this._animationMode=tt,this.state="unchecked",this.disabled=!1}}Oe.\u0275fac=function(tt){return new(tt||Oe)(e.Y36(e.QbO,8))},Oe.\u0275cmp=e.Xpm({type:Oe,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(tt,vt){2&tt&&e.ekj("mat-pseudo-checkbox-indeterminate","indeterminate"===vt.state)("mat-pseudo-checkbox-checked","checked"===vt.state)("mat-pseudo-checkbox-disabled",vt.disabled)("_mat-animation-noopable","NoopAnimations"===vt._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(tt,vt){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}'],encapsulation:2,changeDetection:0});class Re{}Re.\u0275fac=function(tt){return new(tt||Re)},Re.\u0275mod=e.oAB({type:Re}),Re.\u0275inj=e.cJS({imports:[ce]});const le=new e.OlP("MAT_OPTION_PARENT_COMPONENT"),_t=he(class{});let it=0;class Ct extends _t{constructor(tt){super(),this._labelId="mat-optgroup-label-"+it++,this._inert=tt?.inertGroups??!1}}Ct.\u0275fac=function(tt){return new(tt||Ct)(e.Y36(le,8))},Ct.\u0275dir=e.lG2({type:Ct,inputs:{label:"label"},features:[e.qOj]});const un=new e.OlP("MatOptgroup");class Bt extends Ct{}Bt.\u0275fac=function(){let pn;return function(vt){return(pn||(pn=e.n5z(Bt)))(vt||Bt)}}(),Bt.\u0275cmp=e.Xpm({type:Bt,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-optgroup"],hostVars:5,hostBindings:function(tt,vt){2&tt&&(e.uIk("role",vt._inert?null:"group")("aria-disabled",vt._inert?null:vt.disabled.toString())("aria-labelledby",vt._inert?null:vt._labelId),e.ekj("mat-optgroup-disabled",vt.disabled))},inputs:{disabled:"disabled"},exportAs:["matOptgroup"],features:[e._Bn([{provide:un,useExisting:Bt}]),e.qOj],ngContentSelectors:["*","mat-option, ng-container"],decls:4,vars:2,consts:[["aria-hidden","true",1,"mat-optgroup-label",3,"id"]],template:function(tt,vt){1&tt&&(e.F$t(P),e.TgZ(0,"span",0),e._uU(1),e.Hsn(2),e.qZA(),e.Hsn(3,1)),2&tt&&(e.Q6J("id",vt._labelId),e.xp6(1),e.hij("",vt.label," "))},styles:[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"],encapsulation:2,changeDetection:0});let Ut=0;class yn{constructor(tt,vt=!1){this.source=tt,this.isUserInput=vt}}class Xt{constructor(tt,vt,dt,se){this._element=tt,this._changeDetectorRef=vt,this._parent=dt,this.group=se,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+Ut++,this.onSelectionChange=new e.vpe,this._stateChanges=new p.x}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(tt){this._disabled=(0,u.Ig)(tt)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(tt,vt){const dt=this._getHostElement();"function"==typeof dt.focus&&dt.focus(vt)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(tt){(tt.keyCode===A.K5||tt.keyCode===A.L_)&&!(0,A.Vb)(tt)&&(this._selectViaInteraction(),tt.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const tt=this.viewValue;tt!==this._mostRecentViewValue&&(this._mostRecentViewValue=tt,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(tt=!1){this.onSelectionChange.emit(new yn(this,tt))}}Xt.\u0275fac=function(tt){e.$Z()},Xt.\u0275dir=e.lG2({type:Xt,inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}});class Gt extends Xt{constructor(tt,vt,dt,se){super(tt,vt,dt,se)}}function In(pn,tt,vt){if(vt.length){let dt=tt.toArray(),se=vt.toArray(),J=0;for(let oe=0;oevt+dt?Math.max(0,pn-dt+tt):vt}Gt.\u0275fac=function(tt){return new(tt||Gt)(e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(le,8),e.Y36(un,8))},Gt.\u0275cmp=e.Xpm({type:Gt,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(tt,vt){1&tt&&e.NdJ("click",function(){return vt._selectViaInteraction()})("keydown",function(se){return vt._handleKeydown(se)}),2&tt&&(e.Ikx("id",vt.id),e.uIk("tabindex",vt._getTabIndex())("aria-selected",vt._getAriaSelected())("aria-disabled",vt.disabled.toString()),e.ekj("mat-selected",vt.selected)("mat-option-multiple",vt.multiple)("mat-active",vt.active)("mat-option-disabled",vt.disabled))},exportAs:["matOption"],features:[e.qOj],ngContentSelectors:["*"],decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(tt,vt){1&tt&&(e.F$t(),e.YNc(0,z,1,2,"mat-pseudo-checkbox",0),e.TgZ(1,"span",1),e.Hsn(2),e.qZA(),e.YNc(3,I,2,1,"span",2),e._UZ(4,"div",3)),2&tt&&(e.Q6J("ngIf",vt.multiple),e.xp6(3),e.Q6J("ngIf",vt.group&&vt.group._inert),e.xp6(1),e.Q6J("matRippleTrigger",vt._getHostElement())("matRippleDisabled",vt.disabled||vt.disableRipple))},dependencies:[H,s.O5,Oe],styles:['.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option.mat-active::before{content:""}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.cdk-high-contrast-active .mat-option.mat-selected:not(.mat-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-option.mat-selected:not(.mat-option-multiple)::after{right:auto;left:16px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}'],encapsulation:2,changeDetection:0});class tn{}tn.\u0275fac=function(tt){return new(tt||tn)},tn.\u0275mod=e.oAB({type:tn}),tn.\u0275inj=e.cJS({imports:[j,s.ez,ce,Re]})},2298:(Ue,q,m)=>{"use strict";m.d(q,{FA:()=>Be,Mq:()=>ut,hl:()=>At,nW:()=>Ht});var e=m(4218),t=m(5895),_=m(7520),E=m(4666),s=m(2560),D=m(4522),u=m(1494),k=m(207),p=m(253),S=m(7714),A=m(6646),P=m(745),M=m(8456),z=m(2867),I=m(9295),W=m(4874),Z=m(116),Q=m(8971),ie=m(9107),ae=m(4851),_e=m(2508),ce=m(5074),ye=m(1267);function $(ft,re){if(1&ft&&(s.TgZ(0,"tr",2)(1,"td",3),s._uU(2),s.qZA()()),2&ft){const Te=s.oxw();s.xp6(1),s.Udp("padding-top",Te._cellPadding)("padding-bottom",Te._cellPadding),s.uIk("colspan",Te.numCols),s.xp6(1),s.hij(" ",Te.label," ")}}function he(ft,re){if(1&ft&&(s.TgZ(0,"td",3),s._uU(1),s.qZA()),2&ft){const Te=s.oxw(2);s.Udp("padding-top",Te._cellPadding)("padding-bottom",Te._cellPadding),s.uIk("colspan",Te._firstRowOffset),s.xp6(1),s.hij(" ",Te._firstRowOffset>=Te.labelMinRequiredCells?Te.label:""," ")}}function w(ft,re){if(1&ft){const Te=s.EpF();s.TgZ(0,"td",7)(1,"button",8),s.NdJ("click",function(Lt){const Bn=s.CHM(Te).$implicit,Wn=s.oxw(2);return s.KtG(Wn._cellClicked(Bn,Lt))})("focus",function(Lt){const Bn=s.CHM(Te).$implicit,Wn=s.oxw(2);return s.KtG(Wn._emitActiveDateChange(Bn,Lt))}),s.TgZ(2,"div",9),s._uU(3),s.qZA(),s._UZ(4,"div",10),s.qZA()()}if(2&ft){const Te=re.$implicit,pt=re.index,Lt=s.oxw().index,nn=s.oxw();s.Udp("width",nn._cellWidth)("padding-top",nn._cellPadding)("padding-bottom",nn._cellPadding),s.uIk("data-mat-row",Lt)("data-mat-col",pt),s.xp6(1),s.ekj("mat-calendar-body-disabled",!Te.enabled)("mat-calendar-body-active",nn._isActiveCell(Lt,pt))("mat-calendar-body-range-start",nn._isRangeStart(Te.compareValue))("mat-calendar-body-range-end",nn._isRangeEnd(Te.compareValue))("mat-calendar-body-in-range",nn._isInRange(Te.compareValue))("mat-calendar-body-comparison-bridge-start",nn._isComparisonBridgeStart(Te.compareValue,Lt,pt))("mat-calendar-body-comparison-bridge-end",nn._isComparisonBridgeEnd(Te.compareValue,Lt,pt))("mat-calendar-body-comparison-start",nn._isComparisonStart(Te.compareValue))("mat-calendar-body-comparison-end",nn._isComparisonEnd(Te.compareValue))("mat-calendar-body-in-comparison-range",nn._isInComparisonRange(Te.compareValue))("mat-calendar-body-preview-start",nn._isPreviewStart(Te.compareValue))("mat-calendar-body-preview-end",nn._isPreviewEnd(Te.compareValue))("mat-calendar-body-in-preview",nn._isInPreview(Te.compareValue)),s.Q6J("ngClass",Te.cssClasses)("tabindex",nn._isActiveCell(Lt,pt)?0:-1),s.uIk("aria-label",Te.ariaLabel)("aria-disabled",!Te.enabled||null)("aria-pressed",nn._isSelected(Te.compareValue))("aria-current",nn.todayValue===Te.compareValue?"date":null),s.xp6(1),s.ekj("mat-calendar-body-selected",nn._isSelected(Te.compareValue))("mat-calendar-body-comparison-identical",nn._isComparisonIdentical(Te.compareValue))("mat-calendar-body-today",nn.todayValue===Te.compareValue),s.xp6(1),s.hij(" ",Te.displayValue," ")}}function n(ft,re){if(1&ft&&(s.TgZ(0,"tr",4),s.YNc(1,he,2,6,"td",5),s.YNc(2,w,5,47,"td",6),s.qZA()),2&ft){const Te=re.$implicit,pt=re.index,Lt=s.oxw();s.xp6(1),s.Q6J("ngIf",0===pt&&Lt._firstRowOffset),s.xp6(1),s.Q6J("ngForOf",Te)}}function o(ft,re){if(1&ft&&(s.TgZ(0,"th",5)(1,"span",6),s._uU(2),s.qZA(),s.TgZ(3,"span",7),s._uU(4),s.qZA()()),2&ft){const Te=re.$implicit;s.xp6(2),s.Oqu(Te.long),s.xp6(2),s.Oqu(Te.narrow)}}const h=["*"];function d(ft,re){}function y(ft,re){if(1&ft){const Te=s.EpF();s.TgZ(0,"mat-month-view",5),s.NdJ("activeDateChange",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("_userSelection",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn._dateSelected(Lt))}),s.qZA()}if(2&ft){const Te=s.oxw();s.Q6J("activeDate",Te.activeDate)("selected",Te.selected)("dateFilter",Te.dateFilter)("maxDate",Te.maxDate)("minDate",Te.minDate)("dateClass",Te.dateClass)("comparisonStart",Te.comparisonStart)("comparisonEnd",Te.comparisonEnd)}}function L(ft,re){if(1&ft){const Te=s.EpF();s.TgZ(0,"mat-year-view",6),s.NdJ("activeDateChange",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("monthSelected",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn._monthSelectedInYearView(Lt))})("selectedChange",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn._goToDateInView(Lt,"month"))}),s.qZA()}if(2&ft){const Te=s.oxw();s.Q6J("activeDate",Te.activeDate)("selected",Te.selected)("dateFilter",Te.dateFilter)("maxDate",Te.maxDate)("minDate",Te.minDate)("dateClass",Te.dateClass)}}function B(ft,re){if(1&ft){const Te=s.EpF();s.TgZ(0,"mat-multi-year-view",7),s.NdJ("activeDateChange",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("yearSelected",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn._yearSelectedInMultiYearView(Lt))})("selectedChange",function(Lt){s.CHM(Te);const nn=s.oxw();return s.KtG(nn._goToDateInView(Lt,"year"))}),s.qZA()}if(2&ft){const Te=s.oxw();s.Q6J("activeDate",Te.activeDate)("selected",Te.selected)("dateFilter",Te.dateFilter)("maxDate",Te.maxDate)("minDate",Te.minDate)("dateClass",Te.dateClass)}}function v(ft,re){}const a=["button"];function C(ft,re){1&ft&&(s.O4$(),s.TgZ(0,"svg",3),s._UZ(1,"path",4),s.qZA())}const N=[[["","matDatepickerToggleIcon",""]]],X=[[["input","matStartDate",""]],[["input","matEndDate",""]]];function ke(ft,re){1&ft&&(s.TgZ(0,"div",0),s.Hsn(1),s.qZA())}class je{constructor(){this.changes=new p.x,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.closeCalendarLabel="Close calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 24 years",this.nextMultiYearLabel="Next 24 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year",this.startDateLabel="Start date",this.endDateLabel="End date"}formatYearRange(re,Te){return`${re} \u2013 ${Te}`}formatYearRangeLabel(re,Te){return`${re} to ${Te}`}}je.\u0275fac=function(re){return new(re||je)},je.\u0275prov=s.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"});class Ve{constructor(re,Te,pt,Lt,nn={},Bn=re,Wn){this.value=re,this.displayValue=Te,this.ariaLabel=pt,this.enabled=Lt,this.cssClasses=nn,this.compareValue=Bn,this.rawValue=Wn}}class xe{constructor(re,Te){this._elementRef=re,this._ngZone=Te,this._focusActiveCellAfterViewChecked=!1,this.numCols=7,this.activeCell=0,this.isRange=!1,this.cellAspectRatio=1,this.previewStart=null,this.previewEnd=null,this.selectedValueChange=new s.vpe,this.previewChange=new s.vpe,this.activeDateChange=new s.vpe,this._enterHandler=pt=>{if(this._skipNextFocus&&"focus"===pt.type)this._skipNextFocus=!1;else if(pt.target&&this.isRange){const Lt=this._getCellFromElement(pt.target);Lt&&this._ngZone.run(()=>this.previewChange.emit({value:Lt.enabled?Lt:null,event:pt}))}},this._leaveHandler=pt=>{null!==this.previewEnd&&this.isRange&&pt.target&&this._getCellFromElement(pt.target)&&this._ngZone.run(()=>this.previewChange.emit({value:null,event:pt}))},Te.runOutsideAngular(()=>{const pt=re.nativeElement;pt.addEventListener("mouseenter",this._enterHandler,!0),pt.addEventListener("focus",this._enterHandler,!0),pt.addEventListener("mouseleave",this._leaveHandler,!0),pt.addEventListener("blur",this._leaveHandler,!0)})}ngAfterViewChecked(){this._focusActiveCellAfterViewChecked&&(this._focusActiveCell(),this._focusActiveCellAfterViewChecked=!1)}_cellClicked(re,Te){re.enabled&&this.selectedValueChange.emit({value:re.value,event:Te})}_emitActiveDateChange(re,Te){re.enabled&&this.activeDateChange.emit({value:re.value,event:Te})}_isSelected(re){return this.startValue===re||this.endValue===re}ngOnChanges(re){const Te=re.numCols,{rows:pt,numCols:Lt}=this;(re.rows||Te)&&(this._firstRowOffset=pt&&pt.length&&pt[0].length?Lt-pt[0].length:0),(re.cellAspectRatio||Te||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/Lt+"%"),(Te||!this._cellWidth)&&(this._cellWidth=100/Lt+"%")}ngOnDestroy(){const re=this._elementRef.nativeElement;re.removeEventListener("mouseenter",this._enterHandler,!0),re.removeEventListener("focus",this._enterHandler,!0),re.removeEventListener("mouseleave",this._leaveHandler,!0),re.removeEventListener("blur",this._leaveHandler,!0)}_isActiveCell(re,Te){let pt=re*this.numCols+Te;return re&&(pt-=this._firstRowOffset),pt==this.activeCell}_focusActiveCell(re=!0){this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,I.q)(1)).subscribe(()=>{setTimeout(()=>{const Te=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");Te&&(re||(this._skipNextFocus=!0),Te.focus())})})})}_scheduleFocusActiveCellAfterViewChecked(){this._focusActiveCellAfterViewChecked=!0}_isRangeStart(re){return Ie(re,this.startValue,this.endValue)}_isRangeEnd(re){return ve(re,this.startValue,this.endValue)}_isInRange(re){return et(re,this.startValue,this.endValue,this.isRange)}_isComparisonStart(re){return Ie(re,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(re,Te,pt){if(!this._isComparisonStart(re)||this._isRangeStart(re)||!this._isInRange(re))return!1;let Lt=this.rows[Te][pt-1];if(!Lt){const nn=this.rows[Te-1];Lt=nn&&nn[nn.length-1]}return Lt&&!this._isRangeEnd(Lt.compareValue)}_isComparisonBridgeEnd(re,Te,pt){if(!this._isComparisonEnd(re)||this._isRangeEnd(re)||!this._isInRange(re))return!1;let Lt=this.rows[Te][pt+1];if(!Lt){const nn=this.rows[Te+1];Lt=nn&&nn[0]}return Lt&&!this._isRangeStart(Lt.compareValue)}_isComparisonEnd(re){return ve(re,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(re){return et(re,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(re){return this.comparisonStart===this.comparisonEnd&&re===this.comparisonStart}_isPreviewStart(re){return Ie(re,this.previewStart,this.previewEnd)}_isPreviewEnd(re){return ve(re,this.previewStart,this.previewEnd)}_isInPreview(re){return et(re,this.previewStart,this.previewEnd,this.isRange)}_getCellFromElement(re){let Te;if(Ze(re)?Te=re:Ze(re.parentNode)&&(Te=re.parentNode),Te){const pt=Te.getAttribute("data-mat-row"),Lt=Te.getAttribute("data-mat-col");if(pt&&Lt)return this.rows[parseInt(pt)][parseInt(Lt)]}return null}}function Ze(ft){return"TD"===ft.nodeName}function Ie(ft,re,Te){return null!==Te&&re!==Te&&ft=re&&ft===Te}function et(ft,re,Te,pt){return pt&&null!==re&&null!==Te&&re!==Te&&ft>=re&&ft<=Te}xe.\u0275fac=function(re){return new(re||xe)(s.Y36(s.SBq),s.Y36(s.R0b))},xe.\u0275cmp=s.Xpm({type:xe,selectors:[["","mat-calendar-body",""]],hostAttrs:[1,"mat-calendar-body"],inputs:{label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",previewStart:"previewStart",previewEnd:"previewEnd"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange",activeDateChange:"activeDateChange"},exportAs:["matCalendarBody"],features:[s.TTD],attrs:["mat-calendar-body",""],decls:2,vars:2,consts:[["aria-hidden","true",4,"ngIf"],["role","row",4,"ngFor","ngForOf"],["aria-hidden","true"],[1,"mat-calendar-body-label"],["role","row"],["class","mat-calendar-body-label",3,"paddingTop","paddingBottom",4,"ngIf"],["role","gridcell","class","mat-calendar-body-cell-container",3,"width","paddingTop","paddingBottom",4,"ngFor","ngForOf"],["role","gridcell",1,"mat-calendar-body-cell-container"],["type","button",1,"mat-calendar-body-cell",3,"ngClass","tabindex","click","focus"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],["aria-hidden","true",1,"mat-calendar-body-cell-preview"]],template:function(re,Te){1&re&&(s.YNc(0,$,3,6,"tr",0),s.YNc(1,n,3,2,"tr",1)),2&re&&(s.Q6J("ngIf",Te._firstRowOffset=0?Lt=re:(pt=re,Lt=null),new ht(pt,Lt)}createPreview(re,Te){let pt=null,Lt=null;return Te.start&&!Te.end&&re&&(pt=Te.start,Lt=re),new ht(pt,Lt)}}Re.\u0275fac=function(re){return new(re||Re)(s.LFG(k._A))},Re.\u0275prov=s.Yz7({token:Re,factory:Re.\u0275fac});const _t={provide:Oe,deps:[[new s.FiY,new s.tp0,Oe],k._A],useFactory:function le(ft,re){return ft||new Re(re)}};class Ct{constructor(re,Te,pt,Lt,nn){this._changeDetectorRef=re,this._dateFormats=Te,this._dateAdapter=pt,this._dir=Lt,this._rangeStrategy=nn,this._rerenderSubscription=S.w0.EMPTY,this.selectedChange=new s.vpe,this._userSelection=new s.vpe,this.activeDateChange=new s.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(re){const Te=this._activeDate,pt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(pt,this.minDate,this.maxDate),this._hasSameMonthAndYear(Te,this._activeDate)||this._init()}get selected(){return this._selected}set selected(re){this._selected=re instanceof ht?re:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re)),this._setRanges(this._selected)}get minDate(){return this._minDate}set minDate(re){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get maxDate(){return this._maxDate}set maxDate(re){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,W.O)(null)).subscribe(()=>this._init())}ngOnChanges(re){const Te=re.comparisonStart||re.comparisonEnd;Te&&!Te.firstChange&&this._setRanges(this.selected)}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_dateSelected(re){const Te=re.value,pt=this._getDateFromDayOfMonth(Te);let Lt,nn;this._selected instanceof ht?(Lt=this._getDateInCurrentMonth(this._selected.start),nn=this._getDateInCurrentMonth(this._selected.end)):Lt=nn=this._getDateInCurrentMonth(this._selected),(Lt!==Te||nn!==Te)&&this.selectedChange.emit(pt),this._userSelection.emit({value:pt,event:re.event}),this._previewStart=this._previewEnd=null,this._changeDetectorRef.markForCheck()}_updateActiveDate(re){const Te=re.value,pt=this._activeDate;this.activeDate=this._getDateFromDayOfMonth(Te),this._dateAdapter.compareDate(pt,this.activeDate)&&this.activeDateChange.emit(this._activeDate)}_handleCalendarBodyKeydown(re){const Te=this._activeDate,pt=this._isRtl();switch(re.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,pt?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,pt?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case M.Ku:this.activeDate=re.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case M.VM:this.activeDate=re.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case M.K5:case M.L_:return this._selectionKeyPressed=!0,void(this._canSelect(this._activeDate)&&re.preventDefault());case M.hY:return void(null!=this._previewEnd&&!(0,M.Vb)(re)&&(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:re}),re.preventDefault(),re.stopPropagation()));default:return}this._dateAdapter.compareDate(Te,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),re.preventDefault()}_handleCalendarBodyKeyup(re){(re.keyCode===M.L_||re.keyCode===M.K5)&&(this._selectionKeyPressed&&this._canSelect(this._activeDate)&&this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:re}),this._selectionKeyPressed=!1)}_init(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateFormats.display.monthLabel?this._dateAdapter.format(this.activeDate,this._dateFormats.display.monthLabel):this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();let re=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(re)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()}_focusActiveCell(re){this._matCalendarBody._focusActiveCell(re)}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_previewChanged({event:re,value:Te}){if(this._rangeStrategy){const pt=Te?Te.rawValue:null,Lt=this._rangeStrategy.createPreview(pt,this.selected,re);this._previewStart=this._getCellCompareValue(Lt.start),this._previewEnd=this._getCellCompareValue(Lt.end),this._changeDetectorRef.detectChanges()}}_getDateFromDayOfMonth(re){return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),re)}_initWeekdays(){const re=this._dateAdapter.getFirstDayOfWeek(),Te=this._dateAdapter.getDayOfWeekNames("narrow");let Lt=this._dateAdapter.getDayOfWeekNames("long").map((nn,Bn)=>({long:nn,narrow:Te[Bn]}));this._weekdays=Lt.slice(re).concat(Lt.slice(0,re))}_createWeekCells(){const re=this._dateAdapter.getNumDaysInMonth(this.activeDate),Te=this._dateAdapter.getDateNames();this._weeks=[[]];for(let pt=0,Lt=this._firstWeekOffset;pt=0)&&(!this.maxDate||this._dateAdapter.compareDate(re,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(re))}_getDateInCurrentMonth(re){return re&&this._hasSameMonthAndYear(re,this.activeDate)?this._dateAdapter.getDate(re):null}_hasSameMonthAndYear(re,Te){return!(!re||!Te||this._dateAdapter.getMonth(re)!=this._dateAdapter.getMonth(Te)||this._dateAdapter.getYear(re)!=this._dateAdapter.getYear(Te))}_getCellCompareValue(re){if(re){const Te=this._dateAdapter.getYear(re),pt=this._dateAdapter.getMonth(re),Lt=this._dateAdapter.getDate(re);return new Date(Te,pt,Lt).getTime()}return null}_isRtl(){return this._dir&&"rtl"===this._dir.value}_setRanges(re){re instanceof ht?(this._rangeStart=this._getCellCompareValue(re.start),this._rangeEnd=this._getCellCompareValue(re.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(re),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)}_canSelect(re){return!this.dateFilter||this.dateFilter(re)}}Ct.\u0275fac=function(re){return new(re||Ct)(s.Y36(s.sBO),s.Y36(k.sG,8),s.Y36(k._A,8),s.Y36(z.Is,8),s.Y36(Oe,8))},Ct.\u0275cmp=s.Xpm({type:Ct,selectors:[["mat-month-view"]],viewQuery:function(re,Te){if(1&re&&s.Gf(xe,5),2&re){let pt;s.iGM(pt=s.CRH())&&(Te._matCalendarBody=pt.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",_userSelection:"_userSelection",activeDateChange:"activeDateChange"},exportAs:["matMonthView"],features:[s.TTD],decls:7,vars:13,consts:[["role","grid",1,"mat-calendar-table"],[1,"mat-calendar-table-header"],["scope","col",4,"ngFor","ngForOf"],["aria-hidden","true","colspan","7",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"label","rows","todayValue","startValue","endValue","comparisonStart","comparisonEnd","previewStart","previewEnd","isRange","labelMinRequiredCells","activeCell","selectedValueChange","activeDateChange","previewChange","keyup","keydown"],["scope","col"],[1,"cdk-visually-hidden"],["aria-hidden","true"]],template:function(re,Te){1&re&&(s.TgZ(0,"table",0)(1,"thead",1)(2,"tr"),s.YNc(3,o,5,2,"th",2),s.qZA(),s.TgZ(4,"tr"),s._UZ(5,"th",3),s.qZA()(),s.TgZ(6,"tbody",4),s.NdJ("selectedValueChange",function(Lt){return Te._dateSelected(Lt)})("activeDateChange",function(Lt){return Te._updateActiveDate(Lt)})("previewChange",function(Lt){return Te._previewChanged(Lt)})("keyup",function(Lt){return Te._handleCalendarBodyKeyup(Lt)})("keydown",function(Lt){return Te._handleCalendarBodyKeydown(Lt)}),s.qZA()()),2&re&&(s.xp6(3),s.Q6J("ngForOf",Te._weekdays),s.xp6(3),s.Q6J("label",Te._monthLabel)("rows",Te._weeks)("todayValue",Te._todayDate)("startValue",Te._rangeStart)("endValue",Te._rangeEnd)("comparisonStart",Te._comparisonRangeStart)("comparisonEnd",Te._comparisonRangeEnd)("previewStart",Te._previewStart)("previewEnd",Te._previewEnd)("isRange",Te._isRange)("labelMinRequiredCells",3)("activeCell",Te._dateAdapter.getDate(Te.activeDate)-1))},dependencies:[E.sg,xe],encapsulation:2,changeDetection:0});class Ut{constructor(re,Te,pt){this._changeDetectorRef=re,this._dateAdapter=Te,this._dir=pt,this._rerenderSubscription=S.w0.EMPTY,this.selectedChange=new s.vpe,this.yearSelected=new s.vpe,this.activeDateChange=new s.vpe,this._dateAdapter,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(re){let Te=this._activeDate;const pt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(pt,this.minDate,this.maxDate),yn(this._dateAdapter,Te,this._activeDate,this.minDate,this.maxDate)||this._init()}get selected(){return this._selected}set selected(re){this._selected=re instanceof ht?re:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re)),this._setSelectedYear(re)}get minDate(){return this._minDate}set minDate(re){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get maxDate(){return this._maxDate}set maxDate(re){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,W.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_init(){this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());const Te=this._dateAdapter.getYear(this._activeDate)-Xt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(let pt=0,Lt=[];pt<24;pt++)Lt.push(Te+pt),4==Lt.length&&(this._years.push(Lt.map(nn=>this._createCellForYear(nn))),Lt=[]);this._changeDetectorRef.markForCheck()}_yearSelected(re){const Te=re.value,pt=this._dateAdapter.createDate(Te,0,1),Lt=this._getDateFromYear(Te);this.yearSelected.emit(pt),this.selectedChange.emit(Lt)}_updateActiveDate(re){const Te=re.value,pt=this._activeDate;this.activeDate=this._getDateFromYear(Te),this._dateAdapter.compareDate(pt,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(re){const Te=this._activeDate,pt=this._isRtl();switch(re.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,pt?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,pt?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-Xt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-Xt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case M.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,re.altKey?-240:-24);break;case M.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,re.altKey?240:24);break;case M.K5:case M.L_:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(Te,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked(),re.preventDefault()}_handleCalendarBodyKeyup(re){(re.keyCode===M.L_||re.keyCode===M.K5)&&(this._selectionKeyPressed&&this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:re}),this._selectionKeyPressed=!1)}_getActiveCell(){return Xt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getDateFromYear(re){const Te=this._dateAdapter.getMonth(this.activeDate),pt=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(re,Te,1));return this._dateAdapter.createDate(re,Te,Math.min(this._dateAdapter.getDate(this.activeDate),pt))}_createCellForYear(re){const Te=this._dateAdapter.createDate(re,0,1),pt=this._dateAdapter.getYearName(Te),Lt=this.dateClass?this.dateClass(Te,"multi-year"):void 0;return new Ve(re,pt,pt,this._shouldEnableYear(re),Lt)}_shouldEnableYear(re){if(null==re||this.maxDate&&re>this._dateAdapter.getYear(this.maxDate)||this.minDate&&rethis._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_monthSelected(re){const Te=re.value,pt=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),Te,1);this.monthSelected.emit(pt);const Lt=this._getDateFromMonth(Te);this.selectedChange.emit(Lt)}_updateActiveDate(re){const Te=re.value,pt=this._activeDate;this.activeDate=this._getDateFromMonth(Te),this._dateAdapter.compareDate(pt,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(re){const Te=this._activeDate,pt=this._isRtl();switch(re.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,pt?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,pt?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case M.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,re.altKey?-10:-1);break;case M.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,re.altKey?10:1);break;case M.K5:case M.L_:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(Te,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),re.preventDefault()}_handleCalendarBodyKeyup(re){(re.keyCode===M.L_||re.keyCode===M.K5)&&(this._selectionKeyPressed&&this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:re}),this._selectionKeyPressed=!1)}_init(){this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);let re=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(Te=>Te.map(pt=>this._createCellForMonth(pt,re[pt]))),this._changeDetectorRef.markForCheck()}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getMonthInCurrentYear(re){return re&&this._dateAdapter.getYear(re)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(re):null}_getDateFromMonth(re){const Te=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),re,1),pt=this._dateAdapter.getNumDaysInMonth(Te);return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),re,Math.min(this._dateAdapter.getDate(this.activeDate),pt))}_createCellForMonth(re,Te){const pt=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),re,1),Lt=this._dateAdapter.format(pt,this._dateFormats.display.monthYearA11yLabel),nn=this.dateClass?this.dateClass(pt,"year"):void 0;return new Ve(re,Te.toLocaleUpperCase(),Lt,this._shouldEnableMonth(re),nn)}_shouldEnableMonth(re){const Te=this._dateAdapter.getYear(this.activeDate);if(null==re||this._isYearAndMonthAfterMaxDate(Te,re)||this._isYearAndMonthBeforeMinDate(Te,re))return!1;if(!this.dateFilter)return!0;for(let Lt=this._dateAdapter.createDate(Te,re,1);this._dateAdapter.getMonth(Lt)==re;Lt=this._dateAdapter.addCalendarDays(Lt,1))if(this.dateFilter(Lt))return!0;return!1}_isYearAndMonthAfterMaxDate(re,Te){if(this.maxDate){const pt=this._dateAdapter.getYear(this.maxDate),Lt=this._dateAdapter.getMonth(this.maxDate);return re>pt||re===pt&&Te>Lt}return!1}_isYearAndMonthBeforeMinDate(re,Te){if(this.minDate){const pt=this._dateAdapter.getYear(this.minDate),Lt=this._dateAdapter.getMonth(this.minDate);return renn.markForCheck())}get periodButtonText(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);const Te=this._dateAdapter.getYear(this.calendar.activeDate)-Xt(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),pt=Te+24-1,Lt=this._dateAdapter.getYearName(this._dateAdapter.createDate(Te,0,1)),nn=this._dateAdapter.getYearName(this._dateAdapter.createDate(pt,0,1));return this._intl.formatYearRange(Lt,nn)}get periodButtonLabel(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel}get prevButtonLabel(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]}get nextButtonLabel(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]}currentPeriodClicked(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"}previousClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)}nextClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)}previousEnabled(){return!this.calendar.minDate||(!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate))}nextEnabled(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)}_isSameView(re,Te){return"month"==this.calendar.currentView?this._dateAdapter.getYear(re)==this._dateAdapter.getYear(Te)&&this._dateAdapter.getMonth(re)==this._dateAdapter.getMonth(Te):"year"==this.calendar.currentView?this._dateAdapter.getYear(re)==this._dateAdapter.getYear(Te):yn(this._dateAdapter,re,Te,this.calendar.minDate,this.calendar.maxDate)}}pn.\u0275fac=function(re){return new(re||pn)(s.Y36(je),s.Y36((0,s.Gpc)(()=>tt)),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(s.sBO))},pn.\u0275cmp=s.Xpm({type:pn,selectors:[["mat-calendar-header"]],exportAs:["matCalendarHeader"],ngContentSelectors:h,decls:11,vars:10,consts:[[1,"mat-calendar-header"],[1,"mat-calendar-controls"],["mat-button","","type","button","aria-live","polite",1,"mat-calendar-period-button",3,"click"],["viewBox","0 0 10 5","focusable","false",1,"mat-calendar-arrow"],["points","0,0 5,5 10,0"],[1,"mat-calendar-spacer"],["mat-icon-button","","type","button",1,"mat-calendar-previous-button",3,"disabled","click"],["mat-icon-button","","type","button",1,"mat-calendar-next-button",3,"disabled","click"]],template:function(re,Te){1&re&&(s.F$t(),s.TgZ(0,"div",0)(1,"div",1)(2,"button",2),s.NdJ("click",function(){return Te.currentPeriodClicked()}),s.TgZ(3,"span"),s._uU(4),s.qZA(),s.O4$(),s.TgZ(5,"svg",3),s._UZ(6,"polygon",4),s.qZA()(),s.kcU(),s._UZ(7,"div",5),s.Hsn(8),s.TgZ(9,"button",6),s.NdJ("click",function(){return Te.previousClicked()}),s.qZA(),s.TgZ(10,"button",7),s.NdJ("click",function(){return Te.nextClicked()}),s.qZA()()()),2&re&&(s.xp6(2),s.uIk("aria-label",Te.periodButtonLabel)("aria-describedby",Te._buttonDescriptionId),s.xp6(1),s.uIk("id",Te._buttonDescriptionId),s.xp6(1),s.Oqu(Te.periodButtonText),s.xp6(1),s.ekj("mat-calendar-invert","month"!==Te.calendar.currentView),s.xp6(4),s.Q6J("disabled",!Te.previousEnabled()),s.uIk("aria-label",Te.prevButtonLabel),s.xp6(1),s.Q6J("disabled",!Te.nextEnabled()),s.uIk("aria-label",Te.nextButtonLabel))},dependencies:[D.lW],encapsulation:2,changeDetection:0});class tt{constructor(re,Te,pt,Lt){this._dateAdapter=Te,this._dateFormats=pt,this._changeDetectorRef=Lt,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new s.vpe,this.yearSelected=new s.vpe,this.monthSelected=new s.vpe,this.viewChanged=new s.vpe(!0),this._userSelection=new s.vpe,this.stateChanges=new p.x,this._intlChanges=re.changes.subscribe(()=>{Lt.markForCheck(),this.stateChanges.next()})}get startAt(){return this._startAt}set startAt(re){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get selected(){return this._selected}set selected(re){this._selected=re instanceof ht?re:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get minDate(){return this._minDate}set minDate(re){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get maxDate(){return this._maxDate}set maxDate(re){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get activeDate(){return this._clampedActiveDate}set activeDate(re){this._clampedActiveDate=this._dateAdapter.clampDate(re,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()}get currentView(){return this._currentView}set currentView(re){const Te=this._currentView!==re?re:null;this._currentView=re,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck(),Te&&this.viewChanged.emit(Te)}ngAfterContentInit(){this._calendarHeaderPortal=new _.C5(this.headerComponent||pn),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView}ngAfterViewChecked(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())}ngOnDestroy(){this._intlChanges.unsubscribe(),this.stateChanges.complete()}ngOnChanges(re){const Te=re.minDate&&!this._dateAdapter.sameDate(re.minDate.previousValue,re.minDate.currentValue)?re.minDate:void 0,pt=re.maxDate&&!this._dateAdapter.sameDate(re.maxDate.previousValue,re.maxDate.currentValue)?re.maxDate:void 0,Lt=Te||pt||re.dateFilter;if(Lt&&!Lt.firstChange){const nn=this._getCurrentViewComponent();nn&&(this._changeDetectorRef.detectChanges(),nn._init())}this.stateChanges.next()}focusActiveCell(){this._getCurrentViewComponent()._focusActiveCell(!1)}updateTodaysDate(){this._getCurrentViewComponent()._init()}_dateSelected(re){const Te=re.value;(this.selected instanceof ht||Te&&!this._dateAdapter.sameDate(Te,this.selected))&&this.selectedChange.emit(Te),this._userSelection.emit(re)}_yearSelectedInMultiYearView(re){this.yearSelected.emit(re)}_monthSelectedInYearView(re){this.monthSelected.emit(re)}_goToDateInView(re,Te){this.activeDate=re,this.currentView=Te}_getCurrentViewComponent(){return this.monthView||this.yearView||this.multiYearView}}tt.\u0275fac=function(re){return new(re||tt)(s.Y36(je),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(s.sBO))},tt.\u0275cmp=s.Xpm({type:tt,selectors:[["mat-calendar"]],viewQuery:function(re,Te){if(1&re&&(s.Gf(Ct,5),s.Gf(rn,5),s.Gf(Ut,5)),2&re){let pt;s.iGM(pt=s.CRH())&&(Te.monthView=pt.first),s.iGM(pt=s.CRH())&&(Te.yearView=pt.first),s.iGM(pt=s.CRH())&&(Te.multiYearView=pt.first)}},hostAttrs:[1,"mat-calendar"],inputs:{headerComponent:"headerComponent",startAt:"startAt",startView:"startView",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",_userSelection:"_userSelection"},exportAs:["matCalendar"],features:[s._Bn([ee]),s.TTD],decls:5,vars:5,consts:[[3,"cdkPortalOutlet"],["cdkMonitorSubtreeFocus","","tabindex","-1",1,"mat-calendar-content",3,"ngSwitch"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange"]],template:function(re,Te){1&re&&(s.YNc(0,d,0,0,"ng-template",0),s.TgZ(1,"div",1),s.YNc(2,y,1,8,"mat-month-view",2),s.YNc(3,L,1,6,"mat-year-view",3),s.YNc(4,B,1,6,"mat-multi-year-view",4),s.qZA()),2&re&&(s.Q6J("cdkPortalOutlet",Te._calendarHeaderPortal),s.xp6(1),s.Q6J("ngSwitch",Te.currentView),s.xp6(1),s.Q6J("ngSwitchCase","month"),s.xp6(1),s.Q6J("ngSwitchCase","year"),s.xp6(1),s.Q6J("ngSwitchCase","multi-year"))},dependencies:[E.RF,E.n9,e.kH,_.Pl,Ct,rn,Ut],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(4.7142857143% - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:10px;height:5px;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.cdk-high-contrast-active .mat-calendar-arrow{fill:CanvasText}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}.mat-calendar-body-cell-content::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.mat-calendar-body-cell:focus .mat-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});const vt={transformPanel:(0,ae.X$)("transformPanel",[(0,ae.eR)("void => enter-dropdown",(0,ae.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,ae.F4)([(0,ae.oB)({opacity:0,transform:"scale(1, 0.8)"}),(0,ae.oB)({opacity:1,transform:"scale(1, 1)"})]))),(0,ae.eR)("void => enter-dialog",(0,ae.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,ae.F4)([(0,ae.oB)({opacity:0,transform:"scale(0.7)"}),(0,ae.oB)({transform:"none",opacity:1})]))),(0,ae.eR)("* => void",(0,ae.jt)("100ms linear",(0,ae.oB)({opacity:0})))]),fadeInCalendar:(0,ae.X$)("fadeInCalendar",[(0,ae.SB)("void",(0,ae.oB)({opacity:0})),(0,ae.SB)("enter",(0,ae.oB)({opacity:1})),(0,ae.eR)("void => *",(0,ae.jt)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])};let dt=0;const se=new s.OlP("mat-datepicker-scroll-strategy");const oe={provide:se,deps:[t.aV],useFactory:function J(ft){return()=>ft.scrollStrategies.reposition()}},De=(0,k.pj)(class{constructor(ft){this._elementRef=ft}});class Ye extends De{constructor(re,Te,pt,Lt,nn,Bn){super(re),this._changeDetectorRef=Te,this._globalModel=pt,this._dateAdapter=Lt,this._rangeSelectionStrategy=nn,this._subscriptions=new S.w0,this._animationDone=new p.x,this._actionsPortal=null,this._closeButtonText=Bn.closeCalendarLabel}ngOnInit(){this._animationState=this.datepicker.touchUi?"enter-dialog":"enter-dropdown"}ngAfterViewInit(){this._subscriptions.add(this.datepicker.stateChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})),this._calendar.focusActiveCell()}ngOnDestroy(){this._subscriptions.unsubscribe(),this._animationDone.complete()}_handleUserSelection(re){const Te=this._model.selection,pt=re.value,Lt=Te instanceof ht;if(Lt&&this._rangeSelectionStrategy){const nn=this._rangeSelectionStrategy.selectionFinished(pt,Te,re.event);this._model.updateSelection(nn,this)}else pt&&(Lt||!this._dateAdapter.sameDate(pt,Te))&&this._model.add(pt);(!this._model||this._model.isComplete())&&!this._actionsPortal&&this.datepicker.close()}_startExitAnimation(){this._animationState="void",this._changeDetectorRef.markForCheck()}_getSelected(){return this._model.selection}_applyPendingSelection(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)}_assignActions(re,Te){this._model=re?this._globalModel.clone():this._globalModel,this._actionsPortal=re,Te&&this._changeDetectorRef.detectChanges()}}Ye.\u0275fac=function(re){return new(re||Ye)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(Le),s.Y36(k._A),s.Y36(Oe,8),s.Y36(je))},Ye.\u0275cmp=s.Xpm({type:Ye,selectors:[["mat-datepicker-content"]],viewQuery:function(re,Te){if(1&re&&s.Gf(tt,5),2&re){let pt;s.iGM(pt=s.CRH())&&(Te._calendar=pt.first)}},hostAttrs:[1,"mat-datepicker-content"],hostVars:3,hostBindings:function(re,Te){1&re&&s.WFA("@transformPanel.done",function(){return Te._animationDone.next()}),2&re&&(s.d8E("@transformPanel",Te._animationState),s.ekj("mat-datepicker-content-touch",Te.datepicker.touchUi))},inputs:{color:"color"},exportAs:["matDatepickerContent"],features:[s.qOj],decls:5,vars:24,consts:[["cdkTrapFocus","","role","dialog",1,"mat-datepicker-content-container"],[3,"id","ngClass","startAt","startView","minDate","maxDate","dateFilter","headerComponent","selected","dateClass","comparisonStart","comparisonEnd","yearSelected","monthSelected","viewChanged","_userSelection"],[3,"cdkPortalOutlet"],["type","button","mat-raised-button","",1,"mat-datepicker-close-button",3,"color","focus","blur","click"]],template:function(re,Te){if(1&re&&(s.TgZ(0,"div",0)(1,"mat-calendar",1),s.NdJ("yearSelected",function(Lt){return Te.datepicker._selectYear(Lt)})("monthSelected",function(Lt){return Te.datepicker._selectMonth(Lt)})("viewChanged",function(Lt){return Te.datepicker._viewChanged(Lt)})("_userSelection",function(Lt){return Te._handleUserSelection(Lt)}),s.qZA(),s.YNc(2,v,0,0,"ng-template",2),s.TgZ(3,"button",3),s.NdJ("focus",function(){return Te._closeButtonFocused=!0})("blur",function(){return Te._closeButtonFocused=!1})("click",function(){return Te.datepicker.close()}),s._uU(4),s.qZA()()),2&re){let pt;s.ekj("mat-datepicker-content-container-with-custom-header",Te.datepicker.calendarHeaderComponent)("mat-datepicker-content-container-with-actions",Te._actionsPortal),s.uIk("aria-modal",!0)("aria-labelledby",null!==(pt=Te._dialogLabelId)&&void 0!==pt?pt:void 0),s.xp6(1),s.Q6J("id",Te.datepicker.id)("ngClass",Te.datepicker.panelClass)("startAt",Te.datepicker.startAt)("startView",Te.datepicker.startView)("minDate",Te.datepicker._getMinDate())("maxDate",Te.datepicker._getMaxDate())("dateFilter",Te.datepicker._getDateFilter())("headerComponent",Te.datepicker.calendarHeaderComponent)("selected",Te._getSelected())("dateClass",Te.datepicker.dateClass)("comparisonStart",Te.comparisonStart)("comparisonEnd",Te.comparisonEnd)("@fadeInCalendar","enter"),s.xp6(1),s.Q6J("cdkPortalOutlet",Te._actionsPortal),s.xp6(1),s.ekj("cdk-visually-hidden",!Te._closeButtonFocused),s.Q6J("color",Te.color||"primary"),s.xp6(1),s.Oqu(Te._closeButtonText)}},dependencies:[E.mk,D.lW,e.mK,_.Pl,tt],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar{height:auto}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}"],encapsulation:2,data:{animation:[vt.transformPanel,vt.fadeInCalendar]},changeDetection:0});class Dt{constructor(re,Te,pt,Lt,nn,Bn,Wn){this._overlay=re,this._ngZone=Te,this._viewContainerRef=pt,this._dateAdapter=nn,this._dir=Bn,this._model=Wn,this._inputStateChanges=S.w0.EMPTY,this._document=(0,s.f3M)(E.K0),this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this._restoreFocus=!0,this.yearSelected=new s.vpe,this.monthSelected=new s.vpe,this.viewChanged=new s.vpe(!0),this.openedStream=new s.vpe,this.closedStream=new s.vpe,this._opened=!1,this.id="mat-datepicker-"+dt++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=`${this.id}-backdrop`,this.stateChanges=new p.x,this._dateAdapter,this._scrollStrategy=Lt}get startAt(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)}set startAt(re){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re))}get color(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)}set color(re){this._color=re}get touchUi(){return this._touchUi}set touchUi(re){this._touchUi=(0,Q.Ig)(re)}get disabled(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled}set disabled(re){const Te=(0,Q.Ig)(re);Te!==this._disabled&&(this._disabled=Te,this.stateChanges.next(void 0))}get restoreFocus(){return this._restoreFocus}set restoreFocus(re){this._restoreFocus=(0,Q.Ig)(re)}get panelClass(){return this._panelClass}set panelClass(re){this._panelClass=(0,Q.du)(re)}get opened(){return this._opened}set opened(re){(0,Q.Ig)(re)?this.open():this.close()}_getMinDate(){return this.datepickerInput&&this.datepickerInput.min}_getMaxDate(){return this.datepickerInput&&this.datepickerInput.max}_getDateFilter(){return this.datepickerInput&&this.datepickerInput.dateFilter}ngOnChanges(re){const Te=re.xPosition||re.yPosition;if(Te&&!Te.firstChange&&this._overlayRef){const pt=this._overlayRef.getConfig().positionStrategy;pt instanceof t._G&&(this._setConnectedPositions(pt),this.opened&&this._overlayRef.updatePosition())}this.stateChanges.next(void 0)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()}select(re){this._model.add(re)}_selectYear(re){this.yearSelected.emit(re)}_selectMonth(re){this.monthSelected.emit(re)}_viewChanged(re){this.viewChanged.emit(re)}registerInput(re){return this.datepickerInput,this._inputStateChanges.unsubscribe(),this.datepickerInput=re,this._inputStateChanges=re.stateChanges.subscribe(()=>this.stateChanges.next(void 0)),this._model}registerActions(re){this._actionsPortal,this._actionsPortal=re,this._componentRef?.instance._assignActions(re,!0)}removeActions(re){re===this._actionsPortal&&(this._actionsPortal=null,this._componentRef?.instance._assignActions(null,!0))}open(){this._opened||this.disabled||(this.datepickerInput,this._focusedElementBeforeOpen=(0,ie.ht)(),this._openOverlay(),this._opened=!0,this.openedStream.emit())}close(){if(!this._opened)return;const re=this._restoreFocus&&this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus,Te=()=>{this._opened&&(this._opened=!1,this.closedStream.emit())};if(this._componentRef){const{instance:pt,location:Lt}=this._componentRef;pt._startExitAnimation(),pt._animationDone.pipe((0,I.q)(1)).subscribe(()=>{const nn=this._document.activeElement;re&&(!nn||nn===this._document.activeElement||Lt.nativeElement.contains(nn))&&this._focusedElementBeforeOpen.focus(),this._focusedElementBeforeOpen=null,this._destroyOverlay()})}re?setTimeout(Te):Te()}_applyPendingSelection(){this._componentRef?.instance?._applyPendingSelection()}_forwardContentValues(re){re.datepicker=this,re.color=this.color,re._dialogLabelId=this.datepickerInput.getOverlayLabelId(),re._assignActions(this._actionsPortal,!1)}_openOverlay(){this._destroyOverlay();const re=this.touchUi,Te=new _.C5(Ye,this._viewContainerRef),pt=this._overlayRef=this._overlay.create(new t.X_({positionStrategy:re?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[re?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:re?this._overlay.scrollStrategies.block():this._scrollStrategy(),panelClass:"mat-datepicker-"+(re?"dialog":"popup")}));this._getCloseStream(pt).subscribe(Lt=>{Lt&&Lt.preventDefault(),this.close()}),pt.keydownEvents().subscribe(Lt=>{const nn=Lt.keyCode;(nn===M.LH||nn===M.JH||nn===M.oh||nn===M.SV||nn===M.Ku||nn===M.VM)&&Lt.preventDefault()}),this._componentRef=pt.attach(Te),this._forwardContentValues(this._componentRef.instance),re||this._ngZone.onStable.pipe((0,I.q)(1)).subscribe(()=>pt.updatePosition())}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return this._overlay.position().global().centerHorizontally().centerVertically()}_getDropdownStrategy(){const re=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(re)}_setConnectedPositions(re){const Te="end"===this.xPosition?"end":"start",pt="start"===Te?"end":"start",Lt="above"===this.yPosition?"bottom":"top",nn="top"===Lt?"bottom":"top";return re.withPositions([{originX:Te,originY:nn,overlayX:Te,overlayY:Lt},{originX:Te,originY:Lt,overlayX:Te,overlayY:nn},{originX:pt,originY:nn,overlayX:pt,overlayY:Lt},{originX:pt,originY:Lt,overlayX:pt,overlayY:nn}])}_getCloseStream(re){return(0,A.T)(re.backdropClick(),re.detachments(),re.keydownEvents().pipe((0,Z.h)(Te=>Te.keyCode===M.hY&&!(0,M.Vb)(Te)||this.datepickerInput&&(0,M.Vb)(Te,"altKey")&&Te.keyCode===M.LH)))}}Dt.\u0275fac=function(re){return new(re||Dt)(s.Y36(t.aV),s.Y36(s.R0b),s.Y36(s.s_b),s.Y36(se),s.Y36(k._A,8),s.Y36(z.Is,8),s.Y36(Le))},Dt.\u0275dir=s.lG2({type:Dt,inputs:{calendarHeaderComponent:"calendarHeaderComponent",startAt:"startAt",startView:"startView",color:"color",touchUi:"touchUi",disabled:"disabled",xPosition:"xPosition",yPosition:"yPosition",restoreFocus:"restoreFocus",dateClass:"dateClass",panelClass:"panelClass",opened:"opened"},outputs:{yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",openedStream:"opened",closedStream:"closed"},features:[s.TTD]});class ut extends Dt{}ut.\u0275fac=function(){let ft;return function(Te){return(ft||(ft=s.n5z(ut)))(Te||ut)}}(),ut.\u0275cmp=s.Xpm({type:ut,selectors:[["mat-datepicker"]],exportAs:["matDatepicker"],features:[s._Bn([ee,{provide:Dt,useExisting:ut}]),s.qOj],decls:0,vars:0,template:function(re,Te){},encapsulation:2,changeDetection:0});class ze{constructor(re,Te){this.target=re,this.targetElement=Te,this.value=this.target.value}}class Me{constructor(re,Te,pt){this._elementRef=re,this._dateAdapter=Te,this._dateFormats=pt,this.dateChange=new s.vpe,this.dateInput=new s.vpe,this.stateChanges=new p.x,this._onTouched=()=>{},this._validatorOnChange=()=>{},this._cvaOnChange=()=>{},this._valueChangesSubscription=S.w0.EMPTY,this._localeSubscription=S.w0.EMPTY,this._parseValidator=()=>this._lastValueValid?null:{matDatepickerParse:{text:this._elementRef.nativeElement.value}},this._filterValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value));return!nn||this._matchesFilter(nn)?null:{matDatepickerFilter:!0}},this._minValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value)),Bn=this._getMinDate();return!Bn||!nn||this._dateAdapter.compareDate(Bn,nn)<=0?null:{matDatepickerMin:{min:Bn,actual:nn}}},this._maxValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value)),Bn=this._getMaxDate();return!Bn||!nn||this._dateAdapter.compareDate(Bn,nn)>=0?null:{matDatepickerMax:{max:Bn,actual:nn}}},this._lastValueValid=!1,this._localeSubscription=Te.localeChanges.subscribe(()=>{this._assignValueProgrammatically(this.value)})}get value(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue}set value(re){this._assignValueProgrammatically(re)}get disabled(){return!!this._disabled||this._parentDisabled()}set disabled(re){const Te=(0,Q.Ig)(re),pt=this._elementRef.nativeElement;this._disabled!==Te&&(this._disabled=Te,this.stateChanges.next(void 0)),Te&&this._isInitialized&&pt.blur&&pt.blur()}_getValidators(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]}_registerModel(re){this._model=re,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe(Te=>{if(this._shouldHandleChangeEvent(Te)){const pt=this._getValueFromModel(Te.selection);this._lastValueValid=this._isValidValue(pt),this._cvaOnChange(pt),this._onTouched(),this._formatValue(pt),this.dateInput.emit(new ze(this,this._elementRef.nativeElement)),this.dateChange.emit(new ze(this,this._elementRef.nativeElement))}})}ngAfterViewInit(){this._isInitialized=!0}ngOnChanges(re){Ce(re,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()}registerOnValidatorChange(re){this._validatorOnChange=re}validate(re){return this._validator?this._validator(re):null}writeValue(re){this._assignValueProgrammatically(re)}registerOnChange(re){this._cvaOnChange=re}registerOnTouched(re){this._onTouched=re}setDisabledState(re){this.disabled=re}_onKeydown(re){re.altKey&&re.keyCode===M.JH&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),re.preventDefault())}_onInput(re){const Te=this._lastValueValid;let pt=this._dateAdapter.parse(re,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(pt),pt=this._dateAdapter.getValidDateOrNull(pt);const Lt=!this._dateAdapter.sameDate(pt,this.value);!pt||Lt?this._cvaOnChange(pt):(re&&!this.value&&this._cvaOnChange(pt),Te!==this._lastValueValid&&this._validatorOnChange()),Lt&&(this._assignValue(pt),this.dateInput.emit(new ze(this,this._elementRef.nativeElement)))}_onChange(){this.dateChange.emit(new ze(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}_formatValue(re){this._elementRef.nativeElement.value=null!=re?this._dateAdapter.format(re,this._dateFormats.display.dateInput):""}_assignValue(re){this._model?(this._assignValueToModel(re),this._pendingValue=null):this._pendingValue=re}_isValidValue(re){return!re||this._dateAdapter.isValid(re)}_parentDisabled(){return!1}_assignValueProgrammatically(re){re=this._dateAdapter.deserialize(re),this._lastValueValid=this._isValidValue(re),re=this._dateAdapter.getValidDateOrNull(re),this._assignValue(re),this._formatValue(re)}_matchesFilter(re){const Te=this._getDateFilter();return!Te||Te(re)}}function Ce(ft,re){const Te=Object.keys(ft);for(let pt of Te){const{previousValue:Lt,currentValue:nn}=ft[pt];if(!re.isDateInstance(Lt)||!re.isDateInstance(nn))return!0;if(!re.sameDate(Lt,nn))return!0}return!1}Me.\u0275fac=function(re){return new(re||Me)(s.Y36(s.SBq),s.Y36(k._A,8),s.Y36(k.sG,8))},Me.\u0275dir=s.lG2({type:Me,inputs:{value:"value",disabled:"disabled"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s.TTD]});const Je={provide:_e.JU,useExisting:(0,s.Gpc)(()=>At),multi:!0},zt={provide:_e.Cf,useExisting:(0,s.Gpc)(()=>At),multi:!0};class At extends Me{constructor(re,Te,pt,Lt){super(re,Te,pt),this._formField=Lt,this._closedSubscription=S.w0.EMPTY,this._validator=_e.kI.compose(super._getValidators())}set matDatepicker(re){re&&(this._datepicker=re,this._closedSubscription=re.closedStream.subscribe(()=>this._onTouched()),this._registerModel(re.registerInput(this)))}get min(){return this._min}set min(re){const Te=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re));this._dateAdapter.sameDate(Te,this._min)||(this._min=Te,this._validatorOnChange())}get max(){return this._max}set max(re){const Te=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re));this._dateAdapter.sameDate(Te,this._max)||(this._max=Te,this._validatorOnChange())}get dateFilter(){return this._dateFilter}set dateFilter(re){const Te=this._matchesFilter(this.value);this._dateFilter=re,this._matchesFilter(this.value)!==Te&&this._validatorOnChange()}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}getThemePalette(){return this._formField?this._formField.color:void 0}getStartValue(){return this.value}ngOnDestroy(){super.ngOnDestroy(),this._closedSubscription.unsubscribe()}_openPopup(){this._datepicker&&this._datepicker.open()}_getValueFromModel(re){return re}_assignValueToModel(re){this._model&&this._model.updateSelection(re,this)}_getMinDate(){return this._min}_getMaxDate(){return this._max}_getDateFilter(){return this._dateFilter}_shouldHandleChangeEvent(re){return re.source!==this}}At.\u0275fac=function(re){return new(re||At)(s.Y36(s.SBq),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(ce.G_,8))},At.\u0275dir=s.lG2({type:At,selectors:[["input","matDatepicker",""]],hostAttrs:[1,"mat-datepicker-input"],hostVars:6,hostBindings:function(re,Te){1&re&&s.NdJ("input",function(Lt){return Te._onInput(Lt.target.value)})("change",function(){return Te._onChange()})("blur",function(){return Te._onBlur()})("keydown",function(Lt){return Te._onKeydown(Lt)}),2&re&&(s.Ikx("disabled",Te.disabled),s.uIk("aria-haspopup",Te._datepicker?"dialog":null)("aria-owns",(null==Te._datepicker?null:Te._datepicker.opened)&&Te._datepicker.id||null)("min",Te.min?Te._dateAdapter.toIso8601(Te.min):null)("max",Te.max?Te._dateAdapter.toIso8601(Te.max):null)("data-mat-calendar",Te._datepicker?Te._datepicker.id:null))},inputs:{matDatepicker:"matDatepicker",min:"min",max:"max",dateFilter:["matDatepickerFilter","dateFilter"]},exportAs:["matDatepickerInput"],features:[s._Bn([Je,zt,{provide:ye.Jk,useExisting:At}]),s.qOj]});class Tt{}Tt.\u0275fac=function(re){return new(re||Tt)},Tt.\u0275dir=s.lG2({type:Tt,selectors:[["","matDatepickerToggleIcon",""]]});class Ht{constructor(re,Te,pt){this._intl=re,this._changeDetectorRef=Te,this._stateChanges=S.w0.EMPTY;const Lt=Number(pt);this.tabIndex=Lt||0===Lt?Lt:null}get disabled(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled}set disabled(re){this._disabled=(0,Q.Ig)(re)}ngOnChanges(re){re.datepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(re){this.datepicker&&!this.disabled&&(this.datepicker.open(),re.stopPropagation())}_watchStateChanges(){const re=this.datepicker?this.datepicker.stateChanges:(0,P.of)(),Te=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:(0,P.of)(),pt=this.datepicker?(0,A.T)(this.datepicker.openedStream,this.datepicker.closedStream):(0,P.of)();this._stateChanges.unsubscribe(),this._stateChanges=(0,A.T)(this._intl.changes,re,Te,pt).subscribe(()=>this._changeDetectorRef.markForCheck())}}Ht.\u0275fac=function(re){return new(re||Ht)(s.Y36(je),s.Y36(s.sBO),s.$8M("tabindex"))},Ht.\u0275cmp=s.Xpm({type:Ht,selectors:[["mat-datepicker-toggle"]],contentQueries:function(re,Te,pt){if(1&re&&s.Suo(pt,Tt,5),2&re){let Lt;s.iGM(Lt=s.CRH())&&(Te._customIcon=Lt.first)}},viewQuery:function(re,Te){if(1&re&&s.Gf(a,5),2&re){let pt;s.iGM(pt=s.CRH())&&(Te._button=pt.first)}},hostAttrs:[1,"mat-datepicker-toggle"],hostVars:8,hostBindings:function(re,Te){1&re&&s.NdJ("click",function(Lt){return Te._open(Lt)}),2&re&&(s.uIk("tabindex",null)("data-mat-calendar",Te.datepicker?Te.datepicker.id:null),s.ekj("mat-datepicker-toggle-active",Te.datepicker&&Te.datepicker.opened)("mat-accent",Te.datepicker&&"accent"===Te.datepicker.color)("mat-warn",Te.datepicker&&"warn"===Te.datepicker.color))},inputs:{datepicker:["for","datepicker"],tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],disabled:"disabled",disableRipple:"disableRipple"},exportAs:["matDatepickerToggle"],features:[s.TTD],ngContentSelectors:["[matDatepickerToggleIcon]"],decls:4,vars:6,consts:[["mat-icon-button","","type","button",3,"disabled","disableRipple"],["button",""],["class","mat-datepicker-toggle-default-icon","viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",4,"ngIf"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",1,"mat-datepicker-toggle-default-icon"],["d","M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"]],template:function(re,Te){1&re&&(s.F$t(N),s.TgZ(0,"button",0,1),s.YNc(2,C,2,0,"svg",2),s.Hsn(3),s.qZA()),2&re&&(s.Q6J("disabled",Te.disabled)("disableRipple",Te.disableRipple),s.uIk("aria-haspopup",Te.datepicker?"dialog":null)("aria-label",Te.ariaLabel||Te._intl.openCalendarLabel)("tabindex",Te.disabled?-1:Te.tabIndex),s.xp6(2),s.Q6J("ngIf",!Te._customIcon))},dependencies:[E.O5,D.lW],styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"],encapsulation:2,changeDetection:0});const He=new s.OlP("MAT_DATE_RANGE_INPUT_PARENT");class $e extends Me{constructor(re,Te,pt,Lt,nn,Bn,Wn,ti){super(Te,Wn,ti),this._rangeInput=re,this._elementRef=Te,this._defaultErrorStateMatcher=pt,this._injector=Lt,this._parentForm=nn,this._parentFormGroup=Bn,this._dir=(0,s.f3M)(z.Is,s.XFs.Optional)}ngOnInit(){const re=this._injector.get(_e.a5,null,s.XFs.Self|s.XFs.Optional);re&&(this.ngControl=re)}ngDoCheck(){this.ngControl&&this.updateErrorState()}isEmpty(){return 0===this._elementRef.nativeElement.value.length}_getPlaceholder(){return this._elementRef.nativeElement.placeholder}focus(){this._elementRef.nativeElement.focus()}_onInput(re){super._onInput(re),this._rangeInput._handleChildValueChange()}_openPopup(){this._rangeInput._openDatepicker()}_getMinDate(){return this._rangeInput.min}_getMaxDate(){return this._rangeInput.max}_getDateFilter(){return this._rangeInput.dateFilter}_parentDisabled(){return this._rangeInput._groupDisabled}_shouldHandleChangeEvent({source:re}){return re!==this._rangeInput._startInput&&re!==this._rangeInput._endInput}_assignValueProgrammatically(re){super._assignValueProgrammatically(re),(this===this._rangeInput._startInput?this._rangeInput._endInput:this._rangeInput._startInput)?._validatorOnChange()}}$e.\u0275fac=function(re){return new(re||$e)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(_e.F,8),s.Y36(_e.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},$e.\u0275dir=s.lG2({type:$e,features:[s.qOj]});const $t=(0,k.FD)($e);class Rt extends $t{constructor(re,Te,pt,Lt,nn,Bn,Wn,ti){super(re,Te,pt,Lt,nn,Bn,Wn,ti),this._startValidator=Mn=>{const Ln=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Mn.value)),ai=this._model?this._model.selection.end:null;return!Ln||!ai||this._dateAdapter.compareDate(Ln,ai)<=0?null:{matStartDateInvalid:{end:ai,actual:Ln}}},this._validator=_e.kI.compose([...super._getValidators(),this._startValidator])}_getValueFromModel(re){return re.start}_shouldHandleChangeEvent(re){return!!super._shouldHandleChangeEvent(re)&&(re.oldValue?.start?!re.selection.start||!!this._dateAdapter.compareDate(re.oldValue.start,re.selection.start):!!re.selection.start)}_assignValueToModel(re){if(this._model){const Te=new ht(re,this._model.selection.end);this._model.updateSelection(Te,this)}}_formatValue(re){super._formatValue(re),this._rangeInput._handleChildValueChange()}getMirrorValue(){const re=this._elementRef.nativeElement,Te=re.value;return Te.length>0?Te:re.placeholder}_onKeydown(re){const Te=this._rangeInput._endInput,pt=this._elementRef.nativeElement,Lt="rtl"!==this._dir?.value;(re.keyCode===M.SV&&Lt||re.keyCode===M.oh&&!Lt)&&pt.selectionStart===pt.value.length&&pt.selectionEnd===pt.value.length?(re.preventDefault(),Te._elementRef.nativeElement.setSelectionRange(0,0),Te.focus()):super._onKeydown(re)}}Rt.\u0275fac=function(re){return new(re||Rt)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(_e.F,8),s.Y36(_e.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},Rt.\u0275dir=s.lG2({type:Rt,selectors:[["input","matStartDate",""]],hostAttrs:["type","text",1,"mat-start-date","mat-date-range-input-inner"],hostVars:6,hostBindings:function(re,Te){1&re&&s.NdJ("input",function(Lt){return Te._onInput(Lt.target.value)})("change",function(){return Te._onChange()})("keydown",function(Lt){return Te._onKeydown(Lt)})("blur",function(){return Te._onBlur()}),2&re&&(s.Ikx("disabled",Te.disabled),s.uIk("id",Te._rangeInput.id)("aria-haspopup",Te._rangeInput.rangePicker?"dialog":null)("aria-owns",(null==Te._rangeInput.rangePicker?null:Te._rangeInput.rangePicker.opened)&&Te._rangeInput.rangePicker.id||null)("min",Te._getMinDate()?Te._dateAdapter.toIso8601(Te._getMinDate()):null)("max",Te._getMaxDate()?Te._dateAdapter.toIso8601(Te._getMaxDate()):null))},inputs:{errorStateMatcher:"errorStateMatcher"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s._Bn([{provide:_e.JU,useExisting:Rt,multi:!0},{provide:_e.Cf,useExisting:Rt,multi:!0}]),s.qOj]});class Jt extends $t{constructor(re,Te,pt,Lt,nn,Bn,Wn,ti){super(re,Te,pt,Lt,nn,Bn,Wn,ti),this._endValidator=Mn=>{const Ln=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Mn.value)),ai=this._model?this._model.selection.start:null;return!Ln||!ai||this._dateAdapter.compareDate(Ln,ai)>=0?null:{matEndDateInvalid:{start:ai,actual:Ln}}},this._validator=_e.kI.compose([...super._getValidators(),this._endValidator])}_getValueFromModel(re){return re.end}_shouldHandleChangeEvent(re){return!!super._shouldHandleChangeEvent(re)&&(re.oldValue?.end?!re.selection.end||!!this._dateAdapter.compareDate(re.oldValue.end,re.selection.end):!!re.selection.end)}_assignValueToModel(re){if(this._model){const Te=new ht(this._model.selection.start,re);this._model.updateSelection(Te,this)}}_onKeydown(re){const Te=this._rangeInput._startInput,pt=this._elementRef.nativeElement,Lt="rtl"!==this._dir?.value;if(re.keyCode!==M.ZH||pt.value)if((re.keyCode===M.oh&&Lt||re.keyCode===M.SV&&!Lt)&&0===pt.selectionStart&&0===pt.selectionEnd){re.preventDefault();const nn=Te._elementRef.nativeElement.value.length;Te._elementRef.nativeElement.setSelectionRange(nn,nn),Te.focus()}else super._onKeydown(re);else Te.focus()}}Jt.\u0275fac=function(re){return new(re||Jt)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(_e.F,8),s.Y36(_e.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},Jt.\u0275dir=s.lG2({type:Jt,selectors:[["input","matEndDate",""]],hostAttrs:["type","text",1,"mat-end-date","mat-date-range-input-inner"],hostVars:5,hostBindings:function(re,Te){1&re&&s.NdJ("input",function(Lt){return Te._onInput(Lt.target.value)})("change",function(){return Te._onChange()})("keydown",function(Lt){return Te._onKeydown(Lt)})("blur",function(){return Te._onBlur()}),2&re&&(s.Ikx("disabled",Te.disabled),s.uIk("aria-haspopup",Te._rangeInput.rangePicker?"dialog":null)("aria-owns",(null==Te._rangeInput.rangePicker?null:Te._rangeInput.rangePicker.opened)&&Te._rangeInput.rangePicker.id||null)("min",Te._getMinDate()?Te._dateAdapter.toIso8601(Te._getMinDate()):null)("max",Te._getMaxDate()?Te._dateAdapter.toIso8601(Te._getMaxDate()):null))},inputs:{errorStateMatcher:"errorStateMatcher"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s._Bn([{provide:_e.JU,useExisting:Jt,multi:!0},{provide:_e.Cf,useExisting:Jt,multi:!0}]),s.qOj]});let Vn=0;class zn{constructor(re,Te,pt,Lt,nn){if(this._changeDetectorRef=re,this._elementRef=Te,this._dateAdapter=Lt,this._formField=nn,this._closedSubscription=S.w0.EMPTY,this.id="mat-date-range-input-"+Vn++,this.focused=!1,this.controlType="mat-date-range-input",this._groupDisabled=!1,this._ariaDescribedBy=null,this.separator="\u2013",this.comparisonStart=null,this.comparisonEnd=null,this.stateChanges=new p.x,nn?._elementRef.nativeElement.classList.contains("mat-mdc-form-field")){const Bn=Te.nativeElement.classList;Bn.add("mat-mdc-input-element"),Bn.add("mat-mdc-form-field-input-control")}this.ngControl=pt}get value(){return this._model?this._model.selection:null}get shouldLabelFloat(){return this.focused||!this.empty}get placeholder(){const re=this._startInput?._getPlaceholder()||"",Te=this._endInput?._getPlaceholder()||"";return re||Te?`${re} ${this.separator} ${Te}`:""}get rangePicker(){return this._rangePicker}set rangePicker(re){re&&(this._model=re.registerInput(this),this._rangePicker=re,this._closedSubscription.unsubscribe(),this._closedSubscription=re.closedStream.subscribe(()=>{this._startInput?._onTouched(),this._endInput?._onTouched()}),this._registerModel(this._model))}get required(){return!!this._required}set required(re){this._required=(0,Q.Ig)(re)}get dateFilter(){return this._dateFilter}set dateFilter(re){const Te=this._startInput,pt=this._endInput,Lt=Te&&Te._matchesFilter(Te.value),nn=pt&&pt._matchesFilter(Te.value);this._dateFilter=re,Te&&Te._matchesFilter(Te.value)!==Lt&&Te._validatorOnChange(),pt&&pt._matchesFilter(pt.value)!==nn&&pt._validatorOnChange()}get min(){return this._min}set min(re){const Te=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re));this._dateAdapter.sameDate(Te,this._min)||(this._min=Te,this._revalidate())}get max(){return this._max}set max(re){const Te=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(re));this._dateAdapter.sameDate(Te,this._max)||(this._max=Te,this._revalidate())}get disabled(){return this._startInput&&this._endInput?this._startInput.disabled&&this._endInput.disabled:this._groupDisabled}set disabled(re){const Te=(0,Q.Ig)(re);Te!==this._groupDisabled&&(this._groupDisabled=Te,this.stateChanges.next(void 0))}get errorState(){return!(!this._startInput||!this._endInput)&&(this._startInput.errorState||this._endInput.errorState)}get empty(){const re=!!this._startInput&&this._startInput.isEmpty(),Te=!!this._endInput&&this._endInput.isEmpty();return re&&Te}setDescribedByIds(re){this._ariaDescribedBy=re.length?re.join(" "):null}onContainerClick(){!this.focused&&!this.disabled&&(this._model&&this._model.selection.start?this._endInput.focus():this._startInput.focus())}ngAfterContentInit(){this._model&&this._registerModel(this._model),(0,A.T)(this._startInput.stateChanges,this._endInput.stateChanges).subscribe(()=>{this.stateChanges.next(void 0)})}ngOnChanges(re){Ce(re,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._closedSubscription.unsubscribe(),this.stateChanges.complete()}getStartValue(){return this.value?this.value.start:null}getThemePalette(){return this._formField?this._formField.color:void 0}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():null}_getInputMirrorValue(){return this._startInput?this._startInput.getMirrorValue():""}_shouldHidePlaceholders(){return!!this._startInput&&!this._startInput.isEmpty()}_handleChildValueChange(){this.stateChanges.next(void 0),this._changeDetectorRef.markForCheck()}_openDatepicker(){this._rangePicker&&this._rangePicker.open()}_shouldHideSeparator(){return(!this._formField||this._formField.getLabelId()&&!this._formField._shouldLabelFloat())&&this.empty}_getAriaLabelledby(){const re=this._formField;return re&&re._hasFloatingLabel()?re._labelId:null}_updateFocus(re){this.focused=null!==re,this.stateChanges.next()}_revalidate(){this._startInput&&this._startInput._validatorOnChange(),this._endInput&&this._endInput._validatorOnChange()}_registerModel(re){this._startInput&&this._startInput._registerModel(re),this._endInput&&this._endInput._registerModel(re)}}zn.\u0275fac=function(re){return new(re||zn)(s.Y36(s.sBO),s.Y36(s.SBq),s.Y36(_e.gN,10),s.Y36(k._A,8),s.Y36(ce.G_,8))},zn.\u0275cmp=s.Xpm({type:zn,selectors:[["mat-date-range-input"]],contentQueries:function(re,Te,pt){if(1&re&&(s.Suo(pt,Rt,5),s.Suo(pt,Jt,5)),2&re){let Lt;s.iGM(Lt=s.CRH())&&(Te._startInput=Lt.first),s.iGM(Lt=s.CRH())&&(Te._endInput=Lt.first)}},hostAttrs:["role","group",1,"mat-date-range-input"],hostVars:8,hostBindings:function(re,Te){2&re&&(s.uIk("id",null)("aria-labelledby",Te._getAriaLabelledby())("aria-describedby",Te._ariaDescribedBy)("data-mat-calendar",Te.rangePicker?Te.rangePicker.id:null),s.ekj("mat-date-range-input-hide-placeholders",Te._shouldHidePlaceholders())("mat-date-range-input-required",Te.required))},inputs:{rangePicker:"rangePicker",required:"required",dateFilter:"dateFilter",min:"min",max:"max",disabled:"disabled",separator:"separator",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},exportAs:["matDateRangeInput"],features:[s._Bn([{provide:ce.Eo,useExisting:zn},{provide:He,useExisting:zn}]),s.TTD],ngContentSelectors:["input[matStartDate]","input[matEndDate]"],decls:9,vars:4,consts:[["cdkMonitorSubtreeFocus","",1,"mat-date-range-input-container",3,"cdkFocusChange"],[1,"mat-date-range-input-start-wrapper"],["aria-hidden","true",1,"mat-date-range-input-mirror"],[1,"mat-date-range-input-separator"],[1,"mat-date-range-input-end-wrapper"]],template:function(re,Te){1&re&&(s.F$t(X),s.TgZ(0,"div",0),s.NdJ("cdkFocusChange",function(Lt){return Te._updateFocus(Lt)}),s.TgZ(1,"div",1),s.Hsn(2),s.TgZ(3,"span",2),s._uU(4),s.qZA()(),s.TgZ(5,"span",3),s._uU(6),s.qZA(),s.TgZ(7,"div",4),s.Hsn(8,1),s.qZA()()),2&re&&(s.xp6(4),s.Oqu(Te._getInputMirrorValue()),s.xp6(1),s.ekj("mat-date-range-input-separator-hidden",Te._shouldHideSeparator()),s.xp6(1),s.Oqu(Te.separator))},dependencies:[e.kH],styles:[".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center}.mat-date-range-input-separator{transition:opacity 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);margin:0 4px}._mat-animation-noopable .mat-date-range-input-separator{transition:none}.mat-date-range-input-separator-hidden{-webkit-user-select:none;user-select:none;opacity:0;transition:none}.mat-date-range-input-inner{font:inherit;background:rgba(0,0,0,0);color:currentColor;border:none;outline:none;padding:0;margin:0;vertical-align:bottom;text-align:inherit;-webkit-appearance:none;width:100%}.mat-date-range-input-inner:-moz-ui-invalid{box-shadow:none}.mat-date-range-input-inner::placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-moz-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner:-ms-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{opacity:0}._mat-animation-noopable .mat-date-range-input-inner::placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner::-moz-placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner::-webkit-input-placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner:-ms-input-placeholder{transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}"],encapsulation:2,changeDetection:0});class Tn extends Dt{_forwardContentValues(re){super._forwardContentValues(re);const Te=this.datepickerInput;Te&&(re.comparisonStart=Te.comparisonStart,re.comparisonEnd=Te.comparisonEnd)}}Tn.\u0275fac=function(){let ft;return function(Te){return(ft||(ft=s.n5z(Tn)))(Te||Tn)}}(),Tn.\u0275cmp=s.Xpm({type:Tn,selectors:[["mat-date-range-picker"]],exportAs:["matDateRangePicker"],features:[s._Bn([j,_t,{provide:Dt,useExisting:Tn}]),s.qOj],decls:0,vars:0,template:function(re,Te){},encapsulation:2,changeDetection:0});class Yn{constructor(re){this._datepicker=re}_applySelection(){this._datepicker._applyPendingSelection(),this._datepicker.close()}}Yn.\u0275fac=function(re){return new(re||Yn)(s.Y36(Dt))},Yn.\u0275dir=s.lG2({type:Yn,selectors:[["","matDatepickerApply",""],["","matDateRangePickerApply",""]],hostBindings:function(re,Te){1&re&&s.NdJ("click",function(){return Te._applySelection()})}});class Mt{constructor(re){this._datepicker=re}}Mt.\u0275fac=function(re){return new(re||Mt)(s.Y36(Dt))},Mt.\u0275dir=s.lG2({type:Mt,selectors:[["","matDatepickerCancel",""],["","matDateRangePickerCancel",""]],hostBindings:function(re,Te){1&re&&s.NdJ("click",function(){return Te._datepicker.close()})}});class Ge{constructor(re,Te){this._datepicker=re,this._viewContainerRef=Te}ngAfterViewInit(){this._portal=new _.UE(this._template,this._viewContainerRef),this._datepicker.registerActions(this._portal)}ngOnDestroy(){this._datepicker.removeActions(this._portal),this._portal&&this._portal.isAttached&&this._portal?.detach()}}Ge.\u0275fac=function(re){return new(re||Ge)(s.Y36(Dt),s.Y36(s.s_b))},Ge.\u0275cmp=s.Xpm({type:Ge,selectors:[["mat-datepicker-actions"],["mat-date-range-picker-actions"]],viewQuery:function(re,Te){if(1&re&&s.Gf(s.Rgc,5),2&re){let pt;s.iGM(pt=s.CRH())&&(Te._template=pt.first)}},ngContentSelectors:h,decls:1,vars:0,consts:[[1,"mat-datepicker-actions"]],template:function(re,Te){1&re&&(s.F$t(),s.YNc(0,ke,2,0,"ng-template"))},styles:[".mat-datepicker-actions{display:flex;justify-content:flex-end;align-items:center;padding:0 8px 8px 8px}.mat-datepicker-actions .mat-button-base+.mat-button-base{margin-left:8px}[dir=rtl] .mat-datepicker-actions .mat-button-base+.mat-button-base{margin-left:0;margin-right:8px}"],encapsulation:2,changeDetection:0});class Be{}Be.\u0275fac=function(re){return new(re||Be)},Be.\u0275mod=s.oAB({type:Be}),Be.\u0275inj=s.cJS({providers:[je,oe],imports:[E.ez,D.ot,t.U8,e.rt,_.eL,k.BQ,u.ZD]})},640:(Ue,q,m)=>{"use strict";m.d(q,{WI:()=>X,Bq:()=>Fe,uw:()=>Ie,ZT:()=>et,Is:()=>pe,so:()=>N});var e=m(4218),t=m(5895),_=m(9107),E=m(7520),s=m(4666),D=m(2560),u=m(8456),k=m(253),p=m(1954),S=m(745),A=m(2867),P=m(4874);function M(ee,H){}class z{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0}}class W extends E.en{constructor(H,j,Oe,Re,le,_t,it,Ct){super(),this._elementRef=H,this._focusTrapFactory=j,this._config=Re,this._interactivityChecker=le,this._ngZone=_t,this._overlayRef=it,this._focusMonitor=Ct,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=un=>{this._portalOutlet.hasAttached();const Bt=this._portalOutlet.attachDomPortal(un);return this._contentAttached(),Bt},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=Oe}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(H){this._portalOutlet.hasAttached();const j=this._portalOutlet.attachComponentPortal(H);return this._contentAttached(),j}attachTemplatePortal(H){this._portalOutlet.hasAttached();const j=this._portalOutlet.attachTemplatePortal(H);return this._contentAttached(),j}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(H,j){this._interactivityChecker.isFocusable(H)||(H.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const Oe=()=>{H.removeEventListener("blur",Oe),H.removeEventListener("mousedown",Oe),H.removeAttribute("tabindex")};H.addEventListener("blur",Oe),H.addEventListener("mousedown",Oe)})),H.focus(j)}_focusByCssSelector(H,j){let Oe=this._elementRef.nativeElement.querySelector(H);Oe&&this._forceFocus(Oe,j)}_trapFocus(){const H=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||H.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(j=>{j||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const H=this._config.restoreFocus;let j=null;if("string"==typeof H?j=this._document.querySelector(H):"boolean"==typeof H?j=H?this._elementFocusedBeforeDialogWasOpened:null:H&&(j=H),this._config.restoreFocus&&j&&"function"==typeof j.focus){const Oe=(0,_.ht)(),Re=this._elementRef.nativeElement;(!Oe||Oe===this._document.body||Oe===Re||Re.contains(Oe))&&(this._focusMonitor?(this._focusMonitor.focusVia(j,this._closeInteractionType),this._closeInteractionType=null):j.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const H=this._elementRef.nativeElement,j=(0,_.ht)();return H===j||H.contains(j)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,_.ht)())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}W.\u0275fac=function(H){return new(H||W)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(z),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(e.tE))},W.\u0275cmp=D.Xpm({type:W,selectors:[["cdk-dialog-container"]],viewQuery:function(H,j){if(1&H&&D.Gf(E.Pl,7),2&H){let Oe;D.iGM(Oe=D.CRH())&&(j._portalOutlet=Oe.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(H,j){2&H&&D.uIk("id",j._config.id||null)("role",j._config.role)("aria-modal",j._config.ariaModal)("aria-labelledby",j._config.ariaLabel?null:j._ariaLabelledBy)("aria-label",j._config.ariaLabel)("aria-describedby",j._config.ariaDescribedBy||null)},features:[D.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(H,j){1&H&&D.YNc(0,M,0,0,"ng-template",0)},dependencies:[E.Pl],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2});class Z{constructor(H,j){this.overlayRef=H,this.config=j,this.closed=new k.x,this.disableClose=j.disableClose,this.backdropClick=H.backdropClick(),this.keydownEvents=H.keydownEvents(),this.outsidePointerEvents=H.outsidePointerEvents(),this.id=j.id,this.keydownEvents.subscribe(Oe=>{Oe.keyCode===u.hY&&!this.disableClose&&!(0,u.Vb)(Oe)&&(Oe.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})})}close(H,j){if(this.containerInstance){const Oe=this.closed;this.containerInstance._closeInteractionType=j?.focusOrigin||"program",this.overlayRef.dispose(),Oe.next(H),Oe.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(H="",j=""){return this.overlayRef.updateSize({width:H,height:j}),this}addPanelClass(H){return this.overlayRef.addPanelClass(H),this}removePanelClass(H){return this.overlayRef.removePanelClass(H),this}}const Q=new D.OlP("DialogScrollStrategy"),ie=new D.OlP("DialogData"),ae=new D.OlP("DefaultDialogConfig");const ce={provide:Q,deps:[t.aV],useFactory:function _e(ee){return()=>ee.scrollStrategies.block()}};let ye=0;class ue{constructor(H,j,Oe,Re,le,_t){this._overlay=H,this._injector=j,this._defaultOptions=Oe,this._parentDialog=Re,this._overlayContainer=le,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new k.x,this._afterOpenedAtThisLevel=new k.x,this._ariaHiddenElements=new Map,this.afterAllClosed=(0,p.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,P.O)(void 0))),this._scrollStrategy=_t}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}open(H,j){(j={...this._defaultOptions||new z,...j}).id=j.id||"cdk-dialog-"+ye++,j.id&&this.getDialogById(j.id);const Re=this._getOverlayConfig(j),le=this._overlay.create(Re),_t=new Z(le,j),it=this._attachContainer(le,_t,j);return _t.containerInstance=it,this._attachDialogContent(H,_t,it,j),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(_t),_t.closed.subscribe(()=>this._removeOpenDialog(_t,!0)),this.afterOpened.next(_t),_t}closeAll(){$(this.openDialogs,H=>H.close())}getDialogById(H){return this.openDialogs.find(j=>j.id===H)}ngOnDestroy(){$(this._openDialogsAtThisLevel,H=>{!1===H.config.closeOnDestroy&&this._removeOpenDialog(H,!1)}),$(this._openDialogsAtThisLevel,H=>H.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(H){const j=new t.X_({positionStrategy:H.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:H.scrollStrategy||this._scrollStrategy(),panelClass:H.panelClass,hasBackdrop:H.hasBackdrop,direction:H.direction,minWidth:H.minWidth,minHeight:H.minHeight,maxWidth:H.maxWidth,maxHeight:H.maxHeight,width:H.width,height:H.height,disposeOnNavigation:H.closeOnNavigation});return H.backdropClass&&(j.backdropClass=H.backdropClass),j}_attachContainer(H,j,Oe){const Re=Oe.injector||Oe.viewContainerRef?.injector,le=[{provide:z,useValue:Oe},{provide:Z,useValue:j},{provide:t.Iu,useValue:H}];let _t;Oe.container?"function"==typeof Oe.container?_t=Oe.container:(_t=Oe.container.type,le.push(...Oe.container.providers(Oe))):_t=W;const it=new E.C5(_t,Oe.viewContainerRef,D.zs3.create({parent:Re||this._injector,providers:le}),Oe.componentFactoryResolver);return H.attach(it).instance}_attachDialogContent(H,j,Oe,Re){if(H instanceof D.Rgc){const le=this._createInjector(Re,j,Oe,void 0);let _t={$implicit:Re.data,dialogRef:j};Re.templateContext&&(_t={..._t,..."function"==typeof Re.templateContext?Re.templateContext():Re.templateContext}),Oe.attachTemplatePortal(new E.UE(H,null,_t,le))}else{const le=this._createInjector(Re,j,Oe,this._injector),_t=Oe.attachComponentPortal(new E.C5(H,Re.viewContainerRef,le,Re.componentFactoryResolver));j.componentInstance=_t.instance}}_createInjector(H,j,Oe,Re){const le=H.injector||H.viewContainerRef?.injector,_t=[{provide:ie,useValue:H.data},{provide:Z,useValue:j}];return H.providers&&("function"==typeof H.providers?_t.push(...H.providers(j,H,Oe)):_t.push(...H.providers)),H.direction&&(!le||!le.get(A.Is,null,D.XFs.Optional))&&_t.push({provide:A.Is,useValue:{value:H.direction,change:(0,S.of)()}}),D.zs3.create({parent:le||Re,providers:_t})}_removeOpenDialog(H,j){const Oe=this.openDialogs.indexOf(H);Oe>-1&&(this.openDialogs.splice(Oe,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((Re,le)=>{Re?le.setAttribute("aria-hidden",Re):le.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),j&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const H=this._overlayContainer.getContainerElement();if(H.parentElement){const j=H.parentElement.children;for(let Oe=j.length-1;Oe>-1;Oe--){const Re=j[Oe];Re!==H&&"SCRIPT"!==Re.nodeName&&"STYLE"!==Re.nodeName&&!Re.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(Re,Re.getAttribute("aria-hidden")),Re.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const H=this._parentDialog;return H?H._getAfterAllClosed():this._afterAllClosedAtThisLevel}}function $(ee,H){let j=ee.length;for(;j--;)H(ee[j])}ue.\u0275fac=function(H){return new(H||ue)(D.LFG(t.aV),D.LFG(D.zs3),D.LFG(ae,8),D.LFG(ue,12),D.LFG(t.Xj),D.LFG(Q))},ue.\u0275prov=D.Yz7({token:ue,factory:ue.\u0275fac});class he{}he.\u0275fac=function(H){return new(H||he)},he.\u0275mod=D.oAB({type:he}),he.\u0275inj=D.cJS({providers:[ue,ce],imports:[t.U8,E.eL,e.rt,E.eL]});var w=m(207),n=m(6646),o=m(116),h=m(9295),d=m(4851);function y(ee,H){}const L={params:{enterAnimationDuration:"150ms",exitAnimationDuration:"75ms"}},B={dialogContainer:(0,d.X$)("dialogContainer",[(0,d.SB)("void, exit",(0,d.oB)({opacity:0,transform:"scale(0.7)"})),(0,d.SB)("enter",(0,d.oB)({transform:"none"})),(0,d.eR)("* => enter",(0,d.ru)([(0,d.jt)("{{enterAnimationDuration}} cubic-bezier(0, 0, 0.2, 1)",(0,d.oB)({transform:"none",opacity:1})),(0,d.IO)("@*",(0,d.pV)(),{optional:!0})]),L),(0,d.eR)("* => void, * => exit",(0,d.ru)([(0,d.jt)("{{exitAnimationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)",(0,d.oB)({opacity:0})),(0,d.IO)("@*",(0,d.pV)(),{optional:!0})]),L)])};class v{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0,this.enterAnimationDuration=L.params.enterAnimationDuration,this.exitAnimationDuration=L.params.exitAnimationDuration}}class a extends W{constructor(H,j,Oe,Re,le,_t,it,Ct){super(H,j,Oe,Re,le,_t,it,Ct),this._animationStateChanged=new D.vpe}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(H){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:H})}}a.\u0275fac=function(H){return new(H||a)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(v),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(e.tE))},a.\u0275cmp=D.Xpm({type:a,selectors:[["ng-component"]],features:[D.qOj],decls:0,vars:0,template:function(H,j){},encapsulation:2});class C extends a{constructor(H,j,Oe,Re,le,_t,it,Ct,un){super(H,j,Oe,Re,le,_t,it,un),this._changeDetectorRef=Ct,this._state="enter"}_onAnimationDone({toState:H,totalTime:j}){"enter"===H?this._openAnimationDone(j):"exit"===H&&this._animationStateChanged.next({state:"closed",totalTime:j})}_onAnimationStart({toState:H,totalTime:j}){"enter"===H?this._animationStateChanged.next({state:"opening",totalTime:j}):("exit"===H||"void"===H)&&this._animationStateChanged.next({state:"closing",totalTime:j})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}_getAnimationState(){return{value:this._state,params:{enterAnimationDuration:this._config.enterAnimationDuration||L.params.enterAnimationDuration,exitAnimationDuration:this._config.exitAnimationDuration||L.params.exitAnimationDuration}}}}C.\u0275fac=function(H){return new(H||C)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(v),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(D.sBO),D.Y36(e.tE))},C.\u0275cmp=D.Xpm({type:C,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-dialog-container"],hostVars:7,hostBindings:function(H,j){1&H&&D.WFA("@dialogContainer.start",function(Re){return j._onAnimationStart(Re)})("@dialogContainer.done",function(Re){return j._onAnimationDone(Re)}),2&H&&(D.Ikx("id",j._config.id),D.uIk("aria-modal",j._config.ariaModal)("role",j._config.role)("aria-labelledby",j._config.ariaLabel?null:j._ariaLabelledBy)("aria-label",j._config.ariaLabel)("aria-describedby",j._config.ariaDescribedBy||null),D.d8E("@dialogContainer",j._getAnimationState()))},features:[D.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(H,j){1&H&&D.YNc(0,y,0,0,"ng-template",0)},dependencies:[E.Pl],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions.mat-dialog-actions-align-center,.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions.mat-dialog-actions-align-end,.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}"],encapsulation:2,data:{animation:[B.dialogContainer]}});class N{constructor(H,j,Oe){this._ref=H,this._containerInstance=Oe,this._afterOpened=new k.x,this._beforeClosed=new k.x,this._state=0,this.disableClose=j.disableClose,this.id=H.id,Oe._animationStateChanged.pipe((0,o.h)(Re=>"opened"===Re.state),(0,h.q)(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),Oe._animationStateChanged.pipe((0,o.h)(Re=>"closed"===Re.state),(0,h.q)(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),H.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),(0,n.T)(this.backdropClick(),this.keydownEvents().pipe((0,o.h)(Re=>Re.keyCode===u.hY&&!this.disableClose&&!(0,u.Vb)(Re)))).subscribe(Re=>{this.disableClose||(Re.preventDefault(),F(this,"keydown"===Re.type?"keyboard":"mouse"))})}close(H){this._result=H,this._containerInstance._animationStateChanged.pipe((0,o.h)(j=>"closing"===j.state),(0,h.q)(1)).subscribe(j=>{this._beforeClosed.next(H),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),j.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(H){let j=this._ref.config.positionStrategy;return H&&(H.left||H.right)?H.left?j.left(H.left):j.right(H.right):j.centerHorizontally(),H&&(H.top||H.bottom)?H.top?j.top(H.top):j.bottom(H.bottom):j.centerVertically(),this._ref.updatePosition(),this}updateSize(H="",j=""){return this._ref.updateSize(H,j),this}addPanelClass(H){return this._ref.addPanelClass(H),this}removePanelClass(H){return this._ref.removePanelClass(H),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function F(ee,H,j){return ee._closeInteractionType=H,ee.close(j)}const X=new D.OlP("MatDialogData"),Fe=new D.OlP("mat-dialog-default-options"),ke=new D.OlP("mat-dialog-scroll-strategy");const Ve={provide:ke,deps:[t.aV],useFactory:function je(ee){return()=>ee.scrollStrategies.block()}};let xe=0;class Ze{constructor(H,j,Oe,Re,le,_t,it,Ct,un,Bt){this._overlay=H,this._defaultOptions=Oe,this._parentDialog=Re,this._dialogRefConstructor=it,this._dialogContainerType=Ct,this._dialogDataToken=un,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new k.x,this._afterOpenedAtThisLevel=new k.x,this._idPrefix="mat-dialog-",this.afterAllClosed=(0,p.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,P.O)(void 0))),this._scrollStrategy=_t,this._dialog=j.get(ue)}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const H=this._parentDialog;return H?H._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(H,j){let Oe;(j={...this._defaultOptions||new v,...j}).id=j.id||`${this._idPrefix}${xe++}`,j.scrollStrategy=j.scrollStrategy||this._scrollStrategy();const Re=this._dialog.open(H,{...j,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:v,useValue:j},{provide:z,useValue:j}]},templateContext:()=>({dialogRef:Oe}),providers:(le,_t,it)=>(Oe=new this._dialogRefConstructor(le,j,it),Oe.updatePosition(j?.position),[{provide:this._dialogContainerType,useValue:it},{provide:this._dialogDataToken,useValue:_t.data},{provide:this._dialogRefConstructor,useValue:Oe}])});return Oe.componentInstance=Re.componentInstance,this.openDialogs.push(Oe),this.afterOpened.next(Oe),Oe.afterClosed().subscribe(()=>{const le=this.openDialogs.indexOf(Oe);le>-1&&(this.openDialogs.splice(le,1),this.openDialogs.length||this._getAfterAllClosed().next())}),Oe}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(H){return this.openDialogs.find(j=>j.id===H)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(H){let j=H.length;for(;j--;)H[j].close()}}Ze.\u0275fac=function(H){D.$Z()},Ze.\u0275prov=D.Yz7({token:Ze,factory:Ze.\u0275fac});class Ie extends Ze{constructor(H,j,Oe,Re,le,_t,it,Ct){super(H,j,Re,_t,it,le,N,C,X,Ct)}}Ie.\u0275fac=function(H){return new(H||Ie)(D.LFG(t.aV),D.LFG(D.zs3),D.LFG(s.Ye,8),D.LFG(Fe,8),D.LFG(ke),D.LFG(Ie,12),D.LFG(t.Xj),D.LFG(D.QbO,8))},Ie.\u0275prov=D.Yz7({token:Ie,factory:Ie.\u0275fac});let ve=0;class et{constructor(H,j,Oe){this.dialogRef=H,this._elementRef=j,this._dialog=Oe,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=te(this._elementRef,this._dialog.openDialogs))}ngOnChanges(H){const j=H._matDialogClose||H._matDialogCloseResult;j&&(this.dialogResult=j.currentValue)}_onButtonClick(H){F(this.dialogRef,0===H.screenX&&0===H.screenY?"keyboard":"mouse",this.dialogResult)}}et.\u0275fac=function(H){return new(H||et)(D.Y36(N,8),D.Y36(D.SBq),D.Y36(Ie))},et.\u0275dir=D.lG2({type:et,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(H,j){1&H&&D.NdJ("click",function(Re){return j._onButtonClick(Re)}),2&H&&D.uIk("aria-label",j.ariaLabel||null)("type",j.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[D.TTD]});class ht{constructor(H,j,Oe){this._dialogRef=H,this._elementRef=j,this._dialog=Oe,this.id="mat-dialog-title-"+ve++}ngOnInit(){this._dialogRef||(this._dialogRef=te(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const H=this._dialogRef._containerInstance;H&&!H._ariaLabelledBy&&(H._ariaLabelledBy=this.id)})}}ht.\u0275fac=function(H){return new(H||ht)(D.Y36(N,8),D.Y36(D.SBq),D.Y36(Ie))},ht.\u0275dir=D.lG2({type:ht,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(H,j){2&H&&D.Ikx("id",j.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]});class Le{}Le.\u0275fac=function(H){return new(H||Le)},Le.\u0275dir=D.lG2({type:Le,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]});class Ae{constructor(){this.align="start"}}function te(ee,H){let j=ee.nativeElement.parentElement;for(;j&&!j.classList.contains("mat-dialog-container");)j=j.parentElement;return j?H.find(Oe=>Oe.id===j.id):null}Ae.\u0275fac=function(H){return new(H||Ae)},Ae.\u0275dir=D.lG2({type:Ae,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-dialog-actions"],hostVars:4,hostBindings:function(H,j){2&H&&D.ekj("mat-dialog-actions-align-center","center"===j.align)("mat-dialog-actions-align-end","end"===j.align)},inputs:{align:"align"}});class pe{}pe.\u0275fac=function(H){return new(H||pe)},pe.\u0275mod=D.oAB({type:pe}),pe.\u0275inj=D.cJS({providers:[Ie,Ve],imports:[he,t.U8,E.eL,w.BQ,w.BQ]})},1528:(Ue,q,m)=>{"use strict";m.d(q,{d:()=>E,t:()=>s});var e=m(2560),t=m(8971),_=m(207);class E{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(u){this._vertical=(0,t.Ig)(u)}get inset(){return this._inset}set inset(u){this._inset=(0,t.Ig)(u)}}E.\u0275fac=function(u){return new(u||E)},E.\u0275cmp=e.Xpm({type:E,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(u,k){2&u&&(e.uIk("aria-orientation",k.vertical?"vertical":"horizontal"),e.ekj("mat-divider-vertical",k.vertical)("mat-divider-horizontal",!k.vertical)("mat-divider-inset",k.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(u,k){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}"],encapsulation:2,changeDetection:0});class s{}s.\u0275fac=function(u){return new(u||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({imports:[_.BQ,_.BQ]})},3012:(Ue,q,m)=>{"use strict";m.d(q,{pp:()=>Ve,To:()=>xe,ib:()=>N,u4:()=>Ke,yz:()=>ke,yK:()=>je});var e=m(2560),t=m(1755),_=m(8971),E=m(253),s=m(7714);let D=0;const u=new e.OlP("CdkAccordion");class k{constructor(){this._stateChanges=new E.x,this._openCloseAllActions=new E.x,this.id="cdk-accordion-"+D++,this._multi=!1}get multi(){return this._multi}set multi(Ie){this._multi=(0,_.Ig)(Ie)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(Ie){this._stateChanges.next(Ie)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}}k.\u0275fac=function(Ie){return new(Ie||k)},k.\u0275dir=e.lG2({type:k,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[e._Bn([{provide:u,useExisting:k}]),e.TTD]});let p=0;class S{constructor(Ie,ve,et){this.accordion=Ie,this._changeDetectorRef=ve,this._expansionDispatcher=et,this._openCloseAllSubscription=s.w0.EMPTY,this.closed=new e.vpe,this.opened=new e.vpe,this.destroyed=new e.vpe,this.expandedChange=new e.vpe,this.id="cdk-accordion-child-"+p++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=et.listen((ht,Le)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===Le&&this.id!==ht&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(Ie){if(Ie=(0,_.Ig)(Ie),this._expanded!==Ie){if(this._expanded=Ie,this.expandedChange.emit(Ie),Ie){this.opened.emit();const ve=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,ve)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}get disabled(){return this._disabled}set disabled(Ie){this._disabled=(0,_.Ig)(Ie)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(Ie=>{this.disabled||(this.expanded=Ie)})}}S.\u0275fac=function(Ie){return new(Ie||S)(e.Y36(u,12),e.Y36(e.sBO),e.Y36(t.A8))},S.\u0275dir=e.lG2({type:S,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[e._Bn([{provide:u,useValue:void 0}])]});class A{}A.\u0275fac=function(Ie){return new(Ie||A)},A.\u0275mod=e.oAB({type:A}),A.\u0275inj=e.cJS({});var P=m(7520),M=m(4666),z=m(207),I=m(4218),W=m(8977),Z=m(4874),Q=m(116),ie=m(9295),ae=m(8456),_e=m(591),ce=m(6646),ye=m(4851);const ue=["body"];function $(Ze,Ie){}const he=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]];function n(Ze,Ie){if(1&Ze&&e._UZ(0,"span",2),2&Ze){const ve=e.oxw();e.Q6J("@indicatorRotate",ve._getExpandedState())}}const o=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],d=new e.OlP("MAT_ACCORDION"),y="225ms cubic-bezier(0.4,0.0,0.2,1)",L={indicatorRotate:(0,ye.X$)("indicatorRotate",[(0,ye.SB)("collapsed, void",(0,ye.oB)({transform:"rotate(0deg)"})),(0,ye.SB)("expanded",(0,ye.oB)({transform:"rotate(180deg)"})),(0,ye.eR)("expanded <=> collapsed, void => collapsed",(0,ye.jt)(y))]),bodyExpansion:(0,ye.X$)("bodyExpansion",[(0,ye.SB)("collapsed, void",(0,ye.oB)({height:"0px",visibility:"hidden"})),(0,ye.SB)("expanded",(0,ye.oB)({height:"*",visibility:"visible"})),(0,ye.eR)("expanded <=> collapsed, void => collapsed",(0,ye.jt)(y))])},B=new e.OlP("MAT_EXPANSION_PANEL");class v{constructor(Ie,ve){this._template=Ie,this._expansionPanel=ve}}v.\u0275fac=function(Ie){return new(Ie||v)(e.Y36(e.Rgc),e.Y36(B,8))},v.\u0275dir=e.lG2({type:v,selectors:[["ng-template","matExpansionPanelContent",""]]});let a=0;const C=new e.OlP("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");class N extends S{constructor(Ie,ve,et,ht,Le,Ae,te){super(Ie,ve,et),this._viewContainerRef=ht,this._animationMode=Ae,this._hideToggle=!1,this.afterExpand=new e.vpe,this.afterCollapse=new e.vpe,this._inputChanges=new E.x,this._headerId="mat-expansion-panel-header-"+a++,this._bodyAnimationDone=new E.x,this.accordion=Ie,this._document=Le,this._bodyAnimationDone.pipe((0,W.x)((pe,ee)=>pe.fromState===ee.fromState&&pe.toState===ee.toState)).subscribe(pe=>{"void"!==pe.fromState&&("expanded"===pe.toState?this.afterExpand.emit():"collapsed"===pe.toState&&this.afterCollapse.emit())}),te&&(this.hideToggle=te.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(Ie){this._hideToggle=(0,_.Ig)(Ie)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(Ie){this._togglePosition=Ie}_hasSpacing(){return!!this.accordion&&(this.expanded&&"default"===this.accordion.displayMode)}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe((0,Z.O)(null),(0,Q.h)(()=>this.expanded&&!this._portal),(0,ie.q)(1)).subscribe(()=>{this._portal=new P.UE(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(Ie){this._inputChanges.next(Ie)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const Ie=this._document.activeElement,ve=this._body.nativeElement;return Ie===ve||ve.contains(Ie)}return!1}}N.\u0275fac=function(Ie){return new(Ie||N)(e.Y36(d,12),e.Y36(e.sBO),e.Y36(t.A8),e.Y36(e.s_b),e.Y36(M.K0),e.Y36(e.QbO,8),e.Y36(C,8))},N.\u0275cmp=e.Xpm({type:N,selectors:[["mat-expansion-panel"]],contentQueries:function(Ie,ve,et){if(1&Ie&&e.Suo(et,v,5),2&Ie){let ht;e.iGM(ht=e.CRH())&&(ve._lazyContent=ht.first)}},viewQuery:function(Ie,ve){if(1&Ie&&e.Gf(ue,5),2&Ie){let et;e.iGM(et=e.CRH())&&(ve._body=et.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(Ie,ve){2&Ie&&e.ekj("mat-expanded",ve.expanded)("_mat-animation-noopable","NoopAnimations"===ve._animationMode)("mat-expansion-panel-spacing",ve._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[e._Bn([{provide:d,useValue:void 0},{provide:B,useExisting:N}]),e.qOj,e.TTD],ngContentSelectors:["mat-expansion-panel-header","*","mat-action-row"],decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(Ie,ve){1&Ie&&(e.F$t(he),e.Hsn(0),e.TgZ(1,"div",0,1),e.NdJ("@bodyExpansion.done",function(ht){return ve._bodyAnimationDone.next(ht)}),e.TgZ(3,"div",2),e.Hsn(4,1),e.YNc(5,$,0,0,"ng-template",3),e.qZA(),e.Hsn(6,2),e.qZA()),2&Ie&&(e.xp6(1),e.Q6J("@bodyExpansion",ve._getExpandedState())("id",ve.id),e.uIk("aria-labelledby",ve._headerId),e.xp6(4),e.Q6J("cdkPortalOutlet",ve._portal))},dependencies:[P.Pl],styles:['.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2,data:{animation:[L.bodyExpansion]},changeDetection:0});class F{}F.\u0275fac=function(Ie){return new(Ie||F)},F.\u0275dir=e.lG2({type:F,selectors:[["mat-action-row"]],hostAttrs:[1,"mat-action-row"]});const Fe=(0,z.sb)(class X{});class ke extends Fe{constructor(Ie,ve,et,ht,Le,Ae,te){super(),this.panel=Ie,this._element=ve,this._focusMonitor=et,this._changeDetectorRef=ht,this._animationMode=Ae,this._parentChangeSubscription=s.w0.EMPTY;const pe=Ie.accordion?Ie.accordion._stateChanges.pipe((0,Q.h)(ee=>!(!ee.hideToggle&&!ee.togglePosition))):_e.E;this.tabIndex=parseInt(te||"")||0,this._parentChangeSubscription=(0,ce.T)(Ie.opened,Ie.closed,pe,Ie._inputChanges.pipe((0,Q.h)(ee=>!!(ee.hideToggle||ee.disabled||ee.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),Ie.closed.pipe((0,Q.h)(()=>Ie._containsFocus())).subscribe(()=>et.focusVia(ve,"program")),Le&&(this.expandedHeight=Le.expandedHeight,this.collapsedHeight=Le.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const Ie=this._isExpanded();return Ie&&this.expandedHeight?this.expandedHeight:!Ie&&this.collapsedHeight?this.collapsedHeight:null}_keydown(Ie){switch(Ie.keyCode){case ae.L_:case ae.K5:(0,ae.Vb)(Ie)||(Ie.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(Ie))}}focus(Ie,ve){Ie?this._focusMonitor.focusVia(this._element,Ie,ve):this._element.nativeElement.focus(ve)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(Ie=>{Ie&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}ke.\u0275fac=function(Ie){return new(Ie||ke)(e.Y36(N,1),e.Y36(e.SBq),e.Y36(I.tE),e.Y36(e.sBO),e.Y36(C,8),e.Y36(e.QbO,8),e.$8M("tabindex"))},ke.\u0275cmp=e.Xpm({type:ke,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(Ie,ve){1&Ie&&e.NdJ("click",function(){return ve._toggle()})("keydown",function(ht){return ve._keydown(ht)}),2&Ie&&(e.uIk("id",ve.panel._headerId)("tabindex",ve.tabIndex)("aria-controls",ve._getPanelId())("aria-expanded",ve._isExpanded())("aria-disabled",ve.panel.disabled),e.Udp("height",ve._getHeaderHeight()),e.ekj("mat-expanded",ve._isExpanded())("mat-expansion-toggle-indicator-after","after"===ve._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===ve._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===ve._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[e.qOj],ngContentSelectors:["mat-panel-title","mat-panel-description","*"],decls:5,vars:3,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(Ie,ve){1&Ie&&(e.F$t(o),e.TgZ(0,"span",0),e.Hsn(1),e.Hsn(2,1),e.Hsn(3,2),e.qZA(),e.YNc(4,n,1,1,"span",1)),2&Ie&&(e.ekj("mat-content-hide-toggle",!ve._showToggle()),e.xp6(4),e.Q6J("ngIf",ve._showToggle()))},dependencies:[M.O5],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}'],encapsulation:2,data:{animation:[L.indicatorRotate]},changeDetection:0});class Ke{}Ke.\u0275fac=function(Ie){return new(Ie||Ke)},Ke.\u0275dir=e.lG2({type:Ke,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]});class je{}je.\u0275fac=function(Ie){return new(Ie||je)},je.\u0275dir=e.lG2({type:je,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]});class Ve extends k{constructor(){super(...arguments),this._ownHeaders=new e.n_E,this._hideToggle=!1,this.displayMode="default",this.togglePosition="after"}get hideToggle(){return this._hideToggle}set hideToggle(Ie){this._hideToggle=(0,_.Ig)(Ie)}ngAfterContentInit(){this._headers.changes.pipe((0,Z.O)(this._headers)).subscribe(Ie=>{this._ownHeaders.reset(Ie.filter(ve=>ve.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new I.Em(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(Ie){this._keyManager.onKeydown(Ie)}_handleHeaderFocus(Ie){this._keyManager.updateActiveItem(Ie)}ngOnDestroy(){super.ngOnDestroy(),this._ownHeaders.destroy()}}Ve.\u0275fac=function(){let Ze;return function(ve){return(Ze||(Ze=e.n5z(Ve)))(ve||Ve)}}(),Ve.\u0275dir=e.lG2({type:Ve,selectors:[["mat-accordion"]],contentQueries:function(Ie,ve,et){if(1&Ie&&e.Suo(et,ke,5),2&Ie){let ht;e.iGM(ht=e.CRH())&&(ve._headers=ht)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(Ie,ve){2&Ie&&e.ekj("mat-accordion-multi",ve.multi)},inputs:{multi:"multi",hideToggle:"hideToggle",displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[e._Bn([{provide:d,useExisting:Ve}]),e.qOj]});class xe{}xe.\u0275fac=function(Ie){return new(Ie||xe)},xe.\u0275mod=e.oAB({type:xe}),xe.\u0275inj=e.cJS({imports:[M.ez,z.BQ,A,P.eL]})},5074:(Ue,q,m)=>{"use strict";m.d(q,{Eo:()=>v,G_:()=>Ae,KE:()=>te,R9:()=>Ze,TO:()=>L,bx:()=>Fe,lN:()=>pe});var e=m(3773),t=m(4666),_=m(2560),E=m(207),s=m(2867),D=m(8971),u=m(253),k=m(6646),p=m(3280),S=m(4874),A=m(8951),P=m(9295),M=m(4851),z=m(9107);const I=["connectionContainer"],W=["inputContainer"],Z=["label"];function Q(ee,H){1&ee&&(_.ynx(0),_.TgZ(1,"div",14),_._UZ(2,"div",15)(3,"div",16)(4,"div",17),_.qZA(),_.TgZ(5,"div",18),_._UZ(6,"div",15)(7,"div",16)(8,"div",17),_.qZA(),_.BQk())}function ie(ee,H){if(1&ee){const j=_.EpF();_.TgZ(0,"div",19),_.NdJ("cdkObserveContent",function(){_.CHM(j);const Re=_.oxw();return _.KtG(Re.updateOutlineGap())}),_.Hsn(1,1),_.qZA()}if(2&ee){const j=_.oxw();_.Q6J("cdkObserveContentDisabled","outline"!=j.appearance)}}function ae(ee,H){if(1&ee&&(_.ynx(0),_.Hsn(1,2),_.TgZ(2,"span"),_._uU(3),_.qZA(),_.BQk()),2&ee){const j=_.oxw(2);_.xp6(3),_.Oqu(j._control.placeholder)}}function _e(ee,H){1&ee&&_.Hsn(0,3,["*ngSwitchCase","true"])}function ce(ee,H){1&ee&&(_.TgZ(0,"span",23),_._uU(1," *"),_.qZA())}function ye(ee,H){if(1&ee){const j=_.EpF();_.TgZ(0,"label",20,21),_.NdJ("cdkObserveContent",function(){_.CHM(j);const Re=_.oxw();return _.KtG(Re.updateOutlineGap())}),_.YNc(2,ae,4,1,"ng-container",12),_.YNc(3,_e,1,0,"ng-content",12),_.YNc(4,ce,2,0,"span",22),_.qZA()}if(2&ee){const j=_.oxw();_.ekj("mat-empty",j._control.empty&&!j._shouldAlwaysFloat())("mat-form-field-empty",j._control.empty&&!j._shouldAlwaysFloat())("mat-accent","accent"==j.color)("mat-warn","warn"==j.color),_.Q6J("cdkObserveContentDisabled","outline"!=j.appearance)("id",j._labelId)("ngSwitch",j._hasLabel()),_.uIk("for",j._control.id)("aria-owns",j._control.id),_.xp6(2),_.Q6J("ngSwitchCase",!1),_.xp6(1),_.Q6J("ngSwitchCase",!0),_.xp6(1),_.Q6J("ngIf",!j.hideRequiredMarker&&j._control.required&&!j._control.disabled)}}function ue(ee,H){1&ee&&(_.TgZ(0,"div",24),_.Hsn(1,4),_.qZA())}function $(ee,H){if(1&ee&&(_.TgZ(0,"div",25),_._UZ(1,"span",26),_.qZA()),2&ee){const j=_.oxw();_.xp6(1),_.ekj("mat-accent","accent"==j.color)("mat-warn","warn"==j.color)}}function he(ee,H){if(1&ee&&(_.TgZ(0,"div"),_.Hsn(1,5),_.qZA()),2&ee){const j=_.oxw();_.Q6J("@transitionMessages",j._subscriptAnimationState)}}function w(ee,H){if(1&ee&&(_.TgZ(0,"div",30),_._uU(1),_.qZA()),2&ee){const j=_.oxw(2);_.Q6J("id",j._hintLabelId),_.xp6(1),_.Oqu(j.hintLabel)}}function n(ee,H){if(1&ee&&(_.TgZ(0,"div",27),_.YNc(1,w,2,2,"div",28),_.Hsn(2,6),_._UZ(3,"div",29),_.Hsn(4,7),_.qZA()),2&ee){const j=_.oxw();_.Q6J("@transitionMessages",j._subscriptAnimationState),_.xp6(1),_.Q6J("ngIf",j.hintLabel)}}const o=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]];let d=0;const y=new _.OlP("MatError");class L{constructor(H,j){this.id="mat-error-"+d++,H||j.nativeElement.setAttribute("aria-live","polite")}}L.\u0275fac=function(H){return new(H||L)(_.$8M("aria-live"),_.Y36(_.SBq))},L.\u0275dir=_.lG2({type:L,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(H,j){2&H&&_.uIk("id",j.id)},inputs:{id:"id"},features:[_._Bn([{provide:y,useExisting:L}])]});const B={transitionMessages:(0,M.X$)("transitionMessages",[(0,M.SB)("enter",(0,M.oB)({opacity:1,transform:"translateY(0%)"})),(0,M.eR)("void => enter",[(0,M.oB)({opacity:0,transform:"translateY(-5px)"}),(0,M.jt)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};class v{}v.\u0275fac=function(H){return new(H||v)},v.\u0275dir=_.lG2({type:v});let F=0;const X=new _.OlP("MatHint");class Fe{constructor(){this.align="start",this.id="mat-hint-"+F++}}Fe.\u0275fac=function(H){return new(H||Fe)},Fe.\u0275dir=_.lG2({type:Fe,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(H,j){2&H&&(_.uIk("id",j.id)("align",null),_.ekj("mat-form-field-hint-end","end"===j.align))},inputs:{align:"align",id:"id"},features:[_._Bn([{provide:X,useExisting:Fe}])]});class ke{}ke.\u0275fac=function(H){return new(H||ke)},ke.\u0275dir=_.lG2({type:ke,selectors:[["mat-label"]]});class Ke{}Ke.\u0275fac=function(H){return new(H||Ke)},Ke.\u0275dir=_.lG2({type:Ke,selectors:[["mat-placeholder"]]});const je=new _.OlP("MatPrefix");class Ve{}Ve.\u0275fac=function(H){return new(H||Ve)},Ve.\u0275dir=_.lG2({type:Ve,selectors:[["","matPrefix",""]],features:[_._Bn([{provide:je,useExisting:Ve}])]});const xe=new _.OlP("MatSuffix");class Ze{}Ze.\u0275fac=function(H){return new(H||Ze)},Ze.\u0275dir=_.lG2({type:Ze,selectors:[["","matSuffix",""]],features:[_._Bn([{provide:xe,useExisting:Ze}])]});let Ie=0;const ht=(0,E.pj)(class{constructor(ee){this._elementRef=ee}},"primary"),Le=new _.OlP("MAT_FORM_FIELD_DEFAULT_OPTIONS"),Ae=new _.OlP("MatFormField");class te extends ht{constructor(H,j,Oe,Re,le,_t,it){super(H),this._changeDetectorRef=j,this._dir=Oe,this._defaults=Re,this._platform=le,this._ngZone=_t,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new u.x,this._hideRequiredMarker=!1,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+Ie++,this._labelId="mat-form-field-label-"+Ie++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==it,this.appearance=Re?.appearance||"legacy",Re&&(this._hideRequiredMarker=Boolean(Re.hideRequiredMarker),Re.color&&(this.color=this.defaultColor=Re.color))}get appearance(){return this._appearance}set appearance(H){const j=this._appearance;this._appearance=H||this._defaults?.appearance||"legacy","outline"===this._appearance&&j!==H&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(H){this._hideRequiredMarker=(0,D.Ig)(H)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(H){this._hintLabel=H,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(H){H!==this._floatLabel&&(this._floatLabel=H||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(H){this._explicitFormFieldControl=H}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const H=this._control;H.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${H.controlType}`),H.stateChanges.pipe((0,S.O)(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),H.ngControl&&H.ngControl.valueChanges&&H.ngControl.valueChanges.pipe((0,A.R)(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,A.R)(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),(0,k.T)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe((0,S.O)(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe((0,S.O)(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe((0,A.R)(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(H){const j=this._control?this._control.ngControl:null;return j&&j[H]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,(0,p.R)(this._label.nativeElement,"transitionend").pipe((0,P.q)(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){this._control.placeholder&&this._placeholderChild}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let H=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&H.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const j=this._hintChildren?this._hintChildren.find(Re=>"start"===Re.align):null,Oe=this._hintChildren?this._hintChildren.find(Re=>"end"===Re.align):null;j?H.push(j.id):this._hintLabel&&H.push(this._hintLabelId),Oe&&H.push(Oe.id)}else this._errorChildren&&H.push(...this._errorChildren.map(j=>j.id));this._control.setDescribedByIds(H)}}_validateControlChild(){this._control}updateOutlineGap(){const H=this._label?this._label.nativeElement:null,j=this._connectionContainerRef.nativeElement,Oe=".mat-form-field-outline-start",Re=".mat-form-field-outline-gap";if("outline"!==this.appearance||!this._platform.isBrowser)return;if(!H||!H.children.length||!H.textContent.trim()){const un=j.querySelectorAll(`${Oe}, ${Re}`);for(let Bt=0;Bt0?.75*Xt+10:0}for(let un=0;un{"use strict";m.d(q,{DX:()=>P,Il:()=>$,N6:()=>he});var e=m(2560),t=m(207),_=m(8971),E=m(2867);const s=["*"],D=[[["","mat-grid-avatar",""],["","matGridAvatar",""]],[["","mat-line",""],["","matLine",""]],"*"];class p{constructor(){this.columnIndex=0,this.rowIndex=0}get rowCount(){return this.rowIndex+1}get rowspan(){const o=Math.max(...this.tracker);return o>1?this.rowCount+o-1:this.rowCount}update(o,h){this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(o),this.tracker.fill(0,0,this.tracker.length),this.positions=h.map(d=>this._trackTile(d))}_trackTile(o){const h=this._findMatchingGap(o.colspan);return this._markTilePosition(h,o),this.columnIndex=h+o.colspan,new S(this.rowIndex,h)}_findMatchingGap(o){this.tracker.length;let h=-1,d=-1;do{this.columnIndex+o>this.tracker.length?(this._nextRow(),h=this.tracker.indexOf(0,this.columnIndex),d=this._findGapEndIndex(h)):(h=this.tracker.indexOf(0,this.columnIndex),-1!=h?(d=this._findGapEndIndex(h),this.columnIndex=h+1):(this._nextRow(),h=this.tracker.indexOf(0,this.columnIndex),d=this._findGapEndIndex(h)))}while(d-h*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0});class M{constructor(o){this._element=o}ngAfterContentInit(){(0,t.E0)(this._lines,this._element)}}M.\u0275fac=function(o){return new(o||M)(e.Y36(e.SBq))},M.\u0275cmp=e.Xpm({type:M,selectors:[["mat-grid-tile-header"],["mat-grid-tile-footer"]],contentQueries:function(o,h,d){if(1&o&&e.Suo(d,t.X2,5),2&o){let y;e.iGM(y=e.CRH())&&(h._lines=y)}},ngContentSelectors:["[mat-grid-avatar], [matGridAvatar]","[mat-line], [matLine]","*"],decls:4,vars:0,consts:[[1,"mat-grid-list-text"]],template:function(o,h){1&o&&(e.F$t(D),e.Hsn(0),e.TgZ(1,"div",0),e.Hsn(2,1),e.qZA(),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class z{}z.\u0275fac=function(o){return new(o||z)},z.\u0275dir=e.lG2({type:z,selectors:[["","mat-grid-avatar",""],["","matGridAvatar",""]],hostAttrs:[1,"mat-grid-avatar"]});class I{}I.\u0275fac=function(o){return new(o||I)},I.\u0275dir=e.lG2({type:I,selectors:[["mat-grid-tile-header"]],hostAttrs:[1,"mat-grid-tile-header"]});class W{}W.\u0275fac=function(o){return new(o||W)},W.\u0275dir=e.lG2({type:W,selectors:[["mat-grid-tile-footer"]],hostAttrs:[1,"mat-grid-tile-footer"]});const Z=/^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;class Q{constructor(){this._rows=0,this._rowspan=0}init(o,h,d,y){this._gutterSize=ye(o),this._rows=h.rowCount,this._rowspan=h.rowspan,this._cols=d,this._direction=y}getBaseTileSize(o,h){return`(${o}% - (${this._gutterSize} * ${h}))`}getTilePosition(o,h){return 0===h?"0":ce(`(${o} + ${this._gutterSize}) * ${h}`)}getTileSize(o,h){return`(${o} * ${h}) + (${h-1} * ${this._gutterSize})`}setStyle(o,h,d){let y=100/this._cols,L=(this._cols-1)/this._cols;this.setColStyles(o,d,y,L),this.setRowStyles(o,h,y,L)}setColStyles(o,h,d,y){let L=this.getBaseTileSize(d,y),B="rtl"===this._direction?"right":"left";o._setStyle(B,this.getTilePosition(L,h)),o._setStyle("width",ce(this.getTileSize(L,o.colspan)))}getGutterSpan(){return`${this._gutterSize} * (${this._rowspan} - 1)`}getTileSpan(o){return`${this._rowspan} * ${this.getTileSize(o,1)}`}getComputedHeight(){return null}}class ie extends Q{constructor(o){super(),this.fixedRowHeight=o}init(o,h,d,y){super.init(o,h,d,y),this.fixedRowHeight=ye(this.fixedRowHeight),Z.test(this.fixedRowHeight)}setRowStyles(o,h){o._setStyle("top",this.getTilePosition(this.fixedRowHeight,h)),o._setStyle("height",ce(this.getTileSize(this.fixedRowHeight,o.rowspan)))}getComputedHeight(){return["height",ce(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)]}reset(o){o._setListStyle(["height",null]),o._tiles&&o._tiles.forEach(h=>{h._setStyle("top",null),h._setStyle("height",null)})}}class ae extends Q{constructor(o){super(),this._parseRatio(o)}setRowStyles(o,h,d,y){let L=d/this.rowHeightRatio;this.baseTileHeight=this.getBaseTileSize(L,y),o._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,h)),o._setStyle("paddingTop",ce(this.getTileSize(this.baseTileHeight,o.rowspan)))}getComputedHeight(){return["paddingBottom",ce(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)]}reset(o){o._setListStyle(["paddingBottom",null]),o._tiles.forEach(h=>{h._setStyle("marginTop",null),h._setStyle("paddingTop",null)})}_parseRatio(o){const h=o.split(":");h.length,this.rowHeightRatio=parseFloat(h[0])/parseFloat(h[1])}}class _e extends Q{setRowStyles(o,h){let d=100/this._rowspan,y=(this._rows-1)/this._rows,L=this.getBaseTileSize(d,y);o._setStyle("top",this.getTilePosition(L,h)),o._setStyle("height",ce(this.getTileSize(L,o.rowspan)))}reset(o){o._tiles&&o._tiles.forEach(h=>{h._setStyle("top",null),h._setStyle("height",null)})}}function ce(n){return`calc(${n})`}function ye(n){return n.match(/([A-Za-z%]+)$/)?n:`${n}px`}class ${constructor(o,h){this._element=o,this._dir=h,this._gutter="1px"}get cols(){return this._cols}set cols(o){this._cols=Math.max(1,Math.round((0,_.su)(o)))}get gutterSize(){return this._gutter}set gutterSize(o){this._gutter=`${o??""}`}get rowHeight(){return this._rowHeight}set rowHeight(o){const h=`${o??""}`;h!==this._rowHeight&&(this._rowHeight=h,this._setTileStyler(this._rowHeight))}ngOnInit(){this._checkCols(),this._checkRowHeight()}ngAfterContentChecked(){this._layoutTiles()}_checkCols(){this.cols}_checkRowHeight(){this._rowHeight||this._setTileStyler("1:1")}_setTileStyler(o){this._tileStyler&&this._tileStyler.reset(this),"fit"===o?this._tileStyler=new _e:o&&o.indexOf(":")>-1?this._tileStyler=new ae(o):this._tileStyler=new ie(o)}_layoutTiles(){this._tileCoordinator||(this._tileCoordinator=new p);const o=this._tileCoordinator,h=this._tiles.filter(y=>!y._gridList||y._gridList===this),d=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,h),this._tileStyler.init(this.gutterSize,o,this.cols,d),h.forEach((y,L)=>{const B=o.positions[L];this._tileStyler.setStyle(y,B.row,B.col)}),this._setListStyle(this._tileStyler.getComputedHeight())}_setListStyle(o){o&&(this._element.nativeElement.style[o[0]]=o[1])}}$.\u0275fac=function(o){return new(o||$)(e.Y36(e.SBq),e.Y36(E.Is,8))},$.\u0275cmp=e.Xpm({type:$,selectors:[["mat-grid-list"]],contentQueries:function(o,h,d){if(1&o&&e.Suo(d,P,5),2&o){let y;e.iGM(y=e.CRH())&&(h._tiles=y)}},hostAttrs:[1,"mat-grid-list"],hostVars:1,hostBindings:function(o,h){2&o&&e.uIk("cols",h.cols)},inputs:{cols:"cols",gutterSize:"gutterSize",rowHeight:"rowHeight"},exportAs:["matGridList"],features:[e._Bn([{provide:A,useExisting:$}])],ngContentSelectors:s,decls:2,vars:0,template:function(o,h){1&o&&(e.F$t(),e.TgZ(0,"div"),e.Hsn(1),e.qZA())},styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0});class he{}he.\u0275fac=function(o){return new(o||he)},he.\u0275mod=e.oAB({type:he}),he.\u0275inj=e.cJS({imports:[t.uc,t.BQ,t.uc,t.BQ]})},7822:(Ue,q,m)=>{"use strict";m.d(q,{Hw:()=>F,Ps:()=>X});var e=m(2560),t=m(207),_=m(8971),E=m(4666),s=m(745),D=m(5474),u=m(1640),k=m(7714),p=m(9337),S=m(635),A=m(3158),P=m(2313),M=m(1203),z=m(9295),I=m(8987),W=m(4497);let Q;function ae(Fe){return function ie(){if(void 0===Q&&(Q=null,typeof window<"u")){const Fe=window;void 0!==Fe.trustedTypes&&(Q=Fe.trustedTypes.createPolicy("angular#components",{createHTML:ke=>ke}))}return Q}()?.createHTML(Fe)||Fe}function _e(Fe){return Error(`Unable to find icon with the name "${Fe}"`)}function ye(Fe){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${Fe}".`)}function ue(Fe){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${Fe}".`)}class ${constructor(ke,Ke,je){this.url=ke,this.svgText=Ke,this.options=je}}class he{constructor(ke,Ke,je,Ve){this._httpClient=ke,this._sanitizer=Ke,this._errorHandler=Ve,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=je}addSvgIcon(ke,Ke,je){return this.addSvgIconInNamespace("",ke,Ke,je)}addSvgIconLiteral(ke,Ke,je){return this.addSvgIconLiteralInNamespace("",ke,Ke,je)}addSvgIconInNamespace(ke,Ke,je,Ve){return this._addSvgIconConfig(ke,Ke,new $(je,null,Ve))}addSvgIconResolver(ke){return this._resolvers.push(ke),this}addSvgIconLiteralInNamespace(ke,Ke,je,Ve){const xe=this._sanitizer.sanitize(e.q3G.HTML,je);if(!xe)throw ue(je);const Ze=ae(xe);return this._addSvgIconConfig(ke,Ke,new $("",Ze,Ve))}addSvgIconSet(ke,Ke){return this.addSvgIconSetInNamespace("",ke,Ke)}addSvgIconSetLiteral(ke,Ke){return this.addSvgIconSetLiteralInNamespace("",ke,Ke)}addSvgIconSetInNamespace(ke,Ke,je){return this._addSvgIconSetConfig(ke,new $(Ke,null,je))}addSvgIconSetLiteralInNamespace(ke,Ke,je){const Ve=this._sanitizer.sanitize(e.q3G.HTML,Ke);if(!Ve)throw ue(Ke);const xe=ae(Ve);return this._addSvgIconSetConfig(ke,new $("",xe,je))}registerFontClassAlias(ke,Ke=ke){return this._fontCssClassesByAlias.set(ke,Ke),this}classNameForFontAlias(ke){return this._fontCssClassesByAlias.get(ke)||ke}setDefaultFontSetClass(...ke){return this._defaultFontSetClass=ke,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(ke){const Ke=this._sanitizer.sanitize(e.q3G.RESOURCE_URL,ke);if(!Ke)throw ye(ke);const je=this._cachedIconsByUrl.get(Ke);return je?(0,s.of)(o(je)):this._loadSvgIconFromConfig(new $(ke,null)).pipe((0,p.b)(Ve=>this._cachedIconsByUrl.set(Ke,Ve)),(0,S.U)(Ve=>o(Ve)))}getNamedSvgIcon(ke,Ke=""){const je=h(Ke,ke);let Ve=this._svgIconConfigs.get(je);if(Ve)return this._getSvgFromConfig(Ve);if(Ve=this._getIconConfigFromResolvers(Ke,ke),Ve)return this._svgIconConfigs.set(je,Ve),this._getSvgFromConfig(Ve);const xe=this._iconSetConfigs.get(Ke);return xe?this._getSvgFromIconSetConfigs(ke,xe):(0,D._)(_e(je))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(ke){return ke.svgText?(0,s.of)(o(this._svgElementFromConfig(ke))):this._loadSvgIconFromConfig(ke).pipe((0,S.U)(Ke=>o(Ke)))}_getSvgFromIconSetConfigs(ke,Ke){const je=this._extractIconWithNameFromAnySet(ke,Ke);if(je)return(0,s.of)(je);const Ve=Ke.filter(xe=>!xe.svgText).map(xe=>this._loadSvgIconSetFromConfig(xe).pipe((0,A.K)(Ze=>{const ve=`Loading icon set URL: ${this._sanitizer.sanitize(e.q3G.RESOURCE_URL,xe.url)} failed: ${Ze.message}`;return this._errorHandler.handleError(new Error(ve)),(0,s.of)(null)})));return(0,u.D)(Ve).pipe((0,S.U)(()=>{const xe=this._extractIconWithNameFromAnySet(ke,Ke);if(!xe)throw _e(ke);return xe}))}_extractIconWithNameFromAnySet(ke,Ke){for(let je=Ke.length-1;je>=0;je--){const Ve=Ke[je];if(Ve.svgText&&Ve.svgText.toString().indexOf(ke)>-1){const xe=this._svgElementFromConfig(Ve),Ze=this._extractSvgIconFromSet(xe,ke,Ve.options);if(Ze)return Ze}}return null}_loadSvgIconFromConfig(ke){return this._fetchIcon(ke).pipe((0,p.b)(Ke=>ke.svgText=Ke),(0,S.U)(()=>this._svgElementFromConfig(ke)))}_loadSvgIconSetFromConfig(ke){return ke.svgText?(0,s.of)(null):this._fetchIcon(ke).pipe((0,p.b)(Ke=>ke.svgText=Ke))}_extractSvgIconFromSet(ke,Ke,je){const Ve=ke.querySelector(`[id="${Ke}"]`);if(!Ve)return null;const xe=Ve.cloneNode(!0);if(xe.removeAttribute("id"),"svg"===xe.nodeName.toLowerCase())return this._setSvgAttributes(xe,je);if("symbol"===xe.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(xe),je);const Ze=this._svgElementFromString(ae(""));return Ze.appendChild(xe),this._setSvgAttributes(Ze,je)}_svgElementFromString(ke){const Ke=this._document.createElement("DIV");Ke.innerHTML=ke;const je=Ke.querySelector("svg");if(!je)throw Error(" tag not found");return je}_toSvgElement(ke){const Ke=this._svgElementFromString(ae("")),je=ke.attributes;for(let Ve=0;Veae(ve)),(0,P.x)(()=>this._inProgressUrlFetches.delete(xe)),(0,M.B)());return this._inProgressUrlFetches.set(xe,Ie),Ie}_addSvgIconConfig(ke,Ke,je){return this._svgIconConfigs.set(h(ke,Ke),je),this}_addSvgIconSetConfig(ke,Ke){const je=this._iconSetConfigs.get(ke);return je?je.push(Ke):this._iconSetConfigs.set(ke,[Ke]),this}_svgElementFromConfig(ke){if(!ke.svgElement){const Ke=this._svgElementFromString(ke.svgText);this._setSvgAttributes(Ke,ke.options),ke.svgElement=Ke}return ke.svgElement}_getIconConfigFromResolvers(ke,Ke){for(let je=0;jeke?ke.pathname+ke.search:""}}});const a=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],C=a.map(Fe=>`[${Fe}]`).join(", "),N=/^url\(['"]?#(.*?)['"]?\)$/;class F extends y{constructor(ke,Ke,je,Ve,xe,Ze){super(ke),this._iconRegistry=Ke,this._location=Ve,this._errorHandler=xe,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=k.w0.EMPTY,Ze&&(Ze.color&&(this.color=this.defaultColor=Ze.color),Ze.fontSet&&(this.fontSet=Ze.fontSet)),je||ke.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(ke){this._inline=(0,_.Ig)(ke)}get svgIcon(){return this._svgIcon}set svgIcon(ke){ke!==this._svgIcon&&(ke?this._updateSvgIcon(ke):this._svgIcon&&this._clearSvgElement(),this._svgIcon=ke)}get fontSet(){return this._fontSet}set fontSet(ke){const Ke=this._cleanupFontValue(ke);Ke!==this._fontSet&&(this._fontSet=Ke,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(ke){const Ke=this._cleanupFontValue(ke);Ke!==this._fontIcon&&(this._fontIcon=Ke,this._updateFontIconClasses())}_splitIconName(ke){if(!ke)return["",""];const Ke=ke.split(":");switch(Ke.length){case 1:return["",Ke[0]];case 2:return Ke;default:throw Error(`Invalid icon name: "${ke}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const ke=this._elementsWithExternalReferences;if(ke&&ke.size){const Ke=this._location.getPathname();Ke!==this._previousPath&&(this._previousPath=Ke,this._prependPathToReferences(Ke))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(ke){this._clearSvgElement();const Ke=this._location.getPathname();this._previousPath=Ke,this._cacheChildrenWithExternalReferences(ke),this._prependPathToReferences(Ke),this._elementRef.nativeElement.appendChild(ke)}_clearSvgElement(){const ke=this._elementRef.nativeElement;let Ke=ke.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();Ke--;){const je=ke.childNodes[Ke];(1!==je.nodeType||"svg"===je.nodeName.toLowerCase())&&je.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const ke=this._elementRef.nativeElement,Ke=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(je=>je.length>0);this._previousFontSetClass.forEach(je=>ke.classList.remove(je)),Ke.forEach(je=>ke.classList.add(je)),this._previousFontSetClass=Ke,this.fontIcon!==this._previousFontIconClass&&!Ke.includes("mat-ligature-font")&&(this._previousFontIconClass&&ke.classList.remove(this._previousFontIconClass),this.fontIcon&&ke.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(ke){return"string"==typeof ke?ke.trim().split(" ")[0]:ke}_prependPathToReferences(ke){const Ke=this._elementsWithExternalReferences;Ke&&Ke.forEach((je,Ve)=>{je.forEach(xe=>{Ve.setAttribute(xe.name,`url('${ke}#${xe.value}')`)})})}_cacheChildrenWithExternalReferences(ke){const Ke=ke.querySelectorAll(C),je=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let Ve=0;Ve{const Ze=Ke[Ve],Ie=Ze.getAttribute(xe),ve=Ie?Ie.match(N):null;if(ve){let et=je.get(Ze);et||(et=[],je.set(Ze,et)),et.push({name:xe,value:ve[1]})}})}_updateSvgIcon(ke){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),ke){const[Ke,je]=this._splitIconName(ke);Ke&&(this._svgNamespace=Ke),je&&(this._svgName=je),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(je,Ke).pipe((0,z.q)(1)).subscribe(Ve=>this._setSvgElement(Ve),Ve=>{const xe=`Error retrieving icon ${Ke}:${je}! ${Ve.message}`;this._errorHandler.handleError(new Error(xe))})}}}F.\u0275fac=function(ke){return new(ke||F)(e.Y36(e.SBq),e.Y36(he),e.$8M("aria-hidden"),e.Y36(B),e.Y36(e.qLn),e.Y36(L,8))},F.\u0275cmp=e.Xpm({type:F,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(ke,Ke){2&ke&&(e.uIk("data-mat-icon-type",Ke._usingFontIcon()?"font":"svg")("data-mat-icon-name",Ke._svgName||Ke.fontIcon)("data-mat-icon-namespace",Ke._svgNamespace||Ke.fontSet)("fontIcon",Ke._usingFontIcon()?Ke.fontIcon:null),e.ekj("mat-icon-inline",Ke.inline)("mat-icon-no-color","primary"!==Ke.color&&"accent"!==Ke.color&&"warn"!==Ke.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[e.qOj],ngContentSelectors:["*"],decls:1,vars:0,template:function(ke,Ke){1&ke&&(e.F$t(),e.Hsn(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0});class X{}X.\u0275fac=function(ke){return new(ke||X)},X.\u0275mod=e.oAB({type:X}),X.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},1267:(Ue,q,m)=>{"use strict";m.d(q,{Jk:()=>ie,Nt:()=>ye,c:()=>ue});var e=m(8971),t=m(9107),_=m(2560),E=m(591),s=m(253),D=m(3280),u=m(9211),k=m(8951),p=m(4666);const S=(0,t.i$)({passive:!0});class A{constructor(he,w){this._platform=he,this._ngZone=w,this._monitoredElements=new Map}monitor(he){if(!this._platform.isBrowser)return E.E;const w=(0,e.fI)(he),n=this._monitoredElements.get(w);if(n)return n.subject;const o=new s.x,h="cdk-text-field-autofilled",d=y=>{"cdk-text-field-autofill-start"!==y.animationName||w.classList.contains(h)?"cdk-text-field-autofill-end"===y.animationName&&w.classList.contains(h)&&(w.classList.remove(h),this._ngZone.run(()=>o.next({target:y.target,isAutofilled:!1}))):(w.classList.add(h),this._ngZone.run(()=>o.next({target:y.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{w.addEventListener("animationstart",d,S),w.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(w,{subject:o,unlisten:()=>{w.removeEventListener("animationstart",d,S)}}),o}stopMonitoring(he){const w=(0,e.fI)(he),n=this._monitoredElements.get(w);n&&(n.unlisten(),n.subject.complete(),w.classList.remove("cdk-text-field-autofill-monitored"),w.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(w))}ngOnDestroy(){this._monitoredElements.forEach((he,w)=>this.stopMonitoring(w))}}A.\u0275fac=function(he){return new(he||A)(_.LFG(t.t4),_.LFG(_.R0b))},A.\u0275prov=_.Yz7({token:A,factory:A.\u0275fac,providedIn:"root"});class P{constructor(he,w){this._elementRef=he,this._autofillMonitor=w,this.cdkAutofill=new _.vpe}ngOnInit(){this._autofillMonitor.monitor(this._elementRef).subscribe(he=>this.cdkAutofill.emit(he))}ngOnDestroy(){this._autofillMonitor.stopMonitoring(this._elementRef)}}P.\u0275fac=function(he){return new(he||P)(_.Y36(_.SBq),_.Y36(A))},P.\u0275dir=_.lG2({type:P,selectors:[["","cdkAutofill",""]],outputs:{cdkAutofill:"cdkAutofill"}});class M{constructor(he,w,n,o){this._elementRef=he,this._platform=w,this._ngZone=n,this._destroyed=new s.x,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=h=>{this._hasFocus="focus"===h.type},this._document=o,this._textareaElement=this._elementRef.nativeElement}get minRows(){return this._minRows}set minRows(he){this._minRows=(0,e.su)(he),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(he){this._maxRows=(0,e.su)(he),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(he){he=(0,e.Ig)(he),this._enabled!==he&&((this._enabled=he)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(he){this._cachedPlaceholderHeight=void 0,he?this._textareaElement.setAttribute("placeholder",he):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const he=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;he&&(this._textareaElement.style.minHeight=he)}_setMaxHeight(){const he=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;he&&(this._textareaElement.style.maxHeight=he)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{const he=this._getWindow();(0,D.R)(he,"resize").pipe((0,u.e)(16),(0,k.R)(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let he=this._textareaElement.cloneNode(!1);he.rows=1,he.style.position="absolute",he.style.visibility="hidden",he.style.border="none",he.style.padding="0",he.style.height="",he.style.minHeight="",he.style.maxHeight="",he.style.overflow="hidden",this._textareaElement.parentNode.appendChild(he),this._cachedLineHeight=he.clientHeight,he.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const he=this._textareaElement,w=he.style.marginBottom||"",n=this._platform.FIREFOX,o=n&&this._hasFocus,h=n?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";o&&(he.style.marginBottom=`${he.clientHeight}px`),he.classList.add(h);const d=he.scrollHeight-4;return he.classList.remove(h),o&&(he.style.marginBottom=w),d}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const he=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=he}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(he=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const w=this._elementRef.nativeElement,n=w.value;if(!he&&this._minRows===this._previousMinRows&&n===this._previousValue)return;const o=this._measureScrollHeight(),h=Math.max(o,this._cachedPlaceholderHeight||0);w.style.height=`${h}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(w)):setTimeout(()=>this._scrollToCaretPosition(w))}),this._previousValue=n,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(he){const{selectionStart:w,selectionEnd:n}=he;!this._destroyed.isStopped&&this._hasFocus&&he.setSelectionRange(w,n)}}M.\u0275fac=function(he){return new(he||M)(_.Y36(_.SBq),_.Y36(t.t4),_.Y36(_.R0b),_.Y36(p.K0,8))},M.\u0275dir=_.lG2({type:M,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(he,w){1&he&&_.NdJ("input",function(){return w._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]});class z{}z.\u0275fac=function(he){return new(he||z)},z.\u0275mod=_.oAB({type:z}),z.\u0275inj=_.cJS({});var I=m(2508),W=m(207),Z=m(5074);const ie=new _.OlP("MAT_INPUT_VALUE_ACCESSOR"),ae=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let _e=0;const ce=(0,W.FD)(class{constructor($,he,w,n){this._defaultErrorStateMatcher=$,this._parentForm=he,this._parentFormGroup=w,this.ngControl=n,this.stateChanges=new s.x}});class ye extends ce{constructor(he,w,n,o,h,d,y,L,B,v){super(d,o,h,n),this._elementRef=he,this._platform=w,this._autofillMonitor=L,this._formField=v,this._uid="mat-input-"+_e++,this.focused=!1,this.stateChanges=new s.x,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(N=>(0,t.qK)().has(N)),this._iOSKeyupListener=N=>{const F=N.target;!F.value&&0===F.selectionStart&&0===F.selectionEnd&&(F.setSelectionRange(1,1),F.setSelectionRange(0,0))};const a=this._elementRef.nativeElement,C=a.nodeName.toLowerCase();this._inputValueAccessor=y||a,this._previousNativeValue=this.value,this.id=this.id,w.IOS&&B.runOutsideAngular(()=>{he.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===C,this._isTextarea="textarea"===C,this._isInFormField=!!v,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(he){this._disabled=(0,e.Ig)(he),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(he){this._id=he||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(I.kI.required)??!1}set required(he){this._required=(0,e.Ig)(he)}get type(){return this._type}set type(he){this._type=he||"text",this._validateType(),!this._isTextarea&&(0,t.qK)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(he){he!==this.value&&(this._inputValueAccessor.value=he,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(he){this._readonly=(0,e.Ig)(he)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(he=>{this.autofilled=he.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(he){this._elementRef.nativeElement.focus(he)}_focusChanged(he){he!==this.focused&&(this.focused=he,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){const he=this._formField,w=he&&"legacy"===he.appearance&&!he._hasLabel?.()?null:this.placeholder;if(w!==this._previousPlaceholder){const n=this._elementRef.nativeElement;this._previousPlaceholder=w,w?n.setAttribute("placeholder",w):n.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const he=this._elementRef.nativeElement.value;this._previousNativeValue!==he&&(this._previousNativeValue=he,this.stateChanges.next())}_validateType(){ae.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let he=this._elementRef.nativeElement.validity;return he&&he.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const he=this._elementRef.nativeElement,w=he.options[0];return this.focused||he.multiple||!this.empty||!!(he.selectedIndex>-1&&w&&w.label)}return this.focused||!this.empty}setDescribedByIds(he){he.length?this._elementRef.nativeElement.setAttribute("aria-describedby",he.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const he=this._elementRef.nativeElement;return this._isNativeSelect&&(he.multiple||he.size>1)}}ye.\u0275fac=function(he){return new(he||ye)(_.Y36(_.SBq),_.Y36(t.t4),_.Y36(I.a5,10),_.Y36(I.F,8),_.Y36(I.sg,8),_.Y36(W.rD),_.Y36(ie,10),_.Y36(A),_.Y36(_.R0b),_.Y36(Z.G_,8))},ye.\u0275dir=_.lG2({type:ye,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:12,hostBindings:function(he,w){1&he&&_.NdJ("focus",function(){return w._focusChanged(!0)})("blur",function(){return w._focusChanged(!1)})("input",function(){return w._onInput()}),2&he&&(_.Ikx("disabled",w.disabled)("required",w.required),_.uIk("id",w.id)("data-placeholder",w.placeholder)("name",w.name||null)("readonly",w.readonly&&!w._isNativeSelect||null)("aria-invalid",w.empty&&w.required?null:w.errorState)("aria-required",w.required),_.ekj("mat-input-server",w._isServer)("mat-native-select-inline",w._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[_._Bn([{provide:Z.Eo,useExisting:ye}]),_.qOj,_.TTD]});class ue{}ue.\u0275fac=function(he){return new(he||ue)},ue.\u0275mod=_.oAB({type:ue}),ue.\u0275inj=_.cJS({providers:[W.rD],imports:[z,Z.lN,W.BQ,z,Z.lN]})},6517:(Ue,q,m)=>{"use strict";m.d(q,{Tg:()=>h,i$:()=>he,ie:()=>C});var e=m(4666),t=m(2560),_=m(207),E=m(8971),s=m(253),D=m(8951),u=m(4874),k=m(4218),p=m(1755),S=m(8456),A=m(2508),P=m(1528);const M=["*"],z='.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}button.mat-list-item,button.mat-list-option{padding:0;width:100%;background:none;color:inherit;border:none;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] button.mat-list-item,[dir=rtl] button.mat-list-option{text-align:right}button.mat-list-item::-moz-focus-inner,button.mat-list-option::-moz-focus-inner{border:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:hover{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}',I=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],Z=["text"];function Q(N,F){if(1&N&&t._UZ(0,"mat-pseudo-checkbox",5),2&N){const X=t.oxw();t.Q6J("state",X.selected?"checked":"unchecked")("disabled",X.disabled)}}const ie=["*",[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]]],_e=(0,_.Id)((0,_.Kr)(class{})),ce=(0,_.Kr)(class{}),ye=new t.OlP("MatList"),ue=new t.OlP("MatNavList");class $ extends _e{constructor(){super(...arguments),this._stateChanges=new s.x}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}$.\u0275fac=function(){let N;return function(X){return(N||(N=t.n5z($)))(X||$)}}(),$.\u0275cmp=t.Xpm({type:$,selectors:[["mat-nav-list"]],hostAttrs:["role","navigation",1,"mat-nav-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matNavList"],features:[t._Bn([{provide:ue,useExisting:$}]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,X){1&F&&(t.F$t(),t.Hsn(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}button.mat-list-item,button.mat-list-option{padding:0;width:100%;background:none;color:inherit;border:none;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] button.mat-list-item,[dir=rtl] button.mat-list-option{text-align:right}button.mat-list-item::-moz-focus-inner,button.mat-list-option::-moz-focus-inner{border:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:hover{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}'],encapsulation:2,changeDetection:0});class he extends _e{constructor(F){super(),this._elementRef=F,this._stateChanges=new s.x,"action-list"===this._getListType()&&(F.nativeElement.classList.add("mat-action-list"),F.nativeElement.setAttribute("role","group"))}_getListType(){const F=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===F?"list":"mat-action-list"===F?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}he.\u0275fac=function(F){return new(F||he)(t.Y36(t.SBq))},he.\u0275cmp=t.Xpm({type:he,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[t._Bn([{provide:ye,useExisting:he}]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,X){1&F&&(t.F$t(),t.Hsn(0))},styles:[z],encapsulation:2,changeDetection:0});class w{}w.\u0275fac=function(F){return new(F||w)},w.\u0275dir=t.lG2({type:w,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]});class n{}n.\u0275fac=function(F){return new(F||n)},n.\u0275dir=t.lG2({type:n,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]});class o{}o.\u0275fac=function(F){return new(F||o)},o.\u0275dir=t.lG2({type:o,selectors:[["","mat-subheader",""],["","matSubheader",""]],hostAttrs:[1,"mat-subheader"]});class h extends ce{constructor(F,X,Fe,ke){super(),this._element=F,this._isInteractiveList=!1,this._destroyed=new s.x,this._disabled=!1,this._isInteractiveList=!!(Fe||ke&&"action-list"===ke._getListType()),this._list=Fe||ke;const Ke=this._getHostElement();"button"===Ke.nodeName.toLowerCase()&&!Ke.hasAttribute("type")&&Ke.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe((0,D.R)(this._destroyed)).subscribe(()=>{X.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(F){this._disabled=(0,E.Ig)(F)}ngAfterContentInit(){(0,_.E0)(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}h.\u0275fac=function(F){return new(F||h)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(ue,8),t.Y36(ye,8))},h.\u0275cmp=t.Xpm({type:h,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(F,X,Fe){if(1&F&&(t.Suo(Fe,w,5),t.Suo(Fe,n,5),t.Suo(Fe,_.X2,5)),2&F){let ke;t.iGM(ke=t.CRH())&&(X._avatar=ke.first),t.iGM(ke=t.CRH())&&(X._icon=ke.first),t.iGM(ke=t.CRH())&&(X._lines=ke)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:4,hostBindings:function(F,X){2&F&&t.ekj("mat-list-item-disabled",X.disabled)("mat-list-item-with-avatar",X._avatar||X._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[t.qOj],ngContentSelectors:["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(F,X){1&F&&(t.F$t(I),t.TgZ(0,"span",0),t._UZ(1,"span",1),t.Hsn(2),t.TgZ(3,"span",2),t.Hsn(4,1),t.qZA(),t.Hsn(5,2),t.qZA()),2&F&&(t.xp6(1),t.Q6J("matRippleTrigger",X._getHostElement())("matRippleDisabled",X._isRippleDisabled()))},dependencies:[_.wG],encapsulation:2,changeDetection:0});const d=(0,_.Kr)(class{}),y=(0,_.Kr)(class{}),L={provide:A.JU,useExisting:(0,t.Gpc)(()=>a),multi:!0};class B{constructor(F,X){this.source=F,this.options=X}}class v extends y{constructor(F,X,Fe){super(),this._element=F,this._changeDetector=X,this.selectionList=Fe,this._selected=!1,this._disabled=!1,this._hasFocus=!1,this.selectedChange=new t.vpe,this.checkboxPosition="after",this._inputsInitialized=!1}get color(){return this._color||this.selectionList.color}set color(F){this._color=F}get value(){return this._value}set value(F){this.selected&&!this.selectionList.compareWith(F,this.value)&&this._inputsInitialized&&(this.selected=!1),this._value=F}get disabled(){return this._disabled||this.selectionList&&this.selectionList.disabled}set disabled(F){const X=(0,E.Ig)(F);X!==this._disabled&&(this._disabled=X,this._changeDetector.markForCheck())}get selected(){return this.selectionList.selectedOptions.isSelected(this)}set selected(F){const X=(0,E.Ig)(F);X!==this._selected&&(this._setSelected(X),(X||this.selectionList.multiple)&&this.selectionList._reportValueChange())}ngOnInit(){const F=this.selectionList;F._value&&F._value.some(Fe=>F.compareWith(this._value,Fe))&&this._setSelected(!0);const X=this._selected;Promise.resolve().then(()=>{(this._selected||X)&&(this.selected=!0,this._changeDetector.markForCheck())}),this._inputsInitialized=!0}ngAfterContentInit(){(0,_.E0)(this._lines,this._element)}ngOnDestroy(){this.selected&&Promise.resolve().then(()=>{this.selected=!1});const F=this._hasFocus,X=this.selectionList._removeOptionFromList(this);F&&X&&X.focus()}toggle(){this.selected=!this.selected}focus(){this._element.nativeElement.focus()}getLabel(){return this._text&&this._text.nativeElement.textContent||""}_isRippleDisabled(){return this.disabled||this.disableRipple||this.selectionList.disableRipple}_handleClick(){!this.disabled&&(this.selectionList.multiple||!this.selected)&&(this.toggle(),this.selectionList._emitChangeEvent([this]))}_handleFocus(){this.selectionList._setFocusedOption(this),this._hasFocus=!0}_handleBlur(){this.selectionList._onTouched(),this._hasFocus=!1}_getHostElement(){return this._element.nativeElement}_setSelected(F){return F!==this._selected&&(this._selected=F,F?this.selectionList.selectedOptions.select(this):this.selectionList.selectedOptions.deselect(this),this.selectedChange.emit(F),this._changeDetector.markForCheck(),!0)}_markForCheck(){this._changeDetector.markForCheck()}}v.\u0275fac=function(F){return new(F||v)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36((0,t.Gpc)(()=>a)))},v.\u0275cmp=t.Xpm({type:v,selectors:[["mat-list-option"]],contentQueries:function(F,X,Fe){if(1&F&&(t.Suo(Fe,w,5),t.Suo(Fe,n,5),t.Suo(Fe,_.X2,5)),2&F){let ke;t.iGM(ke=t.CRH())&&(X._avatar=ke.first),t.iGM(ke=t.CRH())&&(X._icon=ke.first),t.iGM(ke=t.CRH())&&(X._lines=ke)}},viewQuery:function(F,X){if(1&F&&t.Gf(Z,5),2&F){let Fe;t.iGM(Fe=t.CRH())&&(X._text=Fe.first)}},hostAttrs:["role","option",1,"mat-list-item","mat-list-option","mat-focus-indicator"],hostVars:15,hostBindings:function(F,X){1&F&&t.NdJ("focus",function(){return X._handleFocus()})("blur",function(){return X._handleBlur()})("click",function(){return X._handleClick()}),2&F&&(t.uIk("aria-selected",X.selected)("aria-disabled",X.disabled)("tabindex",-1),t.ekj("mat-list-item-disabled",X.disabled)("mat-list-item-with-avatar",X._avatar||X._icon)("mat-primary","primary"===X.color)("mat-accent","primary"!==X.color&&"warn"!==X.color)("mat-warn","warn"===X.color)("mat-list-single-selected-option",X.selected&&!X.selectionList.multiple))},inputs:{disableRipple:"disableRipple",checkboxPosition:"checkboxPosition",color:"color",value:"value",disabled:"disabled",selected:"selected"},outputs:{selectedChange:"selectedChange"},exportAs:["matListOption"],features:[t.qOj],ngContentSelectors:["*","[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]"],decls:7,vars:5,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[3,"state","disabled",4,"ngIf"],[1,"mat-list-text"],["text",""],[3,"state","disabled"]],template:function(F,X){1&F&&(t.F$t(ie),t.TgZ(0,"div",0),t._UZ(1,"div",1),t.YNc(2,Q,1,2,"mat-pseudo-checkbox",2),t.TgZ(3,"div",3,4),t.Hsn(5),t.qZA(),t.Hsn(6,1),t.qZA()),2&F&&(t.ekj("mat-list-item-content-reverse","after"==X.checkboxPosition),t.xp6(1),t.Q6J("matRippleTrigger",X._getHostElement())("matRippleDisabled",X._isRippleDisabled()),t.xp6(1),t.Q6J("ngIf",X.selectionList.multiple))},dependencies:[_.wG,_.nP,e.O5],encapsulation:2,changeDetection:0});class a extends d{constructor(F,X,Fe){super(),this._element=F,this._changeDetector=X,this._focusMonitor=Fe,this._multiple=!0,this._contentInitialized=!1,this.selectionChange=new t.vpe,this.color="accent",this.compareWith=(ke,Ke)=>ke===Ke,this._disabled=!1,this.selectedOptions=new p.Ov(this._multiple),this._tabIndex=-1,this._onChange=ke=>{},this._destroyed=new s.x,this._onTouched=()=>{}}get disabled(){return this._disabled}set disabled(F){this._disabled=(0,E.Ig)(F),this._markOptionsForCheck()}get multiple(){return this._multiple}set multiple(F){const X=(0,E.Ig)(F);X!==this._multiple&&(this._contentInitialized,this._multiple=X,this.selectedOptions=new p.Ov(this._multiple,this.selectedOptions.selected))}ngAfterContentInit(){this._contentInitialized=!0,this._keyManager=new k.Em(this.options).withWrap().withTypeAhead().withHomeAndEnd().skipPredicate(()=>!1).withAllowedModifierKeys(["shiftKey"]),this._value&&this._setOptionsFromValues(this._value),this._keyManager.tabOut.pipe((0,D.R)(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.options.changes.pipe((0,u.O)(null),(0,D.R)(this._destroyed)).subscribe(()=>{this._updateTabIndex()}),this.selectedOptions.changed.pipe((0,D.R)(this._destroyed)).subscribe(F=>{if(F.added)for(let X of F.added)X.selected=!0;if(F.removed)for(let X of F.removed)X.selected=!1}),this._focusMonitor.monitor(this._element).pipe((0,D.R)(this._destroyed)).subscribe(F=>{if("keyboard"===F||"program"===F){let X=0;for(let Fe=0;Fe-1&&this._keyManager.activeItemIndex===X&&(X>0?this._keyManager.updateActiveItem(X-1):0===X&&this.options.length>1&&this._keyManager.updateActiveItem(Math.min(X+1,this.options.length-1))),this._keyManager.activeItem}_keydown(F){const X=F.keyCode,Fe=this._keyManager,ke=Fe.activeItemIndex,Ke=(0,S.Vb)(F);switch(X){case S.L_:case S.K5:!Ke&&!Fe.isTyping()&&(this._toggleFocusedOption(),F.preventDefault());break;default:if(X===S.A&&this.multiple&&(0,S.Vb)(F,"ctrlKey")&&!Fe.isTyping()){const je=this.options.some(Ve=>!Ve.disabled&&!Ve.selected);this._setAllOptionsSelected(je,!0,!0),F.preventDefault()}else Fe.onKeydown(F)}this.multiple&&(X===S.LH||X===S.JH)&&F.shiftKey&&Fe.activeItemIndex!==ke&&this._toggleFocusedOption()}_reportValueChange(){if(this.options&&!this._isDestroyed){const F=this._getSelectedOptionValues();this._onChange(F),this._value=F}}_emitChangeEvent(F){this.selectionChange.emit(new B(this,F))}writeValue(F){this._value=F,this.options&&this._setOptionsFromValues(F||[])}setDisabledState(F){this.disabled=F}registerOnChange(F){this._onChange=F}registerOnTouched(F){this._onTouched=F}_setOptionsFromValues(F){this.options.forEach(X=>X._setSelected(!1)),F.forEach(X=>{const Fe=this.options.find(ke=>!ke.selected&&this.compareWith(ke.value,X));Fe&&Fe._setSelected(!0)})}_getSelectedOptionValues(){return this.options.filter(F=>F.selected).map(F=>F.value)}_toggleFocusedOption(){let F=this._keyManager.activeItemIndex;if(null!=F&&this._isValidIndex(F)){let X=this.options.toArray()[F];X&&!X.disabled&&(this._multiple||!X.selected)&&(X.toggle(),this._emitChangeEvent([X]))}}_setAllOptionsSelected(F,X,Fe){const ke=[];return this.options.forEach(Ke=>{(!X||!Ke.disabled)&&Ke._setSelected(F)&&ke.push(Ke)}),ke.length&&(this._reportValueChange(),Fe&&this._emitChangeEvent(ke)),ke}_isValidIndex(F){return F>=0&&FF._markForCheck())}_allowFocusEscape(){this._tabIndex=-1,setTimeout(()=>{this._tabIndex=0,this._changeDetector.markForCheck()})}_updateTabIndex(){this._tabIndex=0===this.options.length?-1:0}}a.\u0275fac=function(F){return new(F||a)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(k.tE))},a.\u0275cmp=t.Xpm({type:a,selectors:[["mat-selection-list"]],contentQueries:function(F,X,Fe){if(1&F&&t.Suo(Fe,v,5),2&F){let ke;t.iGM(ke=t.CRH())&&(X.options=ke)}},hostAttrs:["role","listbox",1,"mat-selection-list","mat-list-base"],hostVars:3,hostBindings:function(F,X){1&F&&t.NdJ("keydown",function(ke){return X._keydown(ke)}),2&F&&t.uIk("aria-multiselectable",X.multiple)("aria-disabled",X.disabled.toString())("tabindex",X._tabIndex)},inputs:{disableRipple:"disableRipple",color:"color",compareWith:"compareWith",disabled:"disabled",multiple:"multiple"},outputs:{selectionChange:"selectionChange"},exportAs:["matSelectionList"],features:[t._Bn([L]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,X){1&F&&(t.F$t(),t.Hsn(0))},styles:[z],encapsulation:2,changeDetection:0});class C{}C.\u0275fac=function(F){return new(F||C)},C.\u0275mod=t.oAB({type:C}),C.\u0275inj=t.cJS({imports:[_.uc,_.si,_.BQ,_.us,e.ez,_.uc,_.BQ,_.us,P.t]})},8589:(Ue,q,m)=>{"use strict";m.d(q,{OP:()=>F,Tx:()=>Le,VK:()=>je,p6:()=>ht});var e=m(4218),t=m(8971),_=m(8456),E=m(2560),s=m(253),D=m(7714),u=m(6646),k=m(745),p=m(3888),S=m(4874),A=m(2673),P=m(9295),M=m(8951),z=m(116),I=m(6234),W=m(4851),Z=m(7520),Q=m(4666),ie=m(207),ae=m(2867),_e=m(5895),ce=m(9107),ye=m(1494);function $(Ae,te){1&Ae&&(E.O4$(),E.TgZ(0,"svg",2),E._UZ(1,"polygon",3),E.qZA())}const he=["*"];function w(Ae,te){if(1&Ae){const pe=E.EpF();E.TgZ(0,"div",0),E.NdJ("keydown",function(H){E.CHM(pe);const j=E.oxw();return E.KtG(j._handleKeydown(H))})("click",function(){E.CHM(pe);const H=E.oxw();return E.KtG(H.closed.emit("click"))})("@transformMenu.start",function(H){E.CHM(pe);const j=E.oxw();return E.KtG(j._onAnimationStart(H))})("@transformMenu.done",function(H){E.CHM(pe);const j=E.oxw();return E.KtG(j._onAnimationDone(H))}),E.TgZ(1,"div",1),E.Hsn(2),E.qZA()()}if(2&Ae){const pe=E.oxw();E.Q6J("id",pe.panelId)("ngClass",pe._classList)("@transformMenu",pe._panelAnimationState),E.uIk("aria-label",pe.ariaLabel||null)("aria-labelledby",pe.ariaLabelledby||null)("aria-describedby",pe.ariaDescribedby||null)}}const n={transformMenu:(0,W.X$)("transformMenu",[(0,W.SB)("void",(0,W.oB)({opacity:0,transform:"scale(0.8)"})),(0,W.eR)("void => enter",(0,W.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,W.oB)({opacity:1,transform:"scale(1)"}))),(0,W.eR)("* => void",(0,W.jt)("100ms 25ms linear",(0,W.oB)({opacity:0})))]),fadeInItems:(0,W.X$)("fadeInItems",[(0,W.SB)("showing",(0,W.oB)({opacity:1})),(0,W.eR)("void => *",[(0,W.oB)({opacity:0}),(0,W.jt)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},d=(n.fadeInItems,n.transformMenu,new E.OlP("MatMenuContent"));class y{constructor(te,pe,ee,H,j,Oe,Re){this._template=te,this._componentFactoryResolver=pe,this._appRef=ee,this._injector=H,this._viewContainerRef=j,this._document=Oe,this._changeDetectorRef=Re,this._attached=new s.x}attach(te={}){this._portal||(this._portal=new Z.UE(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new Z.u0(this._document.createElement("div"),this._componentFactoryResolver,this._appRef,this._injector));const pe=this._template.elementRef.nativeElement;pe.parentNode.insertBefore(this._outlet.outletElement,pe),this._changeDetectorRef?.markForCheck(),this._portal.attach(this._outlet,te),this._attached.next()}detach(){this._portal.isAttached&&this._portal.detach()}ngOnDestroy(){this._outlet&&this._outlet.dispose()}}y.\u0275fac=function(te){return new(te||y)(E.Y36(E.Rgc),E.Y36(E._Vd),E.Y36(E.z2F),E.Y36(E.zs3),E.Y36(E.s_b),E.Y36(Q.K0),E.Y36(E.sBO))},y.\u0275dir=E.lG2({type:y});class L extends y{}L.\u0275fac=function(){let Ae;return function(pe){return(Ae||(Ae=E.n5z(L)))(pe||L)}}(),L.\u0275dir=E.lG2({type:L,selectors:[["ng-template","matMenuContent",""]],features:[E._Bn([{provide:d,useExisting:L}]),E.qOj]});const C=new E.OlP("MAT_MENU_PANEL"),N=(0,ie.Kr)((0,ie.Id)(class{}));class F extends N{constructor(te,pe,ee,H,j){super(),this._elementRef=te,this._document=pe,this._focusMonitor=ee,this._parentMenu=H,this._changeDetectorRef=j,this.role="menuitem",this._hovered=new s.x,this._focused=new s.x,this._highlighted=!1,this._triggersSubmenu=!1,H?.addItem?.(this)}focus(te,pe){this._focusMonitor&&te?this._focusMonitor.focusVia(this._getHostElement(),te,pe):this._getHostElement().focus(pe),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(te){this.disabled&&(te.preventDefault(),te.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const te=this._elementRef.nativeElement.cloneNode(!0),pe=te.querySelectorAll("mat-icon, .material-icons");for(let ee=0;ee{this._classList[ee]=!1}),this._previousPanelClass=te,te&&te.length&&(te.split(" ").forEach(ee=>{this._classList[ee]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(te){this.panelClass=te}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new e.Em(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe((0,S.O)(this._directDescendantItems),(0,A.w)(te=>(0,u.T)(...te.map(pe=>pe._focused)))).subscribe(te=>this._keyManager.updateActiveItem(te)),this._directDescendantItems.changes.subscribe(te=>{const pe=this._keyManager;if("enter"===this._panelAnimationState&&pe.activeItem?._hasFocus()){const ee=te.toArray(),H=Math.max(0,Math.min(ee.length-1,pe.activeItemIndex||0));ee[H]&&!ee[H].disabled?pe.setActiveItem(H):pe.setNextItemActive()}})}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe((0,S.O)(this._directDescendantItems),(0,A.w)(pe=>(0,u.T)(...pe.map(ee=>ee._hovered))))}addItem(te){}removeItem(te){}_handleKeydown(te){const pe=te.keyCode,ee=this._keyManager;switch(pe){case _.hY:(0,_.Vb)(te)||(te.preventDefault(),this.closed.emit("keydown"));break;case _.oh:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case _.SV:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(pe===_.LH||pe===_.JH)&&ee.setFocusOrigin("keyboard"),void ee.onKeydown(te)}te.stopPropagation()}focusFirstItem(te="program"){this._ngZone.onStable.pipe((0,P.q)(1)).subscribe(()=>{let pe=null;if(this._directDescendantItems.length&&(pe=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!pe||!pe.contains(document.activeElement)){const ee=this._keyManager;ee.setFocusOrigin(te).setFirstItemActive(),!ee.activeItem&&pe&&pe.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(te){const pe=Math.min(this._baseElevation+te,24),ee=`${this._elevationPrefix}${pe}`,H=Object.keys(this._classList).find(j=>j.startsWith(this._elevationPrefix));(!H||H===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[ee]=!0,this._previousElevation=ee)}setPositionClasses(te=this.xPosition,pe=this.yPosition){const ee=this._classList;ee["mat-menu-before"]="before"===te,ee["mat-menu-after"]="after"===te,ee["mat-menu-above"]="above"===pe,ee["mat-menu-below"]="below"===pe,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(te){this._animationDone.next(te),this._isAnimating=!1}_onAnimationStart(te){this._isAnimating=!0,"enter"===te.toState&&0===this._keyManager.activeItemIndex&&(te.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe((0,S.O)(this._allItems)).subscribe(te=>{this._directDescendantItems.reset(te.filter(pe=>pe._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}Ke.\u0275fac=function(te){return new(te||Ke)(E.Y36(E.SBq),E.Y36(E.R0b),E.Y36(X),E.Y36(E.sBO))},Ke.\u0275dir=E.lG2({type:Ke,contentQueries:function(te,pe,ee){if(1&te&&(E.Suo(ee,d,5),E.Suo(ee,F,5),E.Suo(ee,F,4)),2&te){let H;E.iGM(H=E.CRH())&&(pe.lazyContent=H.first),E.iGM(H=E.CRH())&&(pe._allItems=H),E.iGM(H=E.CRH())&&(pe.items=H)}},viewQuery:function(te,pe){if(1&te&&E.Gf(E.Rgc,5),2&te){let ee;E.iGM(ee=E.CRH())&&(pe.templateRef=ee.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}});class je extends Ke{constructor(te,pe,ee,H){super(te,pe,ee,H),this._elevationPrefix="mat-elevation-z",this._baseElevation=4}}je.\u0275fac=function(te){return new(te||je)(E.Y36(E.SBq),E.Y36(E.R0b),E.Y36(X),E.Y36(E.sBO))},je.\u0275cmp=E.Xpm({type:je,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(te,pe){2&te&&E.uIk("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[E._Bn([{provide:C,useExisting:je}]),E.qOj],ngContentSelectors:he,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(te,pe){1&te&&(E.F$t(),E.YNc(0,w,3,6,"ng-template"))},dependencies:[Q.mk],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px;position:relative}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[n.transformMenu,n.fadeInItems]},changeDetection:0});const Ve=new E.OlP("mat-menu-scroll-strategy");const Ze={provide:Ve,deps:[_e.aV],useFactory:function xe(Ae){return()=>Ae.scrollStrategies.reposition()}},ve=(0,ce.i$)({passive:!0});class et{constructor(te,pe,ee,H,j,Oe,Re,le,_t){this._overlay=te,this._element=pe,this._viewContainerRef=ee,this._menuItemInstance=Oe,this._dir=Re,this._focusMonitor=le,this._ngZone=_t,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=D.w0.EMPTY,this._hoverSubscription=D.w0.EMPTY,this._menuCloseSubscription=D.w0.EMPTY,this._handleTouchStart=it=>{(0,e.yG)(it)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new E.vpe,this.onMenuOpen=this.menuOpened,this.menuClosed=new E.vpe,this.onMenuClose=this.menuClosed,this._scrollStrategy=H,this._parentMaterialMenu=j instanceof Ke?j:void 0,pe.nativeElement.addEventListener("touchstart",this._handleTouchStart,ve),Oe&&(Oe._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(te){this.menu=te}get menu(){return this._menu}set menu(te){te!==this._menu&&(this._menu=te,this._menuCloseSubscription.unsubscribe(),te&&(this._parentMaterialMenu,this._menuCloseSubscription=te.close.subscribe(pe=>{this._destroyMenu(pe),("click"===pe||"tab"===pe)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(pe)})))}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,ve),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const te=this.menu;if(this._menuOpen||!te)return;const pe=this._createOverlay(te),ee=pe.getConfig(),H=ee.positionStrategy;this._setPosition(te,H),ee.hasBackdrop=null==te.hasBackdrop?!this.triggersSubmenu():te.hasBackdrop,pe.attach(this._getPortal(te)),te.lazyContent&&te.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(te),te instanceof Ke&&(te._startAnimation(),te._directDescendantItems.changes.pipe((0,M.R)(te.close)).subscribe(()=>{H.withLockedPosition(!1).reapplyLastPosition(),H.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(te,pe){this._focusMonitor&&te?this._focusMonitor.focusVia(this._element,te,pe):this._element.nativeElement.focus(pe)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(te){if(!this._overlayRef||!this.menuOpen)return;const pe=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===te||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,pe instanceof Ke?(pe._resetAnimation(),pe.lazyContent?pe._animationDone.pipe((0,z.h)(ee=>"void"===ee.toState),(0,P.q)(1),(0,M.R)(pe.lazyContent._attached)).subscribe({next:()=>pe.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),pe?.lazyContent?.detach())}_initMenu(te){te.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,te.direction=this.dir,this._setMenuElevation(te),te.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(te){if(te.setElevation){let pe=0,ee=te.parentMenu;for(;ee;)pe++,ee=ee.parentMenu;te.setElevation(pe)}}_setIsMenuOpen(te){this._menuOpen=te,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(te)}_createOverlay(te){if(!this._overlayRef){const pe=this._getOverlayConfig(te);this._subscribeToPositions(te,pe.positionStrategy),this._overlayRef=this._overlay.create(pe),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(te){return new _e.X_({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:te.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:te.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(te,pe){te.setPositionClasses&&pe.positionChanges.subscribe(ee=>{const H="start"===ee.connectionPair.overlayX?"after":"before",j="top"===ee.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>te.setPositionClasses(H,j)):te.setPositionClasses(H,j)})}_setPosition(te,pe){let[ee,H]="before"===te.xPosition?["end","start"]:["start","end"],[j,Oe]="above"===te.yPosition?["bottom","top"]:["top","bottom"],[Re,le]=[j,Oe],[_t,it]=[ee,H],Ct=0;if(this.triggersSubmenu()){if(it=ee="before"===te.xPosition?"start":"end",H=_t="end"===ee?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const un=this._parentMaterialMenu.items.first;this._parentInnerPadding=un?un._getHostElement().offsetTop:0}Ct="bottom"===j?this._parentInnerPadding:-this._parentInnerPadding}}else te.overlapTrigger||(Re="top"===j?"bottom":"top",le="top"===Oe?"bottom":"top");pe.withPositions([{originX:ee,originY:Re,overlayX:_t,overlayY:j,offsetY:Ct},{originX:H,originY:Re,overlayX:it,overlayY:j,offsetY:Ct},{originX:ee,originY:le,overlayX:_t,overlayY:Oe,offsetY:-Ct},{originX:H,originY:le,overlayX:it,overlayY:Oe,offsetY:-Ct}])}_menuClosingActions(){const te=this._overlayRef.backdropClick(),pe=this._overlayRef.detachments(),ee=this._parentMaterialMenu?this._parentMaterialMenu.closed:(0,k.of)(),H=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe((0,z.h)(j=>j!==this._menuItemInstance),(0,z.h)(()=>this._menuOpen)):(0,k.of)();return(0,u.T)(te,ee,H,pe)}_handleMousedown(te){(0,e.X6)(te)||(this._openedBy=0===te.button?"mouse":void 0,this.triggersSubmenu()&&te.preventDefault())}_handleKeydown(te){const pe=te.keyCode;(pe===_.K5||pe===_.L_)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(pe===_.SV&&"ltr"===this.dir||pe===_.oh&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(te){this.triggersSubmenu()?(te.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe((0,z.h)(te=>te===this._menuItemInstance&&!te.disabled),(0,I.g)(0,p.E)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Ke&&this.menu._isAnimating?this.menu._animationDone.pipe((0,P.q)(1),(0,I.g)(0,p.E),(0,M.R)(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(te){return(!this._portal||this._portal.templateRef!==te.templateRef)&&(this._portal=new Z.UE(te.templateRef,this._viewContainerRef)),this._portal}}et.\u0275fac=function(te){return new(te||et)(E.Y36(_e.aV),E.Y36(E.SBq),E.Y36(E.s_b),E.Y36(Ve),E.Y36(C,8),E.Y36(F,10),E.Y36(ae.Is,8),E.Y36(e.tE),E.Y36(E.R0b))},et.\u0275dir=E.lG2({type:et,hostVars:3,hostBindings:function(te,pe){1&te&&E.NdJ("click",function(H){return pe._handleClick(H)})("mousedown",function(H){return pe._handleMousedown(H)})("keydown",function(H){return pe._handleKeydown(H)}),2&te&&E.uIk("aria-haspopup",pe.menu?"menu":null)("aria-expanded",pe.menuOpen||null)("aria-controls",pe.menuOpen?pe.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}});class ht extends et{}ht.\u0275fac=function(){let Ae;return function(pe){return(Ae||(Ae=E.n5z(ht)))(pe||ht)}}(),ht.\u0275dir=E.lG2({type:ht,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-menu-trigger"],exportAs:["matMenuTrigger"],features:[E.qOj]});class Le{}Le.\u0275fac=function(te){return new(te||Le)},Le.\u0275mod=E.oAB({type:Le}),Le.\u0275inj=E.cJS({providers:[Ze],imports:[Q.ez,ie.BQ,ie.si,_e.U8,ye.ZD,ie.BQ]})},6060:(Ue,q,m)=>{"use strict";m.d(q,{NW:()=>ue,TU:()=>$,ye:()=>W});var e=m(4666),t=m(2560),_=m(207),E=m(4522),s=m(7371),D=m(6896),u=m(8971),k=m(253),p=m(5074);function S(he,w){if(1&he&&(t.TgZ(0,"mat-option",19),t._uU(1),t.qZA()),2&he){const n=w.$implicit;t.Q6J("value",n),t.xp6(1),t.hij(" ",n," ")}}function A(he,w){if(1&he){const n=t.EpF();t.TgZ(0,"mat-form-field",16)(1,"mat-select",17),t.NdJ("selectionChange",function(h){t.CHM(n);const d=t.oxw(2);return t.KtG(d._changePageSize(h.value))}),t.YNc(2,S,2,2,"mat-option",18),t.qZA()()}if(2&he){const n=t.oxw(2);t.Q6J("appearance",n._formFieldAppearance)("color",n.color),t.xp6(1),t.Q6J("value",n.pageSize)("disabled",n.disabled)("panelClass",n.selectConfig.panelClass||"")("disableOptionCentering",n.selectConfig.disableOptionCentering)("aria-label",n._intl.itemsPerPageLabel),t.xp6(1),t.Q6J("ngForOf",n._displayedPageSizeOptions)}}function P(he,w){if(1&he&&(t.TgZ(0,"div",20),t._uU(1),t.qZA()),2&he){const n=t.oxw(2);t.xp6(1),t.Oqu(n.pageSize)}}function M(he,w){if(1&he&&(t.TgZ(0,"div",12)(1,"div",13),t._uU(2),t.qZA(),t.YNc(3,A,3,8,"mat-form-field",14),t.YNc(4,P,2,1,"div",15),t.qZA()),2&he){const n=t.oxw();t.xp6(2),t.hij(" ",n._intl.itemsPerPageLabel," "),t.xp6(1),t.Q6J("ngIf",n._displayedPageSizeOptions.length>1),t.xp6(1),t.Q6J("ngIf",n._displayedPageSizeOptions.length<=1)}}function z(he,w){if(1&he){const n=t.EpF();t.TgZ(0,"button",21),t.NdJ("click",function(){t.CHM(n);const h=t.oxw();return t.KtG(h.firstPage())}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",22),t.qZA()()}if(2&he){const n=t.oxw();t.Q6J("matTooltip",n._intl.firstPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("matTooltipPosition","above")("disabled",n._previousButtonsDisabled()),t.uIk("aria-label",n._intl.firstPageLabel)}}function I(he,w){if(1&he){const n=t.EpF();t.O4$(),t.kcU(),t.TgZ(0,"button",23),t.NdJ("click",function(){t.CHM(n);const h=t.oxw();return t.KtG(h.lastPage())}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",24),t.qZA()()}if(2&he){const n=t.oxw();t.Q6J("matTooltip",n._intl.lastPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("matTooltipPosition","above")("disabled",n._nextButtonsDisabled()),t.uIk("aria-label",n._intl.lastPageLabel)}}class W{constructor(){this.changes=new k.x,this.itemsPerPageLabel="Items per page:",this.nextPageLabel="Next page",this.previousPageLabel="Previous page",this.firstPageLabel="First page",this.lastPageLabel="Last page",this.getRangeLabel=(w,n,o)=>{if(0==o||0==n)return`0 of ${o}`;const h=w*n;return`${h+1} \u2013 ${h<(o=Math.max(o,0))?Math.min(h+n,o):h+n} of ${o}`}}}W.\u0275fac=function(w){return new(w||W)},W.\u0275prov=t.Yz7({token:W,factory:W.\u0275fac,providedIn:"root"});const Q={provide:W,deps:[[new t.FiY,new t.tp0,W]],useFactory:function Z(he){return he||new W}};const _e=new t.OlP("MAT_PAGINATOR_DEFAULT_OPTIONS"),ce=(0,_.Id)((0,_.dB)(class{}));class ye extends ce{constructor(w,n,o){if(super(),this._intl=w,this._changeDetectorRef=n,this._pageIndex=0,this._length=0,this._pageSizeOptions=[],this._hidePageSize=!1,this._showFirstLastButtons=!1,this.selectConfig={},this.page=new t.vpe,this._intlChanges=w.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),o){const{pageSize:h,pageSizeOptions:d,hidePageSize:y,showFirstLastButtons:L}=o;null!=h&&(this._pageSize=h),null!=d&&(this._pageSizeOptions=d),null!=y&&(this._hidePageSize=y),null!=L&&(this._showFirstLastButtons=L)}}get pageIndex(){return this._pageIndex}set pageIndex(w){this._pageIndex=Math.max((0,u.su)(w),0),this._changeDetectorRef.markForCheck()}get length(){return this._length}set length(w){this._length=(0,u.su)(w),this._changeDetectorRef.markForCheck()}get pageSize(){return this._pageSize}set pageSize(w){this._pageSize=Math.max((0,u.su)(w),0),this._updateDisplayedPageSizeOptions()}get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(w){this._pageSizeOptions=(w||[]).map(n=>(0,u.su)(n)),this._updateDisplayedPageSizeOptions()}get hidePageSize(){return this._hidePageSize}set hidePageSize(w){this._hidePageSize=(0,u.Ig)(w)}get showFirstLastButtons(){return this._showFirstLastButtons}set showFirstLastButtons(w){this._showFirstLastButtons=(0,u.Ig)(w)}ngOnInit(){this._initialized=!0,this._updateDisplayedPageSizeOptions(),this._markInitialized()}ngOnDestroy(){this._intlChanges.unsubscribe()}nextPage(){if(!this.hasNextPage())return;const w=this.pageIndex;this.pageIndex=this.pageIndex+1,this._emitPageEvent(w)}previousPage(){if(!this.hasPreviousPage())return;const w=this.pageIndex;this.pageIndex=this.pageIndex-1,this._emitPageEvent(w)}firstPage(){if(!this.hasPreviousPage())return;const w=this.pageIndex;this.pageIndex=0,this._emitPageEvent(w)}lastPage(){if(!this.hasNextPage())return;const w=this.pageIndex;this.pageIndex=this.getNumberOfPages()-1,this._emitPageEvent(w)}hasPreviousPage(){return this.pageIndex>=1&&0!=this.pageSize}hasNextPage(){const w=this.getNumberOfPages()-1;return this.pageIndexw-n),this._changeDetectorRef.markForCheck())}_emitPageEvent(w){this.page.emit({previousPageIndex:w,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}}ye.\u0275fac=function(w){t.$Z()},ye.\u0275dir=t.lG2({type:ye,inputs:{color:"color",pageIndex:"pageIndex",length:"length",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions",hidePageSize:"hidePageSize",showFirstLastButtons:"showFirstLastButtons",selectConfig:"selectConfig"},outputs:{page:"page"},features:[t.qOj]});class ue extends ye{constructor(w,n,o){super(w,n,o),o&&null!=o.formFieldAppearance&&(this._formFieldAppearance=o.formFieldAppearance)}}ue.\u0275fac=function(w){return new(w||ue)(t.Y36(W),t.Y36(t.sBO),t.Y36(_e,8))},ue.\u0275cmp=t.Xpm({type:ue,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-paginator"],inputs:{disabled:"disabled"},exportAs:["matPaginator"],features:[t.qOj],decls:14,vars:14,consts:[[1,"mat-paginator-outer-container"],[1,"mat-paginator-container"],["class","mat-paginator-page-size",4,"ngIf"],[1,"mat-paginator-range-actions"],[1,"mat-paginator-range-label"],["mat-icon-button","","type","button","class","mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-previous",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["viewBox","0 0 24 24","focusable","false",1,"mat-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-next",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["mat-icon-button","","type","button","class","mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],[1,"mat-paginator-page-size"],[1,"mat-paginator-page-size-label"],["class","mat-paginator-page-size-select",3,"appearance","color",4,"ngIf"],["class","mat-paginator-page-size-value",4,"ngIf"],[1,"mat-paginator-page-size-select",3,"appearance","color"],[3,"value","disabled","panelClass","disableOptionCentering","aria-label","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"mat-paginator-page-size-value"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(w,n){1&w&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,M,5,3,"div",2),t.TgZ(3,"div",3)(4,"div",4),t._uU(5),t.qZA(),t.YNc(6,z,3,5,"button",5),t.TgZ(7,"button",6),t.NdJ("click",function(){return n.previousPage()}),t.O4$(),t.TgZ(8,"svg",7),t._UZ(9,"path",8),t.qZA()(),t.kcU(),t.TgZ(10,"button",9),t.NdJ("click",function(){return n.nextPage()}),t.O4$(),t.TgZ(11,"svg",7),t._UZ(12,"path",10),t.qZA()(),t.YNc(13,I,3,5,"button",11),t.qZA()()()),2&w&&(t.xp6(2),t.Q6J("ngIf",!n.hidePageSize),t.xp6(3),t.hij(" ",n._intl.getRangeLabel(n.pageIndex,n.pageSize,n.length)," "),t.xp6(1),t.Q6J("ngIf",n.showFirstLastButtons),t.xp6(1),t.Q6J("matTooltip",n._intl.previousPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("matTooltipPosition","above")("disabled",n._previousButtonsDisabled()),t.uIk("aria-label",n._intl.previousPageLabel),t.xp6(3),t.Q6J("matTooltip",n._intl.nextPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("matTooltipPosition","above")("disabled",n._nextButtonsDisabled()),t.uIk("aria-label",n._intl.nextPageLabel),t.xp6(3),t.Q6J("ngIf",n.showFirstLastButtons))},dependencies:[e.sg,e.O5,E.lW,p.KE,s.gD,_.ey,D.gM],styles:[".mat-paginator{display:block}.mat-paginator-outer-container{display:flex}.mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}.mat-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-paginator-page-size{margin-right:0;margin-left:8px}.mat-paginator-page-size-label{margin:0 4px}.mat-paginator-page-size-select{margin:6px 4px 0 4px;width:56px}.mat-paginator-page-size-select.mat-form-field-appearance-outline{width:64px}.mat-paginator-page-size-select.mat-form-field-appearance-fill{width:64px}.mat-paginator-range-label{margin:0 32px 0 24px}.mat-paginator-range-actions{display:flex;align-items:center}.mat-paginator-icon{display:inline-block;width:28px;fill:currentColor}[dir=rtl] .mat-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-paginator-icon{fill:CanvasText}"],encapsulation:2,changeDetection:0});class ${}$.\u0275fac=function(w){return new(w||$)},$.\u0275mod=t.oAB({type:$}),$.\u0275inj=t.cJS({providers:[Q],imports:[e.ez,E.ot,s.LD,D.AV,_.BQ]})},1294:(Ue,q,m)=>{"use strict";m.d(q,{Cv:()=>W,pW:()=>z});var e=m(2560),t=m(4666),_=m(207),E=m(8971),s=m(7714),D=m(3280),u=m(116);const k=["primaryValueBar"],p=(0,_.pj)(class{constructor(Z){this._elementRef=Z}},"primary"),S=new e.OlP("mat-progress-bar-location",{providedIn:"root",factory:function A(){const Z=(0,e.f3M)(t.K0),Q=Z?Z.location:null;return{getPathname:()=>Q?Q.pathname+Q.search:""}}});const P=new e.OlP("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");let M=0;class z extends p{constructor(Q,ie,ae,_e,ce,ye){super(Q),this._ngZone=ie,this._animationMode=ae,this._changeDetectorRef=ye,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new e.vpe,this._animationEndSubscription=s.w0.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+M++;const ue=_e?_e.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${ue}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===ae,ce&&(ce.color&&(this.color=this.defaultColor=ce.color),this.mode=ce.mode||this.mode)}get value(){return this._value}set value(Q){this._value=I((0,E.su)(Q)||0),this._changeDetectorRef?.markForCheck()}get bufferValue(){return this._bufferValue}set bufferValue(Q){this._bufferValue=I(Q||0),this._changeDetectorRef?.markForCheck()}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const Q=this._primaryValueBar.nativeElement;this._animationEndSubscription=(0,D.R)(Q,"transitionend").pipe((0,u.h)(ie=>ie.target===Q)).subscribe(()=>{0!==this.animationEnd.observers.length&&("determinate"===this.mode||"buffer"===this.mode)&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}function I(Z,Q=0,ie=100){return Math.max(Q,Math.min(ie,Z))}z.\u0275fac=function(Q){return new(Q||z)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(e.QbO,8),e.Y36(S,8),e.Y36(P,8),e.Y36(e.sBO))},z.\u0275cmp=e.Xpm({type:z,selectors:[["mat-progress-bar"]],viewQuery:function(Q,ie){if(1&Q&&e.Gf(k,5),2&Q){let ae;e.iGM(ae=e.CRH())&&(ie._primaryValueBar=ae.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(Q,ie){2&Q&&(e.uIk("aria-valuenow","indeterminate"===ie.mode||"query"===ie.mode?null:ie.value)("mode",ie.mode),e.ekj("_mat-animation-noopable",ie._isNoopAnimation))},inputs:{color:"color",value:"value",bufferValue:"bufferValue",mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[e.qOj],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(Q,ie){1&Q&&(e.TgZ(0,"div",0),e.O4$(),e.TgZ(1,"svg",1)(2,"defs")(3,"pattern",2),e._UZ(4,"circle",3),e.qZA()(),e._UZ(5,"rect",4),e.qZA(),e.kcU(),e._UZ(6,"div",5)(7,"div",6,7)(9,"div",8),e.qZA()),2&Q&&(e.xp6(3),e.Q6J("id",ie.progressbarId),e.xp6(2),e.uIk("fill",ie._rectangleFillValue),e.xp6(1),e.Q6J("ngStyle",ie._bufferTransform()),e.xp6(1),e.Q6J("ngStyle",ie._primaryTransform()))},dependencies:[t.PC],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}.mat-progress-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}'],encapsulation:2,changeDetection:0});class W{}W.\u0275fac=function(Q){return new(Q||W)},W.\u0275mod=e.oAB({type:W}),W.\u0275inj=e.cJS({imports:[t.ez,_.BQ,_.BQ]})},1708:(Ue,q,m)=>{"use strict";m.d(q,{Cq:()=>Z,Ou:()=>W});var e=m(8971),t=m(9107),_=m(1494),E=m(4666),s=m(2560),D=m(207),u=m(7714);function k(ie,ae){if(1&ie&&(s.O4$(),s._UZ(0,"circle",4)),2&ie){const _e=s.oxw(),ce=s.MAs(1);s.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+_e._spinnerAnimationLabel)("stroke-dashoffset",_e._getStrokeDashOffset(),"px")("stroke-dasharray",_e._getStrokeCircumference(),"px")("stroke-width",_e._getCircleStrokeWidth(),"%")("transform-origin",_e._getCircleTransformOrigin(ce)),s.uIk("r",_e._getCircleRadius())}}function p(ie,ae){if(1&ie&&(s.O4$(),s._UZ(0,"circle",4)),2&ie){const _e=s.oxw(),ce=s.MAs(1);s.Udp("stroke-dashoffset",_e._getStrokeDashOffset(),"px")("stroke-dasharray",_e._getStrokeCircumference(),"px")("stroke-width",_e._getCircleStrokeWidth(),"%")("transform-origin",_e._getCircleTransformOrigin(ce)),s.uIk("r",_e._getCircleRadius())}}const P=(0,D.pj)(class{constructor(ie){this._elementRef=ie}},"primary"),M=new s.OlP("mat-progress-spinner-default-options",{providedIn:"root",factory:function z(){return{diameter:100}}});const I="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class W extends P{constructor(ae,_e,ce,ye,ue,$,he,w){super(ae),this._document=ce,this._diameter=100,this._value=0,this._resizeSubscription=u.w0.EMPTY,this.mode="determinate";const n=W._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),n.has(ce.head)||n.set(ce.head,new Set([100])),this._noopAnimations="NoopAnimations"===ye&&!!ue&&!ue._forceAnimations,"mat-spinner"===ae.nativeElement.nodeName.toLowerCase()&&(this.mode="indeterminate"),ue&&(ue.color&&(this.color=this.defaultColor=ue.color),ue.diameter&&(this.diameter=ue.diameter),ue.strokeWidth&&(this.strokeWidth=ue.strokeWidth)),_e.isBrowser&&_e.SAFARI&&he&&$&&w&&(this._resizeSubscription=he.change(150).subscribe(()=>{"indeterminate"===this.mode&&w.run(()=>$.markForCheck())}))}get diameter(){return this._diameter}set diameter(ae){this._diameter=(0,e.su)(ae),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(ae){this._strokeWidth=(0,e.su)(ae)}get value(){return"determinate"===this.mode?this._value:0}set value(ae){this._value=Math.max(0,Math.min(100,(0,e.su)(ae)))}ngOnInit(){const ae=this._elementRef.nativeElement;this._styleRoot=(0,t.kV)(ae)||this._document.head,this._attachStyleNode(),ae.classList.add("mat-progress-spinner-indeterminate-animation")}ngOnDestroy(){this._resizeSubscription.unsubscribe()}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const ae=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${ae} ${ae}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_getCircleTransformOrigin(ae){const _e=50*(ae.currentScale??1);return`${_e}% ${_e}%`}_attachStyleNode(){const ae=this._styleRoot,_e=this._diameter,ce=W._diameters;let ye=ce.get(ae);if(!ye||!ye.has(_e)){const ue=this._document.createElement("style");ue.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),ue.textContent=this._getAnimationText(),ae.appendChild(ue),ye||(ye=new Set,ce.set(ae,ye)),ye.add(_e)}}_getAnimationText(){const ae=this._getStrokeCircumference();return I.replace(/START_VALUE/g,""+.95*ae).replace(/END_VALUE/g,""+.2*ae).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}W._diameters=new WeakMap,W.\u0275fac=function(ae){return new(ae||W)(s.Y36(s.SBq),s.Y36(t.t4),s.Y36(E.K0,8),s.Y36(s.QbO,8),s.Y36(M),s.Y36(s.sBO),s.Y36(_.rL),s.Y36(s.R0b))},W.\u0275cmp=s.Xpm({type:W,selectors:[["mat-progress-spinner"],["mat-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner","mat-spinner"],hostVars:10,hostBindings:function(ae,_e){2&ae&&(s.uIk("aria-valuemin","determinate"===_e.mode?0:null)("aria-valuemax","determinate"===_e.mode?100:null)("aria-valuenow","determinate"===_e.mode?_e.value:null)("mode",_e.mode),s.Udp("width",_e.diameter,"px")("height",_e.diameter,"px"),s.ekj("_mat-animation-noopable",_e._noopAnimations))},inputs:{color:"color",diameter:"diameter",strokeWidth:"strokeWidth",mode:"mode",value:"value"},exportAs:["matProgressSpinner"],features:[s.qOj],decls:4,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["svg",""],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(ae,_e){1&ae&&(s.O4$(),s.TgZ(0,"svg",0,1),s.YNc(2,k,1,11,"circle",2),s.YNc(3,p,1,9,"circle",3),s.qZA()),2&ae&&(s.Udp("width",_e.diameter,"px")("height",_e.diameter,"px"),s.Q6J("ngSwitch","indeterminate"===_e.mode),s.uIk("viewBox",_e._getViewBox()),s.xp6(2),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngSwitchCase",!1))},dependencies:[E.RF,E.n9],styles:[".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}.mat-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}"],encapsulation:2,changeDetection:0});class Z{}Z.\u0275fac=function(ae){return new(ae||Z)},Z.\u0275mod=s.oAB({type:Z}),Z.\u0275inj=s.cJS({imports:[D.BQ,E.ez,D.BQ]})},2922:(Ue,q,m)=>{"use strict";m.d(q,{Fk:()=>ce,U0:()=>_e,VQ:()=>Z});var e=m(2560),t=m(207),_=m(4218),E=m(8971),s=m(1755),D=m(2508);const u=["input"],k=function(ye){return{enterDuration:ye}},S=new e.OlP("mat-radio-default-options",{providedIn:"root",factory:function A(){return{color:"accent"}}});let P=0;const M={provide:D.JU,useExisting:(0,e.Gpc)(()=>Z),multi:!0};class z{constructor(ue,$){this.source=ue,this.value=$}}const I=new e.OlP("MatRadioGroup");class W{constructor(ue){this._changeDetector=ue,this._value=null,this._name="mat-radio-group-"+P++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new e.vpe}get name(){return this._name}set name(ue){this._name=ue,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(ue){this._labelPosition="before"===ue?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(ue){this._value!==ue&&(this._value=ue,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(ue){this._selected=ue,this.value=ue?ue.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(ue){this._disabled=(0,E.Ig)(ue),this._markRadiosForCheck()}get required(){return this._required}set required(ue){this._required=(0,E.Ig)(ue),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(ue=>{ue.name=this.name,ue._markForCheck()})}_updateSelectedRadioFromValue(){const ue=null!==this._selected&&this._selected.value===this._value;this._radios&&!ue&&(this._selected=null,this._radios.forEach($=>{$.checked=this.value===$.value,$.checked&&(this._selected=$)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new z(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(ue=>ue._markForCheck())}writeValue(ue){this.value=ue,this._changeDetector.markForCheck()}registerOnChange(ue){this._controlValueAccessorChangeFn=ue}registerOnTouched(ue){this.onTouched=ue}setDisabledState(ue){this.disabled=ue,this._changeDetector.markForCheck()}}W.\u0275fac=function(ue){return new(ue||W)(e.Y36(e.sBO))},W.\u0275dir=e.lG2({type:W,inputs:{color:"color",name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required"},outputs:{change:"change"}});class Z extends W{}Z.\u0275fac=function(){let ye;return function($){return(ye||(ye=e.n5z(Z)))($||Z)}}(),Z.\u0275dir=e.lG2({type:Z,selectors:[["mat-radio-group"]],contentQueries:function(ue,$,he){if(1&ue&&e.Suo(he,_e,5),2&ue){let w;e.iGM(w=e.CRH())&&($._radios=w)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[e._Bn([M,{provide:I,useExisting:Z}]),e.qOj]});const ie=(0,t.Kr)((0,t.sb)(class Q{constructor(ue){this._elementRef=ue}}));class ae extends ie{constructor(ue,$,he,w,n,o,h,d){super($),this._changeDetector=he,this._focusMonitor=w,this._radioDispatcher=n,this._providerOverride=h,this._uniqueId="mat-radio-"+ ++P,this.id=this._uniqueId,this.change=new e.vpe,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=ue,this._noopAnimations="NoopAnimations"===o,d&&(this.tabIndex=(0,E.su)(d,0)),this._removeUniqueSelectionListener=n.listen((y,L)=>{y!==this.id&&L===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(ue){const $=(0,E.Ig)(ue);this._checked!==$&&(this._checked=$,$&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!$&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),$&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(ue){this._value!==ue&&(this._value=ue,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===ue),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(ue){this._labelPosition=ue}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(ue){this._setDisabled((0,E.Ig)(ue))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(ue){this._required=(0,E.Ig)(ue)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(ue){this._color=ue}get inputId(){return`${this.id||this._uniqueId}-input`}focus(ue,$){$?this._focusMonitor.focusVia(this._inputElement,$,ue):this._inputElement.nativeElement.focus(ue)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(ue=>{!ue&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new z(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(ue){ue.stopPropagation()}_onInputInteraction(ue){if(ue.stopPropagation(),!this.checked&&!this.disabled){const $=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),$&&this.radioGroup._emitChangeEvent())}}_setDisabled(ue){this._disabled!==ue&&(this._disabled=ue,this._changeDetector.markForCheck())}_updateTabIndex(){const ue=this.radioGroup;let $;if($=ue&&ue.selected&&!this.disabled?ue.selected===this?this.tabIndex:-1:this.tabIndex,$!==this._previousTabIndex){const he=this._inputElement?.nativeElement;he&&(he.setAttribute("tabindex",$+""),this._previousTabIndex=$)}}}ae.\u0275fac=function(ue){e.$Z()},ae.\u0275dir=e.lG2({type:ae,viewQuery:function(ue,$){if(1&ue&&e.Gf(u,5),2&ue){let he;e.iGM(he=e.CRH())&&($._inputElement=he.first)}},inputs:{id:"id",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"},features:[e.qOj]});class _e extends ae{constructor(ue,$,he,w,n,o,h,d){super(ue,$,he,w,n,o,h,d)}}_e.\u0275fac=function(ue){return new(ue||_e)(e.Y36(I,8),e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(_.tE),e.Y36(s.A8),e.Y36(e.QbO,8),e.Y36(S,8),e.$8M("tabindex"))},_e.\u0275cmp=e.Xpm({type:_e,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(ue,$){1&ue&&e.NdJ("focus",function(){return $._inputElement.nativeElement.focus()}),2&ue&&(e.uIk("tabindex",null)("id",$.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),e.ekj("mat-radio-checked",$.checked)("mat-radio-disabled",$.disabled)("_mat-animation-noopable",$._noopAnimations)("mat-primary","primary"===$.color)("mat-accent","accent"===$.color)("mat-warn","warn"===$.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[e.qOj],ngContentSelectors:["*"],decls:13,vars:19,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input",3,"id","checked","disabled","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(ue,$){if(1&ue&&(e.F$t(),e.TgZ(0,"label",0,1)(2,"span",2),e._UZ(3,"span",3)(4,"span",4),e.TgZ(5,"input",5,6),e.NdJ("change",function(w){return $._onInputInteraction(w)})("click",function(w){return $._onInputClick(w)}),e.qZA(),e.TgZ(7,"span",7),e._UZ(8,"span",8),e.qZA()(),e.TgZ(9,"span",9)(10,"span",10),e._uU(11,"\xa0"),e.qZA(),e.Hsn(12),e.qZA()()),2&ue){const he=e.MAs(1);e.uIk("for",$.inputId),e.xp6(5),e.Q6J("id",$.inputId)("checked",$.checked)("disabled",$.disabled)("required",$.required),e.uIk("name",$.name)("value",$.value)("aria-label",$.ariaLabel)("aria-labelledby",$.ariaLabelledby)("aria-describedby",$.ariaDescribedby),e.xp6(2),e.Q6J("matRippleTrigger",he)("matRippleDisabled",$._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",e.VKq(17,k,$._noopAnimations?0:150)),e.xp6(2),e.ekj("mat-radio-label-before","before"==$.labelPosition)}},dependencies:[t.wG],styles:['.mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.mat-radio-input:focus~.mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}'],encapsulation:2,changeDetection:0});class ce{}ce.\u0275fac=function(ue){return new(ue||ce)},ce.\u0275mod=e.oAB({type:ce}),ce.\u0275inj=e.cJS({imports:[t.si,t.BQ,t.BQ]})},7371:(Ue,q,m)=>{"use strict";m.d(q,{$L:()=>ht,LD:()=>te,gD:()=>Ae});var e=m(5895),t=m(4666),_=m(2560),E=m(207),s=m(5074),D=m(1494),u=m(4218),k=m(2867),p=m(8971),S=m(1755),A=m(8456),P=m(2508),M=m(253),z=m(1954),I=m(6646),W=m(4874),Z=m(2673),Q=m(9295),ie=m(116),ae=m(635),_e=m(8977),ce=m(8951),ye=m(4851);const ue=["trigger"],$=["panel"];function he(pe,ee){if(1&pe&&(_.TgZ(0,"span",8),_._uU(1),_.qZA()),2&pe){const H=_.oxw();_.xp6(1),_.Oqu(H.placeholder)}}function w(pe,ee){if(1&pe&&(_.TgZ(0,"span",12),_._uU(1),_.qZA()),2&pe){const H=_.oxw(2);_.xp6(1),_.Oqu(H.triggerValue)}}function n(pe,ee){1&pe&&_.Hsn(0,0,["*ngSwitchCase","true"])}function o(pe,ee){if(1&pe&&(_.TgZ(0,"span",9),_.YNc(1,w,2,1,"span",10),_.YNc(2,n,1,0,"ng-content",11),_.qZA()),2&pe){const H=_.oxw();_.Q6J("ngSwitch",!!H.customTrigger),_.xp6(2),_.Q6J("ngSwitchCase",!0)}}function h(pe,ee){if(1&pe){const H=_.EpF();_.TgZ(0,"div",13)(1,"div",14,15),_.NdJ("@transformPanel.done",function(Oe){_.CHM(H);const Re=_.oxw();return _.KtG(Re._panelDoneAnimatingStream.next(Oe.toState))})("keydown",function(Oe){_.CHM(H);const Re=_.oxw();return _.KtG(Re._handleKeydown(Oe))}),_.Hsn(3,1),_.qZA()()}if(2&pe){const H=_.oxw();_.Q6J("@transformPanelWrap",void 0),_.xp6(1),_.Gre("mat-select-panel ",H._getPanelTheme(),""),_.Udp("transform-origin",H._transformOrigin)("font-size",H._triggerFontSize,"px"),_.Q6J("ngClass",H.panelClass)("@transformPanel",H.multiple?"showing-multiple":"showing"),_.uIk("id",H.id+"-panel")("aria-multiselectable",H.multiple)("aria-label",H.ariaLabel||null)("aria-labelledby",H._getPanelAriaLabelledby())}}const d=[[["mat-select-trigger"]],"*"],L={transformPanelWrap:(0,ye.X$)("transformPanelWrap",[(0,ye.eR)("* => void",(0,ye.IO)("@transformPanel",[(0,ye.pV)()],{optional:!0}))]),transformPanel:(0,ye.X$)("transformPanel",[(0,ye.SB)("void",(0,ye.oB)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),(0,ye.SB)("showing",(0,ye.oB)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),(0,ye.SB)("showing-multiple",(0,ye.oB)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),(0,ye.eR)("void => *",(0,ye.jt)("120ms cubic-bezier(0, 0, 0.2, 1)")),(0,ye.eR)("* => void",(0,ye.jt)("100ms 25ms linear",(0,ye.oB)({opacity:0})))])};let C=0;const N=256,F=16,je=new _.OlP("mat-select-scroll-strategy");const xe=new _.OlP("MAT_SELECT_CONFIG"),Ze={provide:je,deps:[e.aV],useFactory:function Ve(pe){return()=>pe.scrollStrategies.reposition()}};class Ie{constructor(ee,H){this.source=ee,this.value=H}}const ve=(0,E.Kr)((0,E.sb)((0,E.Id)((0,E.FD)(class{constructor(pe,ee,H,j,Oe){this._elementRef=pe,this._defaultErrorStateMatcher=ee,this._parentForm=H,this._parentFormGroup=j,this.ngControl=Oe,this.stateChanges=new M.x}})))),et=new _.OlP("MatSelectTrigger");class ht{}ht.\u0275fac=function(ee){return new(ee||ht)},ht.\u0275dir=_.lG2({type:ht,selectors:[["mat-select-trigger"]],features:[_._Bn([{provide:et,useExisting:ht}])]});class Le extends ve{constructor(ee,H,j,Oe,Re,le,_t,it,Ct,un,Bt,Ut,yn,Xt){super(Re,Oe,_t,it,un),this._viewportRuler=ee,this._changeDetectorRef=H,this._ngZone=j,this._dir=le,this._parentFormField=Ct,this._liveAnnouncer=yn,this._defaultOptions=Xt,this._panelOpen=!1,this._compareWith=(Gt,In)=>Gt===In,this._uid="mat-select-"+C++,this._triggerAriaLabelledBy=null,this._destroy=new M.x,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+C++,this._panelDoneAnimatingStream=new M.x,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.optionSelectionChanges=(0,z.P)(()=>{const Gt=this.options;return Gt?Gt.changes.pipe((0,W.O)(Gt),(0,Z.w)(()=>(0,I.T)(...Gt.map(In=>In.onSelectionChange)))):this._ngZone.onStable.pipe((0,Q.q)(1),(0,Z.w)(()=>this.optionSelectionChanges))}),this.openedChange=new _.vpe,this._openedStream=this.openedChange.pipe((0,ie.h)(Gt=>Gt),(0,ae.U)(()=>{})),this._closedStream=this.openedChange.pipe((0,ie.h)(Gt=>!Gt),(0,ae.U)(()=>{})),this.selectionChange=new _.vpe,this.valueChange=new _.vpe,this.ngControl&&(this.ngControl.valueAccessor=this),null!=Xt?.typeaheadDebounceInterval&&(this._typeaheadDebounceInterval=Xt.typeaheadDebounceInterval),this._scrollStrategyFactory=Ut,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(Bt)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(ee){this._placeholder=ee,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(P.kI.required)??!1}set required(ee){this._required=(0,p.Ig)(ee),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(ee){this._selectionModel,this._multiple=(0,p.Ig)(ee)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(ee){this._disableOptionCentering=(0,p.Ig)(ee)}get compareWith(){return this._compareWith}set compareWith(ee){this._compareWith=ee,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(ee){this._assignValue(ee)&&this._onChange(ee)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(ee){this._typeaheadDebounceInterval=(0,p.su)(ee)}get id(){return this._id}set id(ee){this._id=ee||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new S.Ov(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe((0,_e.x)(),(0,ce.R)(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe((0,ce.R)(this._destroy)).subscribe(ee=>{ee.added.forEach(H=>H.select()),ee.removed.forEach(H=>H.deselect())}),this.options.changes.pipe((0,W.O)(null),(0,ce.R)(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const ee=this._getTriggerAriaLabelledby(),H=this.ngControl;if(ee!==this._triggerAriaLabelledBy){const j=this._elementRef.nativeElement;this._triggerAriaLabelledBy=ee,ee?j.setAttribute("aria-labelledby",ee):j.removeAttribute("aria-labelledby")}H&&(this._previousControl!==H.control&&(void 0!==this._previousControl&&null!==H.disabled&&H.disabled!==this.disabled&&(this.disabled=H.disabled),this._previousControl=H.control),this.updateErrorState())}ngOnChanges(ee){(ee.disabled||ee.userAriaDescribedBy)&&this.stateChanges.next(),ee.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(ee){this._assignValue(ee)}registerOnChange(ee){this._onChange=ee}registerOnTouched(ee){this._onTouched=ee}setDisabledState(ee){this.disabled=ee,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const ee=this._selectionModel.selected.map(H=>H.viewValue);return this._isRtl()&&ee.reverse(),ee.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(ee){this.disabled||(this.panelOpen?this._handleOpenKeydown(ee):this._handleClosedKeydown(ee))}_handleClosedKeydown(ee){const H=ee.keyCode,j=H===A.JH||H===A.LH||H===A.oh||H===A.SV,Oe=H===A.K5||H===A.L_,Re=this._keyManager;if(!Re.isTyping()&&Oe&&!(0,A.Vb)(ee)||(this.multiple||ee.altKey)&&j)ee.preventDefault(),this.open();else if(!this.multiple){const le=this.selected;Re.onKeydown(ee);const _t=this.selected;_t&&le!==_t&&this._liveAnnouncer.announce(_t.viewValue,1e4)}}_handleOpenKeydown(ee){const H=this._keyManager,j=ee.keyCode,Oe=j===A.JH||j===A.LH,Re=H.isTyping();if(Oe&&ee.altKey)ee.preventDefault(),this.close();else if(Re||j!==A.K5&&j!==A.L_||!H.activeItem||(0,A.Vb)(ee))if(!Re&&this._multiple&&j===A.A&&ee.ctrlKey){ee.preventDefault();const le=this.options.some(_t=>!_t.disabled&&!_t.selected);this.options.forEach(_t=>{_t.disabled||(le?_t.select():_t.deselect())})}else{const le=H.activeItemIndex;H.onKeydown(ee),this._multiple&&Oe&&ee.shiftKey&&H.activeItem&&H.activeItemIndex!==le&&H.activeItem._selectViaInteraction()}else ee.preventDefault(),H.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe((0,Q.q)(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(ee){if(this._selectionModel.selected.forEach(H=>H.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&ee)Array.isArray(ee),ee.forEach(H=>this._selectOptionByValue(H)),this._sortValues();else{const H=this._selectOptionByValue(ee);H?this._keyManager.updateActiveItem(H):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(ee){const H=this.options.find(j=>{if(this._selectionModel.isSelected(j))return!1;try{return null!=j.value&&this._compareWith(j.value,ee)}catch{return!1}});return H&&this._selectionModel.select(H),H}_assignValue(ee){return!!(ee!==this._value||this._multiple&&Array.isArray(ee))&&(this.options&&this._setSelectionByValue(ee),this._value=ee,!0)}_initKeyManager(){this._keyManager=new u.s1(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe((0,ce.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe((0,ce.R)(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const ee=(0,I.T)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe((0,ce.R)(ee)).subscribe(H=>{this._onSelect(H.source,H.isUserInput),H.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),(0,I.T)(...this.options.map(H=>H._stateChanges)).pipe((0,ce.R)(ee)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(ee,H){const j=this._selectionModel.isSelected(ee);null!=ee.value||this._multiple?(j!==ee.selected&&(ee.selected?this._selectionModel.select(ee):this._selectionModel.deselect(ee)),H&&this._keyManager.setActiveItem(ee),this.multiple&&(this._sortValues(),H&&this.focus())):(ee.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(ee.value)),j!==this._selectionModel.isSelected(ee)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const ee=this.options.toArray();this._selectionModel.sort((H,j)=>this.sortComparator?this.sortComparator(H,j,ee):ee.indexOf(H)-ee.indexOf(j)),this.stateChanges.next()}}_propagateChanges(ee){let H=null;H=this.multiple?this.selected.map(j=>j.value):this.selected?this.selected.value:ee,this._value=H,this.valueChange.emit(H),this._onChange(H),this.selectionChange.emit(this._getChangeEvent(H)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){return!this._panelOpen&&!this.disabled&&this.options?.length>0}focus(ee){this._elementRef.nativeElement.focus(ee)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const ee=this._parentFormField?.getLabelId(),H=ee?ee+" ":"";return this.ariaLabelledby?H+this.ariaLabelledby:ee}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const ee=this._parentFormField?.getLabelId();let H=(ee?ee+" ":"")+this._valueId;return this.ariaLabelledby&&(H+=" "+this.ariaLabelledby),H}_panelDoneAnimating(ee){this.openedChange.emit(ee)}setDescribedByIds(ee){ee.length?this._elementRef.nativeElement.setAttribute("aria-describedby",ee.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}Le.\u0275fac=function(ee){return new(ee||Le)(_.Y36(D.rL),_.Y36(_.sBO),_.Y36(_.R0b),_.Y36(E.rD),_.Y36(_.SBq),_.Y36(k.Is,8),_.Y36(P.F,8),_.Y36(P.sg,8),_.Y36(s.G_,8),_.Y36(P.a5,10),_.$8M("tabindex"),_.Y36(je),_.Y36(u.Kd),_.Y36(xe,8))},Le.\u0275dir=_.lG2({type:Le,viewQuery:function(ee,H){if(1&ee&&(_.Gf(ue,5),_.Gf($,5),_.Gf(e.pI,5)),2&ee){let j;_.iGM(j=_.CRH())&&(H.trigger=j.first),_.iGM(j=_.CRH())&&(H.panel=j.first),_.iGM(j=_.CRH())&&(H._overlayDir=j.first)}},inputs:{userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[_.qOj,_.TTD]});class Ae extends Le{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(ee,H,j){const Oe=this._getItemHeight(),_t=Oe*ee-H+Oe/2;return Math.min(Math.max(0,_t),j)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe((0,ce.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe((0,Q.q)(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(ee){const H=(0,E.CB)(ee,this.options,this.optionGroups),j=this._getItemHeight();this.panel.nativeElement.scrollTop=0===ee&&1===H?0:(0,E.jH)((ee+H)*j,j,this.panel.nativeElement.scrollTop,N)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(ee){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(ee)}_getChangeEvent(ee){return new Ie(this,ee)}_calculateOverlayOffsetX(){const ee=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),H=this._viewportRuler.getViewportSize(),j=this._isRtl(),Oe=this.multiple?56:32;let Re;if(this.multiple)Re=40;else if(this.disableOptionCentering)Re=F;else{let it=this._selectionModel.selected[0]||this.options.first;Re=it&&it.group?32:F}j||(Re*=-1);const le=0-(ee.left+Re-(j?Oe:0)),_t=ee.right+Re-H.width+(j?0:Oe);le>0?Re+=le+8:_t>0&&(Re-=_t+8),this._overlayDir.offsetX=Math.round(Re),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(ee,H,j){const Oe=this._getItemHeight(),Re=(Oe-this._triggerRect.height)/2,le=Math.floor(N/Oe);let _t;if(this.disableOptionCentering)return 0;if(0===this._scrollTop)_t=ee*Oe;else if(this._scrollTop===j){_t=(ee-(this._getItemCount()-le))*Oe+(Oe-(this._getItemCount()*Oe-N)%Oe)}else _t=H-Oe/2;return Math.round(-1*_t-Re)}_checkOverlayWithinViewport(ee){const H=this._getItemHeight(),j=this._viewportRuler.getViewportSize(),Oe=this._triggerRect.top-8,Re=j.height-this._triggerRect.bottom-8,le=Math.abs(this._offsetY),it=Math.min(this._getItemCount()*H,N)-le-this._triggerRect.height;it>Re?this._adjustPanelUp(it,Re):le>Oe?this._adjustPanelDown(le,Oe,ee):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(ee,H){const j=Math.round(ee-H);this._scrollTop-=j,this._offsetY-=j,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(ee,H,j){const Oe=Math.round(ee-H);if(this._scrollTop+=Oe,this._offsetY+=Oe,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=j)return this._scrollTop=j,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const ee=this._getItemHeight(),H=this._getItemCount(),j=Math.min(H*ee,N),Re=H*ee-j;let le;le=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),le+=(0,E.CB)(le,this.options,this.optionGroups);const _t=j/2;this._scrollTop=this._calculateOverlayScroll(le,_t,Re),this._offsetY=this._calculateOverlayOffsetY(le,_t,Re),this._checkOverlayWithinViewport(Re)}_getOriginBasedOnOption(){const ee=this._getItemHeight(),H=(ee-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-H+ee/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}Ae.\u0275fac=function(){let pe;return function(H){return(pe||(pe=_.n5z(Ae)))(H||Ae)}}(),Ae.\u0275cmp=_.Xpm({type:Ae,selectors:[["mat-select"]],contentQueries:function(ee,H,j){if(1&ee&&(_.Suo(j,et,5),_.Suo(j,E.ey,5),_.Suo(j,E.K7,5)),2&ee){let Oe;_.iGM(Oe=_.CRH())&&(H.customTrigger=Oe.first),_.iGM(Oe=_.CRH())&&(H.options=Oe),_.iGM(Oe=_.CRH())&&(H.optionGroups=Oe)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:19,hostBindings:function(ee,H){1&ee&&_.NdJ("keydown",function(Oe){return H._handleKeydown(Oe)})("focus",function(){return H._onFocus()})("blur",function(){return H._onBlur()}),2&ee&&(_.uIk("id",H.id)("tabindex",H.tabIndex)("aria-controls",H.panelOpen?H.id+"-panel":null)("aria-expanded",H.panelOpen)("aria-label",H.ariaLabel||null)("aria-required",H.required.toString())("aria-disabled",H.disabled.toString())("aria-invalid",H.errorState)("aria-activedescendant",H._getAriaActiveDescendant()),_.ekj("mat-select-disabled",H.disabled)("mat-select-invalid",H.errorState)("mat-select-required",H.required)("mat-select-empty",H.empty)("mat-select-multiple",H.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[_._Bn([{provide:s.Eo,useExisting:Ae},{provide:E.HF,useExisting:Ae}]),_.qOj],ngContentSelectors:["mat-select-trigger","*"],decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(ee,H){if(1&ee&&(_.F$t(d),_.TgZ(0,"div",0,1),_.NdJ("click",function(){return H.toggle()}),_.TgZ(3,"div",2),_.YNc(4,he,2,1,"span",3),_.YNc(5,o,3,2,"span",4),_.qZA(),_.TgZ(6,"div",5),_._UZ(7,"div",6),_.qZA()(),_.YNc(8,h,4,14,"ng-template",7),_.NdJ("backdropClick",function(){return H.close()})("attach",function(){return H._onAttached()})("detach",function(){return H.close()})),2&ee){const j=_.MAs(1);_.uIk("aria-owns",H.panelOpen?H.id+"-panel":null),_.xp6(3),_.Q6J("ngSwitch",H.empty),_.uIk("id",H._valueId),_.xp6(1),_.Q6J("ngSwitchCase",!0),_.xp6(1),_.Q6J("ngSwitchCase",!1),_.xp6(3),_.Q6J("cdkConnectedOverlayPanelClass",H._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",H._scrollStrategy)("cdkConnectedOverlayOrigin",j)("cdkConnectedOverlayOpen",H.panelOpen)("cdkConnectedOverlayPositions",H._positions)("cdkConnectedOverlayMinWidth",null==H._triggerRect?null:H._triggerRect.width)("cdkConnectedOverlayOffsetY",H._offsetY)}},dependencies:[t.mk,t.RF,t.n9,t.ED,e.pI,e.xu],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}'],encapsulation:2,data:{animation:[L.transformPanelWrap,L.transformPanel]},changeDetection:0});class te{}te.\u0275fac=function(ee){return new(ee||te)},te.\u0275mod=_.oAB({type:te}),te.\u0275inj=_.cJS({providers:[Ze],imports:[t.ez,e.U8,E.Ng,E.BQ,D.ZD,s.lN,E.Ng,E.BQ]})},6643:(Ue,q,m)=>{"use strict";m.d(q,{JX:()=>ke,Rh:()=>Fe,SJ:()=>je,TM:()=>Ke});var e=m(1494),t=m(4666),_=m(2560),E=m(207),s=m(4218),D=m(2867),u=m(8971),k=m(8456),p=m(9107),S=m(253),A=m(3280),P=m(6646),M=m(116),z=m(635),I=m(73),W=m(8951),Z=m(8977),Q=m(9295),ie=m(4874),ae=m(1989),_e=m(4851);const ce=["*"],ye=["content"];function ue(Ve,xe){if(1&Ve){const Ze=_.EpF();_.TgZ(0,"div",2),_.NdJ("click",function(){_.CHM(Ze);const ve=_.oxw();return _.KtG(ve._onBackdropClicked())}),_.qZA()}if(2&Ve){const Ze=_.oxw();_.ekj("mat-drawer-shown",Ze._isShowingBackdrop())}}function $(Ve,xe){1&Ve&&(_.TgZ(0,"mat-drawer-content"),_.Hsn(1,2),_.qZA())}const he=[[["mat-drawer"]],[["mat-drawer-content"]],"*"];function n(Ve,xe){if(1&Ve){const Ze=_.EpF();_.TgZ(0,"div",2),_.NdJ("click",function(){_.CHM(Ze);const ve=_.oxw();return _.KtG(ve._onBackdropClicked())}),_.qZA()}if(2&Ve){const Ze=_.oxw();_.ekj("mat-drawer-shown",Ze._isShowingBackdrop())}}function o(Ve,xe){1&Ve&&(_.TgZ(0,"mat-sidenav-content"),_.Hsn(1,2),_.qZA())}const h=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],L={transformDrawer:(0,_e.X$)("transform",[(0,_e.SB)("open, open-instant",(0,_e.oB)({transform:"none",visibility:"visible"})),(0,_e.SB)("void",(0,_e.oB)({"box-shadow":"none",visibility:"hidden"})),(0,_e.eR)("void => open-instant",(0,_e.jt)("0ms")),(0,_e.eR)("void <=> open, open-instant => void",(0,_e.jt)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])};const v=new _.OlP("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function C(){return!1}}),a=new _.OlP("MAT_DRAWER_CONTAINER");class N extends e.PQ{constructor(xe,Ze,Ie,ve,et){super(Ie,ve,et),this._changeDetectorRef=xe,this._container=Ze}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}N.\u0275fac=function(xe){return new(xe||N)(_.Y36(_.sBO),_.Y36((0,_.Gpc)(()=>X)),_.Y36(_.SBq),_.Y36(e.mF),_.Y36(_.R0b))},N.\u0275cmp=_.Xpm({type:N,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(xe,Ze){2&xe&&_.Udp("margin-left",Ze._container._contentMargins.left,"px")("margin-right",Ze._container._contentMargins.right,"px")},features:[_._Bn([{provide:e.PQ,useExisting:N}]),_.qOj],ngContentSelectors:ce,decls:1,vars:0,template:function(xe,Ze){1&xe&&(_.F$t(),_.Hsn(0))},encapsulation:2,changeDetection:0});class F{constructor(xe,Ze,Ie,ve,et,ht,Le,Ae){this._elementRef=xe,this._focusTrapFactory=Ze,this._focusMonitor=Ie,this._platform=ve,this._ngZone=et,this._interactivityChecker=ht,this._doc=Le,this._container=Ae,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new S.x,this._animationEnd=new S.x,this._animationState="void",this.openedChange=new _.vpe(!0),this._openedStream=this.openedChange.pipe((0,M.h)(te=>te),(0,z.U)(()=>{})),this.openedStart=this._animationStarted.pipe((0,M.h)(te=>te.fromState!==te.toState&&0===te.toState.indexOf("open")),(0,I.h)(void 0)),this._closedStream=this.openedChange.pipe((0,M.h)(te=>!te),(0,z.U)(()=>{})),this.closedStart=this._animationStarted.pipe((0,M.h)(te=>te.fromState!==te.toState&&"void"===te.toState),(0,I.h)(void 0)),this._destroyed=new S.x,this.onPositionChanged=new _.vpe,this._modeChanged=new S.x,this.openedChange.subscribe(te=>{te?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{(0,A.R)(this._elementRef.nativeElement,"keydown").pipe((0,M.h)(te=>te.keyCode===k.hY&&!this.disableClose&&!(0,k.Vb)(te)),(0,W.R)(this._destroyed)).subscribe(te=>this._ngZone.run(()=>{this.close(),te.stopPropagation(),te.preventDefault()}))}),this._animationEnd.pipe((0,Z.x)((te,pe)=>te.fromState===pe.fromState&&te.toState===pe.toState)).subscribe(te=>{const{fromState:pe,toState:ee}=te;(0===ee.indexOf("open")&&"void"===pe||"void"===ee&&0===pe.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(xe){(xe="end"===xe?"end":"start")!==this._position&&(this._isAttached&&this._updatePositionInParent(xe),this._position=xe,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(xe){this._mode=xe,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(xe){this._disableClose=(0,u.Ig)(xe)}get autoFocus(){return this._autoFocus??("side"===this.mode?"dialog":"first-tabbable")}set autoFocus(xe){("true"===xe||"false"===xe||null==xe)&&(xe=(0,u.Ig)(xe)),this._autoFocus=xe}get opened(){return this._opened}set opened(xe){this.toggle((0,u.Ig)(xe))}_forceFocus(xe,Ze){this._interactivityChecker.isFocusable(xe)||(xe.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const Ie=()=>{xe.removeEventListener("blur",Ie),xe.removeEventListener("mousedown",Ie),xe.removeAttribute("tabindex")};xe.addEventListener("blur",Ie),xe.addEventListener("mousedown",Ie)})),xe.focus(Ze)}_focusByCssSelector(xe,Ze){let Ie=this._elementRef.nativeElement.querySelector(xe);Ie&&this._forceFocus(Ie,Ze)}_takeFocus(){if(!this._focusTrap)return;const xe=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(Ze=>{!Ze&&"function"==typeof this._elementRef.nativeElement.focus&&xe.focus()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus)}}_restoreFocus(xe){"dialog"!==this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,xe):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){const xe=this._doc.activeElement;return!!xe&&this._elementRef.nativeElement.contains(xe)}ngAfterViewInit(){this._isAttached=!0,this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState(),"end"===this._position&&this._updatePositionInParent("end")}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){this._focusTrap&&this._focusTrap.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(xe){return this.toggle(!0,xe)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(xe=!this.opened,Ze){xe&&Ze&&(this._openedVia=Ze);const Ie=this._setOpen(xe,!xe&&this._isFocusWithinDrawer(),this._openedVia||"program");return xe||(this._openedVia=null),Ie}_setOpen(xe,Ze,Ie){return this._opened=xe,xe?this._animationState=this._enableAnimations?"open":"open-instant":(this._animationState="void",Ze&&this._restoreFocus(Ie)),this._updateFocusTrapState(),new Promise(ve=>{this.openedChange.pipe((0,Q.q)(1)).subscribe(et=>ve(et?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_updatePositionInParent(xe){const Ze=this._elementRef.nativeElement,Ie=Ze.parentNode;"end"===xe?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),Ie.insertBefore(this._anchor,Ze)),Ie.appendChild(Ze)):this._anchor&&this._anchor.parentNode.insertBefore(Ze,this._anchor)}}F.\u0275fac=function(xe){return new(xe||F)(_.Y36(_.SBq),_.Y36(s.qV),_.Y36(s.tE),_.Y36(p.t4),_.Y36(_.R0b),_.Y36(s.ic),_.Y36(t.K0,8),_.Y36(a,8))},F.\u0275cmp=_.Xpm({type:F,selectors:[["mat-drawer"]],viewQuery:function(xe,Ze){if(1&xe&&_.Gf(ye,5),2&xe){let Ie;_.iGM(Ie=_.CRH())&&(Ze._content=Ie.first)}},hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(xe,Ze){1&xe&&_.WFA("@transform.start",function(ve){return Ze._animationStarted.next(ve)})("@transform.done",function(ve){return Ze._animationEnd.next(ve)}),2&xe&&(_.uIk("align",null),_.d8E("@transform",Ze._animationState),_.ekj("mat-drawer-end","end"===Ze.position)("mat-drawer-over","over"===Ze.mode)("mat-drawer-push","push"===Ze.mode)("mat-drawer-side","side"===Ze.mode)("mat-drawer-opened",Ze.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:ce,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(xe,Ze){1&xe&&(_.F$t(),_.TgZ(0,"div",0,1),_.Hsn(2),_.qZA())},dependencies:[e.PQ],encapsulation:2,data:{animation:[L.transformDrawer]},changeDetection:0});class X{constructor(xe,Ze,Ie,ve,et,ht=!1,Le){this._dir=xe,this._element=Ze,this._ngZone=Ie,this._changeDetectorRef=ve,this._animationMode=Le,this._drawers=new _.n_E,this.backdropClick=new _.vpe,this._destroyed=new S.x,this._doCheckSubject=new S.x,this._contentMargins={left:null,right:null},this._contentMarginChanges=new S.x,xe&&xe.change.pipe((0,W.R)(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),et.change().pipe((0,W.R)(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=ht}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(xe){this._autosize=(0,u.Ig)(xe)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(xe){this._backdropOverride=null==xe?null:(0,u.Ig)(xe)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe((0,ie.O)(this._allDrawers),(0,W.R)(this._destroyed)).subscribe(xe=>{this._drawers.reset(xe.filter(Ze=>!Ze._container||Ze._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe((0,ie.O)(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(xe=>{this._watchDrawerToggle(xe),this._watchDrawerPosition(xe),this._watchDrawerMode(xe)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe((0,ae.b)(10),(0,W.R)(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(xe=>xe.open())}close(){this._drawers.forEach(xe=>xe.close())}updateContentMargins(){let xe=0,Ze=0;if(this._left&&this._left.opened)if("side"==this._left.mode)xe+=this._left._getWidth();else if("push"==this._left.mode){const Ie=this._left._getWidth();xe+=Ie,Ze-=Ie}if(this._right&&this._right.opened)if("side"==this._right.mode)Ze+=this._right._getWidth();else if("push"==this._right.mode){const Ie=this._right._getWidth();Ze+=Ie,xe-=Ie}xe=xe||null,Ze=Ze||null,(xe!==this._contentMargins.left||Ze!==this._contentMargins.right)&&(this._contentMargins={left:xe,right:Ze},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(xe){xe._animationStarted.pipe((0,M.h)(Ze=>Ze.fromState!==Ze.toState),(0,W.R)(this._drawers.changes)).subscribe(Ze=>{"open-instant"!==Ze.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==xe.mode&&xe.openedChange.pipe((0,W.R)(this._drawers.changes)).subscribe(()=>this._setContainerClass(xe.opened))}_watchDrawerPosition(xe){!xe||xe.onPositionChanged.pipe((0,W.R)(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe((0,Q.q)(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(xe){xe&&xe._modeChanged.pipe((0,W.R)((0,P.T)(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(xe){const Ze=this._element.nativeElement.classList,Ie="mat-drawer-container-has-open";xe?Ze.add(Ie):Ze.remove(Ie)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(xe=>{"end"==xe.position?(this._end,this._end=xe):(this._start,this._start=xe)}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(xe=>xe&&!xe.disableClose&&this._canHaveBackdrop(xe)).forEach(xe=>xe._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(xe){return"side"!==xe.mode||!!this._backdropOverride}_isDrawerOpen(xe){return null!=xe&&xe.opened}}X.\u0275fac=function(xe){return new(xe||X)(_.Y36(D.Is,8),_.Y36(_.SBq),_.Y36(_.R0b),_.Y36(_.sBO),_.Y36(e.rL),_.Y36(v),_.Y36(_.QbO,8))},X.\u0275cmp=_.Xpm({type:X,selectors:[["mat-drawer-container"]],contentQueries:function(xe,Ze,Ie){if(1&xe&&(_.Suo(Ie,N,5),_.Suo(Ie,F,5)),2&xe){let ve;_.iGM(ve=_.CRH())&&(Ze._content=ve.first),_.iGM(ve=_.CRH())&&(Ze._allDrawers=ve)}},viewQuery:function(xe,Ze){if(1&xe&&_.Gf(N,5),2&xe){let Ie;_.iGM(Ie=_.CRH())&&(Ze._userContent=Ie.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(xe,Ze){2&xe&&_.ekj("mat-drawer-container-explicit-backdrop",Ze._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[_._Bn([{provide:a,useExisting:X}])],ngContentSelectors:["mat-drawer","mat-drawer-content","*"],decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(xe,Ze){1&xe&&(_.F$t(he),_.YNc(0,ue,1,2,"div",0),_.Hsn(1),_.Hsn(2,1),_.YNc(3,$,2,0,"mat-drawer-content",1)),2&xe&&(_.Q6J("ngIf",Ze.hasBackdrop),_.xp6(3),_.Q6J("ngIf",!Ze._content))},dependencies:[t.O5,N],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}'],encapsulation:2,changeDetection:0});class Fe extends N{constructor(xe,Ze,Ie,ve,et){super(xe,Ze,Ie,ve,et)}}Fe.\u0275fac=function(xe){return new(xe||Fe)(_.Y36(_.sBO),_.Y36((0,_.Gpc)(()=>Ke)),_.Y36(_.SBq),_.Y36(e.mF),_.Y36(_.R0b))},Fe.\u0275cmp=_.Xpm({type:Fe,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(xe,Ze){2&xe&&_.Udp("margin-left",Ze._container._contentMargins.left,"px")("margin-right",Ze._container._contentMargins.right,"px")},features:[_._Bn([{provide:e.PQ,useExisting:Fe}]),_.qOj],ngContentSelectors:ce,decls:1,vars:0,template:function(xe,Ze){1&xe&&(_.F$t(),_.Hsn(0))},encapsulation:2,changeDetection:0});class ke extends F{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(xe){this._fixedInViewport=(0,u.Ig)(xe)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(xe){this._fixedTopGap=(0,u.su)(xe)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(xe){this._fixedBottomGap=(0,u.su)(xe)}}ke.\u0275fac=function(){let Ve;return function(Ze){return(Ve||(Ve=_.n5z(ke)))(Ze||ke)}}(),ke.\u0275cmp=_.Xpm({type:ke,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(xe,Ze){2&xe&&(_.uIk("align",null),_.Udp("top",Ze.fixedInViewport?Ze.fixedTopGap:null,"px")("bottom",Ze.fixedInViewport?Ze.fixedBottomGap:null,"px"),_.ekj("mat-drawer-end","end"===Ze.position)("mat-drawer-over","over"===Ze.mode)("mat-drawer-push","push"===Ze.mode)("mat-drawer-side","side"===Ze.mode)("mat-drawer-opened",Ze.opened)("mat-sidenav-fixed",Ze.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[_.qOj],ngContentSelectors:ce,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(xe,Ze){1&xe&&(_.F$t(),_.TgZ(0,"div",0,1),_.Hsn(2),_.qZA())},dependencies:[e.PQ],encapsulation:2,data:{animation:[L.transformDrawer]},changeDetection:0});class Ke extends X{}Ke.\u0275fac=function(){let Ve;return function(Ze){return(Ve||(Ve=_.n5z(Ke)))(Ze||Ke)}}(),Ke.\u0275cmp=_.Xpm({type:Ke,selectors:[["mat-sidenav-container"]],contentQueries:function(xe,Ze,Ie){if(1&xe&&(_.Suo(Ie,Fe,5),_.Suo(Ie,ke,5)),2&xe){let ve;_.iGM(ve=_.CRH())&&(Ze._content=ve.first),_.iGM(ve=_.CRH())&&(Ze._allDrawers=ve)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(xe,Ze){2&xe&&_.ekj("mat-drawer-container-explicit-backdrop",Ze._backdropOverride)},exportAs:["matSidenavContainer"],features:[_._Bn([{provide:a,useExisting:Ke}]),_.qOj],ngContentSelectors:["mat-sidenav","mat-sidenav-content","*"],decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(xe,Ze){1&xe&&(_.F$t(h),_.YNc(0,n,1,2,"div",0),_.Hsn(1),_.Hsn(2,1),_.YNc(3,o,2,0,"mat-sidenav-content",1)),2&xe&&(_.Q6J("ngIf",Ze.hasBackdrop),_.xp6(3),_.Q6J("ngIf",!Ze._content))},dependencies:[t.O5,Fe],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}'],encapsulation:2,changeDetection:0});class je{}je.\u0275fac=function(xe){return new(xe||je)},je.\u0275mod=_.oAB({type:je}),je.\u0275inj=_.cJS({imports:[t.ez,E.BQ,e.ZD,e.ZD,E.BQ]})},4714:(Ue,q,m)=>{"use strict";m.d(q,{Rr:()=>W,rP:()=>ae});var e=m(3773),t=m(2560),_=m(207),E=m(4218),s=m(8971),D=m(2508);const u=["input"],k=function(_e){return{enterDuration:_e}},S=new t.OlP("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let A=0;const P={provide:D.JU,useExisting:(0,t.Gpc)(()=>W),multi:!0};class M{constructor(ce,ye){this.source=ce,this.checked=ye}}const z=(0,_.sb)((0,_.pj)((0,_.Kr)((0,_.Id)(class{constructor(_e){this._elementRef=_e}}))));class I extends z{constructor(ce,ye,ue,$,he,w,n){super(ce),this._focusMonitor=ye,this._changeDetectorRef=ue,this.defaults=he,this._onChange=o=>{},this._onTouched=()=>{},this._required=!1,this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new t.vpe,this.toggleChange=new t.vpe,this.tabIndex=parseInt($)||0,this.color=this.defaultColor=he.color||"accent",this._noopAnimations="NoopAnimations"===w,this.id=this._uniqueId=`${n}${++A}`}get required(){return this._required}set required(ce){this._required=(0,s.Ig)(ce)}get checked(){return this._checked}set checked(ce){this._checked=(0,s.Ig)(ce),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(ce=>{"keyboard"===ce||"program"===ce?this._focused=!0:ce||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(ce){this.checked=!!ce}registerOnChange(ce){this._onChange=ce}registerOnTouched(ce){this._onTouched=ce}setDisabledState(ce){this.disabled=ce,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}}I.\u0275fac=function(ce){t.$Z()},I.\u0275dir=t.lG2({type:I,inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],required:"required",checked:"checked"},outputs:{change:"change",toggleChange:"toggleChange"},features:[t.qOj]});class W extends I{constructor(ce,ye,ue,$,he,w){super(ce,ye,ue,$,he,w,"mat-slide-toggle-")}_createChangeEvent(ce){return new M(this,ce)}_onChangeEvent(ce){ce.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(ce){ce.stopPropagation()}focus(ce,ye){ye?this._focusMonitor.focusVia(this._inputElement,ye,ce):this._inputElement.nativeElement.focus(ce)}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}W.\u0275fac=function(ce){return new(ce||W)(t.Y36(t.SBq),t.Y36(E.tE),t.Y36(t.sBO),t.$8M("tabindex"),t.Y36(S),t.Y36(t.QbO,8))},W.\u0275cmp=t.Xpm({type:W,selectors:[["mat-slide-toggle"]],viewQuery:function(ce,ye){if(1&ce&&t.Gf(u,5),2&ce){let ue;t.iGM(ue=t.CRH())&&(ye._inputElement=ue.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:13,hostBindings:function(ce,ye){2&ce&&(t.Ikx("id",ye.id),t.uIk("tabindex",null)("aria-label",null)("aria-labelledby",null)("name",null),t.ekj("mat-checked",ye.checked)("mat-disabled",ye.disabled)("mat-slide-toggle-label-before","before"==ye.labelPosition)("_mat-animation-noopable",ye._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matSlideToggle"],features:[t._Bn([P]),t.qOj],ngContentSelectors:["*"],decls:14,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(ce,ye){if(1&ce&&(t.F$t(),t.TgZ(0,"label",0,1)(2,"span",2)(3,"input",3,4),t.NdJ("change",function($){return ye._onChangeEvent($)})("click",function($){return ye._onInputClick($)}),t.qZA(),t.TgZ(5,"span",5),t._UZ(6,"span",6),t.TgZ(7,"span",7),t._UZ(8,"span",8),t.qZA()()(),t.TgZ(9,"span",9,10),t.NdJ("cdkObserveContent",function(){return ye._onLabelTextChange()}),t.TgZ(11,"span",11),t._uU(12,"\xa0"),t.qZA(),t.Hsn(13),t.qZA()()),2&ce){const ue=t.MAs(1),$=t.MAs(10);t.uIk("for",ye.inputId),t.xp6(2),t.ekj("mat-slide-toggle-bar-no-side-margin",!$.textContent||!$.textContent.trim()),t.xp6(1),t.Q6J("id",ye.inputId)("required",ye.required)("tabIndex",ye.tabIndex)("checked",ye.checked)("disabled",ye.disabled),t.uIk("name",ye.name)("aria-checked",ye.checked)("aria-label",ye.ariaLabel)("aria-labelledby",ye.ariaLabelledby)("aria-describedby",ye.ariaDescribedby),t.xp6(4),t.Q6J("matRippleTrigger",ue)("matRippleDisabled",ye.disableRipple||ye.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",t.VKq(18,k,ye._noopAnimations?0:150))}},dependencies:[_.wG,e.wD],styles:['.mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%;display:block}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.mat-slide-toggle-input:focus~.mat-slide-toggle-thumb-container .mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}'],encapsulation:2,changeDetection:0});const Z={provide:D.Cf,useExisting:(0,t.Gpc)(()=>Q),multi:!0};class Q extends D.Zs{}Q.\u0275fac=function(){let _e;return function(ye){return(_e||(_e=t.n5z(Q)))(ye||Q)}}(),Q.\u0275dir=t.lG2({type:Q,selectors:[["mat-slide-toggle","required","","formControlName",""],["mat-slide-toggle","required","","formControl",""],["mat-slide-toggle","required","","ngModel",""]],features:[t._Bn([Z]),t.qOj]});class ie{}ie.\u0275fac=function(ce){return new(ce||ie)},ie.\u0275mod=t.oAB({type:ie}),ie.\u0275inj=t.cJS({});class ae{}ae.\u0275fac=function(ce){return new(ce||ae)},ae.\u0275mod=t.oAB({type:ae}),ae.\u0275inj=t.cJS({imports:[ie,_.si,_.BQ,e.Q8,ie,_.BQ]})},930:(Ue,q,m)=>{"use strict";m.d(q,{Ve:()=>$,ZX:()=>ue,ux:()=>n});var e=m(5895),t=m(7520),_=m(4666),E=m(2560),s=m(207),D=m(4522),u=m(253),k=m(9107),p=m(9295),S=m(8951),A=m(4851),P=m(4218),M=m(3278);function z(o,h){if(1&o){const d=E.EpF();E.TgZ(0,"div",2)(1,"button",3),E.NdJ("click",function(){E.CHM(d);const L=E.oxw();return E.KtG(L.action())}),E._uU(2),E.qZA()()}if(2&o){const d=E.oxw();E.xp6(2),E.Oqu(d.data.action)}}function I(o,h){}const W=new E.OlP("MatSnackBarData");class Z{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const Q=Math.pow(2,31)-1;class ie{constructor(h,d){this._overlayRef=d,this._afterDismissed=new u.x,this._afterOpened=new u.x,this._onAction=new u.x,this._dismissedByAction=!1,this.containerInstance=h,h._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(h){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(h,Q))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}class ae{constructor(h,d){this.snackBarRef=h,this.data=d}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}ae.\u0275fac=function(h){return new(h||ae)(E.Y36(ie),E.Y36(W))},ae.\u0275cmp=E.Xpm({type:ae,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[[1,"mat-simple-snack-bar-content"],["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(h,d){1&h&&(E.TgZ(0,"span",0),E._uU(1),E.qZA(),E.YNc(2,z,3,1,"div",1)),2&h&&(E.xp6(1),E.Oqu(d.data.message),E.xp6(1),E.Q6J("ngIf",d.hasAction))},dependencies:[_.O5,D.lW],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}"],encapsulation:2,changeDetection:0});const _e={snackBarState:(0,A.X$)("state",[(0,A.SB)("void, hidden",(0,A.oB)({transform:"scale(0.8)",opacity:0})),(0,A.SB)("visible",(0,A.oB)({transform:"scale(1)",opacity:1})),(0,A.eR)("* => visible",(0,A.jt)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,A.eR)("* => void, * => hidden",(0,A.jt)("75ms cubic-bezier(0.4, 0.0, 1, 1)",(0,A.oB)({opacity:0})))])};class ce extends t.en{constructor(h,d,y,L,B){super(),this._ngZone=h,this._elementRef=d,this._changeDetectorRef=y,this._platform=L,this.snackBarConfig=B,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new u.x,this._onExit=new u.x,this._onEnter=new u.x,this._animationState="void",this.attachDomPortal=v=>{this._assertNotAttached();const a=this._portalOutlet.attachDomPortal(v);return this._afterPortalAttached(),a},"assertive"!==B.politeness||B.announcementMessage?"off"===B.politeness?this._live="off":this._live="polite":this._live="assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(h){this._assertNotAttached();const d=this._portalOutlet.attachComponentPortal(h);return this._afterPortalAttached(),d}attachTemplatePortal(h){this._assertNotAttached();const d=this._portalOutlet.attachTemplatePortal(h);return this._afterPortalAttached(),d}onAnimationEnd(h){const{fromState:d,toState:y}=h;if(("void"===y&&"void"!==d||"hidden"===y)&&this._completeExit(),"visible"===y){const L=this._onEnter;this._ngZone.run(()=>{L.next(),L.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe((0,p.q)(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const h=this._elementRef.nativeElement,d=this.snackBarConfig.panelClass;d&&(Array.isArray(d)?d.forEach(y=>h.classList.add(y)):h.classList.add(d))}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const h=this._elementRef.nativeElement.querySelector("[aria-hidden]"),d=this._elementRef.nativeElement.querySelector("[aria-live]");if(h&&d){let y=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&h.contains(document.activeElement)&&(y=document.activeElement),h.removeAttribute("aria-hidden"),d.appendChild(h),y?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}ce.\u0275fac=function(h){return new(h||ce)(E.Y36(E.R0b),E.Y36(E.SBq),E.Y36(E.sBO),E.Y36(k.t4),E.Y36(Z))},ce.\u0275dir=E.lG2({type:ce,viewQuery:function(h,d){if(1&h&&E.Gf(t.Pl,7),2&h){let y;E.iGM(y=E.CRH())&&(d._portalOutlet=y.first)}},features:[E.qOj]});class ye extends ce{_afterPortalAttached(){super._afterPortalAttached(),"center"===this.snackBarConfig.horizontalPosition&&this._elementRef.nativeElement.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&this._elementRef.nativeElement.classList.add("mat-snack-bar-top")}}ye.\u0275fac=function(){let o;return function(d){return(o||(o=E.n5z(ye)))(d||ye)}}(),ye.\u0275cmp=E.Xpm({type:ye,selectors:[["snack-bar-container"]],hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(h,d){1&h&&E.WFA("@state.done",function(L){return d.onAnimationEnd(L)}),2&h&&E.d8E("@state",d._animationState)},features:[E.qOj],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(h,d){1&h&&(E.TgZ(0,"div",0),E.YNc(1,I,0,0,"ng-template",1),E.qZA(),E._UZ(2,"div")),2&h&&(E.xp6(2),E.uIk("aria-live",d._live)("role",d._role))},dependencies:[t.Pl],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],encapsulation:2,data:{animation:[_e.snackBarState]}});class ue{}ue.\u0275fac=function(h){return new(h||ue)},ue.\u0275mod=E.oAB({type:ue}),ue.\u0275inj=E.cJS({imports:[e.U8,t.eL,_.ez,D.ot,s.BQ,s.BQ]});const $=new E.OlP("mat-snack-bar-default-options",{providedIn:"root",factory:function he(){return new Z}});class w{constructor(h,d,y,L,B,v){this._overlay=h,this._live=d,this._injector=y,this._breakpointObserver=L,this._parentSnackBar=B,this._defaultConfig=v,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const h=this._parentSnackBar;return h?h._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(h){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=h:this._snackBarRefAtThisLevel=h}openFromComponent(h,d){return this._attach(h,d)}openFromTemplate(h,d){return this._attach(h,d)}open(h,d="",y){const L={...this._defaultConfig,...y};return L.data={message:h,action:d},L.announcementMessage===h&&(L.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,L)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(h,d){const y=d&&d.viewContainerRef&&d.viewContainerRef.injector,L=E.zs3.create({parent:y||this._injector,providers:[{provide:Z,useValue:d}]}),B=new t.C5(this.snackBarContainerComponent,d.viewContainerRef,L),v=h.attach(B);return v.instance.snackBarConfig=d,v.instance}_attach(h,d){const y={...new Z,...this._defaultConfig,...d},L=this._createOverlay(y),B=this._attachSnackBarContainer(L,y),v=new ie(B,L);if(h instanceof E.Rgc){const a=new t.UE(h,null,{$implicit:y.data,snackBarRef:v});v.instance=B.attachTemplatePortal(a)}else{const a=this._createInjector(y,v),C=new t.C5(h,void 0,a),N=B.attachComponentPortal(C);v.instance=N.instance}return this._breakpointObserver.observe(M.u3.HandsetPortrait).pipe((0,S.R)(L.detachments())).subscribe(a=>{L.overlayElement.classList.toggle(this.handsetCssClass,a.matches)}),y.announcementMessage&&B._onAnnounce.subscribe(()=>{this._live.announce(y.announcementMessage,y.politeness)}),this._animateSnackBar(v,y),this._openedSnackBarRef=v,this._openedSnackBarRef}_animateSnackBar(h,d){h.afterDismissed().subscribe(()=>{this._openedSnackBarRef==h&&(this._openedSnackBarRef=null),d.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{h.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):h.containerInstance.enter(),d.duration&&d.duration>0&&h.afterOpened().subscribe(()=>h._dismissAfter(d.duration))}_createOverlay(h){const d=new e.X_;d.direction=h.direction;let y=this._overlay.position().global();const L="rtl"===h.direction,B="left"===h.horizontalPosition||"start"===h.horizontalPosition&&!L||"end"===h.horizontalPosition&&L,v=!B&&"center"!==h.horizontalPosition;return B?y.left("0"):v?y.right("0"):y.centerHorizontally(),"top"===h.verticalPosition?y.top("0"):y.bottom("0"),d.positionStrategy=y,this._overlay.create(d)}_createInjector(h,d){const y=h&&h.viewContainerRef&&h.viewContainerRef.injector;return E.zs3.create({parent:y||this._injector,providers:[{provide:ie,useValue:d},{provide:W,useValue:h.data}]})}}w.\u0275fac=function(h){return new(h||w)(E.LFG(e.aV),E.LFG(P.Kd),E.LFG(E.zs3),E.LFG(M.Yg),E.LFG(w,12),E.LFG($))},w.\u0275prov=E.Yz7({token:w,factory:w.\u0275fac});class n extends w{constructor(h,d,y,L,B,v){super(h,d,y,L,B,v),this.simpleSnackBarComponent=ae,this.snackBarContainerComponent=ye,this.handsetCssClass="mat-snack-bar-handset"}}n.\u0275fac=function(h){return new(h||n)(E.LFG(e.aV),E.LFG(P.Kd),E.LFG(E.zs3),E.LFG(M.Yg),E.LFG(n,12),E.LFG($))},n.\u0275prov=E.Yz7({token:n,factory:n.\u0275fac,providedIn:ue})},2197:(Ue,q,m)=>{"use strict";m.d(q,{JX:()=>n,YE:()=>ie,nU:()=>w});var e=m(2560),t=m(4218),_=m(8971),E=m(8456),s=m(207),D=m(253),u=m(6646),k=m(4851),p=m(4666);function A(o,h){if(1&o){const d=e.EpF();e.TgZ(0,"div",3),e.NdJ("@arrowPosition.start",function(){e.CHM(d);const L=e.oxw();return e.KtG(L._disableViewStateAnimation=!0)})("@arrowPosition.done",function(){e.CHM(d);const L=e.oxw();return e.KtG(L._disableViewStateAnimation=!1)}),e._UZ(1,"div",4),e.TgZ(2,"div",5),e._UZ(3,"div",6)(4,"div",7)(5,"div",8),e.qZA()()}if(2&o){const d=e.oxw();e.Q6J("@arrowOpacity",d._getArrowViewState())("@arrowPosition",d._getArrowViewState())("@allowChildren",d._getArrowDirectionState()),e.xp6(2),e.Q6J("@indicator",d._getArrowDirectionState()),e.xp6(1),e.Q6J("@leftPointer",d._getArrowDirectionState()),e.xp6(1),e.Q6J("@rightPointer",d._getArrowDirectionState())}}const Z=new e.OlP("MAT_SORT_DEFAULT_OPTIONS"),Q=(0,s.dB)((0,s.Id)(class{}));class ie extends Q{constructor(h){super(),this._defaultOptions=h,this.sortables=new Map,this._stateChanges=new D.x,this.start="asc",this._direction="",this.sortChange=new e.vpe}get direction(){return this._direction}set direction(h){this._direction=h}get disableClear(){return this._disableClear}set disableClear(h){this._disableClear=(0,_.Ig)(h)}register(h){this.sortables.set(h.id,h)}deregister(h){this.sortables.delete(h.id)}sort(h){this.active!=h.id?(this.active=h.id,this.direction=h.start?h.start:this.start):this.direction=this.getNextSortDirection(h),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(h){if(!h)return"";const d=h?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear;let y=function ae(o,h){let d=["asc","desc"];return"desc"==o&&d.reverse(),h||d.push(""),d}(h.start||this.start,d),L=y.indexOf(this.direction)+1;return L>=y.length&&(L=0),y[L]}ngOnInit(){this._markInitialized()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}ie.\u0275fac=function(h){return new(h||ie)(e.Y36(Z,8))},ie.\u0275dir=e.lG2({type:ie,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{disabled:["matSortDisabled","disabled"],active:["matSortActive","active"],start:["matSortStart","start"],direction:["matSortDirection","direction"],disableClear:["matSortDisableClear","disableClear"]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[e.qOj,e.TTD]});const _e=s.mZ.ENTERING+" "+s.yN.STANDARD_CURVE,ce={indicator:(0,k.X$)("indicator",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"translateY(0px)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"translateY(10px)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(_e))]),leftPointer:(0,k.X$)("leftPointer",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"rotate(-45deg)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"rotate(45deg)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(_e))]),rightPointer:(0,k.X$)("rightPointer",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"rotate(45deg)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"rotate(-45deg)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(_e))]),arrowOpacity:(0,k.X$)("arrowOpacity",[(0,k.SB)("desc-to-active, asc-to-active, active",(0,k.oB)({opacity:1})),(0,k.SB)("desc-to-hint, asc-to-hint, hint",(0,k.oB)({opacity:.54})),(0,k.SB)("hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void",(0,k.oB)({opacity:0})),(0,k.eR)("* => asc, * => desc, * => active, * => hint, * => void",(0,k.jt)("0ms")),(0,k.eR)("* <=> *",(0,k.jt)(_e))]),arrowPosition:(0,k.X$)("arrowPosition",[(0,k.eR)("* => desc-to-hint, * => desc-to-active",(0,k.jt)(_e,(0,k.F4)([(0,k.oB)({transform:"translateY(-25%)"}),(0,k.oB)({transform:"translateY(0)"})]))),(0,k.eR)("* => hint-to-desc, * => active-to-desc",(0,k.jt)(_e,(0,k.F4)([(0,k.oB)({transform:"translateY(0)"}),(0,k.oB)({transform:"translateY(25%)"})]))),(0,k.eR)("* => asc-to-hint, * => asc-to-active",(0,k.jt)(_e,(0,k.F4)([(0,k.oB)({transform:"translateY(25%)"}),(0,k.oB)({transform:"translateY(0)"})]))),(0,k.eR)("* => hint-to-asc, * => active-to-asc",(0,k.jt)(_e,(0,k.F4)([(0,k.oB)({transform:"translateY(0)"}),(0,k.oB)({transform:"translateY(-25%)"})]))),(0,k.SB)("desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active",(0,k.oB)({transform:"translateY(0)"})),(0,k.SB)("hint-to-desc, active-to-desc, desc",(0,k.oB)({transform:"translateY(-25%)"})),(0,k.SB)("hint-to-asc, active-to-asc, asc",(0,k.oB)({transform:"translateY(25%)"}))]),allowChildren:(0,k.X$)("allowChildren",[(0,k.eR)("* <=> *",[(0,k.IO)("@*",(0,k.pV)(),{optional:!0})])])};class ye{constructor(){this.changes=new D.x}}ye.\u0275fac=function(h){return new(h||ye)},ye.\u0275prov=e.Yz7({token:ye,factory:ye.\u0275fac,providedIn:"root"});const $={provide:ye,deps:[[new e.FiY,new e.tp0,ye]],useFactory:function ue(o){return o||new ye}},he=(0,s.Id)(class{});class w extends he{constructor(h,d,y,L,B,v,a,C){super(),this._intl=h,this._changeDetectorRef=d,this._sort=y,this._columnDef=L,this._focusMonitor=B,this._elementRef=v,this._ariaDescriber=a,this._showIndicatorHint=!1,this._viewState={},this._arrowDirection="",this._disableViewStateAnimation=!1,this.arrowPosition="after",this._sortActionDescription="Sort",C?.arrowPosition&&(this.arrowPosition=C?.arrowPosition),this._handleStateChanges()}get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(h){this._updateSortActionDescription(h)}get disableClear(){return this._disableClear}set disableClear(h){this._disableClear=(0,_.Ig)(h)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._updateArrowDirection(),this._setAnimationTransitionState({toState:this._isSorted()?"active":this._arrowDirection}),this._sort.register(this),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(h=>{const d=!!h;d!==this._showIndicatorHint&&(this._setIndicatorHintVisible(d),this._changeDetectorRef.markForCheck())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._rerenderSubscription.unsubscribe()}_setIndicatorHintVisible(h){this._isDisabled()&&h||(this._showIndicatorHint=h,this._isSorted()||(this._updateArrowDirection(),this._showIndicatorHint?this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"hint"}):this._setAnimationTransitionState({fromState:"hint",toState:this._arrowDirection})))}_setAnimationTransitionState(h){this._viewState=h||{},this._disableViewStateAnimation&&(this._viewState={toState:h.toState})}_toggleOnInteraction(){this._sort.sort(this),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0)}_handleClick(){this._isDisabled()||this._sort.sort(this)}_handleKeydown(h){!this._isDisabled()&&(h.keyCode===E.L_||h.keyCode===E.K5)&&(h.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&("asc"===this._sort.direction||"desc"===this._sort.direction)}_getArrowDirectionState(){return`${this._isSorted()?"active-":""}${this._arrowDirection}`}_getArrowViewState(){const h=this._viewState.fromState;return(h?`${h}-to-`:"")+this._viewState.toState}_updateArrowDirection(){this._arrowDirection=this._isSorted()?this._sort.direction:this.start||this._sort.start}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?"asc"==this._sort.direction?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(h){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,h)),this._sortActionDescription=h}_handleStateChanges(){this._rerenderSubscription=(0,u.T)(this._sort.sortChange,this._sort._stateChanges,this._intl.changes).subscribe(()=>{this._isSorted()&&(this._updateArrowDirection(),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0),this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"active"}),this._showIndicatorHint=!1),!this._isSorted()&&this._viewState&&"active"===this._viewState.toState&&(this._disableViewStateAnimation=!1,this._setAnimationTransitionState({fromState:"active",toState:this._arrowDirection})),this._changeDetectorRef.markForCheck()})}}w.\u0275fac=function(h){return new(h||w)(e.Y36(ye),e.Y36(e.sBO),e.Y36(ie,8),e.Y36("MAT_SORT_HEADER_COLUMN_DEF",8),e.Y36(t.tE),e.Y36(e.SBq),e.Y36(t.$s,8),e.Y36(Z,8))},w.\u0275cmp=e.Xpm({type:w,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(h,d){1&h&&e.NdJ("click",function(){return d._handleClick()})("keydown",function(L){return d._handleKeydown(L)})("mouseenter",function(){return d._setIndicatorHintVisible(!0)})("mouseleave",function(){return d._setIndicatorHintVisible(!1)}),2&h&&(e.uIk("aria-sort",d._getAriaSortAttribute()),e.ekj("mat-sort-header-disabled",d._isDisabled()))},inputs:{disabled:"disabled",id:["mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",sortActionDescription:"sortActionDescription",disableClear:"disableClear"},exportAs:["matSortHeader"],features:[e.qOj],attrs:["mat-sort-header",""],ngContentSelectors:["*"],decls:4,vars:7,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],["class","mat-sort-header-arrow",4,"ngIf"],[1,"mat-sort-header-arrow"],[1,"mat-sort-header-stem"],[1,"mat-sort-header-indicator"],[1,"mat-sort-header-pointer-left"],[1,"mat-sort-header-pointer-right"],[1,"mat-sort-header-pointer-middle"]],template:function(h,d){1&h&&(e.F$t(),e.TgZ(0,"div",0)(1,"div",1),e.Hsn(2),e.qZA(),e.YNc(3,A,6,6,"div",2),e.qZA()),2&h&&(e.ekj("mat-sort-header-sorted",d._isSorted())("mat-sort-header-position-before","before"===d.arrowPosition),e.uIk("tabindex",d._isDisabled()?null:0)("role",d._isDisabled()?null:"button"),e.xp6(3),e.Q6J("ngIf",d._renderArrow()))},dependencies:[p.O5],styles:[".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}"],encapsulation:2,data:{animation:[ce.indicator,ce.leftPointer,ce.rightPointer,ce.arrowOpacity,ce.arrowPosition,ce.allowChildren]},changeDetection:0});class n{}n.\u0275fac=function(h){return new(h||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({providers:[$],imports:[p.ez,s.BQ]})},4193:(Ue,q,m)=>{"use strict";m.d(q,{C0:()=>Le,Ic:()=>te,T5:()=>ee,VY:()=>Fe,Vq:()=>Ae,fd:()=>pe,z9:()=>et});var e=m(7520),t=m(1861),_=m(4666),E=m(2560),s=m(4522),D=m(207),u=m(7822),k=m(4218),p=m(253),S=m(7714),A=m(2867),P=m(2673),M=m(635),z=m(4874),I=m(8951),W=m(8977),Z=m(4851);function Q(H,j){if(1&H&&E.GkF(0,8),2&H){const Oe=E.oxw();E.Q6J("ngTemplateOutlet",Oe.iconOverrides[Oe.state])("ngTemplateOutletContext",Oe._getIconContext())}}function ie(H,j){if(1&H&&(E.TgZ(0,"span",13),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._getDefaultTextForState(Oe.state))}}function ae(H,j){if(1&H&&(E.TgZ(0,"span",14),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._intl.completedLabel)}}function _e(H,j){if(1&H&&(E.TgZ(0,"span",14),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._intl.editableLabel)}}function ce(H,j){if(1&H&&(E.TgZ(0,"mat-icon",13),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._getDefaultTextForState(Oe.state))}}function ye(H,j){if(1&H&&(E.ynx(0,9),E.YNc(1,ie,2,1,"span",10),E.YNc(2,ae,2,1,"span",11),E.YNc(3,_e,2,1,"span",11),E.YNc(4,ce,2,1,"mat-icon",12),E.BQk()),2&H){const Oe=E.oxw();E.Q6J("ngSwitch",Oe.state),E.xp6(1),E.Q6J("ngSwitchCase","number"),E.xp6(1),E.Q6J("ngIf","done"===Oe.state),E.xp6(1),E.Q6J("ngIf","edit"===Oe.state)}}function ue(H,j){if(1&H&&(E.TgZ(0,"div",15),E.GkF(1,16),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("ngTemplateOutlet",Oe._templateLabel().template)}}function $(H,j){if(1&H&&(E.TgZ(0,"div",15),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe.label)}}function he(H,j){if(1&H&&(E.TgZ(0,"div",17),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe._intl.optionalLabel)}}function w(H,j){if(1&H&&(E.TgZ(0,"div",18),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe.errorMessage)}}function n(H,j){}function o(H,j){if(1&H&&(E.Hsn(0),E.YNc(1,n,0,0,"ng-template",0)),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("cdkPortalOutlet",Oe._portal)}}function d(H,j){1&H&&E._UZ(0,"div",11)}const y=function(H,j){return{step:H,i:j}};function L(H,j){if(1&H&&(E.ynx(0),E.GkF(1,9),E.YNc(2,d,1,0,"div",10),E.BQk()),2&H){const Oe=j.$implicit,Re=j.index,le=j.last;E.oxw(2);const _t=E.MAs(4);E.xp6(1),E.Q6J("ngTemplateOutlet",_t)("ngTemplateOutletContext",E.WLB(3,y,Oe,Re)),E.xp6(1),E.Q6J("ngIf",!le)}}const B=function(H){return{animationDuration:H}},v=function(H,j){return{value:H,params:j}};function a(H,j){if(1&H){const Oe=E.EpF();E.TgZ(0,"div",12),E.NdJ("@horizontalStepTransition.done",function(le){E.CHM(Oe);const _t=E.oxw(2);return E.KtG(_t._animationDone.next(le))}),E.GkF(1,13),E.qZA()}if(2&H){const Oe=j.$implicit,Re=j.index,le=E.oxw(2);E.ekj("mat-horizontal-stepper-content-inactive",le.selectedIndex!==Re),E.Q6J("@horizontalStepTransition",E.WLB(8,v,le._getAnimationDirection(Re),E.VKq(6,B,le._getAnimationDuration())))("id",le._getStepContentId(Re)),E.uIk("aria-labelledby",le._getStepLabelId(Re)),E.xp6(1),E.Q6J("ngTemplateOutlet",Oe.content)}}function C(H,j){if(1&H&&(E.TgZ(0,"div",4)(1,"div",5),E.YNc(2,L,3,6,"ng-container",6),E.qZA(),E.TgZ(3,"div",7),E.YNc(4,a,2,11,"div",8),E.qZA()()),2&H){const Oe=E.oxw();E.xp6(2),E.Q6J("ngForOf",Oe.steps),E.xp6(2),E.Q6J("ngForOf",Oe.steps)}}function N(H,j){if(1&H){const Oe=E.EpF();E.TgZ(0,"div",15),E.GkF(1,9),E.TgZ(2,"div",16)(3,"div",17),E.NdJ("@verticalStepTransition.done",function(le){E.CHM(Oe);const _t=E.oxw(2);return E.KtG(_t._animationDone.next(le))}),E.TgZ(4,"div",18),E.GkF(5,13),E.qZA()()()()}if(2&H){const Oe=j.$implicit,Re=j.index,le=j.last,_t=E.oxw(2),it=E.MAs(4);E.xp6(1),E.Q6J("ngTemplateOutlet",it)("ngTemplateOutletContext",E.WLB(10,y,Oe,Re)),E.xp6(1),E.ekj("mat-stepper-vertical-line",!le),E.xp6(1),E.ekj("mat-vertical-stepper-content-inactive",_t.selectedIndex!==Re),E.Q6J("@verticalStepTransition",E.WLB(15,v,_t._getAnimationDirection(Re),E.VKq(13,B,_t._getAnimationDuration())))("id",_t._getStepContentId(Re)),E.uIk("aria-labelledby",_t._getStepLabelId(Re)),E.xp6(2),E.Q6J("ngTemplateOutlet",Oe.content)}}function F(H,j){if(1&H&&(E.ynx(0),E.YNc(1,N,6,18,"div",14),E.BQk()),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("ngForOf",Oe.steps)}}function X(H,j){if(1&H){const Oe=E.EpF();E.TgZ(0,"mat-step-header",19),E.NdJ("click",function(){const _t=E.CHM(Oe).step;return E.KtG(_t.select())})("keydown",function(le){E.CHM(Oe);const _t=E.oxw();return E.KtG(_t._onKeydown(le))}),E.qZA()}if(2&H){const Oe=j.step,Re=j.i,le=E.oxw();E.ekj("mat-horizontal-stepper-header","horizontal"===le.orientation)("mat-vertical-stepper-header","vertical"===le.orientation),E.Q6J("tabIndex",le._getFocusIndex()===Re?0:-1)("id",le._getStepLabelId(Re))("index",Re)("state",le._getIndicatorType(Re,Oe.state))("label",Oe.stepLabel||Oe.label)("selected",le.selectedIndex===Re)("active",le._stepIsNavigable(Re,Oe))("optional",Oe.optional)("errorMessage",Oe.errorMessage)("iconOverrides",le._iconOverrides)("disableRipple",le.disableRipple||!le._stepIsNavigable(Re,Oe))("color",Oe.color||le.color),E.uIk("aria-posinset",Re+1)("aria-setsize",le.steps.length)("aria-controls",le._getStepContentId(Re))("aria-selected",le.selectedIndex==Re)("aria-label",Oe.ariaLabel||null)("aria-labelledby",!Oe.ariaLabel&&Oe.ariaLabelledby?Oe.ariaLabelledby:null)("aria-disabled",!le._stepIsNavigable(Re,Oe)||null)}}class Fe extends t.u6{}Fe.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(Fe)))(Oe||Fe)}}(),Fe.\u0275dir=E.lG2({type:Fe,selectors:[["","matStepLabel",""]],features:[E.qOj]});class ke{constructor(){this.changes=new p.x,this.optionalLabel="Optional",this.completedLabel="Completed",this.editableLabel="Editable"}}ke.\u0275fac=function(j){return new(j||ke)},ke.\u0275prov=E.Yz7({token:ke,factory:ke.\u0275fac,providedIn:"root"});const je={provide:ke,deps:[[new E.FiY,new E.tp0,ke]],useFactory:function Ke(H){return H||new ke}},Ve=(0,D.pj)(class extends t.KL{constructor(j){super(j)}},"primary");class xe extends Ve{constructor(j,Oe,Re,le){super(Re),this._intl=j,this._focusMonitor=Oe,this._intlSubscription=j.changes.subscribe(()=>le.markForCheck())}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)}focus(j,Oe){j?this._focusMonitor.focusVia(this._elementRef,j,Oe):this._elementRef.nativeElement.focus(Oe)}_stringLabel(){return this.label instanceof Fe?null:this.label}_templateLabel(){return this.label instanceof Fe?this.label:null}_getHostElement(){return this._elementRef.nativeElement}_getIconContext(){return{index:this.index,active:this.active,optional:this.optional}}_getDefaultTextForState(j){return"number"==j?`${this.index+1}`:"edit"==j?"create":"error"==j?"warning":j}}xe.\u0275fac=function(j){return new(j||xe)(E.Y36(ke),E.Y36(k.tE),E.Y36(E.SBq),E.Y36(E.sBO))},xe.\u0275cmp=E.Xpm({type:xe,selectors:[["mat-step-header"]],hostAttrs:["role","tab",1,"mat-step-header"],inputs:{color:"color",state:"state",label:"label",errorMessage:"errorMessage",iconOverrides:"iconOverrides",index:"index",selected:"selected",active:"active",optional:"optional",disableRipple:"disableRipple"},features:[E.qOj],decls:10,vars:19,consts:[["matRipple","",1,"mat-step-header-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-step-icon-content",3,"ngSwitch"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngSwitchCase"],[3,"ngSwitch",4,"ngSwitchDefault"],[1,"mat-step-label"],["class","mat-step-text-label",4,"ngIf"],["class","mat-step-optional",4,"ngIf"],["class","mat-step-sub-label-error",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngSwitch"],["aria-hidden","true",4,"ngSwitchCase"],["class","cdk-visually-hidden",4,"ngIf"],["aria-hidden","true",4,"ngSwitchDefault"],["aria-hidden","true"],[1,"cdk-visually-hidden"],[1,"mat-step-text-label"],[3,"ngTemplateOutlet"],[1,"mat-step-optional"],[1,"mat-step-sub-label-error"]],template:function(j,Oe){1&j&&(E._UZ(0,"div",0),E.TgZ(1,"div")(2,"div",1),E.YNc(3,Q,1,2,"ng-container",2),E.YNc(4,ye,5,4,"ng-container",3),E.qZA()(),E.TgZ(5,"div",4),E.YNc(6,ue,2,1,"div",5),E.YNc(7,$,2,1,"div",5),E.YNc(8,he,2,1,"div",6),E.YNc(9,w,2,1,"div",7),E.qZA()),2&j&&(E.Q6J("matRippleTrigger",Oe._getHostElement())("matRippleDisabled",Oe.disableRipple),E.xp6(1),E.Gre("mat-step-icon-state-",Oe.state," mat-step-icon"),E.ekj("mat-step-icon-selected",Oe.selected),E.xp6(1),E.Q6J("ngSwitch",!(!Oe.iconOverrides||!Oe.iconOverrides[Oe.state])),E.xp6(1),E.Q6J("ngSwitchCase",!0),E.xp6(2),E.ekj("mat-step-label-active",Oe.active)("mat-step-label-selected",Oe.selected)("mat-step-label-error","error"==Oe.state),E.xp6(1),E.Q6J("ngIf",Oe._templateLabel()),E.xp6(1),E.Q6J("ngIf",Oe._stringLabel()),E.xp6(1),E.Q6J("ngIf",Oe.optional&&"error"!=Oe.state),E.xp6(1),E.Q6J("ngIf","error"==Oe.state))},dependencies:[_.O5,_.tP,_.RF,_.n9,_.ED,u.Hw,D.wG],styles:['.mat-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-step-header:focus .mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-step-header{outline:solid 1px}.cdk-high-contrast-active .mat-step-header[aria-selected=true] .mat-step-label{text-decoration:underline}.cdk-high-contrast-active .mat-step-header[aria-disabled=true]{outline-color:GrayText}.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-label,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-icon,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-optional{color:GrayText}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,changeDetection:0});const ve={horizontalStepTransition:(0,Z.X$)("horizontalStepTransition",[(0,Z.SB)("previous",(0,Z.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),(0,Z.SB)("current",(0,Z.oB)({transform:"none",visibility:"inherit"})),(0,Z.SB)("next",(0,Z.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),(0,Z.eR)("* => *",(0,Z.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)"),{params:{animationDuration:"500ms"}})]),verticalStepTransition:(0,Z.X$)("verticalStepTransition",[(0,Z.SB)("previous",(0,Z.oB)({height:"0px",visibility:"hidden"})),(0,Z.SB)("next",(0,Z.oB)({height:"0px",visibility:"hidden"})),(0,Z.SB)("current",(0,Z.oB)({height:"*",visibility:"inherit"})),(0,Z.eR)("* <=> current",(0,Z.jt)("{{animationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)"),{params:{animationDuration:"225ms"}})])};class et{constructor(j){this.templateRef=j}}et.\u0275fac=function(j){return new(j||et)(E.Y36(E.Rgc))},et.\u0275dir=E.lG2({type:et,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:["matStepperIcon","name"]}});class ht{constructor(j){this._template=j}}ht.\u0275fac=function(j){return new(j||ht)(E.Y36(E.Rgc))},ht.\u0275dir=E.lG2({type:ht,selectors:[["ng-template","matStepContent",""]]});class Le extends t.be{constructor(j,Oe,Re,le){super(j,le),this._errorStateMatcher=Oe,this._viewContainerRef=Re,this._isSelected=S.w0.EMPTY}ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe((0,P.w)(()=>this._stepper.selectionChange.pipe((0,M.U)(j=>j.selectedStep===this),(0,z.O)(this._stepper.selected===this)))).subscribe(j=>{j&&this._lazyContent&&!this._portal&&(this._portal=new e.UE(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(j,Oe){const Re=this._errorStateMatcher.isErrorState(j,Oe),le=!!(j&&j.invalid&&this.interacted);return Re||le}}Le.\u0275fac=function(j){return new(j||Le)(E.Y36((0,E.Gpc)(()=>Ae)),E.Y36(D.rD,4),E.Y36(E.s_b),E.Y36(t.gx,8))},Le.\u0275cmp=E.Xpm({type:Le,selectors:[["mat-step"]],contentQueries:function(j,Oe,Re){if(1&j&&(E.Suo(Re,Fe,5),E.Suo(Re,ht,5)),2&j){let le;E.iGM(le=E.CRH())&&(Oe.stepLabel=le.first),E.iGM(le=E.CRH())&&(Oe._lazyContent=le.first)}},inputs:{color:"color"},exportAs:["matStep"],features:[E._Bn([{provide:D.rD,useExisting:Le},{provide:t.be,useExisting:Le}]),E.qOj],ngContentSelectors:["*"],decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(j,Oe){1&j&&(E.F$t(),E.YNc(0,o,2,1,"ng-template"))},dependencies:[e.Pl],encapsulation:2,changeDetection:0});class Ae extends t.B8{constructor(j,Oe,Re){super(j,Oe,Re),this.steps=new E.n_E,this.animationDone=new E.vpe,this.labelPosition="end",this.headerPosition="top",this._iconOverrides={},this._animationDone=new p.x,this._animationDuration="";const le=Re.nativeElement.nodeName.toLowerCase();this.orientation="mat-vertical-stepper"===le?"vertical":"horizontal"}get animationDuration(){return this._animationDuration}set animationDuration(j){this._animationDuration=/^\d+$/.test(j)?j+"ms":j}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:j,templateRef:Oe})=>this._iconOverrides[j]=Oe),this.steps.changes.pipe((0,I.R)(this._destroyed)).subscribe(()=>{this._stateChanged()}),this._animationDone.pipe((0,W.x)((j,Oe)=>j.fromState===Oe.fromState&&j.toState===Oe.toState),(0,I.R)(this._destroyed)).subscribe(j=>{"current"===j.toState&&this.animationDone.emit()})}_stepIsNavigable(j,Oe){return Oe.completed||this.selectedIndex===j||!this.linear}_getAnimationDuration(){return this.animationDuration?this.animationDuration:"horizontal"===this.orientation?"500ms":"225ms"}}Ae.\u0275fac=function(j){return new(j||Ae)(E.Y36(A.Is,8),E.Y36(E.sBO),E.Y36(E.SBq))},Ae.\u0275cmp=E.Xpm({type:Ae,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(j,Oe,Re){if(1&j&&(E.Suo(Re,Le,5),E.Suo(Re,et,5)),2&j){let le;E.iGM(le=E.CRH())&&(Oe._steps=le),E.iGM(le=E.CRH())&&(Oe._icons=le)}},viewQuery:function(j,Oe){if(1&j&&E.Gf(xe,5),2&j){let Re;E.iGM(Re=E.CRH())&&(Oe._stepHeader=Re)}},hostAttrs:["role","tablist"],hostVars:11,hostBindings:function(j,Oe){2&j&&(E.uIk("aria-orientation",Oe.orientation),E.ekj("mat-stepper-horizontal","horizontal"===Oe.orientation)("mat-stepper-vertical","vertical"===Oe.orientation)("mat-stepper-label-position-end","horizontal"===Oe.orientation&&"end"==Oe.labelPosition)("mat-stepper-label-position-bottom","horizontal"===Oe.orientation&&"bottom"==Oe.labelPosition)("mat-stepper-header-position-bottom","bottom"===Oe.headerPosition))},inputs:{selectedIndex:"selectedIndex",disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosition",animationDuration:"animationDuration"},outputs:{animationDone:"animationDone"},exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"],features:[E._Bn([{provide:t.B8,useExisting:Ae}]),E.qOj],decls:5,vars:3,consts:[[3,"ngSwitch"],["class","mat-horizontal-stepper-wrapper",4,"ngSwitchCase"],[4,"ngSwitchCase"],["stepTemplate",""],[1,"mat-horizontal-stepper-wrapper"],[1,"mat-horizontal-stepper-header-container"],[4,"ngFor","ngForOf"],[1,"mat-horizontal-content-container"],["class","mat-horizontal-stepper-content","role","tabpanel",3,"id","mat-horizontal-stepper-content-inactive",4,"ngFor","ngForOf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["class","mat-stepper-horizontal-line",4,"ngIf"],[1,"mat-stepper-horizontal-line"],["role","tabpanel",1,"mat-horizontal-stepper-content",3,"id"],[3,"ngTemplateOutlet"],["class","mat-step",4,"ngFor","ngForOf"],[1,"mat-step"],[1,"mat-vertical-content-container"],["role","tabpanel",1,"mat-vertical-stepper-content",3,"id"],[1,"mat-vertical-content"],[3,"tabIndex","id","index","state","label","selected","active","optional","errorMessage","iconOverrides","disableRipple","color","click","keydown"]],template:function(j,Oe){1&j&&(E.ynx(0,0),E.YNc(1,C,5,2,"div",1),E.YNc(2,F,2,1,"ng-container",2),E.BQk(),E.YNc(3,X,1,23,"ng-template",null,3,E.W1O)),2&j&&(E.Q6J("ngSwitch",Oe.orientation),E.xp6(1),E.Q6J("ngSwitchCase","horizontal"),E.xp6(1),E.Q6J("ngSwitchCase","vertical"))},dependencies:[_.sg,_.O5,_.tP,_.RF,_.n9,xe],styles:['.mat-stepper-vertical,.mat-stepper-horizontal{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:"";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-inactive{height:0;overflow:hidden}.mat-horizontal-stepper-content:not(.mat-horizontal-stepper-content-inactive){visibility:inherit !important}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.cdk-high-contrast-active .mat-horizontal-content-container{outline:solid 1px}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}.cdk-high-contrast-active .mat-vertical-content-container{outline:solid 1px}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:"";position:absolute;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-stepper-content:not(.mat-vertical-stepper-content-inactive){visibility:inherit !important}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}'],encapsulation:2,data:{animation:[ve.horizontalStepTransition,ve.verticalStepTransition]},changeDetection:0});class te extends t.st{}te.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(te)))(Oe||te)}}(),te.\u0275dir=E.lG2({type:te,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(j,Oe){2&j&&E.Ikx("type",Oe.type)},inputs:{type:"type"},features:[E.qOj]});class pe extends t.po{}pe.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(pe)))(Oe||pe)}}(),pe.\u0275dir=E.lG2({type:pe,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(j,Oe){2&j&&E.Ikx("type",Oe.type)},inputs:{type:"type"},features:[E.qOj]});class ee{}ee.\u0275fac=function(j){return new(j||ee)},ee.\u0275mod=E.oAB({type:ee}),ee.\u0275inj=E.cJS({providers:[je,D.rD],imports:[D.BQ,_.ez,e.eL,s.ot,t.U5,u.Ps,D.si,D.BQ]})},8711:(Ue,q,m)=>{"use strict";m.d(q,{ev:()=>Je,Dz:()=>Ye,w1:()=>ze,mD:()=>ut,Q2:()=>He,Ke:()=>At,ge:()=>Me,fO:()=>Dt,XQ:()=>Ht,as:()=>zt,Gk:()=>$e,nj:()=>Tt,BZ:()=>De,by:()=>Yn,p0:()=>Vn});var e=m(2560),t=m(2867),_=m(8971),E=m(1755),s=m(9107),D=m(1494),u=m(4666),k=m(253),p=m(7400),S=m(6317),A=m(4437),P=m(745),M=m(8951),z=m(9295);const I=[[["caption"]],[["colgroup"],["col"]]];function Z(Mt,Ge){if(1&Mt&&(e.TgZ(0,"th",3),e._uU(1),e.qZA()),2&Mt){const Be=e.oxw();e.Udp("text-align",Be.justify),e.xp6(1),e.hij(" ",Be.headerText," ")}}function Q(Mt,Ge){if(1&Mt&&(e.TgZ(0,"td",4),e._uU(1),e.qZA()),2&Mt){const Be=Ge.$implicit,ft=e.oxw();e.Udp("text-align",ft.justify),e.xp6(1),e.hij(" ",ft.dataAccessor(Be,ft.name)," ")}}function ie(Mt){return class extends Mt{constructor(...Ge){super(...Ge),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(Ge){const Be=this._sticky;this._sticky=(0,_.Ig)(Ge),this._hasStickyChanged=Be!==this._sticky}hasStickyChanged(){const Ge=this._hasStickyChanged;return this._hasStickyChanged=!1,Ge}resetStickyChanged(){this._hasStickyChanged=!1}}}const ae=new e.OlP("CDK_TABLE"),_e=new e.OlP("text-column-options");class ce{constructor(Ge){this.template=Ge}}ce.\u0275fac=function(Ge){return new(Ge||ce)(e.Y36(e.Rgc))},ce.\u0275dir=e.lG2({type:ce,selectors:[["","cdkCellDef",""]]});class ye{constructor(Ge){this.template=Ge}}ye.\u0275fac=function(Ge){return new(Ge||ye)(e.Y36(e.Rgc))},ye.\u0275dir=e.lG2({type:ye,selectors:[["","cdkHeaderCellDef",""]]});class ue{constructor(Ge){this.template=Ge}}ue.\u0275fac=function(Ge){return new(Ge||ue)(e.Y36(e.Rgc))},ue.\u0275dir=e.lG2({type:ue,selectors:[["","cdkFooterCellDef",""]]});const he=ie(class ${});class w extends he{constructor(Ge){super(),this._table=Ge,this._stickyEnd=!1}get name(){return this._name}set name(Ge){this._setNameInput(Ge)}get stickyEnd(){return this._stickyEnd}set stickyEnd(Ge){const Be=this._stickyEnd;this._stickyEnd=(0,_.Ig)(Ge),this._hasStickyChanged=Be!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(Ge){Ge&&(this._name=Ge,this.cssClassFriendlyName=Ge.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}w.\u0275fac=function(Ge){return new(Ge||w)(e.Y36(ae,8))},w.\u0275dir=e.lG2({type:w,selectors:[["","cdkColumnDef",""]],contentQueries:function(Ge,Be,ft){if(1&Ge&&(e.Suo(ft,ce,5),e.Suo(ft,ye,5),e.Suo(ft,ue,5)),2&Ge){let re;e.iGM(re=e.CRH())&&(Be.cell=re.first),e.iGM(re=e.CRH())&&(Be.headerCell=re.first),e.iGM(re=e.CRH())&&(Be.footerCell=re.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[e._Bn([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:w}]),e.qOj]});class n{constructor(Ge,Be){Be.nativeElement.classList.add(...Ge._columnCssClassName)}}class o extends n{constructor(Ge,Be){super(Ge,Be)}}o.\u0275fac=function(Ge){return new(Ge||o)(e.Y36(w),e.Y36(e.SBq))},o.\u0275dir=e.lG2({type:o,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[e.qOj]});class h extends n{constructor(Ge,Be){if(super(Ge,Be),1===Ge._table?._elementRef.nativeElement.nodeType){const ft=Ge._table._elementRef.nativeElement.getAttribute("role"),re="grid"===ft||"treegrid"===ft?"gridcell":"cell";Be.nativeElement.setAttribute("role",re)}}}h.\u0275fac=function(Ge){return new(Ge||h)(e.Y36(w),e.Y36(e.SBq))},h.\u0275dir=e.lG2({type:h,selectors:[["cdk-footer-cell"],["td","cdk-footer-cell",""]],hostAttrs:[1,"cdk-footer-cell"],features:[e.qOj]});class d extends n{constructor(Ge,Be){if(super(Ge,Be),1===Ge._table?._elementRef.nativeElement.nodeType){const ft=Ge._table._elementRef.nativeElement.getAttribute("role"),re="grid"===ft||"treegrid"===ft?"gridcell":"cell";Be.nativeElement.setAttribute("role",re)}}}d.\u0275fac=function(Ge){return new(Ge||d)(e.Y36(w),e.Y36(e.SBq))},d.\u0275dir=e.lG2({type:d,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[e.qOj]});class y{constructor(){this.tasks=[],this.endTasks=[]}}const L=new e.OlP("_COALESCED_STYLE_SCHEDULER");class B{constructor(Ge){this._ngZone=Ge,this._currentSchedule=null,this._destroyed=new k.x}schedule(Ge){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(Ge)}scheduleEnd(Ge){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(Ge)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new y,this._getScheduleObservable().pipe((0,M.R)(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const Ge=this._currentSchedule;this._currentSchedule=new y;for(const Be of Ge.tasks)Be();for(const Be of Ge.endTasks)Be()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?(0,p.D)(Promise.resolve(void 0)):this._ngZone.onStable.pipe((0,z.q)(1))}}B.\u0275fac=function(Ge){return new(Ge||B)(e.LFG(e.R0b))},B.\u0275prov=e.Yz7({token:B,factory:B.\u0275fac});class a{constructor(Ge,Be){this.template=Ge,this._differs=Be}ngOnChanges(Ge){if(!this._columnsDiffer){const Be=Ge.columns&&Ge.columns.currentValue||[];this._columnsDiffer=this._differs.find(Be).create(),this._columnsDiffer.diff(Be)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(Ge){return this instanceof F?Ge.headerCell.template:this instanceof ke?Ge.footerCell.template:Ge.cell.template}}a.\u0275fac=function(Ge){return new(Ge||a)(e.Y36(e.Rgc),e.Y36(e.ZZ4))},a.\u0275dir=e.lG2({type:a,features:[e.TTD]});const N=ie(class C extends a{});class F extends N{constructor(Ge,Be,ft){super(Ge,Be),this._table=ft}ngOnChanges(Ge){super.ngOnChanges(Ge)}}F.\u0275fac=function(Ge){return new(Ge||F)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(ae,8))},F.\u0275dir=e.lG2({type:F,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[e.qOj,e.TTD]});const Fe=ie(class X extends a{});class ke extends Fe{constructor(Ge,Be,ft){super(Ge,Be),this._table=ft}ngOnChanges(Ge){super.ngOnChanges(Ge)}}ke.\u0275fac=function(Ge){return new(Ge||ke)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(ae,8))},ke.\u0275dir=e.lG2({type:ke,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[e.qOj,e.TTD]});class Ke extends a{constructor(Ge,Be,ft){super(Ge,Be),this._table=ft}}Ke.\u0275fac=function(Ge){return new(Ge||Ke)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(ae,8))},Ke.\u0275dir=e.lG2({type:Ke,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[e.qOj]});class je{constructor(Ge){this._viewContainer=Ge,je.mostRecentCellOutlet=this}ngOnDestroy(){je.mostRecentCellOutlet===this&&(je.mostRecentCellOutlet=null)}}je.mostRecentCellOutlet=null,je.\u0275fac=function(Ge){return new(Ge||je)(e.Y36(e.s_b))},je.\u0275dir=e.lG2({type:je,selectors:[["","cdkCellOutlet",""]]});class Ve{}Ve.\u0275fac=function(Ge){return new(Ge||Ve)},Ve.\u0275cmp=e.Xpm({type:Ve,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class xe{}xe.\u0275fac=function(Ge){return new(Ge||xe)},xe.\u0275cmp=e.Xpm({type:xe,selectors:[["cdk-footer-row"],["tr","cdk-footer-row",""]],hostAttrs:["role","row",1,"cdk-footer-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class Ze{}Ze.\u0275fac=function(Ge){return new(Ge||Ze)},Ze.\u0275cmp=e.Xpm({type:Ze,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class Ie{constructor(Ge){this.templateRef=Ge,this._contentClassName="cdk-no-data-row"}}Ie.\u0275fac=function(Ge){return new(Ge||Ie)(e.Y36(e.Rgc))},Ie.\u0275dir=e.lG2({type:Ie,selectors:[["ng-template","cdkNoDataRow",""]]});const ve=["top","bottom","left","right"];class et{constructor(Ge,Be,ft,re,Te=!0,pt=!0,Lt){this._isNativeHtmlTable=Ge,this._stickCellCss=Be,this.direction=ft,this._coalescedStyleScheduler=re,this._isBrowser=Te,this._needsPositionStickyOnElement=pt,this._positionListener=Lt,this._cachedCellWidths=[],this._borderCellCss={top:`${Be}-border-elem-top`,bottom:`${Be}-border-elem-bottom`,left:`${Be}-border-elem-left`,right:`${Be}-border-elem-right`}}clearStickyPositioning(Ge,Be){const ft=[];for(const re of Ge)if(re.nodeType===re.ELEMENT_NODE){ft.push(re);for(let Te=0;Te{for(const re of ft)this._removeStickyStyle(re,Be)})}updateStickyColumns(Ge,Be,ft,re=!0){if(!Ge.length||!this._isBrowser||!Be.some(Mn=>Mn)&&!ft.some(Mn=>Mn))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const Te=Ge[0],pt=Te.children.length,Lt=this._getCellWidths(Te,re),nn=this._getStickyStartColumnPositions(Lt,Be),Bn=this._getStickyEndColumnPositions(Lt,ft),Wn=Be.lastIndexOf(!0),ti=ft.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const Mn="rtl"===this.direction,Ln=Mn?"right":"left",ai=Mn?"left":"right";for(const an of Ge)for(let hn=0;hnBe[hn]?an:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===ti?[]:Lt.slice(ti).map((an,hn)=>ft[hn+ti]?an:null).reverse()}))})}stickRows(Ge,Be,ft){if(!this._isBrowser)return;const re="bottom"===ft?Ge.slice().reverse():Ge,Te="bottom"===ft?Be.slice().reverse():Be,pt=[],Lt=[],nn=[];for(let Wn=0,ti=0;Wn{for(let Wn=0;Wn{Be.some(re=>!re)?this._removeStickyStyle(ft,["bottom"]):this._addStickyStyle(ft,"bottom",0,!1)})}_removeStickyStyle(Ge,Be){for(const re of Be)Ge.style[re]="",Ge.classList.remove(this._borderCellCss[re]);ve.some(re=>-1===Be.indexOf(re)&&Ge.style[re])?Ge.style.zIndex=this._getCalculatedZIndex(Ge):(Ge.style.zIndex="",this._needsPositionStickyOnElement&&(Ge.style.position=""),Ge.classList.remove(this._stickCellCss))}_addStickyStyle(Ge,Be,ft,re){Ge.classList.add(this._stickCellCss),re&&Ge.classList.add(this._borderCellCss[Be]),Ge.style[Be]=`${ft}px`,Ge.style.zIndex=this._getCalculatedZIndex(Ge),this._needsPositionStickyOnElement&&(Ge.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(Ge){const Be={top:100,bottom:10,left:1,right:1};let ft=0;for(const re of ve)Ge.style[re]&&(ft+=Be[re]);return ft?`${ft}`:""}_getCellWidths(Ge,Be=!0){if(!Be&&this._cachedCellWidths.length)return this._cachedCellWidths;const ft=[],re=Ge.children;for(let Te=0;Te0;Te--)Be[Te]&&(ft[Te]=re,re+=Ge[Te]);return ft}}const Oe=new e.OlP("CDK_SPL");class Re{}Re.\u0275fac=function(Ge){return new(Ge||Re)},Re.\u0275dir=e.lG2({type:Re,selectors:[["cdk-table","recycleRows",""],["table","cdk-table","","recycleRows",""]],features:[e._Bn([{provide:E.k,useClass:E.eX}])]});class le{constructor(Ge,Be){this.viewContainer=Ge,this.elementRef=Be}}le.\u0275fac=function(Ge){return new(Ge||le)(e.Y36(e.s_b),e.Y36(e.SBq))},le.\u0275dir=e.lG2({type:le,selectors:[["","rowOutlet",""]]});class _t{constructor(Ge,Be){this.viewContainer=Ge,this.elementRef=Be}}_t.\u0275fac=function(Ge){return new(Ge||_t)(e.Y36(e.s_b),e.Y36(e.SBq))},_t.\u0275dir=e.lG2({type:_t,selectors:[["","headerRowOutlet",""]]});class it{constructor(Ge,Be){this.viewContainer=Ge,this.elementRef=Be}}it.\u0275fac=function(Ge){return new(Ge||it)(e.Y36(e.s_b),e.Y36(e.SBq))},it.\u0275dir=e.lG2({type:it,selectors:[["","footerRowOutlet",""]]});class Ct{constructor(Ge,Be){this.viewContainer=Ge,this.elementRef=Be}}Ct.\u0275fac=function(Ge){return new(Ge||Ct)(e.Y36(e.s_b),e.Y36(e.SBq))},Ct.\u0275dir=e.lG2({type:Ct,selectors:[["","noDataRowOutlet",""]]});class Ut{constructor(Ge,Be,ft,re,Te,pt,Lt,nn,Bn,Wn,ti,Mn){this._differs=Ge,this._changeDetectorRef=Be,this._elementRef=ft,this._dir=Te,this._platform=Lt,this._viewRepeater=nn,this._coalescedStyleScheduler=Bn,this._viewportRuler=Wn,this._stickyPositioningListener=ti,this._ngZone=Mn,this._onDestroy=new k.x,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.contentChanged=new e.vpe,this.viewChange=new S.X({start:0,end:Number.MAX_VALUE}),re||this._elementRef.nativeElement.setAttribute("role","table"),this._document=pt,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(Ge){this._trackByFn=Ge}get dataSource(){return this._dataSource}set dataSource(Ge){this._dataSource!==Ge&&this._switchDataSource(Ge)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(Ge){this._multiTemplateDataRows=(0,_.Ig)(Ge),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(Ge){this._fixedLayout=(0,_.Ig)(Ge),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((Ge,Be)=>this.trackBy?this.trackBy(Be.dataIndex,Be.data):Be),this._viewportRuler.change().pipe((0,M.R)(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;const Be=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||Be,this._forceRecalculateCellWidths=Be,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){[this._rowOutlet.viewContainer,this._headerRowOutlet.viewContainer,this._footerRowOutlet.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(Ge=>{Ge.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._onDestroy.next(),this._onDestroy.complete(),(0,E.Z9)(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const Ge=this._dataDiffer.diff(this._renderRows);if(!Ge)return this._updateNoDataRow(),void this.contentChanged.next();const Be=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(Ge,Be,(ft,re,Te)=>this._getEmbeddedViewArgs(ft.item,Te),ft=>ft.item.data,ft=>{1===ft.operation&&ft.context&&this._renderCellTemplateForItem(ft.record.item.rowDef,ft.context)}),this._updateRowIndexContext(),Ge.forEachIdentityChange(ft=>{Be.get(ft.currentIndex).context.$implicit=ft.item.data}),this._updateNoDataRow(),this._ngZone&&e.R0b.isInAngularZone()?this._ngZone.onStable.pipe((0,z.q)(1),(0,M.R)(this._onDestroy)).subscribe(()=>{this.updateStickyColumnStyles()}):this.updateStickyColumnStyles(),this.contentChanged.next()}addColumnDef(Ge){this._customColumnDefs.add(Ge)}removeColumnDef(Ge){this._customColumnDefs.delete(Ge)}addRowDef(Ge){this._customRowDefs.add(Ge)}removeRowDef(Ge){this._customRowDefs.delete(Ge)}addHeaderRowDef(Ge){this._customHeaderRowDefs.add(Ge),this._headerRowDefChanged=!0}removeHeaderRowDef(Ge){this._customHeaderRowDefs.delete(Ge),this._headerRowDefChanged=!0}addFooterRowDef(Ge){this._customFooterRowDefs.add(Ge),this._footerRowDefChanged=!0}removeFooterRowDef(Ge){this._customFooterRowDefs.delete(Ge),this._footerRowDefChanged=!0}setNoDataRow(Ge){this._customNoDataRow=Ge}updateStickyHeaderRowStyles(){const Ge=this._getRenderedRows(this._headerRowOutlet),ft=this._elementRef.nativeElement.querySelector("thead");ft&&(ft.style.display=Ge.length?"":"none");const re=this._headerRowDefs.map(Te=>Te.sticky);this._stickyStyler.clearStickyPositioning(Ge,["top"]),this._stickyStyler.stickRows(Ge,re,"top"),this._headerRowDefs.forEach(Te=>Te.resetStickyChanged())}updateStickyFooterRowStyles(){const Ge=this._getRenderedRows(this._footerRowOutlet),ft=this._elementRef.nativeElement.querySelector("tfoot");ft&&(ft.style.display=Ge.length?"":"none");const re=this._footerRowDefs.map(Te=>Te.sticky);this._stickyStyler.clearStickyPositioning(Ge,["bottom"]),this._stickyStyler.stickRows(Ge,re,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,re),this._footerRowDefs.forEach(Te=>Te.resetStickyChanged())}updateStickyColumnStyles(){const Ge=this._getRenderedRows(this._headerRowOutlet),Be=this._getRenderedRows(this._rowOutlet),ft=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...Ge,...Be,...ft],["left","right"]),this._stickyColumnStylesNeedReset=!1),Ge.forEach((re,Te)=>{this._addStickyColumnStyles([re],this._headerRowDefs[Te])}),this._rowDefs.forEach(re=>{const Te=[];for(let pt=0;pt{this._addStickyColumnStyles([re],this._footerRowDefs[Te])}),Array.from(this._columnDefsByName.values()).forEach(re=>re.resetStickyChanged())}_getAllRenderRows(){const Ge=[],Be=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let ft=0;ft{const pt=ft&&ft.has(Te)?ft.get(Te):[];if(pt.length){const Lt=pt.shift();return Lt.dataIndex=Be,Lt}return{data:Ge,rowDef:Te,dataIndex:Be}})}_cacheColumnDefs(){this._columnDefsByName.clear(),yn(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(Be=>{this._columnDefsByName.has(Be.name),this._columnDefsByName.set(Be.name,Be)})}_cacheRowDefs(){this._headerRowDefs=yn(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=yn(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=yn(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const Ge=this._rowDefs.filter(Be=>!Be.when);!this.multiTemplateDataRows&&Ge.length,this._defaultRowDef=Ge[0]}_renderUpdatedColumns(){const Ge=(Te,pt)=>Te||!!pt.getColumnsDiff(),Be=this._rowDefs.reduce(Ge,!1);Be&&this._forceRenderDataRows();const ft=this._headerRowDefs.reduce(Ge,!1);ft&&this._forceRenderHeaderRows();const re=this._footerRowDefs.reduce(Ge,!1);return re&&this._forceRenderFooterRows(),Be||ft||re}_switchDataSource(Ge){this._data=[],(0,E.Z9)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),Ge||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=Ge}_observeRenderChanges(){if(!this.dataSource)return;let Ge;(0,E.Z9)(this.dataSource)?Ge=this.dataSource.connect(this):(0,A.b)(this.dataSource)?Ge=this.dataSource:Array.isArray(this.dataSource)&&(Ge=(0,P.of)(this.dataSource)),this._renderChangeSubscription=Ge.pipe((0,M.R)(this._onDestroy)).subscribe(Be=>{this._data=Be||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((Ge,Be)=>this._renderRow(this._headerRowOutlet,Ge,Be)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((Ge,Be)=>this._renderRow(this._footerRowOutlet,Ge,Be)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(Ge,Be){const ft=Array.from(Be.columns||[]).map(pt=>this._columnDefsByName.get(pt)),re=ft.map(pt=>pt.sticky),Te=ft.map(pt=>pt.stickyEnd);this._stickyStyler.updateStickyColumns(Ge,re,Te,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(Ge){const Be=[];for(let ft=0;ft!re.when||re.when(Be,Ge));else{let re=this._rowDefs.find(Te=>Te.when&&Te.when(Be,Ge))||this._defaultRowDef;re&&ft.push(re)}return ft.length,ft}_getEmbeddedViewArgs(Ge,Be){const ft=Ge.rowDef,re={$implicit:Ge.data};return{templateRef:ft.template,context:re,index:Be}}_renderRow(Ge,Be,ft,re={}){const Te=Ge.viewContainer.createEmbeddedView(Be.template,re,ft);return this._renderCellTemplateForItem(Be,re),Te}_renderCellTemplateForItem(Ge,Be){for(let ft of this._getCellTemplates(Ge))je.mostRecentCellOutlet&&je.mostRecentCellOutlet._viewContainer.createEmbeddedView(ft,Be);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const Ge=this._rowOutlet.viewContainer;for(let Be=0,ft=Ge.length;Be{const ft=this._columnDefsByName.get(Be);return Ge.extractCellTemplate(ft)}):[]}_applyNativeTableSections(){const Ge=this._document.createDocumentFragment(),Be=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const ft of Be){const re=this._document.createElement(ft.tag);re.setAttribute("role","rowgroup");for(const Te of ft.outlets)re.appendChild(Te.elementRef.nativeElement);Ge.appendChild(re)}this._elementRef.nativeElement.appendChild(Ge)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const Ge=(Be,ft)=>Be||ft.hasStickyChanged();this._headerRowDefs.reduce(Ge,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(Ge,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(Ge,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){const Ge=this._dir?this._dir.value:"ltr";this._stickyStyler=new et(this._isNativeHtmlTable,this.stickyCssClass,Ge,this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:(0,P.of)()).pipe((0,M.R)(this._onDestroy)).subscribe(Be=>{this._stickyStyler.direction=Be,this.updateStickyColumnStyles()})}_getOwnDefs(Ge){return Ge.filter(Be=>!Be._table||Be._table===this)}_updateNoDataRow(){const Ge=this._customNoDataRow||this._noDataRow;if(!Ge)return;const Be=0===this._rowOutlet.viewContainer.length;if(Be===this._isShowingNoDataRow)return;const ft=this._noDataRowOutlet.viewContainer;if(Be){const re=ft.createEmbeddedView(Ge.templateRef),Te=re.rootNodes[0];1===re.rootNodes.length&&Te?.nodeType===this._document.ELEMENT_NODE&&(Te.setAttribute("role","row"),Te.classList.add(Ge._contentClassName))}else ft.clear();this._isShowingNoDataRow=Be}}function yn(Mt,Ge){return Mt.concat(Array.from(Ge))}Ut.\u0275fac=function(Ge){return new(Ge||Ut)(e.Y36(e.ZZ4),e.Y36(e.sBO),e.Y36(e.SBq),e.$8M("role"),e.Y36(t.Is,8),e.Y36(u.K0),e.Y36(s.t4),e.Y36(E.k),e.Y36(L),e.Y36(D.rL),e.Y36(Oe,12),e.Y36(e.R0b,8))},Ut.\u0275cmp=e.Xpm({type:Ut,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(Ge,Be,ft){if(1&Ge&&(e.Suo(ft,Ie,5),e.Suo(ft,w,5),e.Suo(ft,Ke,5),e.Suo(ft,F,5),e.Suo(ft,ke,5)),2&Ge){let re;e.iGM(re=e.CRH())&&(Be._noDataRow=re.first),e.iGM(re=e.CRH())&&(Be._contentColumnDefs=re),e.iGM(re=e.CRH())&&(Be._contentRowDefs=re),e.iGM(re=e.CRH())&&(Be._contentHeaderRowDefs=re),e.iGM(re=e.CRH())&&(Be._contentFooterRowDefs=re)}},viewQuery:function(Ge,Be){if(1&Ge&&(e.Gf(le,7),e.Gf(_t,7),e.Gf(it,7),e.Gf(Ct,7)),2&Ge){let ft;e.iGM(ft=e.CRH())&&(Be._rowOutlet=ft.first),e.iGM(ft=e.CRH())&&(Be._headerRowOutlet=ft.first),e.iGM(ft=e.CRH())&&(Be._footerRowOutlet=ft.first),e.iGM(ft=e.CRH())&&(Be._noDataRowOutlet=ft.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(Ge,Be){2&Ge&&e.ekj("cdk-table-fixed-layout",Be.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[e._Bn([{provide:ae,useExisting:Ut},{provide:E.k,useClass:E.yy},{provide:L,useClass:B},{provide:Oe,useValue:null}])],ngContentSelectors:["caption","colgroup, col"],decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(Ge,Be){1&Ge&&(e.F$t(I),e.Hsn(0),e.Hsn(1,1),e.GkF(2,0)(3,1)(4,2)(5,3))},dependencies:[le,_t,it,Ct],styles:[".cdk-table-fixed-layout{table-layout:fixed}"],encapsulation:2});class Xt{constructor(Ge,Be){this._table=Ge,this._options=Be,this.justify="start",this._options=Be||{}}get name(){return this._name}set name(Ge){this._name=Ge,this._syncColumnDefName()}ngOnInit(){this._syncColumnDefName(),void 0===this.headerText&&(this.headerText=this._createDefaultHeaderText()),this.dataAccessor||(this.dataAccessor=this._options.defaultDataAccessor||((Ge,Be)=>Ge[Be])),this._table&&(this.columnDef.cell=this.cell,this.columnDef.headerCell=this.headerCell,this._table.addColumnDef(this.columnDef))}ngOnDestroy(){this._table&&this._table.removeColumnDef(this.columnDef)}_createDefaultHeaderText(){const Ge=this.name;return this._options&&this._options.defaultHeaderTextTransform?this._options.defaultHeaderTextTransform(Ge):Ge[0].toUpperCase()+Ge.slice(1)}_syncColumnDefName(){this.columnDef&&(this.columnDef.name=this.name)}}Xt.\u0275fac=function(Ge){return new(Ge||Xt)(e.Y36(Ut,8),e.Y36(_e,8))},Xt.\u0275cmp=e.Xpm({type:Xt,selectors:[["cdk-text-column"]],viewQuery:function(Ge,Be){if(1&Ge&&(e.Gf(w,7),e.Gf(ce,7),e.Gf(ye,7)),2&Ge){let ft;e.iGM(ft=e.CRH())&&(Be.columnDef=ft.first),e.iGM(ft=e.CRH())&&(Be.cell=ft.first),e.iGM(ft=e.CRH())&&(Be.headerCell=ft.first)}},inputs:{name:"name",headerText:"headerText",dataAccessor:"dataAccessor",justify:"justify"},decls:3,vars:0,consts:[["cdkColumnDef",""],["cdk-header-cell","",3,"text-align",4,"cdkHeaderCellDef"],["cdk-cell","",3,"text-align",4,"cdkCellDef"],["cdk-header-cell",""],["cdk-cell",""]],template:function(Ge,Be){1&Ge&&(e.ynx(0,0),e.YNc(1,Z,2,3,"th",1),e.YNc(2,Q,2,3,"td",2),e.BQk())},dependencies:[ce,ye,w,d,o],encapsulation:2});class In{}In.\u0275fac=function(Ge){return new(Ge||In)},In.\u0275mod=e.oAB({type:In}),In.\u0275inj=e.cJS({imports:[D.Cl]});var rn=m(207),tn=m(6646),pn=m(6562),tt=m(635);const vt=[[["caption"]],[["colgroup"],["col"]]];function se(Mt,Ge){if(1&Mt&&(e.TgZ(0,"th",3),e._uU(1),e.qZA()),2&Mt){const Be=e.oxw();e.Udp("text-align",Be.justify),e.xp6(1),e.hij(" ",Be.headerText," ")}}function J(Mt,Ge){if(1&Mt&&(e.TgZ(0,"td",4),e._uU(1),e.qZA()),2&Mt){const Be=Ge.$implicit,ft=e.oxw();e.Udp("text-align",ft.justify),e.xp6(1),e.hij(" ",ft.dataAccessor(Be,ft.name)," ")}}class oe{}oe.\u0275fac=function(Ge){return new(Ge||oe)},oe.\u0275dir=e.lG2({type:oe,selectors:[["mat-table","recycleRows",""],["table","mat-table","","recycleRows",""]],features:[e._Bn([{provide:E.k,useClass:E.eX}])]});class De extends Ut{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}De.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(De)))(Be||De)}}(),De.\u0275cmp=e.Xpm({type:De,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(Ge,Be){2&Ge&&e.ekj("mat-table-fixed-layout",Be.fixedLayout)},exportAs:["matTable"],features:[e._Bn([{provide:E.k,useClass:E.yy},{provide:Ut,useExisting:De},{provide:ae,useExisting:De},{provide:L,useClass:B},{provide:Oe,useValue:null}]),e.qOj],ngContentSelectors:["caption","colgroup, col"],decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(Ge,Be){1&Ge&&(e.F$t(vt),e.Hsn(0),e.Hsn(1,1),e.GkF(2,0)(3,1)(4,2)(5,3))},dependencies:[le,_t,it,Ct],styles:["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}"],encapsulation:2});class Ye extends ce{}Ye.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ye)))(Be||Ye)}}(),Ye.\u0275dir=e.lG2({type:Ye,selectors:[["","matCellDef",""]],features:[e._Bn([{provide:ce,useExisting:Ye}]),e.qOj]});class Dt extends ye{}Dt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Dt)))(Be||Dt)}}(),Dt.\u0275dir=e.lG2({type:Dt,selectors:[["","matHeaderCellDef",""]],features:[e._Bn([{provide:ye,useExisting:Dt}]),e.qOj]});class ut extends ue{}ut.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(ut)))(Be||ut)}}(),ut.\u0275dir=e.lG2({type:ut,selectors:[["","matFooterCellDef",""]],features:[e._Bn([{provide:ue,useExisting:ut}]),e.qOj]});class ze extends w{get name(){return this._name}set name(Ge){this._setNameInput(Ge)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}ze.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(ze)))(Be||ze)}}(),ze.\u0275dir=e.lG2({type:ze,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[e._Bn([{provide:w,useExisting:ze},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:ze}]),e.qOj]});class Me extends o{}Me.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Me)))(Be||Me)}}(),Me.\u0275dir=e.lG2({type:Me,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[e.qOj]});class Ce extends h{}Ce.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ce)))(Be||Ce)}}(),Ce.\u0275dir=e.lG2({type:Ce,selectors:[["mat-footer-cell"],["td","mat-footer-cell",""]],hostAttrs:["role","gridcell",1,"mat-footer-cell"],features:[e.qOj]});class Je extends d{}Je.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Je)))(Be||Je)}}(),Je.\u0275dir=e.lG2({type:Je,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[e.qOj]});class zt extends F{}zt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(zt)))(Be||zt)}}(),zt.\u0275dir=e.lG2({type:zt,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[e._Bn([{provide:F,useExisting:zt}]),e.qOj]});class At extends ke{}At.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(At)))(Be||At)}}(),At.\u0275dir=e.lG2({type:At,selectors:[["","matFooterRowDef",""]],inputs:{columns:["matFooterRowDef","columns"],sticky:["matFooterRowDefSticky","sticky"]},features:[e._Bn([{provide:ke,useExisting:At}]),e.qOj]});class Tt extends Ke{}Tt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Tt)))(Be||Tt)}}(),Tt.\u0275dir=e.lG2({type:Tt,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[e._Bn([{provide:Ke,useExisting:Tt}]),e.qOj]});class Ht extends Ve{}Ht.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ht)))(Be||Ht)}}(),Ht.\u0275cmp=e.Xpm({type:Ht,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[e._Bn([{provide:Ve,useExisting:Ht}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class He extends xe{}He.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(He)))(Be||He)}}(),He.\u0275cmp=e.Xpm({type:He,selectors:[["mat-footer-row"],["tr","mat-footer-row",""]],hostAttrs:["role","row",1,"mat-footer-row"],exportAs:["matFooterRow"],features:[e._Bn([{provide:xe,useExisting:He}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class $e extends Ze{}$e.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z($e)))(Be||$e)}}(),$e.\u0275cmp=e.Xpm({type:$e,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[e._Bn([{provide:Ze,useExisting:$e}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ge,Be){1&Ge&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class $t extends Ie{constructor(){super(...arguments),this._contentClassName="mat-no-data-row"}}$t.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z($t)))(Be||$t)}}(),$t.\u0275dir=e.lG2({type:$t,selectors:[["ng-template","matNoDataRow",""]],features:[e._Bn([{provide:Ie,useExisting:$t}]),e.qOj]});class Rt extends Xt{}Rt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Rt)))(Be||Rt)}}(),Rt.\u0275cmp=e.Xpm({type:Rt,selectors:[["mat-text-column"]],features:[e.qOj],decls:3,vars:0,consts:[["matColumnDef",""],["mat-header-cell","",3,"text-align",4,"matHeaderCellDef"],["mat-cell","",3,"text-align",4,"matCellDef"],["mat-header-cell",""],["mat-cell",""]],template:function(Ge,Be){1&Ge&&(e.ynx(0,0),e.YNc(1,se,2,3,"th",1),e.YNc(2,J,2,3,"td",2),e.BQk())},dependencies:[Dt,ze,Ye,Me,Je],encapsulation:2});class Vn{}Vn.\u0275fac=function(Ge){return new(Ge||Vn)},Vn.\u0275mod=e.oAB({type:Vn}),Vn.\u0275inj=e.cJS({imports:[In,rn.BQ,rn.BQ]});class Tn extends E.o2{constructor(Ge=[]){super(),this._renderData=new S.X([]),this._filter=new S.X(""),this._internalPageChanges=new k.x,this._renderChangesSubscription=null,this.sortingDataAccessor=(Be,ft)=>{const re=Be[ft];if((0,_.t6)(re)){const Te=Number(re);return Te<9007199254740991?Te:re}return re},this.sortData=(Be,ft)=>{const re=ft.active,Te=ft.direction;return re&&""!=Te?Be.sort((pt,Lt)=>{let nn=this.sortingDataAccessor(pt,re),Bn=this.sortingDataAccessor(Lt,re);const Wn=typeof nn,ti=typeof Bn;Wn!==ti&&("number"===Wn&&(nn+=""),"number"===ti&&(Bn+=""));let Mn=0;return null!=nn&&null!=Bn?nn>Bn?Mn=1:nn{const re=Object.keys(Be).reduce((pt,Lt)=>pt+Be[Lt]+"\u25ec","").toLowerCase(),Te=ft.trim().toLowerCase();return-1!=re.indexOf(Te)},this._data=new S.X(Ge),this._updateChangeSubscription()}get data(){return this._data.value}set data(Ge){Ge=Array.isArray(Ge)?Ge:[],this._data.next(Ge),this._renderChangesSubscription||this._filterData(Ge)}get filter(){return this._filter.value}set filter(Ge){this._filter.next(Ge),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(Ge){this._sort=Ge,this._updateChangeSubscription()}get paginator(){return this._paginator}set paginator(Ge){this._paginator=Ge,this._updateChangeSubscription()}_updateChangeSubscription(){const Ge=this._sort?(0,tn.T)(this._sort.sortChange,this._sort.initialized):(0,P.of)(null),Be=this._paginator?(0,tn.T)(this._paginator.page,this._internalPageChanges,this._paginator.initialized):(0,P.of)(null),ft=this._data,re=(0,pn.a)([ft,this._filter]).pipe((0,tt.U)(([Lt])=>this._filterData(Lt))),Te=(0,pn.a)([re,Ge]).pipe((0,tt.U)(([Lt])=>this._orderData(Lt))),pt=(0,pn.a)([Te,Be]).pipe((0,tt.U)(([Lt])=>this._pageData(Lt)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=pt.subscribe(Lt=>this._renderData.next(Lt))}_filterData(Ge){return this.filteredData=null==this.filter||""===this.filter?Ge:Ge.filter(Be=>this.filterPredicate(Be,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(Ge){return this.sort?this.sortData(Ge.slice(),this.sort):Ge}_pageData(Ge){if(!this.paginator)return Ge;const Be=this.paginator.pageIndex*this.paginator.pageSize;return Ge.slice(Be,Be+this.paginator.pageSize)}_updatePaginator(Ge){Promise.resolve().then(()=>{const Be=this.paginator;if(Be&&(Be.length=Ge,Be.pageIndex>0)){const ft=Math.ceil(Be.length/Be.pageSize)-1||0,re=Math.min(Be.pageIndex,ft);re!==Be.pageIndex&&(Be.pageIndex=re,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=null}}class Yn extends Tn{}},5892:(Ue,q,m)=>{"use strict";m.d(q,{BU:()=>se,Nh:()=>Dt,Nj:()=>De,SP:()=>tt,sW:()=>Ye,uD:()=>Ae,uX:()=>ee});var e=m(4218),t=m(3773),_=m(7520),E=m(4666),s=m(2560),D=m(207),u=m(9295),k=m(4874),p=m(8977),S=m(8951),A=m(2673),P=m(7260),M=m(116),z=m(253),I=m(7714),W=m(3280),Z=m(745),Q=m(6646),ie=m(591),ae=m(833),_e=m(8947),ce=m(2867),ye=m(4851),ue=m(8971),$=m(1494),he=m(9107),w=m(8456);function n(ut,ze){1&ut&&s.Hsn(0)}const o=["*"];function h(ut,ze){}const d=function(ut){return{animationDuration:ut}},y=function(ut,ze){return{value:ut,params:ze}},L=["tabListContainer"],B=["tabList"],v=["tabListInner"],a=["nextPaginator"],C=["previousPaginator"],N=["tabBodyWrapper"],F=["tabHeader"];function X(ut,ze){}function Fe(ut,ze){if(1&ut&&s.YNc(0,X,0,0,"ng-template",10),2&ut){const Me=s.oxw().$implicit;s.Q6J("cdkPortalOutlet",Me.templateLabel)}}function ke(ut,ze){if(1&ut&&s._uU(0),2&ut){const Me=s.oxw().$implicit;s.Oqu(Me.textLabel)}}function Ke(ut,ze){if(1&ut){const Me=s.EpF();s.TgZ(0,"div",6),s.NdJ("click",function(){const Je=s.CHM(Me),zt=Je.$implicit,At=Je.index,Tt=s.oxw(),Ht=s.MAs(1);return s.KtG(Tt._handleClick(zt,Ht,At))})("cdkFocusChange",function(Je){const At=s.CHM(Me).index,Tt=s.oxw();return s.KtG(Tt._tabFocusChanged(Je,At))}),s.TgZ(1,"div",7),s.YNc(2,Fe,1,1,"ng-template",8),s.YNc(3,ke,1,1,"ng-template",null,9,s.W1O),s.qZA()()}if(2&ut){const Me=ze.$implicit,Ce=ze.index,Je=s.MAs(4),zt=s.oxw();s.ekj("mat-tab-label-active",zt.selectedIndex===Ce),s.Q6J("id",zt._getTabLabelId(Ce))("ngClass",Me.labelClass)("disabled",Me.disabled)("matRippleDisabled",Me.disabled||zt.disableRipple),s.uIk("tabIndex",zt._getTabIndex(Me,Ce))("aria-posinset",Ce+1)("aria-setsize",zt._tabs.length)("aria-controls",zt._getTabContentId(Ce))("aria-selected",zt.selectedIndex===Ce)("aria-label",Me.ariaLabel||null)("aria-labelledby",!Me.ariaLabel&&Me.ariaLabelledby?Me.ariaLabelledby:null),s.xp6(2),s.Q6J("ngIf",Me.templateLabel)("ngIfElse",Je)}}function je(ut,ze){if(1&ut){const Me=s.EpF();s.TgZ(0,"mat-tab-body",11),s.NdJ("_onCentered",function(){s.CHM(Me);const Je=s.oxw();return s.KtG(Je._removeTabBodyWrapperHeight())})("_onCentering",function(Je){s.CHM(Me);const zt=s.oxw();return s.KtG(zt._setTabBodyWrapperHeight(Je))}),s.qZA()}if(2&ut){const Me=ze.$implicit,Ce=ze.index,Je=s.oxw();s.ekj("mat-tab-body-active",Je.selectedIndex===Ce),s.Q6J("id",Je._getTabContentId(Ce))("ngClass",Me.bodyClass)("content",Me.content)("position",Me.position)("origin",Me.origin)("animationDuration",Je.animationDuration)("preserveContent",Je.preserveContent),s.uIk("tabindex",null!=Je.contentTabIndex&&Je.selectedIndex===Ce?Je.contentTabIndex:null)("aria-labelledby",Je._getTabLabelId(Ce))}}const xe=new s.OlP("MatInkBarPositioner",{providedIn:"root",factory:function Ze(){return ze=>({left:ze?(ze.offsetLeft||0)+"px":"0",width:ze?(ze.offsetWidth||0)+"px":"0"})}});class Ie{constructor(ze,Me,Ce,Je){this._elementRef=ze,this._ngZone=Me,this._inkBarPositioner=Ce,this._animationMode=Je}alignToElement(ze){this.show(),this._ngZone.run(()=>{this._ngZone.onStable.pipe((0,u.q)(1)).subscribe(()=>{const Me=this._inkBarPositioner(ze),Ce=this._elementRef.nativeElement;Ce.style.left=Me.left,Ce.style.width=Me.width})})}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}}Ie.\u0275fac=function(ze){return new(ze||Ie)(s.Y36(s.SBq),s.Y36(s.R0b),s.Y36(xe),s.Y36(s.QbO,8))},Ie.\u0275dir=s.lG2({type:Ie,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(ze,Me){2&ze&&s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode)}});const ve=new s.OlP("MatTabContent");class et{constructor(ze){this.template=ze}}et.\u0275fac=function(ze){return new(ze||et)(s.Y36(s.Rgc))},et.\u0275dir=s.lG2({type:et,selectors:[["","matTabContent",""]],features:[s._Bn([{provide:ve,useExisting:et}])]});const ht=new s.OlP("MatTabLabel"),Le=new s.OlP("MAT_TAB");class Ae extends _.ig{constructor(ze,Me,Ce){super(ze,Me),this._closestTab=Ce}}Ae.\u0275fac=function(ze){return new(ze||Ae)(s.Y36(s.Rgc),s.Y36(s.s_b),s.Y36(Le,8))},Ae.\u0275dir=s.lG2({type:Ae,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[s._Bn([{provide:ht,useExisting:Ae}]),s.qOj]});const te=(0,D.Id)(class{}),pe=new s.OlP("MAT_TAB_GROUP");class ee extends te{constructor(ze,Me){super(),this._viewContainerRef=ze,this._closestTabGroup=Me,this.textLabel="",this._contentPortal=null,this._stateChanges=new z.x,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(ze){this._setTemplateLabelInput(ze)}get content(){return this._contentPortal}ngOnChanges(ze){(ze.hasOwnProperty("textLabel")||ze.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new _.UE(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(ze){ze&&ze._closestTab===this&&(this._templateLabel=ze)}}ee.\u0275fac=function(ze){return new(ze||ee)(s.Y36(s.s_b),s.Y36(pe,8))},ee.\u0275cmp=s.Xpm({type:ee,selectors:[["mat-tab"]],contentQueries:function(ze,Me,Ce){if(1&ze&&(s.Suo(Ce,ht,5),s.Suo(Ce,ve,7,s.Rgc)),2&ze){let Je;s.iGM(Je=s.CRH())&&(Me.templateLabel=Je.first),s.iGM(Je=s.CRH())&&(Me._explicitContent=Je.first)}},viewQuery:function(ze,Me){if(1&ze&&s.Gf(s.Rgc,7),2&ze){let Ce;s.iGM(Ce=s.CRH())&&(Me._implicitContent=Ce.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},exportAs:["matTab"],features:[s._Bn([{provide:Le,useExisting:ee}]),s.qOj,s.TTD],ngContentSelectors:o,decls:1,vars:0,template:function(ze,Me){1&ze&&(s.F$t(),s.YNc(0,n,1,0,"ng-template"))},encapsulation:2});const H={translateTab:(0,ye.X$)("translateTab",[(0,ye.SB)("center, void, left-origin-center, right-origin-center",(0,ye.oB)({transform:"none"})),(0,ye.SB)("left",(0,ye.oB)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),(0,ye.SB)("right",(0,ye.oB)({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),(0,ye.eR)("* => left, * => right, left => center, right => center",(0,ye.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),(0,ye.eR)("void => left-origin-center",[(0,ye.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),(0,ye.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),(0,ye.eR)("void => right-origin-center",[(0,ye.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),(0,ye.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};class j extends _.Pl{constructor(ze,Me,Ce,Je){super(ze,Me,Je),this._host=Ce,this._centeringSub=I.w0.EMPTY,this._leavingSub=I.w0.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe((0,k.O)(this._host._isCenterPosition(this._host._position))).subscribe(ze=>{ze&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}j.\u0275fac=function(ze){return new(ze||j)(s.Y36(s._Vd),s.Y36(s.s_b),s.Y36((0,s.Gpc)(()=>Re)),s.Y36(E.K0))},j.\u0275dir=s.lG2({type:j,selectors:[["","matTabBodyHost",""]],features:[s.qOj]});class Oe{constructor(ze,Me,Ce){this._elementRef=ze,this._dir=Me,this._dirChangeSubscription=I.w0.EMPTY,this._translateTabComplete=new z.x,this._onCentering=new s.vpe,this._beforeCentering=new s.vpe,this._afterLeavingCenter=new s.vpe,this._onCentered=new s.vpe(!0),this.animationDuration="500ms",this.preserveContent=!1,Me&&(this._dirChangeSubscription=Me.change.subscribe(Je=>{this._computePositionAnimationState(Je),Ce.markForCheck()})),this._translateTabComplete.pipe((0,p.x)((Je,zt)=>Je.fromState===zt.fromState&&Je.toState===zt.toState)).subscribe(Je=>{this._isCenterPosition(Je.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(Je.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(ze){this._positionIndex=ze,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(ze){const Me=this._isCenterPosition(ze.toState);this._beforeCentering.emit(Me),Me&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(ze){return"center"==ze||"left-origin-center"==ze||"right-origin-center"==ze}_computePositionAnimationState(ze=this._getLayoutDirection()){this._positionIndex<0?this._position="ltr"==ze?"left":"right":this._positionIndex>0?this._position="ltr"==ze?"right":"left":this._position="center"}_computePositionFromOrigin(ze){const Me=this._getLayoutDirection();return"ltr"==Me&&ze<=0||"rtl"==Me&&ze>0?"left-origin-center":"right-origin-center"}}Oe.\u0275fac=function(ze){return new(ze||Oe)(s.Y36(s.SBq),s.Y36(ce.Is,8),s.Y36(s.sBO))},Oe.\u0275dir=s.lG2({type:Oe,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}});class Re extends Oe{constructor(ze,Me,Ce){super(ze,Me,Ce)}}Re.\u0275fac=function(ze){return new(ze||Re)(s.Y36(s.SBq),s.Y36(ce.Is,8),s.Y36(s.sBO))},Re.\u0275cmp=s.Xpm({type:Re,selectors:[["mat-tab-body"]],viewQuery:function(ze,Me){if(1&ze&&s.Gf(_.Pl,5),2&ze){let Ce;s.iGM(Ce=s.CRH())&&(Me._portalHost=Ce.first)}},hostAttrs:[1,"mat-tab-body"],features:[s.qOj],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(ze,Me){1&ze&&(s.TgZ(0,"div",0,1),s.NdJ("@translateTab.start",function(Je){return Me._onTranslateTabStarted(Je)})("@translateTab.done",function(Je){return Me._translateTabComplete.next(Je)}),s.YNc(2,h,0,0,"ng-template",2),s.qZA()),2&ze&&s.Q6J("@translateTab",s.WLB(3,y,Me._position,s.VKq(1,d,Me.animationDuration)))},dependencies:[j],styles:['.mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[H.translateTab]}});const le=new s.OlP("MAT_TABS_CONFIG"),_t=(0,D.Id)(class{});class it extends _t{constructor(ze){super(),this.elementRef=ze}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}it.\u0275fac=function(ze){return new(ze||it)(s.Y36(s.SBq))},it.\u0275dir=s.lG2({type:it,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(ze,Me){2&ze&&(s.uIk("aria-disabled",!!Me.disabled),s.ekj("mat-tab-disabled",Me.disabled))},inputs:{disabled:"disabled"},features:[s.qOj]});const Ct=(0,he.i$)({passive:!0});class yn{constructor(ze,Me,Ce,Je,zt,At,Tt){this._elementRef=ze,this._changeDetectorRef=Me,this._viewportRuler=Ce,this._dir=Je,this._ngZone=zt,this._platform=At,this._animationMode=Tt,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new z.x,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new z.x,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new s.vpe,this.indexFocused=new s.vpe,zt.runOutsideAngular(()=>{(0,W.R)(ze.nativeElement,"mouseleave").pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get disablePagination(){return this._disablePagination}set disablePagination(ze){this._disablePagination=(0,ue.Ig)(ze)}get selectedIndex(){return this._selectedIndex}set selectedIndex(ze){ze=(0,ue.su)(ze),this._selectedIndex!=ze&&(this._selectedIndexChanged=!0,this._selectedIndex=ze,this._keyManager&&this._keyManager.updateActiveItem(ze))}ngAfterViewInit(){(0,W.R)(this._previousPaginator.nativeElement,"touchstart",Ct).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),(0,W.R)(this._nextPaginator.nativeElement,"touchstart",Ct).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const ze=this._dir?this._dir.change:(0,Z.of)("ltr"),Me=this._viewportRuler.change(150),Ce=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new e.Em(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe((0,u.q)(1)).subscribe(Ce),(0,Q.T)(ze,Me,this._items.changes,this._itemsResized()).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),Ce()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe((0,S.R)(this._destroyed)).subscribe(Je=>{this.indexFocused.emit(Je),this._setTabFocus(Je)})}_itemsResized(){return"function"!=typeof ResizeObserver?ie.E:this._items.changes.pipe((0,k.O)(this._items),(0,A.w)(ze=>new ae.y(Me=>this._ngZone.runOutsideAngular(()=>{const Ce=new ResizeObserver(Je=>Me.next(Je));return ze.forEach(Je=>Ce.observe(Je.elementRef.nativeElement)),()=>{Ce.disconnect()}}))),(0,P.T)(1),(0,M.h)(ze=>ze.some(Me=>Me.contentRect.width>0&&Me.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(ze){if(!(0,w.Vb)(ze))switch(ze.keyCode){case w.K5:case w.L_:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(ze));break;default:this._keyManager.onKeydown(ze)}}_onContentChanges(){const ze=this._elementRef.nativeElement.textContent;ze!==this._currentTextContent&&(this._currentTextContent=ze||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(ze){!this._isValidIndex(ze)||this.focusIndex===ze||!this._keyManager||this._keyManager.setActiveItem(ze)}_isValidIndex(ze){if(!this._items)return!0;const Me=this._items?this._items.toArray()[ze]:null;return!!Me&&!Me.disabled}_setTabFocus(ze){if(this._showPaginationControls&&this._scrollToLabel(ze),this._items&&this._items.length){this._items.toArray()[ze].focus();const Me=this._tabListContainer.nativeElement;"ltr"==this._getLayoutDirection()?Me.scrollLeft=0:Me.scrollLeft=Me.scrollWidth-Me.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const ze=this.scrollDistance,Me="ltr"===this._getLayoutDirection()?-ze:ze;this._tabList.nativeElement.style.transform=`translateX(${Math.round(Me)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(ze){this._scrollTo(ze)}_scrollHeader(ze){const Ce=("before"==ze?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3;return this._scrollTo(this._scrollDistance+Ce)}_handlePaginatorClick(ze){this._stopInterval(),this._scrollHeader(ze)}_scrollToLabel(ze){if(this.disablePagination)return;const Me=this._items?this._items.toArray()[ze]:null;if(!Me)return;const Ce=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:Je,offsetWidth:zt}=Me.elementRef.nativeElement;let At,Tt;"ltr"==this._getLayoutDirection()?(At=Je,Tt=At+zt):(Tt=this._tabListInner.nativeElement.offsetWidth-Je,At=Tt-zt);const Ht=this.scrollDistance,He=this.scrollDistance+Ce;AtHe&&(this.scrollDistance+=Tt-He+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const ze=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;ze||(this.scrollDistance=0),ze!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=ze}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const ze=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,Me=ze?ze.elementRef.nativeElement:null;Me?this._inkBar.alignToElement(Me):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(ze,Me){Me&&null!=Me.button&&0!==Me.button||(this._stopInterval(),(0,_e.H)(650,100).pipe((0,S.R)((0,Q.T)(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:Ce,distance:Je}=this._scrollHeader(ze);(0===Je||Je>=Ce)&&this._stopInterval()}))}_scrollTo(ze){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const Me=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(Me,ze)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:Me,distance:this._scrollDistance}}}yn.\u0275fac=function(ze){return new(ze||yn)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(ce.Is,8),s.Y36(s.R0b),s.Y36(he.t4),s.Y36(s.QbO,8))},yn.\u0275dir=s.lG2({type:yn,inputs:{disablePagination:"disablePagination"}});class Xt extends yn{constructor(ze,Me,Ce,Je,zt,At,Tt){super(ze,Me,Ce,Je,zt,At,Tt),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(ze){this._disableRipple=(0,ue.Ig)(ze)}_itemSelected(ze){ze.preventDefault()}}Xt.\u0275fac=function(ze){return new(ze||Xt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(ce.Is,8),s.Y36(s.R0b),s.Y36(he.t4),s.Y36(s.QbO,8))},Xt.\u0275dir=s.lG2({type:Xt,inputs:{disableRipple:"disableRipple"},features:[s.qOj]});class Gt extends Xt{constructor(ze,Me,Ce,Je,zt,At,Tt){super(ze,Me,Ce,Je,zt,At,Tt)}}Gt.\u0275fac=function(ze){return new(ze||Gt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(ce.Is,8),s.Y36(s.R0b),s.Y36(he.t4),s.Y36(s.QbO,8))},Gt.\u0275cmp=s.Xpm({type:Gt,selectors:[["mat-tab-header"]],contentQueries:function(ze,Me,Ce){if(1&ze&&s.Suo(Ce,it,4),2&ze){let Je;s.iGM(Je=s.CRH())&&(Me._items=Je)}},viewQuery:function(ze,Me){if(1&ze&&(s.Gf(Ie,7),s.Gf(L,7),s.Gf(B,7),s.Gf(v,7),s.Gf(a,5),s.Gf(C,5)),2&ze){let Ce;s.iGM(Ce=s.CRH())&&(Me._inkBar=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabListContainer=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabList=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabListInner=Ce.first),s.iGM(Ce=s.CRH())&&(Me._nextPaginator=Ce.first),s.iGM(Ce=s.CRH())&&(Me._previousPaginator=Ce.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(ze,Me){2&ze&&s.ekj("mat-tab-header-pagination-controls-enabled",Me._showPaginationControls)("mat-tab-header-rtl","rtl"==Me._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[s.qOj],ngContentSelectors:o,decls:14,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(ze,Me){1&ze&&(s.F$t(),s.TgZ(0,"button",0,1),s.NdJ("click",function(){return Me._handlePaginatorClick("before")})("mousedown",function(Je){return Me._handlePaginatorPress("before",Je)})("touchend",function(){return Me._stopInterval()}),s._UZ(2,"div",2),s.qZA(),s.TgZ(3,"div",3,4),s.NdJ("keydown",function(Je){return Me._handleKeydown(Je)}),s.TgZ(5,"div",5,6),s.NdJ("cdkObserveContent",function(){return Me._onContentChanges()}),s.TgZ(7,"div",7,8),s.Hsn(9),s.qZA(),s._UZ(10,"mat-ink-bar"),s.qZA()(),s.TgZ(11,"button",9,10),s.NdJ("mousedown",function(Je){return Me._handlePaginatorPress("after",Je)})("click",function(){return Me._handlePaginatorClick("after")})("touchend",function(){return Me._stopInterval()}),s._UZ(13,"div",2),s.qZA()),2&ze&&(s.ekj("mat-tab-header-pagination-disabled",Me._disableScrollBefore),s.Q6J("matRippleDisabled",Me._disableScrollBefore||Me.disableRipple)("disabled",Me._disableScrollBefore||null),s.xp6(5),s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode),s.xp6(6),s.ekj("mat-tab-header-pagination-disabled",Me._disableScrollAfter),s.Q6J("matRippleDisabled",Me._disableScrollAfter||Me.disableRipple)("disabled",Me._disableScrollAfter||null))},dependencies:[D.wG,t.wD,Ie],styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}.mat-tab-label::before{margin:5px}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"],encapsulation:2});let In=0;class rn{}const tn=(0,D.pj)((0,D.Kr)(class{constructor(ut){this._elementRef=ut}}),"primary");class pn extends tn{constructor(ze,Me,Ce,Je){super(ze),this._changeDetectorRef=Me,this._animationMode=Je,this._tabs=new s.n_E,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=I.w0.EMPTY,this._tabLabelSubscription=I.w0.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new s.vpe,this.focusChange=new s.vpe,this.animationDone=new s.vpe,this.selectedTabChange=new s.vpe(!0),this._groupId=In++,this.animationDuration=Ce&&Ce.animationDuration?Ce.animationDuration:"500ms",this.disablePagination=!(!Ce||null==Ce.disablePagination)&&Ce.disablePagination,this.dynamicHeight=!(!Ce||null==Ce.dynamicHeight)&&Ce.dynamicHeight,this.contentTabIndex=Ce?.contentTabIndex??null,this.preserveContent=!!Ce?.preserveContent}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(ze){this._dynamicHeight=(0,ue.Ig)(ze)}get selectedIndex(){return this._selectedIndex}set selectedIndex(ze){this._indexToSelect=(0,ue.su)(ze,null)}get animationDuration(){return this._animationDuration}set animationDuration(ze){this._animationDuration=/^\d+$/.test(ze+"")?ze+"ms":ze}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(ze){this._contentTabIndex=(0,ue.su)(ze,null)}get disablePagination(){return this._disablePagination}set disablePagination(ze){this._disablePagination=(0,ue.Ig)(ze)}get preserveContent(){return this._preserveContent}set preserveContent(ze){this._preserveContent=(0,ue.Ig)(ze)}get backgroundColor(){return this._backgroundColor}set backgroundColor(ze){const Me=this._elementRef.nativeElement;Me.classList.remove(`mat-background-${this.backgroundColor}`),ze&&Me.classList.add(`mat-background-${ze}`),this._backgroundColor=ze}ngAfterContentChecked(){const ze=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=ze){const Me=null==this._selectedIndex;if(!Me){this.selectedTabChange.emit(this._createChangeEvent(ze));const Ce=this._tabBodyWrapper.nativeElement;Ce.style.minHeight=Ce.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((Ce,Je)=>Ce.isActive=Je===ze),Me||(this.selectedIndexChange.emit(ze),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((Me,Ce)=>{Me.position=Ce-ze,null!=this._selectedIndex&&0==Me.position&&!Me.origin&&(Me.origin=ze-this._selectedIndex)}),this._selectedIndex!==ze&&(this._selectedIndex=ze,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const ze=this._clampTabIndex(this._indexToSelect);if(ze===this._selectedIndex){const Me=this._tabs.toArray();let Ce;for(let Je=0;Je{Me[ze].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(ze))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe((0,k.O)(this._allTabs)).subscribe(ze=>{this._tabs.reset(ze.filter(Me=>Me._closestTabGroup===this||!Me._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(ze){const Me=this._tabHeader;Me&&(Me.focusIndex=ze)}_focusChanged(ze){this._lastFocusedTabIndex=ze,this.focusChange.emit(this._createChangeEvent(ze))}_createChangeEvent(ze){const Me=new rn;return Me.index=ze,this._tabs&&this._tabs.length&&(Me.tab=this._tabs.toArray()[ze]),Me}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=(0,Q.T)(...this._tabs.map(ze=>ze._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(ze){return Math.min(this._tabs.length-1,Math.max(ze||0,0))}_getTabLabelId(ze){return`mat-tab-label-${this._groupId}-${ze}`}_getTabContentId(ze){return`mat-tab-content-${this._groupId}-${ze}`}_setTabBodyWrapperHeight(ze){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const Me=this._tabBodyWrapper.nativeElement;Me.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(Me.style.height=ze+"px")}_removeTabBodyWrapperHeight(){const ze=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=ze.clientHeight,ze.style.height="",this.animationDone.emit()}_handleClick(ze,Me,Ce){ze.disabled||(this.selectedIndex=Me.focusIndex=Ce)}_getTabIndex(ze,Me){if(ze.disabled)return null;return Me===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(ze,Me){ze&&"mouse"!==ze&&"touch"!==ze&&(this._tabHeader.focusIndex=Me)}}pn.\u0275fac=function(ze){return new(ze||pn)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(le,8),s.Y36(s.QbO,8))},pn.\u0275dir=s.lG2({type:pn,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[s.qOj]});class tt extends pn{constructor(ze,Me,Ce,Je){super(ze,Me,Ce,Je)}}tt.\u0275fac=function(ze){return new(ze||tt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(le,8),s.Y36(s.QbO,8))},tt.\u0275cmp=s.Xpm({type:tt,selectors:[["mat-tab-group"]],contentQueries:function(ze,Me,Ce){if(1&ze&&s.Suo(Ce,ee,5),2&ze){let Je;s.iGM(Je=s.CRH())&&(Me._allTabs=Je)}},viewQuery:function(ze,Me){if(1&ze&&(s.Gf(N,5),s.Gf(F,5)),2&ze){let Ce;s.iGM(Ce=s.CRH())&&(Me._tabBodyWrapper=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabHeader=Ce.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(ze,Me){2&ze&&s.ekj("mat-tab-group-dynamic-height",Me.dynamicHeight)("mat-tab-group-inverted-header","below"===Me.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[s._Bn([{provide:pe,useExisting:tt}]),s.qOj],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","ngClass","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","ngClass","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(ze,Me){1&ze&&(s.TgZ(0,"mat-tab-header",0,1),s.NdJ("indexFocused",function(Je){return Me._focusChanged(Je)})("selectFocusedIndex",function(Je){return Me.selectedIndex=Je}),s.YNc(2,Ke,5,15,"div",2),s.qZA(),s.TgZ(3,"div",3,4),s.YNc(5,je,1,11,"mat-tab-body",5),s.qZA()),2&ze&&(s.Q6J("selectedIndex",Me.selectedIndex||0)("disableRipple",Me.disableRipple)("disablePagination",Me.disablePagination),s.xp6(2),s.Q6J("ngForOf",Me._tabs),s.xp6(1),s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode),s.xp6(2),s.Q6J("ngForOf",Me._tabs))},dependencies:[E.mk,E.sg,E.O5,_.Pl,D.wG,e.kH,it,Re,Gt],styles:[".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],encapsulation:2});let vt=0;class dt extends yn{constructor(ze,Me,Ce,Je,zt,At,Tt){super(ze,Je,zt,Me,Ce,At,Tt),this._disableRipple=!1,this.color="primary"}get backgroundColor(){return this._backgroundColor}set backgroundColor(ze){const Me=this._elementRef.nativeElement.classList;Me.remove(`mat-background-${this.backgroundColor}`),ze&&Me.add(`mat-background-${ze}`),this._backgroundColor=ze}get disableRipple(){return this._disableRipple}set disableRipple(ze){this._disableRipple=(0,ue.Ig)(ze)}_itemSelected(){}ngAfterContentInit(){this._items.changes.pipe((0,k.O)(null),(0,S.R)(this._destroyed)).subscribe(()=>{this.updateActiveLink()}),super.ngAfterContentInit()}updateActiveLink(){if(!this._items)return;const ze=this._items.toArray();for(let Me=0;Me.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}.mat-tab-link::before{margin:5px}@media(max-width: 599px){.mat-tab-link{min-width:72px}}"],encapsulation:2});const J=(0,D.sb)((0,D.Kr)((0,D.Id)(class{})));class oe extends J{constructor(ze,Me,Ce,Je,zt,At){super(),this._tabNavBar=ze,this.elementRef=Me,this._focusMonitor=zt,this._isActive=!1,this.id="mat-tab-link-"+vt++,this.rippleConfig=Ce||{},this.tabIndex=parseInt(Je)||0,"NoopAnimations"===At&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get active(){return this._isActive}set active(ze){const Me=(0,ue.Ig)(ze);Me!==this._isActive&&(this._isActive=Me,this._tabNavBar.updateActiveLink())}get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.elementRef)}_handleFocus(){this._tabNavBar.focusIndex=this._tabNavBar._items.toArray().indexOf(this)}_handleKeydown(ze){this._tabNavBar.tabPanel&&ze.keyCode===w.L_&&this.elementRef.nativeElement.click()}_getAriaControls(){return this._tabNavBar.tabPanel?this._tabNavBar.tabPanel?.id:this.elementRef.nativeElement.getAttribute("aria-controls")}_getAriaSelected(){return this._tabNavBar.tabPanel?this.active?"true":"false":this.elementRef.nativeElement.getAttribute("aria-selected")}_getAriaCurrent(){return this.active&&!this._tabNavBar.tabPanel?"page":null}_getRole(){return this._tabNavBar.tabPanel?"tab":this.elementRef.nativeElement.getAttribute("role")}_getTabIndex(){return this._tabNavBar.tabPanel?this._isActive&&!this.disabled?0:-1:this.tabIndex}}oe.\u0275fac=function(ze){return new(ze||oe)(s.Y36(dt),s.Y36(s.SBq),s.Y36(D.Y2,8),s.$8M("tabindex"),s.Y36(e.tE),s.Y36(s.QbO,8))},oe.\u0275dir=s.lG2({type:oe,inputs:{active:"active",id:"id"},features:[s.qOj]});class De extends oe{constructor(ze,Me,Ce,Je,zt,At,Tt,Ht){super(ze,Me,zt,At,Tt,Ht),this._tabLinkRipple=new D.IR(this,Ce,Me,Je),this._tabLinkRipple.setupTriggerEvents(Me.nativeElement)}ngOnDestroy(){super.ngOnDestroy(),this._tabLinkRipple._removeTriggerEvents()}}De.\u0275fac=function(ze){return new(ze||De)(s.Y36(se),s.Y36(s.SBq),s.Y36(s.R0b),s.Y36(he.t4),s.Y36(D.Y2,8),s.$8M("tabindex"),s.Y36(e.tE),s.Y36(s.QbO,8))},De.\u0275dir=s.lG2({type:De,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mat-tab-link","mat-focus-indicator"],hostVars:11,hostBindings:function(ze,Me){1&ze&&s.NdJ("focus",function(){return Me._handleFocus()})("keydown",function(Je){return Me._handleKeydown(Je)}),2&ze&&(s.uIk("aria-controls",Me._getAriaControls())("aria-current",Me._getAriaCurrent())("aria-disabled",Me.disabled)("aria-selected",Me._getAriaSelected())("id",Me.id)("tabIndex",Me._getTabIndex())("role",Me._getRole()),s.ekj("mat-tab-disabled",Me.disabled)("mat-tab-label-active",Me.active))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matTabLink"],features:[s.qOj]});class Ye{constructor(){this.id="mat-tab-nav-panel-"+vt++}}Ye.\u0275fac=function(ze){return new(ze||Ye)},Ye.\u0275cmp=s.Xpm({type:Ye,selectors:[["mat-tab-nav-panel"]],hostAttrs:["role","tabpanel",1,"mat-tab-nav-panel"],hostVars:2,hostBindings:function(ze,Me){2&ze&&s.uIk("aria-labelledby",Me._activeTabId)("id",Me.id)},inputs:{id:"id"},exportAs:["matTabNavPanel"],ngContentSelectors:o,decls:1,vars:0,template:function(ze,Me){1&ze&&(s.F$t(),s.Hsn(0))},encapsulation:2,changeDetection:0});class Dt{}Dt.\u0275fac=function(ze){return new(ze||Dt)},Dt.\u0275mod=s.oAB({type:Dt}),Dt.\u0275inj=s.cJS({imports:[E.ez,D.BQ,_.eL,D.si,t.Q8,e.rt,D.BQ]})},2543:(Ue,q,m)=>{"use strict";m.d(q,{Ye:()=>p,g0:()=>A});var e=m(2560),t=m(207),_=m(9107),E=m(4666);const s=["*",[["mat-toolbar-row"]]],u=(0,t.pj)(class{constructor(P){this._elementRef=P}});class k{}k.\u0275fac=function(M){return new(M||k)},k.\u0275dir=e.lG2({type:k,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]});class p extends u{constructor(M,z,I){super(M),this._platform=z,this._document=I}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){this._toolbarRows.length}}p.\u0275fac=function(M){return new(M||p)(e.Y36(e.SBq),e.Y36(_.t4),e.Y36(E.K0))},p.\u0275cmp=e.Xpm({type:p,selectors:[["mat-toolbar"]],contentQueries:function(M,z,I){if(1&M&&e.Suo(I,k,5),2&M){let W;e.iGM(W=e.CRH())&&(z._toolbarRows=W)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(M,z){2&M&&e.ekj("mat-toolbar-multiple-rows",z._toolbarRows.length>0)("mat-toolbar-single-row",0===z._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[e.qOj],ngContentSelectors:["*","mat-toolbar-row"],decls:2,vars:0,template:function(M,z){1&M&&(e.F$t(s),e.Hsn(0),e.Hsn(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}"],encapsulation:2,changeDetection:0});class A{}A.\u0275fac=function(M){return new(M||A)},A.\u0275mod=e.oAB({type:A}),A.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},6896:(Ue,q,m)=>{"use strict";m.d(q,{AV:()=>L,gM:()=>h});var e=m(5895),t=m(4218),_=m(4666),E=m(2560),s=m(207),D=m(1494),u=m(2867),k=m(8971),p=m(8456),S=m(3278),A=m(9107),P=m(7520),M=m(253),z=m(8951),I=m(9295),W=m(4851);const Z=["tooltip"],ae="tooltip-panel",_e=(0,A.i$)({passive:!0});const ue=new E.OlP("mat-tooltip-scroll-strategy");const he={provide:ue,deps:[e.aV],useFactory:function $(v){return()=>v.scrollStrategies.reposition({scrollThrottle:20})}},w=new E.OlP("mat-tooltip-default-options",{providedIn:"root",factory:function n(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class o{constructor(a,C,N,F,X,Fe,ke,Ke,je,Ve,xe,Ze){this._overlay=a,this._elementRef=C,this._scrollDispatcher=N,this._viewContainerRef=F,this._ngZone=X,this._platform=Fe,this._ariaDescriber=ke,this._focusMonitor=Ke,this._dir=Ve,this._defaultOptions=xe,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this._showDelay=this._defaultOptions.showDelay,this._hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new M.x,this._scrollStrategy=je,this._document=Ze,xe&&(xe.position&&(this.position=xe.position),xe.touchGestures&&(this.touchGestures=xe.touchGestures)),Ve.change.pipe((0,z.R)(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}get position(){return this._position}set position(a){a!==this._position&&(this._position=a,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(a){this._disabled=(0,k.Ig)(a),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(a){this._showDelay=(0,k.su)(a)}get hideDelay(){return this._hideDelay}set hideDelay(a){this._hideDelay=(0,k.su)(a),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(a){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=a?String(a).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(a){this._tooltipClass=a,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,z.R)(this._destroyed)).subscribe(a=>{a?"keyboard"===a&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const a=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([C,N])=>{a.removeEventListener(C,N,_e)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(a,this.message,"tooltip"),this._focusMonitor.stopMonitoring(a)}show(a=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const C=this._createOverlay();this._detach(),this._portal=this._portal||new P.C5(this._tooltipComponent,this._viewContainerRef);const N=this._tooltipInstance=C.attach(this._portal).instance;N._triggerElement=this._elementRef.nativeElement,N._mouseLeaveHideDelay=this._hideDelay,N.afterHidden().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),N.show(a)}hide(a=this.hideDelay){const C=this._tooltipInstance;C&&(C.isVisible()?C.hide(a):(C._cancelPendingAnimations(),this._detach()))}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const a=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),C=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(a);return C.positionChanges.pipe((0,z.R)(this._destroyed)).subscribe(N=>{this._updateCurrentPositionClass(N.connectionPair),this._tooltipInstance&&N.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:C,panelClass:`${this._cssClassPrefix}-${ae}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe((0,z.R)(this._destroyed)).subscribe(N=>{this._isTooltipVisible()&&N.keyCode===p.hY&&!(0,p.Vb)(N)&&(N.preventDefault(),N.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(a){const C=a.getConfig().positionStrategy,N=this._getOrigin(),F=this._getOverlayPosition();C.withPositions([this._addOffset({...N.main,...F.main}),this._addOffset({...N.fallback,...F.fallback})])}_addOffset(a){return a}_getOrigin(){const a=!this._dir||"ltr"==this._dir.value,C=this.position;let N;"above"==C||"below"==C?N={originX:"center",originY:"above"==C?"top":"bottom"}:"before"==C||"left"==C&&a||"right"==C&&!a?N={originX:"start",originY:"center"}:("after"==C||"right"==C&&a||"left"==C&&!a)&&(N={originX:"end",originY:"center"});const{x:F,y:X}=this._invertPosition(N.originX,N.originY);return{main:N,fallback:{originX:F,originY:X}}}_getOverlayPosition(){const a=!this._dir||"ltr"==this._dir.value,C=this.position;let N;"above"==C?N={overlayX:"center",overlayY:"bottom"}:"below"==C?N={overlayX:"center",overlayY:"top"}:"before"==C||"left"==C&&a||"right"==C&&!a?N={overlayX:"end",overlayY:"center"}:("after"==C||"right"==C&&a||"left"==C&&!a)&&(N={overlayX:"start",overlayY:"center"});const{x:F,y:X}=this._invertPosition(N.overlayX,N.overlayY);return{main:N,fallback:{overlayX:F,overlayY:X}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe((0,I.q)(1),(0,z.R)(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(a){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=a,this._tooltipInstance._markForCheck())}_invertPosition(a,C){return"above"===this.position||"below"===this.position?"top"===C?C="bottom":"bottom"===C&&(C="top"):"end"===a?a="start":"start"===a&&(a="end"),{x:a,y:C}}_updateCurrentPositionClass(a){const{overlayY:C,originX:N,originY:F}=a;let X;if(X="center"===C?this._dir&&"rtl"===this._dir.value?"end"===N?"left":"right":"start"===N?"left":"right":"bottom"===C&&"top"===F?"above":"below",X!==this._currentPosition){const Fe=this._overlayRef;if(Fe){const ke=`${this._cssClassPrefix}-${ae}-`;Fe.removePanelClass(ke+this._currentPosition),Fe.addPanelClass(ke+X)}this._currentPosition=X}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const a=[];if(this._platformSupportsMouseEvents())a.push(["mouseleave",C=>{const N=C.relatedTarget;(!N||!this._overlayRef?.overlayElement.contains(N))&&this.hide()}],["wheel",C=>this._wheelListener(C)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const C=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};a.push(["touchend",C],["touchcancel",C])}this._addListeners(a),this._passiveListeners.push(...a)}_addListeners(a){a.forEach(([C,N])=>{this._elementRef.nativeElement.addEventListener(C,N,_e)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(a){if(this._isTooltipVisible()){const C=this._document.elementFromPoint(a.clientX,a.clientY),N=this._elementRef.nativeElement;C!==N&&!N.contains(C)&&this.hide()}}_disableNativeGesturesIfNecessary(){const a=this.touchGestures;if("off"!==a){const C=this._elementRef.nativeElement,N=C.style;("on"===a||"INPUT"!==C.nodeName&&"TEXTAREA"!==C.nodeName)&&(N.userSelect=N.msUserSelect=N.webkitUserSelect=N.MozUserSelect="none"),("on"===a||!C.draggable)&&(N.webkitUserDrag="none"),N.touchAction="none",N.webkitTapHighlightColor="transparent"}}}o.\u0275fac=function(a){E.$Z()},o.\u0275dir=E.lG2({type:o,inputs:{position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}});class h extends o{constructor(a,C,N,F,X,Fe,ke,Ke,je,Ve,xe,Ze){super(a,C,N,F,X,Fe,ke,Ke,je,Ve,xe,Ze),this._tooltipComponent=y}}h.\u0275fac=function(a){return new(a||h)(E.Y36(e.aV),E.Y36(E.SBq),E.Y36(D.mF),E.Y36(E.s_b),E.Y36(E.R0b),E.Y36(A.t4),E.Y36(t.$s),E.Y36(t.tE),E.Y36(ue),E.Y36(u.Is,8),E.Y36(w,8),E.Y36(_.K0))},h.\u0275dir=E.lG2({type:h,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[E.qOj]});class d{constructor(a,C){this._changeDetectorRef=a,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new M.x,this._animationsDisabled="NoopAnimations"===C}show(a){clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},a)}hide(a){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},a)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:a}){(!a||!this._triggerElement.contains(a))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName:a}){(a===this._showAnimation||a===this._hideAnimation)&&this._finalizeAnimation(a===this._showAnimation)}_cancelPendingAnimations(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(a){a?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(a){const C=this._tooltip.nativeElement,N=this._showAnimation,F=this._hideAnimation;if(C.classList.remove(a?F:N),C.classList.add(a?N:F),this._isVisible=a,a&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const X=getComputedStyle(C);("0s"===X.getPropertyValue("animation-duration")||"none"===X.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}a&&this._onShow(),this._animationsDisabled&&(C.classList.add("_mat-animation-noopable"),this._finalizeAnimation(a))}}d.\u0275fac=function(a){return new(a||d)(E.Y36(E.sBO),E.Y36(E.QbO,8))},d.\u0275dir=E.lG2({type:d});class y extends d{constructor(a,C,N){super(a,N),this._breakpointObserver=C,this._isHandset=this._breakpointObserver.observe(S.u3.Handset),this._showAnimation="mat-tooltip-show",this._hideAnimation="mat-tooltip-hide"}}y.\u0275fac=function(a){return new(a||y)(E.Y36(E.sBO),E.Y36(S.Yg),E.Y36(E.QbO,8))},y.\u0275cmp=E.Xpm({type:y,selectors:[["mat-tooltip-component"]],viewQuery:function(a,C){if(1&a&&E.Gf(Z,7),2&a){let N;E.iGM(N=E.CRH())&&(C._tooltip=N.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(a,C){1&a&&E.NdJ("mouseleave",function(F){return C._handleMouseLeave(F)}),2&a&&E.Udp("zoom",C.isVisible()?1:null)},features:[E.qOj],decls:4,vars:6,consts:[[1,"mat-tooltip",3,"ngClass","animationend"],["tooltip",""]],template:function(a,C){if(1&a&&(E.TgZ(0,"div",0,1),E.NdJ("animationend",function(F){return C._handleAnimationEnd(F)}),E.ALo(2,"async"),E._uU(3),E.qZA()),2&a){let N;E.ekj("mat-tooltip-handset",null==(N=E.lcZ(2,4,C._isHandset))?null:N.matches),E.Q6J("ngClass",C.tooltipClass),E.xp6(3),E.Oqu(C.message)}},dependencies:[_.mk,_.Ov],styles:[".mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis;transform:scale(0)}.mat-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}.mat-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-tooltip-show{0%{opacity:0;transform:scale(0)}50%{opacity:.5;transform:scale(0.99)}100%{opacity:1;transform:scale(1)}}@keyframes mat-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}.mat-tooltip-show{animation:mat-tooltip-show 200ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-tooltip-hide{animation:mat-tooltip-hide 100ms cubic-bezier(0, 0, 0.2, 1) forwards}"],encapsulation:2,changeDetection:0});class L{}L.\u0275fac=function(a){return new(a||L)},L.\u0275mod=E.oAB({type:L}),L.\u0275inj=E.cJS({providers:[he],imports:[t.rt,_.ez,e.U8,s.BQ,s.BQ,D.ZD]});(0,W.X$)("state",[(0,W.SB)("initial, void, hidden",(0,W.oB)({opacity:0,transform:"scale(0)"})),(0,W.SB)("visible",(0,W.oB)({transform:"scale(1)"})),(0,W.eR)("* => visible",(0,W.jt)("200ms cubic-bezier(0, 0, 0.2, 1)",(0,W.F4)([(0,W.oB)({opacity:0,transform:"scale(0)",offset:0}),(0,W.oB)({opacity:.5,transform:"scale(0.99)",offset:.5}),(0,W.oB)({opacity:1,transform:"scale(1)",offset:1})]))),(0,W.eR)("* => hidden",(0,W.jt)("100ms cubic-bezier(0, 0, 0.2, 1)",(0,W.oB)({opacity:0})))])},3453:(Ue,q,m)=>{"use strict";m.d(q,{Ar:()=>z,GZ:()=>P,WX:()=>_e,dp:()=>Q,eu:()=>W,fQ:()=>A,gi:()=>I,uo:()=>S});var e=m(5183),t=m(2560),_=m(207),E=m(8971),s=m(1755),D=m(6317),u=m(6646),k=m(635);const p=(0,_.sb)((0,_.Id)(e.Hs));class S extends p{constructor(ye,ue,$){super(ye,ue),this.tabIndex=Number($)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}}S.\u0275fac=function(ye){return new(ye||S)(t.Y36(t.SBq),t.Y36(e._0),t.$8M("tabindex"))},S.\u0275dir=t.lG2({type:S,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[t._Bn([{provide:e.Hs,useExisting:S}]),t.qOj]});class A extends e.rO{}A.\u0275fac=function(){let ce;return function(ue){return(ce||(ce=t.n5z(A)))(ue||A)}}(),A.\u0275dir=t.lG2({type:A,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[t._Bn([{provide:e.rO,useExisting:A}]),t.qOj]});class P extends e.Xx{constructor(ye,ue,$,he){super(ye,ue,$),this._disabled=!1,this.tabIndex=Number(he)||0}get disabled(){return this._disabled}set disabled(ye){this._disabled=(0,E.Ig)(ye)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(ye){this._tabIndex=ye??0}ngOnInit(){super.ngOnInit()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}P.\u0275fac=function(ye){return new(ye||P)(t.Y36(t.SBq),t.Y36(e._0),t.Y36(t.ZZ4),t.$8M("tabindex"))},P.\u0275dir=t.lG2({type:P,selectors:[["mat-nested-tree-node"]],hostAttrs:[1,"mat-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[t._Bn([{provide:e.Xx,useExisting:P},{provide:e.Hs,useExisting:P},{provide:e.HI,useExisting:P}]),t.qOj]});class M extends e.XJ{get level(){return this._level}set level(ye){this._setLevelInput(ye)}get indent(){return this._indent}set indent(ye){this._setIndentInput(ye)}}M.\u0275fac=function(){let ce;return function(ue){return(ce||(ce=t.n5z(M)))(ue||M)}}(),M.\u0275dir=t.lG2({type:M,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[t._Bn([{provide:e.XJ,useExisting:M}]),t.qOj]});class z{constructor(ye,ue){this.viewContainer=ye,this._node=ue}}z.\u0275fac=function(ye){return new(ye||z)(t.Y36(t.s_b),t.Y36(e.HI,8))},z.\u0275dir=t.lG2({type:z,selectors:[["","matTreeNodeOutlet",""]],features:[t._Bn([{provide:e.cu,useExisting:z}])]});class I extends e._0{}I.\u0275fac=function(){let ce;return function(ue){return(ce||(ce=t.n5z(I)))(ue||I)}}(),I.\u0275cmp=t.Xpm({type:I,selectors:[["mat-tree"]],viewQuery:function(ye,ue){if(1&ye&&t.Gf(z,7),2&ye){let $;t.iGM($=t.CRH())&&(ue._nodeOutlet=$.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],features:[t._Bn([{provide:e._0,useExisting:I}]),t.qOj],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(ye,ue){1&ye&&t.GkF(0,0)},dependencies:[z],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2});class W extends e.Ud{}W.\u0275fac=function(){let ce;return function(ue){return(ce||(ce=t.n5z(W)))(ue||W)}}(),W.\u0275dir=t.lG2({type:W,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[t._Bn([{provide:e.Ud,useExisting:W}]),t.qOj]});class Q{}Q.\u0275fac=function(ye){return new(ye||Q)},Q.\u0275mod=t.oAB({type:Q}),Q.\u0275inj=t.cJS({imports:[e.nZ,_.BQ,_.BQ]});class _e extends s.o2{constructor(){super(...arguments),this._data=new D.X([])}get data(){return this._data.value}set data(ye){this._data.next(ye)}connect(ye){return(0,u.T)(ye.viewChange,this._data).pipe((0,k.U)(()=>this.data))}disconnect(){}}},4497:(Ue,q,m)=>{"use strict";m.d(q,{Dx:()=>le,H7:()=>Je,b2:()=>ee,q6:()=>Le,se:()=>d,t6:()=>Ce});var e=m(4666),t=m(2560);class _ extends e.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class E extends _{static makeCurrent(){(0,e.HT)(new E)}onAndCancel(He,$e,$t){return He.addEventListener($e,$t,!1),()=>{He.removeEventListener($e,$t,!1)}}dispatchEvent(He,$e){He.dispatchEvent($e)}remove(He){He.parentNode&&He.parentNode.removeChild(He)}createElement(He,$e){return($e=$e||this.getDefaultDocument()).createElement(He)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(He){return He.nodeType===Node.ELEMENT_NODE}isShadowRoot(He){return He instanceof DocumentFragment}getGlobalEventTarget(He,$e){return"window"===$e?window:"document"===$e?He:"body"===$e?He.body:null}getBaseHref(He){const $e=function D(){return s=s||document.querySelector("base"),s?s.getAttribute("href"):null}();return null==$e?null:function k(Ht){u=u||document.createElement("a"),u.setAttribute("href",Ht);const He=u.pathname;return"/"===He.charAt(0)?He:`/${He}`}($e)}resetBaseElement(){s=null}getUserAgent(){return window.navigator.userAgent}getCookie(He){return(0,e.Mx)(document.cookie,He)}}let u,s=null;const p=new t.OlP("TRANSITION_ID");const A=[{provide:t.ip1,useFactory:function S(Ht,He,$e){return()=>{$e.get(t.CZH).donePromise.then(()=>{const $t=(0,e.q)(),Rt=He.querySelectorAll(`style[ng-transition="${Ht}"]`);for(let Jt=0;Jt$t.manager=this),this._plugins=He.slice().reverse()}addEventListener(He,$e,$t){return this._findPluginFor($e).addEventListener(He,$e,$t)}addGlobalEventListener(He,$e,$t){return this._findPluginFor($e).addGlobalEventListener(He,$e,$t)}getZone(){return this._zone}_findPluginFor(He){const $e=this._eventNameToPlugin.get(He);if($e)return $e;const $t=this._plugins;for(let Rt=0;Rt<$t.length;Rt++){const Jt=$t[Rt];if(Jt.supports(He))return this._eventNameToPlugin.set(He,Jt),Jt}throw new Error(`No event manager plugin found for event ${He}`)}}I.\u0275fac=function(He){return new(He||I)(t.LFG(z),t.LFG(t.R0b))},I.\u0275prov=t.Yz7({token:I,factory:I.\u0275fac});class W{constructor(He){this._doc=He}addGlobalEventListener(He,$e,$t){const Rt=(0,e.q)().getGlobalEventTarget(this._doc,He);if(!Rt)throw new Error(`Unsupported event target ${Rt} for event ${$e}`);return this.addEventListener(Rt,$e,$t)}}class Z{constructor(){this._stylesSet=new Set}addStyles(He){const $e=new Set;He.forEach($t=>{this._stylesSet.has($t)||(this._stylesSet.add($t),$e.add($t))}),this.onStylesAdded($e)}onStylesAdded(He){}getAllStyles(){return Array.from(this._stylesSet)}}Z.\u0275fac=function(He){return new(He||Z)},Z.\u0275prov=t.Yz7({token:Z,factory:Z.\u0275fac});class Q extends Z{constructor(He){super(),this._doc=He,this._hostNodes=new Map,this._hostNodes.set(He.head,[])}_addStylesToHost(He,$e,$t){He.forEach(Rt=>{const Jt=this._doc.createElement("style");Jt.textContent=Rt,$t.push($e.appendChild(Jt))})}addHost(He){const $e=[];this._addStylesToHost(this._stylesSet,He,$e),this._hostNodes.set(He,$e)}removeHost(He){const $e=this._hostNodes.get(He);$e&&$e.forEach(ie),this._hostNodes.delete(He)}onStylesAdded(He){this._hostNodes.forEach(($e,$t)=>{this._addStylesToHost(He,$t,$e)})}ngOnDestroy(){this._hostNodes.forEach(He=>He.forEach(ie))}}function ie(Ht){(0,e.q)().remove(Ht)}Q.\u0275fac=function(He){return new(He||Q)(t.LFG(e.K0))},Q.\u0275prov=t.Yz7({token:Q,factory:Q.\u0275fac});const ae={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},_e=/%COMP%/g,ue="_nghost-%COMP%",$="_ngcontent-%COMP%";function n(Ht,He,$e){for(let $t=0;$t{if("__ngUnwrap__"===He)return Ht;!1===Ht(He)&&(He.preventDefault(),He.returnValue=!1)}}class d{constructor(He,$e,$t){this.eventManager=He,this.sharedStylesHost=$e,this.appId=$t,this.rendererByCompId=new Map,this.defaultRenderer=new y(He)}createRenderer(He,$e){if(!He||!$e)return this.defaultRenderer;switch($e.encapsulation){case t.ifc.Emulated:{let $t=this.rendererByCompId.get($e.id);return $t||($t=new a(this.eventManager,this.sharedStylesHost,$e,this.appId),this.rendererByCompId.set($e.id,$t)),$t.applyToHost(He),$t}case 1:case t.ifc.ShadowDom:return new C(this.eventManager,this.sharedStylesHost,He,$e);default:if(!this.rendererByCompId.has($e.id)){const $t=n($e.id,$e.styles,[]);this.sharedStylesHost.addStyles($t),this.rendererByCompId.set($e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}d.\u0275fac=function(He){return new(He||d)(t.LFG(I),t.LFG(Q),t.LFG(t.AFp))},d.\u0275prov=t.Yz7({token:d,factory:d.\u0275fac});class y{constructor(He){this.eventManager=He,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(He,$e){return $e?document.createElementNS(ae[$e]||$e,He):document.createElement(He)}createComment(He){return document.createComment(He)}createText(He){return document.createTextNode(He)}appendChild(He,$e){(v(He)?He.content:He).appendChild($e)}insertBefore(He,$e,$t){He&&(v(He)?He.content:He).insertBefore($e,$t)}removeChild(He,$e){He&&He.removeChild($e)}selectRootElement(He,$e){let $t="string"==typeof He?document.querySelector(He):He;if(!$t)throw new Error(`The selector "${He}" did not match any elements`);return $e||($t.textContent=""),$t}parentNode(He){return He.parentNode}nextSibling(He){return He.nextSibling}setAttribute(He,$e,$t,Rt){if(Rt){$e=Rt+":"+$e;const Jt=ae[Rt];Jt?He.setAttributeNS(Jt,$e,$t):He.setAttribute($e,$t)}else He.setAttribute($e,$t)}removeAttribute(He,$e,$t){if($t){const Rt=ae[$t];Rt?He.removeAttributeNS(Rt,$e):He.removeAttribute(`${$t}:${$e}`)}else He.removeAttribute($e)}addClass(He,$e){He.classList.add($e)}removeClass(He,$e){He.classList.remove($e)}setStyle(He,$e,$t,Rt){Rt&(t.JOm.DashCase|t.JOm.Important)?He.style.setProperty($e,$t,Rt&t.JOm.Important?"important":""):He.style[$e]=$t}removeStyle(He,$e,$t){$t&t.JOm.DashCase?He.style.removeProperty($e):He.style[$e]=""}setProperty(He,$e,$t){He[$e]=$t}setValue(He,$e){He.nodeValue=$e}listen(He,$e,$t){return"string"==typeof He?this.eventManager.addGlobalEventListener(He,$e,o($t)):this.eventManager.addEventListener(He,$e,o($t))}}"@".charCodeAt(0);function v(Ht){return"TEMPLATE"===Ht.tagName&&void 0!==Ht.content}class a extends y{constructor(He,$e,$t,Rt){super(He),this.component=$t;const Jt=n(Rt+"-"+$t.id,$t.styles,[]);$e.addStyles(Jt),this.contentAttr=function he(Ht){return $.replace(_e,Ht)}(Rt+"-"+$t.id),this.hostAttr=function w(Ht){return ue.replace(_e,Ht)}(Rt+"-"+$t.id)}applyToHost(He){super.setAttribute(He,this.hostAttr,"")}createElement(He,$e){const $t=super.createElement(He,$e);return super.setAttribute($t,this.contentAttr,""),$t}}class C extends y{constructor(He,$e,$t,Rt){super(He),this.sharedStylesHost=$e,this.hostEl=$t,this.shadowRoot=$t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const Jt=n(Rt.id,Rt.styles,[]);for(let Vn=0;Vnthis.removeEventListener(He,$e,$t)}removeEventListener(He,$e,$t){return He.removeEventListener($e,$t)}}N.\u0275fac=function(He){return new(He||N)(t.LFG(e.K0))},N.\u0275prov=t.Yz7({token:N,factory:N.\u0275fac});const F=["alt","control","meta","shift"],X={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Fe={alt:Ht=>Ht.altKey,control:Ht=>Ht.ctrlKey,meta:Ht=>Ht.metaKey,shift:Ht=>Ht.shiftKey};class ke extends W{constructor(He){super(He)}supports(He){return null!=ke.parseEventName(He)}addEventListener(He,$e,$t){const Rt=ke.parseEventName($e),Jt=ke.eventCallback(Rt.fullKey,$t,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.q)().onAndCancel(He,Rt.domEventName,Jt))}static parseEventName(He){const $e=He.toLowerCase().split("."),$t=$e.shift();if(0===$e.length||"keydown"!==$t&&"keyup"!==$t)return null;const Rt=ke._normalizeKey($e.pop());let Jt="",Vn=$e.indexOf("code");if(Vn>-1&&($e.splice(Vn,1),Jt="code."),F.forEach(Tn=>{const Yn=$e.indexOf(Tn);Yn>-1&&($e.splice(Yn,1),Jt+=Tn+".")}),Jt+=Rt,0!=$e.length||0===Rt.length)return null;const zn={};return zn.domEventName=$t,zn.fullKey=Jt,zn}static matchEventFullKeyCode(He,$e){let $t=X[He.key]||He.key,Rt="";return $e.indexOf("code.")>-1&&($t=He.code,Rt="code."),!(null==$t||!$t)&&($t=$t.toLowerCase()," "===$t?$t="space":"."===$t&&($t="dot"),F.forEach(Jt=>{if(Jt!==$t){(0,Fe[Jt])(He)&&(Rt+=Jt+".")}}),Rt+=$t,Rt===$e)}static eventCallback(He,$e,$t){return Rt=>{ke.matchEventFullKeyCode(Rt,He)&&$t.runGuarded(()=>$e(Rt))}}static _normalizeKey(He){return"esc"===He?"escape":He}}ke.\u0275fac=function(He){return new(He||ke)(t.LFG(e.K0))},ke.\u0275prov=t.Yz7({token:ke,factory:ke.\u0275fac});const ht=[{provide:t.Lbi,useValue:e.bD},{provide:t.g9A,useValue:function Ie(){E.makeCurrent()},multi:!0},{provide:e.K0,useFactory:function et(){return(0,t.RDi)(document),document},deps:[]}],Le=(0,t.eFA)(t._c5,"browser",ht),Ae=new t.OlP(""),te=[{provide:t.rWj,useClass:class P{addToWindow(He){t.dqk.getAngularTestability=($t,Rt=!0)=>{const Jt=He.findTestabilityInTree($t,Rt);if(null==Jt)throw new Error("Could not find testability for element.");return Jt},t.dqk.getAllAngularTestabilities=()=>He.getAllTestabilities(),t.dqk.getAllAngularRootElements=()=>He.getAllRootElements();t.dqk.frameworkStabilizers||(t.dqk.frameworkStabilizers=[]),t.dqk.frameworkStabilizers.push($t=>{const Rt=t.dqk.getAllAngularTestabilities();let Jt=Rt.length,Vn=!1;const zn=function(Tn){Vn=Vn||Tn,Jt--,0==Jt&&$t(Vn)};Rt.forEach(function(Tn){Tn.whenStable(zn)})})}findTestabilityInTree(He,$e,$t){if(null==$e)return null;return He.getTestability($e)??($t?(0,e.q)().isShadowRoot($e)?this.findTestabilityInTree(He,$e.host,!0):this.findTestabilityInTree(He,$e.parentElement,!0):null)}},deps:[]},{provide:t.lri,useClass:t.dDg,deps:[t.R0b,t.eoX,t.rWj]},{provide:t.dDg,useClass:t.dDg,deps:[t.R0b,t.eoX,t.rWj]}],pe=[{provide:t.zSh,useValue:"root"},{provide:t.qLn,useFactory:function ve(){return new t.qLn},deps:[]},{provide:z,useClass:N,multi:!0,deps:[e.K0,t.R0b,t.Lbi]},{provide:z,useClass:ke,multi:!0,deps:[e.K0]},{provide:d,useClass:d,deps:[I,Q,t.AFp]},{provide:t.FYo,useExisting:d},{provide:Z,useExisting:Q},{provide:Q,useClass:Q,deps:[e.K0]},{provide:I,useClass:I,deps:[z,t.R0b]},{provide:e.JF,useClass:M,deps:[]},[]];class ee{constructor(He){false}static withServerTransition(He){return{ngModule:ee,providers:[{provide:t.AFp,useValue:He.appId},{provide:p,useExisting:t.AFp},A]}}}ee.\u0275fac=function(He){return new(He||ee)(t.LFG(Ae,12))},ee.\u0275mod=t.oAB({type:ee}),ee.\u0275inj=t.cJS({providers:[...pe,...te],imports:[e.ez,t.hGG]});class j{constructor(He){this._doc=He,this._dom=(0,e.q)()}addTag(He,$e=!1){return He?this._getOrCreateElement(He,$e):null}addTags(He,$e=!1){return He?He.reduce(($t,Rt)=>(Rt&&$t.push(this._getOrCreateElement(Rt,$e)),$t),[]):[]}getTag(He){return He&&this._doc.querySelector(`meta[${He}]`)||null}getTags(He){if(!He)return[];const $e=this._doc.querySelectorAll(`meta[${He}]`);return $e?[].slice.call($e):[]}updateTag(He,$e){if(!He)return null;$e=$e||this._parseSelector(He);const $t=this.getTag($e);return $t?this._setMetaElementAttributes(He,$t):this._getOrCreateElement(He,!0)}removeTag(He){this.removeTagElement(this.getTag(He))}removeTagElement(He){He&&this._dom.remove(He)}_getOrCreateElement(He,$e=!1){if(!$e){const Jt=this._parseSelector(He),Vn=this.getTags(Jt).filter(zn=>this._containsAttributes(He,zn))[0];if(void 0!==Vn)return Vn}const $t=this._dom.createElement("meta");return this._setMetaElementAttributes(He,$t),this._doc.getElementsByTagName("head")[0].appendChild($t),$t}_setMetaElementAttributes(He,$e){return Object.keys(He).forEach($t=>$e.setAttribute(this._getMetaKeyMap($t),He[$t])),$e}_parseSelector(He){const $e=He.name?"name":"property";return`${$e}="${He[$e]}"`}_containsAttributes(He,$e){return Object.keys(He).every($t=>$e.getAttribute(this._getMetaKeyMap($t))===He[$t])}_getMetaKeyMap(He){return Oe[He]||He}}j.\u0275fac=function(He){return new(He||j)(t.LFG(e.K0))},j.\u0275prov=t.Yz7({token:j,factory:function(He){let $e=null;return $e=He?new He:function H(){return new j((0,t.LFG)(e.K0))}(),$e},providedIn:"root"});const Oe={httpEquiv:"http-equiv"};class le{constructor(He){this._doc=He}getTitle(){return this._doc.title}setTitle(He){this._doc.title=He||""}}le.\u0275fac=function(He){return new(He||le)(t.LFG(e.K0))},le.\u0275prov=t.Yz7({token:le,factory:function(He){let $e=null;return $e=He?new He:function Re(){return new le((0,t.LFG)(e.K0))}(),$e},providedIn:"root"});typeof window<"u"&&window;class dt{constructor(){this.store={},this.onSerializeCallbacks={}}get(He,$e){return void 0!==this.store[He]?this.store[He]:$e}set(He,$e){this.store[He]=$e}remove(He){delete this.store[He]}hasKey(He){return this.store.hasOwnProperty(He)}get isEmpty(){return 0===Object.keys(this.store).length}onSerialize(He,$e){this.onSerializeCallbacks[He]=$e}toJson(){for(const He in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(He))try{this.store[He]=this.onSerializeCallbacks[He]()}catch($e){console.warn("Exception in onSerialize callback: ",$e)}return JSON.stringify(this.store)}}dt.\u0275fac=function(He){return new(He||dt)},dt.\u0275prov=t.Yz7({token:dt,factory:function(){return(()=>{const Ht=(0,t.f3M)(e.K0),He=(0,t.f3M)(t.AFp),$e=new dt;return $e.store=function se(Ht,He){const $e=Ht.getElementById(He+"-state");let $t={};if($e&&$e.textContent)try{$t=JSON.parse(function tt(Ht){const He={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"};return Ht.replace(/&[^;]+;/g,$e=>He[$e])}($e.textContent))}catch(Rt){console.warn("Exception while restoring TransferState for app "+He,Rt)}return $t}(Ht,He),$e})()},providedIn:"root"});class J{}J.\u0275fac=function(He){return new(He||J)},J.\u0275mod=t.oAB({type:J}),J.\u0275inj=t.cJS({});const Ye={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},Dt=new t.OlP("HammerGestureConfig"),ut=new t.OlP("HammerLoader");class ze{constructor(){this.events=[],this.overrides={}}buildHammer(He){const $e=new Hammer(He,this.options);$e.get("pinch").set({enable:!0}),$e.get("rotate").set({enable:!0});for(const $t in this.overrides)$e.get($t).set(this.overrides[$t]);return $e}}ze.\u0275fac=function(He){return new(He||ze)},ze.\u0275prov=t.Yz7({token:ze,factory:ze.\u0275fac});class Me extends W{constructor(He,$e,$t,Rt){super(He),this._config=$e,this.console=$t,this.loader=Rt,this._loaderPromise=null}supports(He){return!(!Ye.hasOwnProperty(He.toLowerCase())&&!this.isCustomEvent(He)||!window.Hammer&&!this.loader)}addEventListener(He,$e,$t){const Rt=this.manager.getZone();if($e=$e.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||Rt.runOutsideAngular(()=>this.loader());let Jt=!1,Vn=()=>{Jt=!0};return Rt.runOutsideAngular(()=>this._loaderPromise.then(()=>{window.Hammer?Jt||(Vn=this.addEventListener(He,$e,$t)):Vn=()=>{}}).catch(()=>{Vn=()=>{}})),()=>{Vn()}}return Rt.runOutsideAngular(()=>{const Jt=this._config.buildHammer(He),Vn=function(zn){Rt.runGuarded(function(){$t(zn)})};return Jt.on($e,Vn),()=>{Jt.off($e,Vn),"function"==typeof Jt.destroy&&Jt.destroy()}})}isCustomEvent(He){return this._config.events.indexOf(He)>-1}}Me.\u0275fac=function(He){return new(He||Me)(t.LFG(e.K0),t.LFG(Dt),t.LFG(t.c2e),t.LFG(ut,8))},Me.\u0275prov=t.Yz7({token:Me,factory:Me.\u0275fac});class Ce{}Ce.\u0275fac=function(He){return new(He||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({providers:[{provide:z,useClass:Me,multi:!0,deps:[e.K0,Dt,t.c2e,[new t.FiY,ut]]},{provide:Dt,useClass:ze,deps:[]}]});class Je{}Je.\u0275fac=function(He){return new(He||Je)},Je.\u0275prov=t.Yz7({token:Je,factory:function(He){let $e=null;return $e=He?new(He||Je):t.LFG(At),$e},providedIn:"root"});class At extends Je{constructor(He){super(),this._doc=He}sanitize(He,$e){if(null==$e)return null;switch(He){case t.q3G.NONE:return $e;case t.q3G.HTML:return(0,t.qzn)($e,"HTML")?(0,t.z3N)($e):(0,t.EiD)(this._doc,String($e)).toString();case t.q3G.STYLE:return(0,t.qzn)($e,"Style")?(0,t.z3N)($e):$e;case t.q3G.SCRIPT:if((0,t.qzn)($e,"Script"))return(0,t.z3N)($e);throw new Error("unsafe value used in a script context");case t.q3G.URL:return(0,t.qzn)($e,"URL")?(0,t.z3N)($e):(0,t.mCW)(String($e));case t.q3G.RESOURCE_URL:if((0,t.qzn)($e,"ResourceURL"))return(0,t.z3N)($e);throw new Error(`unsafe value used in a resource URL context (see ${t.JZr})`);default:throw new Error(`Unexpected SecurityContext ${He} (see ${t.JZr})`)}}bypassSecurityTrustHtml(He){return(0,t.JVY)(He)}bypassSecurityTrustStyle(He){return(0,t.L6k)(He)}bypassSecurityTrustScript(He){return(0,t.eBb)(He)}bypassSecurityTrustUrl(He){return(0,t.LAX)(He)}bypassSecurityTrustResourceUrl(He){return(0,t.pB0)(He)}}At.\u0275fac=function(He){return new(He||At)(t.LFG(e.K0))},At.\u0275prov=t.Yz7({token:At,factory:function(He){let $e=null;return $e=He?new He:function zt(Ht){return new At(Ht.get(e.K0))}(t.LFG(t.zs3)),$e},providedIn:"root"});new t.GfV("15.0.2")},3547:(Ue,q,m)=>{"use strict";m.d(q,{gz:()=>Ha,gk:()=>gn,m2:()=>en,Q3:()=>Qn,OD:()=>hn,Av:()=>Zi,F0:()=>Dr,rH:()=>fl,Od:()=>pl,Bz:()=>Rs,lC:()=>Or});var e=m(2560),t=m(7400),_=m(745),E=m(6317),s=m(4423),D=m(6562),u=m(9319),k=m(1954),p=m(629),S=m(5474),A=m(833),P=m(591),M=m(3932),z=m(253),I=m(4666),W=m(635),Z=m(2673),Q=m(9295),ie=m(4874),ae=m(116),_e=m(9525),ce=m(155),ye=m(3853),ue=m(9337),$=m(3158),he=m(4351),w=m(1944),n=m(3945);function o(we){return we<=0?()=>P.E:(0,w.e)((ne,Ee)=>{let qe=[];ne.subscribe((0,n.x)(Ee,at=>{qe.push(at),we{for(const at of qe)Ee.next(at);Ee.complete()},void 0,()=>{qe=null}))})}var h=m(7354),d=m(4744),y=m(9173);function L(we,ne){const Ee=arguments.length>=2;return qe=>qe.pipe(we?(0,ae.h)((at,mt)=>we(at,mt,qe)):y.y,o(1),Ee?(0,d.d)(ne):(0,h.T)(()=>new s.K))}var B=m(2566),v=m(73),a=m(2313),C=m(6074),N=m(1308),F=m(4497);const X="primary",Fe=Symbol("RouteTitle");class ke{constructor(ne){this.params=ne||{}}has(ne){return Object.prototype.hasOwnProperty.call(this.params,ne)}get(ne){if(this.has(ne)){const Ee=this.params[ne];return Array.isArray(Ee)?Ee[0]:Ee}return null}getAll(ne){if(this.has(ne)){const Ee=this.params[ne];return Array.isArray(Ee)?Ee:[Ee]}return[]}get keys(){return Object.keys(this.params)}}function Ke(we){return new ke(we)}function je(we,ne,Ee){const qe=Ee.path.split("/");if(qe.length>we.length||"full"===Ee.pathMatch&&(ne.hasChildren()||qe.lengthqe[mt]===at)}return we===ne}function Ie(we){return Array.prototype.concat.apply([],we)}function ve(we){return we.length>0?we[we.length-1]:null}function ht(we,ne){for(const Ee in we)we.hasOwnProperty(Ee)&&ne(we[Ee],Ee)}function Le(we){return(0,e.CqO)(we)?we:(0,e.QGY)(we)?(0,t.D)(Promise.resolve(we)):(0,_.of)(we)}const Ae=!1,te={exact:function j(we,ne,Ee){if(!Ut(we.segments,ne.segments)||!_t(we.segments,ne.segments,Ee)||we.numberOfChildren!==ne.numberOfChildren)return!1;for(const qe in ne.children)if(!we.children[qe]||!j(we.children[qe],ne.children[qe],Ee))return!1;return!0},subset:Re},pe={exact:function H(we,ne){return xe(we,ne)},subset:function Oe(we,ne){return Object.keys(ne).length<=Object.keys(we).length&&Object.keys(ne).every(Ee=>Ze(we[Ee],ne[Ee]))},ignored:()=>!0};function ee(we,ne,Ee){return te[Ee.paths](we.root,ne.root,Ee.matrixParams)&&pe[Ee.queryParams](we.queryParams,ne.queryParams)&&!("exact"===Ee.fragment&&we.fragment!==ne.fragment)}function Re(we,ne,Ee){return le(we,ne,ne.segments,Ee)}function le(we,ne,Ee,qe){if(we.segments.length>Ee.length){const at=we.segments.slice(0,Ee.length);return!(!Ut(at,Ee)||ne.hasChildren()||!_t(at,Ee,qe))}if(we.segments.length===Ee.length){if(!Ut(we.segments,Ee)||!_t(we.segments,Ee,qe))return!1;for(const at in ne.children)if(!we.children[at]||!Re(we.children[at],ne.children[at],qe))return!1;return!0}{const at=Ee.slice(0,we.segments.length),mt=Ee.slice(we.segments.length);return!!(Ut(we.segments,at)&&_t(we.segments,at,qe)&&we.children[X])&&le(we.children[X],ne,mt,qe)}}function _t(we,ne,Ee){return ne.every((qe,at)=>pe[Ee](we[at].parameters,qe.parameters))}class it{constructor(ne=new Ct([],{}),Ee={},qe=null){this.root=ne,this.queryParams=Ee,this.fragment=qe,Ae}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ke(this.queryParams)),this._queryParamMap}toString(){return In.serialize(this)}}class Ct{constructor(ne,Ee){this.segments=ne,this.children=Ee,this.parent=null,ht(Ee,(qe,at)=>qe.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return rn(this)}}class un{constructor(ne,Ee){this.path=ne,this.parameters=Ee}get parameterMap(){return this._parameterMap||(this._parameterMap=Ke(this.parameters)),this._parameterMap}toString(){return oe(this)}}function Ut(we,ne){return we.length===ne.length&&we.every((Ee,qe)=>Ee.path===ne[qe].path)}class Xt{}Xt.\u0275fac=function(ne){return new(ne||Xt)},Xt.\u0275prov=e.Yz7({token:Xt,factory:function(){return new Gt},providedIn:"root"});class Gt{parse(ne){const Ee=new zt(ne);return new it(Ee.parseRootSegment(),Ee.parseQueryParams(),Ee.parseFragment())}serialize(ne){const Ee=`/${tn(ne.root,!0)}`,qe=function Ye(we){const ne=Object.keys(we).map(Ee=>{const qe=we[Ee];return Array.isArray(qe)?qe.map(at=>`${tt(Ee)}=${tt(at)}`).join("&"):`${tt(Ee)}=${tt(qe)}`}).filter(Ee=>!!Ee);return ne.length?`?${ne.join("&")}`:""}(ne.queryParams);return`${Ee}${qe}${"string"==typeof ne.fragment?`#${function vt(we){return encodeURI(we)}(ne.fragment)}`:""}`}}const In=new Gt;function rn(we){return we.segments.map(ne=>oe(ne)).join("/")}function tn(we,ne){if(!we.hasChildren())return rn(we);if(ne){const Ee=we.children[X]?tn(we.children[X],!1):"",qe=[];return ht(we.children,(at,mt)=>{mt!==X&&qe.push(`${mt}:${tn(at,!1)}`)}),qe.length>0?`${Ee}(${qe.join("//")})`:Ee}{const Ee=function yn(we,ne){let Ee=[];return ht(we.children,(qe,at)=>{at===X&&(Ee=Ee.concat(ne(qe,at)))}),ht(we.children,(qe,at)=>{at!==X&&(Ee=Ee.concat(ne(qe,at)))}),Ee}(we,(qe,at)=>at===X?[tn(we.children[X],!1)]:[`${at}:${tn(qe,!1)}`]);return 1===Object.keys(we.children).length&&null!=we.children[X]?`${rn(we)}/${Ee[0]}`:`${rn(we)}/(${Ee.join("//")})`}}function pn(we){return encodeURIComponent(we).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function tt(we){return pn(we).replace(/%3B/gi,";")}function dt(we){return pn(we).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function se(we){return decodeURIComponent(we)}function J(we){return se(we.replace(/\+/g,"%20"))}function oe(we){return`${dt(we.path)}${function De(we){return Object.keys(we).map(ne=>`;${dt(ne)}=${dt(we[ne])}`).join("")}(we.parameters)}`}const Dt=/^[^\/()?;=#]+/;function ut(we){const ne=we.match(Dt);return ne?ne[0]:""}const ze=/^[^=?&#]+/;const Ce=/^[^&#]+/;class zt{constructor(ne){this.url=ne,this.remaining=ne}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ct([],{}):new Ct([],this.parseChildren())}parseQueryParams(){const ne={};if(this.consumeOptional("?"))do{this.parseQueryParam(ne)}while(this.consumeOptional("&"));return ne}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const ne=[];for(this.peekStartsWith("(")||ne.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),ne.push(this.parseSegment());let Ee={};this.peekStartsWith("/(")&&(this.capture("/"),Ee=this.parseParens(!0));let qe={};return this.peekStartsWith("(")&&(qe=this.parseParens(!1)),(ne.length>0||Object.keys(Ee).length>0)&&(qe[X]=new Ct(ne,Ee)),qe}parseSegment(){const ne=ut(this.remaining);if(""===ne&&this.peekStartsWith(";"))throw new e.vHH(4009,Ae);return this.capture(ne),new un(se(ne),this.parseMatrixParams())}parseMatrixParams(){const ne={};for(;this.consumeOptional(";");)this.parseParam(ne);return ne}parseParam(ne){const Ee=ut(this.remaining);if(!Ee)return;this.capture(Ee);let qe="";if(this.consumeOptional("=")){const at=ut(this.remaining);at&&(qe=at,this.capture(qe))}ne[se(Ee)]=se(qe)}parseQueryParam(ne){const Ee=function Me(we){const ne=we.match(ze);return ne?ne[0]:""}(this.remaining);if(!Ee)return;this.capture(Ee);let qe="";if(this.consumeOptional("=")){const Wt=function Je(we){const ne=we.match(Ce);return ne?ne[0]:""}(this.remaining);Wt&&(qe=Wt,this.capture(qe))}const at=J(Ee),mt=J(qe);if(ne.hasOwnProperty(at)){let Wt=ne[at];Array.isArray(Wt)||(Wt=[Wt],ne[at]=Wt),Wt.push(mt)}else ne[at]=mt}parseParens(ne){const Ee={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const qe=ut(this.remaining),at=this.remaining[qe.length];if("/"!==at&&")"!==at&&";"!==at)throw new e.vHH(4010,Ae);let mt;qe.indexOf(":")>-1?(mt=qe.slice(0,qe.indexOf(":")),this.capture(mt),this.capture(":")):ne&&(mt=X);const Wt=this.parseChildren();Ee[mt]=1===Object.keys(Wt).length?Wt[X]:new Ct([],Wt),this.consumeOptional("//")}return Ee}peekStartsWith(ne){return this.remaining.startsWith(ne)}consumeOptional(ne){return!!this.peekStartsWith(ne)&&(this.remaining=this.remaining.substring(ne.length),!0)}capture(ne){if(!this.consumeOptional(ne))throw new e.vHH(4011,Ae)}}function At(we){return we.segments.length>0?new Ct([],{[X]:we}):we}function Tt(we){const ne={};for(const qe of Object.keys(we.children)){const mt=Tt(we.children[qe]);(mt.segments.length>0||mt.hasChildren())&&(ne[qe]=mt)}return function Ht(we){if(1===we.numberOfChildren&&we.children[X]){const ne=we.children[X];return new Ct(we.segments.concat(ne.segments),ne.children)}return we}(new Ct(we.segments,ne))}function He(we){return we instanceof it}function Vn(we,ne,Ee,qe,at){if(0===Ee.length)return Yn(ne.root,ne.root,ne.root,qe,at);const mt=Be(Ee);if(mt.toRoot())return Yn(ne.root,ne.root,new Ct([],{}),qe,at);return function Wt(Dn){const Rn=function Te(we,ne,Ee,qe){if(we.isAbsolute)return new ft(ne.root,!0,0);if(-1===qe){const Wt=Ee===ne.root;return new ft(Ee,Wt,0)}const at=zn(we.commands[0])?0:1;return pt(Ee,qe+at,we.numberOfDoubleDots)}(mt,ne,we.snapshot?._urlSegment,Dn),di=Rn.processChildren?Bn(Rn.segmentGroup,Rn.index,mt.commands):nn(Rn.segmentGroup,Rn.index,mt.commands);return Yn(ne.root,Rn.segmentGroup,di,qe,at)}(we.snapshot?._lastPathIndex)}function zn(we){return"object"==typeof we&&null!=we&&!we.outlets&&!we.segmentPath}function Tn(we){return"object"==typeof we&&null!=we&&we.outlets}function Yn(we,ne,Ee,qe,at){let Wt,mt={};qe&&ht(qe,(Dn,Rn)=>{mt[Rn]=Array.isArray(Dn)?Dn.map(di=>`${di}`):`${Dn}`}),Wt=we===ne?Ee:Mt(we,ne,Ee);const mn=At(Tt(Wt));return new it(mn,mt,at)}function Mt(we,ne,Ee){const qe={};return ht(we.children,(at,mt)=>{qe[mt]=at===ne?Ee:Mt(at,ne,Ee)}),new Ct(we.segments,qe)}class Ge{constructor(ne,Ee,qe){if(this.isAbsolute=ne,this.numberOfDoubleDots=Ee,this.commands=qe,ne&&qe.length>0&&zn(qe[0]))throw new e.vHH(4003,false);const at=qe.find(Tn);if(at&&at!==ve(qe))throw new e.vHH(4004,false)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}function Be(we){if("string"==typeof we[0]&&1===we.length&&"/"===we[0])return new Ge(!0,0,we);let ne=0,Ee=!1;const qe=we.reduce((at,mt,Wt)=>{if("object"==typeof mt&&null!=mt){if(mt.outlets){const mn={};return ht(mt.outlets,(Dn,Rn)=>{mn[Rn]="string"==typeof Dn?Dn.split("/"):Dn}),[...at,{outlets:mn}]}if(mt.segmentPath)return[...at,mt.segmentPath]}return"string"!=typeof mt?[...at,mt]:0===Wt?(mt.split("/").forEach((mn,Dn)=>{0==Dn&&"."===mn||(0==Dn&&""===mn?Ee=!0:".."===mn?ne++:""!=mn&&at.push(mn))}),at):[...at,mt]},[]);return new Ge(Ee,ne,qe)}class ft{constructor(ne,Ee,qe){this.segmentGroup=ne,this.processChildren=Ee,this.index=qe}}function pt(we,ne,Ee){let qe=we,at=ne,mt=Ee;for(;mt>at;){if(mt-=at,qe=qe.parent,!qe)throw new e.vHH(4005,false);at=qe.segments.length}return new ft(qe,!1,at-mt)}function nn(we,ne,Ee){if(we||(we=new Ct([],{})),0===we.segments.length&&we.hasChildren())return Bn(we,ne,Ee);const qe=function Wn(we,ne,Ee){let qe=0,at=ne;const mt={match:!1,pathIndex:0,commandIndex:0};for(;at=Ee.length)return mt;const Wt=we.segments[at],mn=Ee[qe];if(Tn(mn))break;const Dn=`${mn}`,Rn=qe0&&void 0===Dn)break;if(Dn&&Rn&&"object"==typeof Rn&&void 0===Rn.outlets){if(!ai(Dn,Rn,Wt))return mt;qe+=2}else{if(!ai(Dn,{},Wt))return mt;qe++}at++}return{match:!0,pathIndex:at,commandIndex:qe}}(we,ne,Ee),at=Ee.slice(qe.commandIndex);if(qe.match&&qe.pathIndex{"string"==typeof mt&&(mt=[mt]),null!==mt&&(at[Wt]=nn(we.children[Wt],ne,mt))}),ht(we.children,(mt,Wt)=>{void 0===qe[Wt]&&(at[Wt]=mt)}),new Ct(we.segments,at)}}function ti(we,ne,Ee){const qe=we.segments.slice(0,ne);let at=0;for(;at{"string"==typeof Ee&&(Ee=[Ee]),null!==Ee&&(ne[qe]=ti(new Ct([],{}),0,Ee))}),ne}function Ln(we){const ne={};return ht(we,(Ee,qe)=>ne[qe]=`${Ee}`),ne}function ai(we,ne,Ee){return we==Ee.path&&xe(ne,Ee.parameters)}class an{constructor(ne,Ee){this.id=ne,this.url=Ee}}class hn extends an{constructor(ne,Ee,qe="imperative",at=null){super(ne,Ee),this.type=0,this.navigationTrigger=qe,this.restoredState=at}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class en extends an{constructor(ne,Ee,qe){super(ne,Ee),this.urlAfterRedirects=qe,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class gn extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.reason=qe,this.code=at,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Qn extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.error=qe,this.target=at,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ei extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ha extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mi extends an{constructor(ne,Ee,qe,at,mt){super(ne,Ee),this.urlAfterRedirects=qe,this.state=at,this.shouldActivate=mt,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class qi extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Zi extends an{constructor(ne,Ee,qe,at){super(ne,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Za{constructor(ne){this.route=ne,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class mr{constructor(ne){this.route=ne,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class It{constructor(ne){this.snapshot=ne,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ft{constructor(ne){this.snapshot=ne,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ln{constructor(ne){this.snapshot=ne,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class En{constructor(ne){this.snapshot=ne,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class qn{constructor(ne,Ee,qe){this.routerEvent=ne,this.position=Ee,this.anchor=qe,this.type=15}toString(){const ne=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${ne}')`}}class li{constructor(ne){this._root=ne}get root(){return this._root.value}parent(ne){const Ee=this.pathFromRoot(ne);return Ee.length>1?Ee[Ee.length-2]:null}children(ne){const Ee=aa(ne,this._root);return Ee?Ee.children.map(qe=>qe.value):[]}firstChild(ne){const Ee=aa(ne,this._root);return Ee&&Ee.children.length>0?Ee.children[0].value:null}siblings(ne){const Ee=Ii(ne,this._root);return Ee.length<2?[]:Ee[Ee.length-2].children.map(at=>at.value).filter(at=>at!==ne)}pathFromRoot(ne){return Ii(ne,this._root).map(Ee=>Ee.value)}}function aa(we,ne){if(we===ne.value)return ne;for(const Ee of ne.children){const qe=aa(we,Ee);if(qe)return qe}return null}function Ii(we,ne){if(we===ne.value)return[ne];for(const Ee of ne.children){const qe=Ii(we,Ee);if(qe.length)return qe.unshift(ne),qe}return[]}class ea{constructor(ne,Ee){this.value=ne,this.children=Ee}toString(){return`TreeNode(${this.value})`}}function Di(we){const ne={};return we&&we.children.forEach(Ee=>ne[Ee.value.outlet]=Ee),ne}class Ji extends li{constructor(ne,Ee){super(ne),this.snapshot=Ee,fa(this,ne)}toString(){return this.snapshot.toString()}}function ka(we,ne){const Ee=function Yi(we,ne){const Wt=new gr([],{},{},"",{},X,ne,null,we.root,-1,{});return new Sa("",new ea(Wt,[]))}(we,ne),qe=new E.X([new un("",{})]),at=new E.X({}),mt=new E.X({}),Wt=new E.X({}),mn=new E.X(""),Dn=new Ha(qe,at,Wt,mn,mt,X,ne,Ee.root);return Dn.snapshot=Ee.root,new Ji(new ea(Dn,[]),Ee)}class Ha{constructor(ne,Ee,qe,at,mt,Wt,mn,Dn){this.url=ne,this.params=Ee,this.queryParams=qe,this.fragment=at,this.data=mt,this.outlet=Wt,this.component=mn,this.title=this.data?.pipe((0,W.U)(Rn=>Rn[Fe]))??(0,_.of)(void 0),this._futureSnapshot=Dn}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,W.U)(ne=>Ke(ne)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,W.U)(ne=>Ke(ne)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Hi(we,ne="emptyOnly"){const Ee=we.pathFromRoot;let qe=0;if("always"!==ne)for(qe=Ee.length-1;qe>=1;){const at=Ee[qe],mt=Ee[qe-1];if(at.routeConfig&&""===at.routeConfig.path)qe--;else{if(mt.component)break;qe--}}return function La(we){return we.reduce((ne,Ee)=>({params:{...ne.params,...Ee.params},data:{...ne.data,...Ee.data},resolve:{...Ee.data,...ne.resolve,...Ee.routeConfig?.data,...Ee._resolvedData}}),{params:{},data:{},resolve:{}})}(Ee.slice(qe))}class gr{constructor(ne,Ee,qe,at,mt,Wt,mn,Dn,Rn,di,ta){this.url=ne,this.params=Ee,this.queryParams=qe,this.fragment=at,this.data=mt,this.outlet=Wt,this.component=mn,this.routeConfig=Dn,this._urlSegment=Rn,this._lastPathIndex=di,this._resolve=ta}get title(){return this.data?.[Fe]}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=Ke(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ke(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(qe=>qe.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Sa extends li{constructor(ne,Ee){super(Ee),this.url=ne,fa(this,Ee)}toString(){return Ki(this._root)}}function fa(we,ne){ne.value._routerState=we,ne.children.forEach(Ee=>fa(we,Ee))}function Ki(we){const ne=we.children.length>0?` { ${we.children.map(Ki).join(", ")} } `:"";return`${we.value}${ne}`}function xa(we){if(we.snapshot){const ne=we.snapshot,Ee=we._futureSnapshot;we.snapshot=Ee,xe(ne.queryParams,Ee.queryParams)||we.queryParams.next(Ee.queryParams),ne.fragment!==Ee.fragment&&we.fragment.next(Ee.fragment),xe(ne.params,Ee.params)||we.params.next(Ee.params),function Ve(we,ne){if(we.length!==ne.length)return!1;for(let Ee=0;Eexe(Ee.parameters,ne[qe].parameters))}(we.url,ne.url),qe=!we.parent!=!ne.parent;return Ee&&!qe&&(!we.parent||ra(we.parent,ne.parent))}function za(we,ne,Ee){if(Ee&&we.shouldReuseRoute(ne.value,Ee.value.snapshot)){const qe=Ee.value;qe._futureSnapshot=ne.value;const at=function js(we,ne,Ee){return ne.children.map(qe=>{for(const at of Ee.children)if(we.shouldReuseRoute(qe.value,at.value.snapshot))return za(we,qe,at);return za(we,qe)})}(we,ne,Ee);return new ea(qe,at)}{if(we.shouldAttach(ne.value)){const mt=we.retrieve(ne.value);if(null!==mt){const Wt=mt.route;return Wt.value._futureSnapshot=ne.value,Wt.children=ne.children.map(mn=>za(we,mn)),Wt}}const qe=function is(we){return new Ha(new E.X(we.url),new E.X(we.params),new E.X(we.queryParams),new E.X(we.fragment),new E.X(we.data),we.outlet,we.component,we)}(ne.value),at=ne.children.map(mt=>za(we,mt));return new ea(qe,at)}}const Qi="ngNavigationCancelingError";function Gr(we,ne){const{redirectTo:Ee,navigationBehaviorOptions:qe}=He(ne)?{redirectTo:ne,navigationBehaviorOptions:void 0}:ne,at=Ta(!1,0,ne);return at.url=Ee,at.navigationBehaviorOptions=qe,at}function Ta(we,ne,Ee){const qe=new Error("NavigationCancelingError: "+(we||""));return qe[Qi]=!0,qe.cancellationCode=ne,Ee&&(qe.url=Ee),qe}function Is(we){return Ua(we)&&He(we.url)}function Ua(we){return we&&we[Qi]}class Ls{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Ca,this.attachRef=null}}class Ca{constructor(){this.contexts=new Map}onChildOutletCreated(ne,Ee){const qe=this.getOrCreateContext(ne);qe.outlet=Ee,this.contexts.set(ne,qe)}onChildOutletDestroyed(ne){const Ee=this.getContext(ne);Ee&&(Ee.outlet=null,Ee.attachRef=null)}onOutletDeactivated(){const ne=this.contexts;return this.contexts=new Map,ne}onOutletReAttached(ne){this.contexts=ne}getOrCreateContext(ne){let Ee=this.getContext(ne);return Ee||(Ee=new Ls,this.contexts.set(ne,Ee)),Ee}getContext(ne){return this.contexts.get(ne)||null}}Ca.\u0275fac=function(ne){return new(ne||Ca)},Ca.\u0275prov=e.Yz7({token:Ca,factory:Ca.\u0275fac,providedIn:"root"});const vr=!1;class Or{constructor(){this.activated=null,this._activatedRoute=null,this.name=X,this.activateEvents=new e.vpe,this.deactivateEvents=new e.vpe,this.attachEvents=new e.vpe,this.detachEvents=new e.vpe,this.parentContexts=(0,e.f3M)(Ca),this.location=(0,e.f3M)(e.s_b),this.changeDetector=(0,e.f3M)(e.sBO),this.environmentInjector=(0,e.f3M)(e.lqb)}ngOnChanges(ne){if(ne.name){const{firstChange:Ee,previousValue:qe}=ne.name;if(Ee)return;this.isTrackedInParentContexts(qe)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(qe)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(ne){return this.parentContexts.getContext(ne)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const ne=this.parentContexts.getContext(this.name);ne?.route&&(ne.attachRef?this.attach(ne.attachRef,ne.route):this.activateWith(ne.route,ne.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new e.vHH(4012,vr);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new e.vHH(4012,vr);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new e.vHH(4012,vr);this.location.detach();const ne=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(ne.instance),ne}attach(ne,Ee){this.activated=ne,this._activatedRoute=Ee,this.location.insert(ne.hostView),this.attachEvents.emit(ne.instance)}deactivate(){if(this.activated){const ne=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(ne)}}activateWith(ne,Ee){if(this.isActivated)throw new e.vHH(4013,vr);this._activatedRoute=ne;const qe=this.location,mt=ne.snapshot.component,Wt=this.parentContexts.getOrCreateContext(this.name).children,mn=new qs(ne,Wt,qe.injector);if(Ee&&function ms(we){return!!we.resolveComponentFactory}(Ee)){const Dn=Ee.resolveComponentFactory(mt);this.activated=qe.createComponent(Dn,qe.length,mn)}else{const Dn=Ee??this.environmentInjector;this.activated=qe.createComponent(mt,{index:qe.length,injector:mn,environmentInjector:Dn})}this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}Or.\u0275fac=function(ne){return new(ne||Or)},Or.\u0275dir=e.lG2({type:Or,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[e.TTD]});class qs{constructor(ne,Ee,qe){this.route=ne,this.childContexts=Ee,this.parent=qe}get(ne,Ee){return ne===Ha?this.route:ne===Ca?this.childContexts:this.parent.get(ne,Ee)}}class nr{}function Pr(we,ne){return we.providers&&!we._injector&&(we._injector=(0,e.MMx)(we.providers,ne,`Route: ${we.path}`)),we._injector??ne}function yr(we){const ne=we.children&&we.children.map(yr),Ee=ne?{...we,children:ne}:{...we};return!Ee.component&&!Ee.loadComponent&&(ne||Ee.loadChildren)&&Ee.outlet&&Ee.outlet!==X&&(Ee.component=nr),Ee}function sa(we){return we.outlet||X}function ir(we,ne){const Ee=we.filter(qe=>sa(qe)===ne);return Ee.push(...we.filter(qe=>sa(qe)!==ne)),Ee}function br(we){if(!we)return null;if(we.routeConfig?._injector)return we.routeConfig._injector;for(let ne=we.parent;ne;ne=ne.parent){const Ee=ne.routeConfig;if(Ee?._loadedInjector)return Ee._loadedInjector;if(Ee?._injector)return Ee._injector}return null}nr.\u0275fac=function(ne){return new(ne||nr)},nr.\u0275cmp=e.Xpm({type:nr,selectors:[["ng-component"]],standalone:!0,features:[e.jDz],decls:1,vars:0,template:function(ne,Ee){1&ne&&e._UZ(0,"router-outlet")},dependencies:[Or],encapsulation:2});class kr{constructor(ne,Ee,qe,at){this.routeReuseStrategy=ne,this.futureState=Ee,this.currState=qe,this.forwardEvent=at}activate(ne){const Ee=this.futureState._root,qe=this.currState?this.currState._root:null;this.deactivateChildRoutes(Ee,qe,ne),xa(this.futureState.root),this.activateChildRoutes(Ee,qe,ne)}deactivateChildRoutes(ne,Ee,qe){const at=Di(Ee);ne.children.forEach(mt=>{const Wt=mt.value.outlet;this.deactivateRoutes(mt,at[Wt],qe),delete at[Wt]}),ht(at,(mt,Wt)=>{this.deactivateRouteAndItsChildren(mt,qe)})}deactivateRoutes(ne,Ee,qe){const at=ne.value,mt=Ee?Ee.value:null;if(at===mt)if(at.component){const Wt=qe.getContext(at.outlet);Wt&&this.deactivateChildRoutes(ne,Ee,Wt.children)}else this.deactivateChildRoutes(ne,Ee,qe);else mt&&this.deactivateRouteAndItsChildren(Ee,qe)}deactivateRouteAndItsChildren(ne,Ee){ne.value.component&&this.routeReuseStrategy.shouldDetach(ne.value.snapshot)?this.detachAndStoreRouteSubtree(ne,Ee):this.deactivateRouteAndOutlet(ne,Ee)}detachAndStoreRouteSubtree(ne,Ee){const qe=Ee.getContext(ne.value.outlet),at=qe&&ne.value.component?qe.children:Ee,mt=Di(ne);for(const Wt of Object.keys(mt))this.deactivateRouteAndItsChildren(mt[Wt],at);if(qe&&qe.outlet){const Wt=qe.outlet.detach(),mn=qe.children.onOutletDeactivated();this.routeReuseStrategy.store(ne.value.snapshot,{componentRef:Wt,route:ne,contexts:mn})}}deactivateRouteAndOutlet(ne,Ee){const qe=Ee.getContext(ne.value.outlet),at=qe&&ne.value.component?qe.children:Ee,mt=Di(ne);for(const Wt of Object.keys(mt))this.deactivateRouteAndItsChildren(mt[Wt],at);qe&&qe.outlet&&(qe.outlet.deactivate(),qe.children.onOutletDeactivated(),qe.attachRef=null,qe.resolver=null,qe.route=null)}activateChildRoutes(ne,Ee,qe){const at=Di(Ee);ne.children.forEach(mt=>{this.activateRoutes(mt,at[mt.value.outlet],qe),this.forwardEvent(new En(mt.value.snapshot))}),ne.children.length&&this.forwardEvent(new Ft(ne.value.snapshot))}activateRoutes(ne,Ee,qe){const at=ne.value,mt=Ee?Ee.value:null;if(xa(at),at===mt)if(at.component){const Wt=qe.getOrCreateContext(at.outlet);this.activateChildRoutes(ne,Ee,Wt.children)}else this.activateChildRoutes(ne,Ee,qe);else if(at.component){const Wt=qe.getOrCreateContext(at.outlet);if(this.routeReuseStrategy.shouldAttach(at.snapshot)){const mn=this.routeReuseStrategy.retrieve(at.snapshot);this.routeReuseStrategy.store(at.snapshot,null),Wt.children.onOutletReAttached(mn.contexts),Wt.attachRef=mn.componentRef,Wt.route=mn.route.value,Wt.outlet&&Wt.outlet.attach(mn.componentRef,mn.route.value),xa(mn.route.value),this.activateChildRoutes(ne,null,Wt.children)}else{const mn=br(at.snapshot),Dn=mn?.get(e._Vd)??null;Wt.attachRef=null,Wt.route=at,Wt.resolver=Dn,Wt.injector=mn,Wt.outlet&&Wt.outlet.activateWith(at,Wt.injector),this.activateChildRoutes(ne,null,Wt.children)}}else this.activateChildRoutes(ne,null,qe)}}class Va{constructor(ne){this.path=ne,this.route=this.path[this.path.length-1]}}class dn{constructor(ne,Ee){this.component=ne,this.route=Ee}}function xt(we,ne,Ee){const qe=we._root;return ri(qe,ne?ne._root:null,Ee,[qe.value])}function Fn(we,ne){const Ee=Symbol(),qe=ne.get(we,Ee);return qe===Ee?"function"!=typeof we||(0,e.Z0I)(we)?ne.get(we):we:qe}function ri(we,ne,Ee,qe,at={canDeactivateChecks:[],canActivateChecks:[]}){const mt=Di(ne);return we.children.forEach(Wt=>{(function Bi(we,ne,Ee,qe,at={canDeactivateChecks:[],canActivateChecks:[]}){const mt=we.value,Wt=ne?ne.value:null,mn=Ee?Ee.getContext(we.value.outlet):null;if(Wt&&mt.routeConfig===Wt.routeConfig){const Dn=function Xi(we,ne,Ee){if("function"==typeof Ee)return Ee(we,ne);switch(Ee){case"pathParamsChange":return!Ut(we.url,ne.url);case"pathParamsOrQueryParamsChange":return!Ut(we.url,ne.url)||!xe(we.queryParams,ne.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ra(we,ne)||!xe(we.queryParams,ne.queryParams);default:return!ra(we,ne)}}(Wt,mt,mt.routeConfig.runGuardsAndResolvers);Dn?at.canActivateChecks.push(new Va(qe)):(mt.data=Wt.data,mt._resolvedData=Wt._resolvedData),mt.component?ri(we,ne,mn?mn.children:null,qe,at):ri(we,ne,Ee,qe,at),Dn&&mn&&mn.outlet&&mn.outlet.isActivated&&at.canDeactivateChecks.push(new dn(mn.outlet.component,Wt))}else Wt&&oa(ne,mn,at),at.canActivateChecks.push(new Va(qe)),mt.component?ri(we,null,mn?mn.children:null,qe,at):ri(we,null,Ee,qe,at);return at})(Wt,mt[Wt.value.outlet],Ee,qe.concat([Wt.value]),at),delete mt[Wt.value.outlet]}),ht(mt,(Wt,mn)=>oa(Wt,Ee.getContext(mn),at)),at}function oa(we,ne,Ee){const qe=Di(we),at=we.value;ht(qe,(mt,Wt)=>{at.component?oa(mt,ne?ne.children.getContext(Wt):null,Ee):oa(mt,ne,Ee)}),at.component&&ne&&ne.outlet&&ne.outlet.isActivated?Ee.canDeactivateChecks.push(new dn(ne.outlet.component,at)):Ee.canDeactivateChecks.push(new dn(null,at))}function la(we){return"function"==typeof we}function bt(we){return we instanceof s.K||"EmptyError"===we?.name}const be=Symbol("INITIAL_VALUE");function ct(){return(0,Z.w)(we=>(0,D.a)(we.map(ne=>ne.pipe((0,Q.q)(1),(0,ie.O)(be)))).pipe((0,W.U)(ne=>{for(const Ee of ne)if(!0!==Ee){if(Ee===be)return be;if(!1===Ee||Ee instanceof it)return Ee}return!0}),(0,ae.h)(ne=>ne!==be),(0,Q.q)(1)))}function Yt(we,ne){return(0,_e.z)(Ee=>{const{targetSnapshot:qe,currentSnapshot:at,guards:{canActivateChecks:mt,canDeactivateChecks:Wt}}=Ee;return 0===Wt.length&&0===mt.length?(0,_.of)({...Ee,guardsResult:!0}):function Pn(we,ne,Ee,qe){return(0,t.D)(we).pipe((0,_e.z)(at=>function kl(we,ne,Ee,qe,at){const mt=ne&&ne.routeConfig?ne.routeConfig.canDeactivate:null;if(!mt||0===mt.length)return(0,_.of)(!0);const Wt=mt.map(mn=>{const Dn=br(ne)??at,Rn=Fn(mn,Dn);return Le(function ca(we){return we&&la(we.canDeactivate)}(Rn)?Rn.canDeactivate(we,ne,Ee,qe):Dn.runInContext(()=>Rn(we,ne,Ee,qe))).pipe((0,ce.P)())});return(0,_.of)(Wt).pipe(ct())}(at.component,at.route,Ee,ne,qe)),(0,ce.P)(at=>!0!==at,!0))}(Wt,qe,at,we).pipe((0,_e.z)(mn=>mn&&function Li(we){return"boolean"==typeof we}(mn)?function Ti(we,ne,Ee,qe){return(0,t.D)(ne).pipe((0,ye.b)(at=>(0,u.z)(function gs(we,ne){return null!==we&&ne&&ne(new It(we)),(0,_.of)(!0)}(at.route.parent,qe),function rr(we,ne){return null!==we&&ne&&ne(new ln(we)),(0,_.of)(!0)}(at.route,qe),function $s(we,ne,Ee){const qe=ne[ne.length-1],mt=ne.slice(0,ne.length-1).reverse().map(Wt=>function Nt(we){const ne=we.routeConfig?we.routeConfig.canActivateChild:null;return ne&&0!==ne.length?{node:we,guards:ne}:null}(Wt)).filter(Wt=>null!==Wt).map(Wt=>(0,k.P)(()=>{const mn=Wt.guards.map(Dn=>{const Rn=br(Wt.node)??Ee,di=Fn(Dn,Rn);return Le(function Zr(we){return we&&la(we.canActivateChild)}(di)?di.canActivateChild(qe,we):Rn.runInContext(()=>di(qe,we))).pipe((0,ce.P)())});return(0,_.of)(mn).pipe(ct())}));return(0,_.of)(mt).pipe(ct())}(we,at.path,Ee),function Oo(we,ne,Ee){const qe=ne.routeConfig?ne.routeConfig.canActivate:null;if(!qe||0===qe.length)return(0,_.of)(!0);const at=qe.map(mt=>(0,k.P)(()=>{const Wt=br(ne)??Ee,mn=Fn(mt,Wt);return Le(function Rr(we){return we&&la(we.canActivate)}(mn)?mn.canActivate(ne,we):Wt.runInContext(()=>mn(ne,we))).pipe((0,ce.P)())}));return(0,_.of)(at).pipe(ct())}(we,at.route,Ee))),(0,ce.P)(at=>!0!==at,!0))}(qe,mt,we,ne):(0,_.of)(mn)),(0,W.U)(mn=>({...Ee,guardsResult:mn})))})}function po(we,ne,Ee,qe){const at=ne.canLoad;if(void 0===at||0===at.length)return(0,_.of)(!0);const mt=at.map(Wt=>{const mn=Fn(Wt,we);return Le(function rs(we){return we&&la(we.canLoad)}(mn)?mn.canLoad(ne,Ee):we.runInContext(()=>mn(ne,Ee)))});return(0,_.of)(mt).pipe(ct(),kn(qe))}function kn(we){return(0,p.z)((0,ue.b)(ne=>{if(He(ne))throw Gr(0,ne)}),(0,W.U)(ne=>!0===ne))}function Ui(we,ne,Ee,qe){const at=ne.canMatch;if(!at||0===at.length)return(0,_.of)(!0);const mt=at.map(Wt=>{const mn=Fn(Wt,we);return Le(function si(we){return we&&la(we.canMatch)}(mn)?mn.canMatch(ne,Ee):we.runInContext(()=>mn(ne,Ee)))});return(0,_.of)(mt).pipe(ct(),kn())}const eo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function sr(we,ne,Ee,qe,at){const mt=Ra(we,ne,Ee);return mt.matched?Ui(qe=Pr(ne,qe),ne,Ee).pipe((0,W.U)(Wt=>!0===Wt?mt:{...eo})):(0,_.of)(mt)}function Ra(we,ne,Ee){if(""===ne.path)return"full"===ne.pathMatch&&(we.hasChildren()||Ee.length>0)?{...eo}:{matched:!0,consumedSegments:[],remainingSegments:Ee,parameters:{},positionalParamSegments:{}};const at=(ne.matcher||je)(Ee,we,ne);if(!at)return{...eo};const mt={};ht(at.posParams,(mn,Dn)=>{mt[Dn]=mn.path});const Wt=at.consumed.length>0?{...mt,...at.consumed[at.consumed.length-1].parameters}:mt;return{matched:!0,consumedSegments:at.consumed,remainingSegments:Ee.slice(at.consumed.length),parameters:Wt,positionalParamSegments:at.posParams??{}}}function Br(we,ne,Ee,qe){if(Ee.length>0&&function $i(we,ne,Ee){return Ee.some(qe=>vs(we,ne,qe)&&sa(qe)!==X)}(we,Ee,qe)){const mt=new Ct(ne,function Ba(we,ne,Ee,qe){const at={};at[X]=qe,qe._sourceSegment=we,qe._segmentIndexShift=ne.length;for(const mt of Ee)if(""===mt.path&&sa(mt)!==X){const Wt=new Ct([],{});Wt._sourceSegment=we,Wt._segmentIndexShift=ne.length,at[sa(mt)]=Wt}return at}(we,ne,qe,new Ct(Ee,we.children)));return mt._sourceSegment=we,mt._segmentIndexShift=ne.length,{segmentGroup:mt,slicedSegments:[]}}if(0===Ee.length&&function Hn(we,ne,Ee){return Ee.some(qe=>vs(we,ne,qe))}(we,Ee,qe)){const mt=new Ct(we.segments,function _o(we,ne,Ee,qe,at){const mt={};for(const Wt of qe)if(vs(we,Ee,Wt)&&!at[sa(Wt)]){const mn=new Ct([],{});mn._sourceSegment=we,mn._segmentIndexShift=ne.length,mt[sa(Wt)]=mn}return{...at,...mt}}(we,ne,Ee,qe,we.children));return mt._sourceSegment=we,mt._segmentIndexShift=ne.length,{segmentGroup:mt,slicedSegments:Ee}}const at=new Ct(we.segments,we.children);return at._sourceSegment=we,at._segmentIndexShift=ne.length,{segmentGroup:at,slicedSegments:Ee}}function vs(we,ne,Ee){return(!(we.hasChildren()||ne.length>0)||"full"!==Ee.pathMatch)&&""===Ee.path}function dl(we,ne,Ee,qe){return!!(sa(we)===qe||qe!==X&&vs(ne,Ee,we))&&("**"===we.path||Ra(ne,we,Ee).matched)}function Gn(we,ne,Ee){return 0===ne.length&&!we.children[Ee]}const Hs=!1;class Wa{constructor(ne){this.segmentGroup=ne||null}}class ss{constructor(ne){this.urlTree=ne}}function zs(we){return(0,S._)(new Wa(we))}function to(we){return(0,S._)(new ss(we))}class Wc{constructor(ne,Ee,qe,at,mt){this.injector=ne,this.configLoader=Ee,this.urlSerializer=qe,this.urlTree=at,this.config=mt,this.allowRedirects=!0}apply(){const ne=Br(this.urlTree.root,[],[],this.config).segmentGroup,Ee=new Ct(ne.segments,ne.children);return this.expandSegmentGroup(this.injector,this.config,Ee,X).pipe((0,W.U)(mt=>this.createUrlTree(Tt(mt),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,$.K)(mt=>{if(mt instanceof ss)return this.allowRedirects=!1,this.match(mt.urlTree);throw mt instanceof Wa?this.noMatchError(mt):mt}))}match(ne){return this.expandSegmentGroup(this.injector,this.config,ne.root,X).pipe((0,W.U)(at=>this.createUrlTree(Tt(at),ne.queryParams,ne.fragment))).pipe((0,$.K)(at=>{throw at instanceof Wa?this.noMatchError(at):at}))}noMatchError(ne){return new e.vHH(4002,Hs)}createUrlTree(ne,Ee,qe){const at=At(ne);return new it(at,Ee,qe)}expandSegmentGroup(ne,Ee,qe,at){return 0===qe.segments.length&&qe.hasChildren()?this.expandChildren(ne,Ee,qe).pipe((0,W.U)(mt=>new Ct([],mt))):this.expandSegment(ne,qe,Ee,qe.segments,at,!0)}expandChildren(ne,Ee,qe){const at=[];for(const mt of Object.keys(qe.children))"primary"===mt?at.unshift(mt):at.push(mt);return(0,t.D)(at).pipe((0,ye.b)(mt=>{const Wt=qe.children[mt],mn=ir(Ee,mt);return this.expandSegmentGroup(ne,mn,Wt,mt).pipe((0,W.U)(Dn=>({segment:Dn,outlet:mt})))}),(0,he.R)((mt,Wt)=>(mt[Wt.outlet]=Wt.segment,mt),{}),L())}expandSegment(ne,Ee,qe,at,mt,Wt){return(0,t.D)(qe).pipe((0,ye.b)(mn=>this.expandSegmentAgainstRoute(ne,Ee,qe,mn,at,mt,Wt).pipe((0,$.K)(Rn=>{if(Rn instanceof Wa)return(0,_.of)(null);throw Rn}))),(0,ce.P)(mn=>!!mn),(0,$.K)((mn,Dn)=>{if(bt(mn))return Gn(Ee,at,mt)?(0,_.of)(new Ct([],{})):zs(Ee);throw mn}))}expandSegmentAgainstRoute(ne,Ee,qe,at,mt,Wt,mn){return dl(at,Ee,mt,Wt)?void 0===at.redirectTo?this.matchSegmentAgainstRoute(ne,Ee,at,mt,Wt):mn&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(ne,Ee,qe,at,mt,Wt):zs(Ee):zs(Ee)}expandSegmentAgainstRouteUsingRedirect(ne,Ee,qe,at,mt,Wt){return"**"===at.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(ne,qe,at,Wt):this.expandRegularSegmentAgainstRouteUsingRedirect(ne,Ee,qe,at,mt,Wt)}expandWildCardWithParamsAgainstRouteUsingRedirect(ne,Ee,qe,at){const mt=this.applyRedirectCommands([],qe.redirectTo,{});return qe.redirectTo.startsWith("/")?to(mt):this.lineralizeSegments(qe,mt).pipe((0,_e.z)(Wt=>{const mn=new Ct(Wt,{});return this.expandSegment(ne,mn,Ee,Wt,at,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(ne,Ee,qe,at,mt,Wt){const{matched:mn,consumedSegments:Dn,remainingSegments:Rn,positionalParamSegments:di}=Ra(Ee,at,mt);if(!mn)return zs(Ee);const ta=this.applyRedirectCommands(Dn,at.redirectTo,di);return at.redirectTo.startsWith("/")?to(ta):this.lineralizeSegments(at,ta).pipe((0,_e.z)(Ea=>this.expandSegment(ne,Ee,qe,Ea.concat(Rn),Wt,!1)))}matchSegmentAgainstRoute(ne,Ee,qe,at,mt){return"**"===qe.path?(ne=Pr(qe,ne),qe.loadChildren?(qe._loadedRoutes?(0,_.of)({routes:qe._loadedRoutes,injector:qe._loadedInjector}):this.configLoader.loadChildren(ne,qe)).pipe((0,W.U)(mn=>(qe._loadedRoutes=mn.routes,qe._loadedInjector=mn.injector,new Ct(at,{})))):(0,_.of)(new Ct(at,{}))):sr(Ee,qe,at,ne,this.urlSerializer).pipe((0,Z.w)(({matched:Wt,consumedSegments:mn,remainingSegments:Dn})=>Wt?(ne=qe._injector??ne,this.getChildConfig(ne,qe,at).pipe((0,_e.z)(di=>{const ta=di.injector??ne,Ea=di.routes,{segmentGroup:zi,slicedSegments:Fr}=Br(Ee,mn,Dn,Ea),so=new Ct(zi.segments,zi.children);if(0===Fr.length&&so.hasChildren())return this.expandChildren(ta,Ea,so).pipe((0,W.U)(No=>new Ct(mn,No)));if(0===Ea.length&&0===Fr.length)return(0,_.of)(new Ct(mn,{}));const ds=sa(qe)===mt;return this.expandSegment(ta,so,Ea,Fr,ds?X:mt,!0).pipe((0,W.U)(xs=>new Ct(mn.concat(xs.segments),xs.children)))}))):zs(Ee)))}getChildConfig(ne,Ee,qe){return Ee.children?(0,_.of)({routes:Ee.children,injector:ne}):Ee.loadChildren?void 0!==Ee._loadedRoutes?(0,_.of)({routes:Ee._loadedRoutes,injector:Ee._loadedInjector}):po(ne,Ee,qe,this.urlSerializer).pipe((0,_e.z)(at=>at?this.configLoader.loadChildren(ne,Ee).pipe((0,ue.b)(mt=>{Ee._loadedRoutes=mt.routes,Ee._loadedInjector=mt.injector})):function Po(we){return(0,S._)(Ta(Hs,3))}())):(0,_.of)({routes:[],injector:ne})}lineralizeSegments(ne,Ee){let qe=[],at=Ee.root;for(;;){if(qe=qe.concat(at.segments),0===at.numberOfChildren)return(0,_.of)(qe);if(at.numberOfChildren>1||!at.children[X])return ne.redirectTo,(0,S._)(new e.vHH(4e3,Hs));at=at.children[X]}}applyRedirectCommands(ne,Ee,qe){return this.applyRedirectCreateUrlTree(Ee,this.urlSerializer.parse(Ee),ne,qe)}applyRedirectCreateUrlTree(ne,Ee,qe,at){const mt=this.createSegmentGroup(ne,Ee.root,qe,at);return new it(mt,this.createQueryParams(Ee.queryParams,this.urlTree.queryParams),Ee.fragment)}createQueryParams(ne,Ee){const qe={};return ht(ne,(at,mt)=>{if("string"==typeof at&&at.startsWith(":")){const mn=at.substring(1);qe[mt]=Ee[mn]}else qe[mt]=at}),qe}createSegmentGroup(ne,Ee,qe,at){const mt=this.createSegments(ne,Ee.segments,qe,at);let Wt={};return ht(Ee.children,(mn,Dn)=>{Wt[Dn]=this.createSegmentGroup(ne,mn,qe,at)}),new Ct(mt,Wt)}createSegments(ne,Ee,qe,at){return Ee.map(mt=>mt.path.startsWith(":")?this.findPosParam(ne,mt,at):this.findOrReturn(mt,qe))}findPosParam(ne,Ee,qe){const at=qe[Ee.path.substring(1)];if(!at)throw new e.vHH(4001,Hs);return at}findOrReturn(ne,Ee){let qe=0;for(const at of Ee){if(at.path===ne.path)return Ee.splice(qe),at;qe++}return ne}}function Kc(we,ne,Ee,qe){return(0,Z.w)(at=>function Vc(we,ne,Ee,qe,at){return new Wc(we,ne,Ee,qe,at).apply()}(we,ne,Ee,at.extractedUrl,qe).pipe((0,W.U)(mt=>({...at,urlAfterRedirects:mt}))))}class Go{}function ko(we,ne,Ee,qe,at,mt,Wt="emptyOnly"){return new xr(we,ne,Ee,qe,at,Wt,mt).recognize().pipe((0,Z.w)(mn=>null===mn?function Zo(we){return new A.y(ne=>ne.error(we))}(new Go):(0,_.of)(mn)))}class xr{constructor(ne,Ee,qe,at,mt,Wt,mn){this.injector=ne,this.rootComponentType=Ee,this.config=qe,this.urlTree=at,this.url=mt,this.paramsInheritanceStrategy=Wt,this.urlSerializer=mn}recognize(){const ne=Br(this.urlTree.root,[],[],this.config.filter(Ee=>void 0===Ee.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,ne,X).pipe((0,W.U)(Ee=>{if(null===Ee)return null;const qe=new gr([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},X,this.rootComponentType,null,this.urlTree.root,-1,{}),at=new ea(qe,Ee),mt=new Sa(this.url,at);return this.inheritParamsAndData(mt._root),mt}))}inheritParamsAndData(ne){const Ee=ne.value,qe=Hi(Ee,this.paramsInheritanceStrategy);Ee.params=Object.freeze(qe.params),Ee.data=Object.freeze(qe.data),ne.children.forEach(at=>this.inheritParamsAndData(at))}processSegmentGroup(ne,Ee,qe,at){return 0===qe.segments.length&&qe.hasChildren()?this.processChildren(ne,Ee,qe):this.processSegment(ne,Ee,qe,qe.segments,at)}processChildren(ne,Ee,qe){return(0,t.D)(Object.keys(qe.children)).pipe((0,ye.b)(at=>{const mt=qe.children[at],Wt=ir(Ee,at);return this.processSegmentGroup(ne,Wt,mt,at)}),(0,he.R)((at,mt)=>at&&mt?(at.push(...mt),at):null),(0,B.o)(at=>null!==at),(0,d.d)(null),L(),(0,W.U)(at=>{if(null===at)return null;const mt=ul(at);return function Ro(we){we.sort((ne,Ee)=>ne.value.outlet===X?-1:Ee.value.outlet===X?1:ne.value.outlet.localeCompare(Ee.value.outlet))}(mt),mt}))}processSegment(ne,Ee,qe,at,mt){return(0,t.D)(Ee).pipe((0,ye.b)(Wt=>this.processSegmentAgainstRoute(Wt._injector??ne,Wt,qe,at,mt)),(0,ce.P)(Wt=>!!Wt),(0,$.K)(Wt=>{if(bt(Wt))return Gn(qe,at,mt)?(0,_.of)([]):(0,_.of)(null);throw Wt}))}processSegmentAgainstRoute(ne,Ee,qe,at,mt){if(Ee.redirectTo||!dl(Ee,qe,at,mt))return(0,_.of)(null);let Wt;if("**"===Ee.path){const mn=at.length>0?ve(at).parameters:{},Dn=ks(qe)+at.length,Rn=new gr(at,mn,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,os(Ee),sa(Ee),Ee.component??Ee._loadedComponent??null,Ee,ys(qe),Dn,Ne(Ee));Wt=(0,_.of)({snapshot:Rn,consumedSegments:[],remainingSegments:[]})}else Wt=sr(qe,Ee,at,ne,this.urlSerializer).pipe((0,W.U)(({matched:mn,consumedSegments:Dn,remainingSegments:Rn,parameters:di})=>{if(!mn)return null;const ta=ks(qe)+Dn.length;return{snapshot:new gr(Dn,di,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,os(Ee),sa(Ee),Ee.component??Ee._loadedComponent??null,Ee,ys(qe),ta,Ne(Ee)),consumedSegments:Dn,remainingSegments:Rn}}));return Wt.pipe((0,Z.w)(mn=>{if(null===mn)return(0,_.of)(null);const{snapshot:Dn,consumedSegments:Rn,remainingSegments:di}=mn;ne=Ee._injector??ne;const ta=Ee._loadedInjector??ne,Ea=function Yo(we){return we.children?we.children:we.loadChildren?we._loadedRoutes:[]}(Ee),{segmentGroup:zi,slicedSegments:Fr}=Br(qe,Rn,di,Ea.filter(ds=>void 0===ds.redirectTo));if(0===Fr.length&&zi.hasChildren())return this.processChildren(ta,Ea,zi).pipe((0,W.U)(ds=>null===ds?null:[new ea(Dn,ds)]));if(0===Ea.length&&0===Fr.length)return(0,_.of)([new ea(Dn,[])]);const so=sa(Ee)===mt;return this.processSegment(ta,Ea,zi,Fr,so?X:mt).pipe((0,W.U)(ds=>null===ds?null:[new ea(Dn,ds)]))}))}}function ui(we){const ne=we.value.routeConfig;return ne&&""===ne.path&&void 0===ne.redirectTo}function ul(we){const ne=[],Ee=new Set;for(const qe of we){if(!ui(qe)){ne.push(qe);continue}const at=ne.find(mt=>qe.value.routeConfig===mt.value.routeConfig);void 0!==at?(at.children.push(...qe.children),Ee.add(at)):ne.push(qe)}for(const qe of Ee){const at=ul(qe.children);ne.push(new ea(qe.value,at))}return ne.filter(qe=>!Ee.has(qe))}function ys(we){let ne=we;for(;ne._sourceSegment;)ne=ne._sourceSegment;return ne}function ks(we){let ne=we,Ee=ne._segmentIndexShift??0;for(;ne._sourceSegment;)ne=ne._sourceSegment,Ee+=ne._segmentIndexShift??0;return Ee-1}function os(we){return we.data||{}}function Ne(we){return we.resolve||{}}function st(we,ne){return(0,_e.z)(Ee=>{const{targetSnapshot:qe,guards:{canActivateChecks:at}}=Ee;if(!at.length)return(0,_.of)(Ee);let mt=0;return(0,t.D)(at).pipe((0,ye.b)(Wt=>function Ot(we,ne,Ee,qe){const at=we.routeConfig,mt=we._resolve;return void 0!==at?.title&&!Xe(at)&&(mt[Fe]=at.title),function Vt(we,ne,Ee,qe){const at=function fn(we){return[...Object.keys(we),...Object.getOwnPropertySymbols(we)]}(we);if(0===at.length)return(0,_.of)({});const mt={};return(0,t.D)(at).pipe((0,_e.z)(Wt=>function Un(we,ne,Ee,qe){const at=br(ne)??qe,mt=Fn(we,at);return Le(mt.resolve?mt.resolve(ne,Ee):at.runInContext(()=>mt(ne,Ee)))}(we[Wt],ne,Ee,qe).pipe((0,ce.P)(),(0,ue.b)(mn=>{mt[Wt]=mn}))),o(1),(0,v.h)(mt),(0,$.K)(Wt=>bt(Wt)?P.E:(0,S._)(Wt)))}(mt,we,ne,qe).pipe((0,W.U)(Wt=>(we._resolvedData=Wt,we.data=Hi(we,Ee).resolve,at&&Xe(at)&&(we.data[Fe]=at.title),null)))}(Wt.route,qe,we,ne)),(0,ue.b)(()=>mt++),o(1),(0,_e.z)(Wt=>mt===at.length?(0,_.of)(Ee):P.E))})}function Xe(we){return"string"==typeof we.title||null===we.title}function rt(we){return(0,Z.w)(ne=>{const Ee=we(ne);return Ee?(0,t.D)(Ee).pipe((0,W.U)(()=>ne)):(0,_.of)(ne)})}const Qe=new e.OlP("ROUTES");class Qt{constructor(ne,Ee){this.injector=ne,this.compiler=Ee,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(ne){if(this.componentLoaders.get(ne))return this.componentLoaders.get(ne);if(ne._loadedComponent)return(0,_.of)(ne._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(ne);const Ee=Le(ne.loadComponent()).pipe((0,W.U)(qt),(0,ue.b)(at=>{this.onLoadEndListener&&this.onLoadEndListener(ne),ne._loadedComponent=at}),(0,a.x)(()=>{this.componentLoaders.delete(ne)})),qe=new M.c(Ee,()=>new z.x).pipe((0,C.x)());return this.componentLoaders.set(ne,qe),qe}loadChildren(ne,Ee){if(this.childrenLoaders.get(Ee))return this.childrenLoaders.get(Ee);if(Ee._loadedRoutes)return(0,_.of)({routes:Ee._loadedRoutes,injector:Ee._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(Ee);const at=this.loadModuleFactoryOrRoutes(Ee.loadChildren).pipe((0,W.U)(Wt=>{this.onLoadEndListener&&this.onLoadEndListener(Ee);let mn,Dn,Rn=!1;Array.isArray(Wt)?(Dn=Wt,Rn=!0):(mn=Wt.create(ne).injector,Dn=Ie(mn.get(Qe,[],e.XFs.Self|e.XFs.Optional)));const di=Dn.map(yr);return{routes:di,injector:mn}}),(0,a.x)(()=>{this.childrenLoaders.delete(Ee)})),mt=new M.c(at,()=>new z.x).pipe((0,C.x)());return this.childrenLoaders.set(Ee,mt),mt}loadModuleFactoryOrRoutes(ne){return(this.injector,null)||Le(ne()).pipe((0,W.U)(qt),(0,_e.z)(qe=>qe instanceof e.YKP||Array.isArray(qe)?(0,_.of)(qe):(0,t.D)(this.compiler.compileModuleAsync(qe))))}}function qt(we){return function sn(we){return we&&"object"==typeof we&&"default"in we}(we)?we.default:we}Qt.\u0275fac=function(ne){return new(ne||Qt)(e.LFG(e.zs3),e.LFG(e.Sil))},Qt.\u0275prov=e.Yz7({token:Qt,factory:Qt.\u0275fac,providedIn:"root"});class Sn{constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new z.x,this.configLoader=(0,e.f3M)(Qt),this.environmentInjector=(0,e.f3M)(e.lqb),this.urlSerializer=(0,e.f3M)(Xt),this.rootContexts=(0,e.f3M)(Ca),this.navigationId=0;this.configLoader.onLoadEndListener=qe=>this.events.next(new mr(qe)),this.configLoader.onLoadStartListener=qe=>this.events.next(new Za(qe))}get hasRequestedNavigation(){return 0!==this.navigationId}complete(){this.transitions?.complete()}handleNavigationRequest(ne){const Ee=++this.navigationId;this.transitions?.next({...this.transitions.value,...ne,id:Ee})}setupNavigations(ne){return this.transitions=new E.X({id:0,targetPageId:0,currentUrlTree:ne.currentUrlTree,currentRawUrl:ne.currentUrlTree,extractedUrl:ne.urlHandlingStrategy.extract(ne.currentUrlTree),urlAfterRedirects:ne.urlHandlingStrategy.extract(ne.currentUrlTree),rawUrl:ne.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:ne.routerState.snapshot,targetSnapshot:null,currentRouterState:ne.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,ae.h)(Ee=>0!==Ee.id),(0,W.U)(Ee=>({...Ee,extractedUrl:ne.urlHandlingStrategy.extract(Ee.rawUrl)})),(0,Z.w)(Ee=>{let qe=!1,at=!1;return(0,_.of)(Ee).pipe((0,ue.b)(mt=>{this.currentNavigation={id:mt.id,initialUrl:mt.rawUrl,extractedUrl:mt.extractedUrl,trigger:mt.source,extras:mt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),(0,Z.w)(mt=>{const Wt=ne.browserUrlTree.toString(),mn=!ne.navigated||mt.extractedUrl.toString()!==Wt||Wt!==ne.currentUrlTree.toString();if(("reload"===ne.onSameUrlNavigation||mn)&&ne.urlHandlingStrategy.shouldProcessUrl(mt.rawUrl))return Jn(mt.source)&&(ne.browserUrlTree=mt.extractedUrl),(0,_.of)(mt).pipe((0,Z.w)(Rn=>{const di=this.transitions?.getValue();return this.events.next(new hn(Rn.id,this.urlSerializer.serialize(Rn.extractedUrl),Rn.source,Rn.restoredState)),di!==this.transitions?.getValue()?P.E:Promise.resolve(Rn)}),Kc(this.environmentInjector,this.configLoader,this.urlSerializer,ne.config),(0,ue.b)(Rn=>{this.currentNavigation={...this.currentNavigation,finalUrl:Rn.urlAfterRedirects},Ee.urlAfterRedirects=Rn.urlAfterRedirects}),function fe(we,ne,Ee,qe,at){return(0,_e.z)(mt=>ko(we,ne,Ee,mt.urlAfterRedirects,qe.serialize(mt.urlAfterRedirects),qe,at).pipe((0,W.U)(Wt=>({...mt,targetSnapshot:Wt}))))}(this.environmentInjector,ne.rootComponentType,ne.config,this.urlSerializer,ne.paramsInheritanceStrategy),(0,ue.b)(Rn=>{if(Ee.targetSnapshot=Rn.targetSnapshot,"eager"===ne.urlUpdateStrategy){if(!Rn.extras.skipLocationChange){const ta=ne.urlHandlingStrategy.merge(Rn.urlAfterRedirects,Rn.rawUrl);ne.setBrowserUrl(ta,Rn)}ne.browserUrlTree=Rn.urlAfterRedirects}const di=new Ei(Rn.id,this.urlSerializer.serialize(Rn.extractedUrl),this.urlSerializer.serialize(Rn.urlAfterRedirects),Rn.targetSnapshot);this.events.next(di)}));if(mn&&ne.rawUrlTree&&ne.urlHandlingStrategy.shouldProcessUrl(ne.rawUrlTree)){const{id:di,extractedUrl:ta,source:Ea,restoredState:zi,extras:Fr}=mt,so=new hn(di,this.urlSerializer.serialize(ta),Ea,zi);this.events.next(so);const ds=ka(ta,ne.rootComponentType).snapshot;return Ee={...mt,targetSnapshot:ds,urlAfterRedirects:ta,extras:{...Fr,skipLocationChange:!1,replaceUrl:!1}},(0,_.of)(Ee)}return ne.rawUrlTree=mt.rawUrl,mt.resolve(null),P.E}),(0,ue.b)(mt=>{const Wt=new ha(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(mt.urlAfterRedirects),mt.targetSnapshot);this.events.next(Wt)}),(0,W.U)(mt=>Ee={...mt,guards:xt(mt.targetSnapshot,mt.currentSnapshot,this.rootContexts)}),Yt(this.environmentInjector,mt=>this.events.next(mt)),(0,ue.b)(mt=>{if(Ee.guardsResult=mt.guardsResult,He(mt.guardsResult))throw Gr(this.urlSerializer,mt.guardsResult);const Wt=new mi(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(mt.urlAfterRedirects),mt.targetSnapshot,!!mt.guardsResult);this.events.next(Wt)}),(0,ae.h)(mt=>!!mt.guardsResult||(ne.restoreHistory(mt),this.cancelNavigationTransition(mt,"",3,ne),!1)),rt(mt=>{if(mt.guards.canActivateChecks.length)return(0,_.of)(mt).pipe((0,ue.b)(Wt=>{const mn=new qi(Wt.id,this.urlSerializer.serialize(Wt.extractedUrl),this.urlSerializer.serialize(Wt.urlAfterRedirects),Wt.targetSnapshot);this.events.next(mn)}),(0,Z.w)(Wt=>{let mn=!1;return(0,_.of)(Wt).pipe(st(ne.paramsInheritanceStrategy,this.environmentInjector),(0,ue.b)({next:()=>mn=!0,complete:()=>{mn||(ne.restoreHistory(Wt),this.cancelNavigationTransition(Wt,"",2,ne))}}))}),(0,ue.b)(Wt=>{const mn=new Zi(Wt.id,this.urlSerializer.serialize(Wt.extractedUrl),this.urlSerializer.serialize(Wt.urlAfterRedirects),Wt.targetSnapshot);this.events.next(mn)}))}),rt(mt=>{const Wt=mn=>{const Dn=[];mn.routeConfig?.loadComponent&&!mn.routeConfig._loadedComponent&&Dn.push(this.configLoader.loadComponent(mn.routeConfig).pipe((0,ue.b)(Rn=>{mn.component=Rn}),(0,W.U)(()=>{})));for(const Rn of mn.children)Dn.push(...Wt(Rn));return Dn};return(0,D.a)(Wt(mt.targetSnapshot.root)).pipe((0,d.d)(),(0,Q.q)(1))}),rt(()=>ne.afterPreactivation()),(0,W.U)(mt=>{const Wt=function fo(we,ne,Ee){const qe=za(we,ne._root,Ee?Ee._root:void 0);return new Ji(qe,ne)}(ne.routeReuseStrategy,mt.targetSnapshot,mt.currentRouterState);return Ee={...mt,targetRouterState:Wt}}),(0,ue.b)(mt=>{ne.currentUrlTree=mt.urlAfterRedirects,ne.rawUrlTree=ne.urlHandlingStrategy.merge(mt.urlAfterRedirects,mt.rawUrl),ne.routerState=mt.targetRouterState,"deferred"===ne.urlUpdateStrategy&&(mt.extras.skipLocationChange||ne.setBrowserUrl(ne.rawUrlTree,mt),ne.browserUrlTree=mt.urlAfterRedirects)}),((we,ne,Ee)=>(0,W.U)(qe=>(new kr(ne,qe.targetRouterState,qe.currentRouterState,Ee).activate(we),qe)))(this.rootContexts,ne.routeReuseStrategy,mt=>this.events.next(mt)),(0,ue.b)({next:mt=>{qe=!0,this.lastSuccessfulNavigation=this.currentNavigation,ne.navigated=!0,this.events.next(new en(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(ne.currentUrlTree))),ne.titleStrategy?.updateTitle(mt.targetRouterState.snapshot),mt.resolve(!0)},complete:()=>{qe=!0}}),(0,a.x)(()=>{if(!qe&&!at){const mt="";this.cancelNavigationTransition(Ee,mt,1,ne)}this.currentNavigation?.id===Ee.id&&(this.currentNavigation=null)}),(0,$.K)(mt=>{if(at=!0,Ua(mt)){Is(mt)||(ne.navigated=!0,ne.restoreHistory(Ee,!0));const Wt=new gn(Ee.id,this.urlSerializer.serialize(Ee.extractedUrl),mt.message,mt.cancellationCode);if(this.events.next(Wt),Is(mt)){const mn=ne.urlHandlingStrategy.merge(mt.url,ne.rawUrlTree),Dn={skipLocationChange:Ee.extras.skipLocationChange,replaceUrl:"eager"===ne.urlUpdateStrategy||Jn(Ee.source)};ne.scheduleNavigation(mn,"imperative",null,Dn,{resolve:Ee.resolve,reject:Ee.reject,promise:Ee.promise})}else Ee.resolve(!1)}else{ne.restoreHistory(Ee,!0);const Wt=new Qn(Ee.id,this.urlSerializer.serialize(Ee.extractedUrl),mt,Ee.targetSnapshot??void 0);this.events.next(Wt);try{Ee.resolve(ne.errorHandler(mt))}catch(mn){Ee.reject(mn)}}return P.E}))}))}cancelNavigationTransition(ne,Ee,qe,at){const mt=new gn(ne.id,this.urlSerializer.serialize(ne.extractedUrl),Ee,qe);this.events.next(mt),ne.resolve(!1)}}function Jn(we){return"imperative"!==we}Sn.\u0275fac=function(ne){return new(ne||Sn)},Sn.\u0275prov=e.Yz7({token:Sn,factory:Sn.\u0275fac,providedIn:"root"});class oi{buildTitle(ne){let Ee,qe=ne.root;for(;void 0!==qe;)Ee=this.getResolvedTitleForRoute(qe)??Ee,qe=qe.children.find(at=>at.outlet===X);return Ee}getResolvedTitleForRoute(ne){return ne.data[Fe]}}oi.\u0275fac=function(ne){return new(ne||oi)},oi.\u0275prov=e.Yz7({token:oi,factory:function(){return(0,e.f3M)(xi)},providedIn:"root"});class xi extends oi{constructor(ne){super(),this.title=ne}updateTitle(ne){const Ee=this.buildTitle(ne);void 0!==Ee&&this.title.setTitle(Ee)}}xi.\u0275fac=function(ne){return new(ne||xi)(e.LFG(F.Dx))},xi.\u0275prov=e.Yz7({token:xi,factory:xi.\u0275fac,providedIn:"root"});class Si{}Si.\u0275fac=function(ne){return new(ne||Si)},Si.\u0275prov=e.Yz7({token:Si,factory:function(){return(0,e.f3M)(Cr)},providedIn:"root"});class ur{shouldDetach(ne){return!1}store(ne,Ee){}shouldAttach(ne){return!1}retrieve(ne){return null}shouldReuseRoute(ne,Ee){return ne.routeConfig===Ee.routeConfig}}class Cr extends ur{}Cr.\u0275fac=function(){let we;return function(Ee){return(we||(we=e.n5z(Cr)))(Ee||Cr)}}(),Cr.\u0275prov=e.Yz7({token:Cr,factory:Cr.\u0275fac,providedIn:"root"});const Mr=new e.OlP("",{providedIn:"root",factory:()=>({})});class Ka{}Ka.\u0275fac=function(ne){return new(ne||Ka)},Ka.\u0275prov=e.Yz7({token:Ka,factory:function(){return(0,e.f3M)(Ma)},providedIn:"root"});class Ma{shouldProcessUrl(ne){return!0}extract(ne){return ne}merge(ne,Ee){return ne}}Ma.\u0275fac=function(ne){return new(ne||Ma)},Ma.\u0275prov=e.Yz7({token:Ma,factory:Ma.\u0275fac,providedIn:"root"});function Na(we){throw we}function mo(we,ne,Ee){return ne.parse("/")}const Er={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},bs={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function hl(){const we=(0,e.f3M)(Xt),ne=(0,e.f3M)(Ca),Ee=(0,e.f3M)(I.Ye),qe=(0,e.f3M)(e.zs3),at=(0,e.f3M)(e.Sil),mt=(0,e.f3M)(Qe,{optional:!0})??[],Wt=(0,e.f3M)(Mr,{optional:!0})??{},mn=new Dr(null,we,ne,Ee,qe,at,Ie(mt));return function go(we,ne){we.errorHandler&&(ne.errorHandler=we.errorHandler),we.malformedUriErrorHandler&&(ne.malformedUriErrorHandler=we.malformedUriErrorHandler),we.onSameUrlNavigation&&(ne.onSameUrlNavigation=we.onSameUrlNavigation),we.paramsInheritanceStrategy&&(ne.paramsInheritanceStrategy=we.paramsInheritanceStrategy),we.urlUpdateStrategy&&(ne.urlUpdateStrategy=we.urlUpdateStrategy),we.canceledNavigationResolution&&(ne.canceledNavigationResolution=we.canceledNavigationResolution)}(Wt,mn),mn}class Dr{constructor(ne,Ee,qe,at,mt,Wt,mn){this.rootComponentType=ne,this.urlSerializer=Ee,this.rootContexts=qe,this.location=at,this.config=mn,this.disposed=!1,this.currentPageId=0,this.isNgZoneEnabled=!1,this.errorHandler=Na,this.malformedUriErrorHandler=mo,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>(0,_.of)(void 0),this.urlHandlingStrategy=(0,e.f3M)(Ka),this.routeReuseStrategy=(0,e.f3M)(Si),this.titleStrategy=(0,e.f3M)(oi),this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.canceledNavigationResolution="replace",this.navigationTransitions=(0,e.f3M)(Sn),this.console=mt.get(e.c2e);const Dn=mt.get(e.R0b);this.isNgZoneEnabled=Dn instanceof e.R0b&&e.R0b.isInAngularZone(),this.resetConfig(mn),this.currentUrlTree=new it,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=ka(this.currentUrlTree,this.rootComponentType),this.navigationTransitions.setupNavigations(this).subscribe(Rn=>{this.lastSuccessfulId=Rn.id,this.currentPageId=Rn.targetPageId},Rn=>{this.console.warn(`Unhandled Navigation Error: ${Rn}`)})}get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}resetRootComponentType(ne){this.rootComponentType=ne,this.routerState.root.component=this.rootComponentType}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(ne=>{const Ee="popstate"===ne.type?"popstate":"hashchange";"popstate"===Ee&&setTimeout(()=>{const qe={replaceUrl:!0},at=ne.state?.navigationId?ne.state:null;if(ne.state){const Wt={...ne.state};delete Wt.navigationId,delete Wt.\u0275routerPageId,0!==Object.keys(Wt).length&&(qe.state=Wt)}const mt=this.parseUrl(ne.url);this.scheduleNavigation(mt,Ee,at,qe)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(ne){this.config=ne.map(yr),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(ne,Ee={}){const{relativeTo:qe,queryParams:at,fragment:mt,queryParamsHandling:Wt,preserveFragment:mn}=Ee,Dn=qe||this.routerState.root,Rn=mn?this.currentUrlTree.fragment:mt;let di=null;switch(Wt){case"merge":di={...this.currentUrlTree.queryParams,...at};break;case"preserve":di=this.currentUrlTree.queryParams;break;default:di=at||null}return null!==di&&(di=this.removeEmptyProps(di)),Vn(Dn,this.currentUrlTree,ne,di,Rn??null)}navigateByUrl(ne,Ee={skipLocationChange:!1}){const qe=He(ne)?ne:this.parseUrl(ne),at=this.urlHandlingStrategy.merge(qe,this.rawUrlTree);return this.scheduleNavigation(at,"imperative",null,Ee)}navigate(ne,Ee={skipLocationChange:!1}){return function lc(we){for(let ne=0;ne{const at=ne[qe];return null!=at&&(Ee[qe]=at),Ee},{})}scheduleNavigation(ne,Ee,qe,at,mt){if(this.disposed)return Promise.resolve(!1);let Wt,mn,Dn,Rn;return mt?(Wt=mt.resolve,mn=mt.reject,Dn=mt.promise):Dn=new Promise((di,ta)=>{Wt=di,mn=ta}),"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(qe=this.location.getState()),Rn=qe&&qe.\u0275routerPageId?qe.\u0275routerPageId:at.replaceUrl||at.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):Rn=0,this.navigationTransitions.handleNavigationRequest({targetPageId:Rn,source:Ee,restoredState:qe,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:ne,extras:at,resolve:Wt,reject:mn,promise:Dn,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Dn.catch(di=>Promise.reject(di))}setBrowserUrl(ne,Ee){const qe=this.urlSerializer.serialize(ne),at={...Ee.extras.state,...this.generateNgRouterState(Ee.id,Ee.targetPageId)};this.location.isCurrentPathEqualTo(qe)||Ee.extras.replaceUrl?this.location.replaceState(qe,"",at):this.location.go(qe,"",at)}restoreHistory(ne,Ee=!1){if("computed"===this.canceledNavigationResolution){const qe=this.currentPageId-ne.targetPageId;"popstate"!==ne.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.getCurrentNavigation()?.finalUrl||0===qe?this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===qe&&(this.resetState(ne),this.browserUrlTree=ne.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(qe)}else"replace"===this.canceledNavigationResolution&&(Ee&&this.resetState(ne),this.resetUrlToCurrentUrlTree())}resetState(ne){this.routerState=ne.currentRouterState,this.currentUrlTree=ne.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,ne.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(ne,Ee){return"computed"===this.canceledNavigationResolution?{navigationId:ne,\u0275routerPageId:Ee}:{navigationId:ne}}}Dr.\u0275fac=function(ne){e.$Z()},Dr.\u0275prov=e.Yz7({token:Dr,factory:function(){return hl()},providedIn:"root"});class fl{constructor(ne,Ee,qe,at,mt,Wt){this.router=ne,this.route=Ee,this.tabIndexAttribute=qe,this.renderer=at,this.el=mt,this.locationStrategy=Wt,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new z.x;const mn=mt.nativeElement.tagName;this.isAnchorElement="A"===mn||"AREA"===mn,this.isAnchorElement?this.subscription=ne.events.subscribe(Dn=>{Dn instanceof en&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(ne){this._preserveFragment=(0,e.D6c)(ne)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(ne){this._skipLocationChange=(0,e.D6c)(ne)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(ne){this._replaceUrl=(0,e.D6c)(ne)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(ne){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",ne)}ngOnChanges(ne){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(ne){null!=ne?(this.commands=Array.isArray(ne)?ne:[ne],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(ne,Ee,qe,at,mt){if(null===this.urlTree||this.isAnchorElement&&(0!==ne||Ee||qe||at||mt||"string"==typeof this.target&&"_self"!=this.target))return!0;const Wt={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state};return this.router.navigateByUrl(this.urlTree,Wt),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const ne=null===this.href?null:(0,e.P3R)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",ne)}applyAttributeValue(ne,Ee){const qe=this.renderer,at=this.el.nativeElement;null!==Ee?qe.setAttribute(at,ne,Ee):qe.removeAttribute(at,ne)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}fl.\u0275fac=function(ne){return new(ne||fl)(e.Y36(Dr),e.Y36(Ha),e.$8M("tabindex"),e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(I.S$))},fl.\u0275dir=e.lG2({type:fl,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(ne,Ee){1&ne&&e.NdJ("click",function(at){return Ee.onClick(at.button,at.ctrlKey,at.shiftKey,at.altKey,at.metaKey)}),2&ne&&e.uIk("target",Ee.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",routerLink:"routerLink"},standalone:!0,features:[e.TTD]});class pl{constructor(ne,Ee,qe,at,mt){this.router=ne,this.element=Ee,this.renderer=qe,this.cdr=at,this.link=mt,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new e.vpe,this.routerEventsSubscription=ne.events.subscribe(Wt=>{Wt instanceof en&&this.update()})}ngAfterContentInit(){(0,_.of)(this.links.changes,(0,_.of)(null)).pipe((0,N.J)()).subscribe(ne=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const ne=[...this.links.toArray(),this.link].filter(Ee=>!!Ee).map(Ee=>Ee.onChanges);this.linkInputChangesSubscription=(0,t.D)(ne).pipe((0,N.J)()).subscribe(Ee=>{this.isActive!==this.isLinkActive(this.router)(Ee)&&this.update()})}set routerLinkActive(ne){const Ee=Array.isArray(ne)?ne:ne.split(" ");this.classes=Ee.filter(qe=>!!qe)}ngOnChanges(ne){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||Promise.resolve().then(()=>{const ne=this.hasActiveLinks();this.isActive!==ne&&(this.isActive=ne,this.cdr.markForCheck(),this.classes.forEach(Ee=>{ne?this.renderer.addClass(this.element.nativeElement,Ee):this.renderer.removeClass(this.element.nativeElement,Ee)}),ne&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(ne))})}isLinkActive(ne){const Ee=function S2(we){return!!we.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return qe=>!!qe.urlTree&&ne.isActive(qe.urlTree,Ee)}hasActiveLinks(){const ne=this.isLinkActive(this.router);return this.link&&ne(this.link)||this.links.some(ne)}}pl.\u0275fac=function(ne){return new(ne||pl)(e.Y36(Dr),e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.sBO),e.Y36(fl,8))},pl.\u0275dir=e.lG2({type:pl,selectors:[["","routerLinkActive",""]],contentQueries:function(ne,Ee,qe){if(1&ne&&e.Suo(qe,fl,5),2&ne){let at;e.iGM(at=e.CRH())&&(Ee.links=at)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[e.TTD]});class S1{}class or{preload(ne,Ee){return Ee().pipe((0,$.K)(()=>(0,_.of)(null)))}}or.\u0275fac=function(ne){return new(ne||or)},or.\u0275prov=e.Yz7({token:or,factory:or.\u0275fac,providedIn:"root"});class _l{preload(ne,Ee){return(0,_.of)(null)}}_l.\u0275fac=function(ne){return new(ne||_l)},_l.\u0275prov=e.Yz7({token:_l,factory:_l.\u0275fac,providedIn:"root"});class Mo{constructor(ne,Ee,qe,at,mt){this.router=ne,this.injector=qe,this.preloadingStrategy=at,this.loader=mt}setUpPreloading(){this.subscription=this.router.events.pipe((0,ae.h)(ne=>ne instanceof en),(0,ye.b)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(ne,Ee){const qe=[];for(const at of Ee){at.providers&&!at._injector&&(at._injector=(0,e.MMx)(at.providers,ne,`Route: ${at.path}`));const mt=at._injector??ne,Wt=at._loadedInjector??mt;at.loadChildren&&!at._loadedRoutes&&void 0===at.canLoad||at.loadComponent&&!at._loadedComponent?qe.push(this.preloadConfig(mt,at)):(at.children||at._loadedRoutes)&&qe.push(this.processRoutes(Wt,at.children??at._loadedRoutes))}return(0,t.D)(qe).pipe((0,N.J)())}preloadConfig(ne,Ee){return this.preloadingStrategy.preload(Ee,()=>{let qe;qe=Ee.loadChildren&&void 0===Ee.canLoad?this.loader.loadChildren(ne,Ee):(0,_.of)(null);const at=qe.pipe((0,_e.z)(mt=>null===mt?(0,_.of)(void 0):(Ee._loadedRoutes=mt.routes,Ee._loadedInjector=mt.injector,this.processRoutes(mt.injector??ne,mt.routes))));if(Ee.loadComponent&&!Ee._loadedComponent){const mt=this.loader.loadComponent(Ee);return(0,t.D)([at,mt]).pipe((0,N.J)())}return at})}}Mo.\u0275fac=function(ne){return new(ne||Mo)(e.LFG(Dr),e.LFG(e.Sil),e.LFG(e.lqb),e.LFG(S1),e.LFG(Qt))},Mo.\u0275prov=e.Yz7({token:Mo,factory:Mo.\u0275fac,providedIn:"root"});const vo=new e.OlP("");class Bl{constructor(ne,Ee,qe,at,mt={}){this.urlSerializer=ne,this.transitions=Ee,this.viewportScroller=qe,this.zone=at,this.options=mt,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},mt.scrollPositionRestoration=mt.scrollPositionRestoration||"disabled",mt.anchorScrolling=mt.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(ne=>{ne instanceof hn?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=ne.navigationTrigger,this.restoredId=ne.restoredState?ne.restoredState.navigationId:0):ne instanceof en&&(this.lastId=ne.id,this.scheduleScrollEvent(ne,this.urlSerializer.parse(ne.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(ne=>{ne instanceof qn&&(ne.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(ne.position):ne.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(ne.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(ne,Ee){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new qn(ne,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ee))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}Bl.\u0275fac=function(ne){e.$Z()},Bl.\u0275prov=e.Yz7({token:Bl,factory:Bl.\u0275fac});function P1(we){return we.routerState.root}function gl(we,ne){return{\u0275kind:we,\u0275providers:ne}}const cc=new e.OlP("",{providedIn:"root",factory:()=>!1});e.Xts;function io(){const we=(0,e.f3M)(e.zs3);return ne=>{const Ee=we.get(e.z2F);if(ne!==Ee.components[0])return;const qe=we.get(Dr),at=we.get(vl);1===we.get(dc)&&qe.initialNavigation(),we.get(Eo,null,e.XFs.Optional)?.setUpPreloading(),we.get(vo,null,e.XFs.Optional)?.init(),qe.resetRootComponentType(Ee.componentTypes[0]),at.closed||(at.next(),at.unsubscribe())}}const vl=new e.OlP("",{factory:()=>new z.x}),dc=new e.OlP("",{providedIn:"root",factory:()=>1});function R1(){return gl(2,[{provide:dc,useValue:0},{provide:e.ip1,multi:!0,deps:[e.zs3],useFactory:ne=>{const Ee=ne.get(I.V_,Promise.resolve());return()=>Ee.then(()=>new Promise(at=>{const mt=ne.get(Dr),Wt=ne.get(vl);(function qe(at){ne.get(Dr).events.pipe((0,ae.h)(Wt=>Wt instanceof en||Wt instanceof gn||Wt instanceof Qn),(0,W.U)(Wt=>Wt instanceof en||Wt instanceof gn&&(0===Wt.code||1===Wt.code)&&null),(0,ae.h)(Wt=>null!==Wt),(0,Q.q)(1)).subscribe(()=>{at()})})(()=>{at(!0)}),mt.afterPreactivation=()=>(at(!0),Wt.closed?(0,_.of)(void 0):Wt),mt.initialNavigation()}))}}])}const Eo=new e.OlP("");const yl=new e.OlP("ROUTER_FORROOT_GUARD"),Bo=[I.Ye,{provide:Xt,useClass:Gt},{provide:Dr,useFactory:hl},Ca,{provide:Ha,useFactory:P1,deps:[Dr]},Qt,[]];function ro(){return new e.PXZ("Router",Dr)}class Rs{constructor(ne){}static forRoot(ne,Ee){return{ngModule:Rs,providers:[Bo,[],{provide:Qe,multi:!0,useValue:ne},{provide:yl,useFactory:qo,deps:[[Dr,new e.FiY,new e.tp0]]},{provide:Mr,useValue:Ee||{}},Ee?.useHash?{provide:I.S$,useClass:I.Do}:{provide:I.S$,useClass:I.b0},{provide:vo,useFactory:()=>{const we=(0,e.f3M)(I.EM),ne=(0,e.f3M)(e.R0b),Ee=(0,e.f3M)(Mr),qe=(0,e.f3M)(Sn),at=(0,e.f3M)(Xt);return Ee.scrollOffset&&we.setOffset(Ee.scrollOffset),new Bl(at,qe,we,ne,Ee)}},Ee?.preloadingStrategy?(we=Ee.preloadingStrategy,gl(0,[{provide:Eo,useExisting:Mo},{provide:S1,useExisting:we}])).\u0275providers:[],{provide:e.PXZ,multi:!0,useFactory:ro},Ee?.initialNavigation?B1(Ee):[],[{provide:va,useFactory:io},{provide:e.tb,multi:!0,useExisting:va}]]};var we}static forChild(ne){return{ngModule:Rs,providers:[{provide:Qe,multi:!0,useValue:ne}]}}}function qo(we){return"guarded"}function B1(we){return["disabled"===we.initialNavigation?gl(3,[{provide:e.ip1,multi:!0,useFactory:()=>{const ne=(0,e.f3M)(Dr);return()=>{ne.setUpLocationChangeListener()}}},{provide:dc,useValue:2}]).\u0275providers:[],"enabledBlocking"===we.initialNavigation?R1().\u0275providers:[]]}Rs.\u0275fac=function(ne){return new(ne||Rs)(e.LFG(yl,8))},Rs.\u0275mod=e.oAB({type:Rs}),Rs.\u0275inj=e.cJS({imports:[nr]});const va=new e.OlP("");new e.GfV("15.0.2")},3505:(Ue,q,m)=>{"use strict";m.d(q,{BN:()=>Ne,uH:()=>Un});var e=m(2560);function t(Xe,rt){var yt=Object.keys(Xe);if(Object.getOwnPropertySymbols){var Pt=Object.getOwnPropertySymbols(Xe);rt&&(Pt=Pt.filter(function(Qe){return Object.getOwnPropertyDescriptor(Xe,Qe).enumerable})),yt.push.apply(yt,Pt)}return yt}function _(Xe){for(var rt=1;rtXe.length)&&(rt=Xe.length);for(var yt=0,Pt=new Array(rt);yt0;)rt+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return rt}function Ce(Xe){for(var rt=[],yt=(Xe||[]).length>>>0;yt--;)rt[yt]=Xe[yt];return rt}function Je(Xe){return Xe.classList?Ce(Xe.classList):(Xe.getAttribute("class")||"").split(" ").filter(function(rt){return rt})}function zt(Xe){return"".concat(Xe).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Tt(Xe){return Object.keys(Xe||{}).reduce(function(rt,yt){return rt+"".concat(yt,": ").concat(Xe[yt].trim(),";")},"")}function Ht(Xe){return Xe.size!==Dt.size||Xe.x!==Dt.x||Xe.y!==Dt.y||Xe.rotate!==Dt.rotate||Xe.flipX||Xe.flipY}function Rt(){var rt=Ve,yt=J.cssPrefix,Pt=J.replacementClass,Qe=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(var(--fa-li-width, 2em) * -1);\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\n transform: rotate(var(--fa-rotate-angle, none));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';if("fa"!==yt||Pt!==rt){var Qt=new RegExp("\\.".concat("fa","\\-"),"g"),sn=new RegExp("\\--".concat("fa","\\-"),"g"),qt=new RegExp("\\.".concat(rt),"g");Qe=Qe.replace(Qt,".".concat(yt,"-")).replace(sn,"--".concat(yt,"-")).replace(qt,".".concat(Pt))}return Qe}var Jt=!1;function Vn(){J.autoAddCss&&!Jt&&(function ut(Xe){if(Xe&&v){var rt=d.createElement("style");rt.setAttribute("type","text/css"),rt.innerHTML=Xe;for(var yt=d.head.childNodes,Pt=null,Qe=yt.length-1;Qe>-1;Qe--){var Qt=yt[Qe],sn=(Qt.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(sn)>-1&&(Pt=Qt)}return d.head.insertBefore(rt,Pt),Xe}}(Rt()),Jt=!0)}var zn={mixout:function(){return{dom:{css:Rt,insertCss:Vn}}},hooks:function(){return{beforeDOMElementCreation:function(){Vn()},beforeI2svg:function(){Vn()}}}},Tn=h||{};Tn[ke]||(Tn[ke]={}),Tn[ke].styles||(Tn[ke].styles={}),Tn[ke].hooks||(Tn[ke].hooks={}),Tn[ke].shims||(Tn[ke].shims=[]);var Yn=Tn[ke],Mt=[],Be=!1;function ft(Xe){!v||(Be?setTimeout(Xe,0):Mt.push(Xe))}function re(Xe){var rt=Xe.tag,yt=Xe.attributes,Pt=void 0===yt?{}:yt,Qe=Xe.children,Qt=void 0===Qe?[]:Qe;return"string"==typeof Xe?zt(Xe):"<".concat(rt," ").concat(function At(Xe){return Object.keys(Xe||{}).reduce(function(rt,yt){return rt+"".concat(yt,'="').concat(zt(Xe[yt]),'" ')},"").trim()}(Pt),">").concat(Qt.map(re).join(""),"")}function Te(Xe,rt,yt){if(Xe&&Xe[rt]&&Xe[rt][yt])return{prefix:rt,iconName:yt,icon:Xe[rt][yt]}}v&&((Be=(d.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(d.readyState))||d.addEventListener("DOMContentLoaded",function Xe(){d.removeEventListener("DOMContentLoaded",Xe),Be=1,Mt.map(function(rt){return rt()})}));var Lt=function(rt,yt,Pt,Qe){var An,Sn,Jn,Qt=Object.keys(rt),sn=Qt.length,qt=void 0!==Qe?function(rt,yt){return function(Pt,Qe,Qt,sn){return rt.call(yt,Pt,Qe,Qt,sn)}}(yt,Qe):yt;for(void 0===Pt?(An=1,Jn=rt[Qt[0]]):(An=0,Jn=Pt);An=55296&&Qe<=56319&&yt2&&void 0!==arguments[2]?arguments[2]:{},Pt=yt.skipHooks,Qe=void 0!==Pt&&Pt,Qt=ti(rt);"function"!=typeof Yn.hooks.addPack||Qe?Yn.styles[Xe]=_(_({},Yn.styles[Xe]||{}),Qt):Yn.hooks.addPack(Xe,ti(rt)),"fas"===Xe&&Mn("fa",rt)}var ai,an,hn,en=Yn.styles,gn=Yn.shims,Qn=(p(ai={},pe,Object.values(le[pe])),p(ai,ee,Object.values(le[ee])),ai),Ei=null,ha={},mi={},qi={},Zi={},Za={},mr=(p(an={},pe,Object.keys(Oe[pe])),p(an,ee,Object.keys(Oe[ee])),an);function Ft(Xe,rt){var yt=rt.split("-"),Pt=yt[0],Qe=yt.slice(1).join("-");return Pt!==Xe||""===Qe||function It(Xe){return~rn.indexOf(Xe)}(Qe)?null:Qe}var ln=function(){var rt=function(Qt){return Lt(en,function(sn,qt,An){return sn[An]=Lt(qt,Qt,{}),sn},{})};ha=rt(function(Qe,Qt,sn){(Qt[3]&&(Qe[Qt[3]]=sn),Qt[2])&&Qt[2].filter(function(An){return"number"==typeof An}).forEach(function(An){Qe[An.toString(16)]=sn});return Qe}),mi=rt(function(Qe,Qt,sn){(Qe[sn]=sn,Qt[2])&&Qt[2].filter(function(An){return"string"==typeof An}).forEach(function(An){Qe[An]=sn});return Qe}),Za=rt(function(Qe,Qt,sn){var qt=Qt[2];return Qe[sn]=sn,qt.forEach(function(An){Qe[An]=sn}),Qe});var yt="far"in en||J.autoFetchSvg,Pt=Lt(gn,function(Qe,Qt){var sn=Qt[0],qt=Qt[1],An=Qt[2];return"far"===qt&&!yt&&(qt="fas"),"string"==typeof sn&&(Qe.names[sn]={prefix:qt,iconName:An}),"number"==typeof sn&&(Qe.unicodes[sn.toString(16)]={prefix:qt,iconName:An}),Qe},{names:{},unicodes:{}});qi=Pt.names,Zi=Pt.unicodes,Ei=Di(J.styleDefault,{family:J.familyDefault})};function En(Xe,rt){return(ha[Xe]||{})[rt]}function Nn(Xe,rt){return(Za[Xe]||{})[rt]}function li(Xe){return qi[Xe]||{prefix:null,iconName:null}}function Ii(){return Ei}(function De(Xe){return oe.push(Xe),function(){oe.splice(oe.indexOf(Xe),1)}})(function(Xe){Ei=Di(Xe.styleDefault,{family:J.familyDefault})}),ln();function Di(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},yt=rt.family,Pt=void 0===yt?pe:yt,Qe=Oe[Pt][Xe],Qt=Re[Pt][Xe]||Re[Pt][Qe],sn=Xe in Yn.styles?Xe:null;return Qt||sn||null}var Ji=(p(hn={},pe,Object.keys(le[pe])),p(hn,ee,Object.keys(le[ee])),hn);function ka(Xe){var rt,yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=yt.skipLookups,Qe=void 0!==Pt&&Pt,Qt=(p(rt={},pe,"".concat(J.cssPrefix,"-").concat(pe)),p(rt,ee,"".concat(J.cssPrefix,"-").concat(ee)),rt),sn=null,qt=pe;(Xe.includes(Qt[pe])||Xe.some(function(Sn){return Ji[pe].includes(Sn)}))&&(qt=pe),(Xe.includes(Qt[ee])||Xe.some(function(Sn){return Ji[ee].includes(Sn)}))&&(qt=ee);var An=Xe.reduce(function(Sn,Jn){var oi=Ft(J.cssPrefix,Jn);if(en[Jn]?(Jn=Qn[qt].includes(Jn)?_t[qt][Jn]:Jn,sn=Jn,Sn.prefix=Jn):mr[qt].indexOf(Jn)>-1?(sn=Jn,Sn.prefix=Di(Jn,{family:qt})):oi?Sn.iconName=oi:Jn!==J.replacementClass&&Jn!==Qt[pe]&&Jn!==Qt[ee]&&Sn.rest.push(Jn),!Qe&&Sn.prefix&&Sn.iconName){var xi="fa"===sn?li(Sn.iconName):{},Si=Nn(Sn.prefix,Sn.iconName);xi.prefix&&(sn=null),Sn.iconName=xi.iconName||Si||Sn.iconName,Sn.prefix=xi.prefix||Sn.prefix,"far"===Sn.prefix&&!en.far&&en.fas&&!J.autoFetchSvg&&(Sn.prefix="fas")}return Sn},{prefix:null,iconName:null,rest:[]});return(Xe.includes("fa-brands")||Xe.includes("fab"))&&(An.prefix="fab"),(Xe.includes("fa-duotone")||Xe.includes("fad"))&&(An.prefix="fad"),!An.prefix&&qt===ee&&(en.fass||J.autoFetchSvg)&&(An.prefix="fass",An.iconName=Nn(An.prefix,An.iconName)||An.iconName),("fa"===An.prefix||"fa"===sn)&&(An.prefix=Ii()||"fas"),An}var Yi=function(){function Xe(){(function D(Xe,rt){if(!(Xe instanceof rt))throw new TypeError("Cannot call a class as a function")})(this,Xe),this.definitions={}}return function k(Xe,rt,yt){return rt&&u(Xe.prototype,rt),yt&&u(Xe,yt),Object.defineProperty(Xe,"prototype",{writable:!1}),Xe}(Xe,[{key:"add",value:function(){for(var yt=this,Pt=arguments.length,Qe=new Array(Pt),Qt=0;Qt0&&Jn.forEach(function(oi){"string"==typeof oi&&(yt[qt][oi]=Sn)}),yt[qt][An]=Sn}),yt}}]),Xe}(),Ha=[],Hi={},La={},gr=Object.keys(La);function fa(Xe,rt){for(var yt=arguments.length,Pt=new Array(yt>2?yt-2:0),Qe=2;Qe1?rt-1:0),Pt=1;Pt0&&void 0!==arguments[0]?arguments[0]:{};return v?(Ki("beforeI2svg",rt),xa("pseudoElements2svg",rt),xa("i2svg",rt)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var rt=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},yt=rt.autoReplaceSvgRoot;!1===J.autoReplaceSvg&&(J.autoReplaceSvg=!0),J.observeMutations=!0,ft(function(){Gr({autoReplaceSvgRoot:yt}),Ki("watch",rt)})}},Qi={noAuto:function(){J.autoReplaceSvg=!1,J.observeMutations=!1,Ki("noAuto")},config:J,dom:js,parse:{icon:function(rt){if(null===rt)return null;if("object"===E(rt)&&rt.prefix&&rt.iconName)return{prefix:rt.prefix,iconName:Nn(rt.prefix,rt.iconName)||rt.iconName};if(Array.isArray(rt)&&2===rt.length){var yt=0===rt[1].indexOf("fa-")?rt[1].slice(3):rt[1],Pt=Di(rt[0]);return{prefix:Pt,iconName:Nn(Pt,yt)||yt}}if("string"==typeof rt&&(rt.indexOf("".concat(J.cssPrefix,"-"))>-1||rt.match(it))){var Qe=ka(rt.split(" "),{skipLookups:!0});return{prefix:Qe.prefix||Ii(),iconName:Nn(Qe.prefix,Qe.iconName)||Qe.iconName}}if("string"==typeof rt){var Qt=Ii();return{prefix:Qt,iconName:Nn(Qt,rt)||rt}}}},library:fo,findIconDefinition:ra,toHtml:re},Gr=function(){var rt=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},yt=rt.autoReplaceSvgRoot,Pt=void 0===yt?d:yt;(Object.keys(Yn.styles).length>0||J.autoFetchSvg)&&v&&J.autoReplaceSvg&&Qi.dom.i2svg({node:Pt})};function Ta(Xe,rt){return Object.defineProperty(Xe,"abstract",{get:rt}),Object.defineProperty(Xe,"html",{get:function(){return Xe.abstract.map(function(Pt){return re(Pt)})}}),Object.defineProperty(Xe,"node",{get:function(){if(v){var Pt=d.createElement("div");return Pt.innerHTML=Xe.html,Pt.children}}}),Xe}function Ls(Xe){var rt=Xe.icons,yt=rt.main,Pt=rt.mask,Qe=Xe.prefix,Qt=Xe.iconName,sn=Xe.transform,qt=Xe.symbol,An=Xe.title,Sn=Xe.maskId,Jn=Xe.titleId,oi=Xe.extra,xi=Xe.watchable,Si=void 0!==xi&&xi,ur=Pt.found?Pt:yt,Cr=ur.width,Qr=ur.height,Mr="fak"===Qe,Ka=[J.replacementClass,Qt?"".concat(J.cssPrefix,"-").concat(Qt):""].filter(function(go){return-1===oi.classes.indexOf(go)}).filter(function(go){return""!==go||!!go}).concat(oi.classes).join(" "),Ma={children:[],attributes:_(_({},oi.attributes),{},{"data-prefix":Qe,"data-icon":Qt,class:Ka,role:oi.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(Cr," ").concat(Qr)})},ls=Mr&&!~oi.classes.indexOf("fa-fw")?{width:"".concat(Cr/Qr*16*.0625,"em")}:{};Si&&(Ma.attributes[xe]=""),An&&(Ma.children.push({tag:"title",attributes:{id:Ma.attributes["aria-labelledby"]||"title-".concat(Jn||Me())},children:[An]}),delete Ma.attributes.title);var Na=_(_({},Ma),{},{prefix:Qe,iconName:Qt,main:yt,mask:Pt,maskId:Sn,transform:sn,symbol:qt,styles:_(_({},ls),oi.styles)}),mo=Pt.found&&yt.found?xa("generateAbstractMask",Na)||{children:[],attributes:{}}:xa("generateAbstractIcon",Na)||{children:[],attributes:{}},Er=mo.children,bs=mo.attributes;return Na.children=Er,Na.attributes=bs,qt?function Ua(Xe){var rt=Xe.prefix,yt=Xe.iconName,Pt=Xe.children,Qe=Xe.attributes,Qt=Xe.symbol,sn=!0===Qt?"".concat(rt,"-").concat(J.cssPrefix,"-").concat(yt):Qt;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:_(_({},Qe),{},{id:sn}),children:Pt}]}]}(Na):function Is(Xe){var rt=Xe.children,yt=Xe.main,Pt=Xe.mask,Qe=Xe.attributes,Qt=Xe.styles,sn=Xe.transform;if(Ht(sn)&&yt.found&&!Pt.found){var Sn={x:yt.width/yt.height/2,y:.5};Qe.style=Tt(_(_({},Qt),{},{"transform-origin":"".concat(Sn.x+sn.x/16,"em ").concat(Sn.y+sn.y/16,"em")}))}return[{tag:"svg",attributes:Qe,children:rt}]}(Na)}function Ca(Xe){var rt=Xe.content,yt=Xe.width,Pt=Xe.height,Qe=Xe.transform,Qt=Xe.title,sn=Xe.extra,qt=Xe.watchable,An=void 0!==qt&&qt,Sn=_(_(_({},sn.attributes),Qt?{title:Qt}:{}),{},{class:sn.classes.join(" ")});An&&(Sn[xe]="");var Jn=_({},sn.styles);Ht(Qe)&&(Jn.transform=function $e(Xe){var rt=Xe.transform,yt=Xe.width,Pt=void 0===yt?16:yt,Qe=Xe.height,Qt=void 0===Qe?16:Qe,sn=Xe.startCentered,qt=void 0!==sn&&sn,An="";return An+=qt&&a?"translate(".concat(rt.x/16-Pt/2,"em, ").concat(rt.y/16-Qt/2,"em) "):qt?"translate(calc(-50% + ".concat(rt.x/16,"em), calc(-50% + ").concat(rt.y/16,"em)) "):"translate(".concat(rt.x/16,"em, ").concat(rt.y/16,"em) "),An+="scale(".concat(rt.size/16*(rt.flipX?-1:1),", ").concat(rt.size/16*(rt.flipY?-1:1),") "),An+"rotate(".concat(rt.rotate,"deg) ")}({transform:Qe,startCentered:!0,width:yt,height:Pt}),Jn["-webkit-transform"]=Jn.transform);var oi=Tt(Jn);oi.length>0&&(Sn.style=oi);var xi=[];return xi.push({tag:"span",attributes:Sn,children:[rt]}),Qt&&xi.push({tag:"span",attributes:{class:"sr-only"},children:[Qt]}),xi}function vr(Xe){var rt=Xe.content,yt=Xe.title,Pt=Xe.extra,Qe=_(_(_({},Pt.attributes),yt?{title:yt}:{}),{},{class:Pt.classes.join(" ")}),Qt=Tt(Pt.styles);Qt.length>0&&(Qe.style=Qt);var sn=[];return sn.push({tag:"span",attributes:Qe,children:[rt]}),yt&&sn.push({tag:"span",attributes:{class:"sr-only"},children:[yt]}),sn}var Or=Yn.styles;function qs(Xe){var rt=Xe[0],yt=Xe[1],Qt=P(Xe.slice(4),1)[0];return{found:!0,width:rt,height:yt,icon:Array.isArray(Qt)?{tag:"g",attributes:{class:"".concat(J.cssPrefix,"-").concat(Gt_GROUP)},children:[{tag:"path",attributes:{class:"".concat(J.cssPrefix,"-").concat(Gt_SECONDARY),fill:"currentColor",d:Qt[0]}},{tag:"path",attributes:{class:"".concat(J.cssPrefix,"-").concat(Gt_PRIMARY),fill:"currentColor",d:Qt[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:Qt}}}}var ms={found:!1,width:512,height:512};function Pr(Xe,rt){var yt=rt;return"fa"===rt&&null!==J.styleDefault&&(rt=Ii()),new Promise(function(Pt,Qe){xa("missingIconAbstract");if("fa"===yt){var sn=li(Xe)||{};Xe=sn.iconName||Xe,rt=sn.prefix||rt}if(Xe&&rt&&Or[rt]&&Or[rt][Xe])return Pt(qs(Or[rt][Xe]));(function nr(Xe,rt){!te&&!J.showMissingIcons&&Xe&&console.error('Icon with name "'.concat(Xe,'" and prefix "').concat(rt,'" is missing.'))})(Xe,rt),Pt(_(_({},ms),{},{icon:J.showMissingIcons&&Xe&&xa("missingIconAbstract")||{}}))})}var Xs=function(){},pa=J.measurePerformance&&L&&L.mark&&L.measure?L:{mark:Xs,measure:Xs},Js='FA "6.2.1"',Ss=function(rt){pa.mark("".concat(Js," ").concat(rt," ends")),pa.measure("".concat(Js," ").concat(rt),"".concat(Js," ").concat(rt," begins"),"".concat(Js," ").concat(rt," ends"))},Ja_begin=function(rt){return pa.mark("".concat(Js," ").concat(rt," begins")),function(){return Ss(rt)}},Os=function(){};function $a(Xe){return"string"==typeof(Xe.getAttribute?Xe.getAttribute(xe):null)}function br(Xe){return d.createElementNS("http://www.w3.org/2000/svg",Xe)}function as(Xe){return d.createElement(Xe)}function kr(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},yt=rt.ceFn,Pt=void 0===yt?"svg"===Xe.tag?br:as:yt;if("string"==typeof Xe)return d.createTextNode(Xe);var Qe=Pt(Xe.tag);Object.keys(Xe.attributes||[]).forEach(function(sn){Qe.setAttribute(sn,Xe.attributes[sn])});var Qt=Xe.children||[];return Qt.forEach(function(sn){Qe.appendChild(kr(sn,{ceFn:Pt}))}),Qe}var dn={replace:function(rt){var yt=rt[0];if(yt.parentNode)if(rt[1].forEach(function(Qe){yt.parentNode.insertBefore(kr(Qe),yt)}),null===yt.getAttribute(xe)&&J.keepOriginalSource){var Pt=d.createComment(function Va(Xe){var rt=" ".concat(Xe.outerHTML," ");return"".concat(rt,"Font Awesome fontawesome.com ")}(yt));yt.parentNode.replaceChild(Pt,yt)}else yt.remove()},nest:function(rt){var yt=rt[0],Pt=rt[1];if(~Je(yt).indexOf(J.replacementClass))return dn.replace(rt);var Qe=new RegExp("".concat(J.cssPrefix,"-.*"));if(delete Pt[0].attributes.id,Pt[0].attributes.class){var Qt=Pt[0].attributes.class.split(" ").reduce(function(qt,An){return An===J.replacementClass||An.match(Qe)?qt.toSvg.push(An):qt.toNode.push(An),qt},{toNode:[],toSvg:[]});Pt[0].attributes.class=Qt.toSvg.join(" "),0===Qt.toNode.length?yt.removeAttribute("class"):yt.setAttribute("class",Qt.toNode.join(" "))}var sn=Pt.map(function(qt){return re(qt)}).join("\n");yt.setAttribute(xe,""),yt.innerHTML=sn}};function xt(Xe){Xe()}function Nt(Xe,rt){var yt="function"==typeof rt?rt:Os;if(0===Xe.length)yt();else{var Pt=xt;"async"===J.mutateApproach&&(Pt=h.requestAnimationFrame||xt),Pt(function(){var Qe=function ir(){return!0===J.autoReplaceSvg?dn.replace:dn[J.autoReplaceSvg]||dn.replace}(),Qt=Ja_begin("mutate");Xe.map(Qe),Qt(),yt()})}}var Fn=!1;function ri(){Fn=!0}function Bi(){Fn=!1}var Xi=null;function oa(Xe){if(y&&J.observeMutations){var rt=Xe.treeCallback,yt=void 0===rt?Os:rt,Pt=Xe.nodeCallback,Qe=void 0===Pt?Os:Pt,Qt=Xe.pseudoElementsCallback,sn=void 0===Qt?Os:Qt,qt=Xe.observeMutationsRoot,An=void 0===qt?d:qt;Xi=new y(function(Sn){if(!Fn){var Jn=Ii();Ce(Sn).forEach(function(oi){if("childList"===oi.type&&oi.addedNodes.length>0&&!$a(oi.addedNodes[0])&&(J.searchPseudoElements&&sn(oi.target),yt(oi.target)),"attributes"===oi.type&&oi.target.parentNode&&J.searchPseudoElements&&sn(oi.target.parentNode),"attributes"===oi.type&&$a(oi.target)&&~Xt.indexOf(oi.attributeName))if("class"===oi.attributeName&&function yr(Xe){var rt=Xe.getAttribute?Xe.getAttribute(ve):null,yt=Xe.getAttribute?Xe.getAttribute(et):null;return rt&&yt}(oi.target)){var xi=ka(Je(oi.target)),Si=xi.prefix,ur=xi.iconName;oi.target.setAttribute(ve,Si||Jn),ur&&oi.target.setAttribute(et,ur)}else(function sa(Xe){return Xe&&Xe.classList&&Xe.classList.contains&&Xe.classList.contains(J.replacementClass)})(oi.target)&&Qe(oi.target)})}}),v&&Xi.observe(An,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Li(Xe){var rt=Xe.getAttribute("style"),yt=[];return rt&&(yt=rt.split(";").reduce(function(Pt,Qe){var Qt=Qe.split(":"),sn=Qt[0],qt=Qt.slice(1);return sn&&qt.length>0&&(Pt[sn]=qt.join(":").trim()),Pt},{})),yt}function rs(Xe){var rt=Xe.getAttribute("data-prefix"),yt=Xe.getAttribute("data-icon"),Pt=void 0!==Xe.innerText?Xe.innerText.trim():"",Qe=ka(Je(Xe));return Qe.prefix||(Qe.prefix=Ii()),rt&&yt&&(Qe.prefix=rt,Qe.iconName=yt),Qe.iconName&&Qe.prefix||(Qe.prefix&&Pt.length>0&&(Qe.iconName=function qn(Xe,rt){return(mi[Xe]||{})[rt]}(Qe.prefix,Xe.innerText)||En(Qe.prefix,Bn(Xe.innerText))),!Qe.iconName&&J.autoFetchSvg&&Xe.firstChild&&Xe.firstChild.nodeType===Node.TEXT_NODE&&(Qe.iconName=Xe.firstChild.data)),Qe}function Rr(Xe){var rt=Ce(Xe.attributes).reduce(function(Qe,Qt){return"class"!==Qe.name&&"style"!==Qe.name&&(Qe[Qt.name]=Qt.value),Qe},{}),yt=Xe.getAttribute("title"),Pt=Xe.getAttribute("data-fa-title-id");return J.autoA11y&&(yt?rt["aria-labelledby"]="".concat(J.replacementClass,"-title-").concat(Pt||Me()):(rt["aria-hidden"]="true",rt.focusable="false")),rt}function ca(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},yt=rs(Xe),Pt=yt.iconName,Qe=yt.prefix,Qt=yt.rest,sn=Rr(Xe),qt=fa("parseNodeAttributes",{},Xe),An=rt.styleParser?Li(Xe):[];return _({iconName:Pt,title:Xe.getAttribute("title"),titleId:Xe.getAttribute("data-fa-title-id"),prefix:Qe,transform:Dt,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:Qt,styles:An,attributes:sn}},qt)}var si=Yn.styles;function ar(Xe){var rt="nest"===J.autoReplaceSvg?ca(Xe,{styleParser:!1}):ca(Xe);return~rt.extra.classes.indexOf(Ct)?xa("generateLayersText",Xe,rt):xa("generateSvgReplacementMutation",Xe,rt)}var Ps=new Set;function bt(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!v)return Promise.resolve();var yt=d.documentElement.classList,Pt=function(oi){return yt.add("".concat(ht,"-").concat(oi))},Qe=function(oi){return yt.remove("".concat(ht,"-").concat(oi))},Qt=J.autoFetchSvg?Ps:H.map(function(Jn){return"fa-".concat(Jn)}).concat(Object.keys(si));Qt.includes("fa")||Qt.push("fa");var sn=[".".concat(Ct,":not([").concat(xe,"])")].concat(Qt.map(function(Jn){return".".concat(Jn,":not([").concat(xe,"])")})).join(", ");if(0===sn.length)return Promise.resolve();var qt=[];try{qt=Ce(Xe.querySelectorAll(sn))}catch{}if(!(qt.length>0))return Promise.resolve();Pt("pending"),Qe("complete");var An=Ja_begin("onTree"),Sn=qt.reduce(function(Jn,oi){try{var xi=ar(oi);xi&&Jn.push(xi)}catch(Si){te||"MissingIcon"===Si.name&&console.error(Si)}return Jn},[]);return new Promise(function(Jn,oi){Promise.all(Sn).then(function(xi){Nt(xi,function(){Pt("active"),Pt("complete"),Qe("pending"),"function"==typeof rt&&rt(),An(),Jn()})}).catch(function(xi){An(),oi(xi)})})}function be(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;ar(Xe).then(function(yt){yt&&Nt([yt],rt)})}H.map(function(Xe){Ps.add("fa-".concat(Xe))}),Object.keys(Oe[pe]).map(Ps.add.bind(Ps)),Object.keys(Oe[ee]).map(Ps.add.bind(Ps)),Ps=M(Ps);var Yt=function(rt){var yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=yt.transform,Qe=void 0===Pt?Dt:Pt,Qt=yt.symbol,sn=void 0!==Qt&&Qt,qt=yt.mask,An=void 0===qt?null:qt,Sn=yt.maskId,Jn=void 0===Sn?null:Sn,oi=yt.title,xi=void 0===oi?null:oi,Si=yt.titleId,ur=void 0===Si?null:Si,Cr=yt.classes,Qr=void 0===Cr?[]:Cr,Mr=yt.attributes,Ka=void 0===Mr?{}:Mr,Ma=yt.styles,ls=void 0===Ma?{}:Ma;if(rt){var Na=rt.prefix,mo=rt.iconName,Er=rt.icon;return Ta(_({type:"icon"},rt),function(){return Ki("beforeDOMElementCreation",{iconDefinition:rt,params:yt}),J.autoA11y&&(xi?Ka["aria-labelledby"]="".concat(J.replacementClass,"-title-").concat(ur||Me()):(Ka["aria-hidden"]="true",Ka.focusable="false")),Ls({icons:{main:qs(Er),mask:An?qs(An.icon):{found:!1,width:null,height:null,icon:{}}},prefix:Na,iconName:mo,transform:_(_({},Dt),Qe),symbol:sn,title:xi,maskId:Jn,titleId:ur,extra:{attributes:Ka,styles:ls,classes:Qr}})})}},Pn={mixout:function(){return{icon:(Xe=Yt,function(rt){var yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=(rt||{}).icon?rt:ra(rt||{}),Qe=yt.mask;return Qe&&(Qe=(Qe||{}).icon?Qe:ra(Qe||{})),Xe(Pt,_(_({},yt),{},{mask:Qe}))})};var Xe},hooks:function(){return{mutationObserverCallbacks:function(yt){return yt.treeCallback=bt,yt.nodeCallback=be,yt}}},provides:function(rt){rt.i2svg=function(yt){var Pt=yt.node,Qe=void 0===Pt?d:Pt,Qt=yt.callback;return bt(Qe,void 0===Qt?function(){}:Qt)},rt.generateSvgReplacementMutation=function(yt,Pt){var Qe=Pt.iconName,Qt=Pt.title,sn=Pt.titleId,qt=Pt.prefix,An=Pt.transform,Sn=Pt.symbol,Jn=Pt.mask,oi=Pt.maskId,xi=Pt.extra;return new Promise(function(Si,ur){Promise.all([Pr(Qe,qt),Jn.iconName?Pr(Jn.iconName,Jn.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(Cr){var Qr=P(Cr,2),Mr=Qr[0],Ka=Qr[1];Si([yt,Ls({icons:{main:Mr,mask:Ka},prefix:qt,iconName:Qe,transform:An,symbol:Sn,maskId:oi,title:Qt,titleId:sn,extra:xi,watchable:!0})])}).catch(ur)})},rt.generateAbstractIcon=function(yt){var Sn,Pt=yt.children,Qe=yt.attributes,Qt=yt.main,sn=yt.transform,An=Tt(yt.styles);return An.length>0&&(Qe.style=An),Ht(sn)&&(Sn=xa("generateAbstractTransformGrouping",{main:Qt,transform:sn,containerWidth:Qt.width,iconWidth:Qt.width})),Pt.push(Sn||Qt.icon),{children:Pt,attributes:Qe}}}},Ti={mixout:function(){return{layer:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.classes,Qt=void 0===Qe?[]:Qe;return Ta({type:"layer"},function(){Ki("beforeDOMElementCreation",{assembler:yt,params:Pt});var sn=[];return yt(function(qt){Array.isArray(qt)?qt.map(function(An){sn=sn.concat(An.abstract)}):sn=sn.concat(qt.abstract)}),[{tag:"span",attributes:{class:["".concat(J.cssPrefix,"-layers")].concat(M(Qt)).join(" ")},children:sn}]})}}}},rr={mixout:function(){return{counter:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.title,Qt=void 0===Qe?null:Qe,sn=Pt.classes,qt=void 0===sn?[]:sn,An=Pt.attributes,Sn=void 0===An?{}:An,Jn=Pt.styles,oi=void 0===Jn?{}:Jn;return Ta({type:"counter",content:yt},function(){return Ki("beforeDOMElementCreation",{content:yt,params:Pt}),vr({content:yt.toString(),title:Qt,extra:{attributes:Sn,styles:oi,classes:["".concat(J.cssPrefix,"-layers-counter")].concat(M(qt))}})})}}}},gs={mixout:function(){return{text:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.transform,Qt=void 0===Qe?Dt:Qe,sn=Pt.title,qt=void 0===sn?null:sn,An=Pt.classes,Sn=void 0===An?[]:An,Jn=Pt.attributes,oi=void 0===Jn?{}:Jn,xi=Pt.styles,Si=void 0===xi?{}:xi;return Ta({type:"text",content:yt},function(){return Ki("beforeDOMElementCreation",{content:yt,params:Pt}),Ca({content:yt,transform:_(_({},Dt),Qt),title:qt,extra:{attributes:oi,styles:Si,classes:["".concat(J.cssPrefix,"-layers-text")].concat(M(Sn))}})})}}},provides:function(rt){rt.generateLayersText=function(yt,Pt){var Qe=Pt.title,Qt=Pt.transform,sn=Pt.extra,qt=null,An=null;if(a){var Sn=parseInt(getComputedStyle(yt).fontSize,10),Jn=yt.getBoundingClientRect();qt=Jn.width/Sn,An=Jn.height/Sn}return J.autoA11y&&!Qe&&(sn.attributes["aria-hidden"]="true"),Promise.resolve([yt,Ca({content:yt.innerHTML,width:qt,height:An,transform:Qt,title:Qe,extra:sn,watchable:!0})])}}},Oo=new RegExp('"',"ug"),$s=[1105920,1112319];function po(Xe,rt){var yt="".concat("data-fa-pseudo-element-pending").concat(rt.replace(":","-"));return new Promise(function(Pt,Qe){if(null!==Xe.getAttribute(yt))return Pt();var sn=Ce(Xe.children).filter(function(Er){return Er.getAttribute(Ze)===rt})[0],qt=h.getComputedStyle(Xe,rt),An=qt.getPropertyValue("font-family").match(un),Sn=qt.getPropertyValue("font-weight"),Jn=qt.getPropertyValue("content");if(sn&&!An)return Xe.removeChild(sn),Pt();if(An&&"none"!==Jn&&""!==Jn){var oi=qt.getPropertyValue("content"),xi=~["Sharp"].indexOf(An[2])?ee:pe,Si=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(An[2])?Re[xi][An[2].toLowerCase()]:Bt[xi][Sn],ur=function kl(Xe){var rt=Xe.replace(Oo,""),yt=function Wn(Xe,rt){var Qe,yt=Xe.length,Pt=Xe.charCodeAt(rt);return Pt>=55296&&Pt<=56319&&yt>rt+1&&(Qe=Xe.charCodeAt(rt+1))>=56320&&Qe<=57343?1024*(Pt-55296)+Qe-56320+65536:Pt}(rt,0),Pt=yt>=$s[0]&&yt<=$s[1],Qe=2===rt.length&&rt[0]===rt[1];return{value:Bn(Qe?rt[0]:rt),isSecondary:Pt||Qe}}(oi),Cr=ur.value,Qr=ur.isSecondary,Mr=An[0].startsWith("FontAwesome"),Ka=En(Si,Cr),Ma=Ka;if(Mr){var ls=function aa(Xe){var rt=Zi[Xe],yt=En("fas",Xe);return rt||(yt?{prefix:"fas",iconName:yt}:null)||{prefix:null,iconName:null}}(Cr);ls.iconName&&ls.prefix&&(Ka=ls.iconName,Si=ls.prefix)}if(!Ka||Qr||sn&&sn.getAttribute(ve)===Si&&sn.getAttribute(et)===Ma)Pt();else{Xe.setAttribute(yt,Ma),sn&&Xe.removeChild(sn);var Na=function Zr(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Dt,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}(),mo=Na.extra;mo.attributes[Ze]=rt,Pr(Ka,Si).then(function(Er){var bs=Ls(_(_({},Na),{},{icons:{main:Er,mask:{prefix:null,iconName:null,rest:[]}},prefix:Si,iconName:Ma,extra:mo,watchable:!0})),go=d.createElement("svg");"::before"===rt?Xe.insertBefore(go,Xe.firstChild):Xe.appendChild(go),go.outerHTML=bs.map(function(hl){return re(hl)}).join("\n"),Xe.removeAttribute(yt),Pt()}).catch(Qe)}}else Pt()})}function kn(Xe){return Promise.all([po(Xe,"::before"),po(Xe,"::after")])}function Ui(Xe){return!(Xe.parentNode===document.head||~Ae.indexOf(Xe.tagName.toUpperCase())||Xe.getAttribute(Ze)||Xe.parentNode&&"svg"===Xe.parentNode.tagName)}function eo(Xe){if(v)return new Promise(function(rt,yt){var Pt=Ce(Xe.querySelectorAll("*")).filter(Ui).map(kn),Qe=Ja_begin("searchPseudoElements");ri(),Promise.all(Pt).then(function(){Qe(),Bi(),rt()}).catch(function(){Qe(),Bi(),yt()})})}var Ra=!1,_o=function(rt){return rt.toLowerCase().split(" ").reduce(function(Pt,Qe){var Qt=Qe.toLowerCase().split("-"),sn=Qt[0],qt=Qt.slice(1).join("-");if(sn&&"h"===qt)return Pt.flipX=!0,Pt;if(sn&&"v"===qt)return Pt.flipY=!0,Pt;if(qt=parseFloat(qt),isNaN(qt))return Pt;switch(sn){case"grow":Pt.size=Pt.size+qt;break;case"shrink":Pt.size=Pt.size-qt;break;case"left":Pt.x=Pt.x-qt;break;case"right":Pt.x=Pt.x+qt;break;case"up":Pt.y=Pt.y-qt;break;case"down":Pt.y=Pt.y+qt;break;case"rotate":Pt.rotate=Pt.rotate+qt}return Pt},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},$i={x:0,y:0,width:"100%",height:"100%"};function Hn(Xe){var rt=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Xe.attributes&&(Xe.attributes.fill||rt)&&(Xe.attributes.fill="black"),Xe}!function Sa(Xe,rt){var yt=rt.mixoutsTo;return Ha=Xe,Hi={},Object.keys(La).forEach(function(Pt){-1===gr.indexOf(Pt)&&delete La[Pt]}),Ha.forEach(function(Pt){var Qe=Pt.mixout?Pt.mixout():{};if(Object.keys(Qe).forEach(function(sn){"function"==typeof Qe[sn]&&(yt[sn]=Qe[sn]),"object"===E(Qe[sn])&&Object.keys(Qe[sn]).forEach(function(qt){yt[sn]||(yt[sn]={}),yt[sn][qt]=Qe[sn][qt]})}),Pt.hooks){var Qt=Pt.hooks();Object.keys(Qt).forEach(function(sn){Hi[sn]||(Hi[sn]=[]),Hi[sn].push(Qt[sn])})}Pt.provides&&Pt.provides(La)}),yt}([zn,Pn,Ti,rr,gs,{hooks:function(){return{mutationObserverCallbacks:function(yt){return yt.pseudoElementsCallback=eo,yt}}},provides:function(rt){rt.pseudoElements2svg=function(yt){var Pt=yt.node,Qe=void 0===Pt?d:Pt;J.searchPseudoElements&&eo(Qe)}}},{mixout:function(){return{dom:{unwatch:function(){ri(),Ra=!0}}}},hooks:function(){return{bootstrap:function(){oa(fa("mutationObserverCallbacks",{}))},noAuto:function(){!function la(){!Xi||Xi.disconnect()}()},watch:function(yt){var Pt=yt.observeMutationsRoot;Ra?Bi():oa(fa("mutationObserverCallbacks",{observeMutationsRoot:Pt}))}}}},{mixout:function(){return{parse:{transform:function(yt){return _o(yt)}}}},hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-transform");return Qe&&(yt.transform=_o(Qe)),yt}}},provides:function(rt){rt.generateAbstractTransformGrouping=function(yt){var Pt=yt.main,Qe=yt.transform,Qt=yt.containerWidth,sn=yt.iconWidth,qt={transform:"translate(".concat(Qt/2," 256)")},An="translate(".concat(32*Qe.x,", ").concat(32*Qe.y,") "),Sn="scale(".concat(Qe.size/16*(Qe.flipX?-1:1),", ").concat(Qe.size/16*(Qe.flipY?-1:1),") "),Jn="rotate(".concat(Qe.rotate," 0 0)"),Si={outer:qt,inner:{transform:"".concat(An," ").concat(Sn," ").concat(Jn)},path:{transform:"translate(".concat(sn/2*-1," -256)")}};return{tag:"g",attributes:_({},Si.outer),children:[{tag:"g",attributes:_({},Si.inner),children:[{tag:Pt.icon.tag,children:Pt.icon.children,attributes:_(_({},Pt.icon.attributes),Si.path)}]}]}}}},{hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-mask"),Qt=Qe?ka(Qe.split(" ").map(function(sn){return sn.trim()})):{prefix:null,iconName:null,rest:[]};return Qt.prefix||(Qt.prefix=Ii()),yt.mask=Qt,yt.maskId=Pt.getAttribute("data-fa-mask-id"),yt}}},provides:function(rt){rt.generateAbstractMask=function(yt){var Xe,Pt=yt.children,Qe=yt.attributes,Qt=yt.main,sn=yt.mask,qt=yt.maskId,An=yt.transform,Sn=Qt.width,Jn=Qt.icon,oi=sn.width,xi=sn.icon,Si=function He(Xe){var rt=Xe.transform,yt=Xe.containerWidth,Pt=Xe.iconWidth,Qe={transform:"translate(".concat(yt/2," 256)")},Qt="translate(".concat(32*rt.x,", ").concat(32*rt.y,") "),sn="scale(".concat(rt.size/16*(rt.flipX?-1:1),", ").concat(rt.size/16*(rt.flipY?-1:1),") "),qt="rotate(".concat(rt.rotate," 0 0)");return{outer:Qe,inner:{transform:"".concat(Qt," ").concat(sn," ").concat(qt)},path:{transform:"translate(".concat(Pt/2*-1," -256)")}}}({transform:An,containerWidth:oi,iconWidth:Sn}),ur={tag:"rect",attributes:_(_({},$i),{},{fill:"white"})},Cr=Jn.children?{children:Jn.children.map(Hn)}:{},Qr={tag:"g",attributes:_({},Si.inner),children:[Hn(_({tag:Jn.tag,attributes:_(_({},Jn.attributes),Si.path)},Cr))]},Mr={tag:"g",attributes:_({},Si.outer),children:[Qr]},Ka="mask-".concat(qt||Me()),Ma="clip-".concat(qt||Me()),ls={tag:"mask",attributes:_(_({},$i),{},{id:Ka,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[ur,Mr]},Na={tag:"defs",children:[{tag:"clipPath",attributes:{id:Ma},children:(Xe=xi,"g"===Xe.tag?Xe.children:[Xe])},ls]};return Pt.push(Na,{tag:"rect",attributes:_({fill:"currentColor","clip-path":"url(#".concat(Ma,")"),mask:"url(#".concat(Ka,")")},$i)}),{children:Pt,attributes:Qe}}}},{provides:function(rt){var yt=!1;h.matchMedia&&(yt=h.matchMedia("(prefers-reduced-motion: reduce)").matches),rt.missingIconAbstract=function(){var Pt=[],Qe={fill:"currentColor"},Qt={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};Pt.push({tag:"path",attributes:_(_({},Qe),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var sn=_(_({},Qt),{},{attributeName:"opacity"}),qt={tag:"circle",attributes:_(_({},Qe),{},{cx:"256",cy:"364",r:"28"}),children:[]};return yt||qt.children.push({tag:"animate",attributes:_(_({},Qt),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:_(_({},sn),{},{values:"1;0;1;1;0;1;"})}),Pt.push(qt),Pt.push({tag:"path",attributes:_(_({},Qe),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:yt?[]:[{tag:"animate",attributes:_(_({},sn),{},{values:"1;0;0;0;0;1;"})}]}),yt||Pt.push({tag:"path",attributes:_(_({},Qe),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:_(_({},sn),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:Pt}}}},{hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-symbol"),Qt=null!==Qe&&(""===Qe||Qe);return yt.symbol=Qt,yt}}}}],{mixoutsTo:Qi});Qi.noAuto,Qi.config,Qi.library,Qi.dom;var Po=Qi.parse,Kc=(Qi.findIconDefinition,Qi.toHtml,Qi.icon),Go=(Qi.layer,Qi.text),Zo=Qi.counter,ko=m(4497);const xr=["*"],ui=Xe=>{const rt={"fa-spin":Xe.spin,"fa-pulse":Xe.pulse,"fa-fw":Xe.fixedWidth,"fa-border":Xe.border,"fa-inverse":Xe.inverse,"fa-layers-counter":Xe.counter,"fa-flip-horizontal":"horizontal"===Xe.flip||"both"===Xe.flip,"fa-flip-vertical":"vertical"===Xe.flip||"both"===Xe.flip,[`fa-${Xe.size}`]:null!==Xe.size,[`fa-rotate-${Xe.rotate}`]:null!==Xe.rotate,[`fa-pull-${Xe.pull}`]:null!==Xe.pull,[`fa-stack-${Xe.stackItemSize}`]:null!=Xe.stackItemSize};return Object.keys(rt).map(yt=>rt[yt]?yt:null).filter(yt=>yt)};class ys{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null}}ys.\u0275fac=function(rt){return new(rt||ys)},ys.\u0275prov=e.Yz7({token:ys,factory:ys.\u0275fac,providedIn:"root"});class ks{constructor(){this.definitions={}}addIcons(...rt){for(const yt of rt){yt.prefix in this.definitions||(this.definitions[yt.prefix]={}),this.definitions[yt.prefix][yt.iconName]=yt;for(const Pt of yt.icon[2])"string"==typeof Pt&&(this.definitions[yt.prefix][Pt]=yt)}}addIconPacks(...rt){for(const yt of rt){const Pt=Object.keys(yt).map(Qe=>yt[Qe]);this.addIcons(...Pt)}}getIconDefinition(rt,yt){return rt in this.definitions&&yt in this.definitions[rt]?this.definitions[rt][yt]:null}}ks.\u0275fac=function(rt){return new(rt||ks)},ks.\u0275prov=e.Yz7({token:ks,factory:ks.\u0275fac,providedIn:"root"});class no{constructor(){this.stackItemSize="1x"}ngOnChanges(rt){if("size"in rt)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: ....')}}no.\u0275fac=function(rt){return new(rt||no)},no.\u0275dir=e.lG2({type:no,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[e.TTD]});class os{constructor(rt,yt){this.renderer=rt,this.elementRef=yt}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(rt){"size"in rt&&(null!=rt.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${rt.size.currentValue}`),null!=rt.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${rt.size.previousValue}`))}}os.\u0275fac=function(rt){return new(rt||os)(e.Y36(e.Qsj),e.Y36(e.SBq))},os.\u0275cmp=e.Xpm({type:os,selectors:[["fa-stack"]],inputs:{size:"size"},features:[e.TTD],ngContentSelectors:xr,decls:1,vars:0,template:function(rt,yt){1&rt&&(e.F$t(),e.Hsn(0))},encapsulation:2});class Ne{constructor(rt,yt,Pt,Qe,Qt){this.sanitizer=rt,this.config=yt,this.iconLibrary=Pt,this.stackItem=Qe,this.classes=[],null!=Qt&&null==Qe&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: .')}ngOnChanges(rt){if(null==this.icon&&null==this.config.fallbackIcon)return(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})();if(rt){const yt=null!=this.icon?this.icon:this.config.fallbackIcon,Pt=this.findIconDefinition(yt);if(null!=Pt){const Qe=this.buildParams();this.renderIcon(Pt,Qe)}}}render(){this.ngOnChanges({})}findIconDefinition(rt){const yt=((Xe,rt)=>(Xe=>void 0!==Xe.prefix&&void 0!==Xe.iconName)(Xe)?Xe:Array.isArray(Xe)&&2===Xe.length?{prefix:Xe[0],iconName:Xe[1]}:"string"==typeof Xe?{prefix:rt,iconName:Xe}:void 0)(rt,this.config.defaultPrefix);if("icon"in yt)return yt;return this.iconLibrary.getIconDefinition(yt.prefix,yt.iconName)??((Xe=>{throw new Error(`Could not find icon with iconName=${Xe.iconName} and prefix=${Xe.prefix} in the icon library.`)})(yt),null)}buildParams(){const rt={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},yt="string"==typeof this.transform?Po.transform(this.transform):this.transform;return{title:this.title,transform:yt,classes:[...ui(rt),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(rt,yt){const Pt=Kc(rt,yt);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(Pt.html.join("\n"))}}Ne.\u0275fac=function(rt){return new(rt||Ne)(e.Y36(ko.H7),e.Y36(ys),e.Y36(ks),e.Y36(no,8),e.Y36(os,8))},Ne.\u0275cmp=e.Xpm({type:Ne,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(rt,yt){2&rt&&(e.Ikx("innerHTML",yt.renderedIconHTML,e.oJD),e.uIk("title",yt.title))},inputs:{icon:"icon",title:"title",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",classes:"classes",transform:"transform",a11yRole:"a11yRole"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class fe extends Ne{findIconDefinition(rt){const yt=super.findIconDefinition(rt);if(null!=yt&&!Array.isArray(yt.icon[4]))throw new Error(`The specified icon does not appear to be a Duotone icon. Check that you specified the correct style: or use: instead.`);return yt}buildParams(){const rt=super.buildParams();return(!0===this.swapOpacity||"true"===this.swapOpacity)&&rt.classes.push("fa-swap-opacity"),null!=this.primaryOpacity&&(rt.styles["--fa-primary-opacity"]=this.primaryOpacity.toString()),null!=this.secondaryOpacity&&(rt.styles["--fa-secondary-opacity"]=this.secondaryOpacity.toString()),null!=this.primaryColor&&(rt.styles["--fa-primary-color"]=this.primaryColor),null!=this.secondaryColor&&(rt.styles["--fa-secondary-color"]=this.secondaryColor),rt}}fe.\u0275fac=function(){let Xe;return function(yt){return(Xe||(Xe=e.n5z(fe)))(yt||fe)}}(),fe.\u0275cmp=e.Xpm({type:fe,selectors:[["fa-duotone-icon"]],inputs:{swapOpacity:"swapOpacity",primaryOpacity:"primaryOpacity",secondaryOpacity:"secondaryOpacity",primaryColor:"primaryColor",secondaryColor:"secondaryColor"},features:[e.qOj],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});const st=(Xe,rt,yt)=>{if(!Xe)throw new Error(`${yt} should be used as child of ${rt} only.`)};class Ot{constructor(rt,yt,Pt){this.renderer=rt,this.elementRef=yt,this.config=Pt}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-layers"),this.fixedWidth="boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth}ngOnChanges(rt){"size"in rt&&(null!=rt.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${rt.size.currentValue}`),null!=rt.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${rt.size.previousValue}`))}}Ot.\u0275fac=function(rt){return new(rt||Ot)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(ys))},Ot.\u0275cmp=e.Xpm({type:Ot,selectors:[["fa-layers"]],hostVars:2,hostBindings:function(rt,yt){2&rt&&e.ekj("fa-fw",yt.fixedWidth)},inputs:{size:"size",fixedWidth:"fixedWidth"},features:[e.TTD],ngContentSelectors:xr,decls:1,vars:0,template:function(rt,yt){1&rt&&(e.F$t(),e.Hsn(0))},encapsulation:2});class Vt{constructor(rt,yt){this.parent=rt,this.sanitizer=yt,this.classes=[],st(this.parent,"FaLayersComponent",this.constructor.name)}ngOnChanges(rt){if(rt){const yt=this.buildParams();this.updateContent(yt)}}buildParams(){const rt=[];return null!=this.classes&&rt.push(...this.classes),null!=this.position&&rt.push(`fa-layers-${this.position}`),{title:this.title,classes:rt,styles:this.styles}}updateContent(rt){this.renderedHTML=this.sanitizer.bypassSecurityTrustHtml(Zo(this.content||"",rt).html.join(""))}}Vt.\u0275fac=function(rt){return new(rt||Vt)(e.Y36(Ot,8),e.Y36(ko.H7))},Vt.\u0275cmp=e.Xpm({type:Vt,selectors:[["fa-layers-counter"]],hostAttrs:[1,"ng-fa-layers-counter"],hostVars:1,hostBindings:function(rt,yt){2&rt&&e.Ikx("innerHTML",yt.renderedHTML,e.oJD)},inputs:{content:"content",title:"title",styles:"styles",classes:"classes",position:"position"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class fn{constructor(rt,yt){this.parent=rt,this.sanitizer=yt,this.classes=[],st(this.parent,"FaLayersComponent",this.constructor.name)}ngOnChanges(rt){if(rt){const yt=this.buildParams();this.updateContent(yt)}}buildParams(){const rt={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:this.fixedWidth};return{transform:"string"==typeof this.transform?Po.transform(this.transform):this.transform,classes:[...ui(rt),...this.classes],title:this.title,styles:this.styles}}updateContent(rt){this.renderedHTML=this.sanitizer.bypassSecurityTrustHtml(Go(this.content||"",rt).html.join("\n"))}}fn.\u0275fac=function(rt){return new(rt||fn)(e.Y36(Ot,8),e.Y36(ko.H7))},fn.\u0275cmp=e.Xpm({type:fn,selectors:[["fa-layers-text"]],hostAttrs:[1,"ng-fa-layers-text"],hostVars:1,hostBindings:function(rt,yt){2&rt&&e.Ikx("innerHTML",yt.renderedHTML,e.oJD)},inputs:{content:"content",title:"title",styles:"styles",classes:"classes",spin:"spin",pulse:"pulse",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",rotate:"rotate",fixedWidth:"fixedWidth",transform:"transform"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class Un{}Un.\u0275fac=function(rt){return new(rt||Un)},Un.\u0275mod=e.oAB({type:Un}),Un.\u0275inj=e.cJS({})},9306:(Ue,q,m)=>{"use strict";m.d(q,{Acd:()=>r0,Aq:()=>P1,B$L:()=>$i,BDt:()=>__,CgH:()=>D4,CvI:()=>Mp,DL8:()=>ev,FJU:()=>Kn,FVb:()=>O1,FlN:()=>G6,FpQ:()=>Fa,HLz:()=>P5,KOR:()=>v4,Krp:()=>Ph,Mdf:()=>au,N2j:()=>Nn,NBC:()=>o7,OS1:()=>zh,Psp:()=>X0,Pyt:()=>We,Sbq:()=>rn,SoD:()=>qs,Ssp:()=>hv,SuH:()=>x4,TmZ:()=>t7,USL:()=>y7,Vei:()=>al,Vfw:()=>k_,X5K:()=>v1,XsY:()=>oi,aj4:()=>y3,b7W:()=>q6,byT:()=>xi,co4:()=>z4,d63:()=>cr,dLy:()=>V5,dT$:()=>Ws,eHv:()=>dv,gNZ:()=>Gd,hkK:()=>Qn,hnx:()=>Mv,kXW:()=>e_,kZ_:()=>n7,koM:()=>qr,mh3:()=>b1,nNP:()=>w8,q7m:()=>n8,qO$:()=>S7,r8p:()=>k8,sqG:()=>yp,vqe:()=>W7,wn1:()=>F5,wyP:()=>o1,xf3:()=>t1});var In={prefix:"fas",iconName:"angles-down",icon:[448,512,["angle-double-down"],"f103","M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z"]},rn=In,Qn={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},qn={prefix:"fas",iconName:"box-archive",icon:[512,512,["archive"],"f187","M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"]},Nn=qn,qs={prefix:"fas",iconName:"pen-ruler",icon:[512,512,["pencil-ruler"],"f5ae","M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z"]},Ba={prefix:"fas",iconName:"unlock-keyhole",icon:[448,512,["unlock-alt"],"f13e","M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z"]},$i=Ba,Jn={prefix:"fas",iconName:"paintbrush",icon:[576,512,[128396,"paint-brush"],"f1fc","M371.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L600.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S549.7-4.4 531.1 9.6L294.4 187.2c-24 18-38.2 46.1-38.4 76.1L371.3 367.1zm-19.6 25.4l-116-104.4C175.9 290.3 128 339.6 128 400c0 3.9 .2 7.8 .6 11.6c1.8 17.5-10.2 36.4-27.8 36.4H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"]},oi=Jn,xi={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"]},O1={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M144 160c-44.2 0-80-35.8-80-80S99.8 0 144 0s80 35.8 80 80s-35.8 80-80 80zm368 0c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM416 224c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"]},P1={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zm223.1 298L373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5z"]},r0={prefix:"fas",iconName:"bullhorn",icon:[512,512,[128226,128363],"f0a1","M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z"]},y3={prefix:"fas",iconName:"money-bill-wave",icon:[576,512,[],"f53a","M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z"]},t1={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM344 152c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm96-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zM344 408c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm104-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z"]},qr={prefix:"fas",iconName:"chart-bar",icon:[512,512,["bar-chart"],"f080","M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]},o1={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z"]},al={prefix:"fas",iconName:"burst",icon:[512,512,[],"e4dc","M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z"]},cr={prefix:"fas",iconName:"arrows-turn-right",icon:[512,512,[],"e4c0","M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L370.7 160H160c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C32 153.3 89.3 96 160 96H370.7L329.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 416H128c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H274.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z"]},Ph={prefix:"fas",iconName:"layer-group",icon:[576,512,[],"f5fd","M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z"]},X0={prefix:"fas",iconName:"question",icon:[320,512,[10067,10068,61736],"3f","M96 96c-17.7 0-32 14.3-32 32s-14.3 32-32 32s-32-14.3-32-32C0 75 43 32 96 32h97c70.1 0 127 56.9 127 127c0 52.4-32.2 99.4-81 118.4l-63 24.5 0 18.1c0 17.7-14.3 32-32 32s-32-14.3-32-32V301.9c0-26.4 16.2-50.1 40.8-59.6l63-24.5C240 208.3 256 185 256 159c0-34.8-28.2-63-63-63H96zm48 384c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40z"]},Ws={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},zh={prefix:"fas",iconName:"chart-pie",icon:[576,512,["pie-chart"],"f200","M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z"]},v4={prefix:"fas",iconName:"eject",icon:[448,512,[9167],"f052","M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z"]},Yf={prefix:"fas",iconName:"signs-post",icon:[512,512,["map-signs"],"f277","M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z"]},x4=Yf,E4={prefix:"fas",iconName:"screwdriver-wrench",icon:[512,512,["tools"],"f7d9","M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM104 432c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z"]},D4=E4,v1={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 336c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},b1={prefix:"fas",iconName:"code-branch",icon:[448,512,[],"f126","M80 104c13.3 0 24-10.7 24-24s-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM80 456c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z"]},Fa={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 256s96-96 96-160c0-53-43-96-96-96s-96 43-96 96c0 29.4 20.2 65.5 42.1 96H320c-53 0-96 43-96 96s43 96 96 96h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H188.6c-6.2 9.6-12.6 18.8-19 27.2c-10.7 14.2-21.3 26.9-30 36.8H416c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h96zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM149.9 448c21.9-30.5 42.1-66.6 42.1-96c0-53-43-96-96-96s-96 43-96 96c0 64 96 160 96 160s3.5-3.5 9.2-9.6c.4-.4 .7-.8 1.1-1.2c3.3-3.5 7.1-7.8 11.4-12.8c.2-.2 .4-.4 .6-.6c9.4-10.8 20.7-24.6 31.6-39.8zM96 384c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},au={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"]},Kd={prefix:"fas",iconName:"user-gear",icon:[640,512,["user-cog"],"f4fe","M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5c0-26.5-21.5-48-48.1-48s-48.1 21.5-48.1 48s21.5 48 48.1 48s48.1-21.5 48.1-48z"]},Gd=Kd,P_={prefix:"fas",iconName:"angles-up",icon:[448,512,["angle-double-up"],"f102","M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z"]},k_=P_,W_={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-144c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},yp=W_,G6={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M112 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32V224v64V416c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32h48V96zm416 0v32h48c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H528v32c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z"]},Mp={prefix:"fas",iconName:"money-bill-1",icon:[576,512,["money-bill-alt"],"f3d1","M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM400 256c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z"]},z4=Mp,hm={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80z"]},q6=hm,e_={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z"]},n8={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"]},__={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z"]},We={prefix:"fas",iconName:"arrows-turn-to-dots",icon:[512,512,[],"e4c1","M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM512 384c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM64 64c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64S28.7 64 64 64z"]},Kn={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z"]},E8={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM96 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm352-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"]},P5=E8,w8={prefix:"fas",iconName:"link",icon:[640,512,[128279,"chain"],"f0c1","M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"]},N5={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"]},F5=N5,V5={prefix:"fas",iconName:"receipt",icon:[384,512,[129534],"f543","M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.2-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.2 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z"]},e7={prefix:"fas",iconName:"diagram-project",icon:[576,512,["project-diagram"],"f542","M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z"]},t7=e7,n7={prefix:"fas",iconName:"copy",icon:[512,512,[],"f0c5","M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64H64V224h64V160H64z"]},k8={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"]},g_={prefix:"fas",iconName:"xmark",icon:[320,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"]},o7=g_,v7={prefix:"fas",iconName:"percent",icon:[384,512,[62101,62785,"percentage"],"25","M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128c0-35.3-28.7-64-64-64S0 92.7 0 128s28.7 64 64 64s64-28.7 64-64zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z"]},y7=v7,L7={prefix:"fas",iconName:"clock-rotate-left",icon:[512,512,["history"],"f1da","M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z"]},S7=L7,W7={prefix:"fas",iconName:"infinity",icon:[640,512,[8734,9854],"f534","M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z"]},$7={prefix:"fas",iconName:"scale-balanced",icon:[640,512,[9878,"balance-scale"],"f24e","M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zM125.8 177.3L51.1 320H204.9L130.2 177.3c-.4-.8-1.3-1.3-2.2-1.3s-1.7 .5-2.2 1.3zM128 128c18.8 0 36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C210.9 402.6 178.2 416 128 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L83.3 155c8.7-16.6 25.9-27 44.7-27zm384 48c-.9 0-1.7 .5-2.2 1.3L435.1 320H588.9L514.2 177.3c-.4-.8-1.3-1.3-2.2-1.3zm-44.7-21c8.7-16.6 25.9-27 44.7-27s36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C594.9 402.6 562.2 416 512 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L467.3 155z"]},ev=$7,N8={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"]},dv=N8,uv={prefix:"fas",iconName:"right-left",icon:[512,512,["exchange-alt"],"f362","M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z"]},hv=uv,Mv={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM496 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z"]}},3599:(Ue,q,m)=>{"use strict";m.d(q,{eX:()=>ke,sQ:()=>Gt,GW:()=>n,l4:()=>Ke});var S,dt,e=m(9263),t=m(833),_=m(6646),E=m(253),s=m(23),D=m(591),u=m(745),k=m(5474),p=m(2971);(dt=S||(S={})).NEXT="N",dt.ERROR="E",dt.COMPLETE="C";class A{constructor(se,J,oe){this.kind=se,this.value=J,this.error=oe,this.hasValue="N"===se}observe(se){return P(this,se)}do(se,J,oe){const{kind:De,value:Ye,error:Dt}=this;return"N"===De?se?.(Ye):"E"===De?J?.(Dt):oe?.()}accept(se,J,oe){var De;return(0,p.m)(null===(De=se)||void 0===De?void 0:De.next)?this.observe(se):this.do(se,J,oe)}toObservable(){const{kind:se,value:J,error:oe}=this,De="N"===se?(0,u.of)(J):"E"===se?(0,k._)(()=>oe):"C"===se?D.E:0;if(!De)throw new TypeError(`Unexpected notification kind ${se}`);return De}static createNext(se){return new A("N",se)}static createError(se){return new A("E",void 0,se)}static createComplete(){return A.completeNotification}}function P(dt,se){var J,oe,De;const{kind:Ye,value:Dt,error:ut}=dt;if("string"!=typeof Ye)throw new TypeError('Invalid notification, missing "kind"');"N"===Ye?null===(J=se.next)||void 0===J||J.call(se,Dt):"E"===Ye?null===(oe=se.error)||void 0===oe||oe.call(se,ut):null===(De=se.complete)||void 0===De||De.call(se)}A.completeNotification=new A("C");var M=m(1944),z=m(3945);var W=m(635),Z=m(3158),Q=m(116),ie=m(4987);function ae(dt,se,J,oe){return(0,M.e)((De,Ye)=>{let Dt;se&&"function"!=typeof se?({duration:J,element:Dt,connector:oe}=se):Dt=se;const ut=new Map,ze=Tt=>{ut.forEach(Tt),Tt(Ye)},Me=Tt=>ze(Ht=>Ht.error(Tt));let Ce=0,Je=!1;const zt=new z.Q(Ye,Tt=>{try{const Ht=dt(Tt);let He=ut.get(Ht);if(!He){ut.set(Ht,He=oe?oe():new E.x);const $e=function At(Tt,Ht){const He=new t.y($e=>{Ce++;const $t=Ht.subscribe($e);return()=>{$t.unsubscribe(),0==--Ce&&Je&&zt.unsubscribe()}});return He.key=Tt,He}(Ht,He);if(Ye.next($e),J){const $t=(0,z.x)(He,()=>{He.complete(),$t?.unsubscribe()},void 0,void 0,()=>ut.delete(Ht));zt.add((0,ie.Xf)(J($e)).subscribe($t))}}He.next(Dt?Dt(Tt):Tt)}catch(Ht){Me(Ht)}},()=>ze(Tt=>Tt.complete()),Me,()=>ut.clear(),()=>(Je=!0,0===Ce));De.subscribe(zt)})}var _e=m(9525);function ce(dt,se){return se?J=>J.pipe(ce((oe,De)=>(0,ie.Xf)(dt(oe,De)).pipe((0,W.U)((Ye,Dt)=>se(oe,Ye,De,Dt))))):(0,M.e)((J,oe)=>{let De=0,Ye=null,Dt=!1;J.subscribe((0,z.x)(oe,ut=>{Ye||(Ye=(0,z.x)(oe,void 0,()=>{Ye=null,Dt&&oe.complete()}),(0,ie.Xf)(dt(ut,De++)).subscribe(Ye))},()=>{Dt=!0,!Ye&&oe.complete()}))})}var ue=m(9295),$=m(2560);const he={dispatch:!0,useEffectsErrorHandler:!0},w="__@ngrx/effects_create__";function n(dt,se){const J=dt(),oe={...he,...se};return Object.defineProperty(J,w,{value:oe}),J}function o(dt){return Object.getOwnPropertyNames(dt).filter(oe=>!(!dt[oe]||!dt[oe].hasOwnProperty(w))&&dt[oe][w].hasOwnProperty("dispatch")).map(oe=>({propertyName:oe,...dt[oe][w]}))}function h(dt){return Object.getPrototypeOf(dt)}const d="__@ngrx/effects__";function L(dt){return(0,e.qC)(a,h)(dt)}function B(dt){return dt.constructor.hasOwnProperty(d)}function a(dt){return B(dt)?dt.constructor[d]:[]}function N(dt){return[L,o].reduce((J,oe)=>J.concat(oe(dt)),[])}function F(dt,se,J){const oe=h(dt).constructor.name,De=N(dt).map(({propertyName:Ye,dispatch:Dt,useEffectsErrorHandler:ut})=>{const ze="function"==typeof dt[Ye]?dt[Ye]():dt[Ye],Me=ut?J(ze,se):ze;return!1===Dt?Me.pipe((0,s.l)()):Me.pipe(function I(){return(0,M.e)((dt,se)=>{dt.subscribe((0,z.x)(se,J=>{se.next(A.createNext(J))},()=>{se.next(A.createComplete()),se.complete()},J=>{se.next(A.createError(J)),se.complete()}))})}()).pipe((0,W.U)(Je=>({effect:dt[Ye],notification:Je,propertyName:Ye,sourceName:oe,sourceInstance:dt})))});return(0,_.T)(...De)}function Fe(dt,se,J=10){return dt.pipe((0,Z.K)(oe=>(se&&se.handleError(oe),J<=1?dt:Fe(dt,se,J-1))))}class ke extends t.y{constructor(se){super(),se&&(this.source=se)}lift(se){const J=new ke;return J.source=this,J.operator=se,J}}function Ke(...dt){return(0,Q.h)(se=>dt.some(J=>"string"==typeof J?J===se.type:J.type===se.type))}ke.\u0275fac=function(se){return new(se||ke)($.LFG(e.Y$))},ke.\u0275prov=$.Yz7({token:ke,factory:ke.\u0275fac,providedIn:"root"});const je=new $.OlP("@ngrx/effects Internal Root Guard"),Ve=new $.OlP("@ngrx/effects User Provided Effects"),xe=new $.OlP("@ngrx/effects Internal Root Effects"),Ze=new $.OlP("@ngrx/effects Root Effects"),Ie=new $.OlP("@ngrx/effects Internal Feature Effects"),ve=new $.OlP("@ngrx/effects Feature Effects"),et=new $.OlP("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>Fe}),ht="@ngrx/effects/init";(0,e.PH)(ht);function Ae(dt,se){if("N"===dt.notification.kind){const J=dt.notification.value;!function te(dt){return"function"!=typeof dt&&dt&&dt.type&&"string"==typeof dt.type}(J)&&se.handleError(new Error(`Effect ${function pe({propertyName:dt,sourceInstance:se,sourceName:J}){const oe="function"==typeof se[dt];return`"${J}.${String(dt)}${oe?"()":""}"`}(dt)} dispatched an invalid action: ${function ee(dt){try{return JSON.stringify(dt)}catch{return dt}}(J)}`))}}function _t(dt){return it(dt,"ngrxOnInitEffects")}function it(dt,se){return dt&&se in dt&&"function"==typeof dt[se]}class Ct extends E.x{constructor(se,J){super(),this.errorHandler=se,this.effectsErrorHandler=J}addEffects(se){this.next(se)}toActions(){return this.pipe(ae(h),(0,_e.z)(se=>se.pipe(ae(un))),(0,_e.z)(se=>{const J=se.pipe(ce(De=>function Bt(dt,se){return J=>{const oe=F(J,dt,se);return function Re(dt){return it(dt,"ngrxOnRunEffects")}(J)?J.ngrxOnRunEffects(oe):oe}}(this.errorHandler,this.effectsErrorHandler)(De)),(0,W.U)(De=>(Ae(De,this.errorHandler),De.notification)),(0,Q.h)(De=>"N"===De.kind&&null!=De.value),function ye(){return(0,M.e)((dt,se)=>{dt.subscribe((0,z.x)(se,J=>P(J,se)))})}()),oe=se.pipe((0,ue.q)(1),(0,Q.h)(_t),(0,W.U)(De=>De.ngrxOnInitEffects()));return(0,_.T)(J,oe)}))}}function un(dt){return function j(dt){return it(dt,"ngrxOnIdentifyEffects")}(dt)?dt.ngrxOnIdentifyEffects():""}Ct.\u0275fac=function(se){return new(se||Ct)($.LFG($.qLn),$.LFG(et))},Ct.\u0275prov=$.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"});class Ut{constructor(se,J){this.effectSources=se,this.store=J,this.effectsSubscription=null}get isStarted(){return!!this.effectsSubscription}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}}Ut.\u0275fac=function(se){return new(se||Ut)($.LFG(Ct),$.LFG(e.yh))},Ut.\u0275prov=$.Yz7({token:Ut,factory:Ut.\u0275fac,providedIn:"root"});class yn{constructor(se,J,oe,De,Ye,Dt,ut){this.sources=se,J.start(),De.forEach(ze=>se.addEffects(ze)),oe.dispatch({type:ht})}addEffects(se){this.sources.addEffects(se)}}yn.\u0275fac=function(se){return new(se||yn)($.LFG(Ct),$.LFG(Ut),$.LFG(e.yh),$.LFG(Ze),$.LFG(e.cr,8),$.LFG(e.CK,8),$.LFG(je,8))},yn.\u0275mod=$.oAB({type:yn}),yn.\u0275inj=$.cJS({});class Xt{constructor(se,J,oe,De){J.forEach(Ye=>Ye.forEach(Dt=>se.addEffects(Dt)))}}Xt.\u0275fac=function(se){return new(se||Xt)($.LFG(yn),$.LFG(ve),$.LFG(e.cr,8),$.LFG(e.CK,8))},Xt.\u0275mod=$.oAB({type:Xt}),Xt.\u0275inj=$.cJS({});class Gt{static forFeature(se=[]){return{ngModule:Xt,providers:[se,{provide:Ie,multi:!0,useValue:se},{provide:Ve,multi:!0,useValue:[]},{provide:ve,multi:!0,useFactory:In,deps:[$.zs3,Ie,Ve]}]}}static forRoot(se=[]){return{ngModule:yn,providers:[se,{provide:xe,useValue:[se]},{provide:je,useFactory:tn,deps:[[Ut,new $.FiY,new $.tp0],[xe,new $.PiD]]},{provide:Ve,multi:!0,useValue:[]},{provide:Ze,useFactory:In,deps:[$.zs3,xe,Ve]}]}}}function In(dt,se,J){const oe=[];for(const De of se)oe.push(...De);for(const De of J)oe.push(...De);return function rn(dt,se){return se.map(J=>dt.get(J))}(dt,oe)}function tn(dt,se){if((1!==se.length||0!==se[0].length)&&dt)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}Gt.\u0275fac=function(se){return new(se||Gt)},Gt.\u0275mod=$.oAB({type:Gt}),Gt.\u0275inj=$.cJS({})},5242:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{FT:()=>StoreDevtoolsModule});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2560),_ngrx_store__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9263),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(591),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(833),rxjs__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(745),rxjs__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(6646),rxjs__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(4915),rxjs__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(6067),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(1203),rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(116),rxjs_operators__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(635),rxjs_operators__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3853),rxjs_operators__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7580),rxjs_operators__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(1989),rxjs_operators__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(3158),rxjs_operators__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(9295),rxjs_operators__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(8951),rxjs_operators__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(2673),rxjs_operators__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(7260),rxjs_operators__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(8728),rxjs_operators__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(538),rxjs_operators__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(4351);const PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING";class PerformAction{constructor(q,m){if(this.action=q,this.timestamp=m,this.type=PERFORM_ACTION,typeof q.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}}class Refresh{constructor(){this.type=REFRESH}}class Reset{constructor(q){this.timestamp=q,this.type=RESET}}class Rollback{constructor(q){this.timestamp=q,this.type=ROLLBACK}}class Commit{constructor(q){this.timestamp=q,this.type=COMMIT}}class Sweep{constructor(){this.type=SWEEP}}class ToggleAction{constructor(q){this.id=q,this.type=TOGGLE_ACTION}}class SetActionsActive{constructor(q,m,e=!0){this.start=q,this.end=m,this.active=e,this.type=SET_ACTIONS_ACTIVE}}class JumpToState{constructor(q){this.index=q,this.type=JUMP_TO_STATE}}class JumpToAction{constructor(q){this.actionId=q,this.type=JUMP_TO_ACTION}}class ImportState{constructor(q){this.nextLiftedState=q,this.type=IMPORT_STATE}}class LockChanges{constructor(q){this.status=q,this.type=LOCK_CHANGES}}class PauseRecording{constructor(q){this.status=q,this.type=PAUSE_RECORDING}}class StoreDevtoolsConfig{constructor(){this.maxAge=!1}}const STORE_DEVTOOLS_CONFIG=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Initial Config");function noMonitor(){return null}const DEFAULT_NAME="NgRx Store DevTools";function createConfig(Ue){const q={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0}},m="function"==typeof Ue?Ue():Ue,e=!!m.logOnly&&{pause:!0,export:!0,test:!0},t=m.features||e||q.features,_=Object.assign({},q,{features:t},m);if(_.maxAge&&_.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${_.maxAge}`);return _}function difference(Ue,q){return Ue.filter(m=>q.indexOf(m)<0)}function unliftState(Ue){const{computedStates:q,currentStateIndex:m}=Ue;if(m>=q.length){const{state:t}=q[q.length-1];return t}const{state:e}=q[m];return e}function unliftAction(Ue){return Ue.actionsById[Ue.nextActionId-1]}function liftAction(Ue){return new PerformAction(Ue,+Date.now())}function sanitizeActions(Ue,q){return Object.keys(q).reduce((m,e)=>{const t=Number(e);return m[t]=sanitizeAction(Ue,q[t],t),m},{})}function sanitizeAction(Ue,q,m){return{...q,action:Ue(q.action,m)}}function sanitizeStates(Ue,q){return q.map((m,e)=>({state:sanitizeState(Ue,m.state,e),error:m.error}))}function sanitizeState(Ue,q,m){return Ue(q,m)}function shouldFilterActions(Ue){return Ue.predicate||Ue.actionsSafelist||Ue.actionsBlocklist}function filterLiftedState(Ue,q,m,e){const t=[],_={},E=[];return Ue.stagedActionIds.forEach((s,D)=>{const u=Ue.actionsById[s];!u||D&&isActionFiltered(Ue.computedStates[D],u,q,m,e)||(_[s]=u,t.push(s),E.push(Ue.computedStates[D]))}),{...Ue,stagedActionIds:t,actionsById:_,computedStates:E}}function isActionFiltered(Ue,q,m,e,t){const _=m&&!m(Ue,q.action),E=e&&!q.action.type.match(e.map(D=>escapeRegExp(D)).join("|")),s=t&&q.action.type.match(t.map(D=>escapeRegExp(D)).join("|"));return _||E||s}function escapeRegExp(Ue){return Ue.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}class DevtoolsDispatcher extends _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO{}DevtoolsDispatcher.\u0275fac=function(){let Ue;return function(m){return(Ue||(Ue=_angular_core__WEBPACK_IMPORTED_MODULE_0__.n5z(DevtoolsDispatcher)))(m||DevtoolsDispatcher)}}(),DevtoolsDispatcher.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsDispatcher,factory:DevtoolsDispatcher.\u0275fac});const ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Redux Devtools Extension");class DevtoolsExtension{constructor(Ue,q,m){this.config=q,this.dispatcher=m,this.devtoolsExtension=Ue,this.createActionStreams()}notify(Ue,q){if(this.devtoolsExtension)if(Ue.type===PERFORM_ACTION){if(q.isLocked||q.isPaused)return;const m=unliftState(q);if(shouldFilterActions(this.config)&&isActionFiltered(m,Ue,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;const e=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,m,q.currentStateIndex):m,t=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,Ue,q.nextActionId):Ue;this.sendToReduxDevtools(()=>this.extensionConnection.send(t,e))}else{const m={...q,stagedActionIds:q.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,q.actionsById):q.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,q.computedStates):q.computedStates};this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,m,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new rxjs__WEBPACK_IMPORTED_MODULE_3__.y(Ue=>{const q=this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=q,q.init(),q.subscribe(m=>Ue.next(m)),q.unsubscribe}):rxjs__WEBPACK_IMPORTED_MODULE_2__.E}createActionStreams(){const Ue=this.createChangesObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.B)()),q=Ue.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.START)),m=Ue.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.STOP)),e=Ue.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.DISPATCH),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(s=>this.unwrapAction(s.payload)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.b)(s=>s.type===IMPORT_STATE?this.dispatcher.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(D=>D.type===_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__.V)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__.b)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(()=>s),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.K)(()=>(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(s)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.q)(1)):(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(s))),_=Ue.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.ACTION),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(s=>this.unwrapAction(s.payload))).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m)),E=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m));this.start$=q.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m)),this.actions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>_)),this.liftedActions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>E))}unwrapAction(action){return"string"==typeof action?eval(`(${action})`):action}getExtensionConfig(Ue){const q={name:Ue.name,features:Ue.features,serialize:Ue.serialize,autoPause:Ue.autoPause??!1};return!1!==Ue.maxAge&&(q.maxAge=Ue.maxAge),q}sendToReduxDevtools(Ue){try{Ue()}catch(q){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",q)}}}DevtoolsExtension.\u0275fac=function Ue(q){return new(q||DevtoolsExtension)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(REDUX_DEVTOOLS_EXTENSION),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher))},DevtoolsExtension.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsExtension,factory:DevtoolsExtension.\u0275fac});const INIT_ACTION={type:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(Ue,q,m,e,t){if(e)return{state:m,error:"Interrupted by an error up the chain"};let E,_=m;try{_=Ue(m,q)}catch(s){E=s.toString(),t.handleError(s)}return{state:_,error:E}}function recomputeStates(Ue,q,m,e,t,_,E,s,D){if(q>=Ue.length&&Ue.length===_.length)return Ue;const u=Ue.slice(0,q),k=_.length-(D?1:0);for(let p=q;p-1?P:computeNextEntry(m,A,M,z,s);u.push(W)}return D&&u.push(Ue[Ue.length-1]),u}function liftInitialState(Ue,q){return{monitorState:q(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:Ue,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(Ue,q,m,e,t={}){return _=>(E,s)=>{let{monitorState:D,actionsById:u,nextActionId:k,stagedActionIds:p,skippedActionIds:S,committedState:A,currentStateIndex:P,computedStates:M,isLocked:z,isPaused:I}=E||q;function W(ie){let ae=ie,_e=p.slice(1,ae+1);for(let ce=0;ce<_e.length;ce++){if(M[ce+1].error){ae=ce,_e=p.slice(1,ae+1);break}delete u[_e[ce]]}S=S.filter(ce=>-1===_e.indexOf(ce)),p=[0,...p.slice(ae+1)],A=M[ae].state,M=M.slice(ae),P=P>ae?P-ae:0}function Z(){u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],A=M[P].state,P=0,M=[]}E||(u=Object.create(u));let Q=0;switch(s.type){case LOCK_CHANGES:z=s.status,Q=1/0;break;case PAUSE_RECORDING:I=s.status,I?(p=[...p,k],u[k]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),k++,Q=p.length-1,M=M.concat(M[M.length-1]),P===p.length-2&&P++,Q=1/0):Z();break;case RESET:u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],A=Ue,P=0,M=[];break;case COMMIT:Z();break;case ROLLBACK:u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],P=0,M=[];break;case TOGGLE_ACTION:{const{id:ie}=s;S=-1===S.indexOf(ie)?[ie,...S]:S.filter(_e=>_e!==ie),Q=p.indexOf(ie);break}case SET_ACTIONS_ACTIVE:{const{start:ie,end:ae,active:_e}=s,ce=[];for(let ye=ie;yet.maxAge&&(M=recomputeStates(M,Q,_,A,u,p,S,m,I),W(p.length-t.maxAge),Q=1/0);break;case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb:if(M.filter(ae=>ae.error).length>0)Q=0,t.maxAge&&p.length>t.maxAge&&(M=recomputeStates(M,Q,_,A,u,p,S,m,I),W(p.length-t.maxAge),Q=1/0);else{if(!I&&!z){P===p.length-1&&P++;const ae=k++;u[ae]=new PerformAction(s,+Date.now()),p=[...p,ae],Q=p.length-1,M=recomputeStates(M,Q,_,A,u,p,S,m,I)}M=M.map(ae=>({...ae,state:_(ae.state,RECOMPUTE_ACTION)})),P=p.length-1,t.maxAge&&p.length>t.maxAge&&W(p.length-t.maxAge),Q=1/0}break;default:Q=1/0}return M=recomputeStates(M,Q,_,A,u,p,S,m,I),D=e(D,s),{monitorState:D,actionsById:u,nextActionId:k,stagedActionIds:p,skippedActionIds:S,committedState:A,currentStateIndex:P,computedStates:M,isLocked:z,isPaused:I}}}class StoreDevtools{constructor(q,m,e,t,_,E,s,D){const u=liftInitialState(s,D.monitor),k=liftReducerWith(s,u,E,D.monitor,D),p=(0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)((0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)(m.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_16__.T)(1)),t.actions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(liftAction)),q,t.liftedActions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_17__.Q)(rxjs__WEBPACK_IMPORTED_MODULE_18__.N)),S=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(k)),A=new rxjs__WEBPACK_IMPORTED_MODULE_19__.t(1),P=p.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_20__.M)(S),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_21__.R)(({state:W},[Z,Q])=>{let ie=Q(W,Z);return Z.type!==PERFORM_ACTION&&shouldFilterActions(D)&&(ie=filterLiftedState(ie,D.predicate,D.actionsSafelist,D.actionsBlocklist)),t.notify(Z,ie),{state:ie,action:Z}},{state:u,action:null})).subscribe(({state:W,action:Z})=>{if(A.next(W),Z.type===PERFORM_ACTION){const Q=Z.action;_.next(Q)}}),M=t.start$.subscribe(()=>{this.refresh()}),z=A.asObservable(),I=z.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(unliftState));this.extensionStartSubscription=M,this.stateSubscription=P,this.dispatcher=q,this.liftedState=z,this.state=I}dispatch(q){this.dispatcher.next(q)}next(q){this.dispatcher.next(q)}error(q){}complete(){}performAction(q){this.dispatch(new PerformAction(q,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(q){this.dispatch(new ToggleAction(q))}jumpToAction(q){this.dispatch(new JumpToAction(q))}jumpToState(q){this.dispatch(new JumpToState(q))}importState(q){this.dispatch(new ImportState(q))}lockChanges(q){this.dispatch(new LockChanges(q))}pauseRecording(q){this.dispatch(new PauseRecording(q))}}StoreDevtools.\u0275fac=function Ue(q){return new(q||StoreDevtools)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.n$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsExtension),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_angular_core__WEBPACK_IMPORTED_MODULE_0__.qLn),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y6),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG))},StoreDevtools.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:StoreDevtools,factory:StoreDevtools.\u0275fac});const IS_EXTENSION_OR_MONITOR_PRESENT=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(Ue,q){return Boolean(Ue)||q.monitor!==noMonitor}function createReduxDevtoolsExtension(){const Ue="__REDUX_DEVTOOLS_EXTENSION__";return"object"==typeof window&&typeof window[Ue]<"u"?window[Ue]:null}function provideStoreDevtools(Ue={}){return{\u0275providers:[DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:Ue},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.FR,deps:[StoreDevtools],useFactory:createStateObservable},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.mK,useExisting:DevtoolsDispatcher}]}}function createStateObservable(Ue){return Ue.state}class StoreDevtoolsModule{static instrument(q={}){return{ngModule:StoreDevtoolsModule,providers:[...provideStoreDevtools(q).\u0275providers]}}}StoreDevtoolsModule.\u0275fac=function Ue(q){return new(q||StoreDevtoolsModule)},StoreDevtoolsModule.\u0275mod=_angular_core__WEBPACK_IMPORTED_MODULE_0__.oAB({type:StoreDevtoolsModule}),StoreDevtoolsModule.\u0275inj=_angular_core__WEBPACK_IMPORTED_MODULE_0__.cJS({})},9263:(Ue,q,m)=>{"use strict";m.d(q,{UO:()=>ue,qg:()=>ye,Y6:()=>n,mK:()=>pe,n$:()=>te,Y$:()=>Oe,FR:()=>le,yh:()=>un,CK:()=>qi,Aw:()=>Zi,cr:()=>mi,wb:()=>ee,qC:()=>ht,PH:()=>z,ZF:()=>Tt,Lq:()=>mr,P1:()=>Je,on:()=>Za,Ky:()=>I});var e=m(2560),t=m(6317),_=m(833),E=m(253),s=m(4915),D=m(8728),u=m(538),k=m(4351),p=m(635);var A=m(8977);const P={};function z(It,Ft){if(P[It]=(P[It]||0)+1,"function"==typeof Ft)return Z(It,(...En)=>({...Ft(...En),type:It}));switch(Ft?Ft._as:"empty"){case"empty":return Z(It,()=>({type:It}));case"props":return Z(It,En=>({...En,type:It}));default:throw new Error("Unexpected config.")}}function I(){return{_as:"props",_p:void 0}}function Z(It,Ft){return Object.defineProperty(Ft,"type",{value:It,writable:!1})}const ye="@ngrx/store/init";class ue extends t.X{constructor(){super({type:ye})}next(Ft){if("function"==typeof Ft)throw new TypeError("\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().");if(typeof Ft>"u")throw new TypeError("Actions must be objects");if(typeof Ft.type>"u")throw new TypeError("Actions must have a type property");super.next(Ft)}complete(){}ngOnDestroy(){super.complete()}}ue.\u0275fac=function(Ft){return new(Ft||ue)},ue.\u0275prov=e.Yz7({token:ue,factory:ue.\u0275fac});const $=[ue],he=new e.OlP("@ngrx/store Internal Root Guard"),w=new e.OlP("@ngrx/store Internal Initial State"),n=new e.OlP("@ngrx/store Initial State"),o=new e.OlP("@ngrx/store Reducer Factory"),h=new e.OlP("@ngrx/store Internal Reducer Factory Provider"),d=new e.OlP("@ngrx/store Initial Reducers"),y=new e.OlP("@ngrx/store Internal Initial Reducers"),L=new e.OlP("@ngrx/store Store Features"),B=new e.OlP("@ngrx/store Internal Store Reducers"),v=new e.OlP("@ngrx/store Internal Feature Reducers"),a=new e.OlP("@ngrx/store Internal Feature Configs"),C=new e.OlP("@ngrx/store Internal Store Features"),N=new e.OlP("@ngrx/store Internal Feature Reducers Token"),F=new e.OlP("@ngrx/store Feature Reducers"),X=new e.OlP("@ngrx/store User Provided Meta Reducers"),Fe=new e.OlP("@ngrx/store Meta Reducers"),ke=new e.OlP("@ngrx/store Internal Resolved Meta Reducers"),Ke=new e.OlP("@ngrx/store User Runtime Checks Config"),je=new e.OlP("@ngrx/store Internal User Runtime Checks Config"),Ve=new e.OlP("@ngrx/store Internal Runtime Checks"),xe=new e.OlP("@ngrx/store Check if Action types are unique"),Ze=new e.OlP("@ngrx/store Root Store Provider"),Ie=new e.OlP("@ngrx/store Feature State Provider");function ve(It,Ft={}){const ln=Object.keys(It),En={};for(let Nn=0;NnNn(qn),ln(Ft))}}function Le(It,Ft){return Array.isArray(Ft)&&Ft.length>0&&(It=ht.apply(null,[...Ft,It])),(ln,En)=>{const qn=It(ln);return(Nn,li)=>qn(Nn=void 0===Nn?En:Nn,li)}}class te extends _.y{}class pe extends ue{}const ee="@ngrx/store/update-reducers";class H extends t.X{constructor(Ft,ln,En,qn){super(qn(En,ln)),this.dispatcher=Ft,this.initialState=ln,this.reducers=En,this.reducerFactory=qn}get currentReducers(){return this.reducers}addFeature(Ft){this.addFeatures([Ft])}addFeatures(Ft){const ln=Ft.reduce((En,{reducers:qn,reducerFactory:Nn,metaReducers:li,initialState:aa,key:Ii})=>{const ea="function"==typeof qn?function Ae(It){const Ft=Array.isArray(It)&&It.length>0?ht(...It):ln=>ln;return(ln,En)=>(ln=Ft(ln),(qn,Nn)=>ln(qn=void 0===qn?En:qn,Nn))}(li)(qn,aa):Le(Nn,li)(qn,aa);return En[Ii]=ea,En},{});this.addReducers(ln)}removeFeature(Ft){this.removeFeatures([Ft])}removeFeatures(Ft){this.removeReducers(Ft.map(ln=>ln.key))}addReducer(Ft,ln){this.addReducers({[Ft]:ln})}addReducers(Ft){this.reducers={...this.reducers,...Ft},this.updateReducers(Object.keys(Ft))}removeReducer(Ft){this.removeReducers([Ft])}removeReducers(Ft){Ft.forEach(ln=>{this.reducers=function et(It,Ft){return Object.keys(It).filter(ln=>ln!==Ft).reduce((ln,En)=>Object.assign(ln,{[En]:It[En]}),{})}(this.reducers,ln)}),this.updateReducers(Ft)}updateReducers(Ft){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:ee,features:Ft})}ngOnDestroy(){this.complete()}}H.\u0275fac=function(Ft){return new(Ft||H)(e.LFG(pe),e.LFG(n),e.LFG(d),e.LFG(o))},H.\u0275prov=e.Yz7({token:H,factory:H.\u0275fac});const j=[H,{provide:te,useExisting:H},{provide:pe,useExisting:ue}];class Oe extends E.x{ngOnDestroy(){this.complete()}}Oe.\u0275fac=function(){let It;return function(ln){return(It||(It=e.n5z(Oe)))(ln||Oe)}}(),Oe.\u0275prov=e.Yz7({token:Oe,factory:Oe.\u0275fac});const Re=[Oe];class le extends _.y{}class _t extends t.X{constructor(Ft,ln,En,qn){super(qn);const aa={state:qn},Ii=Ft.pipe((0,D.Q)(s.N)).pipe((0,u.M)(ln)).pipe((0,k.R)(it,aa));this.stateSubscription=Ii.subscribe(({state:ea,action:Di})=>{this.next(ea),En.next(Di)})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}}function it(It={state:void 0},[Ft,ln]){const{state:En}=It;return{state:ln(En,Ft),action:Ft}}_t.INIT=ye,_t.\u0275fac=function(Ft){return new(Ft||_t)(e.LFG(ue),e.LFG(te),e.LFG(Oe),e.LFG(n))},_t.\u0275prov=e.Yz7({token:_t,factory:_t.\u0275fac});const Ct=[_t,{provide:le,useExisting:_t}];class un extends _.y{constructor(Ft,ln,En){super(),this.actionsObserver=ln,this.reducerManager=En,this.source=Ft}select(Ft,...ln){return Ut.call(null,Ft,...ln)(this)}lift(Ft){const ln=new un(this,this.actionsObserver,this.reducerManager);return ln.operator=Ft,ln}dispatch(Ft){this.actionsObserver.next(Ft)}next(Ft){this.actionsObserver.next(Ft)}error(Ft){this.actionsObserver.error(Ft)}complete(){this.actionsObserver.complete()}addReducer(Ft,ln){this.reducerManager.addReducer(Ft,ln)}removeReducer(Ft){this.reducerManager.removeReducer(Ft)}}un.\u0275fac=function(Ft){return new(Ft||un)(e.LFG(le),e.LFG(ue),e.LFG(H))},un.\u0275prov=e.Yz7({token:un,factory:un.\u0275fac});const Bt=[un];function Ut(It,Ft,...ln){return function(qn){let Nn;if("string"==typeof It){const li=[Ft,...ln].filter(Boolean);Nn=qn.pipe(function S(...It){const Ft=It.length;if(0===Ft)throw new Error("list of properties cannot be empty.");return(0,p.U)(ln=>{let En=ln;for(let qn=0;qnIt(li,Ft)))}return Nn.pipe((0,A.x)())}}const yn="https://ngrx.io/guide/store/configuration/runtime-checks";function Xt(It){return void 0===It}function Gt(It){return null===It}function In(It){return Array.isArray(It)}function tt(It){return"object"==typeof It&&null!==It}function dt(It){if(!function vt(It){return tt(It)&&!In(It)}(It))return!1;const Ft=Object.getPrototypeOf(It);return Ft===Object.prototype||null===Ft}function se(It){return"function"==typeof It}let De=!1;function ut(It,Ft){return It===Ft}function ze(It,Ft,ln){for(let En=0;EnDi.release&&"function"==typeof Di.release),aa=It(function(...Di){return Nn.apply(null,Di)}),Ii=Ce(function(Di,Ji){return Ft.stateFn.apply(null,[Di,qn,Ji,aa])});function ea(){Ii.reset(),aa.reset(),li.forEach(Di=>Di.release())}return Object.assign(Ii.memoized,{release:ea,projector:aa.memoized,setResult:Ii.setResult,clearResult:Ii.clearResult})}}(Ce)(...It)}function zt(It,Ft,ln,En){if(void 0===ln){const Nn=Ft.map(li=>li(It));return En.memoized.apply(null,Nn)}const qn=Ft.map(Nn=>Nn(It,ln));return En.memoized.apply(null,[...qn,ln])}function Tt(It){return Je(Ft=>{const ln=Ft[It];return!function Dt(){return De}()&&(0,e.X6Q)()&&!(It in Ft)&&console.warn(`@ngrx/store: The feature name "${It}" does not exist in the state, therefore createFeatureSelector cannot access it. Be sure it is imported in a loaded module using StoreModule.forRoot('${It}', ...) or StoreModule.forFeature('${It}', ...). If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`),ln},Ft=>Ft)}function $t(It,Ft){return Ft instanceof e.OlP?It.get(Ft):Ft}function Rt(It,Ft,ln){return ln.map((En,qn)=>{if(Ft[qn]instanceof e.OlP){const Nn=It.get(Ft[qn]);return{key:En.key,reducerFactory:Nn.reducerFactory?Nn.reducerFactory:ve,metaReducers:Nn.metaReducers?Nn.metaReducers:[],initialState:Nn.initialState}}return En})}function Jt(It,Ft){return Ft.map(En=>En instanceof e.OlP?It.get(En):En)}function Vn(It){return"function"==typeof It?It():It}function zn(It,Ft){return It.concat(Ft)}function Tn(It){if(It)throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");return"guarded"}function Mt(It){Object.freeze(It);const Ft=se(It);return Object.getOwnPropertyNames(It).forEach(ln=>{if(!ln.startsWith("\u0275")&&function oe(It,Ft){return Object.prototype.hasOwnProperty.call(It,Ft)}(It,ln)&&(!Ft||"caller"!==ln&&"callee"!==ln&&"arguments"!==ln)){const En=It[ln];(tt(En)||se(En))&&!Object.isFrozen(En)&&Mt(En)}}),It}function Be(It,Ft=[]){return(Xt(It)||Gt(It))&&0===Ft.length?{path:["root"],value:It}:Object.keys(It).reduce((En,qn)=>{if(En)return En;const Nn=It[qn];return function J(It){return se(It)&&It.hasOwnProperty("\u0275cmp")}(Nn)?En:!(Xt(Nn)||Gt(Nn)||function pn(It){return"number"==typeof It}(Nn)||function tn(It){return"boolean"==typeof It}(Nn)||function rn(It){return"string"==typeof It}(Nn)||In(Nn))&&(dt(Nn)?Be(Nn,[...Ft,qn]):{path:[...Ft,qn],value:Nn})},!1)}function ft(It,Ft){if(!1===It)return;const ln=It.path.join("."),En=new Error(`Detected unserializable ${Ft} at "${ln}". ${yn}#strict${Ft}serializability`);throw En.value=It.value,En.unserializablePath=ln,En}function Te(It){return(0,e.X6Q)()?{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1,...It}:{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function pt({strictActionSerializability:It,strictStateSerializability:Ft}){return ln=>It||Ft?function Ge(It,Ft){return function(ln,En){Ft.action(En)&&ft(Be(En),"action");const qn=It(ln,En);return Ft.state()&&ft(Be(qn),"state"),qn}}(ln,{action:En=>It&&!nn(En),state:()=>Ft}):ln}function Lt({strictActionImmutability:It,strictStateImmutability:Ft}){return ln=>It||Ft?function Yn(It,Ft){return function(ln,En){const qn=Ft.action(En)?Mt(En):En,Nn=It(ln,qn);return Ft.state()?Mt(Nn):Nn}}(ln,{action:En=>It&&!nn(En),state:()=>Ft}):ln}function nn(It){return It.type.startsWith("@ngrx")}function Bn({strictActionWithinNgZone:It}){return Ft=>It?function re(It,Ft){return function(ln,En){if(Ft.action(En)&&!e.R0b.isInAngularZone())throw new Error(`Action '${En.type}' running outside NgZone. ${yn}#strictactionwithinngzone`);return It(ln,En)}}(Ft,{action:ln=>It&&!nn(ln)}):Ft}function Wn(It){return[{provide:je,useValue:It},{provide:Ke,useFactory:Mn,deps:[je]},{provide:Ve,deps:[Ke],useFactory:Te},{provide:Fe,multi:!0,deps:[Ve],useFactory:Lt},{provide:Fe,multi:!0,deps:[Ve],useFactory:pt},{provide:Fe,multi:!0,deps:[Ve],useFactory:Bn}]}function ti(){return[{provide:xe,multi:!0,deps:[Ve],useFactory:Ln}]}function Mn(It){return It}function Ln(It){if(!It.strictActionTypeUniqueness)return;const Ft=Object.entries(P).filter(([,ln])=>ln>1).map(([ln])=>ln);if(Ft.length)throw new Error(`Action types are registered more than once, ${Ft.map(ln=>`"${ln}"`).join(", ")}. ${yn}#strictactiontypeuniqueness`)}function an(It,Ft){return[{provide:he,useFactory:Tn,deps:[[un,new e.FiY,new e.tp0]]},{provide:w,useValue:Ft.initialState},{provide:n,useFactory:Vn,deps:[w]},{provide:y,useValue:It},{provide:B,useExisting:It instanceof e.OlP?It:y},{provide:d,deps:[e.zs3,y,[new e.tBr(B)]],useFactory:$t},{provide:X,useValue:Ft.metaReducers?Ft.metaReducers:[]},{provide:ke,deps:[Fe,X],useFactory:zn},{provide:h,useValue:Ft.reducerFactory?Ft.reducerFactory:ve},{provide:o,deps:[h,ke],useFactory:Le},$,j,Re,Ct,Bt,Wn(Ft.runtimeChecks),ti()]}e.Xts;e.Xts;function ha(It,Ft,ln={}){return[{provide:a,multi:!0,useValue:It instanceof Object?{}:ln},{provide:L,multi:!0,useValue:{key:It instanceof Object?It.name:It,reducerFactory:ln instanceof e.OlP||!ln.reducerFactory?ve:ln.reducerFactory,metaReducers:ln instanceof e.OlP||!ln.metaReducers?[]:ln.metaReducers,initialState:ln instanceof e.OlP||!ln.initialState?void 0:ln.initialState}},{provide:C,deps:[e.zs3,a,L],useFactory:Rt},{provide:v,multi:!0,useValue:It instanceof Object?It.reducer:Ft},{provide:N,multi:!0,useExisting:Ft instanceof e.OlP?Ft:v},{provide:F,multi:!0,deps:[e.zs3,v,[new e.tBr(N)]],useFactory:Jt},ti()]}class mi{constructor(Ft,ln,En,qn,Nn,li){}}mi.\u0275fac=function(Ft){return new(Ft||mi)(e.LFG(ue),e.LFG(te),e.LFG(Oe),e.LFG(un),e.LFG(he,8),e.LFG(xe,8))},mi.\u0275mod=e.oAB({type:mi}),mi.\u0275inj=e.cJS({});class qi{constructor(Ft,ln,En,qn,Nn){this.features=Ft,this.featureReducers=ln,this.reducerManager=En;const li=Ft.map((aa,Ii)=>{const Di=ln.shift()[Ii];return{...aa,reducers:Di,initialState:Vn(aa.initialState)}});En.addFeatures(li)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}}qi.\u0275fac=function(Ft){return new(Ft||qi)(e.LFG(C),e.LFG(F),e.LFG(H),e.LFG(mi),e.LFG(xe,8))},qi.\u0275mod=e.oAB({type:qi}),qi.\u0275inj=e.cJS({});class Zi{static forRoot(Ft,ln={}){return{ngModule:mi,providers:[...an(Ft,ln)]}}static forFeature(Ft,ln,En={}){return{ngModule:qi,providers:[...ha(Ft,ln,En)]}}}function Za(...It){return{reducer:It.pop(),types:It.map(En=>En.type)}}function mr(It,...Ft){const ln=new Map;for(const En of Ft)for(const qn of En.types){const Nn=ln.get(qn);if(Nn){const li=(aa,Ii)=>En.reducer(Nn(aa,Ii),Ii);ln.set(qn,li)}else ln.set(qn,En.reducer)}return function(En=It,qn){const Nn=ln.get(qn.type);return Nn?Nn(En,qn):En}}Zi.\u0275fac=function(Ft){return new(Ft||Zi)},Zi.\u0275mod=e.oAB({type:Zi}),Zi.\u0275inj=e.cJS({})},8182:(Ue,q,m)=>{"use strict";m.d(q,{H5:()=>g2,K$:()=>m2,a4:()=>qd});var e=m(2560),t=m(4666),_=m(4929),E=m(7520),s=m(3280),D=m(1989),u=m(4851);function k(){}function p(f){return null==f?k:function(){return this.querySelector(f)}}function A(f){return"object"==typeof f&&"length"in f?f:Array.from(f)}function P(){return[]}function M(f){return null==f?P:function(){return this.querySelectorAll(f)}}function W(f){return function(){return this.matches(f)}}function Z(f){return function(r){return r.matches(f)}}var Q=Array.prototype.find;function ae(){return this.firstElementChild}var ce=Array.prototype.filter;function ye(){return this.children}function w(f){return new Array(f.length)}function o(f,r){this.ownerDocument=f.ownerDocument,this.namespaceURI=f.namespaceURI,this._next=null,this._parent=f,this.__data__=r}function h(f){return function(){return f}}function d(f,r,i,b,R,Y){for(var Pe,me=0,lt=r.length,gt=Y.length;mer?1:f>=r?0:NaN}o.prototype={constructor:o,appendChild:function(f){return this._parent.insertBefore(f,this._next)},insertBefore:function(f,r){return this._parent.insertBefore(f,r)},querySelector:function(f){return this._parent.querySelector(f)},querySelectorAll:function(f){return this._parent.querySelectorAll(f)}};var Ze="http://www.w3.org/1999/xhtml";const Ie={svg:"http://www.w3.org/2000/svg",xhtml:Ze,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ve(f){var r=f+="",i=r.indexOf(":");return i>=0&&"xmlns"!==(r=f.slice(0,i))&&(f=f.slice(i+1)),Ie.hasOwnProperty(r)?{space:Ie[r],local:f}:f}function et(f){return function(){this.removeAttribute(f)}}function ht(f){return function(){this.removeAttributeNS(f.space,f.local)}}function Le(f,r){return function(){this.setAttribute(f,r)}}function Ae(f,r){return function(){this.setAttributeNS(f.space,f.local,r)}}function te(f,r){return function(){var i=r.apply(this,arguments);null==i?this.removeAttribute(f):this.setAttribute(f,i)}}function pe(f,r){return function(){var i=r.apply(this,arguments);null==i?this.removeAttributeNS(f.space,f.local):this.setAttributeNS(f.space,f.local,i)}}function H(f){return f.ownerDocument&&f.ownerDocument.defaultView||f.document&&f||f.defaultView}function j(f){return function(){this.style.removeProperty(f)}}function Oe(f,r,i){return function(){this.style.setProperty(f,r,i)}}function Re(f,r,i){return function(){var b=r.apply(this,arguments);null==b?this.style.removeProperty(f):this.style.setProperty(f,b,i)}}function _t(f,r){return f.style.getPropertyValue(r)||H(f).getComputedStyle(f,null).getPropertyValue(r)}function it(f){return function(){delete this[f]}}function Ct(f,r){return function(){this[f]=r}}function un(f,r){return function(){var i=r.apply(this,arguments);null==i?delete this[f]:this[f]=i}}function Ut(f){return f.trim().split(/^|\s+/)}function yn(f){return f.classList||new Xt(f)}function Xt(f){this._node=f,this._names=Ut(f.getAttribute("class")||"")}function Gt(f,r){for(var i=yn(f),b=-1,R=r.length;++b=0&&(i=r.slice(b+1),r=r.slice(0,b)),{type:r,name:i}})}function Mt(f){return function(){var r=this.__on;if(r){for(var Y,i=0,b=-1,R=r.length;i=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(f){return this._names.indexOf(f)>=0}};var nn=[null];function Bn(f,r){this._groups=f,this._parents=r}function Wn(){return new Bn([[document.documentElement]],nn)}Bn.prototype=Wn.prototype={constructor:Bn,select:function S(f){"function"!=typeof f&&(f=p(f));for(var r=this._groups,i=r.length,b=new Array(i),R=0;R=$n&&($n=ni+1);!(gi=_n[$n])&&++$n=0;)(me=b[R])&&(Y&&4^me.compareDocumentPosition(Y)&&Y.parentNode.insertBefore(me,Y),Y=me);return this},sort:function F(f){function r(Zt,St){return Zt&&St?f(Zt.__data__,St.__data__):!Zt-!St}f||(f=X);for(var i=this._groups,b=i.length,R=new Array(b),Y=0;Y1?this.each((null==r?j:"function"==typeof r?Re:Oe)(f,r,i??"")):_t(this.node(),f)},property:function Bt(f,r){return arguments.length>1?this.each((null==r?it:"function"==typeof r?un:Ct)(f,r)):this.node()[f]},classed:function tt(f,r){var i=Ut(f+"");if(arguments.length<2){for(var b=yn(this.node()),R=-1,Y=i.length;++R{}};function an(){for(var b,f=0,r=arguments.length,i={};f=0&&(b=i.slice(R+1),i=i.slice(0,R)),i&&!r.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:b}})}function gn(f,r){for(var R,i=0,b=f.length;i0)for(var R,Y,i=new Array(R),b=0;b>8&15|r>>4&240,r>>4&15|240&r,(15&r)<<4|15&r,1):8===i?fa(r>>24&255,r>>16&255,r>>8&255,(255&r)/255):4===i?fa(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|240&r,((15&r)<<4|15&r)/255):null):(r=aa.exec(f))?new ra(r[1],r[2],r[3],1):(r=Ii.exec(f))?new ra(255*r[1]/100,255*r[2]/100,255*r[3]/100,1):(r=ea.exec(f))?fa(r[1],r[2],r[3],r[4]):(r=Di.exec(f))?fa(255*r[1]/100,255*r[2]/100,255*r[3]/100,r[4]):(r=Ji.exec(f))?is(r[1],r[2]/100,r[3]/100,1):(r=ka.exec(f))?is(r[1],r[2]/100,r[3]/100,r[4]):Yi.hasOwnProperty(f)?Sa(Yi[f]):"transparent"===f?new ra(NaN,NaN,NaN,0):null}function Sa(f){return new ra(f>>16&255,f>>8&255,255&f,1)}function fa(f,r,i,b){return b<=0&&(f=r=i=NaN),new ra(f,r,i,b)}function Ki(f){return f instanceof It||(f=gr(f)),f?new ra((f=f.rgb()).r,f.g,f.b,f.opacity):new ra}function xa(f,r,i,b){return 1===arguments.length?Ki(f):new ra(f,r,i,b??1)}function ra(f,r,i,b){this.r=+f,this.g=+r,this.b=+i,this.opacity=+b}function fo(){return"#"+js(this.r)+js(this.g)+js(this.b)}function za(){var f=this.opacity;return(1===(f=isNaN(f)?1:Math.max(0,Math.min(1,f)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===f?")":", "+f+")")}function js(f){return((f=Math.max(0,Math.min(255,Math.round(f)||0)))<16?"0":"")+f.toString(16)}function is(f,r,i,b){return b<=0?f=r=i=NaN:i<=0||i>=1?f=r=NaN:r<=0&&(f=NaN),new Ta(f,r,i,b)}function Qi(f){if(f instanceof Ta)return new Ta(f.h,f.s,f.l,f.opacity);if(f instanceof It||(f=gr(f)),!f)return new Ta;if(f instanceof Ta)return f;var r=(f=f.rgb()).r/255,i=f.g/255,b=f.b/255,R=Math.min(r,i,b),Y=Math.max(r,i,b),me=NaN,Pe=Y-R,lt=(Y+R)/2;return Pe?(me=r===Y?(i-b)/Pe+6*(i0&<<1?0:me,new Ta(me,Pe,lt,f.opacity)}function Ta(f,r,i,b){this.h=+f,this.s=+r,this.l=+i,this.opacity=+b}function Is(f,r,i){return 255*(f<60?r+(i-r)*f/60:f<180?i:f<240?r+(i-r)*(240-f)/60:r)}function Ua(f,r,i,b,R){var Y=f*f,me=Y*f;return((1-3*f+3*Y-me)*r+(4-6*Y+3*me)*i+(1+3*f+3*Y-3*me)*b+me*R)/6}Za(It,gr,{copy:function(f){return Object.assign(new this.constructor,this,f)},displayable:function(){return this.rgb().displayable()},hex:Ha,formatHex:Ha,formatHsl:function Hi(){return Qi(this).formatHsl()},formatRgb:La,toString:La}),Za(ra,xa,mr(It,{brighter:function(f){return f=null==f?ln:Math.pow(ln,f),new ra(this.r*f,this.g*f,this.b*f,this.opacity)},darker:function(f){return f=null==f?.7:Math.pow(.7,f),new ra(this.r*f,this.g*f,this.b*f,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:fo,formatHex:fo,formatRgb:za,toString:za})),Za(Ta,function Gr(f,r,i,b){return 1===arguments.length?Qi(f):new Ta(f,r,i,b??1)},mr(It,{brighter:function(f){return f=null==f?ln:Math.pow(ln,f),new Ta(this.h,this.s,this.l*f,this.opacity)},darker:function(f){return f=null==f?.7:Math.pow(.7,f),new Ta(this.h,this.s,this.l*f,this.opacity)},rgb:function(){var f=this.h%360+360*(this.h<0),r=isNaN(f)||isNaN(this.s)?0:this.s,i=this.l,b=i+(i<.5?i:1-i)*r,R=2*i-b;return new ra(Is(f>=240?f-240:f+120,R,b),Is(f,R,b),Is(f<120?f+240:f-120,R,b),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var f=this.opacity;return(1===(f=isNaN(f)?1:Math.max(0,Math.min(1,f)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===f?")":", "+f+")")}}));const vr=f=>()=>f;function Or(f,r){return function(i){return f+i*r}}function nr(f){return 1==(f=+f)?Pr:function(r,i){return i-r?function qs(f,r,i){return f=Math.pow(f,i),r=Math.pow(r,i)-f,i=1/i,function(b){return Math.pow(f+b*r,i)}}(r,i,f):vr(isNaN(r)?i:r)}}function Pr(f,r){var i=r-f;return i?Or(f,i):vr(isNaN(f)?r:f)}const Xs=function f(r){var i=nr(r);function b(R,Y){var me=i((R=xa(R)).r,(Y=xa(Y)).r),Pe=i(R.g,Y.g),lt=i(R.b,Y.b),gt=Pr(R.opacity,Y.opacity);return function(Et){return R.r=me(Et),R.g=Pe(Et),R.b=lt(Et),R.opacity=gt(Et),R+""}}return b.gamma=f,b}(1);function pa(f){return function(r){var me,Pe,i=r.length,b=new Array(i),R=new Array(i),Y=new Array(i);for(me=0;me=1?(i=1,r-1):Math.floor(i*r),R=f[b],Y=f[b+1],me=b>0?f[b-1]:2*R-Y,Pe=bi&&(Y=r.slice(i,Y),Pe[me]?Pe[me]+=Y:Pe[++me]=Y),(b=b[0])===(R=R[0])?Pe[me]?Pe[me]+=R:Pe[++me]=R:(Pe[++me]=null,lt.push({i:me,x:$a(b,R)})),i=ir.lastIndex;return i=0&&f._call.call(null,r),f=f._next;--ri}()}finally{ri=0,function Ti(){for(var f,i,r=la,b=1/0;r;)r._call?(b>r._time&&(b=r._time),f=r,r=r._next):(i=r._next,r._next=null,r=f?f._next=i:la=i);Li=f,rr(b)}(),Rr=0}}function Pn(){var f=ca.now(),r=f-rs;r>1e3&&(Zr-=r,rs=f)}function rr(f){ri||(Bi&&(Bi=clearTimeout(Bi)),f-Rr>24?(f<1/0&&(Bi=setTimeout(Yt,f-ca.now()-Zr)),Xi&&(Xi=clearInterval(Xi))):(Xi||(rs=ca.now(),Xi=setInterval(Pn,1e3)),ri=1,si(Yt)))}function gs(f,r,i){var b=new bt;return r=null==r?0:+r,b.restart(R=>{b.stop(),f(R+r)},r,i),b}bt.prototype=be.prototype={constructor:bt,restart:function(f,r,i){if("function"!=typeof f)throw new TypeError("callback is not a function");i=(null==i?ar():+i)+(null==r?0:+r),!this._next&&Li!==this&&(Li?Li._next=this:la=this,Li=this),this._call=f,this._time=i,rr()},stop:function(){this._call&&(this._call=null,this._time=1/0,rr())}};var Oo=Ei("start","end","cancel","interrupt"),$s=[];function Br(f,r,i,b,R,Y){var me=f.__transition;if(me){if(i in me)return}else f.__transition={};!function Hn(f,r,i){var R,b=f.__transition;function Y(gt){i.state=1,i.timer.restart(me,i.delay,i.time),i.delay<=gt&&me(gt-i.delay)}function me(gt){var Et,Zt,St,vn;if(1!==i.state)return lt();for(Et in b)if((vn=b[Et]).name===i.name){if(3===vn.state)return gs(me);4===vn.state?(vn.state=6,vn.timer.stop(),vn.on.call("interrupt",f,f.__data__,vn.index,vn.group),delete b[Et]):+Et0)throw new Error("too late; already scheduled");return i}function Ba(f,r){var i=$i(f,r);if(i.state>3)throw new Error("too late; already running");return i}function $i(f,r){var i=f.__transition;if(!i||!(i=i[r]))throw new Error("transition not found");return i}function vs(f,r){var b,R,me,i=f.__transition,Y=!0;if(i){for(me in r=null==r?null:r+"",i)(b=i[me]).name===r?(R=b.state>2&&b.state<5,b.state=6,b.timer.stop(),b.on.call(R?"interrupt":"cancel",f,f.__data__,b.index,b.group),delete i[me]):Y=!1;Y&&delete f.__transition}}var ss,Gn=180/Math.PI,Hs={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Wa(f,r,i,b,R,Y){var me,Pe,lt;return(me=Math.sqrt(f*f+r*r))&&(f/=me,r/=me),(lt=f*i+r*b)&&(i-=f*lt,b-=r*lt),(Pe=Math.sqrt(i*i+b*b))&&(i/=Pe,b/=Pe,lt/=Pe),f*b180?Et+=360:Et-gt>180&&(gt+=360),St.push({i:Zt.push(R(Zt)+"rotate(",null,b)-2,x:$a(gt,Et)})):Et&&Zt.push(R(Zt)+"rotate("+Et+b)}(gt.rotate,Et.rotate,Zt,St),function Pe(gt,Et,Zt,St){gt!==Et?St.push({i:Zt.push(R(Zt)+"skewX(",null,b)-2,x:$a(gt,Et)}):Et&&Zt.push(R(Zt)+"skewX("+Et+b)}(gt.skewX,Et.skewX,Zt,St),function lt(gt,Et,Zt,St,vn,wn){if(gt!==Zt||Et!==St){var Zn=vn.push(R(vn)+"scale(",null,",",null,")");wn.push({i:Zn-4,x:$a(gt,Zt)},{i:Zn-2,x:$a(Et,St)})}else(1!==Zt||1!==St)&&vn.push(R(vn)+"scale("+Zt+","+St+")")}(gt.scaleX,gt.scaleY,Et.scaleX,Et.scaleY,Zt,St),gt=Et=null,function(vn){for(var _n,wn=-1,Zn=St.length;++wn=0&&(r=r.slice(0,i)),!r||"start"===r})}(r)?_o:Ba;return function(){var me=Y(this,f),Pe=me.on;Pe!==b&&(R=(b=Pe).copy()).on(r,i),me.on=R}}var Si=Mn.prototype.constructor;function Qr(f){return function(){this.style.removeProperty(f)}}function Na(f,r,i){return function(b){this.style.setProperty(f,r.call(this,b),i)}}function mo(f,r,i){var b,R;function Y(){var me=r.apply(this,arguments);return me!==R&&(b=(R=me)&&Na(f,me,i)),b}return Y._value=r,Y}function Dr(f){return function(r){this.textContent=f.call(this,r)}}function lc(f){var r,i;function b(){var R=f.apply(this,arguments);return R!==i&&(r=(i=R)&&Dr(R)),r}return b._value=f,b}var S1=0;function or(f,r,i,b){this._groups=f,this._parents=r,this._name=i,this._id=b}function Mo(){return++S1}var vo=Mn.prototype;or.prototype=function _l(f){return Mn().transition(f)}.prototype={constructor:or,select:function oi(f){var r=this._name,i=this._id;"function"!=typeof f&&(f=p(f));for(var b=this._groups,R=b.length,Y=new Array(R),me=0;me()=>f;function io(f,{sourceEvent:r,target:i,selection:b,mode:R,dispatch:Y}){Object.defineProperties(this,{type:{value:f,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},selection:{value:b,enumerable:!0,configurable:!0},mode:{value:R,enumerable:!0,configurable:!0},_:{value:Y}})}function vl(f){f.stopImmediatePropagation()}function dc(f){f.preventDefault(),f.stopImmediatePropagation()}var R1={name:"drag"},Gc={name:"space"},ao={name:"handle"},Eo={name:"center"};const{abs:jo,max:Nr,min:Ar}=Math;function P2(f){return[+f[0],+f[1]]}function yl(f){return[P2(f[0]),P2(f[1])]}var Bo={name:"x",handles:["w","e"].map(va),input:function(f,r){return null==f?null:[[+f[0],r[0][1]],[+f[1],r[1][1]]]},output:function(f){return f&&[f[0][0],f[1][0]]}},ro={name:"y",handles:["n","s"].map(va),input:function(f,r){return null==f?null:[[r[0][0],+f[0]],[r[1][0],+f[1]]]},output:function(f){return f&&[f[0][1],f[1][1]]}},cs=(["n","w","e","s","nw","ne","sw","se"].map(va),{overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"}),Zc={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Do={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},qo={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},B1={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function va(f){return{type:f}}function vu(f){return!f.ctrlKey&&!f.button}function Yc(){var f=this.ownerSVGElement||this;return f.hasAttribute("viewBox")?[[(f=f.viewBox.baseVal).x,f.y],[f.x+f.width,f.y+f.height]]:[[0,0],[f.width.baseVal.value,f.height.baseVal.value]]}function we(){return navigator.maxTouchPoints||"ontouchstart"in this}function ne(f){for(;!f.__brush;)if(!(f=f.parentNode))return;return f.__brush}function Ee(f){return f[0][0]===f[1][0]||f[0][1]===f[1][1]}function mn(f){var Pe,r=Yc,i=vu,b=we,R=!0,Y=Ei("start","brush","end"),me=6;function lt(_n){var jn=_n.property("__brush",Zn).selectAll(".overlay").data([va("overlay")]);jn.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",cs.overlay).merge(jn).each(function(){var $n=ne(this).extent;Ln(this).attr("x",$n[0][0]).attr("y",$n[0][1]).attr("width",$n[1][0]-$n[0][0]).attr("height",$n[1][1]-$n[0][1])}),_n.selectAll(".selection").data([va("selection")]).enter().append("rect").attr("class","selection").attr("cursor",cs.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var ni=_n.selectAll(".handle").data(f.handles,function($n){return $n.type});ni.exit().remove(),ni.enter().append("rect").attr("class",function($n){return"handle handle--"+$n.type}).attr("cursor",function($n){return cs[$n.type]}),_n.each(gt).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",St).filter(b).on("touchstart.brush",St).on("touchmove.brush",vn).on("touchend.brush touchcancel.brush",wn).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function gt(){var _n=Ln(this),jn=ne(this).selection;jn?(_n.selectAll(".selection").style("display",null).attr("x",jn[0][0]).attr("y",jn[0][1]).attr("width",jn[1][0]-jn[0][0]).attr("height",jn[1][1]-jn[0][1]),_n.selectAll(".handle").style("display",null).attr("x",function(ni){return"e"===ni.type[ni.type.length-1]?jn[1][0]-me/2:jn[0][0]-me/2}).attr("y",function(ni){return"s"===ni.type[0]?jn[1][1]-me/2:jn[0][1]-me/2}).attr("width",function(ni){return"n"===ni.type||"s"===ni.type?jn[1][0]-jn[0][0]+me:me}).attr("height",function(ni){return"e"===ni.type||"w"===ni.type?jn[1][1]-jn[0][1]+me:me})):_n.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function Et(_n,jn,ni){var $n=_n.__brush.emitter;return!$n||ni&&$n.clean?new Zt(_n,jn,ni):$n}function Zt(_n,jn,ni){this.that=_n,this.args=jn,this.state=_n.__brush,this.active=0,this.clean=ni}function St(_n){if((!Pe||_n.touches)&&i.apply(this,arguments)){var ma,yi,bi,ba,ua,Pa,Aa,_r,Ol,Pl,Ko,jn=this,ni=_n.target.__data__.type,$n="selection"===(R&&_n.metaKey?ni="overlay":ni)?R1:R&&_n.altKey?Eo:ao,_i=f===ro?null:qo[ni],gi=f===Bo?null:B1[ni],ci=ne(jn),Da=ci.extent,ia=ci.selection,qa=Da[0][0],Ai=Da[0][1],Vr=Da[1][0],_s=Da[1][1],tr=0,dr=0,Ts=_i&&gi&&R&&_n.shiftKey,ns=Array.from(_n.touches||[_n],Gi=>{const Wr=Gi.identifier;return(Gi=Fn(Gi,jn)).point0=Gi.slice(),Gi.identifier=Wr,Gi});if("overlay"===ni){ia&&(Ol=!0);const Gi=[ns[0],ns[1]||ns[0]];ci.selection=ia=[[ma=f===ro?qa:Ar(Gi[0][0],Gi[1][0]),bi=f===Bo?Ai:Ar(Gi[0][1],Gi[1][1])],[ua=f===ro?Vr:Nr(Gi[0][0],Gi[1][0]),Aa=f===Bo?_s:Nr(Gi[0][1],Gi[1][1])]],ns.length>1&&Sr()}else ma=ia[0][0],bi=ia[0][1],ua=ia[1][0],Aa=ia[1][1];yi=ma,ba=bi,Pa=ua,_r=Aa;var zc=Ln(jn).attr("pointer-events","none"),pi=zc.selectAll(".overlay").attr("cursor",cs[ni]);vs(jn);var Wi=Et(jn,arguments,!0).beforestart();if(_n.touches)Wi.moved=ei,Wi.ended=Xa;else{var ga=Ln(_n.view).on("mousemove.brush",ei,!0).on("mouseup.brush",Xa,!0);R&&ga.on("keydown.brush",Qs,!0).on("keyup.brush",Lo,!0),qi(_n.view)}gt.call(jn),Wi.start(_n,$n.name)}function ei(Gi){for(const Wr of Gi.changedTouches||[Gi])for(const pu of ns)pu.identifier===Wr.identifier&&(pu.cur=Fn(Wr,jn));if(Ts&&!Pl&&!Ko&&1===ns.length){const Wr=ns[0];jo(Wr.cur[0]-Wr[0])>jo(Wr.cur[1]-Wr[1])?Ko=!0:Pl=!0}for(const Wr of ns)Wr.cur&&(Wr[0]=Wr.cur[0],Wr[1]=Wr.cur[1]);Ol=!0,dc(Gi),Sr(Gi)}function Sr(Gi){const Wr=ns[0],pu=Wr.point0;var T2;switch(tr=Wr[0]-pu[0],dr=Wr[1]-pu[1],$n){case Gc:case R1:_i&&(tr=Nr(qa-ma,Ar(Vr-ua,tr)),yi=ma+tr,Pa=ua+tr),gi&&(dr=Nr(Ai-bi,Ar(_s-Aa,dr)),ba=bi+dr,_r=Aa+dr);break;case ao:ns[1]?(_i&&(yi=Nr(qa,Ar(Vr,ns[0][0])),Pa=Nr(qa,Ar(Vr,ns[1][0])),_i=1),gi&&(ba=Nr(Ai,Ar(_s,ns[0][1])),_r=Nr(Ai,Ar(_s,ns[1][1])),gi=1)):(_i<0?(tr=Nr(qa-ma,Ar(Vr-ma,tr)),yi=ma+tr,Pa=ua):_i>0&&(tr=Nr(qa-ua,Ar(Vr-ua,tr)),yi=ma,Pa=ua+tr),gi<0?(dr=Nr(Ai-bi,Ar(_s-bi,dr)),ba=bi+dr,_r=Aa):gi>0&&(dr=Nr(Ai-Aa,Ar(_s-Aa,dr)),ba=bi,_r=Aa+dr));break;case Eo:_i&&(yi=Nr(qa,Ar(Vr,ma-tr*_i)),Pa=Nr(qa,Ar(Vr,ua+tr*_i))),gi&&(ba=Nr(Ai,Ar(_s,bi-dr*gi)),_r=Nr(Ai,Ar(_s,Aa+dr*gi)))}Pa0&&(ma=yi-tr),gi<0?Aa=_r-dr:gi>0&&(bi=ba-dr),$n=Gc,pi.attr("cursor",cs.selection),Sr());break;default:return}dc(Gi)}function Lo(Gi){switch(Gi.keyCode){case 16:Ts&&(Pl=Ko=Ts=!1,Sr());break;case 18:$n===Eo&&(_i<0?ua=Pa:_i>0&&(ma=yi),gi<0?Aa=_r:gi>0&&(bi=ba),$n=ao,Sr());break;case 32:$n===Gc&&(Gi.altKey?(_i&&(ua=Pa-tr*_i,ma=yi+tr*_i),gi&&(Aa=_r-dr*gi,bi=ba+dr*gi),$n=Eo):(_i<0?ua=Pa:_i>0&&(ma=yi),gi<0?Aa=_r:gi>0&&(bi=ba),$n=ao),pi.attr("cursor",cs[ni]),Sr());break;default:return}dc(Gi)}}function vn(_n){Et(this,arguments).moved(_n)}function wn(_n){Et(this,arguments).ended(_n)}function Zn(){var _n=this.__brush||{selection:null};return _n.extent=yl(r.apply(this,arguments)),_n.dim=f,_n}return lt.move=function(_n,jn){_n.tween?_n.on("start.brush",function(ni){Et(this,arguments).beforestart().start(ni)}).on("interrupt.brush end.brush",function(ni){Et(this,arguments).end(ni)}).tween("brush",function(){var ni=this,$n=ni.__brush,_i=Et(ni,arguments),gi=$n.selection,ci=f.input("function"==typeof jn?jn.apply(this,arguments):jn,$n.extent),Da=xt(gi,ci);function ia(qa){$n.selection=1===qa&&null===ci?null:Da(qa),gt.call(ni),_i.brush()}return null!==gi&&null!==ci?ia:ia(1)}):_n.each(function(){var ni=this,$n=arguments,_i=ni.__brush,gi=f.input("function"==typeof jn?jn.apply(ni,$n):jn,_i.extent),ci=Et(ni,$n).beforestart();vs(ni),_i.selection=null===gi?null:gi,gt.call(ni),ci.start().brush().end()})},lt.clear=function(_n){lt.move(_n,null)},Zt.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(_n,jn){return this.starting?(this.starting=!1,this.emit("start",_n,jn)):this.emit("brush",_n),this},brush:function(_n,jn){return this.emit("brush",_n,jn),this},end:function(_n,jn){return 0==--this.active&&(delete this.state.emitter,this.emit("end",_n,jn)),this},emit:function(_n,jn,ni){var $n=Ln(this.that).datum();Y.call(_n,this.that,new io(_n,{sourceEvent:jn,target:lt,selection:f.output(this.state.selection),mode:ni,dispatch:Y}),$n)}},lt.extent=function(_n){return arguments.length?(r="function"==typeof _n?_n:Qo(yl(_n)),lt):r},lt.filter=function(_n){return arguments.length?(i="function"==typeof _n?_n:Qo(!!_n),lt):i},lt.touchable=function(_n){return arguments.length?(b="function"==typeof _n?_n:Qo(!!_n),lt):b},lt.handleSize=function(_n){return arguments.length?(me=+_n,lt):me},lt.keyModifiers=function(_n){return arguments.length?(R=!!_n,lt):R},lt.on=function(){var _n=Y.on.apply(Y,arguments);return _n===Y?lt:_n},lt}function Dn(f,r){return fr?1:f>=r?0:NaN}function Rn(f){let r=f,i=f;function b(me,Pe,lt,gt){for(null==lt&&(lt=0),null==gt&&(gt=me.length);lt>>1;i(me[Et],Pe)<0?lt=Et+1:gt=Et}return lt}return 1===f.length&&(r=(me,Pe)=>f(me)-Pe,i=function di(f){return(r,i)=>Dn(f(r),i)}(f)),{left:b,center:function Y(me,Pe,lt,gt){null==lt&&(lt=0),null==gt&&(gt=me.length);const Et=b(me,Pe,lt,gt-1);return Et>lt&&r(me[Et-1],Pe)>-r(me[Et],Pe)?Et-1:Et},right:function R(me,Pe,lt,gt){for(null==lt&&(lt=0),null==gt&&(gt=me.length);lt>>1;i(me[Et],Pe)>0?gt=Et:lt=Et+1}return lt}}}var ta=Math.sqrt(50),Ea=Math.sqrt(10),zi=Math.sqrt(2);function so(f,r,i){var b=(r-f)/Math.max(0,i),R=Math.floor(Math.log(b)/Math.LN10),Y=b/Math.pow(10,R);return R>=0?(Y>=ta?10:Y>=Ea?5:Y>=zi?2:1)*Math.pow(10,R):-Math.pow(10,-R)/(Y>=ta?10:Y>=Ea?5:Y>=zi?2:1)}function ds(f,r,i){var b=Math.abs(r-f)/Math.max(0,i),R=Math.pow(10,Math.floor(Math.log(b)/Math.LN10)),Y=b/R;return Y>=ta?R*=10:Y>=Ea?R*=5:Y>=zi&&(R*=2),r0))return lt;do{lt.push(gt=new Date(+Y)),r(Y,Pe),f(Y)}while(gt=me)for(;f(me),!Y(me);)me.setTime(me-1)},function(me,Pe){if(me>=me)if(Pe<0)for(;++Pe<=0;)for(;r(me,-1),!Y(me););else for(;--Pe>=0;)for(;r(me,1),!Y(me););})},i&&(R.count=function(Y,me){return Cs.setTime(+Y),Nl.setTime(+me),f(Cs),f(Nl),Math.floor(i(Cs,Nl))},R.every=function(Y){return Y=Math.floor(Y),isFinite(Y)&&Y>0?Y>1?R.filter(b?function(me){return b(me)%Y==0}:function(me){return R.count(0,me)%Y==0}):R:null}),R}var Fl=lr(function(){},function(f,r){f.setTime(+f+r)},function(f,r){return r-f});Fl.every=function(f){return f=Math.floor(f),isFinite(f)&&f>0?f>1?lr(function(r){r.setTime(Math.floor(r/f)*f)},function(r,i){r.setTime(+r+i*f)},function(r,i){return(i-r)/f}):Fl:null};const R2=Fl;Fl.range;var e0=lr(function(f){f.setTime(f-f.getMilliseconds())},function(f,r){f.setTime(+f+r*Us)},function(f,r){return(r-f)/Us},function(f){return f.getUTCSeconds()});const Hl=e0;e0.range;var bu=lr(function(f){f.setTime(f-f.getMilliseconds()-f.getSeconds()*Us)},function(f,r){f.setTime(+f+r*xs)},function(f,r){return(r-f)/xs},function(f){return f.getMinutes()});const xu=bu;bu.range;var N1=lr(function(f){f.setTime(f-f.getMilliseconds()-f.getSeconds()*Us-f.getMinutes()*xs)},function(f,r){f.setTime(+f+r*No)},function(f,r){return(r-f)/No},function(f){return f.getHours()});const jc=N1;N1.range;var qc=lr(f=>f.setHours(0,0,0,0),(f,r)=>f.setDate(f.getDate()+r),(f,r)=>(r-f-(r.getTimezoneOffset()-f.getTimezoneOffset())*xs)/uc,f=>f.getDate()-1);const bl=qc;qc.range;function zl(f){return lr(function(r){r.setDate(r.getDate()-(r.getDay()+7-f)%7),r.setHours(0,0,0,0)},function(r,i){r.setDate(r.getDate()+7*i)},function(r,i){return(i-r-(i.getTimezoneOffset()-r.getTimezoneOffset())*xs)/yu})}var Ul=zl(0),hc=zl(1),Mu=zl(2),u3=zl(3),Xc=zl(4),xl=zl(5),F1=zl(6),Eu=(Ul.range,hc.range,Mu.range,u3.range,Xc.range,xl.range,F1.range,lr(function(f){f.setDate(1),f.setHours(0,0,0,0)},function(f,r){f.setMonth(f.getMonth()+r)},function(f,r){return r.getMonth()-f.getMonth()+12*(r.getFullYear()-f.getFullYear())},function(f){return f.getMonth()}));const Vl=Eu;Eu.range;var t0=lr(function(f){f.setMonth(0,1),f.setHours(0,0,0,0)},function(f,r){f.setFullYear(f.getFullYear()+r)},function(f,r){return r.getFullYear()-f.getFullYear()},function(f){return f.getFullYear()});t0.every=function(f){return isFinite(f=Math.floor(f))&&f>0?lr(function(r){r.setFullYear(Math.floor(r.getFullYear()/f)*f),r.setMonth(0,1),r.setHours(0,0,0,0)},function(r,i){r.setFullYear(r.getFullYear()+i*f)}):null};const Wl=t0;t0.range;var fc=lr(function(f){f.setUTCSeconds(0,0)},function(f,r){f.setTime(+f+r*xs)},function(f,r){return(r-f)/xs},function(f){return f.getUTCMinutes()});const n0=fc;fc.range;var H1=lr(function(f){f.setUTCMinutes(0,0,0)},function(f,r){f.setTime(+f+r*No)},function(f,r){return(r-f)/No},function(f){return f.getUTCHours()});const Kl=H1;H1.range;var wa=lr(function(f){f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCDate(f.getUTCDate()+r)},function(f,r){return(r-f)/uc},function(f){return f.getUTCDate()-1});const pc=wa;wa.range;function _c(f){return lr(function(r){r.setUTCDate(r.getUTCDate()-(r.getUTCDay()+7-f)%7),r.setUTCHours(0,0,0,0)},function(r,i){r.setUTCDate(r.getUTCDate()+7*i)},function(r,i){return(i-r)/yu})}var Du=_c(0),i0=_c(1),p3=_c(2),_3=_c(3),mc=_c(4),a0=_c(5),r0=_c(6),U2=(Du.range,i0.range,p3.range,_3.range,mc.range,a0.range,r0.range,lr(function(f){f.setUTCDate(1),f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCMonth(f.getUTCMonth()+r)},function(f,r){return r.getUTCMonth()-f.getUTCMonth()+12*(r.getUTCFullYear()-f.getUTCFullYear())},function(f){return f.getUTCMonth()}));const s0=U2;U2.range;var V2=lr(function(f){f.setUTCMonth(0,1),f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCFullYear(f.getUTCFullYear()+r)},function(f,r){return r.getUTCFullYear()-f.getUTCFullYear()},function(f){return f.getUTCFullYear()});V2.every=function(f){return isFinite(f=Math.floor(f))&&f>0?lr(function(r){r.setUTCFullYear(Math.floor(r.getUTCFullYear()/f)*f),r.setUTCMonth(0,1),r.setUTCHours(0,0,0,0)},function(r,i){r.setUTCFullYear(r.getUTCFullYear()+i*f)}):null};const gc=V2;V2.range;function Au(f,r,i,b,R,Y){const me=[[Hl,1,Us],[Hl,5,5e3],[Hl,15,15e3],[Hl,30,3e4],[Y,1,xs],[Y,5,5*xs],[Y,15,15*xs],[Y,30,30*xs],[R,1,No],[R,3,3*No],[R,6,6*No],[R,12,12*No],[b,1,uc],[b,2,2*uc],[i,1,yu],[r,1,k2],[r,3,3*k2],[f,1,Qc]];function lt(gt,Et,Zt){const St=Math.abs(Et-gt)/Zt,vn=Rn(([,,_n])=>_n).right(me,St);if(vn===me.length)return f.every(ds(gt/Qc,Et/Qc,Zt));if(0===vn)return R2.every(Math.max(ds(gt,Et,Zt),1));const[wn,Zn]=me[St/me[vn-1][2][r.toLowerCase(),i]))}function o0(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.w=+b[0],i+b[0].length):-1}function K2(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.u=+b[0],i+b[0].length):-1}function G2(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.U=+b[0],i+b[0].length):-1}function Bs(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.V=+b[0],i+b[0].length):-1}function l0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.W=+b[0],i+b[0].length):-1}function yo(f,r,i){var b=jr.exec(r.slice(i,i+4));return b?(f.y=+b[0],i+b[0].length):-1}function Pu(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.y=+b[0]+(+b[0]>68?1900:2e3),i+b[0].length):-1}function b3(f,r,i){var b=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(r.slice(i,i+6));return b?(f.Z=b[1]?0:-(b[2]+(b[3]||"00")),i+b[0].length):-1}function c0(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.q=3*b[0]-3,i+b[0].length):-1}function d0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.m=b[0]-1,i+b[0].length):-1}function e1(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.d=+b[0],i+b[0].length):-1}function u0(f,r,i){var b=jr.exec(r.slice(i,i+3));return b?(f.m=0,f.d=+b[0],i+b[0].length):-1}function Zl(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.H=+b[0],i+b[0].length):-1}function h0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.M=+b[0],i+b[0].length):-1}function yc(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.S=+b[0],i+b[0].length):-1}function x3(f,r,i){var b=jr.exec(r.slice(i,i+3));return b?(f.L=+b[0],i+b[0].length):-1}function Z2(f,r,i){var b=jr.exec(r.slice(i,i+6));return b?(f.L=Math.floor(b[0]/1e3),i+b[0].length):-1}function C3(f,r,i){var b=Su.exec(r.slice(i,i+1));return b?i+b[0].length:-1}function ku(f,r,i){var b=jr.exec(r.slice(i));return b?(f.Q=+b[0],i+b[0].length):-1}function M3(f,r,i){var b=jr.exec(r.slice(i));return b?(f.s=+b[0],i+b[0].length):-1}function t1(f,r){return ya(f.getDate(),r,2)}function E3(f,r){return ya(f.getHours(),r,2)}function U1(f,r){return ya(f.getHours()%12||12,r,2)}function f0(f,r){return ya(1+bl.count(Wl(f),f),r,3)}function Y2(f,r){return ya(f.getMilliseconds(),r,3)}function Ru(f,r){return Y2(f,r)+"000"}function p0(f,r){return ya(f.getMonth()+1,r,2)}function D3(f,r){return ya(f.getMinutes(),r,2)}function V1(f,r){return ya(f.getSeconds(),r,2)}function Bu(f){var r=f.getDay();return 0===r?7:r}function Nu(f,r){return ya(Ul.count(Wl(f)-1,f),r,2)}function Yl(f){var r=f.getDay();return r>=4||0===r?Xc(f):Xc.ceil(f)}function _0(f,r){return f=Yl(f),ya(Xc.count(Wl(f),f)+(4===Wl(f).getDay()),r,2)}function Fu(f){return f.getDay()}function Hu(f,r){return ya(hc.count(Wl(f)-1,f),r,2)}function $4(f,r){return ya(f.getFullYear()%100,r,2)}function Q2(f,r){return ya((f=Yl(f)).getFullYear()%100,r,2)}function A3(f,r){return ya(f.getFullYear()%1e4,r,4)}function zu(f,r){var i=f.getDay();return ya((f=i>=4||0===i?Xc(f):Xc.ceil(f)).getFullYear()%1e4,r,4)}function Uu(f){var r=f.getTimezoneOffset();return(r>0?"-":(r*=-1,"+"))+ya(r/60|0,"0",2)+ya(r%60,"0",2)}function m0(f,r){return ya(f.getUTCDate(),r,2)}function g0(f,r){return ya(f.getUTCHours(),r,2)}function v0(f,r){return ya(f.getUTCHours()%12||12,r,2)}function j2(f,r){return ya(1+pc.count(gc(f),f),r,3)}function n1(f,r){return ya(f.getUTCMilliseconds(),r,3)}function Vu(f,r){return n1(f,r)+"000"}function q2(f,r){return ya(f.getUTCMonth()+1,r,2)}function y0(f,r){return ya(f.getUTCMinutes(),r,2)}function b0(f,r){return ya(f.getUTCSeconds(),r,2)}function i1(f){var r=f.getUTCDay();return 0===r?7:r}function T3(f,r){return ya(Du.count(gc(f)-1,f),r,2)}function x0(f){var r=f.getUTCDay();return r>=4||0===r?mc(f):mc.ceil(f)}function Wu(f,r){return f=x0(f),ya(mc.count(gc(f),f)+(4===gc(f).getUTCDay()),r,2)}function w3(f){return f.getUTCDay()}function I3(f,r){return ya(i0.count(gc(f)-1,f),r,2)}function C0(f,r){return ya(f.getUTCFullYear()%100,r,2)}function Ku(f,r){return ya((f=x0(f)).getUTCFullYear()%100,r,2)}function X2(f,r){return ya(f.getUTCFullYear()%1e4,r,4)}function M0(f,r){var i=f.getUTCDay();return ya((f=i>=4||0===i?mc(f):mc.ceil(f)).getUTCFullYear()%1e4,r,4)}function Fo(){return"+0000"}function Gu(){return"%"}function E0(f){return+f}function L3(f){return Math.floor(+f/1e3)}function $2(f){return null===f?NaN:+f}!function D0(f){return bc=function Iu(f){var r=f.dateTime,i=f.date,b=f.time,R=f.periods,Y=f.days,me=f.shortDays,Pe=f.months,lt=f.shortMonths,gt=Gl(R),Et=$c(R),Zt=Gl(Y),St=$c(Y),vn=Gl(me),wn=$c(me),Zn=Gl(Pe),_n=$c(Pe),jn=Gl(lt),ni=$c(lt),$n={a:function Pa(pi){return me[pi.getDay()]},A:function _s(pi){return Y[pi.getDay()]},b:function Aa(pi){return lt[pi.getMonth()]},B:function _r(pi){return Pe[pi.getMonth()]},c:null,d:t1,e:t1,f:Ru,g:Q2,G:zu,H:E3,I:U1,j:f0,L:Y2,m:p0,M:D3,p:function tr(pi){return R[+(pi.getHours()>=12)]},q:function dr(pi){return 1+~~(pi.getMonth()/3)},Q:E0,s:L3,S:V1,u:Bu,U:Nu,V:_0,w:Fu,W:Hu,x:null,X:null,y:$4,Y:A3,Z:Uu,"%":Gu},_i={a:function Ol(pi){return me[pi.getUTCDay()]},A:function Ts(pi){return Y[pi.getUTCDay()]},b:function Pl(pi){return lt[pi.getUTCMonth()]},B:function Ko(pi){return Pe[pi.getUTCMonth()]},c:null,d:m0,e:m0,f:Vu,g:Ku,G:M0,H:g0,I:v0,j:j2,L:n1,m:q2,M:y0,p:function ns(pi){return R[+(pi.getUTCHours()>=12)]},q:function zc(pi){return 1+~~(pi.getUTCMonth()/3)},Q:E0,s:L3,S:b0,u:i1,U:T3,V:Wu,w:w3,W:I3,x:null,X:null,y:C0,Y:X2,Z:Fo,"%":Gu},gi={a:function ma(pi,Wi,ga){var ei=vn.exec(Wi.slice(ga));return ei?(pi.w=wn.get(ei[0].toLowerCase()),ga+ei[0].length):-1},A:function yi(pi,Wi,ga){var ei=Zt.exec(Wi.slice(ga));return ei?(pi.w=St.get(ei[0].toLowerCase()),ga+ei[0].length):-1},b:function Ai(pi,Wi,ga){var ei=jn.exec(Wi.slice(ga));return ei?(pi.m=ni.get(ei[0].toLowerCase()),ga+ei[0].length):-1},B:function bi(pi,Wi,ga){var ei=Zn.exec(Wi.slice(ga));return ei?(pi.m=_n.get(ei[0].toLowerCase()),ga+ei[0].length):-1},c:function ba(pi,Wi,ga){return ia(pi,r,Wi,ga)},d:e1,e:e1,f:Z2,g:Pu,G:yo,H:Zl,I:Zl,j:u0,L:x3,m:d0,M:h0,p:function qa(pi,Wi,ga){var ei=gt.exec(Wi.slice(ga));return ei?(pi.p=Et.get(ei[0].toLowerCase()),ga+ei[0].length):-1},q:c0,Q:ku,s:M3,S:yc,u:K2,U:G2,V:Bs,w:o0,W:l0,x:function Vr(pi,Wi,ga){return ia(pi,i,Wi,ga)},X:function ua(pi,Wi,ga){return ia(pi,b,Wi,ga)},y:Pu,Y:yo,Z:b3,"%":C3};function ci(pi,Wi){return function(ga){var Lo,Gi,Wr,ei=[],Sr=-1,Xa=0,Qs=pi.length;for(ga instanceof Date||(ga=new Date(+ga));++Sr53)return null;"w"in ei||(ei.w=1),"Z"in ei?(Qs=(Xa=vc(Jc(ei.y,0,1))).getUTCDay(),Xa=Qs>4||0===Qs?i0.ceil(Xa):i0(Xa),Xa=pc.offset(Xa,7*(ei.V-1)),ei.y=Xa.getUTCFullYear(),ei.m=Xa.getUTCMonth(),ei.d=Xa.getUTCDate()+(ei.w+6)%7):(Qs=(Xa=us(Jc(ei.y,0,1))).getDay(),Xa=Qs>4||0===Qs?hc.ceil(Xa):hc(Xa),Xa=bl.offset(Xa,7*(ei.V-1)),ei.y=Xa.getFullYear(),ei.m=Xa.getMonth(),ei.d=Xa.getDate()+(ei.w+6)%7)}else("W"in ei||"U"in ei)&&("w"in ei||(ei.w="u"in ei?ei.u%7:"W"in ei?1:0),Qs="Z"in ei?vc(Jc(ei.y,0,1)).getUTCDay():us(Jc(ei.y,0,1)).getDay(),ei.m=0,ei.d="W"in ei?(ei.w+6)%7+7*ei.W-(Qs+5)%7:ei.w+7*ei.U-(Qs+6)%7);return"Z"in ei?(ei.H+=ei.Z/100|0,ei.M+=ei.Z%100,vc(ei)):us(ei)}}function ia(pi,Wi,ga,ei){for(var Lo,Gi,Sr=0,Xa=Wi.length,Qs=ga.length;Sr=Qs)return-1;if(37===(Lo=Wi.charCodeAt(Sr++))){if(Lo=Wi.charAt(Sr++),!(Gi=gi[Lo in Lu?Wi.charAt(Sr++):Lo])||(ei=Gi(pi,ga,ei))<0)return-1}else if(Lo!=ga.charCodeAt(ei++))return-1}return ei}return $n.x=ci(i,$n),$n.X=ci(b,$n),$n.c=ci(r,$n),_i.x=ci(i,_i),_i.X=ci(b,_i),_i.c=ci(r,_i),{format:function(pi){var Wi=ci(pi+="",$n);return Wi.toString=function(){return pi},Wi},parse:function(pi){var Wi=Da(pi+="",!1);return Wi.toString=function(){return pi},Wi},utcFormat:function(pi){var Wi=ci(pi+="",_i);return Wi.toString=function(){return pi},Wi},utcParse:function(pi){var Wi=Da(pi+="",!0);return Wi.toString=function(){return pi},Wi}}}(f),J2=bc.format,bc.parse,bc.utcFormat,bc.utcParse,bc}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const A0=Rn(Dn),xc=A0.right,Qu=(A0.left,Rn($2).center,xc);function O3(f,r){return f=+f,r=+r,function(i){return Math.round(f*(1-i)+r*i)}}function Jo(f){return+f}var Cc=[0,1];function Mc(f){return f}function T0(f,r){return(r-=f=+f)?function(i){return(i-f)/r}:function P3(f){return function(){return f}}(isNaN(r)?NaN:.5)}function R3(f,r,i){var b=f[0],R=f[1],Y=r[0],me=r[1];return Rr&&(i=f,f=r,r=i),function(b){return Math.max(f,Math.min(r,b))}}(f[0],f[St-1])),Pe=St>2?ju:R3,lt=gt=null,Zt}function Zt(St){return null==St||isNaN(St=+St)?Y:(lt||(lt=Pe(f.map(b),r,i)))(b(me(St)))}return Zt.invert=function(St){return me(R((gt||(gt=Pe(r,f.map(b),$a)))(St)))},Zt.domain=function(St){return arguments.length?(f=Array.from(St,Jo),Et()):f.slice()},Zt.range=function(St){return arguments.length?(r=Array.from(St),Et()):r.slice()},Zt.rangeRound=function(St){return r=Array.from(St),i=O3,Et()},Zt.clamp=function(St){return arguments.length?(me=!!St||Mc,Et()):me!==Mc},Zt.interpolate=function(St){return arguments.length?(i=St,Et()):i},Zt.unknown=function(St){return arguments.length?(Y=St,Zt):Y},function(St,vn){return b=St,R=vn,Et()}}function Xu(){return ed()(Mc,Mc)}function W1(f,r){switch(arguments.length){case 0:break;case 1:this.range(f);break;default:this.range(r).domain(f)}return this}function td(f){return new Date(f)}function $o(f){return f instanceof Date?+f:+new Date(+f)}function a1(f,r,i,b,R,Y,me,Pe,lt,gt){var Et=Xu(),Zt=Et.invert,St=Et.domain,vn=gt(".%L"),wn=gt(":%S"),Zn=gt("%I:%M"),_n=gt("%I %p"),jn=gt("%a %d"),ni=gt("%b %d"),$n=gt("%B"),_i=gt("%Y");function gi(ci){return(lt(ci)=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function K1(f){if(!(r=Ju.exec(f)))throw new Error("invalid format: "+f);var r;return new w0({fill:r[1],align:r[2],sign:r[3],symbol:r[4],zero:r[5],width:r[6],comma:r[7],precision:r[8]&&r[8].slice(1),trim:r[9],type:r[10]})}function w0(f){this.fill=void 0===f.fill?" ":f.fill+"",this.align=void 0===f.align?">":f.align+"",this.sign=void 0===f.sign?"-":f.sign+"",this.symbol=void 0===f.symbol?"":f.symbol+"",this.zero=!!f.zero,this.width=void 0===f.width?void 0:+f.width,this.comma=!!f.comma,this.precision=void 0===f.precision?void 0:+f.precision,this.trim=!!f.trim,this.type=void 0===f.type?"":f.type+""}function nd(f,r){if((i=(f=r?f.toExponential(r-1):f.toExponential()).indexOf("e"))<0)return null;var i,b=f.slice(0,i);return[b.length>1?b[0]+b.slice(2):b,+f.slice(i+1)]}function jl(f){return(f=nd(Math.abs(f)))?f[1]:NaN}function Z1(f,r){var i=nd(f,r);if(!i)return f+"";var b=i[0],R=i[1];return R<0?"0."+new Array(-R).join("0")+b:b.length>R+1?b.slice(0,R+1)+"."+b.slice(R+1):b+new Array(R-b.length+2).join("0")}K1.prototype=w0.prototype,w0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const z3={"%":(f,r)=>(100*f).toFixed(r),b:f=>Math.round(f).toString(2),c:f=>f+"",d:function F3(f){return Math.abs(f=Math.round(f))>=1e21?f.toLocaleString("en").replace(/,/g,""):f.toString(10)},e:(f,r)=>f.toExponential(r),f:(f,r)=>f.toFixed(r),g:(f,r)=>f.toPrecision(r),o:f=>Math.round(f).toString(8),p:(f,r)=>Z1(100*f,r),r:Z1,s:function th(f,r){var i=nd(f,r);if(!i)return f+"";var b=i[0],R=i[1],Y=R-(eh=3*Math.max(-8,Math.min(8,Math.floor(R/3))))+1,me=b.length;return Y===me?b:Y>me?b+new Array(Y-me+1).join("0"):Y>0?b.slice(0,Y)+"."+b.slice(Y):"0."+new Array(1-Y).join("0")+nd(f,Math.max(0,r+Y-1))[0]},X:f=>Math.round(f).toString(16).toUpperCase(),x:f=>Math.round(f).toString(16)};function I0(f){return f}var wr,el,L0,ad=Array.prototype.map,nh=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function ih(f){var r=void 0===f.grouping||void 0===f.thousands?I0:function H3(f,r){return function(i,b){for(var R=i.length,Y=[],me=0,Pe=f[0],lt=0;R>0&&Pe>0&&(lt+Pe+1>b&&(Pe=Math.max(1,b-lt)),Y.push(i.substring(R-=Pe,R+Pe)),!((lt+=Pe+1)>b));)Pe=f[me=(me+1)%f.length];return Y.reverse().join(r)}}(ad.call(f.grouping,Number),f.thousands+""),i=void 0===f.currency?"":f.currency[0]+"",b=void 0===f.currency?"":f.currency[1]+"",R=void 0===f.decimal?".":f.decimal+"",Y=void 0===f.numerals?I0:function $u(f){return function(r){return r.replace(/[0-9]/g,function(i){return f[+i]})}}(ad.call(f.numerals,String)),me=void 0===f.percent?"%":f.percent+"",Pe=void 0===f.minus?"\u2212":f.minus+"",lt=void 0===f.nan?"NaN":f.nan+"";function gt(Zt){var St=(Zt=K1(Zt)).fill,vn=Zt.align,wn=Zt.sign,Zn=Zt.symbol,_n=Zt.zero,jn=Zt.width,ni=Zt.comma,$n=Zt.precision,_i=Zt.trim,gi=Zt.type;"n"===gi?(ni=!0,gi="g"):z3[gi]||(void 0===$n&&($n=12),_i=!0,gi="g"),(_n||"0"===St&&"="===vn)&&(_n=!0,St="0",vn="=");var ci="$"===Zn?i:"#"===Zn&&/[boxX]/.test(gi)?"0"+gi.toLowerCase():"",Da="$"===Zn?b:/[%p]/.test(gi)?me:"",ia=z3[gi],qa=/[defgprs%]/.test(gi);function ma(yi){var ba,Vr,ua,Ai=ci,bi=Da;if("c"===gi)bi=ia(yi)+bi,yi="";else{var Pa=(yi=+yi)<0||1/yi<0;if(yi=isNaN(yi)?lt:ia(Math.abs(yi),$n),_i&&(yi=function G1(f){e:for(var R,r=f.length,i=1,b=-1;i0&&(b=0)}return b>0?f.slice(0,b)+f.slice(R+1):f}(yi)),Pa&&0==+yi&&"+"!==wn&&(Pa=!1),Ai=(Pa?"("===wn?wn:Pe:"-"===wn||"("===wn?"":wn)+Ai,bi=("s"===gi?nh[8+eh/3]:"")+bi+(Pa&&"("===wn?")":""),qa)for(ba=-1,Vr=yi.length;++ba(ua=yi.charCodeAt(ba))||ua>57){bi=(46===ua?R+yi.slice(ba+1):yi.slice(ba))+bi,yi=yi.slice(0,ba);break}}ni&&!_n&&(yi=r(yi,1/0));var _s=Ai.length+yi.length+bi.length,Aa=_s>1)+Ai+yi+bi+Aa.slice(_s);break;default:yi=Aa+Ai+yi+bi}return Y(yi)}return $n=void 0===$n?6:/[gprs]/.test(gi)?Math.max(1,Math.min(21,$n)):Math.max(0,Math.min(20,$n)),ma.toString=function(){return Zt+""},ma}return{format:gt,formatPrefix:function Et(Zt,St){var vn=gt(((Zt=K1(Zt)).type="f",Zt)),wn=3*Math.max(-8,Math.min(8,Math.floor(jl(St)/3))),Zn=Math.pow(10,-wn),_n=nh[8+wn/3];return function(jn){return vn(Zn*jn)+_n}}}}function sd(f,r,i,b){var Y,R=ds(f,r,i);switch((b=K1(b??",f")).type){case"s":var me=Math.max(Math.abs(f),Math.abs(r));return null==b.precision&&!isNaN(Y=function id(f,r){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(jl(r)/3)))-jl(Math.abs(f)))}(R,me))&&(b.precision=Y),L0(b,me);case"":case"e":case"g":case"p":case"r":null==b.precision&&!isNaN(Y=function ah(f,r){return f=Math.abs(f),r=Math.abs(r)-f,Math.max(0,jl(r)-jl(f))+1}(R,Math.max(Math.abs(f),Math.abs(r))))&&(b.precision=Y-("e"===b.type));break;case"f":case"%":null==b.precision&&!isNaN(Y=function S0(f){return Math.max(0,-jl(Math.abs(f)))}(R))&&(b.precision=Y-2*("%"===b.type))}return el(b)}function rh(f){var r=f.domain;return f.ticks=function(i){var b=r();return function Fr(f,r,i){var b,Y,me,Pe,R=-1;if(i=+i,(f=+f)==(r=+r)&&i>0)return[f];if((b=r0){let lt=Math.round(f/Pe),gt=Math.round(r/Pe);for(lt*Per&&--gt,me=new Array(Y=gt-lt+1);++Rr&&--gt,me=new Array(Y=gt-lt+1);++R0;){if((gt=so(me,Pe,i))===lt)return b[R]=me,b[Y]=Pe,r(b);if(gt>0)me=Math.floor(me/gt)*gt,Pe=Math.ceil(Pe/gt)*gt;else{if(!(gt<0))break;me=Math.ceil(me*gt)/gt,Pe=Math.floor(Pe*gt)/gt}lt=gt}return f},f}function Ga(){var f=Xu();return f.copy=function(){return qu(f,Ga())},W1.apply(f,arguments),rh(f)}function O0(f,r,i){f=+f,r=+r,i=(R=arguments.length)<2?(r=f,f=0,1):R<3?1:+i;for(var b=-1,R=0|Math.max(0,Math.ceil((r-f)/i)),Y=new Array(R);++b=b)&&(i=b);else{let b=-1;for(let R of f)null!=(R=r(R,++b,f))&&(i=R)&&(i=R)}return i}function Q1(f,r){let i;if(void 0===r)for(const b of f)null!=b&&(i>b||void 0===i&&b>=b)&&(i=b);else{let b=-1;for(let R of f)null!=(R=r(R,++b,f))&&(i>R||void 0===i&&R>=R)&&(i=R)}return i}function k0(f,r,i=0,b=f.length-1,R=Dn){for(;b>i;){if(b-i>600){const lt=b-i+1,gt=r-i+1,Et=Math.log(lt),Zt=.5*Math.exp(2*Et/3),St=.5*Math.sqrt(Et*Zt*(lt-Zt)/lt)*(gt-lt/2<0?-1:1);k0(f,r,Math.max(i,Math.floor(r-gt*Zt/lt+St)),Math.min(b,Math.floor(r+(lt-gt)*Zt/lt+St)),R)}const Y=f[r];let me=i,Pe=b;for(s1(f,i,r),R(f[b],Y)>0&&s1(f,i,b);me0;)--Pe}0===R(f[i],Y)?s1(f,i,Pe):(++Pe,s1(f,Pe,b)),Pe<=r&&(i=Pe+1),r<=Pe&&(b=Pe-1)}return f}function s1(f,r,i){const b=f[r];f[r]=f[i],f[i]=b}function R0(f,r,i){if(f=Float64Array.from(function*Yu(f,r){if(void 0===r)for(let i of f)null!=i&&(i=+i)>=i&&(yield i);else{let i=-1;for(let b of f)null!=(b=r(b,++i,f))&&(b=+b)>=b&&(yield b)}}(f,i)),b=f.length){if((r=+r)<=0||b<2)return Q1(f);if(r>=1)return r1(f);var b,R=(b-1)*r,Y=Math.floor(R),me=r1(k0(f,Y).subarray(0,Y+1));return me+(Q1(f.subarray(Y+1))-me)*(R-Y)}}function sh(f,r,i=$2){if(b=f.length){if((r=+r)<=0||b<2)return+i(f[0],0,f);if(r>=1)return+i(f[b-1],b-1,f);var b,R=(b-1)*r,Y=Math.floor(R),me=+i(f[Y],Y,f);return me+(+i(f[Y+1],Y+1,f)-me)*(R-Y)}}function B0(){var b,f=[],r=[],i=[];function R(){var me=0,Pe=Math.max(1,r.length);for(i=new Array(Pe-1);++me0?i[Pe-1]:f[0],PeMl)if(Math.abs(Et*Pe-lt*gt)>Ml&&R){var St=i-Y,vn=b-me,wn=Pe*Pe+lt*lt,Zn=St*St+vn*vn,_n=Math.sqrt(wn),jn=Math.sqrt(Zt),ni=R*Math.tan((o1-Math.acos((wn+Zt-Zn)/(2*_n*jn)))/2),$n=ni/jn,_i=ni/_n;Math.abs($n-1)>Ml&&(this._+="L"+(f+$n*gt)+","+(r+$n*Et)),this._+="A"+R+","+R+",0,0,"+ +(Et*St>gt*vn)+","+(this._x1=f+_i*Pe)+","+(this._y1=r+_i*lt)}else this._+="L"+(this._x1=f)+","+(this._y1=r)},arc:function(f,r,i,b,R,Y){f=+f,r=+r,Y=!!Y;var me=(i=+i)*Math.cos(b),Pe=i*Math.sin(b),lt=f+me,gt=r+Pe,Et=1^Y,Zt=Y?b-R:R-b;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+lt+","+gt:(Math.abs(this._x1-lt)>Ml||Math.abs(this._y1-gt)>Ml)&&(this._+="L"+lt+","+gt),i&&(Zt<0&&(Zt=Zt%N0+N0),Zt>U3?this._+="A"+i+","+i+",0,1,"+Et+","+(f-me)+","+(r-Pe)+"A"+i+","+i+",0,1,"+Et+","+(this._x1=lt)+","+(this._y1=gt):Zt>Ml&&(this._+="A"+i+","+i+",0,"+ +(Zt>=o1)+","+Et+","+(this._x1=f+i*Math.cos(R))+","+(this._y1=r+i*Math.sin(R))))},rect:function(f,r,i,b){this._+="M"+(this._x0=this._x1=+f)+","+(this._y0=this._y1=+r)+"h"+ +i+"v"+ +b+"h"+-i+"Z"},toString:function(){return this._}};const od=F0;Array.prototype.slice;function H0(f){return"object"==typeof f&&"length"in f?f:Array.from(f)}function da(f){return function(){return f}}function q1(f){this._context=f}function Ec(f){return new q1(f)}function ld(f){return f[0]}function ql(f){return f[1]}function tl(f,r){var i=da(!0),b=null,R=Ec,Y=null;function me(Pe){var lt,Et,St,gt=(Pe=H0(Pe)).length,Zt=!1;for(null==b&&(Y=R(St=od())),lt=0;lt<=gt;++lt)!(lt=St;--vn)Pe.point(ni[vn],$n[vn]);Pe.lineEnd(),Pe.areaEnd()}_n&&(ni[Zt]=+f(Zn,Zt,Et),$n[Zt]=+r(Zn,Zt,Et),Pe.point(b?+b(Zn,Zt,Et):ni[Zt],i?+i(Zn,Zt,Et):$n[Zt]))}if(jn)return Pe=null,jn+""||null}function gt(){return tl().defined(R).curve(me).context(Y)}return f="function"==typeof f?f:void 0===f?ld:da(+f),r="function"==typeof r?r:da(void 0===r?0:+r),i="function"==typeof i?i:void 0===i?ql:da(+i),lt.x=function(Et){return arguments.length?(f="function"==typeof Et?Et:da(+Et),b=null,lt):f},lt.x0=function(Et){return arguments.length?(f="function"==typeof Et?Et:da(+Et),lt):f},lt.x1=function(Et){return arguments.length?(b=null==Et?null:"function"==typeof Et?Et:da(+Et),lt):b},lt.y=function(Et){return arguments.length?(r="function"==typeof Et?Et:da(+Et),i=null,lt):r},lt.y0=function(Et){return arguments.length?(r="function"==typeof Et?Et:da(+Et),lt):r},lt.y1=function(Et){return arguments.length?(i=null==Et?null:"function"==typeof Et?Et:da(+Et),lt):i},lt.lineX0=lt.lineY0=function(){return gt().x(f).y(r)},lt.lineY1=function(){return gt().x(f).y(i)},lt.lineX1=function(){return gt().x(b).y(r)},lt.defined=function(Et){return arguments.length?(R="function"==typeof Et?Et:da(!!Et),lt):R},lt.curve=function(Et){return arguments.length?(me=Et,null!=Y&&(Pe=me(Y)),lt):me},lt.context=function(Et){return arguments.length?(null==Et?Y=Pe=null:Pe=me(Y=Et),lt):Y},lt}q1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(f,r){switch(f=+f,r=+r,this._point){case 0:this._point=1,this._line?this._context.lineTo(f,r):this._context.moveTo(f,r);break;case 1:this._point=2;default:this._context.lineTo(f,r)}}};var cd=Math.abs,Xr=Math.atan2,Dc=Math.cos,dd=Math.max,Jl=Math.min,bo=Math.sin,Vs=Math.sqrt,xo=1e-12,c1=Math.PI,Ho=c1/2,X1=2*c1;function oh(f){return f>1?0:f<-1?c1:Math.acos(f)}function z0(f){return f>=1?Ho:f<=-1?-Ho:Math.asin(f)}function nf(f){return f.innerRadius}function lh(f){return f.outerRadius}function d1(f){return f.startAngle}function V3(f){return f.endAngle}function u1(f){return f&&f.padAngle}function Ac(f,r,i,b,R,Y,me,Pe){var lt=i-f,gt=b-r,Et=me-R,Zt=Pe-Y,St=Zt*lt-Et*gt;if(!(St*Stba*ba+Vr*Vr&&(ia=ma,qa=yi),{cx:ia,cy:qa,x01:-Et,y01:-Zt,x11:ia*(R/gi-1),y11:qa*(R/gi-1)}}function hd(){var f=nf,r=lh,i=da(0),b=null,R=d1,Y=V3,me=u1,Pe=null;function lt(){var gt,Et,Zt=+f.apply(this,arguments),St=+r.apply(this,arguments),vn=R.apply(this,arguments)-Ho,wn=Y.apply(this,arguments)-Ho,Zn=cd(wn-vn),_n=wn>vn;if(Pe||(Pe=gt=od()),Stxo)if(Zn>X1-xo)Pe.moveTo(St*Dc(vn),St*bo(vn)),Pe.arc(0,0,St,vn,wn,!_n),Zt>xo&&(Pe.moveTo(Zt*Dc(wn),Zt*bo(wn)),Pe.arc(0,0,Zt,wn,vn,_n));else{var Ai,bi,jn=vn,ni=wn,$n=vn,_i=wn,gi=Zn,ci=Zn,Da=me.apply(this,arguments)/2,ia=Da>xo&&(b?+b.apply(this,arguments):Vs(Zt*Zt+St*St)),qa=Jl(cd(St-Zt)/2,+i.apply(this,arguments)),ma=qa,yi=qa;if(ia>xo){var ba=z0(ia/Zt*bo(Da)),Vr=z0(ia/St*bo(Da));(gi-=2*ba)>xo?($n+=ba*=_n?1:-1,_i-=ba):(gi=0,$n=_i=(vn+wn)/2),(ci-=2*Vr)>xo?(jn+=Vr*=_n?1:-1,ni-=Vr):(ci=0,jn=ni=(vn+wn)/2)}var ua=St*Dc(jn),Pa=St*bo(jn),_s=Zt*Dc(_i),Aa=Zt*bo(_i);if(qa>xo){var Ts,_r=St*Dc(ni),tr=St*bo(ni),dr=Zt*Dc($n),Ol=Zt*bo($n);if(Znxo?yi>xo?(Ai=ud(dr,Ol,ua,Pa,St,yi,_n),bi=ud(_r,tr,_s,Aa,St,yi,_n),Pe.moveTo(Ai.cx+Ai.x01,Ai.cy+Ai.y01),yixo&&gi>xo?ma>xo?(Ai=ud(_s,Aa,_r,tr,Zt,-ma,_n),bi=ud(ua,Pa,dr,Ol,Zt,-ma,_n),Pe.lineTo(Ai.cx+Ai.x01,Ai.cy+Ai.y01),maf?1:r>=f?0:NaN}function hh(f){return f}function fh(){var f=hh,r=W3,i=null,b=da(0),R=da(X1),Y=da(0);function me(Pe){var lt,Et,Zt,jn,_i,gt=(Pe=H0(Pe)).length,St=0,vn=new Array(gt),wn=new Array(gt),Zn=+b.apply(this,arguments),_n=Math.min(X1,Math.max(-X1,R.apply(this,arguments)-Zn)),ni=Math.min(Math.abs(_n)/gt,Y.apply(this,arguments)),$n=ni*(_n<0?-1:1);for(lt=0;lt0&&(St+=_i);for(null!=r?vn.sort(function(gi,ci){return r(wn[gi],wn[ci])}):null!=i&&vn.sort(function(gi,ci){return i(Pe[gi],Pe[ci])}),lt=0,Zt=St?(_n-gt*$n)/St:0;lt0?_i*Zt:0)+$n,wn[Et]={data:Pe[Et],index:lt,value:_i,startAngle:Zn,endAngle:jn,padAngle:ni};return wn}return me.value=function(Pe){return arguments.length?(f="function"==typeof Pe?Pe:da(+Pe),me):f},me.sortValues=function(Pe){return arguments.length?(r=Pe,i=null,me):r},me.sort=function(Pe){return arguments.length?(i=Pe,r=null,me):i},me.startAngle=function(Pe){return arguments.length?(b="function"==typeof Pe?Pe:da(+Pe),me):b},me.endAngle=function(Pe){return arguments.length?(R="function"==typeof Pe?Pe:da(+Pe),me):R},me.padAngle=function(Pe){return arguments.length?(Y="function"==typeof Pe?Pe:da(+Pe),me):Y},me}var K0=Math.PI;function nl(f){return(1-Math.cos(K0*f))/2}var K3=m(1381);function ph(f){f.x0=Math.round(f.x0),f.y0=Math.round(f.y0),f.x1=Math.round(f.x1),f.y1=Math.round(f.y1)}function rf(f,r,i,b,R){for(var me,Y=f.children,Pe=-1,lt=Y.length,gt=f.value&&(b-r)/f.value;++Peni&&(ni=gt),ci=_n*_n*gi,($n=Math.max(ni/ci,ci/jn))>_i){_n-=gt;break}_i=$n}me.push(lt={value:_n,dice:vn1?b:1)},i}((1+Math.sqrt(5))/2);function Dl(f){if("function"!=typeof f)throw new Error;return f}function t2(){return 0}function $l(f){return function(){return f}}function Y3(f){var r=0,i=f.children,b=i&&i.length;if(b)for(;--b>=0;)r+=i[b].value;else r=1;f.value=r}function gd(f,r){f instanceof Map?(f=[void 0,f],void 0===r&&(r=T)):void 0===r&&(r=K);for(var b,Y,me,Pe,lt,i=new ge(f),R=[i];b=R.pop();)if((me=r(b.data))&&(lt=(me=Array.from(me)).length))for(b.children=me,Pe=lt-1;Pe>=0;--Pe)R.push(Y=me[Pe]=new ge(me[Pe])),Y.parent=b,Y.depth=b.depth+1;return i.eachBefore(V)}function K(f){return f.children}function T(f){return Array.isArray(f)?f[1]:null}function x(f){void 0!==f.data.value&&(f.value=f.data.value),f.data=f.data.data}function V(f){var r=0;do{f.height=r}while((f=f.parent)&&f.height<++r)}function ge(f){this.data=f,this.depth=this.height=0,this.parent=null}ge.prototype=gd.prototype={constructor:ge,count:function Ao(){return this.eachAfter(Y3)},each:function vh(f,r){let i=-1;for(const b of this)f.call(r,b,++i,this);return this},eachAfter:function yh(f,r){for(var Y,me,Pe,i=this,b=[i],R=[],lt=-1;i=b.pop();)if(R.push(i),Y=i.children)for(me=0,Pe=Y.length;me=0;--Y)b.push(R[Y]);return this},find:function bh(f,r){let i=-1;for(const b of this)if(f.call(r,b,++i,this))return b},sum:function xh(f){return this.eachAfter(function(r){for(var i=+f(r.data)||0,b=r.children,R=b&&b.length;--R>=0;)i+=b[R].value;r.value=i})},sort:function Ch(f){return this.eachBefore(function(r){r.children&&r.children.sort(f)})},path:function Z0(f){for(var r=this,i=function Q3(f,r){if(f===r)return f;var i=f.ancestors(),b=r.ancestors(),R=null;for(f=i.pop(),r=b.pop();f===r;)R=f,f=i.pop(),r=b.pop();return R}(r,f),b=[r];r!==i;)r=r.parent,b.push(r);for(var R=b.length;f!==i;)b.splice(R,0,f),f=f.parent;return b},ancestors:function Mh(){for(var f=this,r=[f];f=f.parent;)r.push(f);return r},descendants:function Eh(){return Array.from(this)},leaves:function Vi(){var f=[];return this.eachBefore(function(r){r.children||f.push(r)}),f},links:function md(){var f=this,r=[];return f.each(function(i){i!==f&&r.push({source:i.parent,target:i})}),r},copy:function n2(){return gd(this).eachBefore(x)},[Symbol.iterator]:function*Dh(){var r,b,R,Y,f=this,i=[f];do{for(r=i.reverse(),i=[];f=r.pop();)if(yield f,b=f.children)for(R=0,Y=b.length;Rwindow.innerHeight&&(R=window.innerHeight-i.height),R}static calculateVerticalCaret(r,i,b,R){let Y;R===Ri.Top&&(Y=r.height/2-b.height/2+7),R===Ri.Bottom&&(Y=i.height-r.height/2-b.height/2-7),R===Ri.Center&&(Y=i.height/2-b.height/2);const me=op(r,i,R);return me+i.height>window.innerHeight&&(Y+=me+i.height-window.innerHeight),Y}static calculateHorizontalAlignment(r,i,b){let R=O4(r,i,b);return R+i.width>window.innerWidth&&(R=window.innerWidth-i.width),R}static calculateHorizontalCaret(r,i,b,R){let Y;R===Ri.Left&&(Y=r.width/2-b.width/2+7),R===Ri.Right&&(Y=i.width-r.width/2-b.width/2-7),R===Ri.Center&&(Y=i.width/2-b.width/2);const me=O4(r,i,R);return me+i.width>window.innerWidth&&(Y+=me+i.width-window.innerWidth),Y}static shouldFlip(r,i,b,R){let Y=!1;return b===Ri.Right&&r.left+r.width+i.width+R>window.innerWidth&&(Y=!0),b===Ri.Left&&r.left-i.width-R<0&&(Y=!0),b===Ri.Top&&r.top-i.height-R<0&&(Y=!0),b===Ri.Bottom&&r.top+r.height+i.height+R>window.innerHeight&&(Y=!0),Y}static positionCaret(r,i,b,R,Y){let me=0,Pe=0;return r===Ri.Right?(Pe=-7,me=zr.calculateVerticalCaret(b,i,R,Y)):r===Ri.Left?(Pe=i.width,me=zr.calculateVerticalCaret(b,i,R,Y)):r===Ri.Top?(me=i.height,Pe=zr.calculateHorizontalCaret(b,i,R,Y)):r===Ri.Bottom&&(me=-7,Pe=zr.calculateHorizontalCaret(b,i,R,Y)),{top:me,left:Pe}}static positionContent(r,i,b,R,Y){let me=0,Pe=0;return r===Ri.Right?(Pe=b.left+b.width+R,me=zr.calculateVerticalAlignment(b,i,Y)):r===Ri.Left?(Pe=b.left-i.width-R,me=zr.calculateVerticalAlignment(b,i,Y)):r===Ri.Top?(me=b.top-i.height-R,Pe=zr.calculateHorizontalAlignment(b,i,Y)):r===Ri.Bottom&&(me=b.top+b.height+R,Pe=zr.calculateHorizontalAlignment(b,i,Y)),{top:me,left:Pe}}static determinePlacement(r,i,b,R){if(zr.shouldFlip(b,i,r,R)){if(r===Ri.Right)return Ri.Left;if(r===Ri.Left)return Ri.Right;if(r===Ri.Top)return Ri.Bottom;if(r===Ri.Bottom)return Ri.Top}return r}}class uo{constructor(r,i,b){this.element=r,this.renderer=i,this.platformId=b}get cssClasses(){let r="ngx-charts-tooltip-content";return r+=` position-${this.placement}`,r+=` type-${this.type}`,r+=` ${this.cssClass}`,r}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,t.NF)(this.platformId))return;const r=this.element.nativeElement,i=this.host.nativeElement.getBoundingClientRect();if(!i.height&&!i.width)return;const b=r.getBoundingClientRect();this.checkFlip(i,b),this.positionContent(r,i,b),this.showCaret&&this.positionCaret(i,b),setTimeout(()=>this.renderer.addClass(r,"animate"),1)}positionContent(r,i,b){const{top:R,left:Y}=zr.positionContent(this.placement,b,i,this.spacing,this.alignment);this.renderer.setStyle(r,"top",`${R}px`),this.renderer.setStyle(r,"left",`${Y}px`)}positionCaret(r,i){const b=this.caretElm.nativeElement,R=b.getBoundingClientRect(),{top:Y,left:me}=zr.positionCaret(this.placement,i,r,R,this.alignment);this.renderer.setStyle(b,"top",`${Y}px`),this.renderer.setStyle(b,"left",`${me}px`)}checkFlip(r,i){this.placement=zr.determinePlacement(this.placement,i,r,this.spacing)}onWindowResize(){this.position()}}uo.\u0275fac=function(r){return new(r||uo)(e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.Lbi))},uo.\u0275cmp=e.Xpm({type:uo,selectors:[["ngx-tooltip-content"]],viewQuery:function(r,i){if(1&r&&e.Gf(fi,5),2&r){let b;e.iGM(b=e.CRH())&&(i.caretElm=b.first)}},hostVars:2,hostBindings:function(r,i){1&r&&e.NdJ("resize",function(){return i.onWindowResize()},!1,e.Jf7),2&r&&e.Tol(i.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[[3,"hidden"],["caretElm",""],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(r,i){1&r&&(e.TgZ(0,"div"),e._UZ(1,"span",0,1),e.TgZ(3,"div",2),e.YNc(4,Ni,2,4,"span",3),e.YNc(5,Ci,1,1,"span",4),e.qZA()()),2&r&&(e.xp6(1),e.Gre("tooltip-caret position-",i.placement,""),e.Q6J("hidden",!i.showCaret),e.xp6(3),e.Q6J("ngIf",!i.title),e.xp6(1),e.Q6J("ngIf",i.title))},dependencies:[t.O5,t.tP],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,_.gn)([function S4(f,r){return function(b,R,Y){return{configurable:!0,enumerable:Y.enumerable,get:function(){return Object.defineProperty(this,R,{configurable:!0,enumerable:Y.enumerable,value:A_(Y.value,f,r)}),this[R]}}}}(100)],uo.prototype,"onWindowResize",null);class sl{constructor(r){this.injectionService=r,this.defaults={},this.components=new Map}getByType(r=this.type){return this.components.get(r)}create(r){return this.createByType(this.type,r)}createByType(r,i){i=this.assignDefaults(i);const b=this.injectComponent(r,i);return this.register(r,b),b}destroy(r){const i=this.components.get(r.componentType);if(i&&i.length){const b=i.indexOf(r);b>-1&&(i[b].destroy(),i.splice(b,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(r){const i=this.components.get(r);if(i&&i.length){let b=i.length-1;for(;b>=0;)this.destroy(i[b--])}}injectComponent(r,i){return this.injectionService.appendComponent(r,i)}assignDefaults(r){const i={...this.defaults.inputs},b={...this.defaults.outputs};return!r.inputs&&!r.outputs&&(r={inputs:r}),i&&(r.inputs={...i,...r.inputs}),b&&(r.outputs={...b,...r.outputs}),r}register(r,i){this.components.has(r)||this.components.set(r,[]),this.components.get(r).push(i)}}class Vo{constructor(r,i,b){this.applicationRef=r,this.componentFactoryResolver=i,this.injector=b}static setGlobalRootViewContainer(r){Vo.globalRootViewContainer=r}getRootViewContainer(){if(this._container)return this._container;if(Vo.globalRootViewContainer)return Vo.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(r){this._container=r}getComponentRootNode(r){return function lp(f){return f.element}(r)?r.element.nativeElement:r.hostView&&r.hostView.rootNodes.length>0?r.hostView.rootNodes[0]:r.location.nativeElement}getRootViewContainerNode(r){return this.getComponentRootNode(r)}projectComponentBindings(r,i){if(i){if(void 0!==i.inputs){const b=Object.getOwnPropertyNames(i.inputs);for(const R of b)r.instance[R]=i.inputs[R]}if(void 0!==i.outputs){const b=Object.getOwnPropertyNames(i.outputs);for(const R of b)r.instance[R]=i.outputs[R]}}return r}appendComponent(r,i={},b){b||(b=this.getRootViewContainer());const R=this.getComponentRootNode(b),Y=new E.u0(R,this.componentFactoryResolver,this.applicationRef,this.injector),me=new E.C5(r),Pe=Y.attach(me);return this.projectComponentBindings(Pe,i),Pe}}Vo.globalRootViewContainer=null,Vo.\u0275fac=function(r){return new(r||Vo)(e.LFG(e.z2F),e.LFG(e._Vd),e.LFG(e.zs3))},Vo.\u0275prov=e.Yz7({token:Vo,factory:Vo.\u0275fac});class Lc extends sl{constructor(r){super(r),this.type=uo}}var hr,s2,Cn,es,Gs,Zs,c2;Lc.\u0275fac=function(r){return new(r||Lc)(e.LFG(Vo))},Lc.\u0275prov=e.Yz7({token:Lc,factory:Lc.\u0275fac}),function(f){f.Right="right",f.Below="below"}(hr||(hr={})),function(f){f.ScaleLegend="scaleLegend",f.Legend="legend"}(s2||(s2={})),function(f){f.Time="time",f.Linear="linear",f.Ordinal="ordinal",f.Quantile="quantile"}(Cn||(Cn={}));class Sc{constructor(){this.horizontal=!1}ngOnChanges(r){const i=this.gradientString(this.colors.range(),this.colors.domain()),b=this.horizontal?"right":"bottom";this.gradient=`linear-gradient(to ${b}, ${i})`}gradientString(r,i){i.push(1);const b=[];return r.reverse().forEach((R,Y)=>{b.push(`${R} ${Math.round(100*i[Y])}%`)}),b.join(", ")}}function Ur(f){return f=f instanceof Date?f.toLocaleDateString():f.toLocaleString()}function fs(f){return f.toLocaleString().replace(/[&'`"<>]/g,r=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[r]))}Sc.\u0275fac=function(r){return new(r||Sc)},Sc.\u0275cmp=e.Xpm({type:Sc,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.TTD],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(r,i){1&r&&(e.TgZ(0,"div",0)(1,"div",1)(2,"span"),e._uU(3),e.qZA()(),e._UZ(4,"div",2),e.TgZ(5,"div",1)(6,"span"),e._uU(7),e.qZA()()()),2&r&&(e.Udp("height",i.horizontal?void 0:i.height,"px")("width",i.width,"px"),e.ekj("horizontal-legend",i.horizontal),e.xp6(3),e.Oqu(i.valueRange[1].toLocaleString()),e.xp6(1),e.Udp("background",i.gradient),e.xp6(3),e.Oqu(i.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0});class v1{constructor(){this.isActive=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.toggle=new e.vpe}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}v1.\u0275fac=function(r){return new(r||v1)},v1.\u0275cmp=e.Xpm({type:v1,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"title","click"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(r,i){1&r&&(e.TgZ(0,"span",0),e.NdJ("click",function(){return i.select.emit(i.formattedLabel)}),e.TgZ(1,"span",1),e.NdJ("click",function(){return i.toggle.emit(i.formattedLabel)}),e.qZA(),e.TgZ(2,"span",2),e._uU(3),e.qZA()()),2&r&&(e.ekj("active",i.isActive),e.Q6J("title",i.formattedLabel),e.xp6(1),e.Udp("background-color",i.color),e.xp6(2),e.hij(" ",i.trimmedLabel," "))},encapsulation:2,changeDetection:0});class Id{constructor(r){this.cd=r,this.horizontal=!1,this.labelClick=new e.vpe,this.labelActivate=new e.vpe,this.labelDeactivate=new e.vpe,this.legendEntries=[]}ngOnChanges(r){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const r=[];for(const i of this.data){const b=Ur(i);-1===r.findIndex(Y=>Y.label===b)&&r.push({label:i,formattedLabel:b,color:this.colors.getColor(i)})}return r}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.label===b.name)}activate(r){this.labelActivate.emit(r)}deactivate(r){this.labelDeactivate.emit(r)}trackBy(r,i){return i.label}}Id.\u0275fac=function(r){return new(r||Id)(e.Y36(e.sBO))},Id.\u0275cmp=e.Xpm({type:Id,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.TTD],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"label","formattedLabel","color","isActive","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"div"),e.YNc(1,Oi,3,1,"header",0),e.TgZ(2,"div",1)(3,"ul",2),e.YNc(4,na,2,4,"li",3),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px"),e.xp6(1),e.Q6J("ngIf",(null==i.title?null:i.title.length)>0),e.xp6(2),e.Udp("max-height",i.height-45,"px"),e.ekj("horizontal-legend",i.horizontal),e.xp6(1),e.Q6J("ngForOf",i.legendEntries)("ngForTrackBy",i.trackBy))},dependencies:[v1,t.O5,t.sg],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0});class Qa{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.vpe,this.legendLabelActivate=new e.vpe,this.legendLabelDeactivate=new e.vpe,this.LegendPosition=hr,this.LegendType=s2}ngOnChanges(r){this.update()}update(){let r=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===hr.Right)&&(r=this.legendType===s2.ScaleLegend?1:2));const i=12-r;this.chartWidth=Math.floor(this.view[0]*i/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==hr.Right?this.chartWidth:Math.floor(this.view[0]*r/12)}getLegendType(){return this.legendOptions.scaleType===Cn.Linear?s2.ScaleLegend:s2.Legend}}Qa.\u0275fac=function(r){return new(r||Qa)},Qa.\u0275cmp=e.Xpm({type:Qa,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e._Bn([Lc]),e.TTD],ngContentSelectors:Ns,decls:5,vars:6,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate"]],template:function(r,i){1&r&&(e.F$t(),e.TgZ(0,"div",0),e.O4$(),e.TgZ(1,"svg",1),e.Hsn(2),e.qZA(),e.YNc(3,Ia,1,5,"ngx-charts-scale-legend",2),e.YNc(4,Jr,1,7,"ngx-charts-legend",3),e.qZA()),2&r&&(e.Udp("width",i.view[0],"px"),e.xp6(1),e.uIk("width",i.chartWidth)("height",i.view[1]),e.xp6(2),e.Q6J("ngIf",i.showLegend&&i.legendType===i.LegendType.ScaleLegend),e.xp6(1),e.Q6J("ngIf",i.showLegend&&i.legendType===i.LegendType.Legend))},dependencies:[Sc,Id,t.O5],encapsulation:2,changeDetection:0});class o2{constructor(r,i){this.element=r,this.zone=i,this.visible=new e.vpe,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const r=()=>{if(!this.element)return;const{offsetHeight:i,offsetWidth:b}=this.element.nativeElement;i&&b?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>r(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>r())})}}function l2(f){return"[object Date]"===toString.call(f)}function S6(f){return"number"==typeof f}o2.\u0275fac=function(r){return new(r||o2)(e.Y36(e.SBq),e.Y36(e.R0b))},o2.\u0275dir=e.lG2({type:o2,selectors:[["visibility-observer"]],outputs:{visible:"visible"}});class ja{constructor(r,i,b,R){this.chartElement=r,this.zone=i,this.cd=b,this.platformId=R,this.scheme="cool",this.schemeType=Cn.Ordinal,this.animations=!0,this.select=new e.vpe}ngOnInit(){(0,t.PM)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new o2(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(r){this.update()}update(){if(this.results?this.results=this.cloneData(this.results):this.results=[],this.view)this.width=this.view[0],this.height=this.view[1];else{const r=this.getContainerDims();r&&(this.width=r.width,this.height=r.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let r,i;const b=this.chartElement.nativeElement;if((0,t.NF)(this.platformId)&&null!==b.parentNode){const R=b.parentNode.getBoundingClientRect();r=R.width,i=R.height}return r&&i?{width:r,height:i}:null}formatDates(){for(let r=0;r{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=i}cloneData(r){const i=[];for(const b of r){const R={name:b.name};if(void 0!==b.value&&(R.value=b.value),void 0!==b.series){R.series=[];for(const Y of b.series){const me=Object.assign({},Y);R.series.push(me)}}void 0!==b.extra&&(R.extra=JSON.parse(JSON.stringify(b.extra))),i.push(R)}return i}}ja.\u0275fac=function(r){return new(r||ja)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(e.sBO),e.Y36(e.Lbi))},ja.\u0275cmp=e.Xpm({type:ja,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.TTD],decls:1,vars:0,template:function(r,i){1&r&&e._UZ(0,"div")},encapsulation:2}),function(f){f.Top="top",f.Bottom="bottom",f.Left="left",f.Right="right"}(es||(es={}));class Oc{constructor(r){this.textHeight=25,this.margin=5,this.element=r.nativeElement}ngOnChanges(r){this.update()}update(){switch(this.strokeWidth="0.01",this.textAnchor="middle",this.transform="",this.orient){case es.Top:case es.Bottom:this.y=this.offset,this.x=this.width/2;break;case es.Left:this.y=-(this.offset+this.textHeight+this.margin),this.x=-this.height/2,this.transform="rotate(270)";break;case es.Right:this.y=this.offset+this.margin,this.x=-this.height/2,this.transform="rotate(270)"}}}function wl(f,r=16){return"string"!=typeof f?"number"==typeof f?f+"":"":(f=f.trim()).length<=r?f:`${f.slice(0,r)}...`}function tu(f,r){if(f.length>r){const i=[],b=Math.floor(f.length/r);for(let R=0;Rthis.updateDims())}updateDims(){if(!(0,t.NF)(this.platformId))return void this.dimensionsChanged.emit({height:this.approxHeight});const r=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height,10);r!==this.height&&(this.height=r,this.dimensionsChanged.emit({height:this.height}),setTimeout(()=>this.updateDims()))}update(){const r=this.scale;this.ticks=this.getTicks(),this.tickFormatting?this.tickFormat=this.tickFormatting:r.tickFormat?this.tickFormat=r.tickFormat.apply(r,this.tickArguments):this.tickFormat=function(b){return"Date"===b.constructor.name?b.toLocaleDateString():b.toLocaleString()};const i=this.rotateTicks?this.getRotationAngle(this.ticks):null;this.adjustedScale=this.scale.bandwidth?function(b){return this.scale(b)+.5*this.scale.bandwidth()}:this.scale,this.textTransform="",i&&0!==i?(this.textTransform=`rotate(${i})`,this.textAnchor=Gs.End,this.verticalSpacing=10):this.textAnchor=Gs.Middle,setTimeout(()=>this.updateDims())}getRotationAngle(r){let i=0;this.maxTicksLength=0;for(let lt=0;ltthis.maxTicksLength&&(this.maxTicksLength=Et)}const Y=7*Math.min(this.maxTicksLength,this.maxAllowedLength);let me=Y;const Pe=Math.floor(this.width/r.length);for(;me>Pe&&i>-90;)i-=30,me=Math.cos(i*(Math.PI/180))*Y;return this.approxHeight=Math.max(Math.abs(Math.sin(i*(Math.PI/180))*Y),10),i}getTicks(){let r;const i=this.getMaxTicks(20),b=this.getMaxTicks(100);return this.tickValues?r=this.tickValues:this.scale.ticks?r=this.scale.ticks.apply(this.scale,[b]):(r=this.scale.domain(),r=tu(r,i)),r}getMaxTicks(r){return Math.floor(this.width/r)}tickTransform(r){return"translate("+this.adjustedScale(r)+","+this.verticalSpacing+")"}gridLineTransform(){return`translate(0,${-this.verticalSpacing-5})`}tickTrim(r){return this.trimTicks?wl(r,this.maxTickLength):r}}y1.\u0275fac=function(r){return new(r||y1)(e.Y36(e.Lbi))},y1.\u0275cmp=e.Xpm({type:y1,selectors:[["g","ngx-charts-x-axis-ticks",""]],viewQuery:function(r,i){if(1&r&&e.Gf(lo,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksElement=b.first)}},inputs:{scale:"scale",orient:"orient",tickArguments:"tickArguments",tickValues:"tickValues",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",gridLineHeight:"gridLineHeight",width:"width",rotateTicks:"rotateTicks"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-x-axis-ticks",""],decls:4,vars:2,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[4,"ngIf"],["y2","0",1,"gridline-path","gridline-path-vertical"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",null,0),e.YNc(2,Ms,5,7,"g",1),e.qZA(),e.YNc(3,al,2,2,"g",2)),2&r&&(e.xp6(2),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngForOf",i.ticks))},dependencies:[t.sg,t.O5],encapsulation:2,changeDetection:0});class ps{constructor(){this.rotateTicks=!0,this.showGridLines=!1,this.xOrient=es.Bottom,this.xAxisOffset=0,this.dimensionsChanged=new e.vpe,this.xAxisClassName="x axis",this.labelOffset=0,this.fill="none",this.stroke="stroke",this.tickStroke="#ccc",this.strokeWidth="none",this.padding=5,this.orientation=es}ngOnChanges(r){this.update()}update(){this.transform=`translate(0,${this.xAxisOffset+this.padding+this.dims.height})`,typeof this.xAxisTickCount<"u"&&(this.tickArguments=[this.xAxisTickCount])}emitTicksHeight({height:r}){const i=r+25+5;i!==this.labelOffset&&(this.labelOffset=i,setTimeout(()=>{this.dimensionsChanged.emit({height:r})},0))}}function ol(f,r,i,b,R,[Y,me,Pe,lt]){let gt="";return gt=`M${[f+R,r]}`,gt+="h"+((i=0===(i=Math.floor(i))?1:i)-2*R),gt+=me?`a${[R,R]} 0 0 1 ${[R,R]}`:`h${R}v${R}`,gt+="v"+((b=0===(b=Math.floor(b))?1:b)-2*R),gt+=lt?`a${[R,R]} 0 0 1 ${[-R,R]}`:`v${R}h${-R}`,gt+="h"+(2*R-i),gt+=Pe?`a${[R,R]} 0 0 1 ${[-R,-R]}`:`h${-R}v${-R}`,gt+="v"+(2*R-b),gt+=Y?`a${[R,R]} 0 0 1 ${[R,-R]}`:`v${-R}h${R}`,gt+="z",gt}ps.\u0275fac=function(r){return new(r||ps)},ps.\u0275cmp=e.Xpm({type:ps,selectors:[["g","ngx-charts-x-axis",""]],viewQuery:function(r,i){if(1&r&&e.Gf(y1,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksComponent=b.first)}},inputs:{xScale:"xScale",dims:"dims",trimTicks:"trimTicks",rotateTicks:"rotateTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",showLabel:"showLabel",labelText:"labelText",ticks:"ticks",xAxisTickCount:"xAxisTickCount",xOrient:"xOrient",xAxisOffset:"xAxisOffset"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-x-axis",""],decls:3,vars:4,consts:[["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,Ah,1,12,"g",0),e.YNc(2,h1,1,5,"g",1),e.qZA()),2&r&&(e.uIk("class",i.xAxisClassName)("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xScale),e.xp6(1),e.Q6J("ngIf",i.showLabel))},dependencies:[y1,Oc,t.O5],encapsulation:2,changeDetection:0});class b1{constructor(r){this.platformId=r,this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.showRefLabels=!1,this.showRefLines=!1,this.dimensionsChanged=new e.vpe,this.innerTickSize=6,this.tickPadding=3,this.verticalSpacing=20,this.textAnchor=Gs.Middle,this.width=0,this.outerTickSize=6,this.rotateLabels=!1,this.referenceLineLength=0,this.Orientation=es}ngOnChanges(r){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){if(!(0,t.NF)(this.platformId))return this.width=this.getApproximateAxisWidth(),void this.dimensionsChanged.emit({width:this.width});const r=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width,10);r!==this.width&&(this.width=r,this.dimensionsChanged.emit({width:r}),setTimeout(()=>this.updateDims()))}update(){let r;const i=this.orient===es.Top||this.orient===es.Right?-1:1;switch(this.tickSpacing=Math.max(this.innerTickSize,0)+this.tickPadding,r=this.scale,this.ticks=this.getTicks(),this.tickFormatting?this.tickFormat=this.tickFormatting:r.tickFormat?this.tickFormat=r.tickFormat.apply(r,this.tickArguments):this.tickFormat=function(b){return"Date"===b.constructor.name?b.toLocaleDateString():b.toLocaleString()},this.adjustedScale=r.bandwidth?function(b){return r(b)+.5*r.bandwidth()}:r,this.showRefLines&&this.referenceLines&&this.setReferencelines(),this.orient){case es.Top:case es.Bottom:this.transform=function(b){return"translate("+this.adjustedScale(b)+",0)"},this.textAnchor=Gs.Middle,this.y2=this.innerTickSize*i,this.y1=this.tickSpacing*i,this.dy=i<0?"0em":".71em";break;case es.Left:this.transform=function(b){return"translate(0,"+this.adjustedScale(b)+")"},this.textAnchor=Gs.End,this.x2=this.innerTickSize*-i,this.x1=this.tickSpacing*-i,this.dy=".32em";break;case es.Right:this.transform=function(b){return"translate(0,"+this.adjustedScale(b)+")"},this.textAnchor=Gs.Start,this.x2=this.innerTickSize*-i,this.x1=this.tickSpacing*-i,this.dy=".32em"}setTimeout(()=>this.updateDims())}setReferencelines(){this.refMin=this.adjustedScale(Math.min.apply(null,this.referenceLines.map(r=>r.value))),this.refMax=this.adjustedScale(Math.max.apply(null,this.referenceLines.map(r=>r.value))),this.referenceLineLength=this.referenceLines.length,this.referenceAreaPath=ol(0,this.refMax,this.gridLineWidth,this.refMin-this.refMax,0,[!1,!1,!1,!1])}getTicks(){let r;const i=this.getMaxTicks(20),b=this.getMaxTicks(50);return this.tickValues?r=this.tickValues:this.scale.ticks?r=this.scale.ticks.apply(this.scale,[b]):(r=this.scale.domain(),r=tu(r,i)),r}getMaxTicks(r){return Math.floor(this.height/r)}tickTransform(r){return`translate(${this.adjustedScale(r)},${this.verticalSpacing})`}gridLineTransform(){return"translate(5,0)"}tickTrim(r){return this.trimTicks?wl(r,this.maxTickLength):r}getApproximateAxisWidth(){return 7*Math.max(...this.ticks.map(b=>this.tickTrim(this.tickFormat(b)).length))}}b1.\u0275fac=function(r){return new(r||b1)(e.Y36(e.Lbi))},b1.\u0275cmp=e.Xpm({type:b1,selectors:[["g","ngx-charts-y-axis-ticks",""]],viewQuery:function(r,i){if(1&r&&e.Gf(lo,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksElement=b.first)}},inputs:{scale:"scale",orient:"orient",tickArguments:"tickArguments",tickValues:"tickValues",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",gridLineWidth:"gridLineWidth",height:"height",referenceLines:"referenceLines",showRefLabels:"showRefLabels",showRefLines:"showRefLines"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-y-axis-ticks",""],decls:6,vars:4,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],["class","reference-area",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[1,"reference-area"],[4,"ngIf"],["class","gridline-path gridline-path-horizontal","x1","0",4,"ngIf"],["x1","0",1,"gridline-path","gridline-path-horizontal"],["x1","0",1,"refline-path","gridline-path-horizontal"],[1,"refline-label"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",null,0),e.YNc(2,Th,5,9,"g",1),e.qZA(),e.YNc(3,wh,1,2,"path",2),e.YNc(4,_a,2,2,"g",3),e.YNc(5,Es,2,1,"g",3)),2&r&&(e.xp6(2),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngIf",i.referenceLineLength>1&&i.refMax&&i.refMin&&i.showRefLines),e.xp6(1),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngForOf",i.referenceLines))},dependencies:[t.sg,t.O5],encapsulation:2,changeDetection:0});class ts{constructor(){this.showGridLines=!1,this.yOrient=es.Left,this.yAxisOffset=0,this.dimensionsChanged=new e.vpe,this.yAxisClassName="y axis",this.labelOffset=15,this.fill="none",this.stroke="#CCC",this.tickStroke="#CCC",this.strokeWidth=1,this.padding=5}ngOnChanges(r){this.update()}update(){this.offset=-(this.yAxisOffset+this.padding),this.yOrient===es.Right?(this.labelOffset=65,this.transform=`translate(${this.offset+this.dims.width} , 0)`):(this.offset=this.offset,this.transform=`translate(${this.offset} , 0)`),void 0!==this.yAxisTickCount&&(this.tickArguments=[this.yAxisTickCount])}emitTicksWidth({width:r}){r!==this.labelOffset&&this.yOrient===es.Right?(this.labelOffset=r+this.labelOffset,setTimeout(()=>{this.dimensionsChanged.emit({width:r})},0)):r!==this.labelOffset&&(this.labelOffset=r,setTimeout(()=>{this.dimensionsChanged.emit({width:r})},0))}}ts.\u0275fac=function(r){return new(r||ts)},ts.\u0275cmp=e.Xpm({type:ts,selectors:[["g","ngx-charts-y-axis",""]],viewQuery:function(r,i){if(1&r&&e.Gf(b1,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksComponent=b.first)}},inputs:{yScale:"yScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",ticks:"ticks",showGridLines:"showGridLines",showLabel:"showLabel",labelText:"labelText",yAxisTickCount:"yAxisTickCount",yOrient:"yOrient",referenceLines:"referenceLines",showRefLines:"showRefLines",showRefLabels:"showRefLabels",yAxisOffset:"yAxisOffset"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-y-axis",""],decls:3,vars:4,consts:[["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,cr,1,14,"g",0),e.YNc(2,wc,1,5,"g",1),e.qZA()),2&r&&(e.uIk("class",i.yAxisClassName)("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.yScale),e.xp6(1),e.Q6J("ngIf",i.showLabel))},dependencies:[b1,Oc,t.O5],encapsulation:2,changeDetection:0});class x1{}x1.\u0275fac=function(r){return new(r||x1)},x1.\u0275mod=e.oAB({type:x1}),x1.\u0275inj=e.cJS({imports:[[t.ez]]}),function(f){f.popover="popover",f.tooltip="tooltip"}(Zs||(Zs={})),function(f){f[f.all="all"]="all",f[f.focus="focus"]="focus",f[f.mouseover="mouseover"]="mouseover"}(c2||(c2={}));class ho{constructor(r,i,b){this.tooltipService=r,this.viewContainerRef=i,this.renderer=b,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Ri.Top,this.tooltipAlignment=Ri.Center,this.tooltipType=Zs.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=c2.all,this.tooltipImmediateExit=!1,this.show=new e.vpe,this.hide=new e.vpe}get listensForFocus(){return this.tooltipShowEvent===c2.all||this.tooltipShowEvent===c2.focus}get listensForHover(){return this.tooltipShowEvent===c2.all||this.tooltipShowEvent===c2.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(r){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(r))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(r){if(this.component||this.tooltipDisabled)return;const i=r?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?300:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const b=this.createBoundOptions();this.component=this.tooltipService.create(b),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},i)}addHideListeners(r){this.mouseEnterContentEvent=this.renderer.listen(r,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(r,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",i=>{r.contains(i.target)||this.hideTooltip()}))}hideTooltip(r=!1){if(!this.component)return;const i=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),r?i():this.timeout=setTimeout(i,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}ho.\u0275fac=function(r){return new(r||ho)(e.Y36(Lc),e.Y36(e.s_b),e.Y36(e.Qsj))},ho.\u0275dir=e.lG2({type:ho,selectors:[["","ngx-tooltip",""]],hostBindings:function(r,i){1&r&&e.NdJ("focusin",function(){return i.onFocus()})("blur",function(){return i.onBlur()})("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(R){return i.onMouseLeave(R.target)})("click",function(){return i.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}});class d2{}d2.\u0275fac=function(r){return new(r||d2)},d2.\u0275mod=e.oAB({type:d2}),d2.\u0275inj=e.cJS({providers:[Vo,Lc],imports:[[t.ez]]});const cp={};function Ys(){let f=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4);return f=`a${f}`,cp[f]?Ys():(cp[f]=!0,f)}var Fa,u2,nu;!function(f){f.Vertical="vertical",f.Horizontal="horizontal"}(Fa||(Fa={}));class ll{constructor(){this.orientation=Fa.Vertical}ngOnChanges(r){this.x1="0%",this.x2="0%",this.y1="0%",this.y2="0%",this.orientation===Fa.Horizontal?this.x2="100%":this.orientation===Fa.Vertical&&(this.y1="100%")}}ll.\u0275fac=function(r){return new(r||ll)},ll.\u0275cmp=e.Xpm({type:ll,selectors:[["g","ngx-charts-svg-linear-gradient",""]],inputs:{orientation:"orientation",name:"name",stops:"stops"},features:[e.TTD],attrs:["ngx-charts-svg-linear-gradient",""],decls:2,vars:6,consts:[[3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"linearGradient",0),e.YNc(1,Fs,1,5,"stop",1),e.qZA()),2&r&&(e.Q6J("id",i.name),e.uIk("x1",i.x1)("y1",i.y1)("x2",i.x2)("y2",i.y2),e.xp6(1),e.Q6J("ngForOf",i.stops))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class C1{constructor(){this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}onClick(){this.select.emit(this.data)}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}ngOnChanges(r){this.classNames=Array.isArray(this.classNames)?this.classNames.join(" "):"",this.classNames+="circle"}}C1.\u0275fac=function(r){return new(r||C1)},C1.\u0275cmp=e.Xpm({type:C1,selectors:[["g","ngx-charts-circle",""]],hostBindings:function(r,i){1&r&&e.NdJ("click",function(){return i.onClick()})("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{cx:"cx",cy:"cy",r:"r",fill:"fill",stroke:"stroke",data:"data",classNames:"classNames",circleOpacity:"circleOpacity",pointerEvents:"pointerEvents"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-circle",""],decls:1,vars:8,template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"circle")),2&r&&e.uIk("cx",i.cx)("cy",i.cy)("r",i.r)("fill",i.fill)("stroke",i.stroke)("opacity",i.circleOpacity)("class",i.classNames)("pointer-events",i.pointerEvents)},encapsulation:2,changeDetection:0}),function(f){f.Standard="standard",f.Stacked="stacked"}(u2||(u2={}));class Pc{constructor(r){this.platformId=r,this.type=u2.Standard,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.barVisible=!1,this.barOrientation=Fa,this.placementTypes=Ri,this.styleTypes=Zs,this.isSSR=!1}ngOnInit(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(){this.update()}update(){this.circle=this.getActiveCircle()}getActiveCircle(){const r=this.data.series.findIndex(i=>{const b=i.name;return b&&this.visibleValue&&b.toString()===this.visibleValue.toString()&&void 0!==i.value});if(-1!==r)return this.mapDataPointToCircle(this.data.series[r],r)}mapDataPointToCircle(r,i){const b=this.data.name,R=r.value,Y=r.name,me=Ur(Y);let Pe;Pe=this.scaleType===Cn.Time?this.xScale(Y):this.scaleType===Cn.Linear?this.xScale(Number(Y)):this.xScale(Y);const lt=this.yScale(this.type===u2.Standard?R:r.d1),Et=this.yScale.range()[0]-lt;let St;St=this.colors.scaleType===Cn.Linear?this.type===u2.Standard?this.colors.getColor(R):this.colors.getColor(r.d1):this.colors.getColor(b);return{classNames:[`circle-data-${i}`],value:R,label:Y,data:Object.assign({},r,{series:b,value:R,name:Y}),cx:Pe,cy:lt,radius:5,height:Et,tooltipLabel:me,color:St,opacity:1,seriesName:b,gradientStops:this.getGradientStops(St),min:r.min,max:r.max}}getTooltipText({tooltipLabel:r,value:i,seriesName:b,min:R,max:Y}){return`\n ${fs(b)} \u2022 ${fs(r)}\n ${i.toLocaleString()}${this.getTooltipMinMaxText(R,Y)}\n `}getTooltipMinMaxText(r,i){if(void 0!==r||void 0!==i){let b=" (";return void 0!==r?(void 0===i&&(b+="\u2265"),b+=r.toLocaleString(),void 0!==i&&(b+=" - ")):void 0!==i&&(b+="\u2264"),void 0!==i&&(b+=i.toLocaleString()),b+=")",b}return""}getGradientStops(r){return[{offset:0,color:r,opacity:.2},{offset:100,color:r,opacity:1}]}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}activateCircle(){this.barVisible=!0,this.activate.emit({name:this.data.name})}deactivateCircle(){this.barVisible=!1,this.circle.opacity=0,this.deactivate.emit({name:this.data.name})}}Pc.\u0275fac=function(r){return new(r||Pc)(e.Y36(e.Lbi))},Pc.\u0275cmp=e.Xpm({type:Pc,selectors:[["g","ngx-charts-circle-series",""]],inputs:{data:"data",type:"type",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",visibleValue:"visibleValue",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-circle-series",""],decls:1,vars:1,consts:[[4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["class","tooltip-bar",4,"ngIf"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"],[1,"tooltip-bar"]],template:function(r,i){1&r&&e.YNc(0,Lh,6,22,"g",0),2&r&&e.Q6J("ngIf",i.circle)},dependencies:[ll,C1,t.O5,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({opacity:0}),(0,u.jt)(250,(0,u.oB)({opacity:1}))])])]},changeDetection:0});class Ld{}Ld.\u0275fac=function(r){return new(r||Ld)},Ld.\u0275cmp=e.Xpm({type:Ld,selectors:[["g","ngx-charts-grid-panel",""]],inputs:{width:"width",height:"height",x:"x",y:"y"},attrs:["ngx-charts-grid-panel",""],decls:1,vars:4,consts:[["stroke","none",1,"gridpanel"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"rect",0)),2&r&&e.uIk("height",i.height)("width",i.width)("x",i.x)("y",i.y)},encapsulation:2,changeDetection:0}),function(f){f.Odd="odd",f.Even="even"}(nu||(nu={}));class h2{ngOnChanges(r){this.update()}update(){this.gridPanels=this.getGridPanels()}getGridPanels(){return this.data.map(r=>{let i,b,R,Y,me,Pe=nu.Odd;if(this.orient===Fa.Vertical){const lt=this.xScale(r.name);Number.parseInt((lt/this.xScale.step()).toString(),10)%2==1&&(Pe=nu.Even),i=this.xScale.bandwidth()*this.xScale.paddingInner(),b=this.xScale.bandwidth()+i,R=this.dims.height,Y=this.xScale(r.name)-i/2,me=0}else if(this.orient===Fa.Horizontal){const lt=this.yScale(r.name);Number.parseInt((lt/this.yScale.step()).toString(),10)%2==1&&(Pe=nu.Even),i=this.yScale.bandwidth()*this.yScale.paddingInner(),b=this.dims.width,R=this.yScale.bandwidth()+i,Y=0,me=this.yScale(r.name)-i/2}return{name:r.name,class:Pe,height:R,width:b,x:Y,y:me}})}}h2.\u0275fac=function(r){return new(r||h2)},h2.\u0275cmp=e.Xpm({type:h2,selectors:[["g","ngx-charts-grid-panel-series",""]],inputs:{data:"data",dims:"dims",xScale:"xScale",yScale:"yScale",orient:"orient"},features:[e.TTD],attrs:["ngx-charts-grid-panel-series",""],decls:1,vars:1,consts:[["ngx-charts-grid-panel","",3,"height","width","x","y","grid-panel","odd","even",4,"ngFor","ngForOf"],["ngx-charts-grid-panel","",3,"height","width","x","y"]],template:function(r,i){1&r&&e.YNc(0,Sh,1,10,"g",0),2&r&&e.Q6J("ngForOf",i.gridPanels)},dependencies:[Ld,t.sg],encapsulation:2,changeDetection:0});class M1{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(r){this.stopsInput=r}ngOnChanges(r){this.r="30%",("color"in r||"startOpacity"in r||"endOpacity"in r)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}M1.\u0275fac=function(r){return new(r||M1)},M1.\u0275cmp=e.Xpm({type:M1,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.TTD],attrs:["ngx-charts-svg-radial-gradient",""],decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"radialGradient",0),e.YNc(1,Q0,1,5,"stop",1),e.qZA()),2&r&&(e.Q6J("id",i.name),e.uIk("cx",i.cx)("cy",i.cy)("r",i.r),e.xp6(1),e.Q6J("ngForOf",i.stops))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class f2{constructor(r){this.opacity=1,this.startOpacity=.5,this.endOpacity=1,this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.animationsLoaded=!1,this.hasGradient=!1,this.barOrientation=Fa,this.element=r.nativeElement}ngOnChanges(){this.update(),this.animationsLoaded||(this.loadAnimation(),this.animationsLoaded=!0)}update(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl()}loadAnimation(){this.areaPath=this.startingPath,setTimeout(this.updatePathEl.bind(this),100)}updatePathEl(){const r=Ln(this.element).select(".area");this.animations?r.transition().duration(750).attr("d",this.path):r.attr("d",this.path)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.startOpacity},{offset:100,color:this.fill,opacity:this.endOpacity}]}}function P4(f,r,i,b){return i*(1-Math.pow(2,-10*f/b))*1024/1023+r}function dp(f,r,i,b,R){const Y=Number(f),me=Number(r),Pe=Y>me,lt=Math.max(0,i),gt=Math.pow(10,lt),Et=1e3*Number(b);let Zt;function St(vn){let wn;const Zn=vn-Zt;wn=Pe?Y-P4(Zn,0,Y-me,Et):P4(Zn,Y,me-Y,Et),wn=Pe?wnme?me:wn,wn=Math.round(wn*gt)/gt;const _n=ZnSt(jn))}return requestAnimationFrame(vn=>(Zt=vn,St(vn)))}function Qh(f){const r=Number(f);return r%1!=0&&Math.abs(r)<=10?2:0}f2.\u0275fac=function(r){return new(r||f2)(e.Y36(e.SBq))},f2.\u0275cmp=e.Xpm({type:f2,selectors:[["g","ngx-charts-area",""]],inputs:{data:"data",path:"path",startingPath:"startingPath",fill:"fill",opacity:"opacity",startOpacity:"startOpacity",endOpacity:"endOpacity",gradient:"gradient",stops:"stops",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-area",""],decls:2,vars:5,consts:[[4,"ngIf"],[1,"area"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.YNc(0,X3,2,3,"defs",0),e.O4$(),e._UZ(1,"path",1)),2&r&&(e.Q6J("ngIf",i.gradient),e.xp6(1),e.Udp("opacity",i.opacity),e.uIk("d",i.areaPath)("fill",i.gradient?i.gradientFill:i.fill))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0});class kc{constructor(r,i){this.cd=r,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.vpe,this.countFinish=new e.vpe,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=i.nativeElement}set countDecimals(r){this._countDecimals=r}get countDecimals(){return this._countDecimals?this._countDecimals:Qh(this.countTo)}set countTo(r){this._countTo=parseFloat(r),this.start()}get countTo(){return this._countTo}set countFrom(r){this._countFrom=parseFloat(r),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const r=this.valueFormatting||(b=>`${this.countPrefix}${b.toLocaleString()}${this.countSuffix}`);this.animationReq=dp(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:b,progress:R,finished:Y})=>{this.value=r(b),this.cd.markForCheck(),Y||this.countChange.emit({value:this.value,progress:R}),Y&&this.countFinish.emit({value:this.value,progress:R})})}}let jh;kc.\u0275fac=function(r){return new(r||kc)(e.Y36(e.sBO),e.Y36(e.SBq))},kc.\u0275cmp=e.Xpm({type:kc,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:["ngx-charts-count-up",""],decls:1,vars:1,template:function(r,i){1&r&&e._uU(0),2&r&&e.hij(" ",i.value," ")},encapsulation:2}),typeof window<"u"?jh=window:typeof global<"u"&&(jh=global);const qh=jh.MouseEvent;function Xh(f,r=!1,i=!0){if("function"==typeof qh)return new qh(f,{bubbles:r,cancelable:i});{const b=document.createEvent("MouseEvent");return b.initEvent(f,r,i),b}}class tc{constructor(r){this.platformId=r,this.anchorOpacity=0,this.anchorPos=-1,this.anchorValues=[],this.placementTypes=Ri,this.styleTypes=Zs,this.showPercentage=!1,this.tooltipDisabled=!1,this.hover=new e.vpe}getValues(r){const i=[];for(const b of this.results){const R=b.series.find(me=>me.name.toString()===r.toString());let Y=b.name;if(Y instanceof Date&&(Y=Y.toLocaleDateString()),R){const me=R.name;let lt,Pe=R.value;if(this.showPercentage&&(Pe=(R.d1-R.d0).toFixed(2)+"%"),this.colors.scaleType===Cn.Linear){let Et=Pe;R.d1&&(Et=R.d1),lt=this.colors.getColor(Et)}else lt=this.colors.getColor(b.name);const gt=Object.assign({},R,{value:Pe,name:me,series:Y,min:R.min,max:R.max,color:lt});i.push(gt)}}return i}mouseMove(r){if(!(0,t.NF)(this.platformId))return;const i=r.pageX-r.target.getBoundingClientRect().left,b=this.findClosestPointIndex(i),R=this.xSet[b];if(this.anchorPos=this.xScale(R),this.anchorPos=Math.max(0,this.anchorPos),this.anchorPos=Math.min(this.dims.width,this.anchorPos),this.anchorValues=this.getValues(R),this.anchorPos!==this.lastAnchorPos){const Y=Xh("mouseleave");this.tooltipAnchor.nativeElement.dispatchEvent(Y),this.anchorOpacity=.7,this.hover.emit({value:R}),this.showTooltip(),this.lastAnchorPos=this.anchorPos}}findClosestPointIndex(r){let i=0,b=this.xSet.length-1,R=Number.MAX_VALUE,Y=0;for(;i<=b;){const me=(i+b)/2|0,Pe=this.xScale(this.xSet[me]),lt=Math.abs(Pe-r);if(ltr)){R=0,Y=me;break}b=me-1}}return Y}showTooltip(){const r=Xh("mouseenter");this.tooltipAnchor.nativeElement.dispatchEvent(r)}hideTooltip(){const r=Xh("mouseleave");this.tooltipAnchor.nativeElement.dispatchEvent(r),this.anchorOpacity=0,this.lastAnchorPos=-1}getToolTipText(r){let i="";return void 0!==r.series?i+=r.series:i+="???",i+=": ",void 0!==r.value&&(i+=r.value.toLocaleString()),(void 0!==r.min||void 0!==r.max)&&(i+=" (",void 0!==r.min?(void 0===r.max&&(i+="\u2265"),i+=r.min.toLocaleString(),void 0!==r.max&&(i+=" - ")):void 0!==r.max&&(i+="\u2264"),void 0!==r.max&&(i+=r.max.toLocaleString()),i+=")"),i}}tc.\u0275fac=function(r){return new(r||tc)(e.Y36(e.Lbi))},tc.\u0275cmp=e.Xpm({type:tc,selectors:[["g","ngx-charts-tooltip-area",""]],viewQuery:function(r,i){if(1&r&&e.Gf($3,5),2&r){let b;e.iGM(b=e.CRH())&&(i.tooltipAnchor=b.first)}},inputs:{dims:"dims",xSet:"xSet",xScale:"xScale",yScale:"yScale",results:"results",colors:"colors",showPercentage:"showPercentage",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{hover:"hover"},attrs:["ngx-charts-tooltip-area",""],decls:6,vars:18,consts:[["y","0",1,"tooltip-area",2,"opacity","0","cursor","auto",3,"mousemove","mouseleave"],["defaultTooltipTemplate",""],["y","0","ngx-tooltip","",1,"tooltip-anchor",3,"tooltipDisabled","tooltipPlacement","tooltipType","tooltipSpacing","tooltipTemplate","tooltipContext","tooltipImmediateExit"],["tooltipAnchor",""],[1,"area-tooltip-container"],["class","tooltip-item",4,"ngFor","ngForOf"],[1,"tooltip-item"],[1,"tooltip-item-color"]],template:function(r,i){if(1&r&&(e.O4$(),e.TgZ(0,"g")(1,"rect",0),e.NdJ("mousemove",function(R){return i.mouseMove(R)})("mouseleave",function(){return i.hideTooltip()}),e.qZA(),e.YNc(2,e4,2,1,"ng-template",null,1,e.W1O),e._UZ(4,"rect",2,3),e.qZA()),2&r){const b=e.MAs(3);e.xp6(1),e.uIk("x",0)("width",i.dims.width)("height",i.dims.height),e.xp6(3),e.Udp("opacity",i.anchorOpacity)("pointer-events","none"),e.Q6J("@animationState",0!==i.anchorOpacity?"active":"inactive")("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.placementTypes.Right)("tooltipType",i.styleTypes.tooltip)("tooltipSpacing",15)("tooltipTemplate",i.tooltipTemplate?i.tooltipTemplate:b)("tooltipContext",i.anchorValues)("tooltipImmediateExit",!0),e.uIk("x",i.anchorPos)("width",1)("height",i.dims.height)}},dependencies:[t.sg,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)("inactive => active",[(0,u.oB)({opacity:0}),(0,u.jt)(250,(0,u.oB)({opacity:.7}))]),(0,u.eR)("active => inactive",[(0,u.oB)({opacity:.7}),(0,u.jt)(250,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class Il{constructor(r,i){this.cd=i,this.height=50,this.select=new e.vpe,this.onDomainChange=new e.vpe,this.initialized=!1,this.element=r.nativeElement}ngOnChanges(r){this.update(),this.initialized||(this.addBrush(),this.initialized=!0)}update(){this.dims=this.getDims(),this.height=this.dims.height;const r=this.view[1]-this.height;this.xDomain=this.getXDomain(),this.xScale=this.getXScale(),this.brush&&this.updateBrush(),this.transform=`translate(0 , ${r})`,this.filterId="filter"+Ys().toString(),this.filter=`url(#${this.filterId})`,this.cd.markForCheck()}getXDomain(){let r=[];for(const b of this.results)for(const R of b.series)r.includes(R.name)||r.push(R.name);let i=[];if(this.scaleType===Cn.Time){i=[Math.min(...r),Math.max(...r)]}else if(this.scaleType===Cn.Linear){r=r.map(Y=>Number(Y));i=[Math.min(...r),Math.max(...r)]}else i=r;return i}getXScale(){let r;return this.scaleType===Cn.Time?r=Ql().range([0,this.dims.width]).domain(this.xDomain):this.scaleType===Cn.Linear?r=Ga().range([0,this.dims.width]).domain(this.xDomain):this.scaleType===Cn.Ordinal&&(r=er().range([0,this.dims.width]).padding(.1).domain(this.xDomain)),r}addBrush(){if(this.brush)return;const r=this.height,i=this.view[0];this.brush=function at(){return mn(Bo)}().extent([[0,0],[i,r]]).on("brush end",({selection:b})=>{const Y=(b||this.xScale.range()).map(this.xScale.invert);this.onDomainChange.emit(Y),this.cd.markForCheck()}),Ln(this.element).select(".brush").call(this.brush)}updateBrush(){if(!this.brush)return;const r=this.height,i=this.view[0];this.brush.extent([[0,0],[i,r]]),Ln(this.element).select(".brush").call(this.brush),Ln(this.element).select(".selection").attr("fill",void 0).attr("stroke",void 0).attr("fill-opacity",void 0),this.cd.markForCheck()}getDims(){return{width:this.view[0],height:this.height}}}Il.\u0275fac=function(r){return new(r||Il)(e.Y36(e.SBq),e.Y36(e.sBO))},Il.\u0275cmp=e.Xpm({type:Il,selectors:[["g","ngx-charts-timeline",""]],inputs:{view:"view",results:"results",scheme:"scheme",customColors:"customColors",legend:"legend",autoScale:"autoScale",scaleType:"scaleType",height:"height"},outputs:{select:"select",onDomainChange:"onDomainChange"},features:[e.TTD],attrs:["ngx-charts-timeline",""],ngContentSelectors:Ns,decls:7,vars:4,consts:[[1,"timeline"],["in","SourceGraphic","type","matrix","values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"],[1,"embedded-chart"],["x","0","y","0",1,"brush-background"],[1,"brush"]],template:function(r,i){1&r&&(e.F$t(),e.O4$(),e.TgZ(0,"g",0)(1,"filter"),e._UZ(2,"feColorMatrix",1),e.qZA(),e.TgZ(3,"g",2),e.Hsn(4),e.qZA(),e._UZ(5,"rect",3)(6,"g",4),e.qZA()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.uIk("id",i.filterId),e.xp6(4),e.uIk("width",i.view[0])("height",i.height))},styles:[".timeline .brush-background{fill:#0000000d}.timeline .brush .selection{fill:#0000001a;stroke-width:1px;stroke:#888}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\n"],encapsulation:2,changeDetection:0});class p2{constructor(){this.label="Total",this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.legendItems=[],this.labelFormatting=r=>r,this.percentageFormatting=r=>r,this.defaultValueFormatting=r=>r.toLocaleString()}ngOnChanges(r){this.update()}getTotal(){return this.data.map(r=>Number(r.value)).reduce((r,i)=>r+i,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(r=>{const i=Ur(r.name),b=r.value,R=this.colors.getColor(i),Y=this.total>0?b/this.total*100:0,me="function"==typeof this.labelFormatting?this.labelFormatting(i):i;return{_value:b,data:r,value:b,color:R,label:me,displayLabel:wl(me,20),origialLabel:r.name,percentage:this.percentageFormatting?this.percentageFormatting(Y):Y.toLocaleString()}})}trackBy(r,i){return i.label}}p2.\u0275fac=function(r){return new(r||p2)},p2.\u0275cmp=e.Xpm({type:p2,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(r,i){1&r&&(e.TgZ(0,"div",0),e.YNc(1,df,1,2,"div",1),e.YNc(2,uf,2,1,"div",2),e.TgZ(3,"div",3),e._uU(4),e.qZA(),e.TgZ(5,"div",4)(6,"div",5),e.YNc(7,Up,8,7,"div",6),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px"),e.xp6(1),e.Q6J("ngIf",i.animations),e.xp6(1),e.Q6J("ngIf",!i.animations),e.xp6(2),e.hij(" ",i.label," "),e.xp6(3),e.Q6J("ngForOf",i.legendItems)("ngForTrackBy",i.trackBy))},dependencies:[kc,t.O5,t.sg],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0});class Ds{}function fr({width:f,height:r,margins:i,showXAxis:b=!1,showYAxis:R=!1,xAxisHeight:Y=0,yAxisWidth:me=0,showXLabel:Pe=!1,showYLabel:lt=!1,showLegend:gt=!1,legendType:Et=Cn.Ordinal,legendPosition:Zt=hr.Right,columns:St=12}){let vn=i[3],wn=f,Zn=r-i[0]-i[2];return gt&&Zt===hr.Right&&(Et===Cn.Ordinal?St-=2:St-=1),wn=wn*St/12,wn=wn-i[1]-i[3],b&&(Zn-=5,Zn-=Y,Pe&&(Zn-=30)),R&&(wn-=5,wn-=me,vn+=me,vn+=10,lt&&(wn-=30,vn+=30)),wn=Math.max(0,wn),Zn=Math.max(0,Zn),{width:Math.floor(wn),height:Math.floor(Zn),xOffset:Math.floor(vn)}}Ds.\u0275fac=function(r){return new(r||Ds)},Ds.\u0275mod=e.oAB({type:Ds}),Ds.\u0275inj=e.cJS({imports:[[t.ez,x1,d2],t.ez,x1,d2]});let E1=[{name:"vivid",selectable:!0,group:Cn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:Cn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:Cn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:Cn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:Cn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:Cn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:Cn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:Cn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:Cn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:Cn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:Cn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:Cn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:Cn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:Cn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:Cn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class Lr{constructor(r,i,b,R){"string"==typeof r&&(r=E1.find(Y=>Y.name===r)),this.colorDomain=r.domain,this.scaleType=i,this.domain=b,this.customColors=R,this.scale=this.generateColorScheme(r,i,this.domain)}generateColorScheme(r,i,b){let R;switch("string"==typeof r&&(r=E1.find(Y=>Y.name===r)),i){case Cn.Quantile:R=B0().range(r.domain).domain(b);break;case Cn.Ordinal:R=Y1().range(r.domain).domain(b);break;case Cn.Linear:{const Y=[...r.domain];1===Y.length&&(Y.push(Y[0]),this.colorDomain=Y);const me=O0(0,1,1/Y.length);R=Ga().range(Y).domain(me)}}return R}getColor(r){if(null==r)throw new Error("Value can not be null");if(this.scaleType===Cn.Linear){const i=Ga().domain(this.domain).range([0,1]);return this.scale(i(r))}{if("function"==typeof this.customColors)return this.customColors(r);const i=r.toString();let b;return this.customColors&&this.customColors.length>0&&(b=this.customColors.find(R=>R.name.toLowerCase()===i.toLowerCase())),b?b.value:this.scale(r)}}getLinearGradientStops(r,i){void 0===i&&(i=this.domain[0]);const b=Ga().domain(this.domain).range([0,1]),R=qr().domain(this.colorDomain).range([0,1]),Y=this.getColor(r),me=b(i),Pe=this.getColor(i),lt=b(r);let gt=1,Et=me;const Zt=[];for(Zt.push({color:Pe,offset:me,originalOffset:me,opacity:1});Et=(lt-R.bandwidth()).toFixed(4))break;Zt.push({color:St,offset:vn,opacity:1}),Et=vn,gt++}}if(Zt[Zt.length-1].offset<100&&Zt.push({color:Y,offset:lt,opacity:1}),lt===me)Zt[0].offset=0,Zt[1].offset=100;else if(100!==Zt[Zt.length-1].offset)for(const St of Zt)St.offset=(St.offset-me)/(lt-me)*100;return Zt}}function iu(f){const r=new Set;for(const i of f)for(const b of i.series)r.add(b.name);return Array.from(r)}function Io(f,r=!0){return r&&f.every(R=>R instanceof Date)?Cn.Time:f.every(b=>"number"==typeof b)?Cn.Linear:Cn.Ordinal}function Sd(f,r,i="asc"){return f.sort((b,R)=>"asc"===i?b[r]-R[r]:R[r]-b[r])}function hp(f,r,i="asc",b){return f.sort((R,Y)=>{const me=R[r],Pe=Y[r],lt=b.indexOf(me),gt=b.indexOf(Pe);return"asc"===i?lt-gt:gt-lt})}function au(f,r,i="asc"){return f.sort((b,R)=>{const Y=b[r].getTime(),me=R[r].getTime();return"asc"===i?Y>me?1:me>Y?-1:0:Y>me?-1:me>Y?1:0})}class Rc{constructor(){this.baseValue="auto",this.stacked=!1,this.normalized=!1,this.animations=!0,this.select=new e.vpe}ngOnChanges(r){this.update()}update(){let r,i;this.updateGradient();const b=Y=>{const me=Y.name;return this.xScale(me)};this.stacked||this.normalized?(r=Xl().x(b).y0((Y,me)=>this.yScale(Y.d0)).y1((Y,me)=>this.yScale(Y.d1)),i=Xl().x(b).y0(Y=>this.yScale.range()[0]).y1(Y=>this.yScale.range()[0])):(r=Xl().x(b).y0(()=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue)).y1(Y=>this.yScale(Y.value)),i=Xl().x(b).y0(Y=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue)).y1(Y=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue))),r.curve(this.curve),i.curve(this.curve),this.opacity=.8;let R=this.data.series;R=this.scaleType===Cn.Linear?Sd(R,"name"):this.scaleType===Cn.Time?au(R,"name"):hp(R,"name","asc",this.xScale.domain()),this.path=r(R),this.startingPath=i(R)}updateGradient(){if(this.colors.scaleType===Cn.Linear)if(this.hasGradient=!0,this.stacked||this.normalized){const r=this.data.series.map(Y=>Y.d0),i=this.data.series.map(Y=>Y.d1),b=Math.max(...i),R=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(b,R)}else{const r=this.data.series.map(b=>b.value),i=Math.max(...r);this.gradientStops=this.colors.getLinearGradientStops(i)}else this.hasGradient=!1,this.gradientStops=void 0}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}}Rc.\u0275fac=function(r){return new(r||Rc)},Rc.\u0275cmp=e.Xpm({type:Rc,selectors:[["g","ngx-charts-area-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",baseValue:"baseValue",colors:"colors",scaleType:"scaleType",stacked:"stacked",normalized:"normalized",gradient:"gradient",curve:"curve",activeEntries:"activeEntries",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-area-series",""],decls:1,vars:12,consts:[["ngx-charts-area","",1,"area-series",3,"data","path","fill","stops","startingPath","opacity","gradient","animations"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"g",0)),2&r&&(e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.path)("fill",i.colors.getColor(i.data.name))("stops",i.gradientStops)("startingPath",i.startingPath)("opacity",i.opacity)("gradient",i.gradient||i.hasGradient)("animations",i.animations))},dependencies:[f2],encapsulation:2,changeDetection:0});class Jh extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!1,this.yAxis=!1,this.baseValue="auto",this.autoScale=!1,this.timeline=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.trackBy=(r,i)=>i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height),this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset}, ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Y=>Number(Y))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Y,me)=>{const Pe=Y.getTime(),lt=me.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Y,me)=>Y-me)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(const Y of this.results)for(const me of Y.series)r.includes(me.value)||r.push(me.value);const i=[...r];this.autoScale||i.push(0),"auto"!==this.baseValue&&i.push(this.baseValue);return[this.yScaleMin?this.yScaleMin:Math.min(...i),this.yScaleMax?this.yScaleMax:Math.max(...i)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}getScaleType(r){let i=!0,b=!0;for(const R of r)l2(R)&&(i=!1),S6(R)&&(b=!1);return i?Cn.Time:b?Cn.Linear:Cn.Ordinal}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Jh.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Jh)))(i||Jh)}}(),Jh.\u0275cmp=e.Xpm({type:Jh,selectors:[["ngx-charts-area-chart"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",baseValue:"baseValue",autoScale:"autoScale",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","baseValue","colors","data","activeEntries","scaleType","gradient","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","baseValue","colors","data","scaleType","gradient","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,Vp,1,10,"g",2),e.YNc(6,ff,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,Wp,2,10,"g",4),e.YNc(9,_f,3,9,"g",5),e.qZA()(),e.YNc(10,Gp,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[".ngx-charts-outer{-webkit-animation:chartFadeIn linear .6s;animation:chartFadeIn linear .6s}@-webkit-keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n"],encapsulation:2,changeDetection:0});class Ll extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.showXAxisLabel=!1,this.showYAxisLabel=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.yDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.seriesType=u2,this.timelineHeight=50,this.timelinePadding=10,this.trackBy=(r,i)=>i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height);for(let r=0;r{let lt=Pe.name,gt=i;return this.scaleType===Cn.Time&&(lt=lt.valueOf(),gt=gt.valueOf()),lt===gt});me&&(R+=me.value)}for(const Y of this.results){let me=Y.series.find(Pe=>{let lt=Pe.name,gt=i;return this.scaleType===Cn.Time&&(lt=lt.valueOf(),gt=gt.valueOf()),lt===gt});me?(me.d0=b,me.d1=b+me.value,b+=me.value):(me={name:i,value:0,d0:b,d1:b},Y.series.push(me)),R>0?(me.d0=100*me.d0/R,me.d1=100*me.d1/R):(me.d0=0,me.d1=0)}}this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let i=[];if(this.scaleType===Cn.Time){const b=Math.min(...r),R=Math.max(...r);i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Y,me)=>{const Pe=Y.getTime(),lt=me.getTime();return Pe>lt?1:lt>Pe?-1:0})}else if(this.scaleType===Cn.Linear){r=r.map(Y=>Number(Y));i=[Math.min(...r),Math.max(...r)],this.xSet=[...r].sort((Y,me)=>Y-me)}else i=r,this.xSet=r;return i}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Ll.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Ll)))(i||Ll)}}(),Ll.\u0275cmp=e.Xpm({type:Ll,selectors:[["ngx-charts-area-chart-normalized"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","activeEntries","gradient","normalized","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","showPercentage","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"type","xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","normalized","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,t4,1,10,"g",2),e.YNc(6,Zp,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,Yp,2,10,"g",4),e.YNc(9,ec,3,10,"g",5),e.qZA()(),e.YNc(10,mf,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class ru extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!1,this.yAxis=!1,this.timeline=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.seriesType=u2}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height);for(let r=0;r{let Pe=me.name,lt=i;return this.scaleType===Cn.Time&&(Pe=Pe.valueOf(),lt=lt.valueOf()),Pe===lt});Y?(Y.d0=b,Y.d1=b+Y.value,b+=Y.value):(Y={name:i,value:0,d0:b,d1:b},R.series.push(Y))}}this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Y=>Number(Y))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Y,me)=>{const Pe=Y.getTime(),lt=me.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Y,me)=>Y-me)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(let R=0;R{let Et=gt.name,Zt=Y;return this.scaleType===Cn.Time&&(Et=Et.valueOf(),Zt=Zt.valueOf()),Et===Zt});lt&&(me+=lt.value)}r.push(me)}return[this.yScaleMin?this.yScaleMin:Math.min(0,...r),this.yScaleMax?this.yScaleMax:Math.max(...r)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}trackBy(r,i){return`${i.name}`}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}ru.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(ru)))(i||ru)}}(),ru.\u0275cmp=e.Xpm({type:ru,selectors:[["ngx-charts-area-chart-stacked"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","activeEntries","stacked","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],["ngx-charts-circle-series","",3,"type","xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","stacked","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,i4,1,10,"g",2),e.YNc(6,jp,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,qp,2,10,"g",4),e.YNc(9,Ph,3,10,"g",5),e.qZA()(),e.YNc(10,$p,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class Od{}Od.\u0275fac=function(r){return new(r||Od)},Od.\u0275mod=e.oAB({type:Od}),Od.\u0275inj=e.cJS({imports:[[Ds]]});class _2{constructor(r){this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.hasGradient=!1,this.hideBar=!1,this.element=r.nativeElement}ngOnChanges(r){r.roundEdges&&this.loadAnimation(),this.update()}update(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl(),this.checkToHideBar()}loadAnimation(){this.path=this.getStartingPath(),setTimeout(this.update.bind(this),100)}updatePathEl(){const r=Ln(this.element).select(".bar"),i=this.getPath();this.animations?r.transition().duration(500).attr("d",i):r.attr("d",i)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartingPath(){if(!this.animations)return this.getPath();let i,r=this.getRadius();return this.roundEdges?this.orientation===Fa.Vertical?(r=Math.min(this.height,r),i=ol(this.x,this.y+this.height,this.width,1,0,this.edges)):this.orientation===Fa.Horizontal&&(r=Math.min(this.width,r),i=ol(this.x,this.y,1,this.height,0,this.edges)):this.orientation===Fa.Vertical?i=ol(this.x,this.y+this.height,this.width,1,0,this.edges):this.orientation===Fa.Horizontal&&(i=ol(this.x,this.y,1,this.height,0,this.edges)),i}getPath(){let i,r=this.getRadius();return this.roundEdges?this.orientation===Fa.Vertical?(r=Math.min(this.height,r),i=ol(this.x,this.y,this.width,this.height,r,this.edges)):this.orientation===Fa.Horizontal&&(r=Math.min(this.width,r),i=ol(this.x,this.y,this.width,this.height,r,this.edges)):i=ol(this.x,this.y,this.width,this.height,r,this.edges),i}getRadius(){let r=0;return this.roundEdges&&this.height>5&&this.width>5&&(r=Math.floor(Math.min(5,this.height/2,this.width/2))),r}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let r=[!1,!1,!1,!1];return this.roundEdges&&(this.orientation===Fa.Vertical?r=this.data.value>0?[!0,!0,!1,!1]:[!1,!1,!0,!0]:this.orientation===Fa.Horizontal&&(r=this.data.value>0?[!1,!0,!1,!0]:[!0,!1,!0,!1])),r}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&(this.orientation===Fa.Vertical&&0===this.height||this.orientation===Fa.Horizontal&&0===this.width)}}var pr,cl;_2.\u0275fac=function(r){return new(r||_2)(e.Y36(e.SBq))},_2.\u0275cmp=e.Xpm({type:_2,selectors:[["g","ngx-charts-bar",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",orientation:"orientation",roundEdges:"roundEdges",gradient:"gradient",offset:"offset",isActive:"isActive",stops:"stops",animations:"animations",ariaLabel:"ariaLabel",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-bar",""],decls:2,vars:8,consts:[[4,"ngIf"],["stroke","none","role","img","tabIndex","-1",1,"bar",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.YNc(0,Rh,2,3,"defs",0),e.O4$(),e.TgZ(1,"path",1),e.NdJ("click",function(){return i.select.emit(i.data)}),e.qZA()),2&r&&(e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.isActive)("hidden",i.hideBar),e.uIk("d",i.path)("aria-label",i.ariaLabel)("fill",i.hasGradient?i.gradientFill:i.fill))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0}),function(f){f.Standard="standard",f.Normalized="normalized",f.Stacked="stacked"}(pr||(pr={})),function(f){f.positive="positive",f.negative="negative"}(cl||(cl={}));class Bc{constructor(r){this.dimensionsChanged=new e.vpe,this.horizontalPadding=2,this.verticalPadding=5,this.element=r.nativeElement}ngOnChanges(r){this.update()}getSize(){return{height:this.element.getBoundingClientRect().height,width:this.element.getBoundingClientRect().width,negative:this.value<0}}ngAfterViewInit(){this.dimensionsChanged.emit(this.getSize())}update(){this.valueFormatting?this.formatedValue=this.valueFormatting(this.value):this.formatedValue=Ur(this.value),"horizontal"===this.orientation?(this.x=this.barX+this.barWidth,this.value<0?(this.x=this.x-this.horizontalPadding,this.textAnchor="end"):(this.x=this.x+this.horizontalPadding,this.textAnchor="start"),this.y=this.barY+this.barHeight/2):(this.x=this.barX+this.barWidth/2,this.y=this.barY+this.barHeight,this.value<0?(this.y=this.y+this.verticalPadding,this.textAnchor="end"):(this.y=this.y-this.verticalPadding,this.textAnchor="start"),this.transform=`rotate(-45, ${this.x} , ${this.y})`)}}Bc.\u0275fac=function(r){return new(r||Bc)(e.Y36(e.SBq))},Bc.\u0275cmp=e.Xpm({type:Bc,selectors:[["g","ngx-charts-bar-label",""]],inputs:{value:"value",valueFormatting:"valueFormatting",barX:"barX",barY:"barY",barWidth:"barWidth",barHeight:"barHeight",orientation:"orientation"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-bar-label",""],decls:2,vars:5,consts:[["alignment-baseline","middle",1,"textDataLabel"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"text",0),e._uU(1),e.qZA()),2&r&&(e.uIk("text-anchor",i.textAnchor)("transform",i.transform)("x",i.x)("y",i.y),e.xp6(1),e.hij(" ",i.formatedValue," "))},styles:[".textDataLabel[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0});class Wo{constructor(){this.type=pr.Standard,this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dataLabelWidthChanged=new e.vpe,this.barsForDataLabels=[],this.barOrientation=Fa}ngOnChanges(r){this.update()}update(){this.updateTooltipSettings();const r={[cl.positive]:0,[cl.negative]:0};let i,b;i=cl.positive,this.type===pr.Normalized&&(b=this.series.map(Y=>Y.value).reduce((Y,me)=>Y+me,0));const R=Math.max(this.xScale.domain()[0],0);this.bars=this.series.map(Y=>{let me=Y.value;const Pe=this.getLabel(Y),lt=Ur(Pe),gt=this.roundEdges;i=me>0?cl.positive:cl.negative;const Et={value:me,label:Pe,roundEdges:gt,data:Y,formattedLabel:lt};if(Et.height=this.yScale.bandwidth(),this.type===pr.Standard)Et.width=Math.abs(this.xScale(me)-this.xScale(R)),Et.x=me<0?this.xScale(me):this.xScale(R),Et.y=this.yScale(Pe);else if(this.type===pr.Stacked){const St=r[i],vn=St+me;r[i]+=me,Et.width=this.xScale(vn)-this.xScale(St),Et.x=this.xScale(St),Et.y=0,Et.offset0=St,Et.offset1=vn}else if(this.type===pr.Normalized){let St=r[i],vn=St+me;r[i]+=me,b>0?(St=100*St/b,vn=100*vn/b):(St=0,vn=0),Et.width=this.xScale(vn)-this.xScale(St),Et.x=this.xScale(St),Et.y=0,Et.offset0=St,Et.offset1=vn,me=(vn-St).toFixed(2)+"%"}this.colors.scaleType===Cn.Ordinal?Et.color=this.colors.getColor(Pe):this.type===pr.Standard?(Et.color=this.colors.getColor(me),Et.gradientStops=this.colors.getLinearGradientStops(me)):(Et.color=this.colors.getColor(Et.offset1),Et.gradientStops=this.colors.getLinearGradientStops(Et.offset1,Et.offset0));let Zt=lt;return Et.ariaLabel=lt+" "+me.toLocaleString(),null!==this.seriesName&&void 0!==this.seriesName&&(Zt=`${this.seriesName} \u2022 ${lt}`,Et.data.series=this.seriesName,Et.ariaLabel=this.seriesName+" "+Et.ariaLabel),Et.tooltipText=this.tooltipDisabled?void 0:`\n ${fs(Zt)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(me):me.toLocaleString()}\n `,Et}),this.updateDataLabels()}updateDataLabels(){if(this.type===pr.Stacked){this.barsForDataLabels=[];const r={};r.series=this.seriesName;const i=this.series.map(R=>R.value).reduce((R,Y)=>Y>0?R+Y:R,0),b=this.series.map(R=>R.value).reduce((R,Y)=>Y<0?R+Y:R,0);r.total=i+b,r.x=0,r.y=0,r.total>0?r.width=this.xScale(i):r.width=this.xScale(b),r.height=this.yScale.bandwidth(),this.barsForDataLabels.push(r)}else this.barsForDataLabels=this.series.map(r=>{const i={};return i.series=this.seriesName??r.label,i.total=r.value,i.x=this.xScale(0),i.y=this.yScale(r.label),i.width=this.xScale(i.total)-this.xScale(0),i.height=this.yScale.bandwidth(),i})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:Ri.Top,this.tooltipType=this.tooltipDisabled?void 0:Zs.tooltip}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.value===b.value)}getLabel(r){return r.label?r.label:r.name}trackBy(r,i){return i.label}trackDataLabelBy(r,i){return r+"#"+i.series+"#"+i.total}click(r){this.select.emit(r)}}Wo.\u0275fac=function(r){return new(r||Wo)},Wo.\u0275cmp=e.Xpm({type:Wo,selectors:[["g","ngx-charts-series-horizontal",""]],inputs:{dims:"dims",type:"type",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",tooltipDisabled:"tooltipDisabled",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",animations:"animations",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelWidthChanged:"dataLabelWidthChanged"},features:[e.TTD],attrs:["ngx-charts-series-horizontal",""],decls:2,vars:3,consts:[["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","isActive","ariaLabel","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","isActive","ariaLabel","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(r,i){1&r&&(e.YNc(0,a4,1,21,"g",0),e.YNc(1,r4,2,2,"g",1)),2&r&&(e.Q6J("ngForOf",i.bars)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",i.showDataLabel))},dependencies:[_2,Bc,t.sg,ho,t.O5],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class As extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getXScale(){this.xDomain=this.getXDomain();const r=Ga().range([0,this.dims.width]).domain(this.xDomain);return this.roundDomains?r.nice():r}getYScale(){this.yDomain=this.getYDomain();const r=this.yDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.yDomain)}getXDomain(){const r=this.results.map(R=>R.value);return[this.xScaleMin?Math.min(this.xScaleMin,...r):Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(0,...r)]}getYDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.yDomain:this.xDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===r.scaleType?(r.domain=this.yDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.xDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),r.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}As.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(As)))(i||As)}}(),As.\u0275cmp=e.Xpm({type:As,selectors:[["ngx-charts-bar-horizontal"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",xScaleMax:"xScaleMax",xScaleMin:"xScaleMin",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-series-horizontal","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","activeEntries","roundEdges","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,gf,1,10,"g",2),e.YNc(3,vf,1,9,"g",3),e.TgZ(4,"g",4),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)})("dataLabelWidthChanged",function(R){return i.onDataLabelMaxWidthChanged(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(22,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("series",i.results)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("activeEntries",i.activeEntries)("roundEdges",i.roundEdges)("animations",i.animations)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("noBarWhenZero",i.noBarWhenZero))},dependencies:[Qa,ps,ts,Wo,t.O5],styles:[$r],encapsulation:2,changeDetection:0});class $h extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0},this.isSSR=!1,this.barOrientation=Fa,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupScale(){const r=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).paddingOuter(r/2).domain(this.groupDomain)}getInnerScale(){const r=this.groupScale.bandwidth(),i=this.innerDomain.length/(r/this.barPadding+1);return qr().rangeRound([0,r]).paddingInner(i).domain(this.innerDomain)}getValueScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];for(const R of this.results)for(const Y of R.series)r.includes(Y.value)||r.push(Y.value);return[Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(0,...r)]}groupTransform(r){return`translate(0, ${this.groupScale(r.label)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r,i){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),i===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}$h.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z($h)))(i||$h)}}(),$h.\u0275cmp=e.Xpm({type:$h,selectors:[["ngx-charts-bar-horizontal-2d"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",xScaleMax:"xScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:18,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","",3,"xScale","yScale","data","dims","orient"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"xScale","activeEntries","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","roundEdges","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2),e.YNc(3,yf,1,10,"g",3),e.YNc(4,s4,1,9,"g",4),e.YNc(5,Nh,2,2,"g",5),e.YNc(6,j0,2,2,"g",5),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(15,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("xScale",i.valueScale)("yScale",i.groupScale)("data",i.results)("dims",i.dims)("orient",i.barOrientation.Horizontal),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,h2,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Pd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.valueDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.barChartType=pr,this.isSSR=!1,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getYScale(){const r=this.groupDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.groupDomain)}getXScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(0, ${this.yScale(r.name)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Pd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Pd)))(i||Pd)}}(),Pd.\u0275cmp=e.Xpm({type:Pd,selectors:[["ngx-charts-bar-horizontal-normalized"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","noBarWhenZero","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,bf,1,10,"g",2),e.YNc(3,xf,1,8,"g",3),e.YNc(4,t6,2,2,"g",4),e.YNc(5,q0,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class kd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0},this.barChartType=pr,this.isSSR=!1,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];let i=0,b=0;for(const me of this.results){let Pe=0,lt=0;for(const gt of me.series)gt.value<0?Pe+=gt.value:lt+=gt.value,i=gt.valueb?gt.value:b;r.push(Pe),r.push(lt)}r.push(i),r.push(b);return[Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(...r)]}getYScale(){const r=this.groupDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.groupDomain)}getXScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(0, ${this.yScale(r.name)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r,i){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),i===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}kd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(kd)))(i||kd)}}(),kd.\u0275cmp=e.Xpm({type:kd,selectors:[["ngx-charts-bar-horizontal-stacked"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",xScaleMax:"xScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"type","xScale","yScale","colors","series","activeEntries","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Ef,1,10,"g",2),e.YNc(3,C_,1,9,"g",3),e.YNc(4,i6,2,2,"g",4),e.YNc(5,Df,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Nc{constructor(r){this.platformId=r,this.type=pr.Standard,this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dataLabelHeightChanged=new e.vpe,this.barsForDataLabels=[],this.barOrientation=Fa,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.update()}update(){let r;this.updateTooltipSettings(),this.series.length&&(r=this.xScale.bandwidth()),r=Math.round(r);const i=Math.max(this.yScale.domain()[0],0),b={[cl.positive]:0,[cl.negative]:0};let Y,R=cl.positive;this.type===pr.Normalized&&(Y=this.series.map(me=>me.value).reduce((me,Pe)=>me+Pe,0)),this.bars=this.series.map((me,Pe)=>{let lt=me.value;const gt=this.getLabel(me),Et=Ur(gt),Zt=this.roundEdges;R=lt>0?cl.positive:cl.negative;const St={value:lt,label:gt,roundEdges:Zt,data:me,width:r,formattedLabel:Et,height:0,x:0,y:0};if(this.type===pr.Standard)St.height=Math.abs(this.yScale(lt)-this.yScale(i)),St.x=this.xScale(gt),St.y=lt<0?this.yScale(0):this.yScale(lt);else if(this.type===pr.Stacked){const wn=b[R],Zn=wn+lt;b[R]+=lt,St.height=this.yScale(wn)-this.yScale(Zn),St.x=0,St.y=this.yScale(Zn),St.offset0=wn,St.offset1=Zn}else if(this.type===pr.Normalized){let wn=b[R],Zn=wn+lt;b[R]+=lt,Y>0?(wn=100*wn/Y,Zn=100*Zn/Y):(wn=0,Zn=0),St.height=this.yScale(wn)-this.yScale(Zn),St.x=0,St.y=this.yScale(Zn),St.offset0=wn,St.offset1=Zn,lt=(Zn-wn).toFixed(2)+"%"}this.colors.scaleType===Cn.Ordinal?St.color=this.colors.getColor(gt):this.type===pr.Standard?(St.color=this.colors.getColor(lt),St.gradientStops=this.colors.getLinearGradientStops(lt)):(St.color=this.colors.getColor(St.offset1),St.gradientStops=this.colors.getLinearGradientStops(St.offset1,St.offset0));let vn=Et;return St.ariaLabel=Et+" "+lt.toLocaleString(),null!==this.seriesName&&void 0!==this.seriesName&&(vn=`${this.seriesName} \u2022 ${Et}`,St.data.series=this.seriesName,St.ariaLabel=this.seriesName+" "+St.ariaLabel),St.tooltipText=this.tooltipDisabled?void 0:`\n ${fs(vn)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(lt):lt.toLocaleString()}\n `,St}),this.updateDataLabels()}updateDataLabels(){if(this.type===pr.Stacked){this.barsForDataLabels=[];const r={};r.series=this.seriesName;const i=this.series.map(R=>R.value).reduce((R,Y)=>Y>0?R+Y:R,0),b=this.series.map(R=>R.value).reduce((R,Y)=>Y<0?R+Y:R,0);r.total=i+b,r.x=0,r.y=0,r.total>0?r.height=this.yScale(i):r.height=this.yScale(b),r.width=this.xScale.bandwidth(),this.barsForDataLabels.push(r)}else this.barsForDataLabels=this.series.map(r=>{const i={};return i.series=this.seriesName??r.label,i.total=r.value,i.x=this.xScale(r.label),i.y=this.yScale(0),i.height=this.yScale(i.total)-this.yScale(0),i.width=this.xScale.bandwidth(),i})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:Ri.Top,this.tooltipType=this.tooltipDisabled?void 0:Zs.tooltip}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.value===b.value)}onClick(r){this.select.emit(r)}getLabel(r){return r.label?r.label:r.name}trackBy(r,i){return i.label}trackDataLabelBy(r,i){return r+"#"+i.series+"#"+i.total}}Nc.\u0275fac=function(r){return new(r||Nc)(e.Y36(e.Lbi))},Nc.\u0275cmp=e.Xpm({type:Nc,selectors:[["g","ngx-charts-series-vertical",""]],inputs:{dims:"dims",type:"type",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",animations:"animations",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelHeightChanged:"dataLabelHeightChanged"},features:[e.TTD],attrs:["ngx-charts-series-vertical",""],decls:3,vars:3,consts:[[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(r,i){1&r&&(e.YNc(0,s6,2,2,"g",0),e.YNc(1,o4,2,2,"g",0),e.YNc(2,l4,2,2,"g",0)),2&r&&(e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR),e.xp6(1),e.Q6J("ngIf",i.showDataLabel))},dependencies:[_2,Bc,t.O5,t.sg,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class m2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getXScale(){this.xDomain=this.getXDomain();const r=this.xDomain.length/(this.dims.width/this.barPadding+1);return qr().range([0,this.dims.width]).paddingInner(r).domain(this.xDomain)}getYScale(){this.yDomain=this.getYDomain();const r=Ga().range([this.dims.height,0]).domain(this.yDomain);return this.roundDomains?r.nice():r}getXDomain(){return this.results.map(r=>r.label)}getYDomain(){const r=this.results.map(R=>R.value);let i=this.yScaleMin?Math.min(this.yScaleMin,...r):Math.min(0,...r);this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(i=Math.min(i,...this.yAxisTicks));let b=this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(0,...r);return this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(b=Math.max(b,...this.yAxisTicks)),[i,b]}onClick(r){this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.xDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.xDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxHeightChanged(r){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),r.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}m2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(m2)))(i||m2)}}(),m2.\u0275cmp=e.Xpm({type:m2,selectors:[["ngx-charts-bar-vertical"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",yScaleMax:"yScaleMax",yScaleMin:"yScaleMin",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","activeEntries","roundEdges","animations","noBarWhenZero","activate","deactivate","select","dataLabelHeightChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,c4,1,11,"g",2),e.YNc(3,o6,1,9,"g",3),e.TgZ(4,"g",4),e.NdJ("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)})("select",function(R){return i.onClick(R)})("dataLabelHeightChanged",function(R){return i.onDataLabelMaxHeightChanged(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(22,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("series",i.results)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("activeEntries",i.activeEntries)("roundEdges",i.roundEdges)("animations",i.animations)("noBarWhenZero",i.noBarWhenZero))},dependencies:[Qa,ps,ts,Nc,t.O5],styles:[$r],encapsulation:2,changeDetection:0});class g2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.scaleType=Cn.Ordinal,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0},this.isSSR=!1,this.barOrientation=Fa,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}onDataLabelMaxHeightChanged(r,i){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),i===this.results.length-1&&setTimeout(()=>this.update())}getGroupScale(){const r=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).paddingOuter(r/2).domain(this.groupDomain)}getInnerScale(){const r=this.groupScale.bandwidth(),i=this.innerDomain.length/(r/this.barPadding+1);return qr().rangeRound([0,r]).paddingInner(i).domain(this.innerDomain)}getValueScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];for(const R of this.results)for(const Y of R.series)r.includes(Y.value)||r.push(Y.value);return[Math.min(0,...r),this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(0,...r)]}groupTransform(r){return`translate(${this.groupScale(r.label)}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}g2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(g2)))(i||g2)}}(),g2.\u0275cmp=e.Xpm({type:g2,selectors:[["ngx-charts-bar-vertical-2d"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",scaleType:"scaleType",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",yScaleMax:"yScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:18,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","",3,"xScale","yScale","data","dims","orient"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2),e.YNc(3,l6,1,10,"g",3),e.YNc(4,c6,1,9,"g",4),e.YNc(5,d6,2,2,"g",5),e.qZA(),e.YNc(6,Lf,2,2,"g",5),e.qZA()),2&r&&(e.Q6J("view",e.WLB(15,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("xScale",i.groupScale)("yScale",i.valueScale)("data",i.results)("dims",i.dims)("orient",i.barOrientation.Vertical),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,h2,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class v2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.valueDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.isSSR=!1,this.barChartType=pr,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getXScale(){const r=this.groupDomain.length/(this.dims.width/this.barPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).domain(this.groupDomain)}getYScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(${this.xScale(r.name)}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}v2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(v2)))(i||v2)}}(),v2.\u0275cmp=e.Xpm({type:v2,selectors:[["ngx-charts-bar-vertical-normalized"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","noBarWhenZero","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Sf,1,9,"g",2),e.YNc(3,Of,1,9,"g",3),e.YNc(4,Pf,2,2,"g",4),e.YNc(5,a2,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Rd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0},this.isSSR=!1,this.barChartType=pr,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];let i=0,b=0;for(const me of this.results){let Pe=0,lt=0;for(const gt of me.series)gt.value<0?Pe+=gt.value:lt+=gt.value,i=gt.valueb?gt.value:b;r.push(Pe),r.push(lt)}r.push(i),r.push(b);return[Math.min(0,...r),this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(...r)]}getXScale(){const r=this.groupDomain.length/(this.dims.width/this.barPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).domain(this.groupDomain)}getYScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}onDataLabelMaxHeightChanged(r,i){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),i===this.results.length-1&&setTimeout(()=>this.update())}groupTransform(r){return`translate(${this.xScale(r.name)||0}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Rd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Rd)))(i||Rd)}}(),Rd.\u0275cmp=e.Xpm({type:Rd,selectors:[["ngx-charts-bar-vertical-stacked"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",yScaleMax:"yScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,h6,1,10,"g",2),e.YNc(3,J0,1,9,"g",3),e.YNc(4,p6,2,2,"g",4),e.qZA(),e.YNc(5,_6,2,2,"g",4),e.qZA()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class y2{}y2.\u0275fac=function(r){return new(r||y2)},y2.\u0275mod=e.oAB({type:y2}),y2.\u0275inj=e.cJS({imports:[[Ds]]});class Bd{constructor(r,i){this.cd=i,this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.BarOrientation=Fa,this.initialized=!1,this.hasGradient=!1,this.hideBar=!1,this.nativeElm=r.nativeElement}ngOnChanges(r){this.initialized?this.update():(this.loadAnimation(),this.initialized=!0)}update(){this.boxStrokeWidth=Math.max(this.strokeWidth,1),this.whiskerStrokeWidth=Math.max(this.strokeWidth/2,1),this.medianLineWidth=1.5*this.strokeWidth,this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updateLineEl(),this.updatePathEl(),this.checkToHideBar(),this.maskLineId="mask"+Ys().toString(),this.maskLine=`url(#${this.maskLineId})`,this.cd&&this.cd.markForCheck()}loadAnimation(){this.boxPath=this.oldPath=this.getStartingPath(),this.oldLineCoordinates=this.getStartingLineCoordinates(),setTimeout(this.update.bind(this),100)}updatePathEl(){const r=Ln(this.nativeElm).selectAll(".bar"),i=this.getPath();this.animations?r.attr("d",this.oldPath).transition().ease(nl).duration(500).attrTween("d",this.pathTween(i,4)):r.attr("d",i),this.oldPath=i}updateLineEl(){const r=Ln(this.nativeElm).selectAll(".bar-line"),i=this.lineCoordinates,b=this.oldLineCoordinates;this.animations?r.attr("x1",(R,Y)=>b[Y].v1.x).attr("y1",(R,Y)=>b[Y].v1.y).attr("x2",(R,Y)=>b[Y].v2.x).attr("y2",(R,Y)=>b[Y].v2.y).transition().ease(nl).duration(500).attr("x1",(R,Y)=>i[Y].v1.x).attr("y1",(R,Y)=>i[Y].v1.y).attr("x2",(R,Y)=>i[Y].v2.x).attr("y2",(R,Y)=>i[Y].v2.y):r.attr("x1",(R,Y)=>i[Y].v1.x).attr("y1",(R,Y)=>i[Y].v1.y).attr("x2",(R,Y)=>i[Y].v2.x).attr("y2",(R,Y)=>i[Y].v2.y),this.oldLineCoordinates=[...i]}lineTween(r,i,b,R){return R[b][r].baseVal.value}pathTween(r,i){return function(){const b=this,R=this.cloneNode();R.setAttribute("d",r);const Y=b?.getTotalLength(),me=R?.getTotalLength(),Pe=[0];let lt=0;const gt=i/Math.max(Y,me);for(;lt<1;)Pe.push(lt),lt+=gt;Pe.push(1);const Et=Pe.map(Zt=>{const St=b.getPointAtLength(Zt*Y),vn=R.getPointAtLength(Zt*me);return xt([St.x,St.y],[vn.x,vn.y])});return Zt=>Zt<1?"M"+Et.map(St=>St(Zt)).join("L"):r}}getStartingPath(){if(!this.animations)return this.getPath();const r=this.roundEdges?1:0,{x:i,y:b}=this.lineCoordinates[2].v1;return ol(i-this.width,b-1,this.width,2,r,this.edges)}getPath(){const r=this.getRadius();let i="";return i=ol(this.x,this.y,this.width,this.height,Math.min(this.height,r),this.edges),i}getStartingLineCoordinates(){if(!this.animations)return[...this.lineCoordinates];const r=K3(this.lineCoordinates);return r[1].v1.y=r[1].v2.y=r[3].v1.y=r[3].v2.y=r[0].v1.y=r[0].v2.y=r[2].v1.y,r}getRadius(){let r=0;return this.roundEdges&&this.height>5&&this.width>5&&(r=Math.floor(Math.min(5,this.height/2,this.width/2))),r}getGradient(){return[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let r=[!1,!1,!1,!1];return this.roundEdges&&(r=[!0,!0,!0,!0]),r}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&0===this.height}}Bd.\u0275fac=function(r){return new(r||Bd)(e.Y36(e.SBq),e.Y36(e.sBO))},Bd.\u0275cmp=e.Xpm({type:Bd,selectors:[["g","ngx-charts-box",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{strokeColor:"strokeColor",strokeWidth:"strokeWidth",fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",lineCoordinates:"lineCoordinates",roundEdges:"roundEdges",gradient:"gradient",gradientStops:"gradientStops",offset:"offset",isActive:"isActive",animations:"animations",ariaLabel:"ariaLabel",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-box",""],decls:9,vars:13,consts:[["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops",4,"ngIf"],["height","100%","width","100%","fill","white","fill-opacity","1"],["fill","black","fill-opacity","1",1,"bar"],["role","img","tabIndex","-1",1,"bar",3,"click"],["class","bar-line","fill","none",3,"hidden",4,"ngFor","ngForOf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["fill","none",1,"bar-line"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"defs"),e.YNc(1,$0,1,3,"g",0),e.TgZ(2,"mask")(3,"g"),e._UZ(4,"rect",1)(5,"path",2),e.qZA()()(),e.TgZ(6,"g")(7,"path",3),e.NdJ("click",function(){return i.select.emit(i.data)}),e.qZA(),e.YNc(8,Ws,1,9,"line",4),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.uIk("id",i.maskLineId),e.xp6(3),e.uIk("d",i.boxPath),e.xp6(2),e.ekj("active",i.isActive)("hidden",i.hideBar),e.uIk("d",i.boxPath)("stroke",i.strokeColor)("stroke-width",i.boxStrokeWidth)("aria-label",i.ariaLabel)("fill",i.hasGradient?i.gradientFill:i.fill),e.xp6(1),e.Q6J("ngForOf",i.lineCoordinates))},dependencies:[ll,t.O5,t.sg],encapsulation:2,changeDetection:0});class su{constructor(){this.animations=!0,this.tooltipDisabled=!1,this.gradient=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}ngOnChanges(r){this.update()}onClick(r){this.select.emit(r)}update(){this.updateTooltipSettings();const r=this.series&&this.series.series.length?Math.round(this.xScale.bandwidth()):null,i=this.series.name;this.counts=this.series.series;const b=this.counts.map(Et=>Number(Et.value));this.whiskers=[Q1(b),r1(b)];const R=this.counts.map(Et=>Et.value).sort((Et,Zt)=>Number(Et)-Number(Zt));this.quartiles=this.getBoxQuantiles(R),this.lineCoordinates=this.getLinesCoordinates(i.toString(),this.whiskers,this.quartiles,r);const Y=this.quartiles[1],me=Ur(i),Pe={value:Y,data:this.counts,label:i,formattedLabel:me,width:r,height:0,x:0,y:0,roundEdges:this.roundEdges,quartiles:this.quartiles,lineCoordinates:this.lineCoordinates};Pe.height=Math.abs(this.yScale(this.quartiles[0])-this.yScale(this.quartiles[2])),Pe.x=this.xScale(i.toString()),Pe.y=this.yScale(this.quartiles[2]),Pe.ariaLabel=me+" - Median: "+Y.toLocaleString(),this.colors.scaleType===Cn.Ordinal?Pe.color=this.colors.getColor(i):(Pe.color=this.colors.getColor(this.quartiles[1]),Pe.gradientStops=this.colors.getLinearGradientStops(this.quartiles[0],this.quartiles[2]));const gt=`\n ${fs(me)}\n \n \u2022 Q1: ${this.quartiles[0]} \u2022 Q2: ${this.quartiles[1]} \u2022 Q3: ${this.quartiles[2]}
\n \u2022 Min: ${this.whiskers[0]} \u2022 Max: ${this.whiskers[1]}\n
`;Pe.tooltipText=this.tooltipDisabled?void 0:gt,this.tooltipTitle=this.tooltipDisabled?void 0:Pe.tooltipText,this.box=Pe}getBoxQuantiles(r){return[R0(r,.25),R0(r,.5),R0(r,.75)]}getLinesCoordinates(r,i,b,R){const me=this.xScale(r)+R/2,Pe=Math.max(R+4*this.strokeWidth,1),lt=Math.max(R/3,1),gt=this.yScale(i[0]),Et=this.yScale(i[1]),Zt=this.yScale(b[1]);return[{v1:{x:me,y:gt},v2:{x:me,y:Et}},{v1:{x:me+lt/2,y:gt},v2:{x:me-lt/2,y:gt}},{v1:{x:me+Pe/2,y:Zt},v2:{x:me-Pe/2,y:Zt}},{v1:{x:me+lt/2,y:Et},v2:{x:me-lt/2,y:Et}}]}updateTooltipSettings(){this.tooltipDisabled?(this.tooltipPlacement=void 0,this.tooltipType=void 0):(this.tooltipPlacement||(this.tooltipPlacement=Ri.Top),this.tooltipType||(this.tooltipType=Zs.tooltip))}}su.\u0275fac=function(r){return new(r||su)},su.\u0275cmp=e.Xpm({type:su,selectors:[["g","ngx-charts-box-series",""]],inputs:{dims:"dims",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",animations:"animations",strokeColor:"strokeColor",strokeWidth:"strokeWidth",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",tooltipPlacement:"tooltipPlacement",tooltipType:"tooltipType",roundEdges:"roundEdges",gradient:"gradient"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-box-series",""],decls:1,vars:22,consts:[["ngx-charts-box","","ngx-tooltip","",3,"width","height","x","y","roundEdges","fill","gradientStops","strokeColor","strokeWidth","data","lineCoordinates","gradient","ariaLabel","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","animations","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.activate.emit(R)})("deactivate",function(R){return i.deactivate.emit(R)}),e.qZA()),2&r&&e.Q6J("@animationState","active")("@.disabled",!i.animations)("width",i.box.width)("height",i.box.height)("x",i.box.x)("y",i.box.y)("roundEdges",i.box.roundEdges)("fill",i.box.color)("gradientStops",i.box.gradientStops)("strokeColor",i.strokeColor)("strokeWidth",i.strokeWidth)("data",i.box.data)("lineCoordinates",i.box.lineCoordinates)("gradient",i.gradient)("ariaLabel",i.box.ariaLabel)("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.tooltipPlacement)("tooltipType",i.tooltipType)("tooltipTitle",i.tooltipTitle)("tooltipTemplate",i.tooltipTemplate)("tooltipContext",i.box.data)("animations",i.animations)},dependencies:[Bd,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class nc extends ja{constructor(){super(...arguments),this.legend=!1,this.legendPosition=hr.Right,this.legendTitle="Legend",this.showGridLines=!0,this.xAxis=!0,this.yAxis=!0,this.showXAxisLabel=!0,this.showYAxisLabel=!0,this.roundDomains=!1,this.roundEdges=!0,this.strokeColor="#FFFFFF",this.strokeWidth=2,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0}trackBy(r,i){return i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendPosition:this.legendPosition}),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.setScales(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}setColors(){let r=[];r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}setScales(){this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height)}getXScale(r,i){return qr().domain(r.map(R=>R.toString())).rangeRound([0,i]).padding(.5)}getYScale(r,i){const b=Ga().domain(r).range([i,0]);return this.roundDomains?b.nice():b}getUniqueBoxChartXDomainValues(r){const i=new Set;for(const b of r)i.add(b.name);return Array.from(i)}getXDomain(){let r=[];const i=this.getUniqueBoxChartXDomainValues(this.results);let b,R;if("string"==typeof i[0])r=i.map(Y=>Y.toString());else if("number"==typeof i[0]){const Y=i.map(me=>Number(me));b=Math.min(...Y),R=Math.max(...Y),r=[b,R]}else{const Y=i.map(me=>Number(new Date(me)));b=Math.min(...Y),R=Math.max(...Y),r=[new Date(b),new Date(R)]}return r}getYDomain(){const r=[];for(const me of this.results)for(const Pe of me.series)r.indexOf(Pe.value)<0&&r.push(Pe.value);const b=[...r].map(me=>Number(me));return[Math.min(...b),Math.max(...b)]}getSeriesDomain(){return this.results.map(r=>`${r.name}`)}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onClick(r){this.select.emit(r)}onActivate(r){this.activate.emit(r)}onDeactivate(r){this.deactivate.emit(r)}getLegendOptions(){const r={scaleType:this.schemeType,colors:this.colors,domain:[],position:this.legendPosition,title:this.legendTitle};return this.schemeType===Cn.Ordinal?(r.domain=this.xDomain,r.colors=this.colors):(r.domain=this.yDomain,r.colors=this.colors.scale),r}}nc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(nc)))(i||nc)}}(),nc.\u0275cmp=e.Xpm({type:nc,selectors:[["ngx-charts-box-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendPosition:"legendPosition",legendTitle:"legendTitle",legendOptionsConfig:"legendOptionsConfig",showGridLines:"showGridLines",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",roundDomains:"roundDomains",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",roundEdges:"roundEdges",strokeColor:"strokeColor",strokeWidth:"strokeWidth",tooltipDisabled:"tooltipDisabled",gradient:"gradient"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:21,consts:[[3,"view","showLegend","legendOptions","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"box-chart","chart"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","dimensionsChanged"],["ngx-charts-y-axis","",3,"showGridLines","dims","yScale","showLabel","labelText","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-box-series","",3,"xScale","yScale","colors","roundEdges","strokeColor","strokeWidth","tooltipDisabled","tooltipTemplate","series","dims","animations","gradient","activate","deactivate","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("dimensionsChanged",function(R){return i.updateXAxisHeight(R)}),e.qZA(),e.TgZ(3,"g",3),e.NdJ("dimensionsChanged",function(R){return i.updateYAxisWidth(R)}),e.qZA()(),e.TgZ(4,"g"),e.YNc(5,Hh,2,12,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(18,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("showGridLines",i.showGridLines)("dims",i.dims)("xScale",i.xScale)("showLabel",i.showXAxisLabel)("labelText",i.xAxisLabel),e.xp6(1),e.Q6J("showGridLines",i.showGridLines)("dims",i.dims)("yScale",i.yScale)("showLabel",i.showYAxisLabel)("labelText",i.yAxisLabel),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy))},dependencies:[Qa,ps,ts,su,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class Nd{}function fp(f,r,i,b,R){let Y=[];if(r===Cn.Linear&&(f=f.map(me=>Number(me)),i||f.push(0)),r===Cn.Time||r===Cn.Linear){Y=[b||Math.min(...f),R||Math.max(...f)]}else Y=f;return Y}function k4(f,r,i,b){switch(i){case Cn.Time:return Ql().range(r).domain(f);case Cn.Linear:{const R=Ga().range(r).domain(f);return b?R.nice():R}case Cn.Ordinal:return er().range([r[0],r[1]]).domain(f.map(R=>R.toString()));default:return}}Nd.\u0275fac=function(r){return new(r||Nd)},Nd.\u0275mod=e.oAB({type:Nd}),Nd.\u0275inj=e.cJS({imports:[[Ds]]});class D1{constructor(r){this.platformId=r,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.update()}update(){this.circles=this.getCircles()}getCircles(){const r=this.data.name;return this.data.series.map((i,b)=>{if(typeof i.y<"u"&&typeof i.x<"u"){const R=i.y,Y=i.x,me=i.r,Pe=this.rScale(me||1),lt=Ur(i.name),gt=this.xScaleType===Cn.Linear?this.xScale(Number(Y)):this.xScale(Y),Et=this.yScaleType===Cn.Linear?this.yScale(Number(R)):this.yScale(R),Zt=this.colors.scaleType===Cn.Linear?this.colors.getColor(me):this.colors.getColor(r),St=!this.activeEntries.length||this.isActive({name:r}),vn=St?1:.3;return{data:Object.assign({},i,{series:r,name:i.name,value:i.y,x:i.x,radius:i.r}),x:Y,y:R,r:me,classNames:[`circle-data-${b}`],value:R,label:Y,cx:gt,cy:Et,radius:Pe,tooltipLabel:lt,color:Zt,opacity:vn,seriesName:r,isActive:St,transform:`translate(${gt},${Et})`}}}).filter(i=>void 0!==i)}getTooltipText(r){const i=typeof r.r<"u",b=r.tooltipLabel&&r.tooltipLabel.length,R=r.seriesName&&r.seriesName.length,Y=i?Ur(r.r):"",me=this.xAxisLabel&&""!==this.xAxisLabel?`${this.xAxisLabel}:`:"",Pe=this.yAxisLabel&&""!==this.yAxisLabel?`${this.yAxisLabel}:`:"",lt=Ur(r.x),gt=Ur(r.y),Et=R&&b?`${r.seriesName} \u2022 ${r.tooltipLabel}`:r.seriesName+r.tooltipLabel;return`\n ${R||b?`${fs(Et)}`:""}\n \n ${fs(lt)}
\n ${fs(gt)}\n
\n \n ${fs(Y)}\n \n `}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isVisible(r){return this.activeEntries.length>0?this.isActive({name:r.seriesName}):0!==r.opacity}activateCircle(r){r.barVisible=!0,this.activate.emit({name:this.data.name})}deactivateCircle(r){r.barVisible=!1,this.deactivate.emit({name:this.data.name})}trackBy(r,i){return`${i.data.series} ${i.data.name}`}}D1.\u0275fac=function(r){return new(r||D1)(e.Y36(e.Lbi))},D1.\u0275cmp=e.Xpm({type:D1,selectors:[["g","ngx-charts-bubble-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",rScale:"rScale",xScaleType:"xScaleType",yScaleType:"yScaleType",colors:"colors",visibleValue:"visibleValue",activeEntries:"activeEntries",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-bubble-series",""],decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-circle","","class","circle","ngx-tooltip","",3,"cx","cy","r","fill","opacity","active","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngIf"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&e.YNc(0,bd,4,3,"g",0),2&r&&e.Q6J("ngForOf",i.circles)("ngForTrackBy",i.trackBy)},dependencies:[C1,t.sg,t.O5,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({opacity:0,transform:"scale(0)"}),(0,u.jt)(250,(0,u.oB)({opacity:1,transform:"scale(1)"}))])])]},changeDetection:0});class b2 extends ja{constructor(){super(...arguments),this.showGridLines=!0,this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!0,this.yAxis=!0,this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.maxRadius=10,this.minRadius=3,this.schemeType=Cn.Ordinal,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.scaleType=Cn.Linear,this.margin=[10,20,10,20],this.bubblePadding=[0,0,0,0],this.xAxisHeight=0,this.yAxisWidth=0,this.activeEntries=[],this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.seriesDomain=this.results.map(i=>i.name),this.rDomain=this.getRDomain(),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.transform=`translate(${this.dims.xOffset},${this.margin[0]})`;const r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.rDomain;this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors),this.data=this.results,this.minRadius=Math.max(this.minRadius,1),this.maxRadius=Math.max(this.maxRadius,1),this.rScale=this.getRScale(this.rDomain,[this.minRadius,this.maxRadius]),this.bubblePadding=[0,0,0,0],this.setScales(),this.bubblePadding=this.getBubblePadding(),this.setScales(),this.legendOptions=this.getLegendOptions(),this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}hideCircles(){this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}getBubblePadding(){let r=0,i=0,b=this.dims.height,R=this.dims.width;for(const Y of this.data)for(const me of Y.series){const Pe=this.rScale(me.r),lt=this.xScaleType===Cn.Linear?this.xScale(Number(me.x)):this.xScale(me.x),gt=this.yScaleType===Cn.Linear?this.yScale(Number(me.y)):this.yScale(me.y);i=Math.max(Pe-lt,i),r=Math.max(Pe-gt,r),b=Math.max(gt+Pe,b),R=Math.max(lt+Pe,R)}return R=Math.max(R-this.dims.width,0),b=Math.max(b-this.dims.height,0),[r,R,b,i]}setScales(){let r=this.dims.width;void 0===this.xScaleMin&&void 0===this.xScaleMax&&(r-=this.bubblePadding[1]);let i=this.dims.height;void 0===this.yScaleMin&&void 0===this.yScaleMax&&(i-=this.bubblePadding[2]),this.xScale=this.getXScale(this.xDomain,r),this.yScale=this.getYScale(this.yDomain,i)}getYScale(r,i){return k4(r,[i,this.bubblePadding[0]],this.yScaleType,this.roundDomains)}getXScale(r,i){return k4(r,[this.bubblePadding[3],i],this.xScaleType,this.roundDomains)}getRScale(r,i){const b=Ga().range(i).domain(r);return this.roundDomains?b.nice():b}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],position:this.legendPosition,title:void 0};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.rDomain,r.colors=this.colors.scale),r}getXDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.x)||r.push(b.x);return this.xScaleType=Io(r),fp(r,this.xScaleType,this.autoScale,this.xScaleMin,this.xScaleMax)}getYDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.y)||r.push(b.y);return this.yScaleType=Io(r),fp(r,this.yScaleType,this.autoScale,this.yScaleMin,this.yScaleMax)}getRDomain(){let r=1/0,i=-1/0;for(const b of this.results)for(const R of b.series){const Y=Number(R.r)||1;r=Math.min(r,Y),i=Math.max(i,Y)}return[r,i]}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}trackBy(r,i){return`${i.name}`}}b2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(b2)))(i||b2)}}(),b2.\u0275cmp=e.Xpm({type:b2,selectors:[["ngx-charts-bubble-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{showGridLines:"showGridLines",legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",maxRadius:"maxRadius",minRadius:"minRadius",autoScale:"autoScale",schemeType:"schemeType",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:10,vars:19,consts:[[3,"view","showLegend","activeEntries","legendOptions","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bubble-chart","chart"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"showGridLines","yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["x","0","y","0",1,"bubble-chart-area",2,"fill","rgb(255, 0, 0)","opacity","0","cursor","auto",3,"mouseenter"],[4,"ngIf"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"showGridLines","yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bubble-series","",3,"xScale","yScale","rScale","xScaleType","yScaleType","xAxisLabel","yAxisLabel","colors","data","activeEntries","tooltipDisabled","tooltipTemplate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,xd,1,10,"g",2),e.YNc(6,_1,1,9,"g",3),e.TgZ(7,"rect",4),e.NdJ("mouseenter",function(){return i.deactivateAll()}),e.qZA(),e.YNc(8,Md,2,3,"g",5),e.YNc(9,Dd,2,3,"g",5),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(16,Ya,i.width,i.height))("showLegend",i.legend)("activeEntries",i.activeEntries)("legendOptions",i.legendOptions)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("width",i.dims.width)("height",i.dims.height),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,D1,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class x2{}x2.\u0275fac=function(r){return new(r||x2)},x2.\u0275mod=e.oAB({type:x2}),x2.\u0275inj=e.cJS({imports:[[Ds]]});class C2{constructor(r){this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.barOrientation=Fa,this.element=r.nativeElement}ngOnChanges(r){this.transform=`translate(${this.x} , ${this.y})`,this.startOpacity=.3,this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.gradientStops=this.getGradientStops(),this.animations&&this.loadAnimation()}getGradientStops(){return[{offset:0,color:this.fill,opacity:this.startOpacity},{offset:100,color:this.fill,opacity:1}]}loadAnimation(){Ln(this.element).select(".cell").attr("opacity",0),this.animateToCurrentForm()}animateToCurrentForm(){Ln(this.element).select(".cell").transition().duration(750).attr("opacity",1)}onClick(){this.select.emit(this.data)}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}}C2.\u0275fac=function(r){return new(r||C2)(e.Y36(e.SBq))},C2.\u0275cmp=e.Xpm({type:C2,selectors:[["g","ngx-charts-heat-map-cell",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{fill:"fill",x:"x",y:"y",width:"width",height:"height",data:"data",gradient:"gradient",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-heat-map-cell",""],decls:3,vars:5,consts:[[1,"cell"],[4,"ngIf"],["rx","3",1,"cell",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,kf,2,3,"defs",1),e.TgZ(2,"rect",2),e.NdJ("click",function(){return i.onClick()}),e.qZA()()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.uIk("fill",i.gradient?i.gradientUrl:i.fill)("width",i.width)("height",i.height))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0});class ou{constructor(){this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}ngOnInit(){this.tooltipText||(this.tooltipText=this.getTooltipText)}ngOnChanges(r){this.update()}update(){this.cells=this.getCells()}getCells(){const r=[];return this.data.map(i=>{i.series.map(b=>{const R=b.value;b.series=i.name,r.push({row:i,cell:b,x:this.xScale(i.name),y:this.yScale(b.name),width:this.xScale.bandwidth(),height:this.yScale.bandwidth(),fill:this.colors.getColor(R),data:R,label:Ur(b.name),series:i.name})})}),r}getTooltipText({label:r,data:i,series:b}){return`\n ${fs(b)} \u2022 ${fs(r)}\n ${i.toLocaleString()}\n `}trackBy(r,i){return i.label}onClick(r){this.select.emit(r)}}ou.\u0275fac=function(r){return new(r||ou)},ou.\u0275cmp=e.Xpm({type:ou,selectors:[["g","ngx-charts-heat-map-cell-series",""]],inputs:{data:"data",colors:"colors",xScale:"xScale",yScale:"yScale",gradient:"gradient",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-heat-map-cell-series",""],decls:1,vars:2,consts:[["ngx-charts-heat-map-cell","","ngx-tooltip","",3,"x","y","width","height","fill","data","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-heat-map-cell","","ngx-tooltip","",3,"x","y","width","height","fill","data","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&e.YNc(0,Bf,1,18,"g",0),2&r&&e.Q6J("ngForOf",i.cells)("ngForTrackBy",i.trackBy)},dependencies:[C2,t.sg,ho],encapsulation:2,changeDetection:0});class Fc extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.innerPadding=8,this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.tooltipDisabled=!1,this.activeEntries=[],this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.scaleType=Cn.Linear}update(){if(super.update(),this.formatDates(),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.valueDomain=this.getValueDomain(),this.scaleType=Io(this.valueDomain,!1),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.scaleType,legendPosition:this.legendPosition}),this.scaleType===Cn.Linear){let r=this.min,i=this.max;this.min||(r=Math.min(0,...this.valueDomain)),this.max||(i=Math.max(...this.valueDomain)),this.valueDomain=[r,i]}this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.rects=this.getRects()}getXDomain(){const r=[];for(const i of this.results)r.includes(i.name)||r.push(i.name);return r}getYDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.name)||r.push(b.name);return r}getValueDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.value)||r.push(b.value);return r}getDimension(r,i=0,b,R){return"string"==typeof r&&((r=r.replace("[","").replace("]","").replace("px","").replace("'","")).includes(",")&&(r=r.split(","))),Array.isArray(r)&&"number"==typeof i?this.getDimension(r[i],null,b,R):"string"==typeof r&&r.includes("%")?+r.replace("%","")/100:b/(R/+r+1)}getXScale(){const r=this.getDimension(this.innerPadding,0,this.xDomain.length,this.dims.width);return qr().rangeRound([0,this.dims.width]).domain(this.xDomain).paddingInner(r)}getYScale(){const r=this.getDimension(this.innerPadding,1,this.yDomain.length,this.dims.height);return qr().rangeRound([this.dims.height,0]).domain(this.yDomain).paddingInner(r)}getRects(){const r=[];return this.xDomain.map(i=>{this.yDomain.map(b=>{r.push({x:this.xScale(i),y:this.yScale(b),rx:3,width:this.xScale.bandwidth(),height:this.yScale.bandwidth(),fill:"rgba(200,200,200,0.03)"})})}),r}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,this.scaleType,this.valueDomain)}getLegendOptions(){return{scaleType:this.scaleType,domain:this.valueDomain,colors:this.scaleType===Cn.Ordinal?this.colors:this.colors.scale,title:this.scaleType===Cn.Ordinal?this.legendTitle:void 0,position:this.legendPosition}}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Y=this.results.map(me=>me.series).flat().filter(me=>b?me.label===R.name:me.name===R.name&&me.series===R.series);this.activeEntries=[...Y],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Y=>b?Y.label!==R.name:!(Y.name===R.name&&Y.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Fc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Fc)))(i||Fc)}}(),Fc.\u0275cmp=e.Xpm({type:Fc,selectors:[["ngx-charts-heat-map"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",innerPadding:"innerPadding",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",min:"min",max:"max",activeEntries:"activeEntries"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:20,consts:[[3,"view","showLegend","animations","legendOptions","legendLabelClick"],[1,"heat-map","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf"],["ngx-charts-heat-map-cell-series","",3,"xScale","yScale","colors","data","gradient","animations","tooltipDisabled","tooltipTemplate","tooltipText","select","activate","deactivate"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Nf,1,9,"g",2),e.YNc(3,zh,1,8,"g",3),e.YNc(4,Ff,1,6,"rect",4),e.TgZ(5,"g",5),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R,void 0)})("deactivate",function(R){return i.onDeactivate(R,void 0)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("animations",i.animations)("legendOptions",i.legendOptions),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngForOf",i.rects),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("data",i.results)("gradient",i.gradient)("animations",i.animations)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText))},dependencies:[Qa,ps,ts,ou,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class ic{}ic.\u0275fac=function(r){return new(r||ic)},ic.\u0275mod=e.oAB({type:ic}),ic.\u0275inj=e.cJS({imports:[[Ds]]});class M2{constructor(r,i){this.element=r,this.platformId=i,this.fill="none",this.animations=!0,this.initialized=!1,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.initialized?this.updatePathEl():(this.initialized=!0,this.initialPath=this.path)}updatePathEl(){const r=Ln(this.element.nativeElement).select(".line");this.animations?r.transition().duration(750).attr("d",this.path):r.attr("d",this.path)}}M2.\u0275fac=function(r){return new(r||M2)(e.Y36(e.SBq),e.Y36(e.Lbi))},M2.\u0275cmp=e.Xpm({type:M2,selectors:[["g","ngx-charts-line",""]],inputs:{path:"path",stroke:"stroke",data:"data",fill:"fill",animations:"animations"},features:[e.TTD],attrs:["ngx-charts-line",""],decls:2,vars:2,consts:[[4,"ngIf"],["stroke-width","1.5px",1,"line"]],template:function(r,i){1&r&&(e.YNc(0,zf,2,4,"g",0),e.YNc(1,m6,2,3,"g",0)),2&r&&(e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[t.O5],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({strokeDasharray:2e3,strokeDashoffset:2e3}),(0,u.jt)(1e3,(0,u.oB)({strokeDashoffset:0}))])])]},changeDetection:0});class lu{constructor(){this.animations=!0,this.barOrientation=Fa}ngOnChanges(r){this.update()}update(){this.updateGradients();const r=this.sortData(this.data.series),i=this.getLineGenerator();this.path=i(r)||"";const b=this.getAreaGenerator();if(this.areaPath=b(r)||"",this.hasRange){const R=this.getRangeGenerator();this.outerPath=R(r)||""}if(this.hasGradient){this.stroke=this.gradientUrl;const R=this.data.series.map(Pe=>Pe.value),Y=Math.max(...R);Y===Math.min(...R)&&(this.stroke=this.colors.getColor(Y))}else this.stroke=this.colors.getColor(this.data.name)}getLineGenerator(){return tl().x(r=>{const i=r.name;let b;return b=this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i),b}).y(r=>this.yScale(r.value)).curve(this.curve)}getRangeGenerator(){return Xl().x(r=>{const i=r.name;let b;return b=this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i),b}).y0(r=>this.yScale("number"==typeof r.min?r.min:r.value)).y1(r=>this.yScale("number"==typeof r.max?r.max:r.value)).curve(this.curve)}getAreaGenerator(){return Xl().x(i=>{const b=i.name;return this.xScale(b)}).y0(()=>this.yScale.range()[0]).y1(i=>this.yScale(i.value)).curve(this.curve)}sortData(r){return r=this.scaleType===Cn.Linear?Sd(r,"name"):this.scaleType===Cn.Time?au(r,"name"):hp(r,"name","asc",this.xScale.domain())}updateGradients(){if(this.colors.scaleType===Cn.Linear){this.hasGradient=!0,this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`;const r=this.data.series.map(R=>R.value),i=Math.max(...r),b=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(i,b),this.areaGradientStops=this.colors.getLinearGradientStops(i)}else this.hasGradient=!1,this.gradientStops=void 0,this.areaGradientStops=void 0}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}}lu.\u0275fac=function(r){return new(r||lu)},lu.\u0275cmp=e.Xpm({type:lu,selectors:[["g","ngx-charts-line-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",curve:"curve",activeEntries:"activeEntries",rangeFillOpacity:"rangeFillOpacity",hasRange:"hasRange",animations:"animations"},features:[e.TTD],attrs:["ngx-charts-line-series",""],decls:6,vars:22,consts:[["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops",4,"ngIf"],["ngx-charts-area","",1,"line-highlight",3,"data","path","fill","opacity","startOpacity","gradient","stops","animations"],["ngx-charts-line","",1,"line-series",3,"data","path","stroke","animations"],["ngx-charts-area","","class","line-series-range",3,"data","path","fill","active","inactive","opacity","animations",4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["ngx-charts-area","",1,"line-series-range",3,"data","path","fill","opacity","animations"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g")(1,"defs"),e.YNc(2,Uf,1,3,"g",0),e.qZA(),e._UZ(3,"g",1)(4,"g",2),e.YNc(5,v6,1,9,"g",3),e.qZA()),2&r&&(e.xp6(2),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.areaPath)("fill",i.hasGradient?i.gradientUrl:i.colors.getColor(i.data.name))("opacity",.25)("startOpacity",0)("gradient",!0)("stops",i.areaGradientStops)("animations",i.animations),e.xp6(1),e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.path)("stroke",i.stroke)("animations",i.animations),e.xp6(1),e.Q6J("ngIf",i.hasRange))},dependencies:[ll,f2,M2,t.O5],encapsulation:2,changeDetection:0});class Fd extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.showRefLines=!1,this.showRefLabels=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height),this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Y=>Number(Y))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Y,me)=>{const Pe=Y.getTime(),lt=me.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Y,me)=>Y-me)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(const Y of this.results)for(const me of Y.series)r.indexOf(me.value)<0&&r.push(me.value),void 0!==me.min&&(this.hasRange=!0,r.indexOf(me.min)<0&&r.push(me.min)),void 0!==me.max&&(this.hasRange=!0,r.indexOf(me.max)<0&&r.push(me.max));const i=[...r];this.autoScale||i.push(0);return[this.yScaleMin?this.yScaleMin:Math.min(...i),this.yScaleMax?this.yScaleMax:Math.max(...i)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql().range([0,i]).domain(r):this.scaleType===Cn.Linear?(b=Ga().range([0,i]).domain(r),this.roundDomains&&(b=b.nice())):this.scaleType===Cn.Ordinal&&(b=er().range([0,i]).padding(.1).domain(r)),b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r){this.select.emit(r)}trackBy(r,i){return`${i.name}`}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.deactivateAll(),!(this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1)&&(this.activeEntries=[r],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Fd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Fd)))(i||Fd)}}(),Fd.\u0275cmp=e.Xpm({type:Fd,selectors:[["ngx-charts-line-chart"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",autoScale:"autoScale",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",rangeFillOpacity:"rangeFillOpacity",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",showRefLines:"showRefLines",referenceLines:"referenceLines",showRefLabels:"showRefLabels",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:12,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"line-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","referenceLines","showRefLines","showRefLabels","dimensionsChanged",4,"ngIf"],[4,"ngIf"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","scaleType","legend","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","referenceLines","showRefLines","showRefLabels","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-line-series","",3,"xScale","yScale","colors","data","activeEntries","scaleType","curve","rangeFillOpacity","hasRange","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"xScale","yScale","colors","data","scaleType","visibleValue","activeEntries","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","scaleType","legend","onDomainChange"],["ngx-charts-line-series","",3,"xScale","yScale","colors","data","scaleType","curve","hasRange","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,f4,1,10,"g",2),e.YNc(6,p4,1,12,"g",3),e.TgZ(7,"g"),e.YNc(8,y6,2,2,"g",4),e.YNc(9,Uh,2,2,"g",4),e.YNc(10,b6,3,9,"g",5),e.qZA()(),e.YNc(11,Vh,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,lu,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class A1{}A1.\u0275fac=function(r){return new(r||A1)},A1.\u0275mod=e.oAB({type:A1}),A1.\u0275inj=e.cJS({imports:[[Ds]]});class E2{constructor(r){this.platformId=r,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=wl}ngOnChanges(r){this.setTransforms(),this.update()}setTransforms(){if((0,t.PM)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const r=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=r?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=r?`translate(${this.textX},${this.textY})`:null,this.textTransition=r||!this.animations?null:"transform 0.75s"}}update(){let r=this.radius;this.explodeSlices&&(r=this.radius*this.value/this.max);const b=hd().innerRadius(r).outerRadius(r).centroid(this.data);let R=this.data.pos[1]/b[1];(0===this.data.pos[1]||0===b[1])&&(R=1);const Y=[R*b[0],R*b[1]];this.line=`M${b}L${Y}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){const Pe=this.getAngle(me),lt=this.getRadius(me),gt=me.value,Et=this.colors.getColor(R?Math.abs(gt):b);return{data:Object.assign({},me,{series:b,value:gt,name:me.name}),cx:lt*Math.sin(Pe),cy:-lt*Math.cos(Pe),value:gt,color:Et,label:me.name}}),this.active=this.isActive(this.data),this.inactive=this.isInactive(this.data),this.tooltipText=this.tooltipText||(me=>this.defaultTooltipText(me))}getAngle(r){const i=r.name;return this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i)}getRadius(r){return this.yScale(r.value)}getLineGenerator(){return V0().angle(r=>this.getAngle(r)).radius(r=>this.getRadius(r)).curve(this.curve)}sortData(r){return this.scaleType===Cn.Linear?Sd(r,"name"):this.scaleType===Cn.Time?au(r,"name"):hp(r,"name","asc",this.xScale.domain())}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}defaultTooltipText({label:r,value:i}){return`\n ${fs(this.data.name)} \u2022 ${fs(r)}\n ${i.toLocaleString()}\n `}updateGradients(){if(this.hasGradient=this.gradient||this.colors.scaleType===Cn.Linear,this.hasGradient)if(this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.colors.scaleType===Cn.Linear){const r=this.data.series.map(R=>R.value),i=Math.max(...r),b=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(i,b)}else this.gradientStops=void 0}}Hd.\u0275fac=function(r){return new(r||Hd)},Hd.\u0275cmp=e.Xpm({type:Hd,selectors:[["g","ngx-charts-polar-series",""]],inputs:{name:"name",data:"data",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",curve:"curve",activeEntries:"activeEntries",rangeFillOpacity:"rangeFillOpacity",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",gradient:"gradient",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-polar-series",""],decls:5,vars:11,consts:[[1,"polar-charts-series"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity","endOpacity","stops",4,"ngIf"],["ngx-charts-line","",1,"polar-series-path",3,"path","stroke","fill","animations"],["ngx-charts-circle","","class","circle","ngx-tooltip","",3,"cx","cy","r","fill","opacity","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngFor","ngForOf"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity","endOpacity","stops"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0)(1,"defs"),e.YNc(2,Wh,1,5,"g",1),e.qZA(),e._UZ(3,"g",2),e.YNc(4,Vf,1,12,"g",3),e.qZA()),2&r&&(e.xp6(2),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.active)("inactive",i.inactive),e.Q6J("path",i.path)("stroke",i.hasGradient?i.gradientUrl:i.seriesColor)("fill",i.hasGradient?i.gradientUrl:i.seriesColor)("animations",i.animations),e.uIk("fill-opacity",i.rangeFillOpacity),e.xp6(1),e.Q6J("ngForOf",i.circles))},dependencies:[M1,M2,C1,t.O5,t.sg,ho],encapsulation:2,changeDetection:0});const pp=2*Math.PI;class zd extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.showGridLines=!0,this.curve=_d,this.activeEntries=[],this.rangeFillOpacity=.15,this.trimYAxisTicks=!0,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.showSeriesOnHover=!0,this.gradient=!1,this.yAxisMinScale=0,this.labelTrim=!0,this.labelTrimSize=10,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.orientation=es,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.setDims(),this.setScales(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.setTicks()}setDims(){this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition});const r=Math.floor(this.dims.width/2),i=Math.floor(this.dims.height/2),b=this.outerRadius=Math.min(i/1.5,r/1.5),R=Math.max(0,i-b);this.yAxisDims={...this.dims,width:r},this.transform=`translate(${this.dims.xOffset}, ${this.margin[0]})`,this.transformYAxis=`translate(0, ${R})`,this.labelOffset=this.dims.height+40,this.transformPlot=`translate(${r}, ${i})`}setScales(){const r=this.getXValues();this.scaleType=Io(r),this.xDomain=this.filteredDomain||this.getXDomain(r),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,pp),this.yScale=this.getYScale(this.yDomain,this.outerRadius),this.yAxisScale=this.getYScale(this.yDomain.reverse(),this.outerRadius)}setTicks(){let r;r=this.xAxisTickFormatting?this.xAxisTickFormatting:this.xScale.tickFormat?this.xScale.tickFormat.apply(this.xScale,[5]):Y=>l2(Y)?Y.toLocaleDateString():Y.toLocaleString();const i=this.outerRadius;this.thetaTicks=this.xDomain.map(Y=>{const me=this.xScale(Y),Pe=1.1*i*(me>Math.PI?-1:1),lt=r(Y),gt=[i*Math.sin(me),-i*Math.cos(me)],Et=[Pe,1.1*gt[1]];return{innerRadius:0,outerRadius:i,startAngle:me,endAngle:me,value:i,label:lt,startPos:gt,pos:Et}});for(let Y=0;Y0){const gt=10-Math.abs(lt.pos[1]-me.pos[1]);gt>0&&(lt.pos[1]+=Math.sign(lt.pos[0])*gt)}}}this.radiusTicks=this.yAxisScale.ticks(Math.floor(this.dims.height/50)).map(Y=>this.yScale(Y))}getXValues(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.name)||r.push(b.name);return r}getXDomain(r=this.getXValues()){if(this.scaleType===Cn.Time){return[Math.min(...r),Math.max(...r)]}if(this.scaleType===Cn.Linear){r=r.map(R=>Number(R));return[Math.min(...r),Math.max(...r)]}return r}getYValues(){const r=[];for(const i of this.results)for(const b of i.series)r.indexOf(b.value)<0&&r.push(b.value),void 0!==b.min&&r.indexOf(b.min)<0&&r.push(b.min),void 0!==b.max&&r.indexOf(b.max)<0&&r.push(b.max);return r}getYDomain(r=this.getYValues()){let i=Math.min(...r);const b=Math.max(this.yAxisMinScale,...r);return i=Math.max(0,i),this.autoScale||(i=Math.min(0,i)),[i,b]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){switch(this.scaleType){case Cn.Time:return Ql().range([0,i]).domain(r);case Cn.Linear:const b=Ga().range([0,i]).domain(r);return this.roundDomains?b.nice():b;default:return er().range([0,i-pp/r.length]).padding(0).domain(r)}}getYScale(r,i){const b=Ga().range([0,i]).domain(r);return this.roundDomains?b.nice():b}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){const r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain.reverse();this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){return this.schemeType===Cn.Ordinal?{scaleType:this.schemeType,colors:this.colors,domain:this.seriesDomain,title:this.legendTitle,position:this.legendPosition}:{scaleType:this.schemeType,colors:this.colors.scale,domain:this.yDomain,title:void 0,position:this.legendPosition}}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=this.showSeriesOnHover?[r,...this.activeEntries]:this.activeEntries,this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}trackBy(r,i){return`${i.name}`}}zd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(zd)))(i||zd)}}(),zd.\u0275cmp=e.Xpm({type:zd,selectors:[["ngx-charts-polar-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",autoScale:"autoScale",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",rangeFillOpacity:"rangeFillOpacity",trimYAxisTicks:"trimYAxisTicks",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",showSeriesOnHover:"showSeriesOnHover",gradient:"gradient",yAxisMinScale:"yAxisMinScale",labelTrim:"labelTrim",labelTrimSize:"labelTrimSize"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:10,vars:17,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"polar-chart","chart"],["cx","0","cy","0",1,"polar-chart-background"],[4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["class","gridline-path radial-gridline-path","cx","0","cy","0",4,"ngFor","ngForOf"],["cx","0","cy","0",1,"gridline-path","radial-gridline-path"],["ngx-charts-pie-label","",3,"data","radius","label","max","value","explodeSlices","animations","labelTrim","labelTrimSize",4,"ngFor","ngForOf"],["ngx-charts-pie-label","",3,"data","radius","label","max","value","explodeSlices","animations","labelTrim","labelTrimSize"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-polar-series","",3,"gradient","xScale","yScale","colors","data","activeEntries","scaleType","curve","rangeFillOpacity","animations","tooltipDisabled","tooltipTemplate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g"),e._UZ(3,"circle",2),e.YNc(4,Kh,2,1,"g",3),e.YNc(5,x6,2,1,"g",3),e.qZA(),e.YNc(6,b4,1,9,"g",4),e.YNc(7,Kf,1,5,"g",5),e.YNc(8,Zf,2,3,"g",3),e.YNc(9,x4,2,3,"g",3),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(14,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.uIk("transform",i.transformPlot),e.xp6(1),e.uIk("r",i.outerRadius),e.xp6(1),e.Q6J("ngIf",i.showGridLines),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",i.xAxis&&i.showXAxisLabel),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,E2,ts,Oc,Hd,t.O5,t.sg],styles:[$r,".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\n",".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{stroke-dasharray:10 10;fill:none}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area,.polar-series-path{pointer-events:none}\n"],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class T1{constructor(r){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dblclick=new e.vpe,this.barOrientation=Fa,this.initialized=!1,this.element=r.nativeElement}ngOnChanges(r){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const r=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Ys().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=r.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let r=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(r=this.outerRadius*this.value/this.max),hd().innerRadius(this.innerRadius).outerRadius(r).cornerRadius(this.cornerRadius)}loadAnimation(){const r=Ln(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),i=this.calculateArc();r.transition().attrTween("d",function(b){this._current=this._current||b;const R=Object.assign({},b);R.endAngle=R.startAngle;const Y=xt(R,R);return this._current=Y(0),function(me){return i(Y(me))}}).transition().duration(750).attrTween("d",function(b){this._current=this._current||b;const R=xt(this._current,b);return this._current=R(0),function(Y){return i(R(Y))}})}updateAnimation(){const r=Ln(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),i=this.calculateArc();r.transition().duration(750).attrTween("d",function(b){this._current=this._current||b;const R=xt(this._current,b);return this._current=R(0),function(Y){return i(R(Y))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(r){r.preventDefault(),r.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:r})}}T1.\u0275fac=function(r){return new(r||T1)(e.Y36(e.SBq))},T1.\u0275cmp=e.Xpm({type:T1,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.TTD],attrs:["ngx-charts-pie-arc",""],decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,C4,2,3,"defs",1),e.TgZ(2,"path",2),e.NdJ("click",function(){return i.onClick()})("dblclick",function(R){return i.onDblClick(R)})("mouseenter",function(){return i.activate.emit(i.data)})("mouseleave",function(){return i.deactivate.emit(i.data)}),e.qZA()()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.Udp("pointer-events",i.getPointerEvents()),e.ekj("active",i.isActive),e.uIk("d",i.path)("fill",i.getGradient()))},dependencies:[M1,t.O5],encapsulation:2,changeDetection:0});class Ud{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dblclick=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}ngOnChanges(r){this.update()}update(){const i=fh().value(b=>b.value).sort(null)(this.series);this.max=r1(i,b=>b.value),this.data=this.calculateLabelPositions(i),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(r){return r.startAngle+(r.endAngle-r.startAngle)/2}outerArc(){return hd().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(r){const R=r;R.forEach(Y=>{Y.pos=this.outerArc().centroid(Y),Y.pos[0]=1.5*this.outerRadius*(this.midAngle(Y)0){const gt=10-Math.abs(lt.pos[1]-me.pos[1]);gt>0&&(lt.pos[1]+=Math.sign(lt.pos[0])*gt)}}}return R}labelVisible(r){return this.showLabels&&r.endAngle-r.startAngle>Math.PI/30}getTooltipTitle(r){return this.tooltipTemplate?void 0:this.tooltipText(r)}labelText(r){return this.labelFormatting?this.labelFormatting(r.data.name):this.label(r)}label(r){return Ur(r.data.name)}defaultTooltipText(r){const i=this.label(r),b=Ur(r.data.value);return`\n ${fs(i)}\n ${b}\n `}color(r){return this.colors.getColor(this.label(r))}trackBy(r,i){return i.data.name}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.series===b.series)}}Ud.\u0275fac=function(r){return new(r||Ud)},Ud.\u0275cmp=e.Xpm({type:Ud,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.TTD],attrs:["ngx-charts-pie-series",""],decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate","dblclick"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(r,i){1&r&&e.YNc(0,E4,3,19,"g",0),2&r&&e.Q6J("ngForOf",i.data)("ngForTrackBy",i.trackBy)},dependencies:[E2,T1,t.sg,t.O5,ho],encapsulation:2,changeDetection:0});class D2 extends ja{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[20,20,20,20]}update(){super.update(),this.dims=fr({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const r=this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${r} , ${i})`}getDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}D2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(D2)))(i||D2)}}(),D2.\u0275cmp=e.Xpm({type:D2,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations","select","activate","deactivate"],[1,"advanced-pie-legend-wrapper"],[3,"data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.O4$(),e.TgZ(3,"g",2)(4,"g",3),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)}),e.qZA()()()(),e.kcU(),e.TgZ(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R,!0)})("deactivate",function(R){return i.onDeactivate(R,!0)}),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px")("height",i.height,"px"),e.xp6(1),e.Udp("width",i.dims.width,"px")("height",i.dims.height,"px"),e.xp6(1),e.Q6J("view",e.WLB(34,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("series",i.results)("innerRadius",i.innerRadius)("activeEntries",i.activeEntries)("outerRadius",i.outerRadius)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText)("animations",i.animations),e.xp6(1),e.Udp("width",i.width-i.dims.width,"px")("height",i.height,"px"),e.xp6(1),e.Q6J("data",i.results)("colors",i.colors)("width",i.width-i.dims.width-i.margin[1])("label",i.label)("animations",i.animations)("valueFormatting",i.valueFormatting)("labelFormatting",i.nameFormatting)("percentageFormatting",i.percentageFormatting))},dependencies:[Qa,Ud,p2],styles:[$r,".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0});class e3 extends ja{constructor(){super(...arguments),this.labels=!1,this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.explodeSlices=!1,this.doughnut=!1,this.arcWidth=.25,this.activeEntries=[],this.tooltipDisabled=!1,this.trimLabels=!0,this.maxLabelLength=10,this.dblclick=new e.vpe,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}update(){super.update(),this.labels&&this.hasNoOptionalMarginsSet()?this.margins=[30,80,30,80]:!this.labels&&this.hasNoOptionalMarginsSet()&&(this.margins=[20,20,20,20]),this.dims=fr({width:this.width,height:this.height,margins:this.margins,showLegend:this.legend,legendPosition:this.legendPosition}),this.formatDates();const r=this.margins[3]+this.dims.width/2,i=this.margins[0]+this.dims.height/2;this.translation=`translate(${r}, ${i})`,this.outerRadius=Math.min(this.dims.width,this.dims.height),this.labels?this.outerRadius/=3:this.outerRadius/=2,this.innerRadius=0,this.doughnut&&(this.innerRadius=this.outerRadius*(1-this.arcWidth)),this.domain=this.getDomain(),this.data=this.results.sort((b,R)=>this.domain.indexOf(b.name)-this.domain.indexOf(R.name)),this.setColors(),this.legendOptions=this.getLegendOptions()}getDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}getLegendOptions(){return{scaleType:Cn.Ordinal,domain:this.domain,colors:this.colors,title:this.legendTitle,position:this.legendPosition}}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}hasNoOptionalMarginsSet(){return!this.margins||this.margins.length<=0}}function O6(f,r,i){let b=1,R=r;const Y=f.width;if(Y>i)for(;Y/Rr?r.value:0).reduce((r,i)=>r+i,0)}(r),wn=R.bandwidth(),Zn=Y.bandwidth();for(let _n=0;_n0?St[_n].data.value/vn:0,St[_n].data.total=vn;return St}e3.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(e3)))(i||e3)}}(),e3.\u0275cmp=e.Xpm({type:e3,selectors:[["ngx-charts-pie-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{labels:"labels",legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",explodeSlices:"explodeSlices",doughnut:"doughnut",arcWidth:"arcWidth",gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",margins:"margins"},outputs:{dblclick:"dblclick",select:"select",activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:3,vars:24,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"pie-chart","chart"],["ngx-charts-pie-series","",3,"colors","series","showLabels","labelFormatting","trimLabels","maxLabelLength","activeEntries","innerRadius","outerRadius","explodeSlices","gradient","animations","tooltipDisabled","tooltipTemplate","tooltipText","dblclick","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("dblclick",function(R){return i.dblclick.emit(R)})("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(21,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.translation),e.xp6(1),e.Q6J("colors",i.colors)("series",i.data)("showLabels",i.labels)("labelFormatting",i.labelFormatting)("trimLabels",i.trimLabels)("maxLabelLength",i.maxLabelLength)("activeEntries",i.activeEntries)("innerRadius",i.innerRadius)("outerRadius",i.outerRadius)("explodeSlices",i.explodeSlices)("gradient",i.gradient)("animations",i.animations)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText))},dependencies:[Qa,Ud],styles:[$r,".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\n"],encapsulation:2,changeDetection:0});class cu{constructor(r){this.innerRadius=70,this.outerRadius=80,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.element=r.nativeElement}ngOnChanges(r){this.update()}update(){this.layout=fh().value(r=>r.data.value).sort(null),this.arcs=this.getArcs()}getArcs(){return this.layout(this.data).map((r,i)=>{const b=r.data.data.name,R=r.data.data.other;0===i&&(r.startAngle=0);const Y=this.colors(b);return{data:r.data.data,class:"arc arc"+i,fill:Y,startAngle:R?0:r.startAngle,endAngle:r.endAngle,animate:this.animations&&!R,pointerEvents:!R}})}onClick(r){this.select.emit(this.data[0].data)}trackBy(r,i){return i.data.name}label(r){return r.data.name}color(r){return this.colors(this.label(r))}}cu.\u0275fac=function(r){return new(r||cu)(e.Y36(e.SBq))},cu.\u0275cmp=e.Xpm({type:cu,selectors:[["g","ngx-charts-pie-grid-series",""]],inputs:{colors:"colors",data:"data",innerRadius:"innerRadius",outerRadius:"outerRadius",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-pie-grid-series",""],decls:2,vars:2,consts:[[1,"pie-grid-arcs"],["ngx-charts-pie-arc","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","data","gradient","pointerEvents","animate","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-arc","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","data","gradient","pointerEvents","animate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,qf,1,11,"g",1),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngForOf",i.arcs)("ngForTrackBy",i.trackBy))},dependencies:[T1,t.sg],encapsulation:2,changeDetection:0});class Vd extends ja{constructor(){super(...arguments),this.tooltipDisabled=!1,this.label="Total",this.minWidth=150,this.activeEntries=[],this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[20,20,20,20],this.placementTypes=Ri,this.styleTypes=Zs}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.data=P6(this.dims,this.results,this.minWidth,this.designatedTotal),this.transform=`translate(${this.margin[3]} , ${this.margin[0]})`,this.series=this.getSeries(),this.setColors(),this.tooltipText=this.tooltipText||this.defaultTooltipText}defaultTooltipText({data:r}){return`\n ${wl(Ur(r.name))}\n ${r.value.toLocaleString()}\n `}getDomain(){return this.results.map(r=>r.label)}getSeries(){const r=this.designatedTotal?this.designatedTotal:this.getTotal();return this.data.map(i=>{const Y=i.data.name,me=Ur(Y),Pe=i.data.value,lt=Q1([i.width-10,i.height-20])/2-5,gt=.9*lt;let Et=0;return{transform:`translate(${i.x+(i.width-10)/2}, ${i.y+(i.height-20)/2})`,colors:()=>(Et+=1,1===Et?"rgba(100,100,100,0.3)":this.colorScale.getColor(me)),innerRadius:gt,outerRadius:lt,name:Y,label:wl(me),total:Pe,value:Pe,percent:el(".1%")(i.data.percent),data:[i,{data:{other:!0,value:r-Pe,name:i.data.name}}]}})}getTotal(){return this.results.map(r=>r.value).reduce((r,i)=>r+i,0)}onClick(r){this.select.emit(r)}setColors(){this.colorScale=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}Vd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Vd)))(i||Vd)}}(),Vd.\u0275cmp=e.Xpm({type:Vd,selectors:[["ngx-charts-pie-grid"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{designatedTotal:"designatedTotal",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",minWidth:"minWidth",activeEntries:"activeEntries"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:3,vars:8,consts:[[3,"view","showLegend","animations"],[1,"pie-grid","chart"],["class","pie-grid-item",4,"ngFor","ngForOf"],[1,"pie-grid-item"],["ngx-charts-pie-grid-series","","ngx-tooltip","",3,"colors","data","innerRadius","outerRadius","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"],["class","label percent-label","dy","-0.5em","x","0","y","5","ngx-charts-count-up","","text-anchor","middle",3,"countTo","countSuffix",4,"ngIf"],["class","label percent-label","dy","-0.5em","x","0","y","5","text-anchor","middle",4,"ngIf"],["dy","0.5em","x","0","y","5","text-anchor","middle",1,"label"],["class","label","dy","1.23em","x","0","text-anchor","middle","ngx-charts-count-up","",3,"countTo","countPrefix",4,"ngIf"],["class","label","dy","1.23em","x","0","text-anchor","middle",4,"ngIf"],["dy","-0.5em","x","0","y","5","ngx-charts-count-up","","text-anchor","middle",1,"label","percent-label",3,"countTo","countSuffix"],["dy","-0.5em","x","0","y","5","text-anchor","middle",1,"label","percent-label"],["dy","1.23em","x","0","text-anchor","middle","ngx-charts-count-up","",1,"label",3,"countTo","countPrefix"],["dy","1.23em","x","0","text-anchor","middle",1,"label"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,C6,8,19,"g",2),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(5,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.series))},dependencies:[Qa,cu,kc,t.sg,ho,t.O5],styles:[$r,".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\n"],encapsulation:2,changeDetection:0});class Sl{}Sl.\u0275fac=function(r){return new(r||Sl)},Sl.\u0275mod=e.oAB({type:Sl}),Sl.\u0275inj=e.cJS({imports:[[Ds]]});class Wd{}function _p(f,r,i=8){return r.split("").reduce((b,R)=>b+(f[R]||i),0)}Wd.\u0275fac=function(r){return new(r||Wd)},Wd.\u0275mod=e.oAB({type:Wd}),Wd.\u0275inj=e.cJS({imports:[[Ds,Sl,A1]]});const R4={0:10,1:10,2:10,3:10,4:10,5:10,6:10,7:10,8:10,9:10,A:11,B:11,C:11,D:12,E:10,F:9,G:12,H:12,I:7,J:7,K:11,L:9,M:13,N:12,O:13,P:10,Q:13,R:11,S:11,T:10,U:12,V:11,W:16,X:11,Y:10,Z:11,a:10,b:10,c:8,d:10,e:10,f:6,g:10,h:10,i:4,j:6,k:9,l:4,m:16,n:10,o:10,p:10,q:10,r:7,s:8,t:6,u:10,v:9,w:13,x:9,y:9,z:8,"!":6,"@":16,"#":13,$:10,"%":17,"^":13,"&":12,"*":10,"(":7,")":7,_:10,"-":7,"+":13,"=":13,",":6,".":6,"/":7,"'":4,":":7,"|":7,"?":9,";":7,"<":13,">":13};class ac{constructor(r,i,b,R){this.cd=i,this.zone=b,this.platformId=R,this.animations=!0,this.select=new e.vpe,this.value="",this.textFontSize=12,this.textTransform="",this.initialized=!1,this.bandHeight=10,this.textPadding=[10,20,5,20],this.labelFontSize=15,this.element=r.nativeElement}ngOnChanges(r){this.update()}ngOnInit(){(0,t.PM)(this.platformId)&&this.scaleTextSSR()}ngOnDestroy(){(0,t.NF)(this.platformId)&&cancelAnimationFrame(this.animationReq)}update(){this.zone.run(()=>{const r=this.data&&typeof this.data.value<"u",i=this.valueFormatting||(me=>me.value.toLocaleString()),b=this.labelFormatting||(me=>fs(wl(me.label,55)));this.transform=`translate(${this.x} , ${this.y})`,this.textWidth=Math.max(0,this.width)-this.textPadding[1]-this.textPadding[3],this.cardWidth=Math.max(0,this.width),this.cardHeight=Math.max(0,this.height),this.label=this.label?this.label:this.data.name;const R={label:this.label,data:this.data,value:this.data.value};this.formattedLabel=b(R),this.transformBand=`translate(0 , ${this.cardHeight-this.bandHeight})`;const Y=r?i(R):"";this.value=this.paddedValue(Y),this.setPadding(),this.bandPath=ol(0,0,this.cardWidth,this.bandHeight,3,[!1,!1,!0,!0]),setTimeout(()=>{(0,t.NF)(this.platformId)&&this.scaleText(),this.value=Y,r&&!this.initialized&&setTimeout(()=>this.startCount(),20)},8)})}paddedValue(r){return this.medianSize&&this.medianSize>r.length&&(r+="\u2007".repeat(this.medianSize-r.length)),r}startCount(){if(!this.initialized&&this.animations){cancelAnimationFrame(this.animationReq);const r=this.data.value,i=Qh(r),b=this.valueFormatting||(Y=>Y.value.toLocaleString()),R=({value:Y,finished:me})=>{this.zone.run(()=>{Y=me?r:Y,this.value=b({label:this.label,data:this.data,value:Y}),me||(this.value=this.paddedValue(this.value)),this.cd.markForCheck()})};this.animationReq=dp(0,r,i,1,R),this.initialized=!0}}scaleText(){this.zone.run(()=>{const{width:r,height:i}=this.textEl.nativeElement.getBoundingClientRect();if(0===r||0===i)return;const b=this.textPadding[1]=this.textPadding[3]=this.cardWidth/8,R=this.cardWidth-2*b,Y=this.cardHeight/3,me=Math.min(R/r,Y/i);this.textFontSize=Math.floor(this.textFontSize*me),this.labelFontSize=Math.min(this.textFontSize,15),this.setPadding(),this.cd.markForCheck()})}scaleTextSSR(){const r=_p(R4,this.value,10),b=this.textPadding[1]=this.textPadding[3]=this.cardWidth/8,R=this.cardWidth-2*b,Y=this.cardHeight/3,me=Math.min(R/r,Y/18);this.textFontSize=Math.floor(this.textFontSize*me),this.labelFontSize=Math.min(this.textFontSize,15),this.setPadding()}setPadding(){this.textPadding[1]=this.textPadding[3]=this.cardWidth/8;const r=this.cardHeight/2;this.textPadding[0]=r-this.textFontSize-this.labelFontSize/2,this.textPadding[2]=r-this.labelFontSize}onClick(){this.select.emit(this.data)}}function mp(f){const r=xa(f),{r:i,g:b,b:R,opacity:Y}=r;if(0===Y)return r.toString();return function gp({r:f,g:r,b:i},b){const R=b<0?0:255,Y=b<0?-1*b:b;return f=Math.round((R-f)*Y)+f,r=Math.round((R-r)*Y)+r,i=Math.round((R-i)*Y)+i,`rgb(${f}, ${r}, ${i})`}(r,(299*i+587*b+114*R)/1e3>=128?-.8:.8)}ac.\u0275fac=function(r){return new(r||ac)(e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(e.R0b),e.Y36(e.Lbi))},ac.\u0275cmp=e.Xpm({type:ac,selectors:[["g","ngx-charts-card",""]],viewQuery:function(r,i){if(1&r&&e.Gf(T4,5),2&r){let b;e.iGM(b=e.CRH())&&(i.textEl=b.first)}},inputs:{color:"color",bandColor:"bandColor",textColor:"textColor",x:"x",y:"y",width:"width",height:"height",label:"label",data:"data",medianSize:"medianSize",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-card",""],decls:10,vars:25,consts:[[1,"cell",3,"click"],["rx","3","ry","3",1,"card"],["class","card-band","stroke","none",4,"ngIf"],["x","5","alignment-baseline","hanging",1,"trimmed-label"],[3,"innerHTML"],["text-anchor","start","alignment-baseline","hanging",1,"value-text"],["textEl",""],["stroke","none",1,"card-band"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.NdJ("click",function(){return i.onClick()}),e._UZ(1,"rect",1),e.YNc(2,g1,1,3,"path",2),e.TgZ(3,"title"),e._uU(4),e.qZA(),e.TgZ(5,"foreignObject",3),e.kcU(),e._UZ(6,"p",4),e.qZA(),e.O4$(),e.TgZ(7,"text",5,6),e._uU(9),e.qZA()()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.Udp("fill",i.color),e.uIk("width",i.cardWidth)("height",i.cardHeight),e.xp6(1),e.Q6J("ngIf",i.bandColor&&i.bandColor!==i.color),e.xp6(2),e.Oqu(i.label),e.xp6(1),e.uIk("x",i.textPadding[3])("y",i.cardHeight-i.textPadding[2])("width",i.textWidth)("height",i.labelFontSize+i.textPadding[2]),e.xp6(1),e.Udp("color",i.textColor)("font-size",i.labelFontSize,"px")("line-height",i.labelFontSize,"px"),e.Q6J("innerHTML",i.formattedLabel,e.oJD),e.xp6(1),e.Udp("fill",i.textColor)("font-size",i.textFontSize,"pt"),e.uIk("x",i.textPadding[3])("y",i.textPadding[0]),e.xp6(2),e.hij(" ",i.value," "))},dependencies:[t.O5],encapsulation:2,changeDetection:0});class du{constructor(){this.innerPadding=15,this.emptyColor="rgba(0, 0, 0, 0)",this.animations=!0,this.select=new e.vpe}ngOnChanges(r){this.update()}update(){if(this.data.length>2){const i=this.valueFormatting||(Y=>Y.value.toLocaleString()),b=this.data.map(Y=>Y&&Y.data&&typeof Y.data.value<"u"&&null!==Y.data.value?i({data:Y.data,label:Y?Y.data.name:"",value:Y&&Y.data?Y.data.value:""}).length:0).sort((Y,me)=>me-Y),R=Math.ceil(this.data.length/2);this.medianSize=b[R]}const r=this.getCards();this.cards=r.filter(i=>null!==i.data.value),this.emptySlots=r.filter(i=>null===i.data.value)}getCards(){const r="number"==typeof this.innerPadding?this.innerPadding:this.innerPadding[0]+this.innerPadding[2],i="number"==typeof this.innerPadding?this.innerPadding:this.innerPadding[1]+this.innerPadding[3];return this.data.map((b,R)=>{let Y=b.data.name;Y=Y&&"Date"===Y.constructor.name?Y.toLocaleDateString():Y&&Y.toLocaleString();const me=b.data.value,Pe=Y?this.colors.getColor(Y):this.emptyColor,lt=this.cardColor||Pe||"#000";return{x:b.x,y:b.y,width:b.width-i,height:b.height-r,color:lt,bandColor:this.bandColor||Pe,textColor:this.textColor||mp(lt),label:Y,data:b.data,tooltipText:`${Y}: ${me}`}})}trackBy(r,i){return i.label}onClick(r){this.select.emit(r)}}du.\u0275fac=function(r){return new(r||du)},du.\u0275cmp=e.Xpm({type:du,selectors:[["g","ngx-charts-card-series",""]],inputs:{data:"data",dims:"dims",colors:"colors",innerPadding:"innerPadding",cardColor:"cardColor",bandColor:"bandColor",emptyColor:"emptyColor",textColor:"textColor",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-card-series",""],decls:2,vars:4,consts:[["class","card-empty","rx","3","ry","3",3,"fill",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-card","",3,"x","y","width","height","color","bandColor","textColor","data","label","medianSize","valueFormatting","labelFormatting","animations","select",4,"ngFor","ngForOf","ngForTrackBy"],["rx","3","ry","3",1,"card-empty"],["ngx-charts-card","",3,"x","y","width","height","color","bandColor","textColor","data","label","medianSize","valueFormatting","labelFormatting","animations","select"]],template:function(r,i){1&r&&(e.YNc(0,M6,1,6,"rect",0),e.YNc(1,Yh,1,13,"g",1)),2&r&&(e.Q6J("ngForOf",i.emptySlots)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngForOf",i.cards)("ngForTrackBy",i.trackBy))},dependencies:[ac,t.sg],encapsulation:2,changeDetection:0});class uu extends ja{constructor(){super(...arguments),this.emptyColor="rgba(0, 0, 0, 0)",this.innerPadding=15,this.margin=[10,10,10,10]}get clickable(){return!!this.select.observers.length}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`;const r=O6(this.dims,this.results.length,150),i=r[0]*r[1],b=this.results.slice();for(;b.lengthr.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}}uu.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(uu)))(i||uu)}}(),uu.\u0275cmp=e.Xpm({type:uu,selectors:[["ngx-charts-number-card"]],inputs:{cardColor:"cardColor",bandColor:"bandColor",emptyColor:"emptyColor",innerPadding:"innerPadding",textColor:"textColor",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",designatedTotal:"designatedTotal"},features:[e.qOj],decls:3,vars:20,consts:[[3,"view","showLegend","animations"],[1,"number-card","chart"],["ngx-charts-card-series","",3,"colors","cardColor","bandColor","textColor","emptyColor","data","dims","innerPadding","valueFormatting","labelFormatting","animations","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("select",function(R){return i.onClick(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.ekj("clickable",i.clickable),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("cardColor",i.cardColor)("bandColor",i.bandColor)("textColor",i.textColor)("emptyColor",i.emptyColor)("data",i.data)("dims",i.dims)("innerPadding",i.innerPadding)("valueFormatting",i.valueFormatting)("labelFormatting",i.labelFormatting)("animations",i.animations))},dependencies:[Qa,du],styles:[$r,"ngx-charts-number-card .cell .trimmed-label{font-size:12px;pointer-events:none;overflow:hidden;text-align:left;line-height:1em}ngx-charts-number-card .cell .trimmed-label p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0;margin:0}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\n"],encapsulation:2,changeDetection:0});class A2{}A2.\u0275fac=function(r){return new(r||A2)},A2.\u0275mod=e.oAB({type:A2}),A2.\u0275inj=e.cJS({imports:[[Ds]]});class Kd{constructor(r){this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.initialized=!1,this.orientation=Fa,this.element=r.nativeElement}ngOnChanges(){this.update(),this.valueFormatting=this.valueFormatting||(b=>b.toLocaleString());const r=this.labelFormatting||(b=>fs(wl(b.label,55))),i={data:this.data,label:this.label,value:this.value};this.formattedValue=this.valueFormatting(i.value),this.formattedLabel=r(i),this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.gradientStops=this.getGradientStops()}update(){this.initialized?this.animateToCurrentForm():(this.animations&&this.loadAnimation(),this.initialized=!0)}loadAnimation(){Ln(this.element).select(".cell").attr("opacity",0).attr("x",this.x).attr("y",this.y),this.animateToCurrentForm()}getTextColor(){return mp(this.fill)}animateToCurrentForm(){const r=Ln(this.element).select(".cell");this.animations?r.transition().duration(750).attr("opacity",1).attr("x",this.x).attr("y",this.y).attr("width",this.width).attr("height",this.height):r.attr("opacity",1).attr("x",this.x).attr("y",this.y).attr("width",this.width).attr("height",this.height)}onClick(){this.select.emit(this.data)}getGradientStops(){return[{offset:0,color:this.fill,opacity:.3},{offset:100,color:this.fill,opacity:1}]}}Kd.\u0275fac=function(r){return new(r||Kd)(e.Y36(e.SBq))},Kd.\u0275cmp=e.Xpm({type:Kd,selectors:[["g","ngx-charts-tree-map-cell",""]],inputs:{data:"data",fill:"fill",x:"x",y:"y",width:"width",height:"height",label:"label",value:"value",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-tree-map-cell",""],decls:4,vars:7,consts:[[4,"ngIf"],[1,"cell",3,"click"],["class","treemap-label",3,"pointer-events",4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],[1,"treemap-label"],[1,"treemap-label",3,"innerHTML"],["class","treemap-val","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","treemap-val",4,"ngIf"],["ngx-charts-count-up","",1,"treemap-val",3,"countTo","valueFormatting"],[1,"treemap-val"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,D_,2,3,"defs",0),e.TgZ(2,"rect",1),e.NdJ("click",function(){return i.onClick()}),e.qZA(),e.YNc(3,ep,6,15,"foreignObject",2),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.uIk("fill",i.gradient?i.gradientUrl:i.fill)("width",i.width)("height",i.height)("x",i.x)("y",i.y),e.xp6(1),e.Q6J("ngIf",i.width>=70&&i.height>=35))},dependencies:[ll,kc,t.O5],encapsulation:2,changeDetection:0});class Gd{constructor(){this.gradient=!1,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.styleTypes=Zs,this.placementTypes=Ri}ngOnChanges(r){this.cells=this.getCells()}getCells(){return this.data.children.filter(r=>1===r.depth).map((r,i)=>{const b=r.id;return{data:r.data,x:r.x0,y:r.y0,width:r.x1-r.x0,height:r.y1-r.y0,fill:this.colors.getColor(b),label:b,value:r.value}})}getTooltipText({label:r,value:i}){return`\n ${fs(r)}\n ${i.toLocaleString()}\n `}onClick(r){this.select.emit(r)}trackBy(r,i){return i.label}}Gd.\u0275fac=function(r){return new(r||Gd)},Gd.\u0275cmp=e.Xpm({type:Gd,selectors:[["g","ngx-charts-tree-map-cell-series",""]],inputs:{data:"data",dims:"dims",colors:"colors",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-tree-map-cell-series",""],decls:1,vars:2,consts:[["ngx-charts-tree-map-cell","","ngx-tooltip","",3,"data","x","y","width","height","fill","label","value","valueFormatting","labelFormatting","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-tree-map-cell","","ngx-tooltip","",3,"data","x","y","width","height","fill","label","value","valueFormatting","labelFormatting","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select"]],template:function(r,i){1&r&&e.YNc(0,Hr,1,18,"g",0),2&r&&e.Q6J("ngForOf",i.cells)("ngForTrackBy",i.trackBy)},dependencies:[Kd,t.sg,ho],encapsulation:2,changeDetection:0});class rc extends ja{constructor(){super(...arguments),this.tooltipDisabled=!1,this.gradient=!1,this.select=new e.vpe,this.margin=[10,10,10,10]}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.domain=this.getDomain(),this.treemap=function Z3(){var f=mh,r=!1,i=1,b=1,R=[0],Y=t2,me=t2,Pe=t2,lt=t2,gt=t2;function Et(St){return St.x0=St.y0=0,St.x1=i,St.y1=b,St.eachBefore(Zt),R=[0],r&&St.eachBefore(ph),St}function Zt(St){var vn=R[St.depth],wn=St.x0+vn,Zn=St.y0+vn,_n=St.x1-vn,jn=St.y1-vn;_n0)throw new Error("cycle");return lt}return i.id=function(b){return arguments.length?(f=Dl(b),i):f},i.parentId=function(b){return arguments.length?(r=Dl(b),i):r},i}().id(b=>{let R=b.name;return R="Date"===R.constructor.name?R.toLocaleDateString():R.toLocaleString(),R}).parentId(b=>b.isRoot?null:"root")([{name:"root",value:0,isRoot:!0},...this.results]).sum(b=>b.value);this.data=this.treemap(i),this.setColors(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getDomain(){return this.results.map(r=>r.name)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}}rc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(rc)))(i||rc)}}(),rc.\u0275cmp=e.Xpm({type:rc,selectors:[["ngx-charts-tree-map"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{results:"results",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient"},outputs:{select:"select"},features:[e.qOj],decls:3,vars:16,consts:[[3,"view","showLegend","animations"],[1,"tree-map","chart"],["ngx-charts-tree-map-cell-series","",3,"colors","data","dims","tooltipDisabled","tooltipTemplate","valueFormatting","labelFormatting","gradient","animations","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("select",function(R){return i.onClick(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(13,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("data",i.data)("dims",i.dims)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("valueFormatting",i.valueFormatting)("labelFormatting",i.labelFormatting)("gradient",i.gradient)("animations",i.animations))},dependencies:[Qa,Gd],styles:[".tree-map .treemap-val{font-size:1.3em;padding-top:5px;display:inline-block}.tree-map .treemap-label p{display:table-cell;text-align:center;line-height:1.2em;vertical-align:middle}\n"],encapsulation:2,changeDetection:0});class Zd{}var Hc;Zd.\u0275fac=function(r){return new(r||Zd)},Zd.\u0275mod=e.oAB({type:Zd}),Zd.\u0275inj=e.cJS({imports:[[Ds]]}),function(f){f.Value="value",f.Units="units"}(Hc||(Hc={}));class hu extends ja{constructor(){super(...arguments),this.min=0,this.max=100,this.value=0,this.margin=[10,20,10,20],this.valueResizeScale=1,this.unitsResizeScale=1,this.valueTextTransform="",this.valueTranslate="",this.unitsTextTransform="",this.unitsTranslate="",this.barOrientation=Fa}ngAfterViewInit(){super.ngAfterViewInit(),setTimeout(()=>{this.scaleText(Hc.Value),this.scaleText(Hc.Units)})}update(){super.update(),this.hasPreviousValue=void 0!==this.previousValue,this.max=Math.max(this.max,this.value),this.min=Math.min(this.min,this.value),this.hasPreviousValue&&(this.max=Math.max(this.max,this.previousValue),this.min=Math.min(this.min,this.previousValue)),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.valueDomain=this.getValueDomain(),this.valueScale=this.getValueScale(),this.displayValue=this.getDisplayValue(),this.setColors();const r=this.margin[3]+this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.transform=`translate(${r}, ${i})`,this.transformLine=`translate(${this.margin[3]+this.valueScale(this.previousValue)}, ${i})`,this.valueTranslate="translate(0, -15)",this.unitsTranslate="translate(0, 15)",(0,t.PM)(this.platformId)?(this.scaleTextSSR("value"),this.scaleTextSSR("units")):(setTimeout(()=>this.scaleText(Hc.Value),50),setTimeout(()=>this.scaleText(Hc.Units),50))}getValueDomain(){return[this.min,this.max]}getValueScale(){return Ga().range([0,this.dims.width]).domain(this.valueDomain)}getDisplayValue(){return this.valueFormatting?this.valueFormatting(this.value):this.value.toLocaleString()}scaleText(r,i=!0){let b,R;r===Hc.Value?(b=this.valueTextEl,R=this.valueResizeScale):(b=this.unitsTextEl,R=this.unitsResizeScale);const{width:Y,height:me}=b.nativeElement.getBoundingClientRect();if(0===Y||0===me)return;const Pe=R,lt=this.dims.width,gt=Math.max(this.dims.height/2-15,0),Et=Math.floor(lt/(Y/R)*100)/100,Zt=Math.floor(gt/(me/R)*100)/100;R=Math.min(Zt,Et),R!==Pe&&(r===Hc.Value?(this.valueResizeScale=R,this.valueTextTransform=`scale(${R}, ${R})`):(this.unitsResizeScale=R,this.unitsTextTransform=`scale(${R}, ${R})`),this.cd.markForCheck(),i&&(0,t.NF)(this.platformId)&&setTimeout(()=>{this.scaleText(r,!1)},50))}scaleTextSSR(r){let i=1;const b="value"===r?this.displayValue:this.units,R=_p(R4,b,10),me=this.dims.width,Pe=Math.max(this.dims.height/2-15,0),lt=Math.floor(me/(R/i)*100)/100,gt=Math.floor(Pe/(25/i)*100)/100;i=Math.min(gt,lt),"value"===r?(this.valueResizeScale=i,this.valueTextTransform=`scale(${i}, ${i})`):(this.unitsResizeScale=i,this.unitsTextTransform=`scale(${i}, ${i})`),this.cd.markForCheck()}onClick(){this.select.emit({name:"Value",value:this.value})}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,[this.value],this.customColors)}}hu.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(hu)))(i||hu)}}(),hu.\u0275cmp=e.Xpm({type:hu,selectors:[["ngx-charts-linear-gauge"]],viewQuery:function(r,i){if(1&r&&(e.Gf(tp,5),e.Gf(A6,5)),2&r){let b;e.iGM(b=e.CRH())&&(i.valueTextEl=b.first),e.iGM(b=e.CRH())&&(i.unitsTextEl=b.first)}},inputs:{min:"min",max:"max",value:"value",units:"units",previousValue:"previousValue",valueFormatting:"valueFormatting"},features:[e.qOj],decls:15,vars:38,consts:[[3,"view","showLegend","animations","click"],[1,"linear-gauge","chart"],["ngx-charts-bar","",1,"background-bar",3,"width","height","x","y","data","orientation","roundEdges","animations"],["ngx-charts-bar","",3,"width","height","x","y","fill","data","orientation","roundEdges","animations"],["x1","0","y1","5","x2","0","y2","15",4,"ngIf"],["x1","0","y1","-5","x2","0","y2","-15",4,"ngIf"],["alignment-baseline","after-edge",1,"value"],["valueTextEl",""],["alignment-baseline","before-edge",1,"units"],["unitsTextEl",""],["x1","0","y1","5","x2","0","y2","15"],["x1","0","y1","-5","x2","0","y2","-15"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("click",function(){return i.onClick()}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2)(3,"g",3),e.YNc(4,T6,1,2,"line",4),e.YNc(5,np,1,2,"line",5),e.TgZ(6,"g")(7,"g")(8,"text",6,7),e._uU(10),e.qZA()(),e.TgZ(11,"g")(12,"text",8,9),e._uU(14),e.qZA()()()()()),2&r&&(e.Q6J("view",e.WLB(33,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(2),e.Q6J("width",i.dims.width)("height",3)("x",i.margin[3])("y",i.dims.height/2+i.margin[0]-2)("data",e.DdM(36,ip))("orientation",i.barOrientation.Horizontal)("roundEdges",!0)("animations",i.animations),e.xp6(1),e.Q6J("width",i.valueScale(i.value))("height",3)("x",i.margin[3])("y",i.dims.height/2+i.margin[0]-2)("fill",i.colors.getColor(i.units))("data",e.DdM(37,ip))("orientation",i.barOrientation.Horizontal)("roundEdges",!0)("animations",i.animations),e.xp6(1),e.Q6J("ngIf",i.hasPreviousValue),e.xp6(1),e.Q6J("ngIf",i.hasPreviousValue),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.uIk("transform",i.valueTranslate),e.xp6(1),e.Udp("text-anchor","middle"),e.uIk("transform",i.valueTextTransform),e.xp6(2),e.hij(" ",i.displayValue," "),e.xp6(1),e.uIk("transform",i.unitsTranslate),e.xp6(1),e.Udp("text-anchor","middle"),e.uIk("transform",i.unitsTextTransform),e.xp6(2),e.hij(" ",i.units," "))},dependencies:[Qa,_2,t.O5],styles:[$r,".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:#0000000d}.linear-gauge .units{fill:#666}\n"],encapsulation:2,changeDetection:0});class Yd{constructor(){this.isActive=!1,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}tooltipText(r){const i=Ur(r.data.name);let b;return b=this.valueFormatting?this.valueFormatting(r.data.value):Ur(r.data.value),`\n ${fs(i)}\n ${b}\n `}}Yd.\u0275fac=function(r){return new(r||Yd)},Yd.\u0275cmp=e.Xpm({type:Yd,selectors:[["g","ngx-charts-gauge-arc",""]],inputs:{backgroundArc:"backgroundArc",valueArc:"valueArc",cornerRadius:"cornerRadius",colors:"colors",isActive:"isActive",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},attrs:["ngx-charts-gauge-arc",""],decls:2,vars:23,consts:[["ngx-charts-pie-arc","",1,"background-arc",3,"startAngle","endAngle","innerRadius","outerRadius","cornerRadius","data","animate","pointerEvents"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"startAngle","endAngle","innerRadius","outerRadius","cornerRadius","fill","data","animate","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"g",0),e.TgZ(1,"g",1),e.NdJ("select",function(R){return i.select.emit(R)})("activate",function(R){return i.activate.emit(R)})("deactivate",function(R){return i.deactivate.emit(R)}),e.qZA()),2&r&&(e.Q6J("startAngle",0)("endAngle",i.backgroundArc.endAngle)("innerRadius",i.backgroundArc.innerRadius)("outerRadius",i.backgroundArc.outerRadius)("cornerRadius",i.cornerRadius)("data",i.backgroundArc.data)("animate",!1)("pointerEvents",!1),e.xp6(1),e.Q6J("startAngle",0)("endAngle",i.valueArc.endAngle)("innerRadius",i.valueArc.innerRadius)("outerRadius",i.valueArc.outerRadius)("cornerRadius",i.cornerRadius)("fill",i.colors.getColor(i.valueArc.data.name))("data",i.valueArc.data)("animate",i.animations)("isActive",i.isActive)("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.placementTypes.Top)("tooltipType",i.styleTypes.tooltip)("tooltipTitle",i.tooltipTemplate?void 0:i.tooltipText(i.valueArc))("tooltipTemplate",i.tooltipTemplate)("tooltipContext",i.valueArc.data))},dependencies:[T1,ho],encapsulation:2,changeDetection:0});class fu{constructor(){this.rotate=""}ngOnChanges(r){this.update()}update(){this.rotationAngle=-90+this.startAngle,this.rotate=`rotate(${this.rotationAngle})`,this.ticks=this.getTicks()}getTicks(){const r=this.angleSpan/this.bigSegments,i=r/this.smallSegments,R={big:[],small:[]},Y=this.radius+10,me=Y+20+10;for(let Pe=0;Pe<=this.bigSegments;Pe++){const lt=Pe*r,gt=lt*Math.PI/180,Et=this.getTextAnchor(lt);let Zt=!1;if(0===Pe&&360===this.angleSpan&&(Zt=!0),!Zt){let St=Number.parseFloat(this.valueScale.invert(lt).toString()).toLocaleString();this.tickFormatting&&(St=this.tickFormatting(St)),R.big.push({line:this.getTickPath(Y,20,gt),textAnchor:Et,text:St,textTransform:`\n translate(${me*Math.cos(gt)}, ${me*Math.sin(gt)}) rotate(${-this.rotationAngle})\n `})}if(Pe!==this.bigSegments)for(let St=1;St<=this.smallSegments;St++){const wn=(lt+St*i)*Math.PI/180;R.small.push({line:this.getTickPath(Y,10,wn)})}}return R}getTextAnchor(r){r=(this.startAngle+r)%360;let i=Gs.Middle;return r>45&&r<=135?i=Gs.Start:r>225&&r<=315&&(i=Gs.End),i}getTickPath(r,i,b){const R=r*Math.sin(b),Y=(r+i)*Math.sin(b),lt=[{x:r*Math.cos(b),y:R},{x:(r+i)*Math.cos(b),y:Y}];return tl().x(Et=>Et.x).y(Et=>Et.y)(lt)}}fu.\u0275fac=function(r){return new(r||fu)},fu.\u0275cmp=e.Xpm({type:fu,selectors:[["g","ngx-charts-gauge-axis",""]],inputs:{bigSegments:"bigSegments",smallSegments:"smallSegments",min:"min",max:"max",angleSpan:"angleSpan",startAngle:"startAngle",radius:"radius",valueScale:"valueScale",tickFormatting:"tickFormatting"},features:[e.TTD],attrs:["ngx-charts-gauge-axis",""],decls:4,vars:4,consts:[["class","gauge-tick gauge-tick-large",4,"ngFor","ngForOf"],["class","gauge-tick gauge-tick-small",4,"ngFor","ngForOf"],[1,"gauge-tick","gauge-tick-large"],["alignment-baseline","central"],[1,"gauge-tick","gauge-tick-small"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,wd,2,1,"g",0),e.YNc(2,w6,3,4,"g",0),e.YNc(3,I6,2,1,"g",1),e.qZA()),2&r&&(e.uIk("transform",i.rotate),e.xp6(1),e.Q6J("ngForOf",i.ticks.big),e.xp6(1),e.Q6J("ngForOf",i.ticks.big),e.xp6(1),e.Q6J("ngForOf",i.ticks.small))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class Qd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.min=0,this.max=100,this.bigSegments=10,this.smallSegments=5,this.showAxis=!0,this.startAngle=-120,this.angleSpan=240,this.activeEntries=[],this.tooltipDisabled=!1,this.showText=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.resizeScale=1,this.rotation="",this.textTransform="scale(1, 1)",this.cornerRadius=10}ngAfterViewInit(){super.ngAfterViewInit(),setTimeout(()=>this.scaleText())}update(){super.update(),this.showAxis?this.margin||(this.margin=[60,100,60,100]):this.margin||(this.margin=[10,20,10,20]),this.startAngle<0&&(this.startAngle=this.startAngle%360+360),this.angleSpan=Math.min(this.angleSpan,360),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showLegend:this.legend,legendPosition:this.legendPosition}),this.domain=this.getDomain(),this.valueDomain=this.getValueDomain(),this.valueScale=this.getValueScale(),this.displayValue=this.getDisplayValue(),this.outerRadius=Math.min(this.dims.width,this.dims.height)/2,this.arcs=this.getArcs(),this.setColors(),this.legendOptions=this.getLegendOptions();const r=this.margin[3]+this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.transform=`translate(${r}, ${i})`,this.rotation=`rotate(${this.startAngle})`,setTimeout(()=>this.scaleText(),50)}getArcs(){const r=[],i=.7*this.outerRadius,b=Math.min(i/this.results.length,10),R=.7*b;this.textRadius=this.outerRadius-this.results.length*b,this.cornerRadius=Math.floor(R/2);let Y=0;for(const me of this.results){const Pe=this.outerRadius-Y*b,lt=Pe-R,Zt={backgroundArc:{endAngle:this.angleSpan*Math.PI/180,innerRadius:lt,outerRadius:Pe,data:{value:this.max,name:me.name}},valueArc:{endAngle:Math.min(this.valueScale(me.value),this.angleSpan)*Math.PI/180,innerRadius:lt,outerRadius:Pe,data:{value:me.value,name:me.name}}};r.push(Zt),Y++}return r}getDomain(){return this.results.map(r=>r.name)}getValueDomain(){const r=this.results.map(R=>R.value),i=Math.min(...r),b=Math.max(...r);return void 0!==this.min?this.min=Math.min(this.min,i):this.min=i,void 0!==this.max?this.max=Math.max(this.max,b):this.max=b,[this.min,this.max]}getValueScale(){return Ga().range([0,this.angleSpan]).nice().domain(this.valueDomain)}getDisplayValue(){const r=this.results.map(i=>i.value).reduce((i,b)=>i+b,0);return this.textValue&&0!==this.textValue.length?this.textValue.toLocaleString():this.valueFormatting?this.valueFormatting(r):r.toLocaleString()}scaleText(r=!0){if(!this.showText)return;const{width:i}=this.textEl.nativeElement.getBoundingClientRect(),b=this.resizeScale;if(0===i)this.resizeScale=1;else{const R=this.textRadius;this.resizeScale=Math.floor(R/(i/this.resizeScale)*100)/100}this.resizeScale!==b&&(this.textTransform=`scale(${this.resizeScale}, ${this.resizeScale})`,this.cd.markForCheck(),r&&setTimeout(()=>this.scaleText(!1),50))}onClick(r){this.select.emit(r)}getLegendOptions(){return{scaleType:Cn.Ordinal,colors:this.colors,domain:this.domain,title:this.legendTitle,position:this.legendPosition}}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.series===b.series)}trackBy(r,i){return i.valueArc.data.name}}Qd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Qd)))(i||Qd)}}(),Qd.\u0275cmp=e.Xpm({type:Qd,selectors:[["ngx-charts-gauge"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},viewQuery:function(r,i){if(1&r&&e.Gf(T4,5),2&r){let b;e.iGM(b=e.CRH())&&(i.textEl=b.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",min:"min",max:"max",textValue:"textValue",units:"units",bigSegments:"bigSegments",smallSegments:"smallSegments",results:"results",showAxis:"showAxis",startAngle:"startAngle",angleSpan:"angleSpan",activeEntries:"activeEntries",axisTickFormatting:"axisTickFormatting",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",showText:"showText",margin:"margin"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"gauge","chart"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-gauge-axis","",3,"bigSegments","smallSegments","min","max","radius","angleSpan","valueScale","startAngle","tickFormatting",4,"ngIf"],["alignment-baseline","central",3,"textAnchor",4,"ngIf"],["ngx-charts-gauge-arc","",3,"backgroundArc","valueArc","cornerRadius","colors","isActive","tooltipDisabled","tooltipTemplate","valueFormatting","animations","select","activate","deactivate"],["ngx-charts-gauge-axis","",3,"bigSegments","smallSegments","min","max","radius","angleSpan","valueScale","startAngle","tickFormatting"],["alignment-baseline","central"],["textEl",""],["x","0","dy","0"],["x","0","dy","1.2em"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,sp,2,10,"g",2),e.YNc(3,L6,1,9,"g",3),e.YNc(4,L4,6,5,"text",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.arcs)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",i.showAxis),e.xp6(1),e.Q6J("ngIf",i.showText))},dependencies:[Qa,Yd,fu,t.sg,t.O5],styles:[$r,".gauge .background-arc path{fill:#0000000d}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{font-size:12px;fill:#666;font-weight:700}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\n"],encapsulation:2,changeDetection:0});class jd{}jd.\u0275fac=function(r){return new(r||jd)},jd.\u0275mod=e.oAB({type:jd}),jd.\u0275inj=e.cJS({imports:[[Ds,Sl,y2]]});class qd{constructor(){!function B4(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}qd.\u0275fac=function(r){return new(r||qd)},qd.\u0275mod=e.oAB({type:qd}),qd.\u0275inj=e.cJS({imports:[Ds,Od,y2,Nd,x2,ic,A1,Wd,A2,Sl,Zd,jd]})},6021:(Ue,q,m)=>{"use strict";function e(P,M,z,I,W,Z,Q){try{var ie=P[Z](Q),ae=ie.value}catch(_e){return void z(_e)}ie.done?M(ae):Promise.resolve(ae).then(I,W)}m.d(q,{uU:()=>S,OF:()=>A});var _=m(2560),E=m(4666),s=m(5646);function D(P,M){if(1&P&&_._UZ(0,"canvas",1),2&P){const z=_.oxw();_.Q6J("qrCode",z.value)("qrCodeErrorCorrectionLevel",z.errorCorrectionLevel)("qrCodeCenterImageSrc",z.centerImageSrc)("qrCodeCenterImageWidth",z.centerImageSize)("qrCodeCenterImageHeight",z.centerImageSize)("qrCodeMargin",z.margin)("width",z.size)("height",z.size)("darkColor",z.darkColor)("lightColor",z.lightColor)}}const u=/^#(?:[0-9a-fA-F]{3,4}){1,2}$/;class k{constructor(M){this.viewContainerRef=M,this.errorCorrectionLevel=k.DEFAULT_ERROR_CORRECTION_LEVEL,this.darkColor="#000000FF",this.lightColor="#FFFFFFFF",this.margin=16}ngOnChanges(){var M=this;return function t(P){return function(){var M=this,z=arguments;return new Promise(function(I,W){var Z=P.apply(M,z);function Q(ae){e(Z,I,W,Q,ie,"next",ae)}function ie(ae){e(Z,I,W,Q,ie,"throw",ae)}Q(void 0)})}}(function*(){if(!M.value)return;M.version&&M.version>40?(console.warn("[qrCode] max version is 40, clamping"),M.version=40):M.version&&M.version<1?(console.warn("[qrCode] min version is 1, clamping"),M.version=1):void 0!==M.version&&isNaN(M.version)&&(console.warn("[qrCode] version should be set to a number, defaulting to auto"),M.version=void 0);const z=M.viewContainerRef.element.nativeElement;if(!z)return;const I=z.getContext("2d");I&&I.clearRect(0,0,I.canvas.width,I.canvas.height);const W=M.errorCorrectionLevel??k.DEFAULT_ERROR_CORRECTION_LEVEL,Z=u.test(M.darkColor)?M.darkColor:void 0,Q=u.test(M.lightColor)?M.lightColor:void 0;(0,_.X6Q)()&&(!Z&&M.darkColor&&console.error("[ng-qrcode] darkColor set to invalid value, must be RGBA hex color string, eg: #3050A1FF"),!Q&&M.lightColor&&console.error("[ng-qrcode] lightColor set to invalid value, must be RGBA hex color string, eg: #3050A130")),yield s.toCanvas(z,M.value,{version:M.version,errorCorrectionLevel:W,width:M.width,margin:M.margin,color:{dark:Z,light:Q}});const ie=M.centerImageSrc,ae=p(M.centerImageWidth,k.DEFAULT_CENTER_IMAGE_SIZE),_e=p(M.centerImageHeight,k.DEFAULT_CENTER_IMAGE_SIZE);if(ie&&I){M.centerImage||(M.centerImage=new Image(ae,_e)),ie!==M.centerImage?.src&&(M.centerImage.src=ie),ae!==M.centerImage.width&&(M.centerImage.width=ae),_e!==M.centerImage.height&&(M.centerImage.height=_e);const ce=M.centerImage;ce.onload=()=>{I.drawImage(ce,z.width/2-ae/2,z.height/2-_e/2,ae,_e)}}})()}}function p(P,M){return void 0===P||""===P?M:"string"==typeof P?parseInt(P,10):P}k.DEFAULT_ERROR_CORRECTION_LEVEL="M",k.DEFAULT_CENTER_IMAGE_SIZE=40,k.\u0275fac=function(M){return new(M||k)(_.Y36(_.s_b))},k.\u0275dir=_.lG2({type:k,selectors:[["canvas","qrCode",""]],inputs:{value:["qrCode","value"],version:["qrCodeVersion","version"],errorCorrectionLevel:["qrCodeErrorCorrectionLevel","errorCorrectionLevel"],width:"width",height:"height",darkColor:"darkColor",lightColor:"lightColor",centerImageSrc:["qrCodeCenterImageSrc","centerImageSrc"],centerImageWidth:["qrCodeCenterImageWidth","centerImageWidth"],centerImageHeight:["qrCodeCenterImageHeight","centerImageHeight"],margin:["qrCodeMargin","margin"]},features:[_.TTD]});class S{}S.\u0275fac=function(M){return new(M||S)},S.\u0275cmp=_.Xpm({type:S,selectors:[["qr-code"]],inputs:{value:"value",size:"size",darkColor:"darkColor",lightColor:"lightColor",errorCorrectionLevel:"errorCorrectionLevel",centerImageSrc:"centerImageSrc",centerImageSize:"centerImageSize",margin:"margin"},decls:1,vars:1,consts:[[3,"qrCode","qrCodeErrorCorrectionLevel","qrCodeCenterImageSrc","qrCodeCenterImageWidth","qrCodeCenterImageHeight","qrCodeMargin","width","height","darkColor","lightColor",4,"ngIf"],[3,"qrCode","qrCodeErrorCorrectionLevel","qrCodeCenterImageSrc","qrCodeCenterImageWidth","qrCodeCenterImageHeight","qrCodeMargin","width","height","darkColor","lightColor"]],template:function(M,z){1&M&&_.YNc(0,D,1,10,"canvas",0),2&M&&_.Q6J("ngIf",z.value)},dependencies:[E.O5,k],encapsulation:2});class A{}A.\u0275fac=function(M){return new(M||A)},A.\u0275mod=_.oAB({type:A}),A.\u0275inj=_.cJS({imports:[E.ez]})},8822:(Ue,q,m)=>{"use strict";m.d(q,{op:()=>dt,$V:()=>Ye,Xd:()=>ze});var e=m(253),t=m(3280),_=m(6646),E=m(9211),s=m(8951),D=m(8977),u=m(73),k=m(2560),p=m(4666);function S(Me){return getComputedStyle(Me)}function A(Me,Ce){for(var Je in Ce){var zt=Ce[Je];"number"==typeof zt&&(zt+="px"),Me.style[Je]=zt}return Me}function P(Me){var Ce=document.createElement("div");return Ce.className=Me,Ce}var M=typeof Element<"u"&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function z(Me,Ce){if(!M)throw new Error("No element matching method supported");return M.call(Me,Ce)}function I(Me){Me.remove?Me.remove():Me.parentNode&&Me.parentNode.removeChild(Me)}function W(Me,Ce){return Array.prototype.filter.call(Me.children,function(Je){return z(Je,Ce)})}var Z_main="ps",Z_rtl="ps__rtl",Z_element={thumb:function(Me){return"ps__thumb-"+Me},rail:function(Me){return"ps__rail-"+Me},consuming:"ps__child--consume"},Z_state={focus:"ps--focus",clicking:"ps--clicking",active:function(Me){return"ps--active-"+Me},scrolling:function(Me){return"ps--scrolling-"+Me}},Q={x:null,y:null};function ie(Me,Ce){var Je=Me.element.classList,zt=Z_state.scrolling(Ce);Je.contains(zt)?clearTimeout(Q[Ce]):Je.add(zt)}function ae(Me,Ce){Q[Ce]=setTimeout(function(){return Me.isAlive&&Me.element.classList.remove(Z_state.scrolling(Ce))},Me.settings.scrollingThreshold)}var ce=function(Ce){this.element=Ce,this.handlers={}},ye={isEmpty:{configurable:!0}};ce.prototype.bind=function(Ce,Je){typeof this.handlers[Ce]>"u"&&(this.handlers[Ce]=[]),this.handlers[Ce].push(Je),this.element.addEventListener(Ce,Je,!1)},ce.prototype.unbind=function(Ce,Je){var zt=this;this.handlers[Ce]=this.handlers[Ce].filter(function(At){return!(!Je||At===Je)||(zt.element.removeEventListener(Ce,At,!1),!1)})},ce.prototype.unbindAll=function(){for(var Ce in this.handlers)this.unbind(Ce)},ye.isEmpty.get=function(){var Me=this;return Object.keys(this.handlers).every(function(Ce){return 0===Me.handlers[Ce].length})},Object.defineProperties(ce.prototype,ye);var ue=function(){this.eventElements=[]};function $(Me){if("function"==typeof window.CustomEvent)return new CustomEvent(Me);var Ce=document.createEvent("CustomEvent");return Ce.initCustomEvent(Me,!1,!1,void 0),Ce}function he(Me,Ce,Je,zt,At){var Tt;if(void 0===zt&&(zt=!0),void 0===At&&(At=!1),"top"===Ce)Tt=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==Ce)throw new Error("A proper axis should be provided");Tt=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function w(Me,Ce,Je,zt,At){var Tt=Je[0],Ht=Je[1],He=Je[2],$e=Je[3],$t=Je[4],Rt=Je[5];void 0===zt&&(zt=!0),void 0===At&&(At=!1);var Jt=Me.element;Me.reach[$e]=null,Jt[He]<1&&(Me.reach[$e]="start"),Jt[He]>Me[Tt]-Me[Ht]-1&&(Me.reach[$e]="end"),Ce&&(Jt.dispatchEvent($("ps-scroll-"+$e)),Ce<0?Jt.dispatchEvent($("ps-scroll-"+$t)):Ce>0&&Jt.dispatchEvent($("ps-scroll-"+Rt)),zt&&function _e(Me,Ce){ie(Me,Ce),ae(Me,Ce)}(Me,$e)),Me.reach[$e]&&(Ce||At)&&Jt.dispatchEvent($("ps-"+$e+"-reach-"+Me.reach[$e]))}(Me,Je,Tt,zt,At)}function n(Me){return parseInt(Me,10)||0}ue.prototype.eventElement=function(Ce){var Je=this.eventElements.filter(function(zt){return zt.element===Ce})[0];return Je||(Je=new ce(Ce),this.eventElements.push(Je)),Je},ue.prototype.bind=function(Ce,Je,zt){this.eventElement(Ce).bind(Je,zt)},ue.prototype.unbind=function(Ce,Je,zt){var At=this.eventElement(Ce);At.unbind(Je,zt),At.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(At),1)},ue.prototype.unbindAll=function(){this.eventElements.forEach(function(Ce){return Ce.unbindAll()}),this.eventElements=[]},ue.prototype.once=function(Ce,Je,zt){var At=this.eventElement(Ce),Tt=function(Ht){At.unbind(Je,Tt),zt(Ht)};At.bind(Je,Tt)};var d={isWebKit:typeof document<"u"&&"WebkitAppearance"in document.documentElement.style,supportsTouch:typeof window<"u"&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:typeof navigator<"u"&&navigator.msMaxTouchPoints,isChrome:typeof navigator<"u"&&/Chrome/i.test(navigator&&navigator.userAgent)};function y(Me){var Ce=Me.element,Je=Math.floor(Ce.scrollTop),zt=Ce.getBoundingClientRect();Me.containerWidth=Math.round(zt.width),Me.containerHeight=Math.round(zt.height),Me.contentWidth=Ce.scrollWidth,Me.contentHeight=Ce.scrollHeight,Ce.contains(Me.scrollbarXRail)||(W(Ce,Z_element.rail("x")).forEach(function(At){return I(At)}),Ce.appendChild(Me.scrollbarXRail)),Ce.contains(Me.scrollbarYRail)||(W(Ce,Z_element.rail("y")).forEach(function(At){return I(At)}),Ce.appendChild(Me.scrollbarYRail)),!Me.settings.suppressScrollX&&Me.containerWidth+Me.settings.scrollXMarginOffset=Me.railXWidth-Me.scrollbarXWidth&&(Me.scrollbarXLeft=Me.railXWidth-Me.scrollbarXWidth),Me.scrollbarYTop>=Me.railYHeight-Me.scrollbarYHeight&&(Me.scrollbarYTop=Me.railYHeight-Me.scrollbarYHeight),function B(Me,Ce){var Je={width:Ce.railXWidth},zt=Math.floor(Me.scrollTop);Ce.isRtl?Je.left=Ce.negativeScrollAdjustment+Me.scrollLeft+Ce.containerWidth-Ce.contentWidth:Je.left=Me.scrollLeft,Ce.isScrollbarXUsingBottom?Je.bottom=Ce.scrollbarXBottom-zt:Je.top=Ce.scrollbarXTop+zt,A(Ce.scrollbarXRail,Je);var At={top:zt,height:Ce.railYHeight};Ce.isScrollbarYUsingRight?Ce.isRtl?At.right=Ce.contentWidth-(Ce.negativeScrollAdjustment+Me.scrollLeft)-Ce.scrollbarYRight-Ce.scrollbarYOuterWidth-9:At.right=Ce.scrollbarYRight-Me.scrollLeft:Ce.isRtl?At.left=Ce.negativeScrollAdjustment+Me.scrollLeft+2*Ce.containerWidth-Ce.contentWidth-Ce.scrollbarYLeft-Ce.scrollbarYOuterWidth:At.left=Ce.scrollbarYLeft+Me.scrollLeft,A(Ce.scrollbarYRail,At),A(Ce.scrollbarX,{left:Ce.scrollbarXLeft,width:Ce.scrollbarXWidth-Ce.railBorderXWidth}),A(Ce.scrollbarY,{top:Ce.scrollbarYTop,height:Ce.scrollbarYHeight-Ce.railBorderYWidth})}(Ce,Me),Me.scrollbarXActive?Ce.classList.add(Z_state.active("x")):(Ce.classList.remove(Z_state.active("x")),Me.scrollbarXWidth=0,Me.scrollbarXLeft=0,Ce.scrollLeft=!0===Me.isRtl?Me.contentWidth:0),Me.scrollbarYActive?Ce.classList.add(Z_state.active("y")):(Ce.classList.remove(Z_state.active("y")),Me.scrollbarYHeight=0,Me.scrollbarYTop=0,Ce.scrollTop=0)}function L(Me,Ce){return Me.settings.minScrollbarLength&&(Ce=Math.max(Ce,Me.settings.minScrollbarLength)),Me.settings.maxScrollbarLength&&(Ce=Math.min(Ce,Me.settings.maxScrollbarLength)),Ce}function C(Me,Ce){var Je=Ce[0],zt=Ce[1],At=Ce[2],Tt=Ce[3],Ht=Ce[4],He=Ce[5],$e=Ce[6],$t=Ce[7],Rt=Ce[8],Jt=Me.element,Vn=null,zn=null,Tn=null;function Yn(Be){Be.touches&&Be.touches[0]&&(Be[At]=Be.touches[0].pageY),Jt[$e]=Vn+Tn*(Be[At]-zn),ie(Me,$t),y(Me),Be.stopPropagation(),Be.type.startsWith("touch")&&Be.changedTouches.length>1&&Be.preventDefault()}function Mt(){ae(Me,$t),Me[Rt].classList.remove(Z_state.clicking),Me.event.unbind(Me.ownerDocument,"mousemove",Yn)}function Ge(Be,ft){Vn=Jt[$e],ft&&Be.touches&&(Be[At]=Be.touches[0].pageY),zn=Be[At],Tn=(Me[zt]-Me[Je])/(Me[Tt]-Me[He]),ft?Me.event.bind(Me.ownerDocument,"touchmove",Yn):(Me.event.bind(Me.ownerDocument,"mousemove",Yn),Me.event.once(Me.ownerDocument,"mouseup",Mt),Be.preventDefault()),Me[Rt].classList.add(Z_state.clicking),Be.stopPropagation()}Me.event.bind(Me[Ht],"mousedown",function(Be){Ge(Be)}),Me.event.bind(Me[Ht],"touchstart",function(Be){Ge(Be,!0)})}var ke={"click-rail":function v(Me){Me.element,Me.event.bind(Me.scrollbarY,"mousedown",function(Je){return Je.stopPropagation()}),Me.event.bind(Me.scrollbarYRail,"mousedown",function(Je){var At=Je.pageY-window.pageYOffset-Me.scrollbarYRail.getBoundingClientRect().top>Me.scrollbarYTop?1:-1;Me.element.scrollTop+=At*Me.containerHeight,y(Me),Je.stopPropagation()}),Me.event.bind(Me.scrollbarX,"mousedown",function(Je){return Je.stopPropagation()}),Me.event.bind(Me.scrollbarXRail,"mousedown",function(Je){var At=Je.pageX-window.pageXOffset-Me.scrollbarXRail.getBoundingClientRect().left>Me.scrollbarXLeft?1:-1;Me.element.scrollLeft+=At*Me.containerWidth,y(Me),Je.stopPropagation()})},"drag-thumb":function a(Me){C(Me,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),C(Me,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function N(Me){var Ce=Me.element;Me.event.bind(Me.ownerDocument,"keydown",function(Tt){if(!(Tt.isDefaultPrevented&&Tt.isDefaultPrevented()||Tt.defaultPrevented)&&(z(Ce,":hover")||z(Me.scrollbarX,":focus")||z(Me.scrollbarY,":focus"))){var Ht=document.activeElement?document.activeElement:Me.ownerDocument.activeElement;if(Ht){if("IFRAME"===Ht.tagName)Ht=Ht.contentDocument.activeElement;else for(;Ht.shadowRoot;)Ht=Ht.shadowRoot.activeElement;if(function o(Me){return z(Me,"input,[contenteditable]")||z(Me,"select,[contenteditable]")||z(Me,"textarea,[contenteditable]")||z(Me,"button,[contenteditable]")}(Ht))return}var He=0,$e=0;switch(Tt.which){case 37:He=Tt.metaKey?-Me.contentWidth:Tt.altKey?-Me.containerWidth:-30;break;case 38:$e=Tt.metaKey?Me.contentHeight:Tt.altKey?Me.containerHeight:30;break;case 39:He=Tt.metaKey?Me.contentWidth:Tt.altKey?Me.containerWidth:30;break;case 40:$e=Tt.metaKey?-Me.contentHeight:Tt.altKey?-Me.containerHeight:-30;break;case 32:$e=Tt.shiftKey?Me.containerHeight:-Me.containerHeight;break;case 33:$e=Me.containerHeight;break;case 34:$e=-Me.containerHeight;break;case 36:$e=Me.contentHeight;break;case 35:$e=-Me.contentHeight;break;default:return}Me.settings.suppressScrollX&&0!==He||Me.settings.suppressScrollY&&0!==$e||(Ce.scrollTop-=$e,Ce.scrollLeft+=He,y(Me),function At(Tt,Ht){var He=Math.floor(Ce.scrollTop);if(0===Tt){if(!Me.scrollbarYActive)return!1;if(0===He&&Ht>0||He>=Me.contentHeight-Me.containerHeight&&Ht<0)return!Me.settings.wheelPropagation}var $e=Ce.scrollLeft;if(0===Ht){if(!Me.scrollbarXActive)return!1;if(0===$e&&Tt<0||$e>=Me.contentWidth-Me.containerWidth&&Tt>0)return!Me.settings.wheelPropagation}return!0}(He,$e)&&Tt.preventDefault())}})},wheel:function F(Me){var Ce=Me.element;function Tt(Ht){var He=function zt(Ht){var He=Ht.deltaX,$e=-1*Ht.deltaY;return(typeof He>"u"||typeof $e>"u")&&(He=-1*Ht.wheelDeltaX/6,$e=Ht.wheelDeltaY/6),Ht.deltaMode&&1===Ht.deltaMode&&(He*=10,$e*=10),He!=He&&$e!=$e&&(He=0,$e=Ht.wheelDelta),Ht.shiftKey?[-$e,-He]:[He,$e]}(Ht),$e=He[0],$t=He[1];if(!function At(Ht,He,$e){if(!d.isWebKit&&Ce.querySelector("select:focus"))return!0;if(!Ce.contains(Ht))return!1;for(var $t=Ht;$t&&$t!==Ce;){if($t.classList.contains(Z_element.consuming))return!0;var Rt=S($t);if($e&&Rt.overflowY.match(/(scroll|auto)/)){var Jt=$t.scrollHeight-$t.clientHeight;if(Jt>0&&($t.scrollTop>0&&$e<0||$t.scrollTop0))return!0}if(He&&Rt.overflowX.match(/(scroll|auto)/)){var Vn=$t.scrollWidth-$t.clientWidth;if(Vn>0&&($t.scrollLeft>0&&He<0||$t.scrollLeft0))return!0}$t=$t.parentNode}return!1}(Ht.target,$e,$t)){var Rt=!1;Me.settings.useBothWheelAxes?Me.scrollbarYActive&&!Me.scrollbarXActive?($t?Ce.scrollTop-=$t*Me.settings.wheelSpeed:Ce.scrollTop+=$e*Me.settings.wheelSpeed,Rt=!0):Me.scrollbarXActive&&!Me.scrollbarYActive&&($e?Ce.scrollLeft+=$e*Me.settings.wheelSpeed:Ce.scrollLeft-=$t*Me.settings.wheelSpeed,Rt=!0):(Ce.scrollTop-=$t*Me.settings.wheelSpeed,Ce.scrollLeft+=$e*Me.settings.wheelSpeed),y(Me),Rt=Rt||function Je(Ht,He){var $e=Math.floor(Ce.scrollTop),$t=0===Ce.scrollTop,Rt=$e+Ce.offsetHeight===Ce.scrollHeight,Jt=0===Ce.scrollLeft,Vn=Ce.scrollLeft+Ce.offsetWidth===Ce.scrollWidth;return!(Math.abs(He)>Math.abs(Ht)?$t||Rt:Jt||Vn)||!Me.settings.wheelPropagation}($e,$t),Rt&&!Ht.ctrlKey&&(Ht.stopPropagation(),Ht.preventDefault())}}typeof window.onwheel<"u"?Me.event.bind(Ce,"wheel",Tt):typeof window.onmousewheel<"u"&&Me.event.bind(Ce,"mousewheel",Tt)},touch:function X(Me){if(d.supportsTouch||d.supportsIePointer){var Ce=Me.element,At={},Tt=0,Ht={},He=null;d.supportsTouch?(Me.event.bind(Ce,"touchstart",Rt),Me.event.bind(Ce,"touchmove",Vn),Me.event.bind(Ce,"touchend",zn)):d.supportsIePointer&&(window.PointerEvent?(Me.event.bind(Ce,"pointerdown",Rt),Me.event.bind(Ce,"pointermove",Vn),Me.event.bind(Ce,"pointerup",zn)):window.MSPointerEvent&&(Me.event.bind(Ce,"MSPointerDown",Rt),Me.event.bind(Ce,"MSPointerMove",Vn),Me.event.bind(Ce,"MSPointerUp",zn)))}function zt(Tn,Yn){Ce.scrollTop-=Yn,Ce.scrollLeft-=Tn,y(Me)}function $e(Tn){return Tn.targetTouches?Tn.targetTouches[0]:Tn}function $t(Tn){return(!Tn.pointerType||"pen"!==Tn.pointerType||0!==Tn.buttons)&&!!(Tn.targetTouches&&1===Tn.targetTouches.length||Tn.pointerType&&"mouse"!==Tn.pointerType&&Tn.pointerType!==Tn.MSPOINTER_TYPE_MOUSE)}function Rt(Tn){if($t(Tn)){var Yn=$e(Tn);At.pageX=Yn.pageX,At.pageY=Yn.pageY,Tt=(new Date).getTime(),null!==He&&clearInterval(He)}}function Vn(Tn){if($t(Tn)){var Yn=$e(Tn),Mt={pageX:Yn.pageX,pageY:Yn.pageY},Ge=Mt.pageX-At.pageX,Be=Mt.pageY-At.pageY;if(function Jt(Tn,Yn,Mt){if(!Ce.contains(Tn))return!1;for(var Ge=Tn;Ge&&Ge!==Ce;){if(Ge.classList.contains(Z_element.consuming))return!0;var Be=S(Ge);if(Mt&&Be.overflowY.match(/(scroll|auto)/)){var ft=Ge.scrollHeight-Ge.clientHeight;if(ft>0&&(Ge.scrollTop>0&&Mt<0||Ge.scrollTop0))return!0}if(Yn&&Be.overflowX.match(/(scroll|auto)/)){var re=Ge.scrollWidth-Ge.clientWidth;if(re>0&&(Ge.scrollLeft>0&&Yn<0||Ge.scrollLeft0))return!0}Ge=Ge.parentNode}return!1}(Tn.target,Ge,Be))return;zt(Ge,Be),At=Mt;var ft=(new Date).getTime(),re=ft-Tt;re>0&&(Ht.x=Ge/re,Ht.y=Be/re,Tt=ft),function Je(Tn,Yn){var Mt=Math.floor(Ce.scrollTop),Ge=Ce.scrollLeft,Be=Math.abs(Tn),ft=Math.abs(Yn);if(ft>Be){if(Yn<0&&Mt===Me.contentHeight-Me.containerHeight||Yn>0&&0===Mt)return 0===window.scrollY&&Yn>0&&d.isChrome}else if(Be>ft&&(Tn<0&&Ge===Me.contentWidth-Me.containerWidth||Tn>0&&0===Ge))return!0;return!0}(Ge,Be)&&Tn.preventDefault()}}function zn(){Me.settings.swipeEasing&&(clearInterval(He),He=setInterval(function(){Me.isInitialized?clearInterval(He):Ht.x||Ht.y?Math.abs(Ht.x)<.01&&Math.abs(Ht.y)<.01?clearInterval(He):Me.element?(zt(30*Ht.x,30*Ht.y),Ht.x*=.8,Ht.y*=.8):clearInterval(He):clearInterval(He)},10))}}},Ke=function(Ce,Je){var zt=this;if(void 0===Je&&(Je={}),"string"==typeof Ce&&(Ce=document.querySelector(Ce)),!Ce||!Ce.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var At in this.element=Ce,Ce.classList.add(Z_main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},Je)this.settings[At]=Je[At];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var Rt,$t,Tt=function(){return Ce.classList.add(Z_state.focus)},Ht=function(){return Ce.classList.remove(Z_state.focus)};this.isRtl="rtl"===S(Ce).direction,!0===this.isRtl&&Ce.classList.add(Z_rtl),this.isNegativeScroll=($t=Ce.scrollLeft,Ce.scrollLeft=-1,Rt=Ce.scrollLeft<0,Ce.scrollLeft=$t,Rt),this.negativeScrollAdjustment=this.isNegativeScroll?Ce.scrollWidth-Ce.clientWidth:0,this.event=new ue,this.ownerDocument=Ce.ownerDocument||document,this.scrollbarXRail=P(Z_element.rail("x")),Ce.appendChild(this.scrollbarXRail),this.scrollbarX=P(Z_element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",Tt),this.event.bind(this.scrollbarX,"blur",Ht),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var He=S(this.scrollbarXRail);this.scrollbarXBottom=parseInt(He.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=n(He.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=n(He.borderLeftWidth)+n(He.borderRightWidth),A(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=n(He.marginLeft)+n(He.marginRight),A(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=P(Z_element.rail("y")),Ce.appendChild(this.scrollbarYRail),this.scrollbarY=P(Z_element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",Tt),this.event.bind(this.scrollbarY,"blur",Ht),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var $e=S(this.scrollbarYRail);this.scrollbarYRight=parseInt($e.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=n($e.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function h(Me){var Ce=S(Me);return n(Ce.width)+n(Ce.paddingLeft)+n(Ce.paddingRight)+n(Ce.borderLeftWidth)+n(Ce.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=n($e.borderTopWidth)+n($e.borderBottomWidth),A(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=n($e.marginTop)+n($e.marginBottom),A(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:Ce.scrollLeft<=0?"start":Ce.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:Ce.scrollTop<=0?"start":Ce.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function($t){return ke[$t](zt)}),this.lastScrollTop=Math.floor(Ce.scrollTop),this.lastScrollLeft=Ce.scrollLeft,this.event.bind(this.element,"scroll",function($t){return zt.onScroll($t)}),y(this)};Ke.prototype.update=function(){!this.isAlive||(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,A(this.scrollbarXRail,{display:"block"}),A(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=n(S(this.scrollbarXRail).marginLeft)+n(S(this.scrollbarXRail).marginRight),this.railYMarginHeight=n(S(this.scrollbarYRail).marginTop)+n(S(this.scrollbarYRail).marginBottom),A(this.scrollbarXRail,{display:"none"}),A(this.scrollbarYRail,{display:"none"}),y(this),he(this,"top",0,!1,!0),he(this,"left",0,!1,!0),A(this.scrollbarXRail,{display:""}),A(this.scrollbarYRail,{display:""}))},Ke.prototype.onScroll=function(Ce){!this.isAlive||(y(this),he(this,"top",this.element.scrollTop-this.lastScrollTop),he(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},Ke.prototype.destroy=function(){!this.isAlive||(this.event.unbindAll(),I(this.scrollbarX),I(this.scrollbarY),I(this.scrollbarXRail),I(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},Ke.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(Ce){return!Ce.match(/^ps([-_].+|)$/)}).join(" ")};const je=Ke;var Ve=function(){if(typeof Map<"u")return Map;function Me(Ce,Je){var zt=-1;return Ce.some(function(At,Tt){return At[0]===Je&&(zt=Tt,!0)}),zt}return function(){function Ce(){this.__entries__=[]}return Object.defineProperty(Ce.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),Ce.prototype.get=function(Je){var zt=Me(this.__entries__,Je),At=this.__entries__[zt];return At&&At[1]},Ce.prototype.set=function(Je,zt){var At=Me(this.__entries__,Je);~At?this.__entries__[At][1]=zt:this.__entries__.push([Je,zt])},Ce.prototype.delete=function(Je){var zt=this.__entries__,At=Me(zt,Je);~At&&zt.splice(At,1)},Ce.prototype.has=function(Je){return!!~Me(this.__entries__,Je)},Ce.prototype.clear=function(){this.__entries__.splice(0)},Ce.prototype.forEach=function(Je,zt){void 0===zt&&(zt=null);for(var At=0,Tt=this.__entries__;At0},Me.prototype.connect_=function(){!xe||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Ae?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},Me.prototype.disconnect_=function(){!xe||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},Me.prototype.onTransitionEnd_=function(Ce){var Je=Ce.propertyName,zt=void 0===Je?"":Je;Le.some(function(Tt){return!!~zt.indexOf(Tt)})&&this.refresh()},Me.getInstance=function(){return this.instance_||(this.instance_=new Me),this.instance_},Me.instance_=null,Me}(),pe=function(Me,Ce){for(var Je=0,zt=Object.keys(Ce);Je"u")&&Element instanceof Object){if(!(Ce instanceof ee(Ce).Element))throw new TypeError('parameter 1 is not of type "Element".');var Je=this.observations_;Je.has(Ce)||(Je.set(Ce,new yn(Ce)),this.controller_.addObserver(this),this.controller_.refresh())}},Me.prototype.unobserve=function(Ce){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u")&&Element instanceof Object){if(!(Ce instanceof ee(Ce).Element))throw new TypeError('parameter 1 is not of type "Element".');var Je=this.observations_;!Je.has(Ce)||(Je.delete(Ce),Je.size||this.controller_.removeObserver(this))}},Me.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},Me.prototype.gatherActive=function(){var Ce=this;this.clearActive(),this.observations_.forEach(function(Je){Je.isActive()&&Ce.activeObservations_.push(Je)})},Me.prototype.broadcastActive=function(){if(this.hasActive()){var Ce=this.callbackCtx_,Je=this.activeObservations_.map(function(zt){return new Xt(zt.target,zt.broadcastRect())});this.callback_.call(Ce,Je,Ce),this.clearActive()}},Me.prototype.clearActive=function(){this.activeObservations_.splice(0)},Me.prototype.hasActive=function(){return this.activeObservations_.length>0},Me}(),In=typeof WeakMap<"u"?new WeakMap:new Ve,rn=function Me(Ce){if(!(this instanceof Me))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var Je=te.getInstance(),zt=new Gt(Ce,Je,this);In.set(this,zt)};["observe","unobserve","disconnect"].forEach(function(Me){rn.prototype[Me]=function(){var Ce;return(Ce=In.get(this))[Me].apply(Ce,arguments)}});const pn=typeof Ze.ResizeObserver<"u"?Ze.ResizeObserver:rn;function tt(Me,Ce){if(1&Me&&(k.TgZ(0,"div",3),k._UZ(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),k.qZA()),2&Me){const Je=k.oxw();k.ekj("ps-at-top",Je.states.top)("ps-at-left",Je.states.left)("ps-at-right",Je.states.right)("ps-at-bottom",Je.states.bottom),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorY&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorX&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorX&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorY&&Je.interaction)}}const dt=new k.OlP("PERFECT_SCROLLBAR_CONFIG");class se{constructor(Ce,Je,zt,At){this.x=Ce,this.y=Je,this.w=zt,this.h=At}}class J{constructor(Ce,Je){this.x=Ce,this.y=Je}}const oe=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"];class De{constructor(Ce={}){this.assign(Ce)}assign(Ce={}){for(const Je in Ce)this[Je]=Ce[Je]}}class Ye{constructor(Ce,Je,zt,At,Tt){this.zone=Ce,this.differs=Je,this.elementRef=zt,this.platformId=At,this.defaults=Tt,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new e.x,this.disabled=!1,this.psScrollY=new k.vpe,this.psScrollX=new k.vpe,this.psScrollUp=new k.vpe,this.psScrollDown=new k.vpe,this.psScrollLeft=new k.vpe,this.psScrollRight=new k.vpe,this.psYReachEnd=new k.vpe,this.psYReachStart=new k.vpe,this.psXReachEnd=new k.vpe,this.psXReachStart=new k.vpe}ngOnInit(){if(!this.disabled&&(0,p.NF)(this.platformId)){const Ce=new De(this.defaults);Ce.assign(this.config),this.zone.runOutsideAngular(()=>{this.instance=new je(this.elementRef.nativeElement,Ce)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(()=>{this.ro=new pn(()=>{this.update()}),this.elementRef.nativeElement.children[0]&&this.ro.observe(this.elementRef.nativeElement.children[0]),this.ro.observe(this.elementRef.nativeElement)}),this.zone.runOutsideAngular(()=>{oe.forEach(Je=>{const zt=Je.replace(/([A-Z])/g,At=>`-${At.toLowerCase()}`);(0,t.R)(this.elementRef.nativeElement,zt).pipe((0,E.e)(20),(0,s.R)(this.ngDestroy)).subscribe(At=>{this[Je].emit(At)})})})}}ngOnDestroy(){(0,p.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&typeof window<"u"&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.instance&&this.instance.destroy()}),this.instance=null)}ngDoCheck(){!this.disabled&&this.configDiff&&(0,p.NF)(this.platformId)&&this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit())}ngOnChanges(Ce){Ce.disabled&&!Ce.disabled.isFirstChange()&&(0,p.NF)(this.platformId)&&Ce.disabled.currentValue!==Ce.disabled.previousValue&&(!0===Ce.disabled.currentValue?this.ngOnDestroy():!1===Ce.disabled.currentValue&&this.ngOnInit())}ps(){return this.instance}update(){typeof window<"u"&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{if(!this.disabled&&this.configDiff)try{this.zone.runOutsideAngular(()=>{this.instance&&this.instance.update()})}catch{}},0))}geometry(Ce="scroll"){return new se(this.elementRef.nativeElement[Ce+"Left"],this.elementRef.nativeElement[Ce+"Top"],this.elementRef.nativeElement[Ce+"Width"],this.elementRef.nativeElement[Ce+"Height"])}position(Ce=!1){return!Ce&&this.instance?new J(this.instance.reach.x||0,this.instance.reach.y||0):new J(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)}scrollable(Ce="any"){const Je=this.elementRef.nativeElement;return"any"===Ce?Je.classList.contains("ps--active-x")||Je.classList.contains("ps--active-y"):"both"===Ce?Je.classList.contains("ps--active-x")&&Je.classList.contains("ps--active-y"):Je.classList.contains("ps--active-"+Ce)}scrollTo(Ce,Je,zt){this.disabled||(null==Je&&null==zt?this.animateScrolling("scrollTop",Ce,zt):(null!=Ce&&this.animateScrolling("scrollLeft",Ce,zt),null!=Je&&this.animateScrolling("scrollTop",Je,zt)))}scrollToX(Ce,Je){this.animateScrolling("scrollLeft",Ce,Je)}scrollToY(Ce,Je){this.animateScrolling("scrollTop",Ce,Je)}scrollToTop(Ce,Je){this.animateScrolling("scrollTop",Ce||0,Je)}scrollToLeft(Ce,Je){this.animateScrolling("scrollLeft",Ce||0,Je)}scrollToRight(Ce,Je){const zt=this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth;this.animateScrolling("scrollLeft",zt-(Ce||0),Je)}scrollToBottom(Ce,Je){const zt=this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight;this.animateScrolling("scrollTop",zt-(Ce||0),Je)}scrollToElement(Ce,Je,zt){if("string"==typeof Ce&&(Ce=this.elementRef.nativeElement.querySelector(Ce)),Ce){const At=Ce.getBoundingClientRect(),Tt=this.elementRef.nativeElement.getBoundingClientRect();if(this.elementRef.nativeElement.classList.contains("ps--active-x")){const Ht=this.elementRef.nativeElement.scrollLeft,He=At.left-Tt.left+Ht;this.animateScrolling("scrollLeft",He+(Je||0),zt)}if(this.elementRef.nativeElement.classList.contains("ps--active-y")){const Ht=this.elementRef.nativeElement.scrollTop,He=At.top-Tt.top+Ht;this.animateScrolling("scrollTop",He+(Je||0),zt)}}}animateScrolling(Ce,Je,zt){if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),!zt||typeof window>"u")this.elementRef.nativeElement[Ce]=Je;else if(Je!==this.elementRef.nativeElement[Ce]){let At=0,Tt=0,Ht=performance.now(),He=this.elementRef.nativeElement[Ce];const $e=(He-Je)/2,$t=Rt=>{Tt+=Math.PI/(zt/(Rt-Ht)),At=Math.round(Je+$e+$e*Math.cos(Tt)),this.elementRef.nativeElement[Ce]===He&&(Tt>=Math.PI?this.animateScrolling(Ce,Je,0):(this.elementRef.nativeElement[Ce]=At,He=this.elementRef.nativeElement[Ce],Ht=Rt,this.animation=window.requestAnimationFrame($t)))};window.requestAnimationFrame($t)}}}Ye.\u0275fac=function(Ce){return new(Ce||Ye)(k.Y36(k.R0b),k.Y36(k.aQg),k.Y36(k.SBq),k.Y36(k.Lbi),k.Y36(dt,8))},Ye.\u0275dir=k.lG2({type:Ye,selectors:[["","perfectScrollbar",""]],inputs:{disabled:"disabled",config:["perfectScrollbar","config"]},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],features:[k.TTD]});class Dt{constructor(Ce,Je,zt){this.zone=Ce,this.cdRef=Je,this.platformId=zt,this.states={},this.indicatorX=!1,this.indicatorY=!1,this.interaction=!1,this.scrollPositionX=0,this.scrollPositionY=0,this.scrollDirectionX=0,this.scrollDirectionY=0,this.usePropagationX=!1,this.usePropagationY=!1,this.allowPropagationX=!1,this.allowPropagationY=!1,this.stateTimeout=null,this.ngDestroy=new e.x,this.stateUpdate=new e.x,this.disabled=!1,this.usePSClass=!0,this.autoPropagation=!1,this.scrollIndicators=!1,this.psScrollY=new k.vpe,this.psScrollX=new k.vpe,this.psScrollUp=new k.vpe,this.psScrollDown=new k.vpe,this.psScrollLeft=new k.vpe,this.psScrollRight=new k.vpe,this.psYReachEnd=new k.vpe,this.psYReachStart=new k.vpe,this.psXReachEnd=new k.vpe,this.psXReachStart=new k.vpe}ngOnInit(){(0,p.NF)(this.platformId)&&(this.stateUpdate.pipe((0,s.R)(this.ngDestroy),(0,D.x)((Ce,Je)=>Ce===Je&&!this.stateTimeout)).subscribe(Ce=>{this.stateTimeout&&typeof window<"u"&&(window.clearTimeout(this.stateTimeout),this.stateTimeout=null),"x"===Ce||"y"===Ce?(this.interaction=!1,"x"===Ce?(this.indicatorX=!1,this.states.left=!1,this.states.right=!1,this.autoPropagation&&this.usePropagationX&&(this.allowPropagationX=!1)):"y"===Ce&&(this.indicatorY=!1,this.states.top=!1,this.states.bottom=!1,this.autoPropagation&&this.usePropagationY&&(this.allowPropagationY=!1))):("left"===Ce||"right"===Ce?(this.states.left=!1,this.states.right=!1,this.states[Ce]=!0,this.autoPropagation&&this.usePropagationX&&(this.indicatorX=!0)):("top"===Ce||"bottom"===Ce)&&(this.states.top=!1,this.states.bottom=!1,this.states[Ce]=!0,this.autoPropagation&&this.usePropagationY&&(this.indicatorY=!0)),this.autoPropagation&&typeof window<"u"&&(this.stateTimeout=window.setTimeout(()=>{this.indicatorX=!1,this.indicatorY=!1,this.stateTimeout=null,this.interaction&&(this.states.left||this.states.right)&&(this.allowPropagationX=!0),this.interaction&&(this.states.top||this.states.bottom)&&(this.allowPropagationY=!0),this.cdRef.markForCheck()},500))),this.cdRef.markForCheck(),this.cdRef.detectChanges()}),this.zone.runOutsideAngular(()=>{if(this.directiveRef){const Ce=this.directiveRef.elementRef.nativeElement;(0,t.R)(Ce,"wheel").pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{if(!this.disabled&&this.autoPropagation){const zt=Je.deltaX,At=Je.deltaY;this.checkPropagation(Je,zt,At)}}),(0,t.R)(Ce,"touchmove").pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{if(!this.disabled&&this.autoPropagation){const zt=Je.touches[0].clientX,At=Je.touches[0].clientY,Tt=zt-this.scrollPositionX,Ht=At-this.scrollPositionY;this.checkPropagation(Je,Tt,Ht),this.scrollPositionX=zt,this.scrollPositionY=At}}),(0,_.T)((0,t.R)(Ce,"ps-scroll-x").pipe((0,u.h)("x")),(0,t.R)(Ce,"ps-scroll-y").pipe((0,u.h)("y")),(0,t.R)(Ce,"ps-x-reach-end").pipe((0,u.h)("right")),(0,t.R)(Ce,"ps-y-reach-end").pipe((0,u.h)("bottom")),(0,t.R)(Ce,"ps-x-reach-start").pipe((0,u.h)("left")),(0,t.R)(Ce,"ps-y-reach-start").pipe((0,u.h)("top"))).pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{!this.disabled&&(this.autoPropagation||this.scrollIndicators)&&this.stateUpdate.next(Je)})}}),window.setTimeout(()=>{oe.forEach(Ce=>{this.directiveRef&&(this.directiveRef[Ce]=this[Ce])})},0))}ngOnDestroy(){(0,p.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.unsubscribe(),this.stateTimeout&&typeof window<"u"&&window.clearTimeout(this.stateTimeout))}ngDoCheck(){if((0,p.NF)(this.platformId)&&!this.disabled&&this.autoPropagation&&this.directiveRef){const Ce=this.directiveRef.elementRef.nativeElement;this.usePropagationX=Ce.classList.contains("ps--active-x"),this.usePropagationY=Ce.classList.contains("ps--active-y")}}checkPropagation(Ce,Je,zt){this.interaction=!0;const At=Je<0?-1:1,Tt=zt<0?-1:1;(this.usePropagationX&&this.usePropagationY||this.usePropagationX&&(!this.allowPropagationX||this.scrollDirectionX!==At)||this.usePropagationY&&(!this.allowPropagationY||this.scrollDirectionY!==Tt))&&(Ce.preventDefault(),Ce.stopPropagation()),Je&&(this.scrollDirectionX=At),zt&&(this.scrollDirectionY=Tt),this.stateUpdate.next("interaction"),this.cdRef.detectChanges()}}Dt.\u0275fac=function(Ce){return new(Ce||Dt)(k.Y36(k.R0b),k.Y36(k.sBO),k.Y36(k.Lbi))},Dt.\u0275cmp=k.Xpm({type:Dt,selectors:[["perfect-scrollbar"]],viewQuery:function(Ce,Je){if(1&Ce&&k.Gf(Ye,7),2&Ce){let zt;k.iGM(zt=k.CRH())&&(Je.directiveRef=zt.first)}},hostVars:4,hostBindings:function(Ce,Je){2&Ce&&k.ekj("ps-show-limits",Je.autoPropagation)("ps-show-active",Je.scrollIndicators)},inputs:{disabled:"disabled",usePSClass:"usePSClass",autoPropagation:"autoPropagation",scrollIndicators:"scrollIndicators",config:"config"},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],ngContentSelectors:["*"],decls:4,vars:5,consts:[[2,"position","static",3,"perfectScrollbar","disabled"],[1,"ps-content"],["class","ps-overlay",3,"ps-at-top","ps-at-left","ps-at-right","ps-at-bottom",4,"ngIf"],[1,"ps-overlay"],[1,"ps-indicator-top"],[1,"ps-indicator-left"],[1,"ps-indicator-right"],[1,"ps-indicator-bottom"]],template:function(Ce,Je){1&Ce&&(k.F$t(),k.TgZ(0,"div",0)(1,"div",1),k.Hsn(2),k.qZA(),k.YNc(3,tt,5,16,"div",2),k.qZA()),2&Ce&&(k.ekj("ps",Je.usePSClass),k.Q6J("perfectScrollbar",Je.config)("disabled",Je.disabled),k.xp6(3),k.Q6J("ngIf",Je.scrollIndicators))},dependencies:[Ye,p.O5],styles:["perfect-scrollbar{position:relative;display:block;overflow:hidden;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar[hidden]{display:none}perfect-scrollbar[fxflex]{display:flex;flex-direction:column;height:auto;min-width:0;min-height:0}perfect-scrollbar[fxflex]>.ps{flex:1 1 auto;width:auto;height:auto;min-width:0;min-height:0;-webkit-box-flex:1}perfect-scrollbar[fxlayout]>.ps,perfect-scrollbar[fxlayout]>.ps>.ps-content{display:flex;flex:1 1 auto;flex-direction:inherit;align-items:inherit;align-content:inherit;justify-content:inherit;width:100%;height:100%;-webkit-box-align:inherit;-webkit-box-flex:1;-webkit-box-pack:inherit}perfect-scrollbar[fxlayout=row]>.ps,perfect-scrollbar[fxlayout=row]>.ps>.ps-content{flex-direction:row!important}perfect-scrollbar[fxlayout=column]>.ps,perfect-scrollbar[fxlayout=column]>.ps>.ps-content{flex-direction:column!important}perfect-scrollbar>.ps{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar>.ps textarea{-ms-overflow-style:scrollbar}perfect-scrollbar>.ps>.ps-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;pointer-events:none}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{position:absolute;opacity:0;transition:opacity .3s ease-in-out}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{left:0;min-width:100%;min-height:24px}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{top:0;min-width:24px;min-height:100%}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{top:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left{left:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{right:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{bottom:0}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y{top:0!important;right:0!important;left:auto!important;width:10px;cursor:default;transition:width .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y:hover,perfect-scrollbar>.ps.ps--active-y>.ps__rail-y.ps--clicking{width:15px}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x{top:auto!important;bottom:0!important;left:0!important;height:10px;cursor:default;transition:height .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x:hover,perfect-scrollbar>.ps.ps--active-x>.ps__rail-x.ps--clicking{height:15px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-y{margin:0 0 10px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-x{margin:0 10px 0 0}perfect-scrollbar>.ps.ps--scrolling-y>.ps__rail-y,perfect-scrollbar>.ps.ps--scrolling-x>.ps__rail-x{opacity:.9;background-color:#eee}perfect-scrollbar.ps-show-always>.ps.ps--active-y>.ps__rail-y,perfect-scrollbar.ps-show-always>.ps.ps--active-x>.ps__rail-x{opacity:.6}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-top) .ps-indicator-top{opacity:1;background:linear-gradient(to bottom,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom{opacity:1;background:linear-gradient(to top,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-left) .ps-indicator-left{opacity:1;background:linear-gradient(to right,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-right) .ps-indicator-right{opacity:1;background:linear-gradient(to left,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top{background:linear-gradient(to bottom,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom{background:linear-gradient(to top,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left{background:linear-gradient(to right,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right{background:linear-gradient(to left,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show{opacity:1}\n",".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0px;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style: none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto!important}}\n"],encapsulation:2});class ut{constructor(Ce,Je){this.renderer=Ce,["ps__child","ps__child--consume"].forEach(zt=>{this.renderer.addClass(Je?.nativeElement,zt)})}}ut.\u0275fac=function(Ce){return new(Ce||ut)(k.Y36(k.Qsj),k.Y36(k.SBq))},ut.\u0275dir=k.lG2({type:ut,selectors:[["","forceNativeScrolling",""]]});class ze{}ze.\u0275fac=function(Ce){return new(Ce||ze)},ze.\u0275mod=k.oAB({type:ze}),ze.\u0275inj=k.cJS({imports:[[p.ez],p.ez]})},4946:Ue=>{"use strict";Ue.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},5207:Ue=>{"use strict";Ue.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},7036:Ue=>{"use strict";Ue.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},9799:Ue=>{"use strict";Ue.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},8597:Ue=>{"use strict";Ue.exports={i8:"6.5.4"}},2562:Ue=>{"use strict";Ue.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},Ue=>{var e;e=2693,Ue(Ue.s=e)}]); -//# sourceMappingURL=main.453d519df5a5d71c.js.map \ No newline at end of file +(self.webpackChunkRTLApp=self.webpackChunkRTLApp||[]).push([["main"],{429:(Ve,X,m)=>{"use strict";m.d(X,{$A:()=>Fe,$W:()=>pe,BL:()=>N,CN:()=>p,CX:()=>S,EG:()=>I,EK:()=>w,El:()=>ve,HI:()=>o,HJ:()=>M,I8:()=>z,JK:()=>it,Lu:()=>W,Ly:()=>ne,Ni:()=>_,Nr:()=>Ye,OG:()=>F,QJ:()=>We,RX:()=>P,Rd:()=>Ie,SN:()=>A,Sf:()=>J,TM:()=>d,UH:()=>fe,UR:()=>B,VD:()=>H,WM:()=>be,WO:()=>y,Wi:()=>Le,X3:()=>$,YP:()=>ge,YX:()=>C,Z8:()=>le,ZH:()=>oe,Zu:()=>Oe,_9:()=>zt,_E:()=>ae,aL:()=>et,as:()=>v,cQ:()=>n,d7:()=>un,dh:()=>Re,e9:()=>Nt,eF:()=>k,eM:()=>ee,en:()=>yn,g3:()=>Z,g6:()=>ut,i9:()=>pt,kL:()=>L,n7:()=>ke,oV:()=>h,oo:()=>s,pW:()=>a,pd:()=>u,u0:()=>je,uT:()=>Ct,v_:()=>Ge,wD:()=>D,xH:()=>E,xS:()=>j,yl:()=>q,z:()=>ue});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.AB.UPDATE_API_CALL_STATUS_CLN,(0,e.Ky)()),E=(0,e.PH)(t.AB.RESET_CLN_STORE,(0,e.Ky)()),s=(0,e.PH)(t.AB.SET_CHILD_NODE_SETTINGS_CLN,(0,e.Ky)()),D=(0,e.PH)(t.AB.FETCH_PAGE_SETTINGS_CLN),u=(0,e.PH)(t.AB.SET_PAGE_SETTINGS_CLN,(0,e.Ky)()),k=(0,e.PH)(t.AB.SAVE_PAGE_SETTINGS_CLN,(0,e.Ky)()),p=(0,e.PH)(t.AB.FETCH_INFO_CLN,(0,e.Ky)()),S=(0,e.PH)(t.AB.SET_INFO_CLN,(0,e.Ky)()),A=(0,e.PH)(t.AB.FETCH_FEES_CLN),P=(0,e.PH)(t.AB.SET_FEES_CLN,(0,e.Ky)()),M=(0,e.PH)(t.AB.FETCH_FEE_RATES_CLN,(0,e.Ky)()),z=(0,e.PH)(t.AB.SET_FEE_RATES_CLN,(0,e.Ky)()),I=(0,e.PH)(t.AB.FETCH_BALANCE_CLN),W=(0,e.PH)(t.AB.SET_BALANCE_CLN,(0,e.Ky)()),Z=(0,e.PH)(t.AB.FETCH_LOCAL_REMOTE_BALANCE_CLN),j=(0,e.PH)(t.AB.SET_LOCAL_REMOTE_BALANCE_CLN,(0,e.Ky)()),ae=(0,e.PH)(t.AB.GET_NEW_ADDRESS_CLN,(0,e.Ky)()),pe=((0,e.PH)(t.AB.SET_NEW_ADDRESS_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.FETCH_PEERS_CLN)),le=(0,e.PH)(t.AB.SET_PEERS_CLN,(0,e.Ky)()),ve=(0,e.PH)(t.AB.SAVE_NEW_PEER_CLN,(0,e.Ky)()),$=((0,e.PH)(t.AB.NEWLY_ADDED_PEER_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.ADD_PEER_CLN,(0,e.Ky)())),ue=(0,e.PH)(t.AB.DETACH_PEER_CLN,(0,e.Ky)()),w=(0,e.PH)(t.AB.REMOVE_PEER_CLN,(0,e.Ky)()),n=(0,e.PH)(t.AB.FETCH_PAYMENTS_CLN),o=(0,e.PH)(t.AB.SET_PAYMENTS_CLN,(0,e.Ky)()),h=(0,e.PH)(t.AB.SEND_PAYMENT_CLN,(0,e.Ky)()),d=(0,e.PH)(t.AB.SEND_PAYMENT_STATUS_CLN,(0,e.Ky)()),y=(0,e.PH)(t.AB.GET_QUERY_ROUTES_CLN,(0,e.Ky)()),L=(0,e.PH)(t.AB.SET_QUERY_ROUTES_CLN,(0,e.Ky)()),B=(0,e.PH)(t.AB.FETCH_CHANNELS_CLN),v=(0,e.PH)(t.AB.SET_CHANNELS_CLN,(0,e.Ky)()),a=(0,e.PH)(t.AB.UPDATE_CHANNEL_CLN,(0,e.Ky)()),C=(0,e.PH)(t.AB.SAVE_NEW_CHANNEL_CLN,(0,e.Ky)()),N=(0,e.PH)(t.AB.CLOSE_CHANNEL_CLN,(0,e.Ky)()),F=(0,e.PH)(t.AB.REMOVE_CHANNEL_CLN,(0,e.Ky)()),J=(0,e.PH)(t.AB.PEER_LOOKUP_CLN,(0,e.Ky)()),Fe=(0,e.PH)(t.AB.CHANNEL_LOOKUP_CLN,(0,e.Ky)()),ke=(0,e.PH)(t.AB.INVOICE_LOOKUP_CLN,(0,e.Ky)()),Ge=(0,e.PH)(t.AB.SET_LOOKUP_CLN,(0,e.Ky)()),je=(0,e.PH)(t.AB.GET_FORWARDING_HISTORY_CLN,(0,e.Ky)()),We=(0,e.PH)(t.AB.SET_FORWARDING_HISTORY_CLN,(0,e.Ky)()),be=(0,e.PH)(t.AB.FETCH_INVOICES_CLN,(0,e.Ky)()),Ye=(0,e.PH)(t.AB.SET_INVOICES_CLN,(0,e.Ky)()),Ie=(0,e.PH)(t.AB.SAVE_NEW_INVOICE_CLN,(0,e.Ky)()),ge=(0,e.PH)(t.AB.ADD_INVOICE_CLN,(0,e.Ky)()),et=(0,e.PH)(t.AB.UPDATE_INVOICE_CLN,(0,e.Ky)()),ut=(0,e.PH)(t.AB.DELETE_EXPIRED_INVOICE_CLN,(0,e.Ky)()),Le=(0,e.PH)(t.AB.SET_CHANNEL_TRANSACTION_CLN,(0,e.Ky)()),ne=((0,e.PH)(t.AB.SET_CHANNEL_TRANSACTION_RES_CLN,(0,e.Ky)()),(0,e.PH)(t.AB.FETCH_UTXOS_CLN)),fe=(0,e.PH)(t.AB.SET_UTXOS_CLN,(0,e.Ky)()),ee=(0,e.PH)(t.AB.FETCH_OFFER_INVOICE_CLN,(0,e.Ky)()),H=(0,e.PH)(t.AB.SET_OFFER_INVOICE_CLN,(0,e.Ky)()),q=(0,e.PH)(t.AB.FETCH_OFFERS_CLN),Oe=(0,e.PH)(t.AB.SET_OFFERS_CLN,(0,e.Ky)()),Re=(0,e.PH)(t.AB.SAVE_NEW_OFFER_CLN,(0,e.Ky)()),oe=(0,e.PH)(t.AB.ADD_OFFER_CLN,(0,e.Ky)()),pt=(0,e.PH)(t.AB.DISABLE_OFFER_CLN,(0,e.Ky)()),it=(0,e.PH)(t.AB.UPDATE_OFFER_CLN,(0,e.Ky)()),Ct=(0,e.PH)(t.AB.FETCH_OFFER_BOOKMARKS_CLN),un=(0,e.PH)(t.AB.SET_OFFER_BOOKMARKS_CLN,(0,e.Ky)()),Nt=(0,e.PH)(t.AB.ADD_UPDATE_OFFER_BOOKMARK_CLN,(0,e.Ky)()),zt=(0,e.PH)(t.AB.DELETE_OFFER_BOOKMARK_CLN,(0,e.Ky)()),yn=(0,e.PH)(t.AB.REMOVE_OFFER_BOOKMARK_CLN,(0,e.Ky)())},4947:(Ve,X,m)=>{"use strict";m.d(X,{J:()=>$});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(2340),p=m(1786),S=m(5566),A=m(7731),P=m(7861),M=m(429),z=m(9828),I=m(1462),W=m(2560),Z=m(8987),j=m(9263),ae=m(5986),re=m(62),pe=m(5043),le=m(3547),ve=m(3512),de=m(4666);class ${constructor(w,n,o,h,d,y,L,B,v){this.actions=w,this.httpClient=n,this.store=o,this.sessionService=h,this.commonService=d,this.logger=y,this.router=L,this.wsService=B,this.location=v,this.CHILD_API_URL=k.T5+"/cln",this.flgInitialized=!1,this.unSubs=[new t.x,new t.x,new t.x],this.infoFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_INFO_CLN),(0,E.z)(a=>(this.flgInitialized=!1,this.store.dispatch((0,P.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.INITIATED}})),this.store.dispatch((0,P.ac)({payload:A.m6.GET_NODE_INFO})),this.httpClient.get(this.CHILD_API_URL+k.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(A.pg.SET_SELECTED_NODE))),(0,D.U)(C=>(this.logger.info(C),C.chains&&C.chains.length&&C.chains[0]&&"object"==typeof C.chains[0]&&C.chains[0].hasOwnProperty("chain")&&C?.chains[0].chain&&C?.chains[0].chain.toLowerCase().indexOf("bitcoin")<0&&C?.chains[0].chain.toLowerCase().indexOf("liquid")<0?(this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.GET_NODE_INFO})),this.store.dispatch((0,P.ts)()),setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:A.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}}}))},500),{type:A.pg.LOGOUT}):(this.initializeRemainingData(C,a.payload.loadPage),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInfo",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.GET_NODE_INFO})),{type:A.AB.SET_INFO_CLN,payload:C||{}}))),(0,u.K)(C=>{const N=this.commonService.extractErrorCode(C),F="ETIMEDOUT"===N?"Unable to Connect to Core Lightning Server.":this.commonService.extractErrorMessage(C);return this.router.navigate(["/error"],{state:{errorCode:N,errorMessage:F}}),this.handleErrorWithoutAlert("FetchInfo",A.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:N,error:F}),(0,_.of)({type:A.pg.VOID})})))))),this.fetchFeesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_FEES_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchFees",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchFees",status:A.Bn.COMPLETED}})),{type:A.AB.SET_FEES_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchFees",A.m6.NO_SPINNER,"Fetching Fees Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchFeeRatesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_FEE_RATES_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchFeeRates"+a.payload,status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/feeRates/"+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchFeeRates"+a.payload,status:A.Bn.COMPLETED}})),{type:A.AB.SET_FEE_RATES_CLN,payload:C||{}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchFeeRates"+a.payload,A.m6.NO_SPINNER,"Fetching Fee Rates Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.fetchBalanceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_BALANCE_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchBalance",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.BALANCE_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchBalance",status:A.Bn.COMPLETED}})),{type:A.AB.SET_BALANCE_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchBalance",A.m6.NO_SPINNER,"Fetching Balances Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchLocalRemoteBalanceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_LOCAL_REMOTE_BALANCE_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchLocalRemoteBalance",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/localRemoteBalance"))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchLocalRemoteBalance",status:A.Bn.COMPLETED}})),{type:A.AB.SET_LOCAL_REMOTE_BALANCE_CLN,payload:a||{}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchLocalRemoteBalance",A.m6.NO_SPINNER,"Fetching Balances Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.getNewAddressCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_NEW_ADDRESS_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"?type="+a.payload.addressCode).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.GENERATE_NEW_ADDRESS})),{type:A.AB.SET_NEW_ADDRESS_CLN,payload:C&&C.address?C.address:{}})),(0,u.K)(C=>(this.handleErrorWithAlert("GenerateNewAddress",A.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"?type="+a.payload.addressId,C),(0,_.of)({type:A.pg.VOID})))))))),this.setNewAddressCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_NEW_ADDRESS_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.peersFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PEERS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPeers",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PEERS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPeers",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PEERS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPeers",A.m6.NO_SPINNER,"Fetching Peers Failed.",a),(0,_.of)({type:A.pg.VOID})))))))),this.saveNewPeerCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_PEER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.CONNECT_PEER})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewPeer",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PEERS_API,{id:a.payload.id}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewPeer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.CONNECT_PEER})),this.store.dispatch((0,M.Z8)({payload:C||[]})),{type:A.AB.NEWLY_ADDED_PEER_CLN,payload:{peer:C.find(N=>0===a.payload.id.indexOf(N.id?N.id:""))}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewPeer",A.m6.CONNECT_PEER,"Peer Connection Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.detachPeerCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DETACH_PEER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.PEERS_API+"/"+a.payload.id+"?force="+a.payload.force).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.DISCONNECT_PEER})),this.store.dispatch((0,P.jW)({payload:"Peer Disconnected Successfully!"})),{type:A.AB.REMOVE_PEER_CLN,payload:{id:a.payload.id}})),(0,u.K)(C=>(this.handleErrorWithAlert("PeerDisconnect",A.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+k.NZ.PEERS_API+"/"+a.payload.id,C),(0,_.of)({type:A.pg.VOID})))))))),this.channelsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_CHANNELS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchChannels",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listChannels"))),(0,D.U)(a=>{this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchChannels",status:A.Bn.COMPLETED}}));const C={activeChannels:[],pendingChannels:[],inactiveChannels:[]};return a.forEach(N=>{"CHANNELD_NORMAL"===N.state?N.connected?C.activeChannels.push(N):C.inactiveChannels.push(N):C.pendingChannels.push(N)}),{type:A.AB.SET_CHANNELS_CLN,payload:C}}),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchChannels",A.m6.NO_SPINNER,"Fetching Channels Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.openNewChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_CHANNEL_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:A.m6.OPEN_CHANNEL})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewChannel",status:A.Bn.INITIATED}}));const C={id:a.payload.peerId,satoshis:a.payload.satoshis,feeRate:a.payload.feeRate,announce:a.payload.announce};return a.payload.minconf&&(C.minconf=a.payload.minconf),a.payload.utxos&&(C.utxos=a.payload.utxos),a.payload.requestAmount&&(C.request_amt=a.payload.requestAmount),a.payload.compactLease&&(C.compact_lease=a.payload.compactLease),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API,C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewChannel",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.OPEN_CHANNEL})),this.store.dispatch((0,P.jW)({payload:"Channel Added Successfully!"})),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.Ly)()),{type:A.AB.FETCH_CHANNELS_CLN})),(0,u.K)(N=>(this.handleErrorWithoutAlert("SaveNewChannel",A.m6.OPEN_CHANNEL,"Opening Channel Failed.",N),(0,_.of)({type:A.pg.VOID}))))}))),this.updateChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.UPDATE_CHANNEL_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.UPDATE_CHAN_POLICY})),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/setChannelFee",{id:a.payload.channelId,base:a.payload.baseFeeMsat,ppm:a.payload.feeRate}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,P.uO)({payload:A.m6.UPDATE_CHAN_POLICY})),"all"===a.payload.channelId?this.store.dispatch((0,P.jW)({payload:{message:"All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}})):this.store.dispatch((0,P.jW)({payload:{message:"Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.",duration:5e3}})),{type:A.AB.FETCH_CHANNELS_CLN})),(0,u.K)(C=>(this.handleErrorWithAlert("UpdateChannel",A.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API,C),(0,_.of)({type:A.pg.VOID})))))))),this.closeChannelCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.CLOSE_CHANNEL_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL}));const C=a.payload.force?"?force="+a.payload.force:"";return this.httpClient.delete(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/"+a.payload.channelId+C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,P.uO)({payload:a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL})),this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.g3)()),this.store.dispatch((0,P.jW)({payload:"Channel Closed Successfully!"})),{type:A.AB.REMOVE_CHANNEL_CLN,payload:a.payload})),(0,u.K)(N=>(this.handleErrorWithAlert("CloseChannel",a.payload.force?A.m6.FORCE_CLOSE_CHANNEL:A.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+k.NZ.CHANNELS_API,N),(0,_.of)({type:A.pg.VOID}))))}))),this.paymentsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PAYMENTS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPayments",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PAYMENTS_API))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPayments",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PAYMENTS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPayments",A.m6.NO_SPINNER,"Fetching Payments Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.fetchOfferInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFER_INVOICE_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.FETCH_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferInvoice",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.OFFERS_API+"/fetchOfferInvoice",a.payload).pipe((0,D.U)(C=>{this.logger.info(C),setTimeout(()=>{this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferInvoice",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.FETCH_INVOICE})),this.store.dispatch((0,M.VD)({payload:C||{}}))},500)}),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOfferInvoice",A.m6.FETCH_INVOICE,"Offer Invoice Fetch Failed",C),(0,_.of)({type:A.pg.VOID}))))))),{dispatch:!1}),this.setOfferInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_OFFER_INVOICE_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.sendPaymentCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SEND_PAYMENT_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.Ni)({payload:{action:"SendPayment",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PAYMENTS_API,a.payload).pipe((0,D.U)(C=>{this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SendPayment",status:A.Bn.COMPLETED}}));let N="Payment Sent Successfully!";C.saveToDBError&&(N="Payment Sent Successfully but Offer Saving to Database Failed."),C.saveToDBResponse&&"NA"!==C.saveToDBResponse&&(this.store.dispatch((0,M.e9)({payload:C.saveToDBResponse})),N="Payment Sent Successfully and Offer Saved to Database."),setTimeout(()=>{this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.cQ)()),this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),this.store.dispatch((0,P.jW)({payload:N})),this.store.dispatch((0,M.TM)({payload:C.paymentResponse}))},1e3)}),(0,u.K)(C=>(this.logger.error("Error: "+JSON.stringify(C)),a.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",a.payload.uiMessage,"Send Payment Failed.",C):this.handleErrorWithAlert("SendPayment",a.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API,C),(0,_.of)({type:A.pg.VOID}))))))),{dispatch:!1}),this.queryRoutesFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_QUERY_ROUTES_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"GetQueryRoutes",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/getRoute/"+a.payload.destPubkey+"/"+a.payload.amount).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"GetQueryRoutes",status:A.Bn.COMPLETED}})),{type:A.AB.SET_QUERY_ROUTES_CLN,payload:C})),(0,u.K)(C=>(this.store.dispatch((0,M.kL)({payload:{routes:[]}})),this.handleErrorWithAlert("GetQueryRoutes",A.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/getRoute/"+a.payload.destPubkey+"/"+a.payload.amount,C),(0,_.of)({type:A.pg.VOID})))))))),this.setQueryRoutesCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_QUERY_ROUTES_CLN),(0,D.U)(a=>a.payload)),{dispatch:!1}),this.peerLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.PEER_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEARCHING_NODE})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/listNode/"+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEARCHING_NODE})),{type:A.AB.SET_LOOKUP_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithAlert("Lookup",A.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/listNode/"+a.payload,C),(0,_.of)({type:A.pg.VOID})))))))),this.channelLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.CHANNEL_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/listChannel/"+a.payload.shortChannelID).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),{type:A.AB.SET_LOOKUP_CLN,payload:C})),(0,u.K)(C=>(a.payload.showError?this.handleErrorWithAlert("Lookup",a.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/listChannel/"+a.payload.shortChannelID,C):this.store.dispatch((0,P.uO)({payload:a.payload.uiMessage})),this.store.dispatch((0,M.v_)({payload:[]})),(0,_.of)({type:A.pg.VOID})))))))),this.invoiceLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.INVOICE_LOOKUP_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"?label="+a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"Lookup",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEARCHING_INVOICE})),C.invoices&&C.invoices.length&&C.invoices.length>0&&this.store.dispatch((0,M.aL)({payload:C.invoices[0]})),{type:A.AB.SET_LOOKUP_CLN,payload:C.invoices&&C.invoices.length&&C.invoices.length>0?C.invoices[0]:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("Lookup",A.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",C),this.store.dispatch((0,P.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:A.pg.VOID})))))))),this.setLookupCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_LOOKUP_CLN),(0,D.U)(a=>(this.logger.info(a.payload),a.payload))),{dispatch:!1}),this.fetchForwardingHistoryCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.GET_FORWARDING_HISTORY_CLN),(0,E.z)(a=>{const C=a.payload.status.charAt(0).toUpperCase();return this.store.dispatch((0,M.Ni)({payload:{action:"FetchForwardingHistory"+C,status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listForwards?status="+a.payload.status).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,M.Ni)({payload:{action:"FetchForwardingHistory"+C,status:A.Bn.COMPLETED}})),a.payload.status===A.OO.FAILED?this.store.dispatch((0,M.QJ)({payload:{status:A.OO.FAILED,totalForwards:N.length,listForwards:N}})):a.payload.status===A.OO.LOCAL_FAILED?this.store.dispatch((0,M.QJ)({payload:{status:A.OO.LOCAL_FAILED,totalForwards:N.length,listForwards:N}})):a.payload.status===A.OO.SETTLED&&this.store.dispatch((0,M.QJ)({payload:{status:A.OO.SETTLED,totalForwards:N.length,listForwards:N}})),{type:A.pg.VOID})),(0,u.K)(N=>(this.handleErrorWithAlert("FetchForwardingHistory"+C,A.m6.NO_SPINNER,"Get "+a.payload.status+" Forwarding History Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API+"/listForwards?status="+a.payload.status,N),(0,_.of)({type:A.pg.VOID}))))}))),this.deleteExpiredInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DELETE_EXPIRED_INVOICE_CLN),(0,E.z)(a=>{this.store.dispatch((0,P.ac)({payload:A.m6.DELETE_INVOICE}));const C=a.payload?"?maxexpiry="+a.payload:"";return this.httpClient.delete(this.CHILD_API_URL+k.NZ.INVOICES_API+C).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,P.uO)({payload:A.m6.DELETE_INVOICE})),this.store.dispatch((0,P.jW)({payload:"Invoices Deleted Successfully!"})),{type:A.AB.FETCH_INVOICES_CLN,payload:{num_max_invoices:1e6,reversed:!0}})),(0,u.K)(N=>(this.handleErrorWithAlert("DeleteInvoices",A.m6.DELETE_INVOICE,"Delete Invoice Failed",this.CHILD_API_URL+k.NZ.INVOICES_API,N),(0,_.of)({type:A.pg.VOID}))))}))),this.saveNewInvoiceCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_INVOICE_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.ADD_INVOICE})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewInvoice",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.INVOICES_API,{label:a.payload.label,amount:a.payload.amount,description:a.payload.description,expiry:a.payload.expiry,private:a.payload.private}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewInvoice",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.ADD_INVOICE})),C.msatoshi=a.payload.amount,C.label=a.payload.label,C.expires_at=Math.round((new Date).getTime()/1e3+a.payload.expiry),C.description=a.payload.description,C.status="unpaid",setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{invoice:C,newlyAdded:!0,component:S.y}}}))},200),{type:A.AB.ADD_INVOICE_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewInvoice",A.m6.ADD_INVOICE,"Add Invoice Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.saveNewOfferCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_NEW_OFFER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.CREATE_OFFER})),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewOffer",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.OFFERS_API,{amount:a.payload.amount,description:a.payload.description,vendor:a.payload.vendor}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SaveNewOffer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.CREATE_OFFER})),setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{offer:C,newlyAdded:!0,component:I.k}}}))},100),{type:A.AB.ADD_OFFER_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewOffer",A.m6.CREATE_OFFER,"Create Offer Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.invoicesFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_INVOICES_CLN),(0,E.z)(a=>{this.store.dispatch((0,M.Ni)({payload:{action:"FetchInvoices",status:A.Bn.INITIATED}}));const C=a.payload.num_max_invoices?a.payload.num_max_invoices:1e6,N=a.payload.index_offset?a.payload.index_offset:0,F=!a.payload.reversed||a.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"?num_max_invoices="+C+"&index_offset="+N+"&reversed="+F).pipe((0,D.U)(J=>(this.logger.info(J),this.store.dispatch((0,M.Ni)({payload:{action:"FetchInvoices",status:A.Bn.COMPLETED}})),{type:A.AB.SET_INVOICES_CLN,payload:J})),(0,u.K)(J=>(this.handleErrorWithoutAlert("FetchInvoices",A.m6.NO_SPINNER,"Fetching Invoices Failed.",J),(0,_.of)({type:A.pg.VOID}))))}))),this.offersFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFERS_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchOffers",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.OFFERS_API).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOffers",status:A.Bn.COMPLETED}})),{type:A.AB.SET_OFFERS_CLN,payload:C.offers?C.offers:[]})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOffers",A.m6.NO_SPINNER,"Fetching Offers Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.offersDisableCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DISABLE_OFFER_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DISABLE_OFFER})),this.store.dispatch((0,M.Ni)({payload:{action:"DisableOffer",status:A.Bn.INITIATED}})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.OFFERS_API+"/"+a.payload.offer_id).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"DisableOffer",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.DISABLE_OFFER})),this.store.dispatch((0,P.jW)({payload:"Offer Disabled Successfully!"})),{type:A.AB.UPDATE_OFFER_CLN,payload:{offer:C}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("DisableOffer",A.m6.DISABLE_OFFER,"Disabling Offer Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.offerBookmarksFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_OFFER_BOOKMARKS_CLN),(0,E.z)(a=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferBookmarks",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmarks").pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"FetchOfferBookmarks",status:A.Bn.COMPLETED}})),{type:A.AB.SET_OFFER_BOOKMARKS_CLN,payload:C||[]})),(0,u.K)(C=>(this.handleErrorWithoutAlert("FetchOfferBookmarks",A.m6.NO_SPINNER,"Fetching Offer Bookmarks Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.peidOffersDeleteCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.DELETE_OFFER_BOOKMARK_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.DELETE_OFFER_BOOKMARK})),this.store.dispatch((0,M.Ni)({payload:{action:"DeleteOfferBookmark",status:A.Bn.INITIATED}})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmark/"+a.payload.bolt12).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"DeleteOfferBookmark",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.DELETE_OFFER_BOOKMARK})),this.store.dispatch((0,P.jW)({payload:"Offer Bookmark Deleted Successfully!"})),{type:A.AB.REMOVE_OFFER_BOOKMARK_CLN,payload:{bolt12:a.payload.bolt12}})),(0,u.K)(C=>(this.handleErrorWithAlert("DeleteOfferBookmark",A.m6.DELETE_OFFER_BOOKMARK,"Deleting Offer Bookmark Failed.",this.CHILD_API_URL+k.NZ.OFFERS_API+"/offerbookmark/"+a.payload.bolt12,C),(0,_.of)({type:A.pg.VOID})))))))),this.SetChannelTransactionCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SET_CHANNEL_TRANSACTION_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.SEND_FUNDS})),this.store.dispatch((0,M.Ni)({payload:{action:"SetChannelTransaction",status:A.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.ON_CHAIN_API,a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SetChannelTransaction",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.SEND_FUNDS})),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.Ly)()),{type:A.AB.SET_CHANNEL_TRANSACTION_RES_CLN,payload:C})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SetChannelTransaction",A.m6.SEND_FUNDS,"Sending Fund Failed.",C),(0,_.of)({type:A.pg.VOID})))))))),this.utxosFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_UTXOS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchUTXOs",status:A.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/utxos"))),(0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchUTXOs",status:A.Bn.COMPLETED}})),{type:A.AB.SET_UTXOS_CLN,payload:a.outputs||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchUTXOs",A.m6.NO_SPINNER,"Fetching UTXOs Failed.",a),(0,_.of)({type:A.pg.VOID}))))),this.pageSettingsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.FETCH_PAGE_SETTINGS_CLN),(0,E.z)(()=>(this.store.dispatch((0,M.Ni)({payload:{action:"FetchPageSettings",status:A.Bn.INITIATED}})),this.httpClient.get(k.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.Ni)({payload:{action:"FetchPageSettings",status:A.Bn.COMPLETED}})),{type:A.AB.SET_PAGE_SETTINGS_CLN,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchPageSettings",A.m6.NO_SPINNER,"Fetching Page Settings Failed.",a),(0,_.of)({type:A.pg.VOID})))))))),this.savePageSettingsCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(A.AB.SAVE_PAGE_SETTINGS_CLN),(0,E.z)(a=>(this.store.dispatch((0,P.ac)({payload:A.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.Ni)({payload:{action:"SavePageSettings",status:A.Bn.INITIATED}})),this.httpClient.post(k.NZ.PAGE_SETTINGS_API,a.payload).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.Ni)({payload:{action:"SavePageSettings",status:A.Bn.COMPLETED}})),this.store.dispatch((0,P.uO)({payload:A.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,P.jW)({payload:"Page Layout Updated Successfully!"})),{type:A.AB.SET_PAGE_SETTINGS_CLN,payload:C||[]})),(0,u.K)(C=>(this.handleErrorWithAlert("SavePageSettings",A.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",k.NZ.PAGE_SETTINGS_API,C),(0,_.of)({type:A.pg.VOID})))))))),this.store.select(z.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(a=>{a.FetchInfo.status!==A.Bn.COMPLETED&&a.FetchInfo.status!==A.Bn.ERROR||a.FetchFees.status!==A.Bn.COMPLETED&&a.FetchFees.status!==A.Bn.ERROR||a.FetchChannels.status!==A.Bn.COMPLETED&&a.FetchChannels.status!==A.Bn.ERROR||a.FetchBalance.status!==A.Bn.COMPLETED&&a.FetchBalance.status!==A.Bn.ERROR||a.FetchLocalRemoteBalance.status!==A.Bn.COMPLETED&&a.FetchLocalRemoteBalance.status!==A.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,P.uO)({payload:A.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.clWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(a=>{if(this.logger.info("Received new message from the service: "+JSON.stringify(a)),a)switch(a.event){case A.nM.INVOICE:this.logger.info(a),a&&a.data&&a.data.label&&this.store.dispatch((0,M.aL)({payload:a.data}));break;case A.nM.SEND_PAYMENT:case A.nM.BLOCK_HEIGHT:this.logger.info(a);break;default:this.logger.info("Received Event from WS: "+JSON.stringify(a))}})}initializeRemainingData(w,n){this.sessionService.setItem("clUnlocked","true");const o={identity_pubkey:w.id,alias:w.alias,testnet:"testnet"===w.network.toLowerCase(),chains:w.chains,uris:w.uris,version:w.version,api_version:w.api_version,numberOfPendingChannels:w.num_pending_channels};this.store.dispatch((0,P.ac)({payload:A.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,P._V)({payload:o}));let h=this.location.path();h.includes("/lnd/")?h=h?.replace("/lnd/","/cln/"):h.includes("/ecl/")&&(h=h?.replace("/ecl/","/cln/")),(h.includes("/login")||h.includes("/error")||""===h||"HOME"===n||h.includes("?access-key="))&&(h="/cln/home"),this.router.navigate([h]),this.store.dispatch((0,M.wD)()),this.store.dispatch((0,M.WM)({payload:{num_max_invoices:1e6,index_offset:0,reversed:!0}})),this.store.dispatch((0,M.SN)()),this.store.dispatch((0,M.UR)()),this.store.dispatch((0,M.EG)()),this.store.dispatch((0,M.g3)()),this.store.dispatch((0,M.HJ)({payload:"perkw"})),this.store.dispatch((0,M.HJ)({payload:"perkb"})),this.store.dispatch((0,M.$W)()),this.store.dispatch((0,M.Ly)()),this.store.dispatch((0,M.cQ)())}handleErrorWithoutAlert(w,n,o,h){if(this.logger.error("ERROR IN: "+w+"\n"+JSON.stringify(h)),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.ts)()),this.store.dispatch((0,P.kS)()),this.store.dispatch((0,P.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,P.uO)({payload:n}));const d=this.commonService.extractErrorMessage(h,o);this.store.dispatch((0,M.Ni)({payload:{action:w,status:A.Bn.ERROR,statusCode:h.status.toString(),message:d}}))}}handleErrorWithAlert(w,n,o,h,d){if(this.logger.error(d),401===d.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.ts)()),this.store.dispatch((0,P.kS)()),this.store.dispatch((0,P.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,P.uO)({payload:n}));const y=this.commonService.extractErrorMessage(d);this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:o,message:{code:d.status,message:y,URL:h},component:p.H}}})),this.store.dispatch((0,M.Ni)({payload:{action:w,status:A.Bn.ERROR,statusCode:d.status.toString(),message:y,URL:h}}))}}ngOnDestroy(){this.unSubs.forEach(w=>{w.next(null),w.complete()})}static#e=this.\u0275fac=function(n){return new(n||$)(W.LFG(e.eX),W.LFG(Z.eN),W.LFG(j.yh),W.LFG(ae.m),W.LFG(re.v),W.LFG(pe.mQ),W.LFG(le.F0),W.LFG(ve.d),W.LFG(de.Ye))};static#t=this.\u0275prov=W.Yz7({token:$,factory:$.\u0275fac})}},9828:(Ve,X,m)=>{"use strict";m.d(X,{AS:()=>E,Ao:()=>ve,Bo:()=>j,EQ:()=>ue,Hz:()=>de,JG:()=>S,OL:()=>pe,PP:()=>k,Rn:()=>W,T4:()=>z,Wi:()=>p,Wj:()=>Z,Y_:()=>$,ZW:()=>I,ey:()=>s,gc:()=>M,hx:()=>P,jK:()=>le,lK:()=>re,lw:()=>_,xQ:()=>ae,yA:()=>u,zm:()=>A});var e=m(9263);const t=(0,e.ZF)("cln"),_=(0,e.P1)(t,n=>n.nodeSettings),E=(0,e.P1)(t,n=>({pageSettings:n.pageSettings,apiCallStatus:n.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,n=>n.information),u=((0,e.P1)(t,n=>n.apisCallStatus.FetchInfo),(0,e.P1)(t,n=>n.apisCallStatus)),k=(0,e.P1)(t,n=>({payments:n.payments,apiCallStatus:n.apisCallStatus.FetchPayments})),p=(0,e.P1)(t,n=>({peers:n.peers,apiCallStatus:n.apisCallStatus.FetchPeers})),S=(0,e.P1)(t,n=>({fees:n.fees,apiCallStatus:n.apisCallStatus.FetchFees})),A=(0,e.P1)(t,n=>({feeRatesPerKB:n.feeRatesPerKB,apiCallStatus:n.apisCallStatus.FetchFeeRatesperkb})),P=(0,e.P1)(t,n=>({feeRatesPerKW:n.feeRatesPerKW,apiCallStatus:n.apisCallStatus.FetchFeeRatesperkw})),M=(0,e.P1)(t,n=>({listInvoices:n.invoices,apiCallStatus:n.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,n=>({utxos:n.utxos,apiCallStatus:n.apisCallStatus.FetchUTXOs})),I=(0,e.P1)(t,n=>({activeChannels:n.activeChannels,pendingChannels:n.pendingChannels,inactiveChannels:n.inactiveChannels,apiCallStatus:n.apisCallStatus.FetchChannels})),W=(0,e.P1)(t,n=>({balance:n.balance,apiCallStatus:n.apisCallStatus.FetchBalance})),Z=(0,e.P1)(t,n=>({localRemoteBalance:n.localRemoteBalance,apiCallStatus:n.apisCallStatus.FetchLocalRemoteBalance})),j=(0,e.P1)(t,n=>({forwardingHistory:n.forwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryS})),ae=(0,e.P1)(t,n=>({failedForwardingHistory:n.failedForwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryF})),re=(0,e.P1)(t,n=>({localFailedForwardingHistory:n.localFailedForwardingHistory,apiCallStatus:n.apisCallStatus.FetchForwardingHistoryL})),pe=(0,e.P1)(t,n=>({information:n.information,nodeSettings:n.nodeSettings,balance:n.balance})),le=(0,e.P1)(t,n=>({information:n.information,balance:n.balance,numPeers:n.peers.length})),ve=(0,e.P1)(t,n=>({information:n.information,balance:n.balance})),de=(0,e.P1)(t,n=>({information:n.information,nodeSettings:n.nodeSettings,apisCallStatus:[n.apisCallStatus.FetchInfo,n.apisCallStatus.FetchForwardingHistoryS]})),$=(0,e.P1)(t,n=>({offers:n.offers,apiCallStatus:n.apisCallStatus.FetchOffers})),ue=(0,e.P1)(t,n=>({offersBookmarks:n.offersBookmarks,apiCallStatus:n.apisCallStatus.FetchOfferBookmarks}))},5566:(Ve,X,m)=>{"use strict";m.d(X,{y:()=>ut});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(9828),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),j=m(1528),ae=m(1708),re=m(6896),pe=m(6021),le=m(6895),ve=m(3390);function de(Le,De){if(1&Le&&u._UZ(0,"qr-code",33),2&Le){const ne=u.oxw();u.Q6J("value",(null==ne.invoice?null:ne.invoice.bolt11)||(null==ne.invoice?null:ne.invoice.bolt12))("size",ne.qrWidth)("errorCorrectionLevel","L")}}function $(Le,De){1&Le&&(u.TgZ(0,"span",34),u._uU(1,"N/A"),u.qZA())}const ue=function(Le){return{"mr-0":Le}};function w(Le,De){if(1&Le&&u._UZ(0,"span",35),2&Le){const ne=u.oxw();u.Q6J("ngClass",u.VKq(1,ue,ne.screenSize===ne.screenSizeEnum.XS))}}function n(Le,De){if(1&Le&&u._UZ(0,"span",36),2&Le){const ne=u.oxw();u.Q6J("ngClass",u.VKq(1,ue,ne.screenSize===ne.screenSizeEnum.XS))}}function o(Le,De){if(1&Le&&u._UZ(0,"span",37),2&Le){const ne=u.oxw();u.Q6J("ngClass",u.VKq(1,ue,ne.screenSize===ne.screenSizeEnum.XS))}}function h(Le,De){if(1&Le&&u._UZ(0,"qr-code",33),2&Le){const ne=u.oxw();u.Q6J("value",(null==ne.invoice?null:ne.invoice.bolt11)||(null==ne.invoice?null:ne.invoice.bolt12))("size",ne.qrWidth)("errorCorrectionLevel","L")}}function d(Le,De){1&Le&&(u.TgZ(0,"span",38),u._uU(1,"QR Code Not Applicable"),u.qZA())}function y(Le,De){1&Le&&u._UZ(0,"mat-divider",39),2&Le&&u.Q6J("inset",!0)}function L(Le,De){if(1&Le&&(u.TgZ(0,"div",19)(1,"div",40),u._UZ(2,"fa-icon",41),u.TgZ(3,"span"),u._uU(4),u.qZA()()()),2&Le){const ne=u.oxw();u.xp6(2),u.Q6J("icon",ne.faExclamationTriangle),u.xp6(2),u.Oqu(null==ne.invoice?null:ne.invoice.warning_capacity)}}function B(Le,De){1&Le&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function v(Le,De){1&Le&&u._UZ(0,"span",47)}const a=function(){return[]};function C(Le,De){if(1&Le&&(u.TgZ(0,"div",43)(1,"div",44)(2,"span",45),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,v,1,0,"span",46),u.qZA()()),2&Le){const ne=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,(null==ne.invoice?null:ne.invoice.msatoshi_received)/1e3)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,a).constructor(35))}}function N(Le,De){if(1&Le&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&Le){const ne=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,(null==ne.invoice?null:ne.invoice.msatoshi_received)/1e3)," Sats")}}function F(Le,De){if(1&Le&&(u.ynx(0),u.YNc(1,C,6,5,"div",42),u.YNc(2,N,3,3,"div",23),u.BQk()),2&Le){const ne=u.oxw();u.xp6(1),u.Q6J("ngIf",ne.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!ne.flgInvoicePaid)}}function J(Le,De){1&Le&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function Fe(Le,De){1&Le&&u._UZ(0,"mat-spinner",49),2&Le&&u.Q6J("diameter",20)}function ke(Le,De){if(1&Le&&(u.ynx(0),u.YNc(1,J,2,0,"span",23),u.YNc(2,Fe,1,1,"mat-spinner",48),u.BQk()),2&Le){const ne=u.oxw();u.xp6(1),u.Q6J("ngIf","unpaid"!==(null==ne.invoice?null:ne.invoice.status)||!ne.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==ne.invoice?null:ne.invoice.status)&&ne.flgVersionCompatible)}}function Ge(Le,De){if(1&Le&&(u.TgZ(0,"div"),u._UZ(1,"mat-divider",25),u.TgZ(2,"div",19)(3,"div",26)(4,"h4",21),u._uU(5,"Payment Hash"),u.qZA(),u.TgZ(6,"span",24),u._uU(7),u.qZA()()(),u._UZ(8,"mat-divider",25),u.TgZ(9,"div",19)(10,"div",26)(11,"h4",21),u._uU(12,"Label"),u.qZA(),u.TgZ(13,"span",24),u._uU(14),u.qZA()()(),u._UZ(15,"mat-divider",25),u.qZA()),2&Le){const ne=u.oxw();u.xp6(7),u.Oqu(null==ne.invoice?null:ne.invoice.payment_hash),u.xp6(7),u.Oqu(null==ne.invoice?null:ne.invoice.label)}}function je(Le,De){1&Le&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function We(Le,De){1&Le&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function be(Le,De){if(1&Le){const ne=u.EpF();u.TgZ(0,"button",50),u.NdJ("copied",function(ee){u.CHM(ne);const H=u.oxw();return u.KtG(H.onCopyPayment(ee))}),u._uU(1,"Copy Invoice"),u.qZA()}if(2&Le){const ne=u.oxw();u.Q6J("payload",(null==ne.invoice?null:ne.invoice.bolt11)||(null==ne.invoice?null:ne.invoice.bolt12))}}function Ye(Le,De){if(1&Le){const ne=u.EpF();u.TgZ(0,"button",51),u.NdJ("click",function(){u.CHM(ne);const ee=u.oxw();return u.KtG(ee.onClose())}),u._uU(1,"OK"),u.qZA()}}const Ie=function(Le){return{"display-none":Le}},ge=function(Le){return{"xs-scroll-y":Le}},et=function(Le,De){return{"mt-2":Le,"mt-1":De}};class ut{constructor(De,ne,fe,ee,H,q){this.dialogRef=De,this.data=ne,this.logger=fe,this.commonService=ee,this.snackBar=H,this.store=q,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.ey).pipe((0,E.R)(this.unSubs[0])).subscribe(De=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(De.api_version,"0.6.0")}),this.store.select(D.gc).pipe((0,E.R)(this.unSubs[1])).subscribe(De=>{const ne=this.invoice.status,ee=(De.listInvoices.invoices||[])?.find(H=>H.payment_hash===this.invoice.payment_hash)||null;ee&&(this.invoice=ee),ne!==this.invoice.status&&"paid"===this.invoice.status&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(De)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(De){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+De)}ngOnDestroy(){this.unSubs.forEach(De=>{De.next(null),De.complete()})}static#e=this.\u0275fac=function(ne){return new(ne||ut)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:ut,selectors:[["rtl-cln-invoice-information"]],decls:72,vars:49,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["class","dot green ml-1","matTooltip","Paid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow ml-1","matTooltip","Unpaid","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red ml-1","matTooltip","Expired","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"overflow-wrap","foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],["matTooltip","Paid","matTooltipPosition","right",1,"dot","green","ml-1",3,"ngClass"],["matTooltip","Unpaid","matTooltipPosition","right",1,"dot","yellow","ml-1",3,"ngClass"],["matTooltip","Expired","matTooltipPosition","right",1,"dot","red","ml-1",3,"ngClass"],[1,"font-size-120"],[1,"my-1",3,"inset"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(ne,fe){if(1&ne&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,de,1,3,"qr-code",2),u.YNc(3,$,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.YNc(10,w,1,3,"span",9),u.YNc(11,n,1,3,"span",10),u.YNc(12,o,1,3,"span",11),u.qZA()(),u.TgZ(13,"button",12),u.NdJ("click",function(){return fe.onClose()}),u._uU(14,"X"),u.qZA()(),u.TgZ(15,"mat-card-content",13)(16,"div",14)(17,"div",15),u.YNc(18,h,1,3,"qr-code",2),u.YNc(19,d,2,0,"span",16),u.qZA(),u.YNc(20,y,1,1,"mat-divider",17),u.YNc(21,L,5,2,"div",18),u.TgZ(22,"div",19)(23,"div",20)(24,"h4",21),u._uU(25),u.qZA(),u.TgZ(26,"span",22),u._uU(27),u.ALo(28,"number"),u.YNc(29,B,2,0,"ng-container",23),u.qZA()(),u.TgZ(30,"div",20)(31,"h4",21),u._uU(32,"Amount Received"),u.qZA(),u.TgZ(33,"span",24),u.YNc(34,F,3,2,"ng-container",23),u.YNc(35,ke,3,2,"ng-container",23),u.qZA()()(),u._UZ(36,"mat-divider",25),u.TgZ(37,"div",19)(38,"div",20)(39,"h4",21),u._uU(40,"Date Expiry"),u.qZA(),u.TgZ(41,"span",22),u._uU(42),u.ALo(43,"date"),u.qZA()(),u.TgZ(44,"div",20)(45,"h4",21),u._uU(46,"Date Settled"),u.qZA(),u.TgZ(47,"span",22),u._uU(48),u.ALo(49,"date"),u.qZA()()(),u._UZ(50,"mat-divider",25),u.TgZ(51,"div",19)(52,"div",26)(53,"h4",21),u._uU(54,"Description"),u.qZA(),u.TgZ(55,"span",22),u._uU(56),u.qZA()()(),u._UZ(57,"mat-divider",25),u.TgZ(58,"div",19)(59,"div",26)(60,"h4",21),u._uU(61),u.qZA(),u.TgZ(62,"span",24),u._uU(63),u.qZA()()(),u.YNc(64,Ge,16,2,"div",23),u.TgZ(65,"div",27)(66,"button",28),u.NdJ("click",function(){return fe.onShowAdvanced()}),u.YNc(67,je,2,0,"p",29),u.YNc(68,We,2,0,"ng-template",null,30,u.W1O),u.qZA(),u.YNc(70,be,2,1,"button",31),u.YNc(71,Ye,2,0,"button",32),u.qZA()()()()()),2&ne){const ee=u.MAs(69);u.xp6(1),u.Q6J("fxLayoutAlign",null!=fe.invoice&&fe.invoice.bolt11&&""!==(null==fe.invoice?null:fe.invoice.bolt11)||null!=fe.invoice&&fe.invoice.bolt12&&""!==(null==fe.invoice?null:fe.invoice.bolt12)?"center start":"center center")("ngClass",u.VKq(40,Ie,fe.screenSize===fe.screenSizeEnum.XS||fe.screenSize===fe.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==fe.invoice?null:fe.invoice.bolt11)&&""!==(null==fe.invoice?null:fe.invoice.bolt11)||(null==fe.invoice?null:fe.invoice.bolt12)&&""!==(null==fe.invoice?null:fe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=fe.invoice&&fe.invoice.bolt11||null!=fe.invoice&&fe.invoice.bolt12)),u.xp6(4),u.Q6J("icon",fe.faReceipt),u.xp6(2),u.hij(" ",fe.screenSize===fe.screenSizeEnum.XS?fe.newlyAdded?"Created":"Invoice":fe.newlyAdded?"Invoice Created":"Invoice Information"," "),u.xp6(1),u.Q6J("ngIf","paid"===(null==fe.invoice?null:fe.invoice.status)),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==fe.invoice?null:fe.invoice.status)),u.xp6(1),u.Q6J("ngIf","expired"===(null==fe.invoice?null:fe.invoice.status)),u.xp6(3),u.Q6J("ngClass",u.VKq(42,ge,fe.screenSize===fe.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=fe.invoice&&fe.invoice.bolt11&&""!==(null==fe.invoice?null:fe.invoice.bolt11)||null!=fe.invoice&&fe.invoice.bolt12&&""!==(null==fe.invoice?null:fe.invoice.bolt12)?"center start":"center center")("ngClass",u.VKq(44,Ie,fe.screenSize!==fe.screenSizeEnum.XS&&fe.screenSize!==fe.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==fe.invoice?null:fe.invoice.bolt11)&&""!==(null==fe.invoice?null:fe.invoice.bolt11)||(null==fe.invoice?null:fe.invoice.bolt12)&&""!==(null==fe.invoice?null:fe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=fe.invoice&&fe.invoice.bolt11||null!=fe.invoice&&fe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",fe.screenSize===fe.screenSizeEnum.XS||fe.screenSize===fe.screenSizeEnum.SM),u.xp6(1),u.Q6J("ngIf",null==fe.invoice?null:fe.invoice.warning_capacity),u.xp6(4),u.Oqu(fe.screenSize===fe.screenSizeEnum.XS?"Amount":"Amount Requested"),u.xp6(2),u.hij(" ",u.lcZ(28,32,(null==fe.invoice?null:fe.invoice.msatoshi)/1e3||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=fe.invoice&&fe.invoice.msatoshi)||"0"===(null==fe.invoice?null:fe.invoice.msatoshi)),u.xp6(5),u.Q6J("ngIf","paid"===(null==fe.invoice?null:fe.invoice.status)),u.xp6(1),u.Q6J("ngIf","paid"!==(null==fe.invoice?null:fe.invoice.status)),u.xp6(7),u.Oqu(u.xi3(43,34,1e3*(null==fe.invoice?null:fe.invoice.expires_at),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.xi3(49,37,1e3*(null==fe.invoice?null:fe.invoice.paid_at),"dd/MMM/y HH:mm")||"-"),u.xp6(8),u.Oqu((null==fe.invoice?null:fe.invoice.description)||"-"),u.xp6(5),u.hij("",null!=fe.invoice&&fe.invoice.bolt12?"Bolt12":null!=fe.invoice&&fe.invoice.bolt11&&!fe.invoice.label.includes("keysend-")?"Bolt11":"Keysend"," Invoice"),u.xp6(2),u.Oqu((null==fe.invoice?null:fe.invoice.bolt11)||(null==fe.invoice?null:fe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",fe.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(46,et,!fe.showAdvanced,fe.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!fe.showAdvanced)("ngIfElse",ee),u.xp6(3),u.Q6J("ngIf",(null==fe.invoice?null:fe.invoice.bolt11)&&""!==(null==fe.invoice?null:fe.invoice.bolt11)||(null==fe.invoice?null:fe.invoice.bolt12)&&""!==(null==fe.invoice?null:fe.invoice.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=fe.invoice&&fe.invoice.bolt11||null!=fe.invoice&&fe.invoice.bolt12))}},dependencies:[P.mk,P.sg,P.O5,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,j.d,ae.Ou,re.gM,pe.uU,le.y,ve.h,P.JJ,P.uU]})}},1462:(Ve,X,m)=>{"use strict";m.d(X,{k:()=>J});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(9828),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(8104),M=m(4666),z=m(3505),I=m(6722),W=m(3704),Z=m(4522),j=m(2156),ae=m(1528),re=m(6021),pe=m(6895),le=m(3390);function ve(Fe,ke){if(1&Fe&&u._UZ(0,"qr-code",28),2&Fe){const Ge=u.oxw();u.Q6J("value",null==Ge.offer?null:Ge.offer.bolt12)("size",Ge.qrWidth)("errorCorrectionLevel","L")}}function de(Fe,ke){1&Fe&&(u.TgZ(0,"span",29),u._uU(1,"N/A"),u.qZA())}function $(Fe,ke){if(1&Fe&&u._UZ(0,"qr-code",28),2&Fe){const Ge=u.oxw();u.Q6J("value",null==Ge.offer?null:Ge.offer.bolt12)("size",Ge.qrWidth)("errorCorrectionLevel","L")}}function ue(Fe,ke){1&Fe&&(u.TgZ(0,"span",30),u._uU(1,"QR Code Not Applicable"),u.qZA())}function w(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",31),2&Fe&&u.Q6J("inset",!0)}function n(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",19)}function o(Fe,ke){if(1&Fe&&(u.TgZ(0,"div",15)(1,"div",16)(2,"h4",17),u._uU(3,"Used"),u.qZA(),u.TgZ(4,"span",18),u._uU(5),u.qZA()(),u.TgZ(6,"div",16)(7,"h4",17),u._uU(8,"Single Use"),u.qZA(),u.TgZ(9,"span",18),u._uU(10),u.qZA()()()),2&Fe){const Ge=u.oxw(2);u.xp6(5),u.hij(" ",null!=Ge.offer&&Ge.offer.used?null!=Ge.offer&&Ge.offer.used?"Yes":"No":"N/K"," "),u.xp6(5),u.hij(" ",null!=Ge.offer&&Ge.offer.single_use?null!=Ge.offer&&Ge.offer.single_use?"Yes":"No":"N/K"," ")}}function h(Fe,ke){1&Fe&&u._UZ(0,"mat-divider",19)}function d(Fe,ke){if(1&Fe&&(u.TgZ(0,"div",15)(1,"div",20)(2,"h4",17),u._uU(3,"Vendor"),u.qZA(),u.TgZ(4,"span",34),u._uU(5),u.qZA()()()),2&Fe){const Ge=u.oxw(2);u.xp6(5),u.Oqu((null==Ge.offerDecoded?null:Ge.offerDecoded.vendor)||(null==Ge.offerDecoded?null:Ge.offerDecoded.issuer))}}function y(Fe,ke){if(1&Fe&&(u.TgZ(0,"div"),u.YNc(1,n,1,0,"mat-divider",32),u.YNc(2,o,11,2,"div",33),u.YNc(3,h,1,0,"mat-divider",32),u.YNc(4,d,6,1,"div",33),u._UZ(5,"mat-divider",19),u.TgZ(6,"div",15)(7,"div",20)(8,"h4",17),u._uU(9,"Offer ID"),u.qZA(),u.TgZ(10,"span",18),u._uU(11),u.qZA()()(),u._UZ(12,"mat-divider",19),u.qZA()),2&Fe){const Ge=u.oxw();u.xp6(1),u.Q6J("ngIf",(null==Ge.offer?null:Ge.offer.used)||(null==Ge.offer?null:Ge.offer.single_use)),u.xp6(1),u.Q6J("ngIf",(null==Ge.offer?null:Ge.offer.used)||(null==Ge.offer?null:Ge.offer.single_use)),u.xp6(1),u.Q6J("ngIf",(null==Ge.offerDecoded?null:Ge.offerDecoded.vendor)||(null==Ge.offerDecoded?null:Ge.offerDecoded.issuer)),u.xp6(1),u.Q6J("ngIf",(null==Ge.offerDecoded?null:Ge.offerDecoded.vendor)||(null==Ge.offerDecoded?null:Ge.offerDecoded.issuer)),u.xp6(7),u.Oqu(Ge.offerDecoded.offer_id)}}function L(Fe,ke){1&Fe&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function B(Fe,ke){1&Fe&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function v(Fe,ke){if(1&Fe){const Ge=u.EpF();u.TgZ(0,"button",35),u.NdJ("copied",function(We){u.CHM(Ge);const be=u.oxw();return u.KtG(be.onCopyOffer(We))}),u._uU(1,"Copy Offer"),u.qZA()}if(2&Fe){const Ge=u.oxw();u.Q6J("payload",null==Ge.offer?null:Ge.offer.bolt12)}}function a(Fe,ke){if(1&Fe){const Ge=u.EpF();u.TgZ(0,"button",36),u.NdJ("click",function(){u.CHM(Ge);const We=u.oxw();return u.KtG(We.onClose())}),u._uU(1,"OK"),u.qZA()}}const C=function(Fe){return{"display-none":Fe}},N=function(Fe){return{"xs-scroll-y":Fe}},F=function(Fe,ke){return{"mt-2":Fe,"mt-1":ke}};class J{constructor(ke,Ge,je,We,be,Ye,Ie){this.dialogRef=ke,this.data=Ge,this.logger=je,this.commonService=We,this.snackBar=be,this.store=Ye,this.dataService=Ie,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.offerDecoded={},this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOfferPaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.offer=this.data.offer,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.ey).pipe((0,E.R)(this.unSubs[0])).subscribe(ke=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(ke.api_version,"0.6.0")}),this.dataService.decodePayment(this.offer.bolt12,!0).pipe((0,E.R)(this.unSubs[1])).subscribe(ke=>{this.offerDecoded=ke,this.offerDecoded.offer_id&&!this.offerDecoded.amount_msat?(this.offerDecoded.amount_msat="0msat",this.offerDecoded.amount=0):this.offerDecoded.amount=this.offerDecoded.amount?+this.offerDecoded.amount:this.offerDecoded.amount_msat?+this.offerDecoded.amount_msat?.slice(0,-4):null})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyOffer(ke){this.snackBar.open("Offer copied."),this.logger.info("Copied Text: "+ke)}ngOnDestroy(){this.unSubs.forEach(ke=>{ke.next(null),ke.complete()})}static#e=this.\u0275fac=function(Ge){return new(Ge||J)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh),u.Y36(P.D))};static#t=this.\u0275cmp=u.Xpm({type:J,selectors:[["rtl-cln-offer-information"]],decls:52,vars:33,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxFlex","100"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],[1,"overflow-wrap","foreground-secondary-text"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(Ge,je){if(1&Ge&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,ve,1,3,"qr-code",2),u.YNc(3,de,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return je.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,$,1,3,"qr-code",2),u.YNc(16,ue,2,0,"span",13),u.qZA(),u.YNc(17,w,1,1,"mat-divider",14),u.TgZ(18,"div",15)(19,"div",16)(20,"h4",17),u._uU(21,"Amount Requested (Sats)"),u.qZA(),u.TgZ(22,"span",18),u._uU(23),u.ALo(24,"number"),u.qZA()(),u.TgZ(25,"div",16)(26,"h4",17),u._uU(27,"Active"),u.qZA(),u.TgZ(28,"span",18),u._uU(29),u.qZA()()(),u._UZ(30,"mat-divider",19),u.TgZ(31,"div",15)(32,"div",20)(33,"h4",17),u._uU(34,"Description"),u.qZA(),u.TgZ(35,"span",18),u._uU(36),u.qZA()()(),u._UZ(37,"mat-divider",19),u.TgZ(38,"div",15)(39,"div",20)(40,"h4",17),u._uU(41,"Offer Request"),u.qZA(),u.TgZ(42,"span",18),u._uU(43),u.qZA()()(),u.YNc(44,y,13,5,"div",21),u.TgZ(45,"div",22)(46,"button",23),u.NdJ("click",function(){return je.onShowAdvanced()}),u.YNc(47,L,2,0,"p",24),u.YNc(48,B,2,0,"ng-template",null,25,u.W1O),u.qZA(),u.YNc(50,v,2,1,"button",26),u.YNc(51,a,2,0,"button",27),u.qZA()()()()()),2&Ge){const We=u.MAs(49);u.xp6(1),u.Q6J("fxLayoutAlign",null!=je.offer&&je.offer.bolt12&&""!==(null==je.offer?null:je.offer.bolt12)?"center start":"center center")("ngClass",u.VKq(24,C,je.screenSize===je.screenSizeEnum.XS||je.screenSize===je.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12)),u.xp6(4),u.Q6J("icon",je.faReceipt),u.xp6(2),u.Oqu(je.screenSize===je.screenSizeEnum.XS?je.newlyAdded?"Created":"Offer":je.newlyAdded?"Offer Created":"Offer Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(26,N,je.screenSize===je.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=je.offer&&je.offer.bolt12&&""!==(null==je.offer?null:je.offer.bolt12)?"center start":"center center")("ngClass",u.VKq(28,C,je.screenSize!==je.screenSizeEnum.XS&&je.screenSize!==je.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",je.screenSize===je.screenSizeEnum.XS||je.screenSize===je.screenSizeEnum.SM),u.xp6(6),u.hij(" ",null!=je.offerDecoded&&je.offerDecoded.amount_msat&&0!==(null==je.offerDecoded?null:je.offerDecoded.amount)?u.lcZ(24,22,(null==je.offerDecoded?null:je.offerDecoded.amount)/1e3):"Open Offer"," "),u.xp6(6),u.hij(" ",null!=je.offer&&je.offer.active?null!=je.offer&&je.offer.active?"Active":"Inactive":"N/K"," "),u.xp6(7),u.hij(" ",null==je.offerDecoded?null:je.offerDecoded.description," "),u.xp6(7),u.Oqu(null==je.offer?null:je.offer.bolt12),u.xp6(1),u.Q6J("ngIf",je.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(30,F,!je.showAdvanced,je.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!je.showAdvanced)("ngIfElse",We),u.xp6(3),u.Q6J("ngIf",(null==je.offer?null:je.offer.bolt12)&&""!==(null==je.offer?null:je.offer.bolt12)),u.xp6(1),u.Q6J("ngIf",!(null!=je.offer&&je.offer.bolt12)||""===(null==je.offer?null:je.offer.bolt12))}},dependencies:[M.mk,M.O5,z.BN,I.xw,I.Wh,I.yH,W.oO,Z.lW,j.dk,j.dn,ae.d,re.uU,pe.y,le.h,M.JJ]})}},2994:(Ve,X,m)=>{"use strict";m.d(X,{$W:()=>pe,BL:()=>y,Bw:()=>j,CX:()=>S,DJ:()=>Le,EK:()=>w,El:()=>ve,Fd:()=>E,GD:()=>ue,HG:()=>re,HI:()=>v,Iy:()=>ke,Lf:()=>Fe,Nr:()=>We,OG:()=>L,On:()=>ae,QZ:()=>_,RX:()=>P,SN:()=>A,Sf:()=>ge,TM:()=>F,TW:()=>I,UR:()=>M,WM:()=>je,WO:()=>a,YP:()=>Ye,YX:()=>h,Z$:()=>be,Z8:()=>le,Zr:()=>s,_E:()=>n,aL:()=>Ie,cQ:()=>B,eF:()=>k,eN:()=>z,i:()=>W,iL:()=>Z,iz:()=>p,kL:()=>C,mC:()=>J,n7:()=>et,oV:()=>N,pW:()=>d,pd:()=>u,ti:()=>De,wD:()=>D});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.lr.UPDATE_API_CALL_STATUS_ECL,(0,e.Ky)()),E=(0,e.PH)(t.lr.RESET_ECL_STORE,(0,e.Ky)()),s=(0,e.PH)(t.lr.SET_CHILD_NODE_SETTINGS_ECL,(0,e.Ky)()),D=(0,e.PH)(t.lr.FETCH_PAGE_SETTINGS_ECL),u=(0,e.PH)(t.lr.SET_PAGE_SETTINGS_ECL,(0,e.Ky)()),k=(0,e.PH)(t.lr.SAVE_PAGE_SETTINGS_ECL,(0,e.Ky)()),p=(0,e.PH)(t.lr.FETCH_INFO_ECL,(0,e.Ky)()),S=(0,e.PH)(t.lr.SET_INFO_ECL,(0,e.Ky)()),A=(0,e.PH)(t.lr.FETCH_FEES_ECL),P=(0,e.PH)(t.lr.SET_FEES_ECL,(0,e.Ky)()),M=(0,e.PH)(t.lr.FETCH_CHANNELS_ECL,(0,e.Ky)()),z=(0,e.PH)(t.lr.SET_ACTIVE_CHANNELS_ECL,(0,e.Ky)()),I=(0,e.PH)(t.lr.SET_PENDING_CHANNELS_ECL,(0,e.Ky)()),W=(0,e.PH)(t.lr.SET_INACTIVE_CHANNELS_ECL,(0,e.Ky)()),Z=(0,e.PH)(t.lr.FETCH_ONCHAIN_BALANCE_ECL),j=(0,e.PH)(t.lr.SET_ONCHAIN_BALANCE_ECL,(0,e.Ky)()),ae=(0,e.PH)(t.lr.SET_LIGHTNING_BALANCE_ECL,(0,e.Ky)()),re=(0,e.PH)(t.lr.SET_CHANNELS_STATUS_ECL,(0,e.Ky)()),pe=(0,e.PH)(t.lr.FETCH_PEERS_ECL),le=(0,e.PH)(t.lr.SET_PEERS_ECL,(0,e.Ky)()),ve=(0,e.PH)(t.lr.SAVE_NEW_PEER_ECL,(0,e.Ky)()),ue=((0,e.PH)(t.lr.NEWLY_ADDED_PEER_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.ADD_PEER_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.DETACH_PEER_ECL,(0,e.Ky)())),w=(0,e.PH)(t.lr.REMOVE_PEER_ECL,(0,e.Ky)()),n=(0,e.PH)(t.lr.GET_NEW_ADDRESS_ECL),h=((0,e.PH)(t.lr.SET_NEW_ADDRESS_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.SAVE_NEW_CHANNEL_ECL,(0,e.Ky)())),d=(0,e.PH)(t.lr.UPDATE_CHANNEL_ECL,(0,e.Ky)()),y=(0,e.PH)(t.lr.CLOSE_CHANNEL_ECL,(0,e.Ky)()),L=(0,e.PH)(t.lr.REMOVE_CHANNEL_ECL,(0,e.Ky)()),B=(0,e.PH)(t.lr.FETCH_PAYMENTS_ECL),v=(0,e.PH)(t.lr.SET_PAYMENTS_ECL,(0,e.Ky)()),a=(0,e.PH)(t.lr.GET_QUERY_ROUTES_ECL,(0,e.Ky)()),C=(0,e.PH)(t.lr.SET_QUERY_ROUTES_ECL,(0,e.Ky)()),N=(0,e.PH)(t.lr.SEND_PAYMENT_ECL,(0,e.Ky)()),F=(0,e.PH)(t.lr.SEND_PAYMENT_STATUS_ECL,(0,e.Ky)()),J=(0,e.PH)(t.lr.FETCH_TRANSACTIONS_ECL),Fe=(0,e.PH)(t.lr.SET_TRANSACTIONS_ECL,(0,e.Ky)()),ke=(0,e.PH)(t.lr.SEND_ONCHAIN_FUNDS_ECL,(0,e.Ky)()),je=((0,e.PH)(t.lr.SEND_ONCHAIN_FUNDS_RES_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.FETCH_INVOICES_ECL)),We=(0,e.PH)(t.lr.SET_INVOICES_ECL,(0,e.Ky)()),be=(0,e.PH)(t.lr.CREATE_INVOICE_ECL,(0,e.Ky)()),Ye=(0,e.PH)(t.lr.ADD_INVOICE_ECL,(0,e.Ky)()),Ie=(0,e.PH)(t.lr.UPDATE_INVOICE_ECL,(0,e.Ky)()),ge=(0,e.PH)(t.lr.PEER_LOOKUP_ECL,(0,e.Ky)()),et=(0,e.PH)(t.lr.INVOICE_LOOKUP_ECL,(0,e.Ky)()),Le=((0,e.PH)(t.lr.SET_LOOKUP_ECL,(0,e.Ky)()),(0,e.PH)(t.lr.UPDATE_CHANNEL_STATE_ECL,(0,e.Ky)())),De=(0,e.PH)(t.lr.UPDATE_RELAYED_PAYMENT_ECL,(0,e.Ky)())},3289:(Ve,X,m)=>{"use strict";m.d(X,{o:()=>de});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(2340),p=m(1786),S=m(7731),A=m(7861),P=m(7766),M=m(2994),z=m(2501),I=m(2560),W=m(8987),Z=m(9263),j=m(5986),ae=m(62),re=m(5043),pe=m(3547),le=m(3512),ve=m(4666);class de{constructor(ue,w,n,o,h,d,y,L,B){this.actions=ue,this.httpClient=w,this.store=n,this.sessionService=o,this.commonService=h,this.logger=d,this.router=y,this.wsService=L,this.location=B,this.CHILD_API_URL=k.T5+"/ecl",this.flgInitialized=!1,this.flgReceivedPaymentUpdateFromWS=!1,this.latestPaymentRes="",this.rawChannelsList=[],this.unSubs=[new t.x,new t.x,new t.x],this.infoFetchECL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_INFO_ECL),(0,E.z)(v=>(this.flgInitialized=!1,this.store.dispatch((0,A.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,A.ac)({payload:S.m6.GET_NODE_INFO})),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInfo",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(S.pg.SET_SELECTED_NODE))),(0,D.U)(a=>(this.logger.info(a),this.initializeRemainingData(a,v.payload.loadPage),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInfo",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.GET_NODE_INFO})),{type:S.lr.SET_INFO_ECL,payload:a||{}})),(0,u.K)(a=>{const C=this.commonService.extractErrorCode(a),N=503===C?"Unable to Connect to Eclair Server.":this.commonService.extractErrorMessage(a);return this.router.navigate(["/error"],{state:{errorCode:C,errorMessage:N}}),this.handleErrorWithoutAlert("FetchInfo",S.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:C,error:N}),(0,_.of)({type:S.pg.VOID})})))))),this.fetchFees=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_FEES_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchFees",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API+"/fees").pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchFees",status:S.Bn.COMPLETED}})),{type:S.lr.SET_FEES_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchFees",S.m6.NO_SPINNER,"Fetching Fees Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.fetchPayments=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PAYMENTS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPayments",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.FEES_API+"/payments").pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPayments",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PAYMENTS_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPayments",S.m6.NO_SPINNER,"Fetching Payments Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.channelsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_CHANNELS_ECL),(0,E.z)(v=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchChannels",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.CHANNELS_API).pipe((0,D.U)(a=>(this.logger.info(a),this.rawChannelsList=a,this.setChannelsAndStatusAndBalances(),this.store.dispatch((0,M.QZ)({payload:{action:"FetchChannels",status:S.Bn.COMPLETED}})),v.payload&&v.payload.fetchPayments&&this.store.dispatch((0,M.cQ)()),{type:S.pg.VOID})),(0,u.K)(a=>(this.handleErrorWithoutAlert("FetchChannels",S.m6.NO_SPINNER,"Fetching Channels Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.fetchOnchainBalance=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_ONCHAIN_BALANCE_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchOnchainBalance",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/balance"))),(0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchOnchainBalance",status:S.Bn.COMPLETED}})),{type:S.lr.SET_ONCHAIN_BALANCE_ECL,payload:v||{}})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchOnchainBalance",S.m6.NO_SPINNER,"Fetching Onchain Balances Failed.",v),(0,_.of)({type:S.pg.VOID}))))),this.peersFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PEERS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPeers",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.PEERS_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPeers",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PEERS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPeers",S.m6.NO_SPINNER,"Fetching Peers Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.getNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.GET_NEW_ADDRESS_ECL),(0,E.z)(()=>(this.store.dispatch((0,A.ac)({payload:S.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,A.uO)({payload:S.m6.GENERATE_NEW_ADDRESS})),{type:S.lr.SET_NEW_ADDRESS_ECL,payload:v})),(0,u.K)(v=>(this.handleErrorWithAlert("GetNewAddress",S.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+k.NZ.ON_CHAIN_API,v),(0,_.of)({type:S.pg.VOID})))))))),this.setNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_NEW_ADDRESS_ECL),(0,D.U)(v=>(this.logger.info(v.payload),v.payload))),{dispatch:!1}),this.saveNewPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_NEW_PEER_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.CONNECT_PEER})),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewPeer",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PEERS_API+(v.payload.id.includes("@")?"?uri=":"?nodeId=")+v.payload.id,{}).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewPeer",status:S.Bn.COMPLETED}})),a=a||[],this.store.dispatch((0,A.uO)({payload:S.m6.CONNECT_PEER})),this.store.dispatch((0,M.Z8)({payload:a})),{type:S.lr.NEWLY_ADDED_PEER_ECL,payload:{peer:a.find(C=>C.nodeId===(v.payload.id.includes("@")?v.payload.id.substring(0,v.payload.id.indexOf("@")):v.payload.id))}})),(0,u.K)(a=>(this.handleErrorWithoutAlert("SaveNewPeer",S.m6.CONNECT_PEER,"Peer Connection Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.detachPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.DETACH_PEER_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.PEERS_API+"/"+v.payload.nodeId).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,A.uO)({payload:S.m6.DISCONNECT_PEER})),this.store.dispatch((0,A.jW)({payload:"Disconnecting Peer!"})),{type:S.lr.REMOVE_PEER_ECL,payload:{nodeId:v.payload.nodeId}})),(0,u.K)(a=>(this.handleErrorWithAlert("DisconnectPeer",S.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+k.NZ.PEERS_API+"/"+v.payload.nodeId,a),(0,_.of)({type:S.pg.VOID})))))))),this.openNewChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_NEW_CHANNEL_ECL),(0,E.z)(v=>{this.store.dispatch((0,A.ac)({payload:S.m6.OPEN_CHANNEL})),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewChannel",status:S.Bn.INITIATED}}));const a={nodeId:v.payload.nodeId,fundingSatoshis:v.payload.amount,announceChannel:!v.payload.private};return v.payload.feeRate&&v.payload.feeRate>0&&(a.fundingFeerateSatByte=v.payload.feeRate),this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API,a).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,M.QZ)({payload:{action:"SaveNewChannel",status:S.Bn.COMPLETED}})),this.store.dispatch((0,M.$W)()),this.store.dispatch((0,M.iL)()),this.store.dispatch((0,A.uO)({payload:S.m6.OPEN_CHANNEL})),this.store.dispatch((0,A.jW)({payload:"Channel Added Successfully!"})),{type:S.lr.FETCH_CHANNELS_ECL,payload:{fetchPayments:!1}})),(0,u.K)(C=>(this.handleErrorWithoutAlert("SaveNewChannel",S.m6.OPEN_CHANNEL,"Opening Channel Failed.",C),(0,_.of)({type:S.pg.VOID}))))}))),this.updateChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.UPDATE_CHANNEL_ECL),(0,E.z)(v=>{this.store.dispatch((0,A.ac)({payload:S.m6.UPDATE_CHAN_POLICY}));let a="?feeBaseMsat="+v.payload.baseFeeMsat+"&feeProportionalMillionths="+v.payload.feeRate;return a=v.payload.nodeIds?a+"&nodeIds="+v.payload.nodeIds:v.payload.nodeId?a+"&nodeId="+v.payload.nodeId:v.payload.channelIds?a+"&channelIds="+v.payload.channelIds:a+"&channelId="+v.payload.channelId,this.httpClient.post(this.CHILD_API_URL+k.NZ.CHANNELS_API+"/updateRelayFee"+a,{}).pipe((0,D.U)(C=>(this.logger.info(C),this.store.dispatch((0,A.uO)({payload:S.m6.UPDATE_CHAN_POLICY})),v.payload.nodeIds||v.payload.channelIds?this.store.dispatch((0,A.jW)({payload:"Channels Updated Successfully."})):this.store.dispatch((0,A.jW)({payload:"Channel Updated Successfully!"})),{type:S.lr.FETCH_CHANNELS_ECL,payload:{fetchPayments:!1}})),(0,u.K)(C=>(this.handleErrorWithAlert("UpdateChannels",S.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+k.NZ.CHANNELS_API,C),(0,_.of)({type:S.pg.VOID}))))}))),this.closeChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.CLOSE_CHANNEL_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL})),this.httpClient.delete(this.CHILD_API_URL+k.NZ.CHANNELS_API+"?channelId="+v.payload.channelId+"&force="+v.payload.force).pipe((0,D.U)(a=>(this.logger.info(a),setTimeout(()=>{this.store.dispatch((0,A.uO)({payload:v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL})),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!1}})),this.store.dispatch((0,A.jW)({payload:v.payload.force?"Channel Force Closed Successfully!":"Channel Closed Successfully!"}))},2e3),{type:S.pg.VOID})),(0,u.K)(a=>(this.handleErrorWithAlert("CloseChannel",v.payload.force?S.m6.FORCE_CLOSE_CHANNEL:S.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+k.NZ.CHANNELS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.queryRoutesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.GET_QUERY_ROUTES_ECL),(0,E.z)(v=>this.httpClient.get(this.CHILD_API_URL+k.NZ.PAYMENTS_API+"/route?nodeId="+v.payload.nodeId+"&amountMsat="+v.payload.amount).pipe((0,D.U)(a=>(this.logger.info(a),{type:S.lr.SET_QUERY_ROUTES_ECL,payload:a})),(0,u.K)(a=>(this.store.dispatch((0,M.kL)({payload:[]})),this.handleErrorWithAlert("GetQueryRoutes",S.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API+"/route?nodeId="+v.payload.nodeId+"&amountMsat="+v.payload.amount,a),(0,_.of)({type:S.pg.VOID}))))))),this.setQueryRoutes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_QUERY_ROUTES_ECL),(0,D.U)(v=>v.payload)),{dispatch:!1}),this.sendPayment=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SEND_PAYMENT_ECL),(0,E.z)(v=>(this.flgReceivedPaymentUpdateFromWS=!1,this.latestPaymentRes="",this.store.dispatch((0,A.ac)({payload:S.m6.SEND_PAYMENT})),this.store.dispatch((0,M.QZ)({payload:{action:"SendPayment",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.PAYMENTS_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.latestPaymentRes=a,setTimeout(()=>{this.flgReceivedPaymentUpdateFromWS||this.handleSendPaymentStatus("Payment Submitted!")},3e3),{type:S.pg.VOID})),(0,u.K)(a=>(this.logger.error("Error: "+JSON.stringify(a)),v.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",S.m6.SEND_PAYMENT,"Send Payment Failed.",a):this.handleErrorWithAlert("SendPayment",S.m6.SEND_PAYMENT,"Send Payment Failed",this.CHILD_API_URL+k.NZ.PAYMENTS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.transactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_TRANSACTIONS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchTransactions",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.ON_CHAIN_API+"/transactions?count=1000&skip=0"))),(0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchTransactions",status:S.Bn.COMPLETED}})),{type:S.lr.SET_TRANSACTIONS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchTransactions",S.m6.NO_SPINNER,"Fetching Transactions Failed.",v),(0,_.of)({type:S.pg.VOID}))))),this.SendOnchainFunds=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SEND_ONCHAIN_FUNDS_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEND_FUNDS})),this.store.dispatch((0,M.QZ)({payload:{action:"SendOnchainFunds",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.ON_CHAIN_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SendOnchainFunds",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEND_FUNDS})),this.store.dispatch((0,M.iL)()),{type:S.lr.SEND_ONCHAIN_FUNDS_RES_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("SendOnchainFunds",S.m6.SEND_FUNDS,"Sending Fund Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.createInvoice=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.CREATE_INVOICE_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.CREATE_INVOICE})),this.store.dispatch((0,M.QZ)({payload:{action:"CreateInvoice",status:S.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+k.NZ.INVOICES_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"CreateInvoice",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.CREATE_INVOICE})),a.timestamp=Math.round((new Date).getTime()/1e3),a.expiresAt=Math.round(a.timestamp+v.payload.expireIn),a.description=v.payload.description,a.status="unpaid",setTimeout(()=>{this.store.dispatch((0,A.qR)({payload:{data:{invoice:a,newlyAdded:!0,component:P.R}}}))},200),{type:S.lr.ADD_INVOICE_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("CreateInvoice",S.m6.CREATE_INVOICE,"Create Invoice Failed.",a),(0,_.of)({type:S.pg.VOID})))))))),this.invoicesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_INVOICES_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchInvoices",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchInvoices",status:S.Bn.COMPLETED}})),{type:S.lr.SET_INVOICES_ECL,payload:v})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchInvoices",S.m6.NO_SPINNER,"Fetching Invoices Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.peerLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.PEER_LOOKUP_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEARCHING_NODE})),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.NETWORK_API+"/nodes/"+v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEARCHING_NODE})),{type:S.lr.SET_LOOKUP_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithAlert("Lookup",S.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+k.NZ.NETWORK_API+"/nodes/"+v.payload,a),(0,_.of)({type:S.pg.VOID})))))))),this.invoiceLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.INVOICE_LOOKUP_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+k.NZ.INVOICES_API+"/"+v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"Lookup",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEARCHING_INVOICE})),this.store.dispatch((0,M.aL)({payload:a})),{type:S.lr.SET_LOOKUP_ECL,payload:a})),(0,u.K)(a=>(this.handleErrorWithoutAlert("Lookup",S.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",a),this.store.dispatch((0,A.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:S.pg.VOID})))))))),this.setLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SET_LOOKUP_ECL),(0,D.U)(v=>(this.logger.info(v.payload),v.payload))),{dispatch:!1}),this.pageSettingsFetchCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.FETCH_PAGE_SETTINGS_ECL),(0,E.z)(()=>(this.store.dispatch((0,M.QZ)({payload:{action:"FetchPageSettings",status:S.Bn.INITIATED}})),this.httpClient.get(k.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(v=>(this.logger.info(v),this.store.dispatch((0,M.QZ)({payload:{action:"FetchPageSettings",status:S.Bn.COMPLETED}})),{type:S.lr.SET_PAGE_SETTINGS_ECL,payload:v||[]})),(0,u.K)(v=>(this.handleErrorWithoutAlert("FetchPageSettings",S.m6.NO_SPINNER,"Fetching Page Settings Failed.",v),(0,_.of)({type:S.pg.VOID})))))))),this.savePageSettingsCL=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(S.lr.SAVE_PAGE_SETTINGS_ECL),(0,E.z)(v=>(this.store.dispatch((0,A.ac)({payload:S.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.QZ)({payload:{action:"SavePageSettings",status:S.Bn.INITIATED}})),this.httpClient.post(k.NZ.PAGE_SETTINGS_API,v.payload).pipe((0,D.U)(a=>(this.logger.info(a),this.store.dispatch((0,M.QZ)({payload:{action:"SavePageSettings",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,A.jW)({payload:"Page Layout Updated Successfully!"})),{type:S.lr.SET_PAGE_SETTINGS_ECL,payload:a||[]})),(0,u.K)(a=>(this.handleErrorWithAlert("SavePageSettings",S.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",k.NZ.PAGE_SETTINGS_API,a),(0,_.of)({type:S.pg.VOID})))))))),this.handleSendPaymentStatus=v=>{this.store.dispatch((0,M.QZ)({payload:{action:"SendPayment",status:S.Bn.COMPLETED}})),this.store.dispatch((0,A.uO)({payload:S.m6.SEND_PAYMENT})),this.store.dispatch((0,M.TM)({payload:this.latestPaymentRes})),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!0}})),this.store.dispatch((0,A.jW)({payload:v}))},this.store.select(z.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(v=>{v.FetchInfo.status!==S.Bn.COMPLETED&&v.FetchInfo.status!==S.Bn.ERROR||v.FetchFees.status!==S.Bn.COMPLETED&&v.FetchFees.status!==S.Bn.ERROR||v.FetchOnchainBalance.status!==S.Bn.COMPLETED&&v.FetchOnchainBalance.status!==S.Bn.ERROR||v.FetchChannels.status!==S.Bn.COMPLETED&&v.FetchChannels.status!==S.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,A.uO)({payload:S.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.eclWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(v=>{this.logger.info("Received new message from the service: "+JSON.stringify(v));let a="";if(v)switch(v.type){case S.$v.PAYMENT_SENT:v&&v.id&&this.latestPaymentRes===v.id&&(this.flgReceivedPaymentUpdateFromWS=!0,a="Payment Sent: "+(v.paymentHash?"with payment hash "+v.paymentHash:JSON.stringify(v)),this.handleSendPaymentStatus(a));break;case S.$v.PAYMENT_FAILED:v&&v.id&&this.latestPaymentRes===v.id&&(this.flgReceivedPaymentUpdateFromWS=!0,a="Payment Failed: "+(v.failures&&v.failures.length&&v.failures.length>0&&v.failures[0].t?v.failures[0].t:v.failures&&v.failures.length&&v.failures.length>0&&v.failures[0].e&&v.failures[0].e.failureMessage?v.failures[0].e.failureMessage:JSON.stringify(v)),this.handleSendPaymentStatus(a));break;case S.$v.PAYMENT_RECEIVED:this.store.dispatch((0,M.aL)({payload:v}));break;case S.$v.PAYMENT_RELAYED:delete v.source,this.store.dispatch((0,M.ti)({payload:v}));break;case S.$v.CHANNEL_STATE_CHANGED:"NORMAL"===v.currentState||"CLOSED"===v.currentState?(this.rawChannelsList=this.rawChannelsList?.map(C=>(C.channelId===v.channelId&&C.nodeId===v.remoteNodeId&&(C.state=v.currentState),C)),this.setChannelsAndStatusAndBalances()):this.store.dispatch((0,M.DJ)({payload:v}));break;default:this.logger.info("Received Event from WS: "+JSON.stringify(v))}})}setChannelsAndStatusAndBalances(){let ue=0,w=0,n=0,o={localBalance:0,remoteBalance:0},h=[];const d=[],y=[],L={active:{channels:0,capacity:0},inactive:{channels:0,capacity:0},pending:{channels:0,capacity:0}};this.rawChannelsList.forEach((B,v)=>{B&&("NORMAL"===B.state?(ue=(B.toLocal||0)+(B.toRemote||0),w+=B.toLocal||0,n+=B.toRemote||0,B.balancedness=0===ue?1:+(1-Math.abs(((B.toLocal||0)-(B.toRemote||0))/ue)).toFixed(3),h.push(B),L.active.channels=L.active.channels+1,L.active.capacity=L.active.capacity+(B.toLocal||0)):B.state?.includes("WAIT")||B.state?.includes("CLOSING")||B.state?.includes("SYNCING")?(B.state=B.state?.replace(/_/g," "),d.push(B),L.pending.channels=L.pending.channels+1,L.pending.capacity=L.pending.capacity+(B.toLocal||0)):(B.state=B.state?.replace(/_/g," "),y.push(B),L.inactive.channels=L.inactive.channels+1,L.inactive.capacity=L.inactive.capacity+(B.toLocal||0)))}),o={localBalance:w,remoteBalance:n},h=this.commonService.sortDescByKey(h,"balancedness"),this.logger.info("Active Channels: "+JSON.stringify(h)),this.logger.info("Pending Channels: "+JSON.stringify(d)),this.logger.info("Inactive Channels: "+JSON.stringify(y)),this.logger.info("Lightning Balances: "+JSON.stringify(o)),this.logger.info("Channels Status: "+JSON.stringify(L)),this.logger.info("Channel, status and balances: "+JSON.stringify({active:h,pending:d,inactive:y,balances:o,status:L})),this.store.dispatch((0,M.eN)({payload:h})),this.store.dispatch((0,M.TW)({payload:d})),this.store.dispatch((0,M.i)({payload:y})),this.store.dispatch((0,M.On)({payload:o})),this.store.dispatch((0,M.HG)({payload:L}))}initializeRemainingData(ue,w){this.sessionService.setItem("eclUnlocked","true");const n={identity_pubkey:ue.nodeId,alias:ue.alias,testnet:"testnet"===ue.network,chains:ue.publicAddresses,uris:ue.uris,version:ue.version,numberOfPendingChannels:0};this.store.dispatch((0,A.ac)({payload:S.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,A._V)({payload:n}));let o=this.location.path();o.includes("/lnd/")?o=o?.replace("/lnd/","/ecl/"):o.includes("/cln/")&&(o=o?.replace("/cln/","/ecl/")),(o.includes("/login")||o.includes("/error")||""===o||"HOME"===w||o.includes("?access-key="))&&(o="/ecl/home"),this.router.navigate([o]),this.store.dispatch((0,M.wD)()),this.store.dispatch((0,M.WM)()),this.store.dispatch((0,M.UR)({payload:{fetchPayments:!0}})),this.store.dispatch((0,M.SN)()),this.store.dispatch((0,M.iL)()),this.store.dispatch((0,M.$W)())}handleErrorWithoutAlert(ue,w,n,o){this.logger.error("ERROR IN: "+ue+"\n"+JSON.stringify(o)),401===o.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,A.ts)()),this.store.dispatch((0,A.kS)()),this.store.dispatch((0,A.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,A.uO)({payload:w})),this.store.dispatch((0,M.QZ)({payload:{action:ue,status:S.Bn.ERROR,statusCode:o.status.toString(),message:this.commonService.extractErrorMessage(o,n)}})))}handleErrorWithAlert(ue,w,n,o,h){if(this.logger.error(h),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,A.ts)()),this.store.dispatch((0,A.kS)()),this.store.dispatch((0,A.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,A.uO)({payload:w}));const d=this.commonService.extractErrorMessage(h);this.store.dispatch((0,A.qR)({payload:{data:{type:"ERROR",alertTitle:n,message:{code:h.status,message:d,URL:o},component:p.H}}})),this.store.dispatch((0,M.QZ)({payload:{action:ue,status:S.Bn.ERROR,statusCode:h.status.toString(),message:d,URL:o}}))}}ngOnDestroy(){this.unSubs.forEach(ue=>{ue.next(null),ue.complete()})}static#e=this.\u0275fac=function(w){return new(w||de)(I.LFG(e.eX),I.LFG(W.eN),I.LFG(Z.yh),I.LFG(j.m),I.LFG(ae.v),I.LFG(re.mQ),I.LFG(pe.F0),I.LFG(le.d),I.LFG(ve.Ye))};static#t=this.\u0275prov=I.Yz7({token:de,factory:de.\u0275fac})}},2501:(Ve,X,m)=>{"use strict";m.d(X,{Bo:()=>z,Ef:()=>M,JG:()=>S,LR:()=>_,PP:()=>p,T$:()=>D,Xz:()=>A,dx:()=>P,kY:()=>I,nF:()=>E,yA:()=>k,yD:()=>s});var e=m(9263);const t=(0,e.ZF)("ecl"),_=(0,e.P1)(t,W=>W.nodeSettings),E=(0,e.P1)(t,W=>({pageSettings:W.pageSettings,apiCallStatus:W.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,W=>W.information),D=(0,e.P1)(t,W=>({information:W.information,apiCallStatus:W.apisCallStatus.FetchInfo})),k=((0,e.P1)(t,W=>W.apisCallStatus.FetchInfo),(0,e.P1)(t,W=>W.apisCallStatus)),p=(0,e.P1)(t,W=>({payments:W.payments,apiCallStatus:W.apisCallStatus.FetchPayments})),S=(0,e.P1)(t,W=>({fees:W.fees,apiCallStatus:W.apisCallStatus.FetchFees})),A=(0,e.P1)(t,W=>({activeChannels:W.activeChannels,pendingChannels:W.pendingChannels,inactiveChannels:W.inactiveChannels,lightningBalance:W.lightningBalance,channelsStatus:W.channelsStatus,apiCallStatus:W.apisCallStatus.FetchChannels})),P=(0,e.P1)(t,W=>({transactions:W.transactions,apiCallStatus:W.apisCallStatus.FetchTransactions})),M=(0,e.P1)(t,W=>({invoices:W.invoices,apiCallStatus:W.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,W=>({peers:W.peers,apiCallStatus:W.apisCallStatus.FetchPeers})),I=(0,e.P1)(t,W=>({onchainBalance:W.onchainBalance,apiCallStatus:W.apisCallStatus.FetchOnchainBalance}))},7766:(Ve,X,m)=>{"use strict";m.d(X,{R:()=>We});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(2501),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),j=m(1528),ae=m(1708),re=m(6021),pe=m(6895),le=m(3390);function ve(be,Ye){if(1&be&&u._UZ(0,"qr-code",29),2&be){const Ie=u.oxw();u.Q6J("value",null==Ie.invoice?null:Ie.invoice.serialized)("size",Ie.qrWidth)("errorCorrectionLevel","L")}}function de(be,Ye){1&be&&(u.TgZ(0,"span",30),u._uU(1,"N/A"),u.qZA())}function $(be,Ye){if(1&be&&u._UZ(0,"qr-code",29),2&be){const Ie=u.oxw();u.Q6J("value",null==Ie.invoice?null:Ie.invoice.serialized)("size",Ie.qrWidth)("errorCorrectionLevel","L")}}function ue(be,Ye){1&be&&(u.TgZ(0,"span",31),u._uU(1,"QR Code Not Applicable"),u.qZA())}function w(be,Ye){1&be&&u._UZ(0,"mat-divider",32),2&be&&u.Q6J("inset",!0)}function n(be,Ye){1&be&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function o(be,Ye){1&be&&u._UZ(0,"span",38)}const h=function(){return[]};function d(be,Ye){if(1&be&&(u.TgZ(0,"div",34)(1,"div",35)(2,"span",36),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,o,1,0,"span",37),u.qZA()()),2&be){const Ie=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,null==Ie.invoice?null:Ie.invoice.amountSettled)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,h).constructor(35))}}function y(be,Ye){if(1&be&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&be){const Ie=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,null==Ie.invoice?null:Ie.invoice.amountSettled)," Sats")}}function L(be,Ye){if(1&be&&(u.ynx(0),u.YNc(1,d,6,5,"div",33),u.YNc(2,y,3,3,"div",19),u.BQk()),2&be){const Ie=u.oxw();u.xp6(1),u.Q6J("ngIf",Ie.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!Ie.flgInvoicePaid)}}function B(be,Ye){1&be&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function v(be,Ye){1&be&&u._UZ(0,"mat-spinner",40),2&be&&u.Q6J("diameter",20)}function a(be,Ye){if(1&be&&(u.ynx(0),u.YNc(1,B,2,0,"span",19),u.YNc(2,v,1,1,"mat-spinner",39),u.BQk()),2&be){const Ie=u.oxw();u.xp6(1),u.Q6J("ngIf","unpaid"!==(null==Ie.invoice?null:Ie.invoice.status)||!Ie.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","unpaid"===(null==Ie.invoice?null:Ie.invoice.status)&&Ie.flgVersionCompatible)}}function C(be,Ye){if(1&be&&(u.TgZ(0,"div"),u._UZ(1,"mat-divider",20),u.TgZ(2,"div",15)(3,"div",41)(4,"h4",17),u._uU(5,"Date Expiry"),u.qZA(),u.TgZ(6,"span",18),u._uU(7),u.ALo(8,"date"),u.qZA()(),u.TgZ(9,"div",42)(10,"h4",17),u._uU(11,"Date Settled"),u.qZA(),u.TgZ(12,"span",21),u._uU(13),u.ALo(14,"date"),u.qZA()()(),u._UZ(15,"mat-divider",20),u.TgZ(16,"div",15)(17,"div",22)(18,"h4",17),u._uU(19,"Payment Hash"),u.qZA(),u.TgZ(20,"span",21),u._uU(21),u.qZA()()(),u._UZ(22,"mat-divider",20),u.TgZ(23,"div",15)(24,"div",22)(25,"h4",17),u._uU(26,"Node ID"),u.qZA(),u.TgZ(27,"span",21),u._uU(28),u.qZA()()(),u._UZ(29,"mat-divider",20),u.qZA()),2&be){const Ie=u.oxw();u.xp6(7),u.Oqu(u.xi3(8,4,1e3*(null==Ie.invoice?null:Ie.invoice.expiresAt),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.xi3(14,7,1e3*(null==Ie.invoice?null:Ie.invoice.receivedAt),"dd/MMM/y HH:mm")),u.xp6(8),u.Oqu(null==Ie.invoice?null:Ie.invoice.paymentHash),u.xp6(7),u.Oqu(null==Ie.invoice?null:Ie.invoice.nodeId)}}function N(be,Ye){1&be&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function F(be,Ye){1&be&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function J(be,Ye){if(1&be){const Ie=u.EpF();u.TgZ(0,"button",43),u.NdJ("copied",function(et){u.CHM(Ie);const ut=u.oxw();return u.KtG(ut.onCopyPayment(et))}),u._uU(1,"Copy Invoice"),u.qZA()}if(2&be){const Ie=u.oxw();u.Q6J("payload",null==Ie.invoice?null:Ie.invoice.serialized)}}function Fe(be,Ye){if(1&be){const Ie=u.EpF();u.TgZ(0,"button",44),u.NdJ("click",function(){u.CHM(Ie);const et=u.oxw();return u.KtG(et.onClose())}),u._uU(1,"OK"),u.qZA()}}const ke=function(be){return{"display-none":be}},Ge=function(be){return{"xs-scroll-y":be}},je=function(be,Ye){return{"mt-2":be,"mt-1":Ye}};class We{constructor(Ye,Ie,ge,et,ut,Le){this.dialogRef=Ye,this.data=Ie,this.logger=ge,this.commonService=et,this.snackBar=ut,this.store=Le,this.faReceipt=t.dLy,this.faExclamationTriangle=t.eHv,this.showAdvanced=!1,this.newlyAdded=!1,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}ngOnInit(){this.invoice=this.data.invoice,this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.yD).pipe((0,E.R)(this.unSubs[0])).subscribe(Ye=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(Ye.version,"0.5.0")}),this.store.select(D.Ef).pipe((0,E.R)(this.unSubs[1])).subscribe(Ye=>{const Ie=this.invoice.status,et=(Ye.invoices&&Ye.invoices.length>0?Ye.invoices:[])?.find(ut=>ut.paymentHash===this.invoice.paymentHash)||null;et&&(this.invoice=et),Ie!==this.invoice.status&&"received"===this.invoice.status&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(Ye)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onCopyPayment(Ye){this.snackBar.open("Invoice copied."),this.logger.info("Copied Text: "+Ye)}ngOnDestroy(){this.unSubs.forEach(Ye=>{Ye.next(null),Ye.complete()})}static#e=this.\u0275fac=function(Ie){return new(Ie||We)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:We,selectors:[["rtl-ecl-invoice-information"]],decls:68,vars:42,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"w-100","my-1"],[1,"overflow-wrap","foreground-secondary-text"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","end center",3,"ngClass"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],[1,"my-1",3,"inset"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],["fxFlex","40"],["fxFlex","60"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"]],template:function(Ie,ge){if(1&Ie&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,ve,1,3,"qr-code",2),u.YNc(3,de,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return ge.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,$,1,3,"qr-code",2),u.YNc(16,ue,2,0,"span",13),u.qZA(),u.YNc(17,w,1,1,"mat-divider",14),u.TgZ(18,"div",15)(19,"div",16)(20,"h4",17),u._uU(21,"Amount Requested"),u.qZA(),u.TgZ(22,"span",18),u._uU(23),u.ALo(24,"number"),u.YNc(25,n,2,0,"ng-container",19),u.qZA()(),u.TgZ(26,"div",16)(27,"h4",17),u._uU(28,"Amount Settled"),u.qZA(),u.TgZ(29,"span",18),u.YNc(30,L,3,2,"ng-container",19),u.YNc(31,a,3,2,"ng-container",19),u.qZA()()(),u._UZ(32,"mat-divider",20),u.TgZ(33,"div",15)(34,"div",16)(35,"h4",17),u._uU(36,"Date Created"),u.qZA(),u.TgZ(37,"span",21),u._uU(38),u.ALo(39,"date"),u.qZA()(),u.TgZ(40,"div",16)(41,"h4",17),u._uU(42,"Status"),u.qZA(),u.TgZ(43,"span",21),u._uU(44),u.ALo(45,"titlecase"),u.qZA()()(),u._UZ(46,"mat-divider",20),u.TgZ(47,"div",15)(48,"div",22)(49,"h4",17),u._uU(50,"Description"),u.qZA(),u.TgZ(51,"span",18),u._uU(52),u.qZA()()(),u._UZ(53,"mat-divider",20),u.TgZ(54,"div",15)(55,"div",22)(56,"h4",17),u._uU(57,"Invoice"),u.qZA(),u.TgZ(58,"span",21),u._uU(59),u.qZA()()(),u.YNc(60,C,30,10,"div",19),u.TgZ(61,"div",23)(62,"button",24),u.NdJ("click",function(){return ge.onShowAdvanced()}),u.YNc(63,N,2,0,"p",25),u.YNc(64,F,2,0,"ng-template",null,26,u.W1O),u.qZA(),u.YNc(66,J,2,1,"button",27),u.YNc(67,Fe,2,0,"button",28),u.qZA()()()()()),2&Ie){const et=u.MAs(65);u.xp6(1),u.Q6J("fxLayoutAlign",null!=ge.invoice&&ge.invoice.serialized&&""!==(null==ge.invoice?null:ge.invoice.serialized)?"center start":"center center")("ngClass",u.VKq(33,ke,ge.screenSize===ge.screenSizeEnum.XS||ge.screenSize===ge.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==ge.invoice?null:ge.invoice.serialized)&&""!==(null==ge.invoice?null:ge.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ge.invoice&&ge.invoice.serialized)||""===(null==ge.invoice?null:ge.invoice.serialized)),u.xp6(4),u.Q6J("icon",ge.faReceipt),u.xp6(2),u.Oqu(ge.screenSize===ge.screenSizeEnum.XS?ge.newlyAdded?"Created":"Invoice":ge.newlyAdded?"Invoice Created":"Invoice Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(35,Ge,ge.screenSize===ge.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=ge.invoice&&ge.invoice.serialized&&""!==(null==ge.invoice?null:ge.invoice.serialized)?"center start":"center center")("ngClass",u.VKq(37,ke,ge.screenSize!==ge.screenSizeEnum.XS&&ge.screenSize!==ge.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==ge.invoice?null:ge.invoice.serialized)&&""!==(null==ge.invoice?null:ge.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ge.invoice&&ge.invoice.serialized)||""===(null==ge.invoice?null:ge.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",ge.screenSize===ge.screenSizeEnum.XS||ge.screenSize===ge.screenSizeEnum.SM),u.xp6(6),u.hij("",u.lcZ(24,26,(null==ge.invoice?null:ge.invoice.amount)||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=ge.invoice&&ge.invoice.amount)||"0"===(null==ge.invoice?null:ge.invoice.amount)),u.xp6(5),u.Q6J("ngIf",null==ge.invoice?null:ge.invoice.amountSettled),u.xp6(1),u.Q6J("ngIf",!(null!=ge.invoice&&ge.invoice.amountSettled)),u.xp6(7),u.Oqu(u.xi3(39,28,1e3*(null==ge.invoice?null:ge.invoice.timestamp),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(u.lcZ(45,31,null==ge.invoice?null:ge.invoice.status)),u.xp6(8),u.Oqu((null==ge.invoice?null:ge.invoice.description)||"-"),u.xp6(7),u.Oqu((null==ge.invoice?null:ge.invoice.serialized)||"N/A"),u.xp6(1),u.Q6J("ngIf",ge.showAdvanced),u.xp6(1),u.Q6J("ngClass",u.WLB(39,je,!ge.showAdvanced,ge.showAdvanced)),u.xp6(2),u.Q6J("ngIf",!ge.showAdvanced)("ngIfElse",et),u.xp6(3),u.Q6J("ngIf",(null==ge.invoice?null:ge.invoice.serialized)&&""!==(null==ge.invoice?null:ge.invoice.serialized)),u.xp6(1),u.Q6J("ngIf",!(null!=ge.invoice&&ge.invoice.serialized)||""===(null==ge.invoice?null:ge.invoice.serialized))}},dependencies:[P.mk,P.sg,P.O5,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,j.d,ae.Ou,re.uU,pe.y,le.h,P.JJ,P.rS,P.uU]})}},6523:(Ve,X,m)=>{"use strict";m.d(X,{$A:()=>yn,$W:()=>A,BL:()=>B,B_:()=>Fe,Bl:()=>le,CX:()=>S,Cp:()=>C,EK:()=>W,El:()=>M,Fr:()=>At,HI:()=>De,JT:()=>s,Jl:()=>ve,Jo:()=>gt,Lf:()=>ge,Ll:()=>E,Ly:()=>et,Nr:()=>We,OG:()=>v,PC:()=>_,QJ:()=>tn,RX:()=>pe,Rd:()=>Z,Rv:()=>de,SN:()=>re,Sf:()=>zt,TW:()=>o,UH:()=>ut,UR:()=>ue,Vv:()=>a,WM:()=>je,WO:()=>pn,Wi:()=>Re,YP:()=>ae,YX:()=>L,Z7:()=>n,Z8:()=>P,Zh:()=>h,_E:()=>q,_L:()=>d,aL:()=>be,as:()=>w,cQ:()=>Le,dV:()=>ee,eF:()=>k,fu:()=>pt,kL:()=>nt,ks:()=>$,mC:()=>Ie,n7:()=>Jt,oV:()=>ne,pW:()=>y,pd:()=>u,qY:()=>Ye,sQ:()=>p,tb:()=>J,u0:()=>an,vV:()=>ke,wD:()=>D,xG:()=>Nt,y2:()=>Ct,yZ:()=>Gt,z:()=>I});var e=m(9263),t=m(7731);const _=(0,e.PH)(t.uR.UPDATE_API_CALL_STATUS_LND,(0,e.Ky)()),E=(0,e.PH)(t.uR.RESET_LND_STORE,(0,e.Ky)()),s=(0,e.PH)(t.uR.SET_CHILD_NODE_SETTINGS_LND,(0,e.Ky)()),D=(0,e.PH)(t.uR.FETCH_PAGE_SETTINGS_LND),u=(0,e.PH)(t.uR.SET_PAGE_SETTINGS_LND,(0,e.Ky)()),k=(0,e.PH)(t.uR.SAVE_PAGE_SETTINGS_LND,(0,e.Ky)()),p=(0,e.PH)(t.uR.FETCH_INFO_LND,(0,e.Ky)()),S=(0,e.PH)(t.uR.SET_INFO_LND,(0,e.Ky)()),A=(0,e.PH)(t.uR.FETCH_PEERS_LND),P=(0,e.PH)(t.uR.SET_PEERS_LND,(0,e.Ky)()),M=(0,e.PH)(t.uR.SAVE_NEW_PEER_LND,(0,e.Ky)()),I=((0,e.PH)(t.uR.NEWLY_ADDED_PEER_LND,(0,e.Ky)()),(0,e.PH)(t.uR.DETACH_PEER_LND,(0,e.Ky)())),W=(0,e.PH)(t.uR.REMOVE_PEER_LND,(0,e.Ky)()),Z=(0,e.PH)(t.uR.SAVE_NEW_INVOICE_LND,(0,e.Ky)()),ae=((0,e.PH)(t.uR.NEWLY_SAVED_INVOICE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.ADD_INVOICE_LND,(0,e.Ky)())),re=(0,e.PH)(t.uR.FETCH_FEES_LND),pe=(0,e.PH)(t.uR.SET_FEES_LND,(0,e.Ky)()),le=(0,e.PH)(t.uR.FETCH_BLOCKCHAIN_BALANCE_LND),ve=(0,e.PH)(t.uR.SET_BLOCKCHAIN_BALANCE_LND,(0,e.Ky)()),de=(0,e.PH)(t.uR.FETCH_NETWORK_LND),$=(0,e.PH)(t.uR.SET_NETWORK_LND,(0,e.Ky)()),ue=(0,e.PH)(t.uR.FETCH_CHANNELS_LND),w=(0,e.PH)(t.uR.SET_CHANNELS_LND,(0,e.Ky)()),n=(0,e.PH)(t.uR.FETCH_PENDING_CHANNELS_LND),o=(0,e.PH)(t.uR.SET_PENDING_CHANNELS_LND,(0,e.Ky)()),h=(0,e.PH)(t.uR.FETCH_CLOSED_CHANNELS_LND),d=(0,e.PH)(t.uR.SET_CLOSED_CHANNELS_LND,(0,e.Ky)()),y=(0,e.PH)(t.uR.UPDATE_CHANNEL_LND,(0,e.Ky)()),L=(0,e.PH)(t.uR.SAVE_NEW_CHANNEL_LND,(0,e.Ky)()),B=(0,e.PH)(t.uR.CLOSE_CHANNEL_LND,(0,e.Ky)()),v=(0,e.PH)(t.uR.REMOVE_CHANNEL_LND,(0,e.Ky)()),a=(0,e.PH)(t.uR.BACKUP_CHANNELS_LND,(0,e.Ky)()),C=(0,e.PH)(t.uR.VERIFY_CHANNEL_LND,(0,e.Ky)()),J=((0,e.PH)(t.uR.BACKUP_CHANNELS_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.VERIFY_CHANNEL_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.RESTORE_CHANNELS_LIST_LND)),Fe=(0,e.PH)(t.uR.SET_RESTORE_CHANNELS_LIST_LND,(0,e.Ky)()),ke=(0,e.PH)(t.uR.RESTORE_CHANNELS_LND,(0,e.Ky)()),je=((0,e.PH)(t.uR.RESTORE_CHANNELS_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.FETCH_INVOICES_LND,(0,e.Ky)())),We=(0,e.PH)(t.uR.SET_INVOICES_LND,(0,e.Ky)()),be=(0,e.PH)(t.uR.UPDATE_INVOICE_LND,(0,e.Ky)()),Ye=(0,e.PH)(t.uR.UPDATE_PAYMENT_LND,(0,e.Ky)()),Ie=(0,e.PH)(t.uR.FETCH_TRANSACTIONS_LND),ge=(0,e.PH)(t.uR.SET_TRANSACTIONS_LND,(0,e.Ky)()),et=(0,e.PH)(t.uR.FETCH_UTXOS_LND),ut=(0,e.PH)(t.uR.SET_UTXOS_LND,(0,e.Ky)()),Le=(0,e.PH)(t.uR.FETCH_PAYMENTS_LND,(0,e.Ky)()),De=(0,e.PH)(t.uR.SET_PAYMENTS_LND,(0,e.Ky)()),ne=(0,e.PH)(t.uR.SEND_PAYMENT_LND,(0,e.Ky)()),ee=((0,e.PH)(t.uR.SEND_PAYMENT_STATUS_LND,(0,e.Ky)()),(0,e.PH)(t.uR.FETCH_GRAPH_NODE_LND,(0,e.Ky)())),q=((0,e.PH)(t.uR.SET_GRAPH_NODE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GET_NEW_ADDRESS_LND,(0,e.Ky)())),Re=((0,e.PH)(t.uR.SET_NEW_ADDRESS_LND,(0,e.Ky)()),(0,e.PH)(t.uR.SET_CHANNEL_TRANSACTION_LND,(0,e.Ky)())),pt=((0,e.PH)(t.uR.SET_CHANNEL_TRANSACTION_RES_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GEN_SEED_LND,(0,e.Ky)())),Ct=((0,e.PH)(t.uR.GEN_SEED_RESPONSE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.INIT_WALLET_LND,(0,e.Ky)())),Nt=((0,e.PH)(t.uR.INIT_WALLET_RESPONSE_LND,(0,e.Ky)()),(0,e.PH)(t.uR.UNLOCK_WALLET_LND,(0,e.Ky)())),zt=(0,e.PH)(t.uR.PEER_LOOKUP_LND,(0,e.Ky)()),yn=(0,e.PH)(t.uR.CHANNEL_LOOKUP_LND,(0,e.Ky)()),Jt=(0,e.PH)(t.uR.INVOICE_LOOKUP_LND,(0,e.Ky)()),Gt=(0,e.PH)(t.uR.PAYMENT_LOOKUP_LND,(0,e.Ky)()),an=((0,e.PH)(t.uR.SET_LOOKUP_LND,(0,e.Ky)()),(0,e.PH)(t.uR.GET_FORWARDING_HISTORY_LND,(0,e.Ky)())),tn=(0,e.PH)(t.uR.SET_FORWARDING_HISTORY_LND,(0,e.Ky)()),pn=(0,e.PH)(t.uR.GET_QUERY_ROUTES_LND,(0,e.Ky)()),nt=(0,e.PH)(t.uR.SET_QUERY_ROUTES_LND,(0,e.Ky)()),gt=(0,e.PH)(t.uR.GET_ALL_LIGHTNING_TRANSATIONS_LND),At=(0,e.PH)(t.uR.SET_ALL_LIGHTNING_TRANSATIONS_LND,(0,e.Ky)())},3172:(Ve,X,m)=>{"use strict";m.d(X,{l:()=>ue});var e=m(3599),t=m(253),_=m(745),E=m(9525),s=m(8951),D=m(635),u=m(3158),k=m(538),p=m(2340),S=m(8627),A=m(1786),P=m(7731),M=m(7861),z=m(6523),I=m(6529),W=m(2560),Z=m(8987),j=m(9263),ae=m(5043),re=m(62),pe=m(5986),le=m(640),ve=m(3547),de=m(3512),$=m(4666);class ue{constructor(n,o,h,d,y,L,B,v,a,C){this.actions=n,this.httpClient=o,this.store=h,this.logger=d,this.commonService=y,this.sessionService=L,this.dialog=B,this.router=v,this.wsService=a,this.location=C,this.CHILD_API_URL=p.T5+"/lnd",this.invoicesPageSize=P.IV,this.paymentsPageSize=P.IV,this.flgInitialized=!1,this.unSubs=[new t.x,new t.x],this.infoFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_INFO_LND),(0,E.z)(N=>(this.flgInitialized=!1,this.store.dispatch((0,M.lC)({payload:this.CHILD_API_URL})),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.ac)({payload:P.m6.GET_NODE_INFO})),this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.GETINFO_API).pipe((0,s.R)(this.actions.pipe((0,e.l4)(P.pg.SET_SELECTED_NODE))),(0,D.U)(F=>(this.logger.info(F),F.chains&&F.chains.length&&F.chains[0]&&("string"==typeof F.chains[0]&&F.chains[0].toLowerCase().indexOf("bitcoin")<0||"object"==typeof F.chains[0]&&F.chains[0].hasOwnProperty("chain")&&F.chains[0].chain&&F.chains[0].chain.toLowerCase().indexOf("bitcoin")<0)?(this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.qR)({payload:{data:{type:P.n_.ERROR,alertTitle:"Shitcoin Found",titleMessage:"Sorry Not Sorry, RTL is Bitcoin Only!"}}})),{type:P.pg.LOGOUT}):F.identity_pubkey?(F.lnImplementation="LND",this.initializeRemainingData(F,N.payload.loadPage),this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),{type:P.uR.SET_INFO_LND,payload:F||{}}):(this.store.dispatch((0,z.PC)({payload:{action:"FetchInfo",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.ts)()),this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),{type:P.uR.SET_INFO_LND,payload:{}}))),(0,u.K)(F=>{if("string"==typeof F.error.error&&F.error.error.includes("Not Found")||"string"==typeof F.error.error&&F.error.error.includes("wallet locked")||502===F.status&&!F.error.message.includes("Bad or Missing Macaroon"))this.sessionService.removeItem("lndUnlocked"),this.logger.info("Redirecting to Unlock"),this.router.navigate(["/lnd/wallet"]),this.handleErrorWithoutAlert("FetchInfo",P.m6.GET_NODE_INFO,"Fetching Node Info Failed.",F);else if("string"==typeof F.error.error&&F.error.error.includes("starting up")&&500===F.status)setTimeout(()=>{this.store.dispatch((0,z.sQ)({payload:{loadPage:"HOME"}}))},2e3);else{const J=this.commonService.extractErrorCode(F),Fe=503===J?"Unable to Connect to LND Server.":this.commonService.extractErrorMessage(F);this.router.navigate(["/error"],{state:{errorCode:J,errorMessage:Fe}}),this.handleErrorWithoutAlert("FetchInfo",P.m6.GET_NODE_INFO,"Fetching Node Info Failed.",{status:J,error:Fe})}return(0,_.of)({type:P.pg.VOID})})))))),this.peersFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PEERS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPeers",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PEERS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPeers",status:P.Bn.COMPLETED}})),{type:P.uR.SET_PEERS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPeers",P.m6.NO_SPINNER,"Fetching Peers Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.saveNewPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_PEER_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.CONNECT_PEER})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewPeer",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.PEERS_API,{pubkey:N.payload.pubkey,host:N.payload.host,perm:N.payload.perm}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewPeer",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.CONNECT_PEER})),this.store.dispatch((0,z.Z8)({payload:F||[]})),{type:P.uR.NEWLY_ADDED_PEER_LND,payload:{peer:F[0]}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewPeer",P.m6.CONNECT_PEER,"Peer Connection Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.detachPeer=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.DETACH_PEER_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.DISCONNECT_PEER})),this.httpClient.delete(this.CHILD_API_URL+p.NZ.PEERS_API+"/"+N.payload.pubkey).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.DISCONNECT_PEER})),this.store.dispatch((0,M.jW)({payload:"Peer Disconnected Successfully."})),{type:P.uR.REMOVE_PEER_LND,payload:{pubkey:N.payload.pubkey}})),(0,u.K)(F=>(this.handleErrorWithAlert("DetachPeer",P.m6.DISCONNECT_PEER,"Unable to Detach Peer. Try again later.",this.CHILD_API_URL+p.NZ.PEERS_API+"/"+N.payload.pubkey,F),(0,_.of)({type:P.pg.VOID})))))))),this.saveNewInvoice=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_INVOICE_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewInvoice",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.INVOICES_API,{memo:N.payload.memo,value:N.payload.value,private:N.payload.private,expiry:N.payload.expiry,is_amp:N.payload.is_amp}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewInvoice",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.WM)({payload:{num_max_invoices:N.payload.pageSize,reversed:!0}})),N.payload.openModal?(F.memo=N.payload.memo,F.value=N.payload.value,F.expiry=N.payload.expiry,F.private=N.payload.private,F.is_amp=N.payload.is_amp,F.cltv_expiry="144",F.creation_date=Math.round((new Date).getTime()/1e3).toString(),setTimeout(()=>{this.store.dispatch((0,M.qR)({payload:{data:{invoice:F,newlyAdded:!0,component:S.v}}}))},200),{type:P.pg.CLOSE_SPINNER,payload:N.payload.uiMessage}):{type:P.uR.NEWLY_SAVED_INVOICE_LND,payload:{paymentRequest:F.payment_request}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewInvoice",N.payload.uiMessage,"Add Invoice Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.openNewChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_NEW_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.OPEN_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewChannel",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API,{node_pubkey:N.payload.selectedPeerPubkey,local_funding_amount:N.payload.fundingAmount,private:N.payload.private,trans_type:N.payload.transType,trans_type_value:N.payload.transTypeValue,spend_unconfirmed:N.payload.spendUnconfirmed}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SaveNewChannel",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.OPEN_CHANNEL})),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Vv)({payload:{uiMessage:P.m6.NO_SPINNER,channelPoint:"ALL",showMessage:"Channel Added Successfully!"}})),{type:P.uR.FETCH_PENDING_CHANNELS_LND})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SaveNewChannel",P.m6.OPEN_CHANNEL,"Opening Channel Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.updateChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.UPDATE_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UPDATE_CHAN_POLICY})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/chanPolicy",{baseFeeMsat:N.payload.baseFeeMsat,feeRate:N.payload.feeRate,timeLockDelta:N.payload.timeLockDelta,max_htlc_msat:N.payload.maxHtlcMsat,min_htlc_msat:N.payload.minHtlcMsat,chanPoint:N.payload.chanPoint}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.UPDATE_CHAN_POLICY})),"all"===N.payload.chanPoint?this.store.dispatch((0,M.jW)({payload:"All Channels Updated Successfully."})):this.store.dispatch((0,M.jW)({payload:"Channel Updated Successfully!"})),{type:P.uR.FETCH_CHANNELS_LND})),(0,u.K)(F=>(this.handleErrorWithAlert("UpdateChannels",P.m6.UPDATE_CHAN_POLICY,"Update Channel Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/chanPolicy",F),(0,_.of)({type:P.pg.VOID})))))))),this.closeChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.CLOSE_CHANNEL_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL}));let F=this.CHILD_API_URL+p.NZ.CHANNELS_API+"/"+N.payload.channelPoint+"?force="+N.payload.forcibly;return N.payload.targetConf&&(F=F+"&target_conf="+N.payload.targetConf),N.payload.satPerByte&&(F=F+"&sat_per_byte="+N.payload.satPerByte),this.httpClient.delete(F).pipe((0,D.U)(J=>(this.logger.info(J),this.store.dispatch((0,M.uO)({payload:N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL})),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Z7)()),this.store.dispatch((0,z.Vv)({payload:{uiMessage:P.m6.NO_SPINNER,channelPoint:"ALL",showMessage:J.message}})),{type:P.pg.VOID})),(0,u.K)(J=>(this.handleErrorWithAlert("CloseChannel",N.payload.forcibly?P.m6.FORCE_CLOSE_CHANNEL:P.m6.CLOSE_CHANNEL,"Unable to Close Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/"+N.payload.channelPoint+"?force="+N.payload.forcibly,J),(0,_.of)({type:P.pg.VOID}))))}))),this.backupChannels=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.BACKUP_CHANNELS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"BackupChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/"+N.payload.channelPoint).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"BackupChannels",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,M.jW)({payload:N.payload.showMessage+" "+F.message})),{type:P.uR.BACKUP_CHANNELS_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("BackupChannels",N.payload.uiMessage,N.payload.showMessage+" Unable to Backup Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.verifyChannel=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.VERIFY_CHANNEL_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.VERIFY_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"VerifyChannel",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/verify/"+N.payload.channelPoint,{}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"VerifyChannel",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.VERIFY_CHANNEL})),this.store.dispatch((0,M.jW)({payload:F.message})),{type:P.uR.VERIFY_CHANNEL_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("VerifyChannel",P.m6.VERIFY_CHANNEL,"Unable to Verify Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/verify/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.restoreChannels=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.RESTORE_CHANNELS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.RESTORE_CHANNEL})),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannels",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/"+N.payload.channelPoint,{}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannels",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.RESTORE_CHANNEL})),this.store.dispatch((0,M.jW)({payload:F.message})),this.store.dispatch((0,z.B_)({payload:F.list})),{type:P.uR.RESTORE_CHANNELS_RES_LND,payload:F.message})),(0,u.K)(F=>(this.handleErrorWithAlert("RestoreChannels",P.m6.RESTORE_CHANNEL,"Unable to Restore Channel. Try again later.",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/"+N.payload.channelPoint,F),(0,_.of)({type:P.pg.VOID})))))))),this.fetchFees=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_FEES_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchFees",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.FEES_API))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchFees",status:P.Bn.COMPLETED}})),N.forwarding_events_history&&(this.store.dispatch((0,z.QJ)({payload:N.forwarding_events_history})),delete N.forwarding_events_history),{type:P.uR.SET_FEES_LND,payload:N||{}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchFees",P.m6.NO_SPINNER,"Fetching Fees Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.balanceBlockchainFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_BLOCKCHAIN_BALANCE_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchBalance",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.BALANCE_API))),(0,D.U)(N=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchBalance",status:P.Bn.COMPLETED}})),this.logger.info(N),{type:P.uR.SET_BLOCKCHAIN_BALANCE_LND,payload:N||{total_balance:""}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchBalance",P.m6.NO_SPINNER,"Fetching Blockchain Balance Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.networkInfoFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_NETWORK_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchNetwork",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/info"))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchNetwork",status:P.Bn.COMPLETED}})),{type:P.uR.SET_NETWORK_LND,payload:N||{}})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchNetwork",P.m6.NO_SPINNER,"Fetching Network Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.channelsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchChannels",status:P.Bn.COMPLETED}})),{type:P.uR.SET_CHANNELS_LND,payload:N.channels||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchChannels",P.m6.NO_SPINNER,"Fetching Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.channelsPendingFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PENDING_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPendingChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/pending").pipe((0,D.U)(N=>{this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPendingChannels",status:P.Bn.COMPLETED}}));const F={open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0};return N&&(F.total_limbo_balance=N.total_limbo_balance,N.pending_closing_channels&&(F.closing.num_channels=N.pending_closing_channels.length,F.total_channels=F.total_channels+N.pending_closing_channels.length,N.pending_closing_channels.forEach(J=>{F.closing.limbo_balance=+F.closing.limbo_balance+(J.channel.local_balance?+J.channel.local_balance:0)})),N.pending_force_closing_channels&&(F.force_closing.num_channels=N.pending_force_closing_channels.length,F.total_channels=F.total_channels+N.pending_force_closing_channels.length,N.pending_force_closing_channels.forEach(J=>{F.force_closing.limbo_balance=+F.force_closing.limbo_balance+(J.channel.local_balance?+J.channel.local_balance:0)})),N.pending_open_channels&&(F.open.num_channels=N.pending_open_channels.length,F.total_channels=F.total_channels+N.pending_open_channels.length,N.pending_open_channels.forEach(J=>{F.open.limbo_balance=+F.open.limbo_balance+(J.channel.local_balance?+J.channel.local_balance:0)})),N.waiting_close_channels&&(F.waiting_close.num_channels=N.waiting_close_channels.length,F.total_channels=F.total_channels+N.waiting_close_channels.length,N.waiting_close_channels.forEach(J=>{F.waiting_close.limbo_balance=+F.waiting_close.limbo_balance+(J.channel.local_balance?+J.channel.local_balance:0)}))),{type:P.uR.SET_PENDING_CHANNELS_LND,payload:N?{pendingChannels:N,pendingChannelsSummary:F}:{pendingChannels:{},pendingChannelsSummary:F}}}),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPendingChannels",P.m6.NO_SPINNER,"Fetching Pending Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.channelsClosedFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_CLOSED_CHANNELS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchClosedChannels",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/closed").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchClosedChannels",status:P.Bn.COMPLETED}})),{type:P.uR.SET_CLOSED_CHANNELS_LND,payload:N.channels||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchClosedChannels",P.m6.NO_SPINNER,"Fetching Closed Channels Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.invoicesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_INVOICES_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchInvoices",status:P.Bn.INITIATED}}));const F=N.payload.num_max_invoices?N.payload.num_max_invoices:100,J=N.payload.index_offset?N.payload.index_offset:0,Fe=!!N.payload.reversed&&N.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+p.NZ.INVOICES_API+"?num_max_invoices="+F+"&index_offset="+J+"&reversed="+Fe).pipe((0,D.U)(ke=>(this.logger.info(ke),this.store.dispatch((0,z.PC)({payload:{action:"FetchInvoices",status:P.Bn.COMPLETED}})),N.payload.reversed&&!N.payload.index_offset&&(ke.total_invoices=+(ke.last_index_offset||0)),{type:P.uR.SET_INVOICES_LND,payload:ke})),(0,u.K)(ke=>(this.handleErrorWithoutAlert("FetchInvoices",P.m6.NO_SPINNER,"Fetching Invoices Failed.",ke),(0,_.of)({type:P.pg.VOID}))))}))),this.transactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_TRANSACTIONS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchTransactions",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.TRANSACTIONS_API))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchTransactions",status:P.Bn.COMPLETED}})),{type:P.uR.SET_TRANSACTIONS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchTransactions",P.m6.NO_SPINNER,"Fetching Transactions Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.utxosFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_UTXOS_LND),(0,k.M)(this.store.select(I.Q5)),(0,E.z)(([N,F])=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchUTXOs",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/getUTXOs?max_confs="+(F&&F.block_height?F.block_height:1e9)))),(0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchUTXOs",status:P.Bn.COMPLETED}})),{type:P.uR.SET_UTXOS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchUTXOs",P.m6.NO_SPINNER,"Fetching UTXOs Failed.",N),(0,_.of)({type:P.pg.VOID}))))),this.paymentsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PAYMENTS_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchPayments",status:P.Bn.INITIATED}}));const F=N.payload.max_payments?N.payload.max_payments:100,J=N.payload.index_offset?N.payload.index_offset:0,Fe=!!N.payload.reversed&&N.payload.reversed;return this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"?max_payments="+F+"&index_offset="+J+"&reversed="+Fe).pipe((0,D.U)(ke=>(this.logger.info(ke),this.store.dispatch((0,z.PC)({payload:{action:"FetchPayments",status:P.Bn.COMPLETED}})),{type:P.uR.SET_PAYMENTS_LND,payload:ke})),(0,u.K)(ke=>(this.handleErrorWithoutAlert("FetchPayments",P.m6.NO_SPINNER,"Fetching Payments Failed.",ke),(0,_.of)({type:P.uR.SET_PAYMENTS_LND,payload:{payments:[]}}))))}))),this.sendPayment=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SEND_PAYMENT_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.INITIATED}}));const F={};return F.paymentReq=N.payload.paymentReq,N.payload.paymentAmount&&(F.paymentAmount=N.payload.paymentAmount),N.payload.outgoingChannel&&(F.outgoingChannel=N.payload.outgoingChannel.chan_id),N.payload.allowSelfPayment&&(F.allowSelfPayment=N.payload.allowSelfPayment),N.payload.lastHopPubkey&&(F.lastHopPubkey=N.payload.lastHopPubkey),N.payload.feeLimitType&&N.payload.feeLimitType!==P.Vc[0].id&&(F.feeLimit={},F.feeLimit[N.payload.feeLimitType]=N.payload.feeLimit),this.httpClient.post(this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",F).pipe((0,D.U)(J=>{if(this.logger.info(J),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.COMPLETED}})),J.payment_error)return N.payload.allowSelfPayment?(this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),{type:P.uR.SEND_PAYMENT_STATUS_LND,payload:J}):(N.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",J.payment_error):this.handleErrorWithAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",J.payment_error),{type:P.pg.VOID});if(this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"SendPayment",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.cQ)({payload:{max_payments:this.paymentsPageSize,reversed:!0}})),N.payload.allowSelfPayment)this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}}));else{let Fe="Payment Sent Successfully.";J.payment_route&&J.payment_route.total_fees_msat&&(Fe="Payment sent successfully with the total fee "+J.payment_route.total_fees_msat+" (mSats)."),this.store.dispatch((0,M.jW)({payload:Fe}))}return{type:P.uR.SEND_PAYMENT_STATUS_LND,payload:J}}),(0,u.K)(J=>(this.logger.error("Error: "+JSON.stringify(J)),N.payload.allowSelfPayment?(this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",J),this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),(0,_.of)({type:P.uR.SEND_PAYMENT_STATUS_LND,payload:{error:this.commonService.extractErrorMessage(J)}})):(N.payload.fromDialog?this.handleErrorWithoutAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed.",J):this.handleErrorWithAlert("SendPayment",N.payload.uiMessage,"Send Payment Failed",this.CHILD_API_URL+p.NZ.CHANNELS_API+"/transactions",J),(0,_.of)({type:P.pg.VOID})))))}))),this.graphNodeFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_GRAPH_NODE_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GET_NODE_ADDRESS})),this.store.dispatch((0,z.PC)({payload:{action:"FetchGraphNode",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload.pubkey).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GET_NODE_ADDRESS})),this.store.dispatch((0,z.PC)({payload:{action:"FetchGraphNode",status:P.Bn.COMPLETED}})),{type:P.uR.SET_GRAPH_NODE_LND,payload:F&&F.node?{node:F.node}:{node:null}})),(0,u.K)(F=>(this.handleErrorWithoutAlert("FetchGraphNode",P.m6.GET_NODE_ADDRESS,"Fetching Graph Node Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.setGraphNode=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_GRAPH_NODE_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.getNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_NEW_ADDRESS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GENERATE_NEW_ADDRESS})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NEW_ADDRESS_API+"?type="+N.payload.addressId).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GENERATE_NEW_ADDRESS})),{type:P.uR.SET_NEW_ADDRESS_LND,payload:F&&F.address?F.address:{}})),(0,u.K)(F=>(this.handleErrorWithAlert("GetNewAddress",P.m6.GENERATE_NEW_ADDRESS,"Generate New Address Failed",this.CHILD_API_URL+p.NZ.NEW_ADDRESS_API+"?type="+N.payload.addressId,F),(0,_.of)({type:P.pg.VOID})))))))),this.setNewAddress=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_NEW_ADDRESS_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.SetChannelTransaction=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_CHANNEL_TRANSACTION_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEND_FUNDS})),this.store.dispatch((0,z.PC)({payload:{action:"SetChannelTransaction",status:P.Bn.INITIATED}})),this.httpClient.post(this.CHILD_API_URL+p.NZ.TRANSACTIONS_API,{amount:N.payload.amount,address:N.payload.address,sendAll:N.payload.sendAll,fees:N.payload.fees,blocks:N.payload.blocks}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SetChannelTransaction",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.SEND_FUNDS})),this.store.dispatch((0,z.mC)()),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),{type:P.uR.SET_CHANNEL_TRANSACTION_RES_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithoutAlert("SetChannelTransaction",P.m6.SEND_FUNDS,"Sending Fund Failed.",F),(0,_.of)({type:P.pg.VOID})))))))),this.fetchForwardingHistory=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_FORWARDING_HISTORY_LND),(0,E.z)(N=>{this.store.dispatch((0,z.PC)({payload:{action:"FetchForwardingHistory",status:P.Bn.INITIATED}}));const F={num_max_events:N.payload.num_max_events,index_offset:N.payload.index_offset,end_time:N.payload.end_time,start_time:N.payload.start_time};return this.httpClient.post(this.CHILD_API_URL+p.NZ.SWITCH_API,F).pipe((0,D.U)(J=>(this.logger.info(J),this.store.dispatch((0,z.PC)({payload:{action:"FetchForwardingHistory",status:P.Bn.COMPLETED}})),{type:P.uR.SET_FORWARDING_HISTORY_LND,payload:J})),(0,u.K)(J=>(this.handleErrorWithAlert("FetchForwardingHistory",P.m6.NO_SPINNER,"Get Forwarding History Failed",this.CHILD_API_URL+p.NZ.SWITCH_API,J),(0,_.of)({type:P.pg.VOID}))))}))),this.queryRoutesFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_QUERY_ROUTES_LND),(0,E.z)(N=>{let F=this.CHILD_API_URL+p.NZ.NETWORK_API+"/routes/"+N.payload.destPubkey+"/"+N.payload.amount;return N.payload.outgoingChanId&&(F=F+"?outgoing_chan_id="+N.payload.outgoingChanId),this.httpClient.get(F).pipe((0,D.U)(J=>(this.logger.info(J),{type:P.uR.SET_QUERY_ROUTES_LND,payload:J})),(0,u.K)(J=>(this.store.dispatch((0,z.kL)({payload:{routes:[]}})),this.handleErrorWithAlert("GetQueryRoutes",P.m6.NO_SPINNER,"Get Query Routes Failed",this.CHILD_API_URL+p.NZ.NETWORK_API,J),(0,_.of)({type:P.pg.VOID}))))}))),this.setQueryRoutes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_QUERY_ROUTES_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.genSeed=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GEN_SEED_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.GEN_SEED})),this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/genseed/"+N.payload).pipe((0,D.U)(F=>(this.logger.info("Generated GenSeed!"),this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.GEN_SEED})),{type:P.uR.GEN_SEED_RESPONSE_LND,payload:F.cipher_seed_mnemonic})),(0,u.K)(F=>(this.handleErrorWithAlert("GenSeed",P.m6.GEN_SEED,"Genseed Generation Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/genseed/"+N.payload,F),(0,_.of)({type:P.pg.VOID})))))))),this.updateSelNodeOptions=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.pg.UPDATE_SELECTED_NODE_OPTIONS),(0,E.z)(()=>this.httpClient.get(this.CHILD_API_URL+p.NZ.WALLET_API+"/updateSelNodeOptions").pipe((0,D.U)(N=>(this.logger.info("Update Sel Node Successfull"),this.logger.info(N),{type:P.pg.VOID})),(0,u.K)(N=>(this.handleErrorWithAlert("UpdateSelectedNodeOptions",P.m6.NO_SPINNER,"Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!","Update Macaroon",N),(0,_.of)({type:P.pg.VOID}))))))),this.genSeedResponse=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GEN_SEED_RESPONSE_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.initWalletRes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INIT_WALLET_RESPONSE_LND),(0,D.U)(N=>N.payload)),{dispatch:!1}),this.initWallet=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INIT_WALLET_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.INITIALIZE_WALLET})),this.httpClient.post(this.CHILD_API_URL+p.NZ.WALLET_API+"/wallet/initwallet",{wallet_password:N.payload.pwd,cipher_seed_mnemonic:N.payload.cipher?N.payload.cipher:"",aezeed_passphrase:N.payload.passphrase?N.payload.passphrase:""}).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.INITIALIZE_WALLET})),{type:P.uR.INIT_WALLET_RESPONSE_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("InitWallet",P.m6.INITIALIZE_WALLET,"Wallet Initialization Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/initwallet",F),(0,_.of)({type:P.pg.VOID})))))))),this.unlockWallet=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.UNLOCK_WALLET_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UNLOCK_WALLET})),this.httpClient.post(this.CHILD_API_URL+p.NZ.WALLET_API+"/wallet/unlockwallet",{wallet_password:N.payload.pwd}).pipe((0,D.U)(F=>(this.logger.info(F),this.logger.info("Successfully Unlocked!"),this.sessionService.setItem("lndUnlocked","true"),this.store.dispatch((0,M.uO)({payload:P.m6.UNLOCK_WALLET})),this.store.dispatch((0,M.ac)({payload:P.m6.WAIT_SYNC_NODE})),setTimeout(()=>{this.store.dispatch((0,M.uO)({payload:P.m6.WAIT_SYNC_NODE})),this.store.dispatch((0,z.sQ)({payload:{loadPage:"HOME"}}))},5e3),{type:P.pg.VOID})),(0,u.K)(F=>(this.handleErrorWithAlert("UnlockWallet",P.m6.UNLOCK_WALLET,"Unlock Wallet Failed",this.CHILD_API_URL+p.NZ.WALLET_API+"/unlockwallet",F),(0,_.of)({type:P.pg.VOID}))))))),{dispatch:!1}),this.peerLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.PEER_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_NODE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_NODE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("Lookup",P.m6.SEARCHING_NODE,"Peer Lookup Failed",this.CHILD_API_URL+p.NZ.NETWORK_API+"/node/"+N.payload,F),(0,_.of)({type:P.pg.VOID})))))))),this.channelLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.CHANNEL_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.NETWORK_API+"/edge/"+N.payload.channelID).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:N.payload.uiMessage})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.handleErrorWithAlert("Lookup",N.payload.uiMessage,"Channel Lookup Failed",this.CHILD_API_URL+p.NZ.NETWORK_API+"/edge/"+N.payload.channelID,F),(0,_.of)({type:P.pg.VOID})))))))),this.invoiceLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.INVOICE_LOOKUP_LND),(0,E.z)(N=>{this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_INVOICE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}}));let F=this.CHILD_API_URL+p.NZ.INVOICES_API+"/lookup";return F=N.payload.paymentAddress&&""!==N.payload.paymentAddress?F+"?payment_addr="+N.payload.paymentAddress:F+"?payment_hash="+N.payload.paymentHash,this.httpClient.get(F).pipe((0,D.U)(J=>(this.logger.info(J),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_INVOICE})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.aL)({payload:J})),{type:P.uR.SET_LOOKUP_LND,payload:J})),(0,u.K)(J=>(this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.ERROR}})),this.handleErrorWithoutAlert("Lookup",P.m6.SEARCHING_INVOICE,"Invoice Lookup Failed",J),N.payload.openSnackBar&&this.store.dispatch((0,M.jW)({payload:{message:"Invoice Refresh Failed.",type:"ERROR"}})),(0,_.of)({type:P.uR.SET_LOOKUP_LND,payload:{error:J}}))))}))),this.paymentLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.PAYMENT_LOOKUP_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.SEARCHING_PAYMENT})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"/lookup/"+N.payload).pipe((0,D.U)(F=>(this.logger.info(F),this.store.dispatch((0,M.uO)({payload:P.m6.SEARCHING_PAYMENT})),this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.COMPLETED}})),this.store.dispatch((0,z.qY)({payload:F})),{type:P.uR.SET_LOOKUP_LND,payload:F})),(0,u.K)(F=>(this.store.dispatch((0,z.PC)({payload:{action:"Lookup",status:P.Bn.ERROR}})),this.handleErrorWithoutAlert("Lookup",P.m6.SEARCHING_PAYMENT,"Payment Lookup Failed",F),(0,_.of)({type:P.uR.SET_LOOKUP_LND,payload:{error:F}})))))))),this.setLookup=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_LOOKUP_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.getRestoreChannelList=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.RESTORE_CHANNELS_LIST_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannelsList",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API+"/restore/list").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"RestoreChannelsList",status:P.Bn.COMPLETED}})),{type:P.uR.SET_RESTORE_CHANNELS_LIST_LND,payload:N||{all_restore_exists:!1,files:[]}})),(0,u.K)(N=>(this.handleErrorWithAlert("RestoreChannelsList",P.m6.NO_SPINNER,"Restore Channels List Failed",this.CHILD_API_URL+p.NZ.CHANNELS_BACKUP_API,N),(0,_.of)({type:P.pg.VOID})))))))),this.setRestoreChannelList=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SET_RESTORE_CHANNELS_LIST_LND),(0,D.U)(N=>(this.logger.info(N.payload),N.payload))),{dispatch:!1}),this.allLightningTransactionsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.GET_ALL_LIGHTNING_TRANSATIONS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchLightningTransactions",status:P.Bn.INITIATED}})),this.httpClient.get(this.CHILD_API_URL+p.NZ.PAYMENTS_API+"/alltransactions").pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchLightningTransactions",status:P.Bn.COMPLETED}})),{type:P.uR.SET_ALL_LIGHTNING_TRANSATIONS_LND,payload:N})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchLightningTransactions",P.m6.NO_SPINNER,"Fetching All Lightning Transaction Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.pageSettingsFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.FETCH_PAGE_SETTINGS_LND),(0,E.z)(()=>(this.store.dispatch((0,z.PC)({payload:{action:"FetchPageSettings",status:P.Bn.INITIATED}})),this.httpClient.get(p.NZ.PAGE_SETTINGS_API).pipe((0,D.U)(N=>(this.logger.info(N),this.store.dispatch((0,z.PC)({payload:{action:"FetchPageSettings",status:P.Bn.COMPLETED}})),this.invoicesPageSize=(N&&Object.keys(N).length>0?N.find(F=>"transactions"===F.pageId)?.tables.find(F=>"invoices"===F.tableId):P.gK.find(F=>"transactions"===F.pageId)?.tables.find(F=>"invoices"===F.tableId)).recordsPerPage,this.paymentsPageSize=(N&&Object.keys(N).length>0?N.find(F=>"transactions"===F.pageId)?.tables.find(F=>"payments"===F.tableId):P.gK.find(F=>"transactions"===F.pageId)?.tables.find(F=>"payments"===F.tableId)).recordsPerPage,this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}})),{type:P.uR.SET_PAGE_SETTINGS_LND,payload:N||[]})),(0,u.K)(N=>(this.handleErrorWithoutAlert("FetchPageSettings",P.m6.NO_SPINNER,"Fetching Page Settings Failed.",N),(0,_.of)({type:P.pg.VOID})))))))),this.savePageSettings=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(P.uR.SAVE_PAGE_SETTINGS_LND),(0,E.z)(N=>(this.store.dispatch((0,M.ac)({payload:P.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,z.PC)({payload:{action:"SavePageSettings",status:P.Bn.INITIATED}})),this.httpClient.post(p.NZ.PAGE_SETTINGS_API,N.payload).pipe((0,D.U)(F=>{this.logger.info(F),this.store.dispatch((0,z.PC)({payload:{action:"SavePageSettings",status:P.Bn.COMPLETED}})),this.store.dispatch((0,M.uO)({payload:P.m6.UPDATE_PAGE_SETTINGS})),this.store.dispatch((0,M.jW)({payload:"Page Layout Updated Successfully!"}));const J=(F.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"invoices"===ke.tableId)||P.gK.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"invoices"===ke.tableId)).recordsPerPage,Fe=(F.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"payments"===ke.tableId)||P.gK.find(ke=>"transactions"===ke.pageId)?.tables.find(ke=>"payments"===ke.tableId)).recordsPerPage;return J!==this.invoicesPageSize&&(this.invoicesPageSize=J,this.store.dispatch((0,z.WM)({payload:{num_max_invoices:this.invoicesPageSize,reversed:!0}}))),Fe!==this.paymentsPageSize&&(this.paymentsPageSize=Fe),{type:P.uR.SET_PAGE_SETTINGS_LND,payload:F||[]}}),(0,u.K)(F=>(this.handleErrorWithAlert("SavePageSettings",P.m6.UPDATE_PAGE_SETTINGS,"Page Settings Update Failed.",p.NZ.PAGE_SETTINGS_API,F),(0,_.of)({type:P.pg.VOID})))))))),this.store.select(I.yA).pipe((0,s.R)(this.unSubs[0])).subscribe(N=>{N.FetchInfo.status!==P.Bn.COMPLETED&&N.FetchInfo.status!==P.Bn.ERROR||N.FetchFees.status!==P.Bn.COMPLETED&&N.FetchFees.status!==P.Bn.ERROR||N.FetchBalanceBlockchain.status!==P.Bn.COMPLETED&&N.FetchBalanceBlockchain.status!==P.Bn.ERROR||N.FetchAllChannels.status!==P.Bn.COMPLETED&&N.FetchAllChannels.status!==P.Bn.ERROR||N.FetchPendingChannels.status!==P.Bn.COMPLETED&&N.FetchPendingChannels.status!==P.Bn.ERROR||this.flgInitialized||(this.store.dispatch((0,M.uO)({payload:P.m6.INITALIZE_NODE_DATA})),this.flgInitialized=!0)}),this.wsService.lndWSMessages.pipe((0,s.R)(this.unSubs[1])).subscribe(N=>{if(this.logger.info("Received new message from the service: "+JSON.stringify(N)),N)if(N.type===P.g8.INVOICE)this.logger.info(N),N&&N.result&&N.result.payment_request&&this.store.dispatch((0,z.aL)({payload:N.result}));else this.logger.info("Received Event from WS: "+JSON.stringify(N))})}initializeRemainingData(n,o){this.sessionService.setItem("lndUnlocked","true");const h={identity_pubkey:n.identity_pubkey,alias:n.alias,testnet:n.testnet,chains:n.chains,uris:n.uris,version:n.version?n.version.split(" ")[0]:""};this.store.dispatch((0,M.ac)({payload:P.m6.INITALIZE_NODE_DATA})),this.store.dispatch((0,M._V)({payload:h}));let d=this.location.path();d.includes("/cln/")?d=d?.replace("/cln/","/lnd/"):d.includes("/ecl/")&&(d=d?.replace("/ecl/","/lnd/")),(d.includes("/unlock")||d.includes("/login")||d.includes("/error")||""===d||"HOME"===o||d.includes("?access-key="))&&(d="/lnd/home"),this.router.navigate([d]),this.store.dispatch((0,z.wD)()),this.store.dispatch((0,z.Bl)()),this.store.dispatch((0,z.UR)()),this.store.dispatch((0,z.Z7)()),this.store.dispatch((0,z.Zh)()),this.store.dispatch((0,z.$W)()),this.store.dispatch((0,z.Rv)()),this.store.dispatch((0,z.SN)()),this.store.dispatch((0,z.cQ)({payload:{max_payments:1e5,reversed:!0}}))}handleErrorWithoutAlert(n,o,h,d){this.logger.error("ERROR IN: "+n+"\n"+JSON.stringify(d)),401===d.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.kS)()),this.store.dispatch((0,M.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,M.uO)({payload:o})),this.store.dispatch((0,z.PC)({payload:{action:n,status:P.Bn.ERROR,statusCode:d.status.toString(),message:this.commonService.extractErrorMessage(d,h)}})))}handleErrorWithAlert(n,o,h,d,y){if(this.logger.error(y),401===y.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,M.ts)()),this.store.dispatch((0,M.kS)()),this.store.dispatch((0,M.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,M.uO)({payload:o}));const L=this.commonService.extractErrorMessage(y);this.store.dispatch((0,M.qR)({payload:{data:{type:"ERROR",alertTitle:h,message:{code:y.status,message:L,URL:d},component:A.H}}})),this.store.dispatch((0,z.PC)({payload:{action:n,status:P.Bn.ERROR,statusCode:y.status.toString(),message:L,URL:d}}))}}ngOnDestroy(){this.unSubs.forEach(n=>{n.next(null),n.complete()})}static#e=this.\u0275fac=function(o){return new(o||ue)(W.LFG(e.eX),W.LFG(Z.eN),W.LFG(j.yh),W.LFG(ae.mQ),W.LFG(re.v),W.LFG(pe.m),W.LFG(le.uw),W.LFG(ve.F0),W.LFG(de.d),W.LFG($.Ye))};static#t=this.\u0275prov=W.Yz7({token:ue,factory:ue.\u0275fac})}},6529:(Ve,X,m)=>{"use strict";m.d(X,{$k:()=>_,Bo:()=>k,Ef:()=>M,JG:()=>S,N7:()=>pe,P2:()=>Z,PP:()=>p,Pr:()=>E,Q5:()=>s,T4:()=>re,Wi:()=>A,ZW:()=>z,_f:()=>ve,bx:()=>de,dx:()=>P,l5:()=>le,ni:()=>W,qU:()=>j,yA:()=>u});var e=m(9263);const t=(0,e.ZF)("lnd"),_=(0,e.P1)(t,$=>$.nodeSettings),E=(0,e.P1)(t,$=>({pageSettings:$.pageSettings,apiCallStatus:$.apisCallStatus.FetchPageSettings})),s=(0,e.P1)(t,$=>$.information),u=((0,e.P1)(t,$=>({information:$.information,apiCallStatus:$.apisCallStatus.FetchInfo})),(0,e.P1)(t,$=>$.apisCallStatus)),k=(0,e.P1)(t,$=>({forwardingHistory:$.forwardingHistory,apiCallStatus:$.apisCallStatus.FetchForwardingHistory})),p=(0,e.P1)(t,$=>({listPayments:$.listPayments,apiCallStatus:$.apisCallStatus.FetchPayments})),S=(0,e.P1)(t,$=>({fees:$.fees,apiCallStatus:$.apisCallStatus.FetchFees})),A=(0,e.P1)(t,$=>({peers:$.peers,apiCallStatus:$.apisCallStatus.FetchPeers})),P=(0,e.P1)(t,$=>({transactions:$.transactions,apiCallStatus:$.apisCallStatus.FetchTransactions})),M=(0,e.P1)(t,$=>({listInvoices:$.listInvoices,apiCallStatus:$.apisCallStatus.FetchInvoices})),z=(0,e.P1)(t,$=>({channels:$.channels,channelsSummary:$.channelsSummary,lightningBalance:$.lightningBalance,apiCallStatus:$.apisCallStatus.FetchAllChannels})),W=((0,e.P1)(t,$=>({channelsSummary:$.channelsSummary,pendingChannels:$.pendingChannels,closedChannels:$.closedChannels,apiCallStatus:$.apisCallStatus.FetchAllChannels})),(0,e.P1)(t,$=>({pendingChannels:$.pendingChannels,pendingChannelsSummary:$.pendingChannelsSummary,apiCallStatus:$.apisCallStatus.FetchPendingChannels}))),Z=(0,e.P1)(t,$=>({closedChannels:$.closedChannels,apiCallStatus:$.apisCallStatus.FetchClosedChannels})),j=(0,e.P1)(t,$=>({blockchainBalance:$.blockchainBalance,apiCallStatus:$.apisCallStatus.FetchBalanceBlockchain})),re=((0,e.P1)(t,$=>({lightningBalance:$.lightningBalance,apiCallStatus:$.apisCallStatus.FetchAllChannels})),(0,e.P1)(t,$=>({utxos:$.utxos,apiCallStatus:$.apisCallStatus.FetchUTXOs}))),pe=(0,e.P1)(t,$=>({networkInfo:$.networkInfo,apiCallStatus:$.apisCallStatus.FetchNetwork})),le=(0,e.P1)(t,$=>({allLightningTransactions:$.allLightningTransactions,apiCallStatus:$.apisCallStatus.FetchLightningTransactions})),ve=(0,e.P1)(t,$=>({channels:$.channels,pendingChannels:$.pendingChannels,closedChannels:$.closedChannels})),de=(0,e.P1)(t,$=>({information:$.information,nodeSettings:$.nodeSettings,apiCallStatus:$.apisCallStatus.FetchInfo}))},8627:(Ve,X,m)=>{"use strict";m.d(X,{v:()=>Oe});var e=m(640),t=m(9306),_=m(253),E=m(8951),s=m(7731),D=m(6529),u=m(2560),k=m(5043),p=m(62),S=m(930),A=m(9263),P=m(4666),M=m(3505),z=m(6722),I=m(3704),W=m(4522),Z=m(2156),j=m(3012),ae=m(7822),re=m(1528),pe=m(1708),le=m(6896),ve=m(6021),de=m(6895),$=m(3390);const ue=["scrollContainer"];function w(Re,oe){if(1&Re&&u._UZ(0,"qr-code",33),2&Re){const pt=u.oxw();u.Q6J("value",null==pt.invoice?null:pt.invoice.payment_request)("size",pt.qrWidth)("errorCorrectionLevel","L")}}function n(Re,oe){1&Re&&(u.TgZ(0,"span",34),u._uU(1,"N/A"),u.qZA())}function o(Re,oe){if(1&Re&&u._UZ(0,"qr-code",33),2&Re){const pt=u.oxw();u.Q6J("value",null==pt.invoice?null:pt.invoice.payment_request)("size",pt.qrWidth)("errorCorrectionLevel","L")}}function h(Re,oe){1&Re&&(u.TgZ(0,"span",35),u._uU(1,"QR Code Not Applicable"),u.qZA())}function d(Re,oe){1&Re&&u._UZ(0,"mat-divider",22),2&Re&&u.Q6J("inset",!0)}function y(Re,oe){1&Re&&(u.ynx(0),u._uU(1," (zero amount) "),u.BQk())}function L(Re,oe){1&Re&&u._UZ(0,"span",41)}const B=function(){return[]};function v(Re,oe){if(1&Re&&(u.TgZ(0,"div",37)(1,"div",38)(2,"span",39),u._uU(3),u.ALo(4,"number"),u.qZA(),u.YNc(5,L,1,0,"span",40),u.qZA()()),2&Re){const pt=u.oxw(2);u.xp6(3),u.hij("",u.lcZ(4,2,null==pt.invoice?null:pt.invoice.amt_paid_sat)," Sats"),u.xp6(2),u.Q6J("ngForOf",u.DdM(4,B).constructor(35))}}function a(Re,oe){if(1&Re&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"number"),u.qZA()),2&Re){const pt=u.oxw(2);u.xp6(1),u.hij("",u.lcZ(2,1,null==pt.invoice?null:pt.invoice.amt_paid_sat)," Sats")}}function C(Re,oe){if(1&Re&&(u.ynx(0),u.YNc(1,v,6,5,"div",36),u.YNc(2,a,3,3,"div",21),u.BQk()),2&Re){const pt=u.oxw();u.xp6(1),u.Q6J("ngIf",pt.flgInvoicePaid),u.xp6(1),u.Q6J("ngIf",!pt.flgInvoicePaid)}}function N(Re,oe){1&Re&&(u.TgZ(0,"span"),u._uU(1,"-"),u.qZA())}function F(Re,oe){1&Re&&u._UZ(0,"mat-spinner",43),2&Re&&u.Q6J("diameter",20)}function J(Re,oe){if(1&Re&&(u.ynx(0),u.YNc(1,N,2,0,"span",21),u.YNc(2,F,1,1,"mat-spinner",42),u.BQk()),2&Re){const pt=u.oxw();u.xp6(1),u.Q6J("ngIf","OPEN"!==(null==pt.invoice?null:pt.invoice.state)||!pt.flgVersionCompatible),u.xp6(1),u.Q6J("ngIf","OPEN"===(null==pt.invoice?null:pt.invoice.state)&&pt.flgVersionCompatible)}}function Fe(Re,oe){1&Re&&u.GkF(0)}function ke(Re,oe){if(1&Re&&(u.TgZ(0,"div"),u.YNc(1,Fe,1,0,"ng-container",44),u.qZA()),2&Re){u.oxw();const pt=u.MAs(79);u.xp6(1),u.Q6J("ngTemplateOutlet",pt)}}function Ge(Re,oe){if(1&Re){const pt=u.EpF();u.TgZ(0,"div",45)(1,"button",46),u.NdJ("click",function(){u.CHM(pt);const Ct=u.oxw();return u.KtG(Ct.onScrollDown())}),u.TgZ(2,"mat-icon",47),u._uU(3,"arrow_downward"),u.qZA()()()}}function je(Re,oe){1&Re&&(u.TgZ(0,"p"),u._uU(1,"Show Advanced"),u.qZA())}function We(Re,oe){1&Re&&(u.TgZ(0,"p"),u._uU(1,"Hide Advanced"),u.qZA())}function be(Re,oe){if(1&Re){const pt=u.EpF();u.TgZ(0,"button",48),u.NdJ("copied",function(Ct){u.CHM(pt);const un=u.oxw();return u.KtG(un.onCopyPayment(Ct))}),u._uU(1),u.qZA()}if(2&Re){const pt=u.oxw();u.Q6J("payload",null==pt.invoice?null:pt.invoice.payment_request),u.xp6(1),u.Oqu(pt.screenSize===pt.screenSizeEnum.XS?"Copy Payment":"Copy Payment Request")}}function Ye(Re,oe){if(1&Re){const pt=u.EpF();u.TgZ(0,"button",49),u.NdJ("click",function(){u.CHM(pt);const Ct=u.oxw();return u.KtG(Ct.onClose())}),u._uU(1,"OK"),u.qZA()}}const Ie=function(Re){return{"mr-0":Re}};function ge(Re,oe){if(1&Re&&u._UZ(0,"span",64),2&Re){const pt=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,pt.screenSize===pt.screenSizeEnum.XS))}}function et(Re,oe){if(1&Re&&u._UZ(0,"span",65),2&Re){const pt=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,pt.screenSize===pt.screenSizeEnum.XS))}}function ut(Re,oe){if(1&Re&&u._UZ(0,"span",66),2&Re){const pt=u.oxw(4);u.Q6J("ngClass",u.VKq(1,Ie,pt.screenSize===pt.screenSizeEnum.XS))}}function Le(Re,oe){if(1&Re&&(u.TgZ(0,"div",53)(1,"div",58)(2,"span",59),u.YNc(3,ge,1,3,"span",60),u.YNc(4,et,1,3,"span",61),u.YNc(5,ut,1,3,"span",62),u._uU(6),u.qZA(),u.TgZ(7,"span",63),u._uU(8),u.ALo(9,"number"),u.qZA()(),u._UZ(10,"mat-divider",22),u.qZA()),2&Re){const pt=oe.$implicit,it=u.oxw(3);u.xp6(3),u.Q6J("ngIf","SETTLED"===pt.state),u.xp6(1),u.Q6J("ngIf","ACCEPTED"===pt.state),u.xp6(1),u.Q6J("ngIf","CANCELED"===pt.state),u.xp6(1),u.hij(" ",pt.chan_id," "),u.xp6(2),u.Oqu(u.xi3(9,6,+pt.amt_msat/1e3||0,it.getDecimalFormat(pt))),u.xp6(2),u.Q6J("inset",!0)}}function De(Re,oe){if(1&Re){const pt=u.EpF();u.TgZ(0,"div",17)(1,"mat-expansion-panel",51),u.NdJ("opened",function(){u.CHM(pt);const Ct=u.oxw(2);return u.KtG(Ct.flgOpened=!0)})("closed",function(){u.CHM(pt);const Ct=u.oxw(2);return u.KtG(Ct.onExpansionClosed())}),u.TgZ(2,"mat-expansion-panel-header")(3,"mat-panel-title")(4,"h4",52),u._uU(5,"HTLCs"),u.qZA()()(),u.TgZ(6,"div",53)(7,"div",54)(8,"span",55),u._uU(9,"Channel ID"),u.qZA(),u.TgZ(10,"span",56),u._uU(11,"Amount (Sats)"),u.qZA()(),u._UZ(12,"mat-divider",22),u.YNc(13,Le,11,9,"div",57),u.qZA()()()}if(2&Re){const pt=u.oxw(2);u.xp6(12),u.Q6J("inset",!0),u.xp6(1),u.Q6J("ngForOf",null==pt.invoice?null:pt.invoice.htlcs)}}function ne(Re,oe){1&Re&&u._UZ(0,"mat-divider",22),2&Re&&u.Q6J("inset",!0)}function fe(Re,oe){if(1&Re&&(u._UZ(0,"mat-divider",22),u.TgZ(1,"div",17)(2,"div",23)(3,"h4",19),u._uU(4,"Preimage"),u.qZA(),u.TgZ(5,"span",24),u._uU(6),u.qZA()()(),u._UZ(7,"mat-divider",22),u.TgZ(8,"div",17)(9,"div",18)(10,"h4",19),u._uU(11,"State"),u.qZA(),u.TgZ(12,"span",24),u._uU(13),u.qZA()(),u.TgZ(14,"div",18)(15,"h4",19),u._uU(16,"Expiry"),u.qZA(),u.TgZ(17,"span",24),u._uU(18),u.ALo(19,"date"),u.qZA()()(),u._UZ(20,"mat-divider",22),u.TgZ(21,"div",17)(22,"div",18)(23,"h4",19),u._uU(24,"Private Routing Hints"),u.qZA(),u.TgZ(25,"span",24),u._uU(26),u.qZA()(),u.TgZ(27,"div",18)(28,"h4",19),u._uU(29,"AMP Invoice"),u.qZA(),u.TgZ(30,"span",24),u._uU(31),u.qZA()()(),u._UZ(32,"mat-divider",22),u.YNc(33,De,14,2,"div",50),u.YNc(34,ne,1,1,"mat-divider",14)),2&Re){const pt=u.oxw();u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==pt.invoice?null:pt.invoice.r_preimage)||"-"),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null==pt.invoice?null:pt.invoice.state),u.xp6(5),u.Oqu(u.xi3(19,11,1e3*(+(null==pt.invoice?null:pt.invoice.creation_date)+ +(null==pt.invoice?null:pt.invoice.expiry)),"dd/MMM/y HH:mm")),u.xp6(2),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null!=pt.invoice&&pt.invoice.private?"Yes":"No"),u.xp6(5),u.Oqu(null!=pt.invoice&&pt.invoice.is_amp?"Yes":"No"),u.xp6(1),u.Q6J("inset",!0),u.xp6(1),u.Q6J("ngIf",(null==pt.invoice?null:pt.invoice.htlcs)&&(null==pt.invoice?null:pt.invoice.htlcs.length)>0),u.xp6(1),u.Q6J("ngIf",(null==pt.invoice?null:pt.invoice.htlcs)&&(null==pt.invoice?null:pt.invoice.htlcs.length)>0)}}const ee=function(Re){return{"display-none":Re}},H=function(Re){return{"xs-scroll-y":Re}},q=function(Re){return{"h-50":Re}};class Oe{constructor(oe,pt,it,Ct,un,Nt){this.dialogRef=oe,this.data=pt,this.logger=it,this.commonService=Ct,this.snackBar=un,this.store=Nt,this.faReceipt=t.dLy,this.showAdvanced=!1,this.newlyAdded=!1,this.invoice=null,this.qrWidth=240,this.screenSize="",this.screenSizeEnum=s.cu,this.flgOpened=!1,this.flgInvoicePaid=!1,this.flgVersionCompatible=!0,this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}set container(oe){oe&&(this.scrollContainer=oe)}ngOnInit(){this.invoice=JSON.parse(JSON.stringify(this.data.invoice)),this.newlyAdded=!!this.data.newlyAdded,this.screenSize=this.commonService.getScreenSize(),this.screenSize===s.cu.XS&&(this.qrWidth=220),this.store.select(D.Q5).pipe((0,E.R)(this.unSubs[0])).subscribe(pt=>{this.flgVersionCompatible=this.commonService.isVersionCompatible(pt.version,"0.11.0")});const oe=JSON.parse(JSON.stringify(this.invoice));this.store.select(D.Ef).pipe((0,E.R)(this.unSubs[1])).subscribe(pt=>{const it=this.invoice?.state,un=(pt.listInvoices.invoices||[]).find(Nt=>Nt.r_hash===oe.r_hash)||null;un&&(this.invoice=un),it!==this.invoice?.state&&"SETTLED"===this.invoice?.state&&(this.flgInvoicePaid=!0,setTimeout(()=>{this.flgInvoicePaid=!1},4e3)),this.logger.info(pt)})}onClose(){this.dialogRef.close(!1)}onShowAdvanced(){this.showAdvanced=!this.showAdvanced,this.flgOpened=!1}onScrollDown(){this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+60}onExpansionClosed(){this.flgOpened=!1,this.scrollContainer.nativeElement.scrollTop=0}onCopyPayment(oe){this.snackBar.open("Payment request copied."),this.logger.info("Copied Text: "+oe)}getDecimalFormat(oe){return oe.amt_msat<1e3?"1.0-4":"1.0-0"}ngOnDestroy(){this.unSubs.forEach(oe=>{oe.next(null),oe.complete()})}static#e=this.\u0275fac=function(pt){return new(pt||Oe)(u.Y36(e.so),u.Y36(e.WI),u.Y36(k.mQ),u.Y36(p.v),u.Y36(S.ux),u.Y36(A.yh))};static#t=this.\u0275cmp=u.Xpm({type:Oe,selectors:[["rtl-invoice-information"]],viewQuery:function(pt,it){if(1&pt&&u.Gf(ue,5),2&pt){let Ct;u.iGM(Ct=u.CRH())&&(it.container=Ct.first)}},decls:80,vars:49,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign.gt-sm","space-between stretch"],["fxFlex","35",1,"modal-qr-code-container","padding-gap-large",3,"fxLayoutAlign","ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["class","font-size-300",4,"ngIf"],["fxLayout","column","fxFlex","65"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large",3,"ngClass"],["fxLayout","column"],["fxFlex","30",1,"modal-qr-code-container","padding-gap",3,"fxLayoutAlign","ngClass"],["class","font-size-120",4,"ngIf"],["class","my-1",3,"inset",4,"ngIf"],[3,"ngClass"],["scrollContainer",""],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[4,"ngIf"],[1,"my-1",3,"inset"],["fxFlex","100"],[1,"overflow-wrap","foreground-secondary-text"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center","fxFlex","100",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],[4,"ngIf","ngIfElse"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click",4,"ngIf"],["advancedBlock",""],[3,"value","size","errorCorrectionLevel"],[1,"font-size-300"],[1,"font-size-120"],["class","invoice-animation-container",4,"ngIf"],[1,"invoice-animation-container"],[1,"invoice-animation-div"],[1,"wiggle"],["class","particles-circle",4,"ngFor","ngForOf"],[1,"particles-circle"],[3,"diameter",4,"ngIf"],[3,"diameter"],[4,"ngTemplateOutlet"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll Down","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","button",3,"click"],["fxLayout","row",4,"ngIf"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",1,"flat-expansion-panel",3,"opened","closed"],["fxLayoutAlign","start center","fxFlex","100",1,"font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100",1,"mt-minus-1"],["fxFlex","60",1,"foreground-secondary-text","font-bold-500"],["fxFlex","40",1,"foreground-secondary-text","font-bold-500"],["fxLayout","column","fxLayoutAlign","start stretch","fxFlex","100",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start","fxFlex","100"],["fxFlex","60",1,"foreground-secondary-text"],["class","dot green","matTooltip","Settled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot yellow","matTooltip","Accepted","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["class","dot red","matTooltip","Cancelled","matTooltipPosition","right",3,"ngClass",4,"ngIf"],["fxFlex","40",1,"foreground-secondary-text"],["matTooltip","Settled","matTooltipPosition","right",1,"dot","green",3,"ngClass"],["matTooltip","Accepted","matTooltipPosition","right",1,"dot","yellow",3,"ngClass"],["matTooltip","Cancelled","matTooltipPosition","right",1,"dot","red",3,"ngClass"]],template:function(pt,it){if(1&pt&&(u.TgZ(0,"div",0)(1,"div",1),u.YNc(2,w,1,3,"qr-code",2),u.YNc(3,n,2,0,"span",3),u.qZA(),u.TgZ(4,"div",4)(5,"mat-card-header",5)(6,"div",6),u._UZ(7,"fa-icon",7),u.TgZ(8,"span",8),u._uU(9),u.qZA()(),u.TgZ(10,"button",9),u.NdJ("click",function(){return it.onClose()}),u._uU(11,"X"),u.qZA()(),u.TgZ(12,"mat-card-content",10)(13,"div",11)(14,"div",12),u.YNc(15,o,1,3,"qr-code",2),u.YNc(16,h,2,0,"span",13),u.qZA(),u.YNc(17,d,1,1,"mat-divider",14),u.TgZ(18,"div",15,16)(20,"div",17)(21,"div",18)(22,"h4",19),u._uU(23),u.qZA(),u.TgZ(24,"span",20),u._uU(25),u.ALo(26,"number"),u.YNc(27,y,2,0,"ng-container",21),u.qZA()(),u.TgZ(28,"div",18)(29,"h4",19),u._uU(30,"Amount Settled"),u.qZA(),u.TgZ(31,"span",20),u.YNc(32,C,3,2,"ng-container",21),u.YNc(33,J,3,2,"ng-container",21),u.qZA()()(),u._UZ(34,"mat-divider",22),u.TgZ(35,"div",17)(36,"div",18)(37,"h4",19),u._uU(38,"Date Created"),u.qZA(),u.TgZ(39,"span",20),u._uU(40),u.ALo(41,"date"),u.qZA()(),u.TgZ(42,"div",18)(43,"h4",19),u._uU(44,"Date Settled"),u.qZA(),u.TgZ(45,"span",20),u._uU(46),u.ALo(47,"date"),u.qZA()()(),u._UZ(48,"mat-divider",22),u.TgZ(49,"div",17)(50,"div",23)(51,"h4",19),u._uU(52,"Memo"),u.qZA(),u.TgZ(53,"span",20),u._uU(54),u.qZA()()(),u._UZ(55,"mat-divider",22),u.TgZ(56,"div",17)(57,"div",23)(58,"h4",19),u._uU(59,"Payment Request"),u.qZA(),u.TgZ(60,"span",24),u._uU(61),u.qZA()()(),u._UZ(62,"mat-divider",22),u.TgZ(63,"div",17)(64,"div",23)(65,"h4",19),u._uU(66,"Payment Hash"),u.qZA(),u.TgZ(67,"span",24),u._uU(68),u.qZA()()(),u.YNc(69,ke,2,1,"div",21),u.qZA()()(),u.YNc(70,Ge,4,0,"div",25),u.TgZ(71,"div",26)(72,"button",27),u.NdJ("click",function(){return it.onShowAdvanced()}),u.YNc(73,je,2,0,"p",28),u.YNc(74,We,2,0,"ng-template",null,29,u.W1O),u.qZA(),u.YNc(76,be,2,2,"button",30),u.YNc(77,Ye,2,0,"button",31),u.qZA()()(),u.YNc(78,fe,35,14,"ng-template",null,32,u.W1O)),2&pt){const Ct=u.MAs(75);u.xp6(1),u.Q6J("fxLayoutAlign",null!=it.invoice&&it.invoice.payment_request&&""!==(null==it.invoice?null:it.invoice.payment_request)?"center start":"center center")("ngClass",u.VKq(41,ee,it.screenSize===it.screenSizeEnum.XS||it.screenSize===it.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request)),u.xp6(4),u.Q6J("icon",it.faReceipt),u.xp6(2),u.Oqu(it.screenSize===it.screenSizeEnum.XS?it.newlyAdded?"Created":"Invoice":it.newlyAdded?"Invoice Created":"Invoice Information"),u.xp6(3),u.Q6J("ngClass",u.VKq(43,H,it.screenSize===it.screenSizeEnum.XS)),u.xp6(2),u.Q6J("fxLayoutAlign",null!=it.invoice&&it.invoice.payment_request&&""!==(null==it.invoice?null:it.invoice.payment_request)?"center start":"center center")("ngClass",u.VKq(45,ee,it.screenSize!==it.screenSizeEnum.XS&&it.screenSize!==it.screenSizeEnum.SM)),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",it.screenSize===it.screenSizeEnum.XS||it.screenSize===it.screenSizeEnum.SM),u.xp6(1),u.Q6J("ngClass",u.VKq(47,q,(null==it.invoice?null:it.invoice.htlcs)&&(null==it.invoice?null:it.invoice.htlcs.length)>0&&it.showAdvanced)),u.xp6(5),u.Oqu(it.screenSize===it.screenSizeEnum.XS?"Amount":"Amount Requested"),u.xp6(2),u.hij("",u.lcZ(26,33,(null==it.invoice?null:it.invoice.value)||0)," Sats"),u.xp6(2),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.value)||"0"===(null==it.invoice?null:it.invoice.value)),u.xp6(5),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.amt_paid_sat)&&"OPEN"!==(null==it.invoice?null:it.invoice.state)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.amt_paid_sat)||"0"===(null==it.invoice?null:it.invoice.amt_paid_sat)),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu(u.xi3(41,35,1e3*(null==it.invoice?null:it.invoice.creation_date),"dd/MMM/y HH:mm")),u.xp6(6),u.Oqu(0!=+(null==it.invoice?null:it.invoice.settle_date)?u.xi3(47,38,1e3*+(null==it.invoice?null:it.invoice.settle_date),"dd/MMM/y HH:mm"):"-"),u.xp6(2),u.Q6J("inset",!0),u.xp6(6),u.Oqu(null==it.invoice?null:it.invoice.memo),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==it.invoice?null:it.invoice.payment_request)||"N/A"),u.xp6(1),u.Q6J("inset",!0),u.xp6(6),u.Oqu((null==it.invoice?null:it.invoice.r_hash)||""),u.xp6(1),u.Q6J("ngIf",it.showAdvanced),u.xp6(1),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.htlcs)&&(null==it.invoice?null:it.invoice.htlcs.length)>0&&it.showAdvanced&&it.flgOpened),u.xp6(3),u.Q6J("ngIf",!it.showAdvanced)("ngIfElse",Ct),u.xp6(3),u.Q6J("ngIf",(null==it.invoice?null:it.invoice.payment_request)&&""!==(null==it.invoice?null:it.invoice.payment_request)),u.xp6(1),u.Q6J("ngIf",!(null!=it.invoice&&it.invoice.payment_request)||""===(null==it.invoice?null:it.invoice.payment_request))}},dependencies:[P.mk,P.sg,P.O5,P.tP,M.BN,z.xw,z.Wh,z.yH,I.oO,W.lW,Z.dk,Z.dn,j.ib,j.yz,j.yK,ae.Hw,re.d,pe.Ou,le.gM,ve.uU,de.y,$.h,P.JJ,P.uU]})}},7772:(Ve,X,m)=>{"use strict";m.d(X,{J:()=>_,_:()=>t});var e=m(4851);const t=[(0,e.X$)("opacityAnimation",[(0,e.eR)(":enter",[(0,e.oB)({opacity:0}),(0,e.jt)("1000ms ease-in",(0,e.oB)({opacity:1}))]),(0,e.eR)(":leave",[(0,e.jt)("0ms",(0,e.oB)({opacity:0}))])])],_=[(0,e.X$)("fadeIn",[(0,e.eR)("void => *",[]),(0,e.eR)("* => void",[]),(0,e.eR)("* => *",[(0,e.jt)(800,(0,e.F4)([(0,e.oB)({opacity:0,transform:"translateY(100%)"}),(0,e.oB)({opacity:1,transform:"translateY(0%)"})]))])])]},8878:(Ve,X,m)=>{"use strict";m.d(X,{g:()=>t});var e=m(4851);const t=(0,e.X$)("routeAnimation",[(0,e.eR)("* => *",[(0,e.IO)(":enter, :leave",(0,e.oB)({position:"fixed",width:"100%"}),{optional:!0}),(0,e.ru)([(0,e.IO)(":enter",[(0,e.oB)({transform:"translateX(100%)"}),(0,e.jt)("1000ms ease-in-out",(0,e.oB)({transform:"translateX(0%)"}))],{optional:!0}),(0,e.IO)(":leave",[(0,e.oB)({transform:"translateX(0%)"}),(0,e.jt)("1000ms ease-in-out",(0,e.oB)({transform:"translateX(-100%)"}))],{optional:!0})])])])},113:(Ve,X,m)=>{"use strict";m.d(X,{l:()=>t});var e=m(4851);const t=[(0,e.X$)("sliderAnimation",[(0,e.SB)("*",(0,e.oB)({transform:"translateX(0)"})),(0,e.eR)("void => backward",[(0,e.oB)({transform:"translateX(-100%"}),(0,e.jt)("800ms")]),(0,e.eR)("backward => void",[(0,e.jt)("0ms",(0,e.oB)({transform:"translateX(100%)"}))]),(0,e.eR)("void => forward",[(0,e.oB)({transform:"translateX(100%"}),(0,e.jt)("800ms")]),(0,e.eR)("forward => void",[(0,e.jt)("0ms",(0,e.oB)({transform:"translateX(-100%)"}))])])]},1786:(Ve,X,m)=>{"use strict";m.d(X,{H:()=>A});var e=m(640),t=m(2560),_=m(5043),E=m(4666),s=m(6722),D=m(4522),u=m(2156),k=m(1528),p=m(3390);function S(P,M){if(1&P&&(t.TgZ(0,"p",14),t._uU(1),t.qZA()),2&P){const z=t.oxw();t.xp6(1),t.Oqu(z.data.titleMessage)}}class A{constructor(M,z,I){this.dialogRef=M,this.data=z,this.logger=I,this.errorMessage=""}ngOnInit(){this.errorMessage=this.data.message&&this.data.message.message&&"object"==typeof this.data.message.message?JSON.stringify(this.data.message.message):this.data.message&&this.data.message.message?this.data.message.message:"",!this.data.message&&!this.data.titleMessage&&!this.data.message&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.data.message)}onClose(){this.dialogRef.close(!1)}static#e=this.\u0275fac=function(z){return new(z||A)(t.Y36(e.so),t.Y36(e.WI),t.Y36(_.mQ))};static#t=this.\u0275cmp=t.Xpm({type:A,selectors:[["rtl-error-message"]],decls:29,vars:6,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large","error-alert-block"],["fxLayout","column"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],[1,"word-break"],["fxLayout","row","fxLayoutAlign","end center"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","start center",1,"pb-1"]],template:function(z,I){1&z&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return I.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"div",7),t.YNc(10,S,2,1,"p",8),t.TgZ(11,"h4",9),t._uU(12,"Error Code"),t.qZA(),t.TgZ(13,"span"),t._uU(14),t.qZA(),t._UZ(15,"mat-divider",10),t.TgZ(16,"h4",9),t._uU(17,"Error Message"),t.qZA(),t.TgZ(18,"span",11),t._uU(19),t.qZA(),t._UZ(20,"mat-divider",10),t.TgZ(21,"h4",9),t._uU(22,"API URL"),t.qZA(),t.TgZ(23,"span",11),t._uU(24),t.qZA(),t._UZ(25,"mat-divider",10),t.TgZ(26,"div",12)(27,"button",13),t._uU(28,"OK"),t.qZA()()()()()()),2&z&&(t.xp6(5),t.Oqu(I.data.alertTitle||"ERROR"),t.xp6(5),t.Q6J("ngIf",I.data.titleMessage),t.xp6(4),t.Oqu(I.data.message.code),t.xp6(5),t.Oqu(I.errorMessage),t.xp6(5),t.Oqu(I.data.message.URL),t.xp6(3),t.Q6J("mat-dialog-close",!1))},dependencies:[E.O5,s.xw,s.Wh,s.yH,e.ZT,D.lW,u.dk,u.dn,k.d,p.h],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]})}},2615:(Ve,X,m)=>{"use strict";m.d(X,{a:()=>Yn});var e=m(2508),t=m(253),_=m(8951),E=m(640),s=m(9306),D=m(7772),u=m(7731),k=m(6529),p=m(2560),S=m(9263),A=m(1419),P=m(4666),M=m(5043),z=m(3547),I=m(62),W=m(6722),Z=m(3704),j=m(4522),ae=m(2156),re=m(3012),pe=m(7822),le=m(5074),ve=m(1267),de=m(1294),$=m(2922),ue=m(4714),w=m(6896),n=m(4193),o=m(3390),h=m(1528);function d(Mt,Ze){1&Mt&&p.GkF(0)}function y(Mt,Ze){1&Mt&&p.GkF(0)}const L=function(Mt){return{"h-5":Mt}};function B(Mt,Ze){if(1&Mt&&(p.TgZ(0,"mat-expansion-panel",3)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",4),p._uU(4),p.ALo(5,"number"),p.qZA()()(),p.YNc(6,y,1,0,"ng-container",0),p.qZA()),2&Mt){const Be=p.oxw(),ht=p.MAs(4);p.Q6J("expanded",Be.panelExpanded)("ngClass",p.VKq(7,L,!Be.flgShowPanel)),p.xp6(4),p.AsE("Quote for ",Be.termCaption," amount (",p.lcZ(5,5,Be.quote.amount)," Sats)"),p.xp6(2),p.Q6J("ngTemplateOutlet",ht)}}function v(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",19)(1,"h4",8),p._uU(2," Prepay Amount (Sats) "),p.TgZ(3,"mat-icon",20),p._uU(4,"info_outline"),p.qZA()(),p.TgZ(5,"span",10),p._uU(6),p.ALo(7,"number"),p.qZA()()),2&Mt){const Be=p.oxw(2);p.xp6(6),p.Oqu(p.lcZ(7,1,null==Be.quote?null:Be.quote.prepay_amt_sat))}}function a(Mt,Ze){1&Mt&&p._UZ(0,"mat-divider",13)}function C(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",6)(1,"div",21)(2,"h4",8),p._uU(3," Swap Server Node Pubkey "),p.TgZ(4,"mat-icon",22),p._uU(5,"info_outline"),p.qZA()(),p.TgZ(6,"span",10),p._uU(7),p.qZA()()()),2&Mt){const Be=p.oxw(2);p.xp6(7),p.Oqu(null==Be.quote?null:Be.quote.swap_payment_dest)}}function N(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",5)(1,"div",6)(2,"div",7)(3,"h4",8),p._uU(4," Swap Fee (Sats) "),p.TgZ(5,"mat-icon",9),p._uU(6,"info_outline"),p.qZA()(),p.TgZ(7,"span",10),p._uU(8),p.ALo(9,"number"),p.qZA()(),p.TgZ(10,"div",7)(11,"h4",8),p._uU(12),p.TgZ(13,"mat-icon",11),p._uU(14,"info_outline"),p.qZA()(),p.TgZ(15,"span",10),p._uU(16),p.ALo(17,"number"),p.qZA()(),p.YNc(18,v,8,3,"div",12),p.qZA(),p._UZ(19,"mat-divider",13),p.TgZ(20,"div",6)(21,"div",14)(22,"h4",8),p._uU(23," Max Off-chain Swap Routing Fee (Sats) "),p.TgZ(24,"mat-icon",15),p._uU(25,"info_outline"),p.qZA()(),p.TgZ(26,"span",10),p._uU(27),p.ALo(28,"number"),p.qZA()(),p.TgZ(29,"div",14)(30,"h4",8),p._uU(31," Max Off-chain Prepay Routing Fee (Sats) "),p.TgZ(32,"mat-icon",16),p._uU(33,"info_outline"),p.qZA()(),p.TgZ(34,"span",10),p._uU(35,"36"),p.qZA()()(),p.YNc(36,a,1,0,"mat-divider",17),p.YNc(37,C,8,1,"div",18),p.qZA()),2&Mt){const Be=p.oxw();p.xp6(2),p.Q6J("fxFlex",null!=Be.quote&&Be.quote.prepay_amt_sat?"30":"50"),p.xp6(6),p.Oqu(p.lcZ(9,9,null==Be.quote?null:Be.quote.swap_fee_sat)),p.xp6(2),p.Q6J("fxFlex",null!=Be.quote&&Be.quote.prepay_amt_sat?"35":"50"),p.xp6(2),p.hij(" ",null!=Be.quote&&Be.quote.htlc_sweep_fee_sat?"HTLC Sweep Fee (Sats)":null!=Be.quote&&Be.quote.htlc_publish_fee_sat?"HTLC Publish Fee (Sats)":""," "),p.xp6(4),p.Oqu(p.lcZ(17,11,null!=Be.quote&&Be.quote.htlc_sweep_fee_sat?Be.quote.htlc_sweep_fee_sat:null!=Be.quote&&Be.quote.htlc_publish_fee_sat?Be.quote.htlc_publish_fee_sat:0)),p.xp6(2),p.Q6J("ngIf",null==Be.quote?null:Be.quote.prepay_amt_sat),p.xp6(9),p.Oqu(p.lcZ(28,13,(null==Be.quote?null:Be.quote.amount)*((null!=Be.quote&&Be.quote.off_chain_swap_routing_fee_percentage?null==Be.quote?null:Be.quote.off_chain_swap_routing_fee_percentage:2)/100))),p.xp6(9),p.Q6J("ngIf",""!==(null==Be.quote?null:Be.quote.swap_payment_dest)),p.xp6(1),p.Q6J("ngIf",""!==(null==Be.quote?null:Be.quote.swap_payment_dest))}}class F{constructor(){this.quote={},this.termCaption="",this.showPanel=!0,this.panelExpanded=!1,this.flgShowPanel=!1}ngOnInit(){setTimeout(()=>{this.flgShowPanel=!0},1200)}static#e=this.\u0275fac=function(Be){return new(Be||F)};static#t=this.\u0275cmp=p.Xpm({type:F,selectors:[["rtl-loop-quote"]],inputs:{quote:"quote",termCaption:"termCaption",showPanel:"showPanel",panelExpanded:"panelExpanded"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["informationBlock",""],["quoteDetailsBlock",""],["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded","ngClass"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],[3,"fxFlex"],["fxLayoutAlign","start center",1,"font-bold-500"],["matTooltip","Estimated fee charged by the loop server for the swap",1,"info-icon","info-icon-text"],[1,"foreground-secondary-text"],["matTooltip","An estimate of the on-chain fee that needs to be paid to sweep the HTLC",1,"info-icon","info-icon-text"],["fxFlex","35",4,"ngIf"],[1,"w-100","my-1"],["fxFlex","50"],["matTooltip","Maximum off-chain fee that may be paid for routing the payment amount to the server",1,"info-icon","info-icon-text"],["matTooltip","Maximum off-chain fee that may be paid for routing the pre-payment amount to the server","matTooltipPosition","before",1,"info-icon","info-icon-text"],["class","w-100 my-1",4,"ngIf"],["fxLayout","row",4,"ngIf"],["fxFlex","35"],["matTooltip","The part of the swap fee that is requested as a prepayment","matTooltipPosition","before",1,"info-icon","info-icon-text"],["fxFlex","100"],["matTooltip","The node pubkey, where the swap payments will be sent",1,"info-icon","info-icon-text"]],template:function(Be,ht){if(1&Be&&(p.YNc(0,d,1,0,"ng-container",0),p.YNc(1,B,7,9,"ng-template",null,1,p.W1O),p.YNc(3,N,38,15,"ng-template",null,2,p.W1O)),2&Be){const se=p.MAs(2),Ae=p.MAs(4);p.Q6J("ngTemplateOutlet",ht.showPanel?se:Ae)}},dependencies:[P.mk,P.O5,P.tP,W.xw,W.Wh,W.yH,Z.oO,re.ib,re.yz,re.yK,pe.Hw,h.d,w.gM,P.JJ]})}function J(Mt,Ze){1&Mt&&p.GkF(0)}function Fe(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",3)(1,"span",4),p._uU(2),p.qZA()()),2&Mt){const Be=p.oxw();p.xp6(2),p.Oqu(null!=Be.loopStatus&&Be.loopStatus.error?null==Be.loopStatus?null:Be.loopStatus.error:"Unknown Error.")}}function ke(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",3)(1,"div",5)(2,"div",6)(3,"h4",7),p._uU(4,"ID"),p.qZA(),p.TgZ(5,"span",4),p._uU(6),p.qZA()()(),p._UZ(7,"mat-divider",8),p.TgZ(8,"div",5)(9,"div",6)(10,"h4",7),p._uU(11,"HTLC Address"),p.qZA(),p.TgZ(12,"span",4),p._uU(13),p.qZA()()()()),2&Mt){const Be=p.oxw();p.xp6(6),p.Oqu(null==Be.loopStatus?null:Be.loopStatus.id_bytes),p.xp6(7),p.Oqu(null==Be.loopStatus?null:Be.loopStatus.htlc_address)}}class Ge{constructor(){}static#e=this.\u0275fac=function(Be){return new(Be||Ge)};static#t=this.\u0275cmp=p.Xpm({type:Ge,selectors:[["rtl-loop-status"]],inputs:{loopStatus:"loopStatus"},decls:5,vars:1,consts:[[4,"ngTemplateOutlet"],["loopFailedBlock",""],["loopSuccessfulBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"]],template:function(Be,ht){if(1&Be&&(p.YNc(0,J,1,0,"ng-container",0),p.YNc(1,Fe,3,1,"ng-template",null,1,p.W1O),p.YNc(3,ke,14,2,"ng-template",null,2,p.W1O)),2&Be){const se=p.MAs(2),Ae=p.MAs(4);p.Q6J("ngTemplateOutlet",null!=ht.loopStatus&&ht.loopStatus.error?se:Ae)}},dependencies:[P.tP,W.xw,W.Wh,W.yH,h.d]})}var je=m(113);function We(Mt,Ze){1&Mt&&p.GkF(0)}const be=function(Mt,Ze){return{"small-svg":Mt,"large-svg":Ze}};function Ye(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",7)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",9)(6,"g",10)(7,"g",11),p._UZ(8,"circle",12)(9,"path",13),p.qZA(),p.TgZ(10,"g",14),p._UZ(11,"ellipse",15)(12,"ellipse",16)(13,"rect",17)(14,"rect",18)(15,"rect",19)(16,"rect",20)(17,"rect",21)(18,"rect",22)(19,"rect",23)(20,"rect",24)(21,"rect",25)(22,"rect",26)(23,"rect",27)(24,"rect",28)(25,"rect",29),p.qZA()()()()(),p.kcU(),p.TgZ(26,"div",30)(27,"mat-card-title"),p._uU(28,"Loop In explained."),p.qZA()(),p.TgZ(29,"div",31)(30,"mat-card-subtitle",32),p._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,be,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function Ie(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",33)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",38)(11,"g",39)(12,"g",40),p._UZ(13,"rect",41)(14,"rect",42)(15,"rect",43)(16,"circle",44)(17,"rect",45)(18,"rect",46)(19,"circle",47)(20,"rect",48)(21,"rect",49)(22,"rect",50)(23,"rect",51)(24,"rect",52)(25,"circle",53)(26,"circle",54)(27,"circle",55),p.qZA(),p.TgZ(28,"g",56)(29,"g",57)(30,"g",58),p._UZ(31,"path",59)(32,"rect",60)(33,"polygon",61),p.TgZ(34,"g",62),p._UZ(35,"path",63),p.qZA(),p._UZ(36,"rect",64)(37,"rect",65)(38,"rect",66)(39,"rect",67)(40,"rect",68)(41,"rect",69)(42,"rect",70)(43,"path",71)(44,"path",72),p.qZA(),p.TgZ(45,"g",73),p._UZ(46,"path",74)(47,"path",75)(48,"path",76)(49,"path",77)(50,"path",78)(51,"path",79)(52,"path",80)(53,"path",81)(54,"path",82)(55,"path",83)(56,"path",84)(57,"circle",85)(58,"circle",86),p.qZA(),p._UZ(59,"path",87),p.qZA()()()()()(),p.kcU(),p.TgZ(60,"div",30)(61,"mat-card-title"),p._uU(62,"Step 1: Deciding to Loop In"),p.qZA()(),p.TgZ(63,"div",31)(64,"mat-card-subtitle",32),p._uU(65," Your outgoing capacity is depleted and you want to regain it without opening new channels. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,be,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ge(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",88)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",89),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",90)(10,"g",91)(11,"g",92)(12,"g",93)(13,"g",94),p._UZ(14,"circle",95)(15,"path",96),p.TgZ(16,"g",97),p._UZ(17,"polygon",98)(18,"polygon",99)(19,"path",100),p.qZA(),p.TgZ(20,"g",101),p._UZ(21,"polygon",102)(22,"path",103)(23,"rect",104)(24,"path",105)(25,"rect",106)(26,"rect",107)(27,"rect",108)(28,"rect",109)(29,"circle",110)(30,"path",111),p.TgZ(31,"g",112)(32,"g",113),p._UZ(33,"g",114),p.qZA(),p._UZ(34,"g",115),p.qZA()()(),p.TgZ(35,"g",116)(36,"g",40),p._UZ(37,"rect",117)(38,"rect",42)(39,"rect",43)(40,"circle",118)(41,"rect",45)(42,"rect",46)(43,"circle",119)(44,"rect",48)(45,"rect",49)(46,"rect",50)(47,"rect",51)(48,"rect",52)(49,"circle",120)(50,"circle",54)(51,"circle",55)(52,"circle",121),p.qZA(),p.TgZ(53,"g",56)(54,"g",57)(55,"g",58),p._UZ(56,"path",59)(57,"rect",60)(58,"polygon",61),p.TgZ(59,"g",122),p._UZ(60,"path",63),p.qZA(),p._UZ(61,"rect",123)(62,"rect",124)(63,"rect",125)(64,"rect",126)(65,"rect",127)(66,"rect",128)(67,"rect",129)(68,"path",130)(69,"path",72),p.qZA(),p.TgZ(70,"g",73),p._UZ(71,"path",131)(72,"path",132)(73,"path",133)(74,"path",134)(75,"path",135)(76,"path",136)(77,"path",80)(78,"path",81)(79,"path",137)(80,"path",83)(81,"path",138)(82,"circle",85)(83,"circle",86),p.qZA(),p._UZ(84,"path",139),p.qZA()()()(),p._UZ(85,"path",140)(86,"path",141),p.qZA()()()(),p.kcU(),p.TgZ(87,"div",30)(88,"mat-card-title"),p._uU(89,"Step 2: Send payment out"),p.qZA()(),p.TgZ(90,"div",31)(91,"mat-card-subtitle",32),p._uU(92," Your node sends funds on-chain to loop server to be swapped with off-chain liquidity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,be,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function et(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",142)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",90)(5,"g",143)(6,"g",144)(7,"g")(8,"g",145)(9,"g",146),p._UZ(10,"circle",12)(11,"path",147),p.qZA(),p.TgZ(12,"g",14),p._UZ(13,"ellipse",148)(14,"ellipse",16)(15,"rect",17)(16,"rect",18)(17,"rect",19)(18,"rect",20)(19,"rect",21)(20,"rect",22)(21,"rect",23)(22,"rect",24)(23,"rect",25)(24,"rect",26)(25,"rect",27)(26,"rect",28)(27,"rect",29),p.qZA()(),p.TgZ(28,"g",149),p._UZ(29,"polygon",150)(30,"polygon",99)(31,"path",151),p.qZA(),p.TgZ(32,"g",152),p._UZ(33,"polygon",102)(34,"path",103)(35,"rect",104)(36,"path",105)(37,"rect",106)(38,"rect",107)(39,"rect",108)(40,"rect",109)(41,"circle",110)(42,"path",111),p.TgZ(43,"g",112)(44,"g",113),p._UZ(45,"g",114),p.qZA(),p._UZ(46,"g",115),p.qZA()()(),p._UZ(47,"path",153),p.qZA()()()(),p.kcU(),p.TgZ(48,"div",30)(49,"mat-card-title"),p._uU(50,"Step 3: Recieve Funds Off-chain"),p.qZA()(),p.TgZ(51,"div",31)(52,"mat-card-subtitle",32),p._uU(53," Loop server sends equivalent funds off-chain to your node by making a lightning payment to you. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,be,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ut(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",154)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",90)(10,"g",155)(11,"g",156)(12,"g",157)(13,"g",158)(14,"g",40),p._UZ(15,"rect",159)(16,"rect",160)(17,"rect",161)(18,"circle",162)(19,"rect",163)(20,"rect",164)(21,"circle",165)(22,"rect",166)(23,"rect",167)(24,"rect",168)(25,"rect",169)(26,"circle",170)(27,"circle",171),p.qZA(),p.TgZ(28,"g",172),p._UZ(29,"path",173)(30,"rect",174)(31,"polygon",175)(32,"circle",176)(33,"path",177)(34,"rect",178)(35,"rect",179)(36,"rect",180)(37,"rect",181)(38,"rect",182)(39,"rect",183)(40,"rect",184)(41,"path",185)(42,"path",186),p.qZA(),p._UZ(43,"path",187),p.qZA()(),p._UZ(44,"circle",188),p.qZA()()()(),p.kcU(),p.TgZ(45,"div",30)(46,"mat-card-title"),p._uU(47,"Done!"),p.qZA()(),p.TgZ(48,"div",31)(49,"mat-card-subtitle",32),p._uU(50," You send the payment on-chain from your wallet and also move remote balance to the local side of the node, gaining outgoing capacity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,be,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}class Le{constructor(Ze){this.commonService=Ze,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new p.vpe,this.screenSize="",this.screenSizeEnum=u.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(Ze){2===Ze.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===Ze.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(Be){return new(Be||Le)(p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Le,selectors:[["rtl-loop-in-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopIn_Step02","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(542.000000, 210.000000)"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"],["fxFlex","30","viewBox","0 0 364 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","Loopv0.3","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopIn_Step03","transform","translate(-1127.000000, -164.000000)"],["id","LoopIn_Step03","transform","translate(1127.000000, 164.000000)"],["id","Group-21"],["id","Group-35","transform","translate(107.000000, 10.000000)"],["id","Oval","fill-rule","nonzero","cx","214.487742","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M232.082742,28.5000036 C236.446821,28.5000036 239.999928,25.1343958 239.999928,21.0000215 C239.999928,16.8656472 236.446821,13.5000393 232.082742,13.5000393 C228.98433,13.5000393 226.560889,15.4359631 224.999964,17.1843872 C223.43904,15.4359631 221.015599,13.5000393 217.917187,13.5000393 C213.553107,13.5000393 210,16.8656472 210,21.0000215 C210,25.1343958 213.553107,28.5000036 217.917187,28.5000036 C221.015599,28.5000036 223.43904,26.5640798 224.999964,24.8156557 C226.560889,26.5640798 228.98433,28.5000036 232.082742,28.5000036 Z M217.917187,24.0000143 C216.032807,24.0000143 214.499989,22.6546959 214.499989,21.0000286 C214.499989,19.3453471 216.032807,18.0000286 217.917187,18.0000286 C219.707771,18.0000286 221.357776,19.6921938 222.323426,21.0000286 C221.36716,22.2937501 219.703102,24.0000143 217.917187,24.0000143 Z M232.082742,24.0000143 C230.292157,24.0000143 228.642152,22.3078492 227.676502,21.0000286 C228.632768,19.7062929 230.296827,18.0000286 232.082742,18.0000286 C233.967121,18.0000286 235.499939,19.3453471 235.499939,21.0000286 C235.499939,22.6546959 233.967121,24.0000143 232.082742,24.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(0.000000, 64.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-20"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-20"],["id","Group-43","transform","translate(152.000000, 35.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["id","LoopIn_Step03","fill-rule","nonzero"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-10"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","15.8607624","r","7.93434243"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.35996418",1,"fill-color-31"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-20"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-4"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-20"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-20"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-16"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-9"],["d","M93.2292414,91.9116485 L93.2292414,89.7922708 C93.647506,89.8022089 94.0558324,89.8022089 94.4442517,89.8022089 L94.4442517,91.9116485 L95.9779294,91.9116485 L95.9779294,89.7623948 C98.5473303,89.6229527 100.264986,88.975618 100.494057,86.5555973 C100.673282,84.6136241 99.757032,83.7471573 98.3030443,83.3986138 C99.1794183,82.9504733 99.7371558,82.1537275 99.6076827,80.8291821 C99.4383337,79.0166511 97.9497787,78.4091306 95.9778985,78.2398742 L95.9778985,75.7301945 L94.4442208,75.7301945 L94.4442208,78.1701531 C94.0458325,78.1701531 93.6375061,78.1800912 93.2292106,78.1900602 L93.2292106,75.7301945 L91.695502,75.7301945 L91.695502,78.2398742 C91.1316227,78.2569109 90.4748746,78.2485777 88.6181777,78.2398742 L88.6181777,79.8731181 C89.8290831,79.8516987 90.4644118,79.7738914 90.6099957,80.5502979 L90.6099957,87.4220333 C90.517559,88.0380413 90.0245427,87.9493391 88.926907,87.9299259 L88.6181777,89.7524258 L89.5798445,89.7528809 C91.4824304,89.7548325 91.6955329,89.7623948 91.6955329,89.7623948 L91.6955329,91.9116485 L93.2292414,91.9116485 Z M93.2591175,83.0400705 L93.2591175,79.9826533 C94.1255534,79.9826533 96.8343964,79.7137998 96.8343964,81.5163618 C96.8343964,83.2392647 94.1255843,83.0400705 93.2591175,83.0400705 Z M93.2591175,87.9398948 L93.2591175,84.5737791 C94.2948407,84.5737791 97.4665153,84.2849568 97.4665153,86.2568678 C97.4665153,88.1589961 94.2948407,87.9398948 93.2591175,87.9398948 Z","id","b","fill-rule","nonzero","transform","translate(94.567271, 83.820921) rotate(14.000000) translate(-94.567271, -83.820921) ",1,"fill-color-9"],["d","M305.611064,96.181454 L305.611064,94.0620763 C306.029328,94.0720144 306.437655,94.0720144 306.826074,94.0720144 L306.826074,96.181454 L308.359752,96.181454 L308.359752,94.0322003 C310.929153,93.8927582 312.646809,93.2454235 312.875879,90.8254028 C313.055104,88.8834296 312.138854,88.0169628 310.684867,87.6684193 C311.561241,87.2202788 312.118978,86.423533 311.989505,85.0989876 C311.820156,83.2864566 310.331601,82.678936 308.359721,82.5096797 L308.359721,80 L306.826043,80 L306.826043,82.4399586 C306.427655,82.4399586 306.019328,82.4498967 305.611033,82.4598657 L305.611033,80 L304.077324,80 L304.077324,82.5096797 C303.513445,82.5267164 302.856697,82.5183832 301,82.5096797 L301,84.1429236 C302.210905,84.1215042 302.846234,84.0436969 302.991818,84.8201034 L302.991818,91.6918387 C302.899381,92.3078468 302.406365,92.2191446 301.308729,92.1997314 L301,94.0222313 L301.961667,94.0226864 C303.864253,94.024638 304.077355,94.0322003 304.077355,94.0322003 L304.077355,96.181454 L305.611064,96.181454 Z M305.64094,87.309876 L305.64094,84.2524587 C306.507376,84.2524587 309.216219,83.9836053 309.216219,85.7861673 C309.216219,87.5090702 306.507407,87.309876 305.64094,87.309876 Z M305.64094,92.2097003 L305.64094,88.8435846 C306.676663,88.8435846 309.848338,88.5547623 309.848338,90.5266733 C309.848338,92.4288016 306.676663,92.2097003 305.64094,92.2097003 Z","id","b","fill-rule","nonzero","transform","translate(306.949093, 88.090727) rotate(14.000000) translate(-306.949093, -88.090727) ",1,"fill-color-26"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step04","transform","translate(-1799.000000, -756.000000)"],["id","LoopIn_Step04","transform","translate(1799.000000, 756.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["d","M225.805162,92.2474279 C226.071703,92.2474279 226.325569,92.1077892 226.465207,91.8666288 L232.050261,82.2197185 C232.345374,81.7151473 231.980441,81.0773212 231.393376,81.0773212 L227.731346,81.0773212 L229.083201,76.9583506 C229.210134,76.4759989 228.845202,76 228.346983,76 L223.777394,76 C223.396595,76 223.07291,76.2824384 223.022149,76.6600456 L222.006685,84.2760274 C221.946379,84.7329987 222.301798,85.1391782 222.76193,85.1391782 L226.528674,85.1391782 L225.065752,91.3112968 C224.951525,91.7936485 225.319618,92.2474279 225.805162,92.2474279 Z","id","b","fill-rule","nonzero","transform","translate(227.077378, 84.123714) rotate(14.000000) translate(-227.077378, -84.123714) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopIn_Step05","transform","translate(-2386.000000, -764.000000)","fill-rule","nonzero"],["id","LoopIn_Step05","transform","translate(2386.000000, 764.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"]],template:function(Be,ht){if(1&Be&&(p.YNc(0,We,1,0,"ng-container",0),p.YNc(1,Ye,32,5,"ng-template",null,1,p.W1O),p.YNc(3,Ie,66,5,"ng-template",null,2,p.W1O),p.YNc(5,ge,93,5,"ng-template",null,3,p.W1O),p.YNc(7,et,54,5,"ng-template",null,4,p.W1O),p.YNc(9,ut,51,5,"ng-template",null,5,p.W1O)),2&Be){const se=p.MAs(2),Ae=p.MAs(4),ft=p.MAs(6),Lt=p.MAs(8),nn=p.MAs(10);p.Q6J("ngTemplateOutlet",1===ht.stepNumber?se:2===ht.stepNumber?Ae:3===ht.stepNumber?ft:4===ht.stepNumber?Lt:nn)}},dependencies:[P.mk,P.tP,W.xw,W.Wh,W.yH,Z.oO,ae.n5,ae.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[je.l]}})}function De(Mt,Ze){1&Mt&&p.GkF(0)}const ne=function(Mt,Ze){return{"small-svg":Mt,"large-svg":Ze}};function fe(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",7)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",9)(6,"g",10)(7,"g",11),p._UZ(8,"circle",12)(9,"path",13),p.qZA(),p.TgZ(10,"g",14),p._UZ(11,"ellipse",15)(12,"ellipse",16)(13,"rect",17)(14,"rect",18)(15,"rect",19)(16,"rect",20)(17,"rect",21)(18,"rect",22)(19,"rect",23)(20,"rect",24)(21,"rect",25)(22,"rect",26)(23,"rect",27)(24,"rect",28)(25,"rect",29),p.qZA()()()()(),p.kcU(),p.TgZ(26,"div",30)(27,"mat-card-title"),p._uU(28,"Loop Out explained."),p.qZA()(),p.TgZ(29,"div",31)(30,"mat-card-subtitle",32),p._uU(31," Lightning Loop is a non custodial service offered by Lightning Labs to bridge on-chain and off-chain Bitcoin using Submarine swaps. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,ne,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function ee(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",33)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",38)(11,"g",39)(12,"g",40)(13,"g",41)(14,"g",42),p._UZ(15,"rect",43)(16,"rect",44)(17,"rect",45)(18,"circle",46)(19,"rect",47)(20,"rect",48)(21,"circle",49)(22,"rect",50)(23,"rect",51)(24,"rect",52)(25,"rect",53)(26,"circle",54)(27,"circle",55),p.qZA(),p.TgZ(28,"g",56),p._UZ(29,"path",57)(30,"rect",58)(31,"polygon",59)(32,"circle",60)(33,"path",61)(34,"rect",62)(35,"rect",63)(36,"rect",64)(37,"rect",65)(38,"rect",66)(39,"rect",67)(40,"rect",68)(41,"path",69)(42,"path",70),p.qZA(),p._UZ(43,"path",71),p.qZA()(),p._UZ(44,"circle",72),p.qZA()()()(),p.kcU(),p.TgZ(45,"div",30)(46,"mat-card-title"),p._uU(47,"Step 1: Deciding to Loop Out"),p.qZA()(),p.TgZ(48,"div",31)(49,"mat-card-subtitle",32),p._uU(50," You have a channel with a local balance amount and you want to gain inbound liquidity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,ne,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function H(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",73)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",74),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",75)(11,"g",76),p._UZ(12,"circle",77)(13,"path",78),p.TgZ(14,"g",79),p._UZ(15,"polygon",80)(16,"polygon",81)(17,"path",82),p.qZA(),p.TgZ(18,"g",83),p._UZ(19,"polygon",84)(20,"path",85)(21,"rect",86)(22,"path",87)(23,"rect",88)(24,"rect",89)(25,"rect",90)(26,"rect",91)(27,"circle",92)(28,"path",93),p.TgZ(29,"g",94)(30,"g",95),p._UZ(31,"g",96),p.qZA(),p._UZ(32,"g",97),p.qZA(),p._UZ(33,"path",98),p.qZA(),p.TgZ(34,"g",99)(35,"g",41)(36,"g",42),p._UZ(37,"rect",43)(38,"rect",44)(39,"rect",45)(40,"circle",46)(41,"rect",47)(42,"rect",48)(43,"circle",49)(44,"rect",50)(45,"rect",51)(46,"rect",52)(47,"rect",53)(48,"circle",100)(49,"circle",54)(50,"circle",55)(51,"circle",101),p.qZA(),p.TgZ(52,"g",56),p._UZ(53,"path",57)(54,"rect",102)(55,"polygon",103)(56,"circle",104)(57,"path",61)(58,"rect",105)(59,"rect",106)(60,"rect",107)(61,"rect",108)(62,"rect",109)(63,"rect",110)(64,"rect",68)(65,"path",69)(66,"path",70),p.qZA(),p._UZ(67,"path",111),p.qZA()()()()()(),p.kcU(),p.TgZ(68,"div",30)(69,"mat-card-title"),p._uU(70,"Step 2: Send lightning payment"),p.qZA()(),p.TgZ(71,"div",31)(72,"mat-card-subtitle",32),p._uU(73," Your node pays a lightning invoice for the amount requested via the loop service. This moves the local balance, for the amount paid, to the remote side of the channel. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,ne,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function q(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",112)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"g",8)(5,"g",113)(6,"g",114)(7,"g",115)(8,"g",116),p._UZ(9,"circle",12)(10,"path",117),p.qZA(),p.TgZ(11,"g",14),p._UZ(12,"ellipse",118)(13,"ellipse",16)(14,"rect",17)(15,"rect",18)(16,"rect",19)(17,"rect",20)(18,"rect",21)(19,"rect",22)(20,"rect",23)(21,"rect",24)(22,"rect",25)(23,"rect",26)(24,"rect",27)(25,"rect",28)(26,"rect",29),p.qZA()(),p.TgZ(27,"g",119),p._UZ(28,"polygon",80)(29,"polygon",120)(30,"path",82),p.qZA(),p.TgZ(31,"g",121),p._UZ(32,"polygon",84)(33,"path",85)(34,"rect",86)(35,"path",87)(36,"rect",88)(37,"rect",89)(38,"rect",90)(39,"rect",91)(40,"circle",122)(41,"path",93),p.TgZ(42,"g",94)(43,"g",95),p._UZ(44,"g",96),p.qZA(),p._UZ(45,"g",97),p.qZA(),p._UZ(46,"path",123),p.qZA()()()()(),p.kcU(),p.TgZ(47,"div",30)(48,"mat-card-title"),p._uU(49,"Step 3: Receive funds back"),p.qZA()(),p.TgZ(50,"div",31)(51,"mat-card-subtitle",32),p._uU(52," Loop service then sends you a payment on-chain for the amount same as the lightning payment minus the fee. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,ne,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}function Oe(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",6),p.NdJ("swipe",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.onSwipe(se))}),p.O4$(),p.TgZ(1,"svg",124)(2,"desc"),p._uU(3,"Created with Sketch."),p.qZA(),p.TgZ(4,"defs")(5,"linearGradient",34),p._UZ(6,"stop",35)(7,"stop",36)(8,"stop",37),p.qZA()(),p.TgZ(9,"g",8)(10,"g",125)(11,"g",126)(12,"g",42),p._UZ(13,"rect",127)(14,"rect",128)(15,"rect",129)(16,"circle",130)(17,"rect",131)(18,"rect",132)(19,"circle",133)(20,"rect",134)(21,"rect",135)(22,"rect",136)(23,"rect",137)(24,"rect",138)(25,"circle",139)(26,"circle",140)(27,"circle",141),p.qZA(),p.TgZ(28,"g",142)(29,"g",143)(30,"g",144),p._UZ(31,"path",145)(32,"rect",146)(33,"polygon",147),p.TgZ(34,"g",148),p._UZ(35,"path",149),p.qZA(),p._UZ(36,"rect",150)(37,"rect",151)(38,"rect",152)(39,"rect",153)(40,"rect",154)(41,"rect",155)(42,"rect",156)(43,"path",157)(44,"path",158),p.qZA(),p.TgZ(45,"g",159),p._UZ(46,"path",160)(47,"path",161)(48,"path",162)(49,"path",163)(50,"path",164)(51,"path",165)(52,"path",166)(53,"path",167)(54,"path",168)(55,"path",169)(56,"path",170)(57,"circle",171)(58,"circle",172),p.qZA(),p._UZ(59,"path",173),p.qZA()()()()()(),p.kcU(),p.TgZ(60,"div",30)(61,"mat-card-title"),p._uU(62,"Done!"),p.qZA()(),p.TgZ(63,"div",31)(64,"mat-card-subtitle",32),p._uU(65," Final settlement occurs when your node sweeps the on-chain payment and the loop server settles the lightning invoice. You receive the payment on-chain in your wallet and also move local balance to the remote side of the channel, gaining inbound capacity. "),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@sliderAnimation",Be.animationDirection),p.xp6(1),p.Q6J("ngClass",p.WLB(2,ne,Be.screenSize===Be.screenSizeEnum.XS,Be.screenSize!==Be.screenSizeEnum.XS))}}class Re{constructor(Ze){this.commonService=Ze,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new p.vpe,this.screenSize="",this.screenSizeEnum=u.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(Ze){2===Ze.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===Ze.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(Be){return new(Be||Re)(p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Re,selectors:[["rtl-loop-out-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["loopStepBlock1",""],["loopStepBlock2",""],["loopStepBlock3",""],["loopStepBlock4",""],["loopStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",3,"swipe"],["fxFlex","30","viewBox","0 0 108 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","Loopv0.2","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","LoopOut_Step01","transform","translate(-594.000000, -215.000000)","fill-rule","nonzero"],["id","Loop_Step01","transform","translate(594.000000, 215.000000)"],["id","Group-16","transform","translate(23.000000, 0.000000)"],["id","Oval","cx","42.4877419","cy","42.4877419","r","42.4877419",1,"fill-color-2"],["d","M56.0827415,28.5000036 C60.4468211,28.5000036 63.9999285,25.1343958 63.9999285,21.0000215 C63.9999285,16.8656472 60.4468211,13.5000393 56.0827415,13.5000393 C52.9843297,13.5000393 50.5608889,15.4359631 48.9999642,17.1843872 C47.4390396,15.4359631 45.0155987,13.5000393 41.9171869,13.5000393 C37.5531074,13.5000393 34,16.8656472 34,21.0000215 C34,25.1343958 37.5531074,28.5000036 41.9171869,28.5000036 C45.0155987,28.5000036 47.4390396,26.5640798 48.9999642,24.8156557 C50.5608889,26.5640798 52.9843297,28.5000036 56.0827415,28.5000036 Z M41.9171869,24.0000143 C40.0328073,24.0000143 38.4999893,22.6546959 38.4999893,21.0000286 C38.4999893,19.3453471 40.0328073,18.0000286 41.9171869,18.0000286 C43.707771,18.0000286 45.3577763,19.6921938 46.3234264,21.0000286 C45.3671604,22.2937501 43.7031019,24.0000143 41.9171869,24.0000143 Z M56.0827415,24.0000143 C54.2921574,24.0000143 52.6421522,22.3078492 51.676502,21.0000286 C52.6327681,19.7062929 54.2968266,18.0000286 56.0827415,18.0000286 C57.9671212,18.0000286 59.4999392,19.3453471 59.4999392,21.0000286 C59.4999392,22.6546959 57.9671212,24.0000143 56.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Group-21","transform","translate(0.000000, 36.000000)"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-7"],["id","Oval","opacity","0.1","cx","48.644129","cy","75.1589677","rx","40.8402581","ry","5.55600756",1,"fill-color-27"],["id","Rectangle","x","25.2325161","y","6.09470968","width","54.1068387","height","62.9512258",1,"fill-color-26"],["id","Rectangle","x","20","y","1.24344979e-14","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","20","y","26","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","19.7698065","y","52.9179355","width","65.0322581","height","22.3710968",1,"fill-color-19"],["id","Rectangle","x","67.6335484","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","3.75354839","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","30.0265806","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","67.6335484","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","73.6165161","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["id","Rectangle","x","79.5994839","y","56.2996129","width","4.16206452","height","4.16206452",1,"fill-color-green-light"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","viewBox","0 0 205 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","0%","id","linearGradient-1"],["stop-color","#808080","stop-opacity","0.25","offset","0%"],["stop-color","#808080","stop-opacity","0.12","offset","54%"],["stop-color","#808080","stop-opacity","0.1","offset","100%"],["id","LoopOut_Step02","transform","translate(-540.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step02","transform","translate(540.000000, 210.000000)"],["id","Illustration_Step02"],["id","Group-31"],["id","Group-2"],["id","Rectangle","x","0","y","0","width","90.1490688","height","100.616012",1,"fill-color-10"],["id","Rectangle","x","1.48932403","y","67.1775068","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","82.4918815","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","34.712875","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","42.1244006","width","51.2","height","16.0118784",1,"fill-color-primary-lighter"],["id","Oval","cx","76.317438","cy","50.0294431","r","8.15070413",1,"fill-color-primary-darker"],["id","Rectangle","x","1.48932403","y","2.2482432","width","87.1682273","height","31.2472904",1,"fill-color-1"],["id","Rectangle","x","8.64422093","y","74.5890324","width","24","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","42.1244006","width","36.8","height","16.0118784",1,"fill-color-primary"],["id","Rectangle","x","8.64422093","y","9.66196224","width","51.2","height","16.0118784",1,"fill-color-primary"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","50.2465905","r","8.78679245"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","82.7090289","r","8.78679245"],["id","Group","transform","translate(60.115627, 35.744427)"],["d","M133.318807,1.04548939 L82.5936439,1.04548939 L82.5936439,0 L59.5928852,0 L59.5928852,1.04548939 L8.65861943,1.04548939 C7.74861523,1.04548887 6.87588228,1.4069864 6.23241214,2.05045654 C5.58894199,2.69392669 5.22744498,3.56665964 5.22744498,4.47666384 L5.22744498,73.9350108 C5.22744498,74.8450173 5.5889387,75.7177532 6.23240879,76.3612266 C6.87587888,77.0047 7.74861298,77.3662028 8.65861943,77.3662028 L133.318807,77.3662028 C135.213795,77.3662028 136.749981,75.8300048 136.749981,73.9350167 L136.749981,4.47666384 C136.749981,3.56665964 136.388484,2.69392669 135.745014,2.05045654 C135.101544,1.4069864 134.228811,1.04548887 133.318807,1.04548939 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-25"],["id","Path","opacity","0.257273065","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-24"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-25"],["d","M31.5848237,68.0274261 C25.669241,68.0274261 20.3361447,64.4639649 18.0723494,58.9986791 C15.808554,53.5333932 17.0598755,47.2425772 21.2428244,43.0596288 C25.4257733,38.8766804 31.7165895,37.6253598 37.1818751,39.8891559 C42.6471607,42.1529519 46.2106203,47.4860487 46.2106203,53.4016314 C46.2014756,61.4754447 39.6586369,68.0182825 31.5848237,68.0274261 L31.5848237,68.0274261 Z M31.5848237,38.967022 C23.612809,38.967022 17.1502143,45.4296168 17.1502143,53.4016314 C17.1502143,61.3736461 23.612809,67.8362409 31.5848237,67.8362409 C39.5568383,67.8362409 46.0194331,61.3736461 46.0194331,53.4016314 C46.010427,45.4333502 39.5531049,38.9760281 31.5848237,38.967022 L31.5848237,38.967022 Z","id","Shape",1,"fill-color-primary"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-13"],["id","Rectangle","x","119.89017","y","8.50924347","width","4.7751428","height","4.7751428",1,"fill-color-6"],["d","M126.882344,15.5014148 L121.083948,15.5014148 L121.083948,9.70301894 L126.882344,9.70301894 L126.882344,15.5014148 Z M121.336061,15.2493191 L126.63024,15.2493191 L126.63024,9.95513218 L121.336061,9.95513218 L121.336061,15.2493191 Z","id","Shape",1,"fill-color-19"],["d","M140.184525,74.8570201 L128.246669,74.8570201 L128.246669,73.9969059 C128.246671,73.9516751 128.228704,73.9082962 128.196721,73.876313 C128.164738,73.8443298 128.12136,73.826364 128.076129,73.826364 L123.98315,73.826364 C123.937919,73.826364 123.89454,73.8443305 123.862558,73.8763135 C123.830575,73.9082966 123.812608,73.9516752 123.81261,73.9969059 L123.81261,74.8570201 L121.254497,74.8570201 L121.254497,73.9969059 C121.254499,73.9516752 121.236532,73.9082966 121.204549,73.8763135 C121.172566,73.8443305 121.129188,73.826364 121.083957,73.826364 L116.990978,73.826364 C116.945747,73.826364 116.902368,73.8443297 116.870385,73.8763129 C116.838402,73.908296 116.820435,73.9516749 116.820436,73.9969059 L116.820436,74.8570201 L114.262326,74.8570201 L114.262326,73.9969059 C114.262328,73.9516749 114.24436,73.908296 114.212377,73.8763129 C114.180394,73.8443297 114.137015,73.826364 114.091784,73.826364 L109.998805,73.826364 C109.953574,73.826364 109.910196,73.8443305 109.878213,73.8763135 C109.84623,73.9082966 109.828263,73.9516752 109.828265,73.9969059 L109.828265,74.8570201 L107.270153,74.8570201 L107.270153,73.9969059 C107.270154,73.9516752 107.252187,73.9082966 107.220204,73.8763135 C107.188222,73.8443305 107.144843,73.826364 107.099613,73.826364 L103.00663,73.826364 C102.961399,73.826364 102.91802,73.8443298 102.886037,73.876313 C102.854054,73.9082962 102.836088,73.9516751 102.83609,73.9969059 L102.83609,74.8570201 L100.277981,74.8570201 L100.277981,73.9969059 C100.277983,73.9516749 100.260016,73.908296 100.228032,73.8763129 C100.196049,73.8443297 100.15267,73.826364 100.107439,73.826364 L96.0144621,73.826364 C95.9692311,73.826364 95.9258522,73.8443297 95.8938691,73.8763129 C95.861886,73.908296 95.8439187,73.9516749 95.8439202,73.9969059 L95.8439202,74.8570201 L93.285808,74.8570201 L93.285808,73.9969059 C93.2858095,73.9516752 93.2678425,73.9082966 93.2358598,73.8763135 C93.2038771,73.8443305 93.1604987,73.826364 93.1152681,73.826364 L89.0222888,73.826364 C88.9770581,73.826364 88.9336797,73.8443305 88.901697,73.8763135 C88.8697143,73.9082966 88.8517473,73.9516752 88.8517489,73.9969059 L88.8517489,74.8570201 L86.2936405,74.8570201 L86.2936405,73.9969059 C86.293642,73.9516752 86.2756751,73.9082966 86.2436923,73.8763135 C86.2117096,73.8443305 86.1683312,73.826364 86.1231006,73.826364 L54.061428,73.826364 C54.0161974,73.826364 53.972819,73.8443305 53.9408363,73.8763135 C53.9088536,73.9082966 53.8908866,73.9516752 53.8908881,73.9969059 L53.8908881,74.8570201 L51.3327759,74.8570201 L51.3327759,73.9969059 C51.3327774,73.9516749 51.3148102,73.908296 51.282827,73.8763129 C51.2508439,73.8443297 51.207465,73.826364 51.162234,73.826364 L47.0692664,73.826364 C47.0240354,73.826364 46.9806565,73.8443297 46.9486734,73.8763129 C46.9166903,73.908296 46.898723,73.9516749 46.8987246,73.9969059 L46.8987246,74.8570201 L44.3406025,74.8570201 L44.3406025,73.9969059 C44.3406046,73.9516751 44.3226378,73.9082962 44.290655,73.876313 C44.2586721,73.8443298 44.2152934,73.826364 44.1700626,73.826364 L40.0770834,73.826364 C40.0318527,73.826364 39.9884743,73.8443305 39.9564916,73.8763135 C39.9245089,73.9082966 39.9065419,73.9516752 39.9065435,73.9969059 L39.9065435,74.8570201 L37.3484312,74.8570201 L37.3484312,73.9969059 C37.3484327,73.9516752 37.3304657,73.9082966 37.298483,73.8763135 C37.2665003,73.8443305 37.2231219,73.826364 37.1778913,73.826364 L33.084912,73.826364 C33.039681,73.826364 32.9963021,73.8443297 32.964319,73.8763129 C32.9323358,73.908296 32.9143686,73.9516749 32.9143701,73.9969059 L32.9143701,74.8570201 L30.3562598,74.8570201 L30.3562598,73.9969059 C30.3562614,73.9516749 30.3382941,73.908296 30.306311,73.8763129 C30.2743278,73.8443297 30.2309489,73.826364 30.1857179,73.826364 L26.0927387,73.826364 C26.047508,73.826364 26.0041296,73.8443305 25.9721469,73.8763135 C25.9401642,73.9082966 25.9221972,73.9516752 25.9221988,73.9969059 L25.9221988,74.8570201 L23.3640826,74.8570201 L23.3640826,73.9969059 C23.3640841,73.9516752 23.3461171,73.9082966 23.3141344,73.8763135 C23.2821517,73.8443305 23.2387733,73.826364 23.1935427,73.826364 L19.1005673,73.826364 C19.0553365,73.826364 19.0119578,73.8443298 18.979975,73.876313 C18.9479921,73.9082962 18.9300253,73.9516751 18.9300274,73.9969059 L18.9300274,74.8570201 L16.3719151,74.8570201 L16.3719151,73.9969059 C16.3719167,73.9516749 16.3539494,73.908296 16.3219663,73.8763129 C16.2899831,73.8443297 16.2466042,73.826364 16.2013733,73.826364 L12.1083959,73.826364 C12.0631649,73.826364 12.0197861,73.8443297 11.9878029,73.8763129 C11.9558198,73.908296 11.9378525,73.9516749 11.9378541,73.9969059 L11.9378541,74.8570201 L4.09297732,74.8570201 C1.83248849,74.8570223 0,76.6895106 0,78.9499994 L0,80.8007483 C0,83.061233 1.83249262,84.8937159 4.09297732,84.8937159 L140.184525,84.8937159 C142.44501,84.8937159 144.277504,83.0612333 144.277504,80.8007483 L144.277504,78.9499994 C144.277504,76.6895102 142.445014,74.8570223 140.184525,74.8570201 Z","id","Path",1,"fill-color-20"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-21"],["id","Oval","cx","74.1507041","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["fxFlex","30","viewBox","0 0 373 121","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["x1","50%","y1","100%","x2","50%","y2","8.86848147e-15%","id","linearGradient-1"],["id","LoopOut_Step03","transform","translate(-460.000000, -210.000000)"],["id","Loop_Step03","transform","translate(460.000000, 210.000000)"],["id","Oval","fill-rule","nonzero","cx","330.487742","cy","57.4877419","r","42.4877419",1,"fill-color-2"],["d","M345.082742,43.5000036 C349.446821,43.5000036 352.999928,40.1343958 352.999928,36.0000215 C352.999928,31.8656472 349.446821,28.5000393 345.082742,28.5000393 C341.98433,28.5000393 339.560889,30.4359631 337.999964,32.1843872 C336.43904,30.4359631 334.015599,28.5000393 330.917187,28.5000393 C326.553107,28.5000393 323,31.8656472 323,36.0000215 C323,40.1343958 326.553107,43.5000036 330.917187,43.5000036 C334.015599,43.5000036 336.43904,41.5640798 337.999964,39.8156557 C339.560889,41.5640798 341.98433,43.5000036 345.082742,43.5000036 Z M330.917187,39.0000143 C329.032807,39.0000143 327.499989,37.6546959 327.499989,36.0000286 C327.499989,34.3453471 329.032807,33.0000286 330.917187,33.0000286 C332.707771,33.0000286 334.357776,34.6921938 335.323426,36.0000286 C334.36716,37.2937501 332.703102,39.0000143 330.917187,39.0000143 Z M345.082742,39.0000143 C343.292157,39.0000143 341.642152,37.3078492 340.676502,36.0000286 C341.632768,34.7062929 343.296827,33.0000286 345.082742,33.0000286 C346.967121,33.0000286 348.499939,34.3453471 348.499939,36.0000286 C348.499939,37.6546959 346.967121,39.0000143 345.082742,39.0000143 Z","id","i","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-44","transform","translate(113.000000, 79.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 7.089946) scale(-1, 1) translate(-118.400000, -7.089946) ","points","234.731878 6.60770626 8.52651283e-14 6.60770626 8.52651283e-14 7.57218541 236.8 7.57218541",1,"fill-color-19"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-22"],["d","M120.192,8.96 L105.856,8.96 L105.856,1.86517468e-14 L120.192,1.86517468e-14 L120.192,8.96 Z M106.479304,8.57043501 L119.568696,8.57043501 L119.568696,0.389564988 L106.479304,0.389564988 L106.479304,8.57043501 Z","id","Shape","transform","translate(113.024000, 4.480000) scale(-1, 1) translate(-113.024000, -4.480000) ",1,"fill-color-19"],["id","Group-43","transform","translate(265.000000, 50.000000)"],["id","Path","fill-rule","nonzero","points","-9.84073267e-14 7.36243469 92.3919279 7.36243469 92.3919279 70.3073253 -1.13686838e-13 70.3073253",1,"fill-color-23"],["d","M97.5448374,1.70530257e-13 L6.62592538,1.70530257e-13 C6.01615907,0.000922175294 5.52114394,0.495001701 5.52114394,1.104768 L5.52114394,62.57664 C5.52114394,62.8696481 5.63752746,63.150658 5.84471672,63.3578447 C6.05190598,63.5650315 6.3329173,63.681408 6.62592538,63.681408 L97.5448374,63.681408 C97.8378436,63.681408 98.1188523,63.5650282 98.3260389,63.3578415 C98.5332256,63.1506549 98.6496054,62.8696462 98.6496054,62.57664 L98.6496054,1.104768 C98.6496054,0.495005713 98.1545997,0.000926622272 97.5448374,1.70530257e-13 L97.5448374,1.70530257e-13 Z M97.9130952,62.57664 C97.9130952,62.6744022 97.8747043,62.7682496 97.8055756,62.8373783 C97.736447,62.9065069 97.6425996,62.9448978 97.5448374,62.9448978 L6.62592538,62.9448978 C6.52816341,62.9448978 6.4343164,62.906506 6.3651879,62.8373775 C6.29605941,62.768249 6.25766754,62.674402 6.25766754,62.57664 L6.25766754,1.104768 C6.25766754,0.901512883 6.42267026,0.736512 6.62592538,0.736512 L97.5448374,0.736512 C97.7480931,0.736512 97.9130952,0.901512271 97.9130952,1.104768 L97.9130952,62.57664 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","10.3066764","y","43.4358624","width","41.5947948","height","4.78524211","rx","0.5376",1,"fill-color-19"],["d","M89.8141359,39.3872559 L76.5649839,39.3872559 C76.2719769,39.3872559 75.9909677,39.5036372 75.7837792,39.7108232 C75.5765907,39.9180091 75.4602025,40.1990169 75.4602025,40.4920239 L75.4602025,50.7978159 C75.4602025,51.090824 75.576586,51.3718339 75.7837753,51.5790207 C75.9909645,51.7862074 76.2719759,51.9025839 76.5649839,51.9025839 L89.8141359,51.9025839 C90.107143,51.9025839 90.3881533,51.7862079 90.5953406,51.5790206 C90.8025279,51.3718333 90.9189039,51.090823 90.9189039,50.7978159 L90.9189039,40.4920239 C90.9189039,40.199018 90.8025232,39.9180097 90.5953367,39.7108232 C90.3881502,39.5036367 90.1071419,39.3872559 89.8141359,39.3872559 Z M90.1823938,50.7978159 C90.182087,51.0010717 90.0173917,51.165767 89.8141359,51.1660719 L76.5649839,51.1660719 C76.3617256,51.165767 76.1970256,51.0010743 76.19671,50.7978159 L76.19671,40.4920239 C76.1964064,40.3942603 76.2351088,40.3004129 76.30424,40.2312847 C76.3733712,40.1621565 76.4672203,40.1234582 76.5649839,40.1237661 L89.8141359,40.1237661 C89.9118981,40.1234582 90.0057456,40.162157 90.0748742,40.2312857 C90.1440029,40.3004143 90.1827017,40.3942617 90.1823938,40.4920239 L90.1823938,50.7978159 Z","id","Shape","fill-rule","nonzero",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","41.7652758","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","44.7100416","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","78.6733409","y","47.6548047","width","9.03249715","height","1.86879168","rx","0.5376",1,"fill-color-19"],["id","Rectangle","fill-rule","nonzero","x","11.4109632","y","4.41773875","width","19.1409684","height","8.09810266","rx","0.5376",1,"fill-color-19"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-3"],["d","M50.1798649,51.9764517 C43.6553251,51.9764517 37.7732336,48.0461636 35.2764005,42.0182748 C32.7795674,35.990386 34.1597014,29.0519859 38.773248,24.4384399 C43.3867946,19.824894 50.3251948,18.4447609 56.3530833,20.9415948 C62.3809718,23.4384287 66.3112582,29.3205207 66.3112582,35.8450605 C66.3011721,44.7500015 59.0848059,51.9663668 50.1798649,51.9764517 L50.1798649,51.9764517 Z M50.1798649,19.9245354 C41.3872016,19.9245354 34.2593397,27.0523972 34.2593397,35.8450605 C34.2593397,44.6377237 41.3872016,51.7655856 50.1798649,51.7655856 C58.9725281,51.7655856 66.10039,44.6377237 66.10039,35.8450605 C66.0904567,27.056515 58.9684103,19.9344686 50.1798649,19.9245354 L50.1798649,19.9245354 Z","id","Shape","fill-rule","nonzero",1,"fill-color-primary"],["id","Group-23","transform","translate(5.000000, 0.001193)"],["id","Group-22"],["id","Group","transform","translate(0.378134, 0.000000)"],["id","Group-24","transform","translate(29.048000, 19.712000)"],["d","M46.60483,51.432122 C46.8713708,51.432122 47.1252368,51.2924832 47.2648756,51.0513229 L52.8499289,41.4044125 C53.145042,40.8998413 52.7801095,40.2620153 52.1930443,40.2620153 L48.5310139,40.2620153 L49.8828693,36.1430446 C50.0098023,35.6606929 49.6448699,35.184694 49.1466515,35.184694 L44.5770624,35.184694 C44.1962633,35.184694 43.8725779,35.4671324 43.8218171,35.8447396 L42.8063528,43.4607214 C42.7460473,43.9176927 43.1014659,44.3238722 43.5615982,44.3238722 L47.3283421,44.3238722 L45.8654203,50.4959909 C45.751193,50.9783426 46.1192864,51.432122 46.60483,51.432122 Z","id","b","fill-rule","nonzero","transform","translate(47.877046, 43.308408) rotate(14.000000) translate(-47.877046, -43.308408) ",1,"fill-color-12"],["id","Group-34","fill-rule","nonzero"],["id","Oval","fill","url(#linearGradient-1)","cx","76.317438","cy","17.5648113","r","8.78679245"],["id","Oval","cx","76.317438","cy","17.5648113","r","8.15070413",1,"fill-color-primary"],["id","Rectangle","x","9.82759671","y","7.10932665","width","122.322231","height","69.0022838",1,"fill-color-8"],["id","Path","opacity","0.222721354","points","97.1677755 76.1116475 9.82763376 76.1116475 9.82763376 7.10937149",1,"fill-color-18"],["id","Oval","cx","28.9673627","cy","59.1901502","r","11.7579927",1,"fill-color-8"],["id","Rectangle","x","99.4252759","y","44.3228077","width","11.4262324","height","2.38757043",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","25.733862","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","28.9741379","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","32.2144137","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","35.4546875","width","39.05384","height","1.0232453",1,"fill-color-14"],["id","Rectangle","x","85.6114731","y","38.6949634","width","39.05384","height","1.0232453",1,"fill-color-14"],["d","M88.0406297,103.870828 C88.3071704,103.870828 88.5610365,103.731189 88.7006752,103.490029 L94.2857286,93.8431185 C94.5808417,93.3385473 94.2159092,92.7007212 93.6288439,92.7007212 L89.9668136,92.7007212 L91.318669,88.5817505 C91.445602,88.0993988 91.0806695,87.6234 90.5824512,87.6234 L86.0128621,87.6234 C85.632063,87.6234 85.3083776,87.9058383 85.2576168,88.2834455 L84.2421525,95.8994274 C84.1818469,96.3563987 84.5372656,96.7625782 84.9973979,96.7625782 L88.7641417,96.7625782 L87.30122,102.934697 C87.1869926,103.417048 87.555086,103.870828 88.0406297,103.870828 Z","id","b","transform","translate(89.312846, 95.747114) rotate(14.000000) translate(-89.312846, -95.747114) ",1,"fill-color-12"],["fxFlex","30","viewBox","0 0 278 118","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step04","transform","translate(-503.000000, -212.000000)"],["id","Loop_Step04","transform","translate(503.000000, 212.000000)"],["id","Loop","fill-rule","nonzero"],["id","Group-16","transform","translate(24.000000, 0.000000)"],["d","M55.0827415,28.5000036 C59.4468211,28.5000036 62.9999285,25.1343958 62.9999285,21.0000215 C62.9999285,16.8656472 59.4468211,13.5000393 55.0827415,13.5000393 C51.9843297,13.5000393 49.5608889,15.4359631 47.9999642,17.1843872 C46.4390396,15.4359631 44.0155987,13.5000393 40.9171869,13.5000393 C36.5531074,13.5000393 33,16.8656472 33,21.0000215 C33,25.1343958 36.5531074,28.5000036 40.9171869,28.5000036 C44.0155987,28.5000036 46.4390396,26.5640798 47.9999642,24.8156557 C49.5608889,26.5640798 51.9843297,28.5000036 55.0827415,28.5000036 Z M40.9171869,24.0000143 C39.0328073,24.0000143 37.4999893,22.6546959 37.4999893,21.0000286 C37.4999893,19.3453471 39.0328073,18.0000286 40.9171869,18.0000286 C42.707771,18.0000286 44.3577763,19.6921938 45.3234264,21.0000286 C44.3671604,22.2937501 42.7031019,24.0000143 40.9171869,24.0000143 Z M55.0827415,24.0000143 C53.2921574,24.0000143 51.6421522,22.3078492 50.676502,21.0000286 C51.6327681,19.7062929 53.2968266,18.0000286 55.0827415,18.0000286 C56.9671212,18.0000286 58.4999392,19.3453471 58.4999392,21.0000286 C58.4999392,22.6546959 56.9671212,24.0000143 55.0827415,24.0000143 Z","id","i",1,"fill-color-primary"],["id","Oval","cx","48.644129","cy","75.1589677","rx","48.644129","ry","6.61766437",1,"fill-color-2"],["id","Group-44","transform","translate(27.000000, 69.000000)","fill-rule","nonzero"],["id","Path","transform","translate(118.400000, 8.960000) scale(-1, 1) translate(-118.400000, -8.960000) ","points","113.024 5.376 123.776 5.376 123.776 12.544 113.024 12.544",1,"fill-color-23"],["id","Group-43","transform","translate(179.000000, 40.000000)"],["id","Oval","fill-rule","nonzero","cx","47.2929593","cy","42.2294561","r","12.9683743",1,"fill-color-4"],["d","M46.519593,50.6740439 L46.519593,48.5460252 C46.9395628,48.5560039 47.349554,48.5560039 47.739557,48.5560039 L47.739557,50.6740439 L49.2794877,50.6740439 L49.2794877,48.5160274 C51.8593644,48.3760168 53.5840235,47.7260428 53.8140277,45.2961554 C53.9939838,43.3462645 53.0739982,42.476265 51.6140824,42.1263004 C52.4940295,41.6763328 53.054041,40.8763386 52.92404,39.5463928 C52.7540005,37.7264719 51.2593765,37.1164744 49.2794567,36.9465279 L49.2794567,34.4266159 L47.739526,34.4266159 L47.739526,36.8765226 C47.3395134,36.8765226 46.9295222,36.8865012 46.519562,36.8965108 L46.519562,34.4266159 L44.9796003,34.4266159 L44.9796003,36.9465279 C44.413422,36.9636341 43.7539962,36.9552669 41.8897293,36.9465279 L41.8897293,38.5864308 C43.1055717,38.564924 43.7434908,38.4867995 43.8896683,39.2663716 L43.8896683,46.1661239 C43.7968547,46.7846435 43.3018283,46.6955796 42.1997174,46.6760872 L41.8897293,48.5060178 C44.6975648,48.5060178 44.9796313,48.5160274 44.9796313,48.5160274 L44.9796313,50.6740439 L46.519593,50.6740439 Z M46.5495908,41.7662953 L46.5495908,38.6964125 C47.4195593,38.6964125 50.1394466,38.4264629 50.1394466,40.2363742 C50.1394466,41.9663016 47.4195903,41.7662953 46.5495908,41.7662953 Z M46.5495908,46.6860969 L46.5495908,43.306257 C47.5895368,43.306257 50.7741427,43.0162572 50.7741427,44.9962079 C50.7741427,46.9060914 47.5895368,46.6860969 46.5495908,46.6860969 Z","id","B","fill-rule","nonzero","transform","translate(47.863077, 42.550330) rotate(14.000000) translate(-47.863077, -42.550330) ",1,"fill-color-29"],["fxFlex","30","viewBox","0 0 200 120","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["id","LoopOut_Step05","transform","translate(-542.000000, -210.000000)","fill-rule","nonzero"],["id","Loop_Step05","transform","translate(542.000000, 210.000000)"],["id","Rectangle","x","0","y","0","width","81.4032636","height","90.8547569",1,"fill-color-11"],["id","Rectangle","x","1.34483737","y","60.660286","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","67.352783","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","74.4889377","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","31.345208","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","38.0377051","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Oval","cx","68.9135074","cy","45.1758404","r","7.35996418",1,"fill-color-primary-darker"],["id","Rectangle","x","1.34483737","y","2.03013005","width","78.7116083","height","28.2158368",1,"fill-color-9"],["id","Rectangle","x","7.80560248","y","8.72460769","width","46.2328358","height","14.4584872",1,"fill-color-primary-lighter"],["id","Rectangle","x","7.80560248","y","67.352783","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","38.0377051","width","33.2298507","height","14.4584872",1,"fill-color-primary"],["id","Rectangle","x","7.80560248","y","8.72460769","width","23.1164179","height","14.4584872",1,"fill-color-primary"],["id","Oval","cx","68.9135074","cy","15.8607624","r","7.93434243",1,"fill-color-31"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","45.3719212","r","7.93434243"],["id","Oval","fill","url(#linearGradient-1)","cx","68.9135074","cy","74.6850186","r","7.93434243"],["id","Group-16","transform","translate(55.804478, 34.674627)"],["id","Group-29","transform","translate(0.310627, 0.751284)"],["id","Group"],["d","M132.777455,1.04124409 L82.2582659,1.04124409 L82.2582659,0 L59.3509036,0 L59.3509036,1.04124409 L8.62346042,1.04124409 C7.71715136,1.04124358 6.84796221,1.40127322 6.20710493,2.0421305 C5.56624765,2.68298778 5.20621852,3.55217693 5.20621852,4.45848599 L5.20621852,73.6347918 C5.20621852,74.5411031 5.56624437,75.4102953 6.2071016,76.0511558 C6.84795882,76.6920163 7.71714912,77.0520512 8.62346042,77.0520512 L132.777455,77.0520512 C134.664749,77.0520512 136.194697,75.522091 136.194697,73.6347977 L136.194697,4.45848599 C136.194697,3.55217693 135.834668,2.68298778 135.193811,2.0421305 C134.552953,1.40127322 133.683764,1.04124358 132.777455,1.04124409 Z","id","Path",1,"fill-color-20"],["id","Rectangle","x","9.78769098","y","7.08045867","width","121.825532","height","68.7220946",1,"fill-color-7"],["id","Path","opacity","0.306775484","points","96.7732181 75.8025901 9.78772787 75.8025901 9.78772787 7.08050333",1,"fill-color-27"],["id","Group-24","transform","translate(16.889738, 38.617955)",1,"fill-color-primary-darker"],["d","M14.5668332,29.1332406 C8.67527117,29.1332406 3.36383033,25.5842492 1.10922733,20.1411555 C-1.14537566,14.6980619 0.100864684,8.43279022 4.26682842,4.26682704 C8.43279215,0.100863866 14.698064,-1.14537564 20.1411573,1.10922807 C25.5842507,3.36383179 29.1332406,8.67527311 29.1332406,14.5668351 C29.124133,22.607864 22.6078621,29.1241341 14.5668332,29.1332406 L14.5668332,29.1332406 Z M14.5668332,0.190838576 C6.62718953,0.190838576 0.190836635,6.62719147 0.190836635,14.5668351 C0.190836635,22.5064788 6.62718953,28.9428317 14.5668332,28.9428317 C22.5064768,28.9428317 28.9428297,22.5064788 28.9428297,14.5668351 C28.9338602,6.63090975 22.5027586,0.199808125 14.5668332,0.190838576 L14.5668332,0.190838576 Z","id","Shape"],["id","Rectangle","x","99.0215517","y","44.1428314","width","11.3798353","height","2.37787551",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","25.6293676","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","28.8564861","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","32.0836045","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","35.310721","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","85.2638409","y","38.5378394","width","38.8952588","height","1.01909033",1,"fill-color-15"],["id","Rectangle","x","119.403347","y","8.47469101","width","4.75575295","height","4.75575295",1,"fill-color-5"],["d","M126.367128,15.4384701 L120.592277,15.4384701 L120.592277,9.66361906 L126.367128,9.66361906 L126.367128,15.4384701 Z M120.843366,15.1873981 L126.116048,15.1873981 L126.116048,9.91470857 L120.843366,9.91470857 L120.843366,15.1873981 Z","id","Shape",1,"fill-color-19"],["d","M139.615294,74.5530572 L127.725913,74.5530572 L127.725913,73.6964356 C127.725915,73.6513884 127.708021,73.6081857 127.676168,73.5763323 C127.644315,73.544479 127.601113,73.5265862 127.556065,73.5265862 L123.479706,73.5265862 C123.434659,73.5265862 123.391457,73.5444797 123.359604,73.5763329 C123.327751,73.6081861 123.309857,73.6513886 123.309859,73.6964356 L123.309859,74.5530572 L120.762134,74.5530572 L120.762134,73.6964356 C120.762135,73.6513886 120.744241,73.6081861 120.712388,73.5763329 C120.680536,73.5444797 120.637333,73.5265862 120.592286,73.5265862 L116.515927,73.5265862 C116.47088,73.5265862 116.427677,73.5444789 116.395824,73.5763322 C116.36397,73.6081855 116.346076,73.6513882 116.346078,73.6964356 L116.346078,74.5530572 L113.798355,74.5530572 L113.798355,73.6964356 C113.798356,73.6513882 113.780462,73.6081855 113.748609,73.5763322 C113.716755,73.5444789 113.673553,73.5265862 113.628505,73.5265862 L109.552146,73.5265862 C109.507099,73.5265862 109.463897,73.5444797 109.432044,73.5763329 C109.400191,73.6081861 109.382297,73.6513886 109.382299,73.6964356 L109.382299,74.5530572 L106.834574,74.5530572 L106.834574,73.6964356 C106.834575,73.6513886 106.816681,73.6081861 106.784828,73.5763329 C106.752975,73.5444797 106.709773,73.5265862 106.664726,73.5265862 L102.588363,73.5265862 C102.543316,73.5265862 102.500113,73.544479 102.46826,73.5763323 C102.436407,73.6081857 102.418513,73.6513884 102.418516,73.6964356 L102.418516,74.5530572 L99.8707946,74.5530572 L99.8707946,73.6964356 C99.8707961,73.6513882 99.8529018,73.6081855 99.8210486,73.5763322 C99.7891953,73.5444789 99.7459925,73.5265862 99.7009452,73.5265862 L95.6245878,73.5265862 C95.5795404,73.5265862 95.5363377,73.5444789 95.5044844,73.5763322 C95.4726311,73.6081855 95.4547369,73.6513882 95.4547384,73.6964356 L95.4547384,74.5530572 L92.9070135,74.5530572 L92.9070135,73.6964356 C92.9070151,73.6513886 92.889121,73.6081861 92.8572682,73.5763329 C92.8254153,73.5444797 92.7822131,73.5265862 92.7371661,73.5265862 L88.6608067,73.5265862 C88.6157597,73.5265862 88.5725575,73.5444797 88.5407046,73.5763329 C88.5088518,73.6081861 88.4909577,73.6513886 88.4909593,73.6964356 L88.4909593,74.5530572 L85.9432383,74.5530572 L85.9432383,73.6964356 C85.9432399,73.6513886 85.9253458,73.6081861 85.893493,73.5763329 C85.8616401,73.5444797 85.8184379,73.5265862 85.7733909,73.5265862 L53.8419073,73.5265862 C53.7968603,73.5265862 53.7536581,73.5444797 53.7218052,73.5763329 C53.6899524,73.6081861 53.6720584,73.6513886 53.6720599,73.6964356 L53.6720599,74.5530572 L51.124335,74.5530572 L51.124335,73.6964356 C51.1243366,73.6513882 51.1064423,73.6081855 51.074589,73.5763322 C51.0427358,73.5444789 50.999533,73.5265862 50.9544857,73.5265862 L46.8781379,73.5265862 C46.8330906,73.5265862 46.7898879,73.5444789 46.7580346,73.5763322 C46.7261813,73.6081855 46.708287,73.6513882 46.7082886,73.6964356 L46.7082886,74.5530572 L44.160554,74.5530572 L44.160554,73.6964356 C44.1605561,73.6513884 44.1426622,73.6081857 44.1108092,73.5763323 C44.0789563,73.544479 44.0357537,73.5265862 43.9907066,73.5265862 L39.9143472,73.5265862 C39.8693002,73.5265862 39.8260979,73.5444797 39.7942451,73.5763329 C39.7623922,73.6081861 39.7444982,73.6513886 39.7444998,73.6964356 L39.7444998,74.5530572 L37.1967749,74.5530572 L37.1967749,73.6964356 C37.1967764,73.6513886 37.1788824,73.6081861 37.1470296,73.5763329 C37.1151767,73.5444797 37.0719745,73.5265862 37.0269275,73.5265862 L32.9505681,73.5265862 C32.9055208,73.5265862 32.862318,73.5444789 32.8304647,73.5763322 C32.7986115,73.6081855 32.7807172,73.6513882 32.7807187,73.6964356 L32.7807187,74.5530572 L30.2329958,74.5530572 L30.2329958,73.6964356 C30.2329973,73.6513882 30.215103,73.6081855 30.1832498,73.5763322 C30.1513965,73.5444789 30.1081938,73.5265862 30.0631464,73.5265862 L25.986787,73.5265862 C25.94174,73.5265862 25.8985378,73.5444797 25.866685,73.5763329 C25.8348321,73.6081861 25.8169381,73.6513886 25.8169396,73.6964356 L25.8169396,74.5530572 L23.2692109,74.5530572 L23.2692109,73.6964356 C23.2692124,73.6513886 23.2513184,73.6081861 23.2194655,73.5763329 C23.1876127,73.5444797 23.1444104,73.5265862 23.0993634,73.5265862 L19.0230079,73.5265862 C18.9779608,73.5265862 18.9347582,73.544479 18.9029053,73.5763323 C18.8710523,73.6081857 18.8531585,73.6513884 18.8531605,73.6964356 L18.8531605,74.5530572 L16.3054357,74.5530572 L16.3054357,73.6964356 C16.3054372,73.6513882 16.2875429,73.6081855 16.2556896,73.5763322 C16.2238364,73.5444789 16.1806336,73.5265862 16.1355863,73.5265862 L12.0592288,73.5265862 C12.0141815,73.5265862 11.9709788,73.5444789 11.9391255,73.5763322 C11.9072722,73.6081855 11.8893779,73.6513882 11.8893795,73.6964356 L11.8893795,74.5530572 L4.07635746,74.5530572 C1.82504753,74.5530594 0,76.3781067 0,78.6294166 L0,80.4726504 C0,82.7239563 1.82505163,84.5489982 4.07635746,84.5489982 L139.615294,84.5489982 C141.8666,84.5489982 143.691654,82.7239566 143.691654,80.4726504 L143.691654,78.6294166 C143.691654,76.3781064 141.866605,74.5530594 139.615294,74.5530572 Z","id","Path",1,"fill-color-20"],["id","Group","transform","translate(14.563343, 25.890388)"],["d","M34.1898756,18.6935074 C34.8335754,18.7760331 35.5015474,18.8284611 36.1180622,18.6284578 C36.2151512,18.5983603 36.321949,18.5313689 36.3122401,18.4342799 C36.3052976,18.3990002 36.2903506,18.3657846 36.2685501,18.337191 C36.0361522,17.9886397 35.8409087,17.6167008 35.6860164,17.2274642 C35.6798777,17.2071636 35.6672606,17.1894314 35.6500935,17.176978 C35.6300188,17.1697099 35.6080312,17.1697099 35.5879565,17.176978 C35.3034859,17.2517365 35.0578508,17.4352346 34.775322,17.5138766 C34.6312683,17.5533966 34.4809179,17.5646069 34.3325963,17.5468869 C34.2044389,17.5323235 34.0296788,17.4264966 33.9131721,17.440089 C33.9791925,17.8643678 34.1403602,18.2604907 34.1898756,18.6935074 Z","id","Path",1,"fill-color-primary-darker"],["d","M46.3638597,17.6187327 C46.7881384,17.3274658 47.2279514,17.0216356 47.4784409,16.5721138 C47.4963243,16.5452282 47.5067138,16.5140596 47.5085385,16.481821 C47.5042662,16.4500929 47.4918946,16.4199997 47.4726155,16.394441 C47.2340087,16.0151166 46.9268212,15.6835648 46.5667756,15.4167552 C46.3789189,15.549458 46.2091963,15.7061249 46.061913,15.8827822 C45.9551152,15.9954054 45.6599648,16.1740491 45.6570521,16.3458965 C45.6570521,16.4429855 45.7696753,16.5556086 45.8221033,16.6371634 C45.8929782,16.7420194 45.9599696,16.8488173 46.0240483,16.9575569 C46.0609421,17.0109558 46.3978408,17.5973731 46.3638597,17.6187327 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2730042,20.0320475 30.3444715,19.9740213 30.423795,19.9284789 L30.7548683,19.7148832 C30.9101158,19.6051008 31.0788103,19.515696 31.2568182,19.4488595 C31.3878883,19.4061404 31.5267255,19.3876935 31.6597374,19.3517706 C32.1247935,19.215846 32.4801391,18.846908 32.8102415,18.4925333 L33.2607343,18.011943 C33.3028503,17.9590638 33.3562578,17.9162715 33.4170475,17.8866982 C33.4795282,17.8658617 33.5459388,17.8595527 33.6112254,17.8682513 C34.0488232,17.8994947 34.4713668,18.041122 34.8394007,18.2799085 C34.9334629,18.3504651 35.0350556,18.4103788 35.1423182,18.4585522 C35.4064002,18.5614665 35.7452406,18.4837953 35.9889339,18.3536961 C36.1044698,18.2915592 36.0792267,18.2566071 36.1277711,18.1459257 C36.1763156,18.0352443 36.2947641,17.9643694 36.3976784,18.0653419 C36.4287289,18.1002598 36.4507324,18.1422664 36.4617571,18.187674 C36.5588461,18.5080675 36.5219523,18.8527333 36.5219523,19.1886611 C36.519104,19.2411857 36.5256803,19.2937961 36.5413701,19.3440034 C36.566144,19.3946232 36.5957307,19.4427421 36.629721,19.4876951 C36.6366398,19.4995928 36.642801,19.5119152 36.6481679,19.5245889 C36.7075588,19.673314 36.7298837,19.8342531 36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M36.7132175,19.9935285 C36.7207976,20.0935521 36.6933371,20.1930963 36.6355464,20.2750865 C36.5902231,20.3206727 36.5341172,20.3540691 36.4724369,20.3721755 C35.5724223,20.6945108 34.5306578,20.2925625 33.632585,20.6100434 C33.448116,20.675093 33.2733558,20.7692693 33.0879159,20.8314062 C32.8668382,20.8978733 32.6387504,20.9382775 32.4082933,20.9517965 C32.0908124,20.9818941 31.7713897,21.0013119 31.4529379,21.0100499 C31.2109788,21.0271812 30.9678332,21.0058814 30.7325379,20.9469421 C30.494578,20.8860354 30.29373,20.7268395 30.1801017,20.5090709 C30.1312849,20.4125511 30.1215484,20.3009295 30.1529168,20.1974154 C30.1669968,20.1619216 30.1870252,20.1290882 30.2121411,20.1003264 C30.2645691,20.2100369 30.3024338,20.3556704 30.3354441,20.4080984 C30.4256618,20.5652773 30.5791886,20.6760005 30.7568101,20.7119868 C30.8882242,20.7200556 31.0199808,20.7032567 31.1451659,20.6624715 C31.9607132,20.4605264 32.8277175,20.4576138 33.6112254,20.1517835 C33.8801618,20.0459566 34.1364767,19.9051776 34.4190055,19.8410989 C34.7015344,19.7770202 35.0015392,19.7944962 35.2928061,19.770224 C35.7530078,19.7333301 36.1986461,19.5944929 36.6520515,19.5216762 C36.7105975,19.6716231 36.7315958,19.83361 36.7132175,19.9935285 L36.7132175,19.9935285 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.3279723,20.332004 43.3179103,20.2563656 43.3356552,20.1847938 C43.3626747,20.1059564 43.4090817,20.0351774 43.4706088,19.9789652 C43.5770067,19.8683202 43.6912186,19.7654647 43.8123619,19.6711932 C43.9785829,19.5639234 44.1283649,19.4331094 44.2570293,19.2828374 C44.335968,19.1640934 44.3940832,19.0327597 44.4288768,18.8944816 C44.4976483,18.652227 44.5396476,18.4031617 44.5541216,18.1517511 C44.5535898,17.9846963 44.5708393,17.8180593 44.6055787,17.6546556 C44.6774245,17.3983408 44.8677189,17.1692108 44.8463593,16.904158 C44.8377185,16.866204 44.8411119,16.8265011 44.8560682,16.7905639 C44.8786704,16.7624825 44.9101823,16.7429588 44.94539,16.7352232 C45.0937604,16.6760869 45.2502282,16.6397523 45.4094752,16.6274545 C45.571226,16.6162976 45.7294484,16.6783037 45.8405502,16.7963893 C45.9065707,16.8760022 45.9502607,16.9905672 46.0473497,17.0216356 C46.0954598,17.0347655 46.1459295,17.0367577 46.1949249,17.027461 C46.4337637,17.0031887 46.686195,16.9730912 46.8745476,16.8187197 C47.0505482,16.6608586 47.152616,16.4366614 47.1561056,16.2002631 C47.1561056,16.1119121 47.1162991,16.0196776 47.2531945,16.0060852 C47.3561088,15.9924927 47.4376635,16.1031741 47.4900916,16.1711364 C47.679415,16.4245386 47.8735929,16.6895914 47.9444679,16.9983343 C47.9720312,16.9876362 48.0013112,16.9820434 48.030877,16.9818292 C48.1537854,16.9807475 48.2694521,17.0398499 48.3405908,17.1400842 C48.4179108,17.2653269 48.447872,17.4140998 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M48.4250582,17.5595084 C48.3823391,17.9012616 48.1658307,18.1954411 47.9279627,18.4449597 C47.6900948,18.6944783 47.4211584,18.9187538 47.2318349,19.2061371 C46.9988214,19.5624536 46.8939654,20.0042083 46.5910478,20.3051841 C46.4747693,20.4146353 46.3441148,20.5077266 46.202692,20.5818876 C46.0442646,20.6753601 45.8767312,20.752458 45.7026839,20.8119884 C45.2502494,20.956651 44.7628628,20.9236407 44.2900396,20.8886887 C44.1365309,20.8872131 43.9845596,20.8579372 43.8414886,20.8022795 C43.7763574,20.7691922 43.7140162,20.7308783 43.6550778,20.6877146 C43.5365551,20.6147292 43.4367964,20.5149704 43.363811,20.3964477 C43.4548211,20.3526902 43.5541213,20.3288581 43.6550778,20.3265437 C43.86479,20.3381943 44.0181905,20.5362558 44.2191647,20.5974219 C44.5055771,20.683831 44.7910186,20.481886 45.0813146,20.4129528 C45.270638,20.3682919 45.4696704,20.3799426 45.6570521,20.3158639 C45.8132081,20.2555144 45.9574928,20.168089 46.0832726,20.0576073 C46.2556706,19.9343474 46.4090818,19.786497 46.5386198,19.6187652 C46.646198,19.4510234 46.735696,19.2723528 46.8056144,19.0857468 C46.9589198,18.7281302 47.1393856,18.3827784 47.345429,18.0527203 C47.375905,18.0004629 47.4127576,17.9521958 47.4551395,17.9090287 C47.5007713,17.8672804 47.5522285,17.8381537 47.6036856,17.8012599 C47.7978635,17.6546556 47.8784474,17.4129041 47.9464096,17.1760071 C47.9648208,17.1040024 47.9905203,17.0340608 48.0231099,16.9672512 C48.1460183,16.9661841 48.2616849,17.0252865 48.3328237,17.1255208 C48.4163608,17.2537243 48.4492363,17.4084124 48.4250582,17.5595084 L48.4250582,17.5595084 Z","id","Path",1,"fill-color-primary-darker"],["d","M54.316416,4.55250111 L54.316416,3.34665629 C54.316416,1.49819202 52.8172532,0 50.9687888,0 L3.34762718,0 C1.49916283,0 0,1.49819202 0,3.34665629 L0,5.56999336 L54.316416,4.55250111 Z","id","Path",1,"fill-color-16"],["d","M55.6018738,5.73601547 L55.6018738,39.231705 C55.6018738,39.9999836 55.2966099,40.7367813 54.7532639,41.2799452 C54.2099179,41.8231092 53.4730179,42.1278687 52.7047393,42.1278687 L2.89810531,42.1278687 C1.29897753,42.1273325 0.00291266866,40.8308329 0.00291266866,39.231705 L0.00291266866,2.35926161 C1.43012031,2.88936731 1.43012031,2.88936731 2.89810531,2.84470639 L52.7047393,2.84470639 C54.3025103,2.84470316 55.5986611,4.13824772 55.6018738,5.73601547 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,6.16223599 L55.6018738,39.6579255 C55.6018738,41.2575895 54.3044034,42.5540891 52.7047393,42.5540891 L2.89810531,42.5540891 C1.29897753,42.553553 0.00291266866,41.2570534 0.00291266866,39.6579255 L0.00291266866,2.78451124 C1.43012031,3.31364604 1.43012031,3.31364604 2.89810531,3.26995601 L52.7047393,3.26995601 C54.3028886,3.26995377 55.5991959,4.56408894 55.6018738,6.16223599 Z","id","Path",1,"fill-color-19"],["d","M55.4601239,18.5459322 L55.4601239,29.2577567 L45.0716057,29.2577567 C42.141738,29.2183086 39.7873207,26.8319777 39.7873207,23.9018444 C39.7873207,20.9717112 42.141738,18.5853803 45.0716057,18.5459322 L55.4601239,18.5459322 Z","id","Path","opacity","0.1",1,"fill-color-27"],["d","M55.6018738,18.2604907 L55.6018738,28.9742569 L45.2133556,28.9742569 C42.2834879,28.9348088 39.9290706,26.5484779 39.9290706,23.6183447 C39.9290706,20.6882114 42.2834879,18.3018806 45.2133556,18.2624325 L55.6018738,18.2604907 Z","id","Path",1,"fill-color-17"],["id","Oval","opacity","0.1","cx","45.7114219","cy","23.9023299","r","2.08838343",1,"fill-color-27"],["id","Oval","cx","45.8531718","cy","23.6188301","r","2.08838343",1,"fill-color-28"],["d","M37.114137,56.485738 L37.114137,54.3663604 C37.5324015,54.3762985 37.9407279,54.3762985 38.3291472,54.3762985 L38.3291472,56.485738 L39.8628249,56.485738 L39.8628249,54.3364843 C42.4322258,54.1970423 44.1498818,53.5497076 44.378952,51.1296869 C44.5581774,49.1877136 43.6419275,48.3212469 42.1879398,47.9727034 C43.0643138,47.5245628 43.6220513,46.7278171 43.4925782,45.4032717 C43.3232292,43.5907407 41.8346742,42.9832201 39.8627941,42.8139637 L39.8627941,40.3042841 L38.3291164,40.3042841 L38.3291164,42.7442427 C37.9307281,42.7442427 37.5224017,42.7541808 37.1141061,42.7641498 L37.1141061,40.3042841 L35.5803975,40.3042841 L35.5803975,42.8139637 C35.0165182,42.8310005 34.3597701,42.8226673 32.5030732,42.8139637 L32.5030732,44.4472076 C33.7139786,44.4257882 34.3493073,44.3479809 34.4948913,45.1243875 L34.4948913,51.9961228 C34.4024546,52.6121309 33.9094382,52.5234287 32.8118025,52.5040154 L32.5030732,54.3265154 L33.46474,54.3269705 C35.3673259,54.328922 35.5804284,54.3364843 35.5804284,54.3364843 L35.5804284,56.485738 L37.114137,56.485738 Z M37.144013,47.6141601 L37.144013,44.5567428 C38.0104489,44.5567428 40.7192919,44.2878893 40.7192919,46.0904514 C40.7192919,47.8133542 38.0104798,47.6141601 37.144013,47.6141601 Z M37.144013,52.5139844 L37.144013,49.1478686 C38.1797362,49.1478686 41.3514108,48.8590464 41.3514108,50.8309574 C41.3514108,52.7330856 38.1797362,52.5139844 37.144013,52.5139844 Z","id","b","transform","translate(38.452166, 48.395011) rotate(14.000000) translate(-38.452166, -48.395011) ",1,"fill-color-30"]],template:function(Be,ht){if(1&Be&&(p.YNc(0,De,1,0,"ng-container",0),p.YNc(1,fe,32,5,"ng-template",null,1,p.W1O),p.YNc(3,ee,51,5,"ng-template",null,2,p.W1O),p.YNc(5,H,74,5,"ng-template",null,3,p.W1O),p.YNc(7,q,53,5,"ng-template",null,4,p.W1O),p.YNc(9,Oe,66,5,"ng-template",null,5,p.W1O)),2&Be){const se=p.MAs(2),Ae=p.MAs(4),ft=p.MAs(6),Lt=p.MAs(8),nn=p.MAs(10);p.Q6J("ngTemplateOutlet",1===ht.stepNumber?se:2===ht.stepNumber?Ae:3===ht.stepNumber?ft:4===ht.stepNumber?Lt:nn)}},dependencies:[P.mk,P.tP,W.xw,W.Wh,W.yH,Z.oO,ae.n5,ae.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[je.l]}})}const oe=["stepper"];function pt(Mt,Ze){if(1&Mt&&(p.TgZ(0,"div",48)(1,"p",49)(2,"strong"),p._uU(3,"Channel Peer:\xa0"),p.qZA(),p._uU(4),p.ALo(5,"titlecase"),p.qZA(),p.TgZ(6,"p",50)(7,"strong"),p._uU(8,"Channel ID:\xa0"),p.qZA(),p._uU(9),p.qZA(),p._UZ(10,"p",50),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(4),p.Oqu(p.lcZ(5,2,Be.channel.remote_alias)),p.xp6(5),p.Oqu(Be.channel.chan_id)}}function it(Mt,Ze){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.Oqu(Be.inputFormLabel)}}function Ct(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Amount is required."),p.qZA())}function un(Mt,Ze){if(1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1),p.ALo(2,"number"),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Amount must be greater than or equal to ",p.lcZ(2,1,Be.minQuote.amount),".")}}function Nt(Mt,Ze){if(1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1),p.ALo(2,"number"),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Amount must be less than or equal to ",p.lcZ(2,1,Be.maxQuote.amount),".")}}function zt(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Confirmation target is required."),p.qZA())}function yn(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Confirmation target must be a positive number."),p.qZA())}function Jt(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Percentage is required."),p.qZA())}function Gt(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Percentage must be a positive number."),p.qZA())}function In(Mt,Ze){if(1&Mt&&(p.TgZ(0,"mat-form-field",50),p._UZ(1,"input",51),p.YNc(2,Jt,2,0,"mat-error",25),p.YNc(3,Gt,2,0,"mat-error",25),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Q6J("step",1),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.routingFeePercent.errors?null:Be.inputFormGroup.controls.routingFeePercent.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.routingFeePercent.errors?null:Be.inputFormGroup.controls.routingFeePercent.errors.min)}}function an(Mt,Ze){1&Mt&&(p.TgZ(0,"div",52)(1,"mat-slide-toggle",53),p._uU(2,"Fast"),p.qZA(),p.TgZ(3,"mat-icon",54),p._uU(4,"info_outline"),p.qZA()())}function tn(Mt,Ze){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.Oqu(Be.quoteFormLabel)}}function pn(Mt,Ze){1&Mt&&(p.TgZ(0,"p",55)(1,"mat-icon",56),p._uU(2,"close"),p.qZA(),p._uU(3,"Local balance amount is insufficient for swap."),p.qZA())}function nt(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",57),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onValidateAmount())}),p._uU(1,"Next"),p.qZA()}}function gt(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",58),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onLoop())}),p._uU(1),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.xp6(1),p.hij("Initiate ",Be.loopDirectionCaption,"")}}function At(Mt,Ze){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(3);p.Oqu(Be.addressFormLabel)}}function we(Mt,Ze){1&Mt&&(p.TgZ(0,"mat-error"),p._uU(1,"Address is required."),p.qZA())}function Y(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"mat-step",16)(1,"form",17),p.YNc(2,At,1,1,"ng-template",18),p.TgZ(3,"div",59)(4,"mat-radio-group",60),p.NdJ("change",function(se){p.CHM(Be);const Ae=p.oxw(2);return p.KtG(Ae.onAddressTypeChange(se))}),p.TgZ(5,"mat-radio-button",61),p._uU(6,"Node Local Address"),p.qZA(),p.TgZ(7,"mat-radio-button",62),p._uU(8,"External Address"),p.qZA()(),p.TgZ(9,"mat-form-field",63),p._UZ(10,"input",64),p.YNc(11,we,2,0,"mat-error",25),p.qZA()(),p.TgZ(12,"div",29)(13,"button",65),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onLoop())}),p._uU(14),p.qZA()()()()}if(2&Mt){const Be=p.oxw(2);p.Q6J("stepControl",Be.addressFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.addressFormGroup),p.xp6(9),p.Q6J("required","external"===Be.addressFormGroup.controls.addressType.value),p.xp6(1),p.Q6J("ngIf",null==Be.addressFormGroup.controls.address.errors?null:Be.addressFormGroup.controls.address.errors.required),p.xp6(3),p.hij("Initiate ",Be.loopDirectionCaption,"")}}function te(Mt,Ze){if(1&Mt&&p._uU(0),2&Mt){const Be=p.oxw(2);p.hij("",Be.loopDirectionCaption," Status")}}function xe(Mt,Ze){if(1&Mt&&(p.TgZ(0,"mat-icon",66),p._uU(1),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Oqu(Be.loopStatus&&null!=Be.loopStatus&&Be.loopStatus.id_bytes?"check":"close")}}function ze(Mt,Ze){1&Mt&&p._UZ(0,"div")}function _t(Mt,Ze){1&Mt&&p._UZ(0,"mat-progress-bar",67)}function ct(Mt,Ze){if(1&Mt&&(p.TgZ(0,"h4",68),p._uU(1),p.qZA()),2&Mt){const Be=p.oxw(2);p.xp6(1),p.Oqu(Be.loopStatus&&Be.loopStatus.error?Be.loopDirectionCaption+" failed.":Be.loopStatus&&Be.loopStatus.id_bytes&&Be.channel?Be.loopDirectionCaption+" request placed successfully. You can check the status of the request on the 'Loop' menu.":Be.loopDirectionCaption+" request placed successfully.")}}function Ue(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",69),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.goToLoop())}),p._uU(1,"Check Status"),p.qZA()}}function Me(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",70),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onRestart())}),p._uU(1,"Start Again"),p.qZA()}}function Ce(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",3)(1,"div",4)(2,"mat-card-header",5)(3,"div",6)(4,"span",7),p._uU(5),p.qZA()(),p.TgZ(6,"div",8)(7,"button",9),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw();return p.KtG(se.showInfo())}),p._uU(8,"?"),p.qZA(),p.TgZ(9,"button",10),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw();return p.KtG(se.onClose())}),p._uU(10,"X"),p.qZA()()(),p.TgZ(11,"mat-card-content",11)(12,"div",12),p.YNc(13,pt,11,4,"div",13),p.TgZ(14,"mat-vertical-stepper",14,15),p.NdJ("selectionChange",function(se){p.CHM(Be);const Ae=p.oxw();return p.KtG(Ae.stepSelectionChanged(se))}),p.TgZ(16,"mat-step",16)(17,"form",17),p.YNc(18,it,1,1,"ng-template",18),p.TgZ(19,"div",19),p._UZ(20,"rtl-loop-quote",20)(21,"rtl-loop-quote",20),p.qZA(),p.TgZ(22,"div",21)(23,"mat-form-field",22),p._UZ(24,"input",23),p.TgZ(25,"mat-hint"),p._uU(26),p.ALo(27,"number"),p.ALo(28,"number"),p.qZA(),p.TgZ(29,"span",24),p._uU(30,"Sats"),p.qZA(),p.YNc(31,Ct,2,0,"mat-error",25),p.YNc(32,un,3,3,"mat-error",25),p.YNc(33,Nt,3,3,"mat-error",25),p.qZA(),p.TgZ(34,"mat-form-field",22),p._UZ(35,"input",26),p.YNc(36,zt,2,0,"mat-error",25),p.YNc(37,yn,2,0,"mat-error",25),p.qZA(),p.YNc(38,In,4,3,"mat-form-field",27),p.qZA(),p.YNc(39,an,5,0,"div",28),p.TgZ(40,"div",29)(41,"button",30),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw();return p.KtG(se.onEstimateQuote())}),p._uU(42,"Estimate Quote"),p.qZA()()()(),p.TgZ(43,"mat-step",16)(44,"form",17),p.YNc(45,tn,1,1,"ng-template",18),p._UZ(46,"rtl-loop-quote",31),p.YNc(47,pn,4,0,"p",32),p.TgZ(48,"div",29),p.YNc(49,nt,2,0,"button",33),p.YNc(50,gt,2,1,"button",34),p.qZA()()(),p.YNc(51,Y,15,6,"mat-step",35),p.TgZ(52,"mat-step",36)(53,"form",17),p.YNc(54,te,1,1,"ng-template",18),p.TgZ(55,"div",37)(56,"mat-expansion-panel",38)(57,"mat-expansion-panel-header")(58,"mat-panel-title")(59,"span",39),p._uU(60),p.YNc(61,xe,2,1,"mat-icon",40),p.qZA()()(),p.YNc(62,ze,1,0,"div",41),p.qZA(),p.YNc(63,_t,1,0,"mat-progress-bar",42),p.qZA(),p.YNc(64,ct,2,1,"h4",43),p.TgZ(65,"div",29),p.YNc(66,Ue,2,0,"button",44),p.YNc(67,Me,2,0,"button",45),p.qZA()()()(),p.TgZ(68,"div",46)(69,"button",47),p._uU(70,"Close"),p.qZA()()()()()()}if(2&Mt){const Be=p.oxw(),ht=p.MAs(2);p.Q6J("@opacityAnimation",void 0),p.xp6(3),p.Q6J("fxFlex",Be.screenSize===Be.screenSizeEnum.XS||Be.screenSize===Be.screenSizeEnum.SM?"83":"91"),p.xp6(2),p.Oqu(Be.channel?"Channel "+Be.loopDirectionCaption:Be.loopDirectionCaption),p.xp6(1),p.Q6J("fxFlex",Be.screenSize===Be.screenSizeEnum.XS||Be.screenSize===Be.screenSizeEnum.SM?"17":"9"),p.xp6(7),p.Q6J("ngIf",Be.channel),p.xp6(1),p.Q6J("linear",!0),p.xp6(2),p.Q6J("stepControl",Be.inputFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.inputFormGroup),p.xp6(3),p.Q6J("quote",Be.minQuote)("termCaption","min")("panelExpanded",!1)("showPanel",!0),p.xp6(1),p.Q6J("quote",Be.maxQuote)("termCaption","max")("panelExpanded",!1)("showPanel",!0),p.xp6(2),p.Q6J("fxFlex",Be.direction===Be.LoopTypeEnum.LOOP_OUT?"35":"48"),p.xp6(1),p.Q6J("step",1e3),p.xp6(2),p.AsE("Range: ",p.lcZ(27,51,Be.minQuote.amount),"-",p.lcZ(28,53,Be.maxQuote.amount),""),p.xp6(5),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.min),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.amount.errors?null:Be.inputFormGroup.controls.amount.errors.max),p.xp6(1),p.Q6J("fxFlex",Be.direction===Be.LoopTypeEnum.LOOP_OUT?"30":"48"),p.xp6(1),p.Q6J("step",1),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.sweepConfTarget.errors?null:Be.inputFormGroup.controls.sweepConfTarget.errors.required),p.xp6(1),p.Q6J("ngIf",null==Be.inputFormGroup.controls.sweepConfTarget.errors?null:Be.inputFormGroup.controls.sweepConfTarget.errors.min),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(4),p.Q6J("stepControl",Be.quoteFormGroup)("editable",Be.flgEditable),p.xp6(1),p.Q6J("formGroup",Be.quoteFormGroup),p.xp6(2),p.Q6J("quote",Be.quote)("showPanel",!1),p.xp6(1),p.Q6J("ngIf",Be.inputFormGroup.controls.amount.value>Be.localBalanceToCompare),p.xp6(2),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_IN),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("stepControl",Be.statusFormGroup),p.xp6(1),p.Q6J("formGroup",Be.statusFormGroup),p.xp6(3),p.Q6J("expanded",!!Be.loopStatus),p.xp6(4),p.Oqu(Be.loopStatus?Be.loopStatus.id_bytes?Be.loopDirectionCaption+" request details":Be.loopDirectionCaption+" error details":"Waiting for "+Be.loopDirectionCaption+" request..."),p.xp6(1),p.Q6J("ngIf",Be.loopStatus),p.xp6(1),p.Q6J("ngIf",!Be.loopStatus)("ngIfElse",ht),p.xp6(1),p.Q6J("ngIf",!Be.loopStatus),p.xp6(1),p.Q6J("ngIf",Be.loopStatus),p.xp6(2),p.Q6J("ngIf",Be.loopStatus&&Be.loopStatus.id_bytes&&Be.channel),p.xp6(1),p.Q6J("ngIf",Be.loopStatus&&(Be.loopStatus.error||!Be.loopStatus.id_bytes)),p.xp6(2),p.Q6J("mat-dialog-close",!1)}}function Je(Mt,Ze){if(1&Mt&&p._UZ(0,"rtl-loop-status",71),2&Mt){const Be=p.oxw();p.Q6J("loopStatus",Be.loopStatus)}}function Ut(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"rtl-loop-out-info-graphics",88),p.NdJ("stepNumberChange",function(se){p.CHM(Be);const Ae=p.oxw(2);return p.KtG(Ae.stepNumber=se)}),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.Q6J("animationDirection",Be.animationDirection)("stepNumber",Be.stepNumber)}}function Dt(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"rtl-loop-in-info-graphics",88),p.NdJ("stepNumberChange",function(se){p.CHM(Be);const Ae=p.oxw(2);return p.KtG(Ae.stepNumber=se)}),p.qZA()}if(2&Mt){const Be=p.oxw(2);p.Q6J("animationDirection",Be.animationDirection)("stepNumber",Be.stepNumber)}}const Tt=function(Mt,Ze){return{"dot-primary":Mt,"dot-primary-lighter":Ze}};function Ht(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"span",89),p.NdJ("click",function(){const Ae=p.CHM(Be).$implicit,ft=p.oxw(2);return p.KtG(ft.onStepChanged(Ae))}),p._UZ(1,"p",90),p.qZA()}if(2&Mt){const Be=Ze.$implicit,ht=p.oxw(2);p.xp6(1),p.Q6J("ngClass",p.WLB(1,Tt,ht.stepNumber===Be,ht.stepNumber!==Be))}}function He(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",91),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onReadMore())}),p._uU(1,"Read More"),p.qZA()}}function $e(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",92),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onStepChanged(4))}),p._uU(1,"Back"),p.qZA()}}function $t(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",93),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return se.flgShowInfo=!1,p.KtG(se.stepNumber=1)}),p._uU(1,"Close"),p.qZA()}}function Rt(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",94),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return se.flgShowInfo=!1,p.KtG(se.stepNumber=1)}),p._uU(1,"Close"),p.qZA()}}function Xt(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",95),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onStepChanged(se.stepNumber-1))}),p._uU(1,"Back"),p.qZA()}}function Vn(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"button",96),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw(2);return p.KtG(se.onStepChanged(se.stepNumber+1))}),p._uU(1,"Next"),p.qZA()}}const zn=function(){return[1,2,3,4,5]};function Tn(Mt,Ze){if(1&Mt){const Be=p.EpF();p.TgZ(0,"div",72)(1,"div",19)(2,"mat-card-header",73)(3,"div",74),p._UZ(4,"span",7),p.qZA(),p.TgZ(5,"div",75)(6,"button",76),p.NdJ("click",function(){p.CHM(Be);const se=p.oxw();return se.flgShowInfo=!1,p.KtG(se.stepNumber=1)}),p._uU(7,"X"),p.qZA()()(),p.TgZ(8,"mat-card-content",77),p.YNc(9,Ut,1,2,"rtl-loop-out-info-graphics",78),p.YNc(10,Dt,1,2,"rtl-loop-in-info-graphics",78),p.qZA(),p.TgZ(11,"div",79),p.YNc(12,Ht,2,4,"span",80),p.qZA(),p.TgZ(13,"div",81),p.YNc(14,He,2,0,"button",82),p.YNc(15,$e,2,0,"button",83),p.YNc(16,$t,2,0,"button",84),p.YNc(17,Rt,2,0,"button",85),p.YNc(18,Xt,2,0,"button",86),p.YNc(19,Vn,2,0,"button",87),p.qZA()()()}if(2&Mt){const Be=p.oxw();p.Q6J("@opacityAnimation",void 0),p.xp6(9),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_OUT),p.xp6(1),p.Q6J("ngIf",Be.direction===Be.LoopTypeEnum.LOOP_IN),p.xp6(2),p.Q6J("ngForOf",p.DdM(10,zn)),p.xp6(2),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",5===Be.stepNumber),p.xp6(1),p.Q6J("ngIf",Be.stepNumber<5),p.xp6(1),p.Q6J("ngIf",Be.stepNumber>1&&Be.stepNumber<5),p.xp6(1),p.Q6J("ngIf",Be.stepNumber<5)}}class Yn{constructor(Ze,Be,ht,se,Ae,ft,Lt,nn,Bn){this.dialogRef=Ze,this.data=Be,this.store=ht,this.loopService=se,this.formBuilder=Ae,this.decimalPipe=ft,this.logger=Lt,this.router=nn,this.commonService=Bn,this.faInfoCircle=s.sqG,this.LoopTypeEnum=u.$I,this.direction=u.$I.LOOP_OUT,this.loopDirectionCaption="Loop out",this.loopStatus=null,this.inputFormLabel="Amount to loop out",this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address",this.prepayRoutingFee=36,this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=u.cu,this.animationDirection="forward",this.flgEditable=!0,this.localBalanceToCompare=null,this.unSubs=[new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.channel=this.data.channel,this.minQuote=this.data.minQuote?this.data.minQuote:{},this.maxQuote=this.data.maxQuote?this.data.maxQuote:{},this.direction=this.data.direction||u.$I.LOOP_OUT,this.loopDirectionCaption=this.direction===u.$I.LOOP_IN?"Loop in":"Loop out",this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.minQuote.amount,[e.kI.required,e.kI.min(this.minQuote.amount||0),e.kI.max(this.maxQuote.amount||0)]],sweepConfTarget:[6,[e.kI.required,e.kI.min(1)]],routingFeePercent:[2,[e.kI.required,e.kI.min(0)]],fast:[!1,[e.kI.required]]}),this.inputFormGroup.setErrors({Invalid:!0}),this.quoteFormGroup=this.formBuilder.group({}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[e.kI.required]],address:[{value:"",disabled:!0}]}),this.direction===u.$I.LOOP_OUT&&this.addressFormGroup.setErrors({Invalid:!0}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges(),this.store.select(k.ZW).pipe((0,_.R)(this.unSubs[6])).subscribe(Ze=>{this.localBalanceToCompare=this.channel&&this.channel.local_balance?+this.channel.local_balance:Ze.lightningBalance&&Ze.lightningBalance.local?+Ze.lightningBalance.local:null})}onFormValueChanges(){this.inputFormGroup.valueChanges.pipe((0,_.R)(this.unSubs[4])).subscribe(Ze=>{this.inputFormGroup.setErrors({Invalid:!0})}),this.direction===u.$I.LOOP_OUT&&this.addressFormGroup.valueChanges.pipe((0,_.R)(this.unSubs[5])).subscribe(Ze=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(Ze){"external"===Ze.value?(this.addressFormGroup.controls.address.setValidators([e.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onValidateAmount(){this.localBalanceToCompare&&this.inputFormGroup.controls.amount.value<=this.localBalanceToCompare&&this.stepper.next()}onLoop(){if(!this.inputFormGroup.controls.amount.value||this.minQuote.amount&&this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2||this.direction===u.$I.LOOP_OUT&&(!this.inputFormGroup.controls.routingFeePercent.value||this.inputFormGroup.controls.routingFeePercent.value<0)||this.direction===u.$I.LOOP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected?.stepControl.setErrors(null),this.stepper.next(),this.direction===u.$I.LOOP_IN)this.loopService.loopIn(this.inputFormGroup.controls.amount.value,+(this.quote.swap_fee_sat||0),+(this.quote.htlc_publish_fee_sat||0),"",!0).pipe((0,_.R)(this.unSubs[0])).subscribe({next:Ze=>{this.loopStatus=Ze,this.loopService.listSwaps(),this.flgEditable=!0},error:Ze=>{this.loopStatus={error:Ze},this.flgEditable=!0,this.logger.error(Ze)}});else{const Ze=Math.ceil(this.inputFormGroup.controls.amount.value*(this.inputFormGroup.controls.routingFeePercent.value/100)),Be="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"",ht=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.loopService.loopOut(this.inputFormGroup.controls.amount.value,this.channel&&this.channel.chan_id?this.channel.chan_id:"",this.inputFormGroup.controls.sweepConfTarget.value,Ze,+(this.quote.htlc_sweep_fee_sat||0),this.prepayRoutingFee,+(this.quote.prepay_amt_sat||0),+(this.quote.swap_fee_sat||0),ht,Be).pipe((0,_.R)(this.unSubs[1])).subscribe({next:se=>{this.loopStatus=se,this.loopService.listSwaps(),this.flgEditable=!0},error:se=>{this.loopStatus={error:se},this.flgEditable=!0,this.logger.error(se)}})}}onEstimateQuote(){if(!this.inputFormGroup.controls.amount.value||this.minQuote.amount&&this.inputFormGroup.controls.amount.valuethis.maxQuote.amount||!this.inputFormGroup.controls.sweepConfTarget.value||this.inputFormGroup.controls.sweepConfTarget.value<2)return!0;const Ze=this.inputFormGroup.controls.fast.value?0:(new Date).getTime()+18e5;this.direction===u.$I.LOOP_IN?this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,Ze).pipe((0,_.R)(this.unSubs[2])).subscribe(Be=>{this.quote=Be,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}):this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value,this.inputFormGroup.controls.sweepConfTarget.value,Ze).pipe((0,_.R)(this.unSubs[3])).subscribe(Be=>{this.quote=Be,this.quote.off_chain_swap_routing_fee_percentage=this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:2}),this.stepper.selected?.stepControl.setErrors(null),this.stepper.next()}stepSelectionChanged(Ze){switch(Ze.selectedIndex){case 0:default:this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===u.$I.LOOP_IN?this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Percentage: "+(this.inputFormGroup.controls.routingFeePercent.value?this.inputFormGroup.controls.routingFeePercent.value:"2")+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quoteFormLabel="Confirm Quote",this.addressFormLabel="Withdrawal Address";break;case 2:this.inputFormGroup.controls.amount.value||this.inputFormGroup.controls.sweepConfTarget.value?this.direction===u.$I.LOOP_IN?this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6):this.inputFormLabel=this.loopDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats | Target Confirmation: "+(this.inputFormGroup.controls.sweepConfTarget.value?this.inputFormGroup.controls.sweepConfTarget.value:6)+" | Fast: "+(this.inputFormGroup.controls.fast.value?"Enabled":"Disabled"):this.inputFormLabel="Amount to "+this.loopDirectionCaption,this.quote&&this.quote.swap_fee_sat&&(this.quote.htlc_sweep_fee_sat||this.quote.htlc_publish_fee_sat)&&this.quote.prepay_amt_sat?this.quoteFormLabel="Quote confirmed | Estimated Fees: "+this.decimalPipe.transform(+this.quote.swap_fee_sat+ +(this.quote.htlc_sweep_fee_sat?this.quote.htlc_sweep_fee_sat:this.quote.htlc_publish_fee_sat?this.quote.htlc_publish_fee_sat:0))+" Sats":this.quoteFormLabel="Quote confirmed",this.addressFormGroup.controls.addressType.value?this.addressFormLabel="Withdrawal Address | Type: "+this.addressFormGroup.controls.addressType.value:this.addressFormLabel="Withdrawal Address"}(this.direction===u.$I.LOOP_OUT&&1!==Ze.selectedIndex&&Ze.selectedIndex{Ze.next(null),Ze.complete()})}static#e=this.\u0275fac=function(Be){return new(Be||Yn)(p.Y36(E.so),p.Y36(E.WI),p.Y36(S.yh),p.Y36(A.W),p.Y36(e.QS),p.Y36(P.JJ),p.Y36(M.mQ),p.Y36(z.F0),p.Y36(I.v))};static#t=this.\u0275cmp=p.Xpm({type:Yn,selectors:[["rtl-loop-modal"]],viewQuery:function(Be,ht){if(1&Be&&p.Gf(oe,5),2&Be){let se;p.iGM(se=p.CRH())&&(ht.stepper=se.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["loopStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["class","padding-gap-large","fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngIf"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"quote","termCaption","panelExpanded","showPanel"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],[3,"fxFlex"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["matInput","","placeholder","Sweep Confirmation Target","type","number","tabindex","2","formControlName","sweepConfTarget","required","",3,"step"],["fxFlex","30",4,"ngIf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","class","mt-1",4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","5","type","button",3,"click"],[3,"quote","showPanel"],["fxFlex","100","class","color-warn mt-2","fxLayoutAlign","start center",4,"ngIf"],["mat-button","","color","primary","tabindex","6","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","7","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-button","","color","primary","tabindex","12","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",1,"padding-gap-large"],["fxFlex","40"],["fxFlex","30"],["matInput","","placeholder","Max Off-chain Routing Fee (%)","type","number","tabindex","3","formControlName","routingFeePercent","required","",3,"step"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center",1,"mt-1"],["tabindex","4","color","primary","formControlName","fast","fxFlex","none"],["matTooltip","Swap immediately (Might end up paying a higher on-chain fee)","matTooltipPosition","above","fxFlex","none",1,"info-icon"],["fxFlex","100","fxLayoutAlign","start center",1,"color-warn","mt-2"],[1,"mr-1","icon-small"],["mat-button","","color","primary","tabindex","6","type","button",3,"click"],["mat-button","","color","primary","tabindex","7","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-button","","color","primary","tabindex","12","type","button",3,"click"],["mat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"loopStatus"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(Be,ht){1&Be&&(p.YNc(0,Ce,71,55,"div",0),p.YNc(1,Je,1,1,"ng-template",null,1,p.W1O),p.YNc(3,Tn,20,11,"div",2)),2&Be&&(p.Q6J("ngIf",!ht.flgShowInfo),p.xp6(3),p.Q6J("ngIf",ht.flgShowInfo))},dependencies:[P.mk,P.sg,P.O5,e._Y,e.Fj,e.wV,e.JJ,e.JL,e.Q7,e.sg,e.u,W.xw,W.Wh,W.yH,Z.oO,E.ZT,j.lW,ae.dk,ae.dn,re.ib,re.yz,re.yK,pe.Hw,le.TO,le.KE,le.bx,le.R9,ve.Nt,de.pW,$.VQ,$.U0,ue.Rr,w.gM,n.C0,n.VY,n.Vq,o.h,F,Ge,Le,Re,P.JJ,P.rS],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[D._]}})}},9442:(Ve,X,m)=>{"use strict";m.d(X,{w:()=>k});var e=m(9306),t=m(2560),_=m(3547),E=m(3505),s=m(6722),D=m(4522),u=m(2156);class k{constructor(S){this.router=S,this.faTimes=e.NBC}goToHelp(){this.router.navigate(["/help"])}static#e=this.\u0275fac=function(A){return new(A||k)(t.Y36(_.F0))};static#t=this.\u0275cmp=t.Xpm({type:k,selectors:[["rtl-not-found"]],decls:13,vars:1,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column",1,"padding-gap-large"],["fxLayout","column","fxLayoutAlign","start start"],[1,"box-text"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(A,P){1&A&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Page Not Found"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"div",5)(8,"div",6),t._uU(9,"This page does not exist!"),t.qZA(),t.TgZ(10,"span",7)(11,"button",8),t.NdJ("click",function(){return P.goToHelp()}),t._uU(12,"Go To Help"),t.qZA()()()()()()),2&A&&(t.xp6(1),t.Q6J("icon",P.faTimes))},dependencies:[E.BN,s.xw,s.Wh,s.yH,D.lW,u.a8,u.dn],encapsulation:2})}},3390:(Ve,X,m)=>{"use strict";m.d(X,{h:()=>t});var e=m(2560);class t{constructor(E){this.el=E}ngAfterContentInit(){setTimeout(()=>{this.el.nativeElement.focus()},500)}static#e=this.\u0275fac=function(s){return new(s||t)(e.Y36(e.SBq))};static#t=this.\u0275dir=e.lG2({type:t,selectors:[["","autoFocus",""]],inputs:{appAutoFocus:"appAutoFocus"}})}},6895:(Ve,X,m)=>{"use strict";m.d(X,{y:()=>t});var e=m(2560);class t{constructor(){this.copied=new e.vpe}onClick(E){E.preventDefault(),this.payload&&navigator.clipboard&&navigator.clipboard.writeText(this.payload.toString()).then(()=>{this.copied.emit(this.payload.toString())},s=>{this.copied.emit("Error could not copy text: "+JSON.stringify(s))})}static#e=this.\u0275fac=function(s){return new(s||t)};static#t=this.\u0275dir=e.lG2({type:t,selectors:[["","rtlClipboard",""]],hostBindings:function(s,D){1&s&&e.NdJ("click",function(k){return D.onClick(k)})},inputs:{payload:"payload"},outputs:{copied:"copied"}})}},9843:(Ve,X,m)=>{"use strict";m.d(X,{F:()=>_});var e=m(2508),t=m(2560);class _{validate(s){return this.max?e.kI.max(+this.max)(s):null}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275dir=t.lG2({type:_,selectors:[["input","max",""]],inputs:{max:"max"},features:[t._Bn([{provide:e.Cf,useExisting:_,multi:!0}])]})}},6534:(Ve,X,m)=>{"use strict";m.d(X,{q:()=>_});var e=m(2508),t=m(2560);class _{validate(s){return this.min?e.kI.min(+this.min)(s):null}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275dir=t.lG2({type:_,selectors:[["input","min",""]],inputs:{min:"min"},features:[t._Bn([{provide:e.Cf,useExisting:_,multi:!0}])]})}},9445:(Ve,X,m)=>{"use strict";m.d(X,{D3:()=>s,al:()=>t,h9:()=>_,i1:()=>E});var e=m(2560);class t{transform(u,k){return u?.replace(/^[0]+/g,"")}static#e=this.\u0275fac=function(k){return new(k||t)};static#t=this.\u0275pipe=e.Yjl({name:"removeleadingzeros",type:t,pure:!0})}class _{transform(u,k){return u?.replace(/(?:^\w|[A-Z]|\b\w)/g,(p,S)=>p.toUpperCase())?.replace(/\s+/g,"")?.replace(/-/g," ")}static#e=this.\u0275fac=function(k){return new(k||_)};static#t=this.\u0275pipe=e.Yjl({name:"camelcase",type:_,pure:!0})}class E{transform(u,k,p){return u.replace(/(?:^\w|[A-Z]|\b\w)/g,(S,A)=>" "+S.toUpperCase())}static#e=this.\u0275fac=function(k){return new(k||E)};static#t=this.\u0275pipe=e.Yjl({name:"camelCaseWithSpaces",type:E,pure:!0})}class s{transform(u,k,p){return u=u?.toLowerCase().replace(/\s+/g,"")?.replace(/-/g," "),k&&(u=u.replace(new RegExp(k,"g")," ")),p&&(u=u.replace(new RegExp(p,"g")," ")),u.replace(/(?:^\w|[A-Z]|\b\w)/g,(S,A)=>S.toUpperCase())}static#e=this.\u0275fac=function(k){return new(k||s)};static#t=this.\u0275pipe=e.Yjl({name:"camelcaseWithReplace",type:s,pure:!0})}},1643:(Ve,X,m)=>{"use strict";m.d(X,{QM:()=>D,a1:()=>s,eQ:()=>u,fY:()=>k});var e=m(635),t=m(2560),_=m(3547),E=m(5986);class s{constructor(S,A){this.router=S,this.sessionService=A}canActivate(S){return!!this.sessionService.getItem("token")&&("settings"===S.url[0].path||"auth"===S.url[0].path||"true"!==this.sessionService.getItem("defaultPassword")||(this.router.navigate(["/settings/auth"]),!1))}static#e=this.\u0275fac=function(A){return new(A||s)(t.LFG(_.F0),t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:s,factory:s.\u0275fac})}class D{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.lndUnlocked))}static#e=this.\u0275fac=function(A){return new(A||D)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac})}class u{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.clUnlocked))}static#e=this.\u0275fac=function(A){return new(A||u)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac})}class k{constructor(S){this.sessionService=S}canActivate(){return!!this.sessionService.watchSession().pipe((0,e.U)(S=>S.eclUnlocked))}static#e=this.\u0275fac=function(A){return new(A||k)(t.LFG(E.m))};static#t=this.\u0275prov=t.Yz7({token:k,factory:k.\u0275fac})}},62:(Ve,X,m)=>{"use strict";m.d(X,{v:()=>A});var e=m(6317),t=m(745),_=m(5474),E=m(9295),s=m(635),D=m(3158),u=m(7731),k=m(2560),p=m(8104),S=m(5043);class A{constructor(M,z){this.dataService=M,this.logger=z,this.currencyUnits=[],this.CurrencyUnitEnum=u.NT,this.conversionData={data:null,last_fetched:null},this.ratesAPIStatus=u.Bn.UN_INITIATED,this.screenSize=u.cu.MD,this.containerSize={width:0,height:0},this.containerSizeUpdated=new e.X(this.containerSize)}getScreenSize(){return this.screenSize}setScreenSize(M){this.screenSize=M}getContainerSize(){return this.containerSize}setContainerSize(M,z){this.containerSize={width:M,height:z},this.logger.info("Container Size: "+JSON.stringify(this.containerSize)),this.containerSizeUpdated.next(this.containerSize)}sortByKey(M,z,I,W="asc"){return"number"===I?"desc"===W?M.sort((Z,j)=>+Z[z]>+j[z]?-1:1):M.sort((Z,j)=>+Z[z]>+j[z]?1:-1):"desc"===W?M.sort((Z,j)=>Z[z]>j[z]?-1:1):M.sort((Z,j)=>Z[z]>j[z]?1:-1)}sortDescByKey(M,z){return M.sort((I,W)=>{const Z=+I[z],j=+W[z];return Z>j?-1:Z{const Z=+I[z],j=+W[z];return Zj?1:0})}camelCase(M){return M?.replace(/(?:^\w|[A-Z]|\b\w)/g,(z,I)=>z.toUpperCase())?.replace(/\s+/g,"")?.replace(/-/g," ")}titleCase(M,z,I){return z&&I&&""!==z&&""!==I&&(M=M?.replace(new RegExp(z,"g"),I)),M.indexOf("!\n")>0||M.indexOf(".\n")>0?M.split("\n")?.reduce((W,Z)=>W+Z.charAt(0).toUpperCase()+Z.substring(1).toLowerCase()+"\n",""):M.indexOf(" ")>0?M.split(" ")?.reduce((W,Z)=>W+Z.charAt(0).toUpperCase()+Z.substring(1).toLowerCase()+" ",""):M.charAt(0).toUpperCase()+M.substring(1).toLowerCase()}convertCurrency(M,z,I,W,Z){const j=(new Date).valueOf();return Z&&W&&this.ratesAPIStatus!==u.Bn.INITIATED&&(z===u.NT.OTHER||I===u.NT.OTHER)?this.conversionData.data&&this.conversionData.last_fetched&&j(this.ratesAPIStatus=u.Bn.COMPLETED,this.conversionData.data=ae&&"object"==typeof ae?ae:ae&&"string"==typeof ae?JSON.parse(ae):{},this.conversionData.last_fetched=j,this.convertWithFiat(M,z,W))),(0,D.K)(ae=>(this.ratesAPIStatus=u.Bn.ERROR,(0,_._)(()=>this.extractErrorMessage(ae,"Currency Conversion Error.")))))):(0,t.of)(this.convertWithoutFiat(M,z))}convertWithoutFiat(M,z){const I={};switch(I[u.NT.SATS]=0,I[u.NT.BTC]=0,z){case u.NT.SATS:I[u.NT.SATS]=M,I[u.NT.BTC]=1e-8*M;break;case u.NT.BTC:I[u.NT.SATS]=1e8*M,I[u.NT.BTC]=M}return I}convertWithFiat(M,z,I){const W={unit:I,symbol:this.conversionData.data[I].symbol};switch(W[u.NT.SATS]=0,W[u.NT.BTC]=0,W[u.NT.OTHER]=0,z){case u.NT.SATS:W[u.NT.SATS]=M,W[u.NT.BTC]=1e-8*M,W[u.NT.OTHER]=1e-8*M*this.conversionData.data[I].last;break;case u.NT.BTC:W[u.NT.SATS]=1e8*M,W[u.NT.BTC]=M,W[u.NT.OTHER]=M*this.conversionData.data[I].last;break;case u.NT.OTHER:W[u.NT.SATS]=M/this.conversionData.data[I].last*1e8,W[u.NT.BTC]=M/this.conversionData.data[I].last,W[u.NT.OTHER]=M}return W}convertTime(M,z,I){switch(z){case u.Qk.SECS:switch(I){case u.Qk.MINS:M/=60;break;case u.Qk.HOURS:M/=3600;break;case u.Qk.DAYS:M/=86400}break;case u.Qk.MINS:switch(I){case u.Qk.SECS:M*=60;break;case u.Qk.HOURS:M/=60;break;case u.Qk.DAYS:M/=1440}break;case u.Qk.HOURS:switch(I){case u.Qk.SECS:M*=3600;break;case u.Qk.MINS:M*=60;break;case u.Qk.DAYS:M/=24}break;case u.Qk.DAYS:switch(I){case u.Qk.SECS:M=3600*M*24;break;case u.Qk.MINS:M=60*M*24;break;case u.Qk.HOURS:M*=24}}return M}downloadFile(M,z,I=".json",W=".csv"){let Z=new Blob;Z=".json"===I?new Blob(["\ufeff"+this.convertToCSV(M)],{type:"text/csv;charset=utf-8;"}):new Blob([M.toString()],{type:"text/plain;charset=utf-8"});const j=document.createElement("a"),ae=URL.createObjectURL(Z);-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&j.setAttribute("target","_blank"),j.setAttribute("href",ae),j.setAttribute("download",z+W),j.style.visibility="hidden",document.body.appendChild(j),j.click(),document.body.removeChild(j)}convertToCSV(M){const z=[];let I="",W="",Z="";return"object"!=typeof M&&(M=JSON.parse(M)),M.forEach((ae,re)=>{for(const pe in ae)z.findIndex(le=>le===pe)<0&&z.push(pe)}),Z=z.join(",")+"\r\n",M.forEach(ae=>{I="",z.forEach(re=>{ae.hasOwnProperty(re)?Array.isArray(ae[re])?(W="",ae[re].forEach((pe,le)=>{W+="object"==typeof pe?"("+JSON.stringify(pe)?.replace(/\,/g,";")+")":"("+pe+")"}),I+=W+","):"object"==typeof ae[re]?I+=JSON.stringify(ae[re])?.replace(/\,/g,";")+",":I+=ae[re]+",":I+=","}),Z+=I.slice(0,-1)+"\r\n"}),Z}isVersionCompatible(M,z){if(M){const I=M.trim()?.replace("v","").split("-")[0].split(".")||[],W=z.split(".");return+I[0]>+W[0]||+I[0]==+W[0]&&+I[1]>+W[1]||+I[0]==+W[0]&&+I[1]==+W[1]&&+I[2]>=+W[2]}return!1}extractErrorMessage(M,z="Unknown Error."){const I=this.titleCase(M.error&&M.error.text&&"string"==typeof M.error.text&&M.error.text.includes('')?"API Route Does Not Exist.":M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&M.error.error.error.error.error&&"string"==typeof M.error.error.error.error.error?M.error.error.error.error.error:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&"string"==typeof M.error.error.error.error?M.error.error.error.error:M.error&&M.error.error&&M.error.error.error&&"string"==typeof M.error.error.error?M.error.error.error:M.error&&M.error.error&&"string"==typeof M.error.error?M.error.error:M.error&&"string"==typeof M.error?M.error:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.error&&M.error.error.error.error.message&&"string"==typeof M.error.error.error.error.message?M.error.error.error.error.message:M.error&&M.error.error&&M.error.error.error&&M.error.error.error.message&&"string"==typeof M.error.error.error.message?M.error.error.error.message:M.error&&M.error.error&&M.error.error.message&&"string"==typeof M.error.error.message?M.error.error.message:M.error&&M.error.message&&"string"==typeof M.error.message?M.error.message:M.message&&"string"==typeof M.message?M.message:z);return this.logger.info("Error Message: "+I),I}extractErrorCode(M,z=500){const I=M.error&&M.error.error&&M.error.error.message&&M.error.error.message.code?M.error.error.message.code:M.error&&M.error.error&&M.error.error.code?M.error.error.code:M.error&&M.error.code?M.error.code:M.code?M.code:M.status?M.status:z;return this.logger.info("Error Code: "+I),I}extractErrorNumber(M,z=500){const I=M.error&&M.error.error&&M.error.error.errno?M.error.error.errno:M.error&&M.error.errno?M.error.errno:M.errno?M.errno:M.status?M.status:z;return this.logger.info("Error Number: "+I),I}ngOnDestroy(){this.containerSizeUpdated.next(null),this.containerSizeUpdated.complete()}static#e=this.\u0275fac=function(z){return new(z||A)(k.LFG(p.D),k.LFG(S.mQ))};static#t=this.\u0275prov=k.Yz7({token:A,factory:A.\u0275fac})}},7731:(Ve,X,m)=>{"use strict";m.d(X,{$I:()=>o,$v:()=>z,AB:()=>ke,At:()=>ee,Bn:()=>a,Df:()=>je,Dr:()=>S,Er:()=>s,Fq:()=>n,Gi:()=>le,HW:()=>de,H_:()=>We,IV:()=>u,IX:()=>N,JX:()=>B,LO:()=>D,NT:()=>pe,OJ:()=>ae,OO:()=>Ie,Pi:()=>De,Qk:()=>re,Qw:()=>d,TJ:()=>k,Vc:()=>A,Xk:()=>Re,Xr:()=>F,Xz:()=>E,Zs:()=>w,_t:()=>p,c3:()=>Oe,cu:()=>ve,g8:()=>W,gB:()=>Ye,gG:()=>fe,gK:()=>H,gg:()=>y,hG:()=>q,hZ:()=>be,hc:()=>h,kO:()=>v,lr:()=>Ge,m6:()=>C,nM:()=>I,n_:()=>j,ol:()=>Z,op:()=>L,p7:()=>ue,pg:()=>J,pt:()=>t,uA:()=>_,uR:()=>Fe,vn:()=>P,wZ:()=>M,x$:()=>$,zZ:()=>ne});var e=m(6060);function t(oe){const pt=new e.ye;return pt.itemsPerPageLabel=oe+" per page:",pt}const _=["Sats","BTC"],E={Sats:"1.0-0",BTC:"1.6-6",OTHER:"1.2-2"},s=[{id:"USD",name:"USD"},{id:"AUD",name:"AUD"},{id:"BRL",name:"BRL"},{id:"CAD",name:"CAD"},{id:"CHF",name:"CHF"},{id:"CLP",name:"CLP"},{id:"CNY",name:"CNY"},{id:"DKK",name:"DKK"},{id:"EUR",name:"EUR"},{id:"GBP",name:"GBP"},{id:"HKD",name:"HKD"},{id:"INR",name:"INR"},{id:"ISK",name:"ISK"},{id:"JPY",name:"JPY"},{id:"KRW",name:"KRW"},{id:"NZD",name:"NZD"},{id:"PLN",name:"PLN"},{id:"RUB",name:"RUB"},{id:"SEK",name:"SEK"},{id:"SGD",name:"SGD"},{id:"THB",name:"THB"},{id:"TWD",name:"TWD"}],D=["SECS","MINS","HOURS","DAYS"],u=10,k=[5,10,25,100],p=[{addressId:"0",addressCode:"bech32",addressTp:"Bech32 (P2WKH)",addressDetails:"Pay to witness key hash"},{addressId:"1",addressCode:"p2sh-segwit",addressTp:"P2SH (NP2WKH)",addressDetails:"Pay to nested witness key hash (default)"},{addressId:"4",addressCode:"p2tr",addressTp:"Taproot (P2TR)",addressDetails:"Pay to taproot pubkey"}],S=[{id:"0",name:"Priority (Default)"},{id:"1",name:"Target Confirmation Blocks"},{id:"2",name:"Fee"}],A=[{id:"none",name:"No Fee Limit",placeholder:"No Limit"},{id:"fixed",name:"Fixed Limit (Sats)",placeholder:"Fixed Limit in Sats"},{id:"percent",name:"Percentage of Payment Amount",placeholder:"Percentage Limit"}],P=[{feeRateId:"urgent",feeRateType:"Urgent"},{feeRateId:"normal",feeRateType:"Normal"},{feeRateId:"slow",feeRateType:"Slow"},{feeRateId:"customperkb",feeRateType:"Custom (Sats/vByte)"}],M={themes:[{id:"PURPLE",name:"Diogo"},{id:"TEAL",name:"My2Sats"},{id:"INDIGO",name:"RTL"},{id:"PINK",name:"BK"},{id:"YELLOW",name:"Gold"}],modes:[{id:"DAY",name:"Day"},{id:"NIGHT",name:"Night"}]};var z,oe,I,W,Z,j,ae,re,pe,le,ve;(oe=z||(z={})).PAYMENT_RECEIVED="payment-received",oe.PAYMENT_RELAYED="payment-relayed",oe.PAYMENT_SENT="payment-sent",oe.PAYMENT_SETTLING_ONCHAIN="payment-settling-onchain",oe.PAYMENT_FAILED="payment-failed",oe.CHANNEL_OPENED="channel-opened",oe.CHANNEL_STATE_CHANGED="channel-state-changed",oe.CHANNEL_CLOSED="channel-closed",function(oe){oe.INVOICE="invoice",oe.BLOCK_HEIGHT="block-height",oe.SEND_PAYMENT="send-payment"}(I||(I={})),function(oe){oe.INVOICE="invoice"}(W||(W={})),function(oe){oe.OPERATOR="OPERATOR",oe.MERCHANT="MERCHANT",oe.ALL="ALL"}(Z||(Z={})),function(oe){oe.INFORMATION="Information",oe.WARNING="Warning",oe.ERROR="Error",oe.SUCCESS="Success",oe.CONFIRM="Confirm"}(j||(j={})),function(oe){oe.JWT="JWT",oe.PASSWORD="PASSWORD"}(ae||(ae={})),function(oe){oe.SECS="SECS",oe.MINS="MINS",oe.HOURS="HOURS",oe.DAYS="DAYS"}(re||(re={})),function(oe){oe.SATS="Sats",oe.BTC="BTC",oe.OTHER="OTHER"}(pe||(pe={})),function(oe){oe.ARRAY="ARRAY",oe.NUMBER="NUMBER",oe.STRING="STRING",oe.BOOLEAN="BOOLEAN",oe.PASSWORD="PASSWORD",oe.DATE="DATE",oe.DATE_TIME="DATE_TIME"}(le||(le={})),function(oe){oe.XS="XS",oe.SM="SM",oe.MD="MD",oe.LG="LG",oe.XL="XL"}(ve||(ve={}));const de={COOPERATIVE_CLOSE:{name:"Co-operative Close",tooltip:"Channel closed cooperatively"},LOCAL_FORCE_CLOSE:{name:"Local Force Close",tooltip:"Channel force-closed by the local node"},REMOTE_FORCE_CLOSE:{name:"Remote Force Close",tooltip:"Channel force-closed by the remote node"},BREACH_CLOSE:{name:"Breach Close",tooltip:"Remote node attempted to broadcast a prior revoked channel state"},FUNDING_CANCELED:{name:"Funding Canceled",tooltip:"Channel never fully opened"},ABANDONED:{name:"Abandoned",tooltip:"Channel abandoned by the local node"}},$={WITNESS_PUBKEY_HASH:{name:"Witness Pubkey Hash",tooltip:""},NESTED_PUBKEY_HASH:{name:"Nested Pubkey Hash",tooltip:""},UNUSED_WITNESS_PUBKEY_HASH:{name:"Unused Witness Pubkey Hash",tooltip:""},UNUSED_NESTED_PUBKEY_HASH:{name:"Unused Nested Pubkey Hash",tooltip:""},TAPROOT_PUBKEY:{name:"Taproot Pubkey Hash",tooltip:""}};var ue,w,n,o,h,d;!function(oe){oe.WIRE_INVALID_ONION_VERSION="Invalid Onion Version",oe.WIRE_INVALID_ONION_HMAC="Invalid Onion HMAC",oe.WIRE_INVALID_ONION_KEY="Invalid Onion Key",oe.WIRE_TEMPORARY_CHANNEL_FAILURE="Temporary Channel Failure",oe.WIRE_PERMANENT_CHANNEL_FAILURE="Permanent Channel Failure",oe.WIRE_REQUIRED_CHANNEL_FEATURE_MISSING="Missing Required Channel Feature",oe.WIRE_UNKNOWN_NEXT_PEER="Unknown Next Peer",oe.WIRE_AMOUNT_BELOW_MINIMUM="Amount Below Minimum",oe.WIRE_FEE_INSUFFICIENT="Insufficient Fee",oe.WIRE_INCORRECT_CLTV_EXPIRY="Incorrect CLTV Expiry",oe.WIRE_EXPIRY_TOO_FAR="Expiry Too Far",oe.WIRE_EXPIRY_TOO_SOON="Expiry Too Soon",oe.WIRE_CHANNEL_DISABLED="Channel Disabled",oe.WIRE_INVALID_ONION_PAYLOAD="Invalid Onion Payload",oe.WIRE_INVALID_REALM="Invalid Realm",oe.WIRE_PERMANENT_NODE_FAILURE="Permanent Node Failure",oe.WIRE_TEMPORARY_NODE_FAILURE="Temporary Node Failure",oe.WIRE_REQUIRED_NODE_FEATURE_MISSING="Missing Required Node Feature",oe.WIRE_INVALID_ONION_BLINDING="Invalid Onion Binding",oe.WIRE_INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS="Incorrect or Unknow Payment Details",oe.WIRE_MPP_TIMEOUT="MPP Timeout",oe.WIRE_FINAL_INCORRECT_CLTV_EXPIRY="Incorrect CLTV Expiry",oe.WIRE_FINAL_INCORRECT_HTLC_AMOUNT="Incorrect HTLC Amount"}(ue||(ue={})),function(oe){oe.CHANNELD_NORMAL="Active",oe.OPENINGD="Opening",oe.CHANNELD_AWAITING_LOCKIN="Pending Open",oe.CHANNELD_SHUTTING_DOWN="Shutting Down",oe.CLOSINGD_SIGEXCHANGE="Closing: Sig Exchange",oe.CLOSINGD_COMPLETE="Closed",oe.AWAITING_UNILATERAL="Awaiting Unilateral Close",oe.FUNDING_SPEND_SEEN="Funding Spend Seen",oe.ONCHAIN="Onchain",oe.DUALOPEND_OPEN_INIT="Dual Open Initialized",oe.DUALOPEND_AWAITING_LOCKIN="Dual Pending Open"}(w||(w={})),function(oe){oe.INITIATED="Initiated",oe.PREIMAGE_REVEALED="Preimage Revealed",oe.HTLC_PUBLISHED="HTLC Published",oe.SUCCESS="Successful",oe.FAILED="Failed",oe.INVOICE_SETTLED="Invoice Settled"}(n||(n={})),function(oe){oe.LOOP_OUT="LOOP_OUT",oe.LOOP_IN="LOOP_IN"}(o||(o={})),function(oe){oe.SWAP_OUT="SWAP_OUT",oe.SWAP_IN="SWAP_IN"}(h||(h={})),function(oe){oe["swap.created"]="Swap Created",oe["swap.expired"]="Swap Expired",oe["invoice.set"]="Invoice Set",oe["invoice.paid"]="Invoice Paid",oe["invoice.pending"]="Invoice Pending",oe["invoice.settled"]="Invoice Settled",oe["invoice.failedToPay"]="Invoice Failed To Pay",oe["channel.created"]="Channel Created",oe["transaction.failed"]="Transaction Failed",oe["transaction.mempool"]="Transaction Mempool",oe["transaction.claimed"]="Transaction Claimed",oe["transaction.refunded"]="Transaction Refunded",oe["transaction.confirmed"]="Transaction Confirmed",oe["swap.refunded"]="Swap Refunded",oe["swap.abandoned"]="Swap Abandoned"}(d||(d={}));const y=[{name:"Jan",days:31},{name:"Feb",days:28},{name:"Mar",days:31},{name:"Apr",days:30},{name:"May",days:31},{name:"Jun",days:30},{name:"Jul",days:31},{name:"Aug",days:31},{name:"Sep",days:30},{name:"Oct",days:31},{name:"Nov",days:30},{name:"Dec",days:31}],L=["MONTHLY","YEARLY"];var B;!function(oe){oe.LOOP="LOOP",oe.BOLTZ="BOLTZ",oe.OFFERS="OFFERS",oe.PEERSWAP="PEERSWAP"}(B||(B={}));const v=["password","changeme","moneyprintergobrrr"];var a;!function(oe){oe.UN_INITIATED="UN_INITIATED",oe.INITIATED="INITIATED",oe.COMPLETED="COMPLETED",oe.ERROR="ERROR"}(a||(a={}));const C={NO_SPINNER:"No Spinner...",GET_NODE_INFO:"Getting Node Information...",INITALIZE_NODE_DATA:"Initializing Node Data...",GENERATE_NEW_ADDRESS:"Getting New Address...",SEND_FUNDS:"Sending Funds...",UPDATE_CHAN_POLICY:"Updating Channel Policy...",GET_CHAN_POLICY:"Fetching Channel Policy...",GET_REMOTE_POLICY:"Fetching Remote Policy...",CLOSE_CHANNEL:"Closing Channel...",FORCE_CLOSE_CHANNEL:"Force Closing Channel...",OPEN_CHANNEL:"Opening Channel...",CONNECT_PEER:"Connecting Peer...",DISCONNECT_PEER:"Disconnecting Peer...",ADD_INVOICE:"Adding Invoice...",CREATE_INVOICE:"Creating Invoice...",DELETE_INVOICE:"Deleting Invoices...",DECODE_PAYMENT:"Decoding Payment...",DECODE_OFFER:"Decoding Offer...",DECODE_PAYMENTS:"Decoding Payments...",FETCH_INVOICE:"Fetching Invoice...",GET_SENT_PAYMENTS:"Getting Sent Payments...",SEND_PAYMENT:"Sending Payment...",SEND_KEYSEND:"Sending Keysend Payment...",SEARCHING_NODE:"Searching Node...",SEARCHING_CHANNEL:"Searching Channel...",SEARCHING_INVOICE:"Searching Invoice...",SEARCHING_PAYMENT:"Searching Payment...",BACKUP_CHANNEL:"Backup Channels...",VERIFY_CHANNEL:"Verify Channel...",DOWNLOAD_BACKUP_FILE:"Downloading Backup File...",RESTORE_CHANNEL:"Restoring Channels...",GET_TERMS_QUOTES:"Getting Terms and Quotes...",LABEL_UTXO:"Labelling UTXO...",GET_NODE_ADDRESS:"Getting Node Address...",GEN_SEED:"Generating Seed...",INITIALIZE_WALLET:"Initializing Wallet...",UNLOCK_WALLET:"Unlocking Wallet...",WAIT_SYNC_NODE:"Waiting for Node Sync...",UPDATE_BOLTZ_SETTINGS:"Updating Boltz Service Settings...",UPDATE_LOOP_SETTINGS:"Updating Loop Service Settings...",UPDATE_PEERSWAP_SETTINGS:"Updating Peerswap Service Settings...",UPDATE_SETTING:"Updating Setting...",UPDATE_UI_SETTINGS:"Updating Settings...",UPDATE_NODE_SETTINGS:"Updating Node Settings...",UPDATE_SELECTED_NODE:"Updating Selected Node...",OPEN_CONFIG_FILE:"Opening Config File...",GET_SERVICE_INFO:"Getting Service Info...",GET_QUOTE:"Getting Quotes...",UPDATE_DEFAULT_NODE_SETTING:"Updating Defaule Node Settings...",GET_BOLTZ_SWAPS:"Getting Boltz Swaps...",SIGN_MESSAGE:"Signing Message...",VERIFY_MESSAGE:"Verifying Message...",BUMP_FEE:"Bumping Fee...",LEASE_UTXO:"Leasing UTXO...",GET_LOOP_SWAPS:"Getting List Swaps...",GET_FORWARDING_HISTORY:"Getting Forwarding History...",GET_LOOKUP_DETAILS:"Getting Lookup Details...",GET_RTL_CONFIG:"Getting RTL Config...",VERIFY_TOKEN:"Verify Token...",DISABLE_OFFER:"Disabling Offer...",CREATE_OFFER:"Creating Offer...",DELETE_OFFER_BOOKMARK:"Deleting Bookmark...",GET_FUNDER_POLICY:"Getting Or Updating Funder Policy...",GET_LIST_CONFIGS:"Getting Configurations List...",LIST_NETWORK_NODES:"Getting Network Nodes List...",GET_PAGE_SETTINGS:"Getting Page Settings...",SET_PAGE_SETTINGS:"Setting Page Settings...",UPDATE_PAGE_SETTINGS:"Updating Page Layout...",LOG_OUT:"Logging Out..."};var N,F,J,Fe,ke,Ge;!function(oe){oe.INVOICE="INVOICE",oe.OFFER="OFFER",oe.KEYSEND="KEYSEND"}(N||(N={})),function(oe){oe.FEES="FEES",oe.EVENTS="EVENTS"}(F||(F={})),function(oe){oe.VOID="VOID",oe.SET_API_URL_ECL="SET_API_URL_ECL",oe.UPDATE_SELECTED_NODE_OPTIONS="UPDATE_SELECTED_NODE_OPTIONS",oe.UPDATE_API_CALL_STATUS_ROOT="UPDATE_API_CALL_STATUS_ROOT",oe.RESET_ROOT_STORE="RESET_ROOT_STORE",oe.CLOSE_ALL_DIALOGS="CLOSE_ALL_DIALOGS",oe.OPEN_SNACK_BAR="OPEN_SNACKBAR",oe.OPEN_SPINNER="OPEN_SPINNER",oe.CLOSE_SPINNER="CLOSE_SPINNER",oe.OPEN_ALERT="OPEN_ALERT",oe.CLOSE_ALERT="CLOSE_ALERT",oe.OPEN_CONFIRMATION="OPEN_CONFIRMATION",oe.CLOSE_CONFIRMATION="CLOSE_CONFIRMATION",oe.SHOW_PUBKEY="SHOW_PUBKEY",oe.FETCH_CONFIG="FETCH_CONFIG",oe.SHOW_CONFIG="SHOW_CONFIG",oe.FETCH_STORE="FETCH_STORE",oe.SET_STORE="SET_STORE",oe.FETCH_RTL_CONFIG="FETCH_RTL_CONFIG",oe.SET_RTL_CONFIG="SET_RTL_CONFIG",oe.SAVE_SSO="SAVE_SSO",oe.SAVE_SETTINGS="SAVE_SETTINGS",oe.TWO_FA_SAVE_SETTINGS="TWO_FA_SAVE_SETTINGS",oe.SET_SELECTED_NODE="SET_SELECTED_NODE",oe.UPDATE_ROOT_NODE_SETTINGS="UPDATE_ROOT_NODE_SETTINGS",oe.UPDATE_SERVICE_SETTINGS="UPDATE_SERVICE_SETTINGS",oe.SET_NODE_DATA="SET_NODE_DATA",oe.IS_AUTHORIZED="IS_AUTHORIZED",oe.IS_AUTHORIZED_RES="IS_AUTHORIZED_RES",oe.LOGIN="LOGIN",oe.VERIFY_TWO_FA="VERIFY_TWO_FA",oe.LOGOUT="LOGOUT",oe.RESET_PASSWORD="RESET_PASSWORD",oe.RESET_PASSWORD_RES="RESET_PASSWORD_RES",oe.FETCH_FILE="FETCH_FILE",oe.SHOW_FILE="SHOW_FILE"}(J||(J={})),function(oe){oe.RESET_LND_STORE="RESET_LND_STORE",oe.UPDATE_API_CALL_STATUS_LND="UPDATE_API_CALL_STATUS_LND",oe.SET_CHILD_NODE_SETTINGS_LND="SET_CHILD_NODE_SETTINGS_LND",oe.FETCH_PAGE_SETTINGS_LND="FETCH_PAGE_SETTINGS_LND",oe.SET_PAGE_SETTINGS_LND="SET_PAGE_SETTINGS_LND",oe.SAVE_PAGE_SETTINGS_LND="SAVE_PAGE_SETTINGS_LND",oe.FETCH_INFO_LND="FETCH_INFO_LND",oe.SET_INFO_LND="SET_INFO_LND",oe.FETCH_PEERS_LND="FETCH_PEERS_LND",oe.SET_PEERS_LND="SET_PEERS_LND",oe.SAVE_NEW_PEER_LND="SAVE_NEW_PEER_LND",oe.NEWLY_ADDED_PEER_LND="NEWLY_ADDED_PEER_LND",oe.DETACH_PEER_LND="DETACH_PEER_LND",oe.REMOVE_PEER_LND="REMOVE_PEER_LND",oe.SAVE_NEW_INVOICE_LND="SAVE_NEW_INVOICE_LND",oe.NEWLY_SAVED_INVOICE_LND="NEWLY_SAVED_INVOICE_LND",oe.ADD_INVOICE_LND="ADD_INVOICE_LND",oe.FETCH_FEES_LND="FETCH_FEES_LND",oe.SET_FEES_LND="SET_FEES_LND",oe.FETCH_BLOCKCHAIN_BALANCE_LND="FETCH_BLOCKCHAIN_BALANCE_LND",oe.SET_BLOCKCHAIN_BALANCE_LND="SET_BLOCKCHAIN_BALANCE_LND",oe.FETCH_NETWORK_LND="FETCH_NETWORK_LND",oe.SET_NETWORK_LND="SET_NETWORK_LND",oe.FETCH_CHANNELS_LND="FETCH_CHANNELS_LND",oe.FETCH_PENDING_CHANNELS_LND="FETCH_PENDING_CHANNELS_LND",oe.FETCH_CLOSED_CHANNELS_LND="FETCH_CLOSED_CHANNELS_LND",oe.SET_CHANNELS_LND="SET_CHANNELS_LND",oe.SET_PENDING_CHANNELS_LND="SET_PENDING_CHANNELS_LND",oe.SET_CLOSED_CHANNELS_LND="SET_CLOSED_CHANNELS_LND",oe.UPDATE_CHANNEL_LND="UPDATE_CHANNEL_LND",oe.SAVE_NEW_CHANNEL_LND="SAVE_NEW_CHANNEL_LND",oe.CLOSE_CHANNEL_LND="CLOSE_CHANNEL_LND",oe.REMOVE_CHANNEL_LND="REMOVE_CHANNEL_LND",oe.BACKUP_CHANNELS_LND="BACKUP_CHANNELS_LND",oe.VERIFY_CHANNEL_LND="VERIFY_CHANNEL_LND",oe.BACKUP_CHANNELS_RES_LND="BACKUP_CHANNELS_RES_LND",oe.VERIFY_CHANNEL_RES_LND="VERIFY_CHANNEL_RES_LND",oe.RESTORE_CHANNELS_LIST_LND="RESTORE_CHANNELS_LIST_LND",oe.SET_RESTORE_CHANNELS_LIST_LND="SET_RESTORE_CHANNELS_LIST_LND",oe.RESTORE_CHANNELS_LND="RESTORE_CHANNELS_LND",oe.RESTORE_CHANNELS_RES_LND="RESTORE_CHANNELS_RES_LND",oe.FETCH_INVOICES_LND="FETCH_INVOICES_LND",oe.SET_INVOICES_LND="SET_INVOICES_LND",oe.UPDATE_INVOICE_LND="UPDATE_INVOICE_LND",oe.UPDATE_PAYMENT_LND="UPDATE_PAYMENT_LND",oe.SET_TOTAL_INVOICES_LND="SET_TOTAL_INVOICES_LND",oe.FETCH_TRANSACTIONS_LND="FETCH_TRANSACTIONS_LND",oe.SET_TRANSACTIONS_LND="SET_TRANSACTIONS_LND",oe.FETCH_UTXOS_LND="FETCH_UTXOS_LND",oe.SET_UTXOS_LND="SET_UTXOS_LND",oe.FETCH_PAYMENTS_LND="FETCH_PAYMENTS_LND",oe.SET_PAYMENTS_LND="SET_PAYMENTS_LND",oe.SEND_PAYMENT_LND="SEND_PAYMENT_LND",oe.SEND_PAYMENT_STATUS_LND="SEND_PAYMENT_STATUS_LND",oe.FETCH_GRAPH_NODE_LND="FETCH_GRAPH_NODE_LND",oe.SET_GRAPH_NODE_LND="SET_GRAPH_NODE_LND",oe.GET_NEW_ADDRESS_LND="GET_NEW_ADDRESS_LND",oe.SET_NEW_ADDRESS_LND="SET_NEW_ADDRESS_LND",oe.SET_CHANNEL_TRANSACTION_LND="SET_CHANNEL_TRANSACTION_LND",oe.SET_CHANNEL_TRANSACTION_RES_LND="SET_CHANNEL_TRANSACTION_RES_LND",oe.GEN_SEED_LND="GEN_SEED_LND",oe.GEN_SEED_RESPONSE_LND="GEN_SEED_RESPONSE_LND",oe.INIT_WALLET_LND="INIT_WALLET_LND",oe.INIT_WALLET_RESPONSE_LND="INIT_WALLET_RESPONSE_LND",oe.UNLOCK_WALLET_LND="UNLOCK_WALLET_LND",oe.PEER_LOOKUP_LND="PEER_LOOKUP_LND",oe.CHANNEL_LOOKUP_LND="CHANNEL_LOOKUP_LND",oe.INVOICE_LOOKUP_LND="INVOICE_LOOKUP_LND",oe.PAYMENT_LOOKUP_LND="PAYMENT_LOOKUP_LND",oe.SET_LOOKUP_LND="SET_LOOKUP_LND",oe.GET_FORWARDING_HISTORY_LND="GET_FORWARDING_HISTORY_LND",oe.SET_FORWARDING_HISTORY_LND="SET_FORWARDING_HISTORY_LND",oe.GET_QUERY_ROUTES_LND="GET_QUERY_ROUTES_LND",oe.SET_QUERY_ROUTES_LND="SET_QUERY_ROUTES_LND",oe.GET_ALL_LIGHTNING_TRANSATIONS_LND="GET_ALL_LIGHTNING_TRANSATIONS_LND",oe.SET_ALL_LIGHTNING_TRANSATIONS_LND="SET_ALL_LIGHTNING_TRANSATIONS_LND"}(Fe||(Fe={})),function(oe){oe.RESET_CLN_STORE="RESET_CLN_STORE",oe.UPDATE_API_CALL_STATUS_CLN="UPDATE_API_CALL_STATUS_CLN",oe.SET_CHILD_NODE_SETTINGS_CLN="SET_CHILD_NODE_SETTINGS_CLN",oe.FETCH_PAGE_SETTINGS_CLN="FETCH_PAGE_SETTINGS_CLN",oe.SET_PAGE_SETTINGS_CLN="SET_PAGE_SETTINGS_CLN",oe.SAVE_PAGE_SETTINGS_CLN="SAVE_PAGE_SETTINGS_CLN",oe.FETCH_INFO_CLN="FETCH_INFO_CL_CLN",oe.SET_INFO_CLN="SET_INFO_CLN",oe.FETCH_FEES_CLN="FETCH_FEES_CLN",oe.SET_FEES_CLN="SET_FEES_CLN",oe.FETCH_FEE_RATES_CLN="FETCH_FEE_RATES_CLN",oe.SET_FEE_RATES_CLN="SET_FEE_RATES_CLN",oe.FETCH_BALANCE_CLN="FETCH_BALANCE_CLN",oe.SET_BALANCE_CLN="SET_BALANCE_CLN",oe.FETCH_LOCAL_REMOTE_BALANCE_CLN="FETCH_LOCAL_REMOTE_BALANCE_CLN",oe.SET_LOCAL_REMOTE_BALANCE_CLN="SET_LOCAL_REMOTE_BALANCE_CLN",oe.GET_NEW_ADDRESS_CLN="GET_NEW_ADDRESS_CLN",oe.SET_NEW_ADDRESS_CLN="SET_NEW_ADDRESS_CLN",oe.FETCH_UTXOS_CLN="FETCH_UTXOS_CLN",oe.SET_UTXOS_CLN="SET_UTXOS_CLN",oe.FETCH_PEERS_CLN="FETCH_PEERS_CLN",oe.SET_PEERS_CLN="SET_PEERS_CLN",oe.SAVE_NEW_PEER_CLN="SAVE_NEW_PEER_CLN",oe.NEWLY_ADDED_PEER_CLN="NEWLY_ADDED_PEER_CLN",oe.ADD_PEER_CLN="ADD_PEER_CLN",oe.DETACH_PEER_CLN="DETACH_PEER_CLN",oe.REMOVE_PEER_CLN="REMOVE_PEER_CLN",oe.FETCH_CHANNELS_CLN="FETCH_CHANNELS_CLN",oe.SET_CHANNELS_CLN="SET_CHANNELS_CLN",oe.UPDATE_CHANNEL_CLN="UPDATE_CHANNEL_CLN",oe.SAVE_NEW_CHANNEL_CLN="SAVE_NEW_CHANNEL_CLN",oe.CLOSE_CHANNEL_CLN="CLOSE_CHANNEL_CLN",oe.REMOVE_CHANNEL_CLN="REMOVE_CHANNEL_CLN",oe.FETCH_PAYMENTS_CLN="FETCH_PAYMENTS_CLN",oe.SET_PAYMENTS_CLN="SET_PAYMENTS_CLN",oe.SEND_PAYMENT_CLN="SEND_PAYMENT_CLN",oe.SEND_PAYMENT_STATUS_CLN="SEND_PAYMENT_STATUS_CLN",oe.GET_QUERY_ROUTES_CLN="GET_QUERY_ROUTES_CLN",oe.SET_QUERY_ROUTES_CLN="SET_QUERY_ROUTES_CLN",oe.PEER_LOOKUP_CLN="PEER_LOOKUP_CLN",oe.CHANNEL_LOOKUP_CLN="CHANNEL_LOOKUP_CLN",oe.INVOICE_LOOKUP_CLN="INVOICE_LOOKUP_CLN",oe.SET_LOOKUP_CLN="SET_LOOKUP_CLN",oe.GET_FORWARDING_HISTORY_CLN="GET_FORWARDING_HISTORY_CLN",oe.SET_FORWARDING_HISTORY_CLN="SET_FORWARDING_HISTORY_CLN",oe.GET_FAILED_FORWARDING_HISTORY_CLN="GET_FAILED_FORWARDING_HISTORY_CLN",oe.SET_FAILED_FORWARDING_HISTORY_CLN="SET_FAILED_FORWARDING_HISTORY_CLN",oe.GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN="GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN",oe.SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN="SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN",oe.FETCH_INVOICES_CLN="FETCH_INVOICES_CLN",oe.SET_INVOICES_CLN="SET_INVOICES_CLN",oe.SAVE_NEW_INVOICE_CLN="SAVE_NEW_INVOICE_CLN",oe.ADD_INVOICE_CLN="ADD_INVOICE_CLN",oe.UPDATE_INVOICE_CLN="UPDATE_INVOICE_CLN",oe.DELETE_EXPIRED_INVOICE_CLN="DELETE_EXPIRED_INVOICE_CLN",oe.SET_CHANNEL_TRANSACTION_CLN="SET_CHANNEL_TRANSACTION_CLN",oe.SET_CHANNEL_TRANSACTION_RES_CLN="SET_CHANNEL_TRANSACTION_RES_CLN",oe.FETCH_OFFER_INVOICE_CLN="FETCH_OFFER_INVOICE_CLN",oe.SET_OFFER_INVOICE_CLN="SET_OFFER_INVOICE_CLN",oe.FETCH_OFFERS_CLN="FETCH_OFFERS_CLN",oe.SET_OFFERS_CLN="SET_OFFERS_CLN",oe.SAVE_NEW_OFFER_CLN="SAVE_NEW_OFFER_CLN",oe.ADD_OFFER_CLN="ADD_OFFER_CLN",oe.DISABLE_OFFER_CLN="DISABLE_OFFER_CLN",oe.UPDATE_OFFER_CLN="UPDATE_OFFER_CLN",oe.FETCH_OFFER_BOOKMARKS_CLN="FETCH_OFFER_BOOKMARKS_CLN",oe.SET_OFFER_BOOKMARKS_CLN="SET_OFFER_BOOKMARKS_CLN",oe.ADD_UPDATE_OFFER_BOOKMARK_CLN="ADD_UPDATE_OFFER_BOOKMARK_CLN",oe.DELETE_OFFER_BOOKMARK_CLN="DELETE_OFFER_BOOKMARK_CLN",oe.REMOVE_OFFER_BOOKMARK_CLN="REMOVE_OFFER_BOOKMARK_CL"}(ke||(ke={})),function(oe){oe.RESET_ECL_STORE="RESET_ECL_STORE",oe.UPDATE_API_CALL_STATUS_ECL="UPDATE_API_CALL_STATUS_ECL",oe.SET_CHILD_NODE_SETTINGS_ECL="SET_CHILD_NODE_SETTINGS_ECL",oe.FETCH_PAGE_SETTINGS_ECL="FETCH_PAGE_SETTINGS_ECL",oe.SET_PAGE_SETTINGS_ECL="SET_PAGE_SETTINGS_ECL",oe.SAVE_PAGE_SETTINGS_ECL="SAVE_PAGE_SETTINGS_ECL",oe.FETCH_INFO_ECL="FETCH_INFO_ECL",oe.SET_INFO_ECL="SET_INFO_ECL",oe.FETCH_FEES_ECL="FETCH_FEES_ECL",oe.SET_FEES_ECL="SET_FEES_ECL",oe.FETCH_CHANNELS_ECL="FETCH_CHANNELS_ECL",oe.SET_ACTIVE_CHANNELS_ECL="SET_ACTIVE_CHANNELS_ECL",oe.SET_PENDING_CHANNELS_ECL="SET_PENDING_CHANNELS_ECL",oe.SET_INACTIVE_CHANNELS_ECL="SET_INACTIVE_CHANNELS_ECL",oe.FETCH_ONCHAIN_BALANCE_ECL="FETCH_ONCHAIN_BALANCE_ECL",oe.SET_ONCHAIN_BALANCE_ECL="SET_ONCHAIN_BALANCE_ECL",oe.FETCH_LIGHTNING_BALANCE_ECL="FETCH_LIGHTNING_BALANCE_ECL",oe.SET_LIGHTNING_BALANCE_ECL="SET_LIGHTNING_BALANCE_ECL",oe.SET_CHANNELS_STATUS_ECL="SET_CHANNELS_STATUS_ECL",oe.FETCH_PEERS_ECL="FETCH_PEERS_ECL",oe.SET_PEERS_ECL="SET_PEERS_ECL",oe.SAVE_NEW_PEER_ECL="SAVE_NEW_PEER_ECL",oe.NEWLY_ADDED_PEER_ECL="NEWLY_ADDED_PEER_ECL",oe.ADD_PEER_ECL="ADD_PEER_ECL",oe.DETACH_PEER_ECL="DETACH_PEER_ECL",oe.REMOVE_PEER_ECL="REMOVE_PEER_ECL",oe.GET_NEW_ADDRESS_ECL="GET_NEW_ADDRESS_ECL",oe.SET_NEW_ADDRESS_ECL="SET_NEW_ADDRESS_ECL",oe.SAVE_NEW_CHANNEL_ECL="SAVE_NEW_CHANNEL_ECL",oe.UPDATE_CHANNEL_ECL="UPDATE_CHANNEL_ECL",oe.CLOSE_CHANNEL_ECL="CLOSE_CHANNEL_ECL",oe.REMOVE_CHANNEL_ECL="REMOVE_CHANNEL_ECL",oe.FETCH_PAYMENTS_ECL="FETCH_PAYMENTS_ECL",oe.SET_PAYMENTS_ECL="SET_PAYMENTS_ECL",oe.GET_QUERY_ROUTES_ECL="GET_QUERY_ROUTES_ECL",oe.SET_QUERY_ROUTES_ECL="SET_QUERY_ROUTES_ECL",oe.SEND_PAYMENT_ECL="SEND_PAYMENT_ECL",oe.SEND_PAYMENT_STATUS_ECL="SEND_PAYMENT_STATUS_ECL",oe.FETCH_TRANSACTIONS_ECL="FETCH_TRANSACTIONS_ECL",oe.SET_TRANSACTIONS_ECL="SET_TRANSACTIONS_ECL",oe.SEND_ONCHAIN_FUNDS_ECL="SEND_ONCHAIN_FUNDS_ECL",oe.SEND_ONCHAIN_FUNDS_RES_ECL="SEND_ONCHAIN_FUNDS_RES_ECL",oe.FETCH_INVOICES_ECL="FETCH_INVOICES_ECL",oe.SET_INVOICES_ECL="SET_INVOICES_ECL",oe.SET_TOTAL_INVOICES_ECL="SET_TOTAL_INVOICES_ECL",oe.CREATE_INVOICE_ECL="CREATE_INVOICE_ECL",oe.ADD_INVOICE_ECL="ADD_INVOICE_ECL",oe.UPDATE_INVOICE_ECL="UPDATE_INVOICE_ECL",oe.PEER_LOOKUP_ECL="PEER_LOOKUP_ECL",oe.INVOICE_LOOKUP_ECL="INVOICE_LOOKUP_ECL",oe.SET_LOOKUP_ECL="SET_LOOKUP_ECL",oe.UPDATE_CHANNEL_STATE_ECL="UPDATE_CHANNEL_STATE_ECL",oe.UPDATE_RELAYED_PAYMENT_ECL="UPDATE_RELAYED_PAYMENT_ECL"}(Ge||(Ge={}));const je=[{range:{min:0,max:1},description:"Requires or supports extra channel re-establish fields"},{range:{min:4,max:5},description:"Commits to a shutdown script pubkey when opening channel"},{range:{min:6,max:7},description:"More sophisticated gossip control"},{range:{min:8,max:9},description:"Requires/supports variable-length routing onion payloads"},{range:{min:10,max:11},description:"Gossip queries can include additional information"},{range:{min:12,max:13},description:"Static key for remote output"},{range:{min:14,max:15},description:"Node supports payment secret field"},{range:{min:16,max:17},description:"Node can receive basic multi-part payments"},{range:{min:18,max:19},description:"Node can create large channels"},{range:{min:20,max:21},description:"Anchor outputs"},{range:{min:22,max:23},description:"Anchor commitment type with zero fee HTLC transactions"},{range:{min:26,max:27},description:"Future segwit versions allowed in shutdown"}];var We,be;!function(oe){oe.gossip_queries_ex="Gossip queries including additional information",oe.option_anchor_outputs="Anchor outputs",oe.option_data_loss_protect="Extra channel re-establish fields",oe.var_onion_optin="Variable-length routing onion payloads",oe.option_static_remotekey="Static key for remote output",oe.option_support_large_channel="Create large channels",oe.option_anchors_zero_fee_htlc_tx="Anchor commitment type with zero fee HTLC transactions",oe.payment_secret="Payment secret field",oe.option_shutdown_anysegwit="Future segwit versions allowed in shutdown",oe.basic_mpp="Basic multi-part payments",oe.gossip_queries="More sophisticated gossip control",oe.option_upfront_shutdown_script="Shutdown script pubkey when opening channel",oe.anchors_zero_fee_htlc_tx="Anchor commitment type with zero fee HTLC transactions",oe.amp="AMP"}(We||(We={})),function(oe){oe["data-loss-protect"]="Extra channel re-establish fields",oe["upfront-shutdown-script"]="Shutdown script pubkey when opening channel",oe["gossip-queries"]="More sophisticated gossip control",oe["tlv-onion"]="Variable-length routing onion payloads",oe["ext-gossip-queries"]="Gossip queries can include additional information",oe["static-remote-key"]="Static key for remote output",oe["payment-addr"]="Payment secret field",oe["multi-path-payments"]="Basic multi-part payments",oe["wumbo-channels"]="Wumbo Channels",oe.anchors="Anchor outputs",oe["anchors-zero-fee-htlc-tx"]="Anchor commitment type with zero fee HTLC transactions",oe.amp="AMP"}(be||(be={}));const Ye=[{id:"match",placeholder:"Policy Match (%age)",min:0,max:200},{id:"available",placeholder:"Policy Available (%age)",min:0,max:100},{id:"fixed",placeholder:"Fixed Policy (Sats)",min:0,max:100}];var Ie,ge,et,ut,Le,De;!function(oe){oe.OFFERED="offered",oe.SETTLED="settled",oe.FAILED="failed",oe.LOCAL_FAILED="local_failed"}(Ie||(Ie={})),function(oe){oe.SWAP_OUT="swap-out",oe.SWAP_IN="swap-in"}(ge||(ge={})),function(oe){oe.SENDER="sender",oe.RECEIVER="receiver"}(et||(et={})),function(oe){oe.SWAP_CANCELED="State_SwapCanceled"}(ut||(ut={})),function(oe){oe.ALLOWED="allowed",oe.SUSPICIOUS="suspicious"}(Le||(Le={})),function(oe){oe.ASCENDING="asc",oe.DESCENDING="desc"}(De||(De={}));const ne=["asc","desc"],fe=[{pageId:"on_chain",tables:[{tableId:"utxos",recordsPerPage:u,sortBy:"blockheight",sortOrder:De.DESCENDING,columnSelectionSM:["txid","value"],columnSelection:["txid","output","value","blockheight"]},{tableId:"dust_utxos",recordsPerPage:u,sortBy:"blockheight",sortOrder:De.DESCENDING,columnSelectionSM:["txid","value"],columnSelection:["txid","output","value","blockheight"]}]},{pageId:"peers_channels",tables:[{tableId:"open_channels",recordsPerPage:u,sortBy:"msatoshi_to_us",sortOrder:De.DESCENDING,columnSelectionSM:["alias","msatoshi_to_us","msatoshi_to_them"],columnSelection:["short_channel_id","alias","msatoshi_to_us","msatoshi_to_them","balancedness"]},{tableId:"pending_inactive_channels",recordsPerPage:u,sortBy:"state",sortOrder:De.DESCENDING,columnSelectionSM:["alias","state"],columnSelection:["alias","connected","state","msatoshi_total"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:De.ASCENDING,columnSelectionSM:["alias","id"],columnSelection:["alias","id","netaddr"]}]},{pageId:"liquidity_ads",tables:[{tableId:"liquidity_ads",recordsPerPage:u,sortBy:"channel_opening_fee",sortOrder:De.ASCENDING,columnSelectionSM:["alias","channel_opening_fee"],columnSelection:["alias","last_timestamp","lease_fee","routing_fee","channel_opening_fee"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"created_at",sortOrder:De.DESCENDING,columnSelectionSM:["created_at","msatoshi"],columnSelection:["created_at","type","payment_hash","msatoshi_sent","msatoshi"]},{tableId:"invoices",recordsPerPage:u,sortBy:"expires_at",sortOrder:De.DESCENDING,columnSelectionSM:["expires_at","msatoshi"],columnSelection:["expires_at","paid_at","type","description","msatoshi","msatoshi_received"]},{tableId:"offers",recordsPerPage:u,sortBy:"offer_id",sortOrder:De.DESCENDING,columnSelectionSM:["offer_id","single_use"],columnSelection:["offer_id","single_use","used"]},{tableId:"offer_bookmarks",recordsPerPage:u,sortBy:"lastUpdatedAt",sortOrder:De.DESCENDING,columnSelectionSM:["lastUpdatedAt","amountMSat"],columnSelection:["lastUpdatedAt","title","description","amountMSat"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"received_time",sortOrder:De.DESCENDING,columnSelectionSM:["received_time","in_msatoshi","out_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"total_fee",sortOrder:De.DESCENDING,columnSelectionSM:["alias","events","total_fee"],columnSelection:["channel_id","alias","events","total_amount","total_fee"]},{tableId:"failed",recordsPerPage:u,sortBy:"received_time",sortOrder:De.DESCENDING,columnSelectionSM:["received_time","in_channel_alias","in_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"local_failed",recordsPerPage:u,sortBy:"received_time",sortOrder:De.DESCENDING,columnSelectionSM:["received_time","in_channel_alias","in_msatoshi"],columnSelection:["received_time","in_channel_alias","in_msatoshi","style","failreason"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"received_time",sortOrder:De.DESCENDING,columnSelectionSM:["received_time","in_msatoshi","out_msatoshi"],columnSelection:["received_time","resolved_time","in_channel_alias","out_channel_alias","in_msatoshi","out_msatoshi","fee"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:De.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]},{pageId:"graph_lookup",tables:[{tableId:"query_routes",recordsPerPage:u,sortBy:"msatoshi",sortOrder:De.DESCENDING,columnSelectionSM:["alias","direction","msatoshi"],columnSelection:["alias","channel","direction","delay","msatoshi"]}]},{pageId:"peerswap",tables:[{tableId:"swaps",recordsPerPage:u,sortBy:"created_at",sortOrder:De.DESCENDING,columnSelectionSM:["id","state","amount"],columnSelection:["id","alias","short_channel_id","created_at","state","amount"]}]}],ee={on_chain:{utxos:{maxColumns:7,allowedColumns:[{column:"txid",label:"Transaction ID"},{column:"address"},{column:"scriptpubkey",label:"Script Pubkey"},{column:"output"},{column:"value"},{column:"blockheight"},{column:"reserved"}]},dust_utxos:{maxColumns:7,allowedColumns:[{column:"txid",label:"Transaction ID"},{column:"address"},{column:"scriptpubkey",label:"Script Pubkey"},{column:"output"},{column:"value"},{column:"blockheight"},{column:"reserved"}]}},peers_channels:{open_channels:{maxColumns:8,allowedColumns:[{column:"short_channel_id"},{column:"alias"},{column:"id"},{column:"channel_id"},{column:"funding_txid",label:"Funding Transaction ID"},{column:"connected"},{column:"our_channel_reserve_satoshis",label:"Local Reserve"},{column:"their_channel_reserve_satoshis",label:"Remote Reserve"},{column:"msatoshi_total",label:"Total"},{column:"spendable_msatoshi",label:"Spendable"},{column:"msatoshi_to_us",label:"Local Balance"},{column:"msatoshi_to_them",label:"Remote Balance"},{column:"balancedness",label:"Balance Score"}]},pending_inactive_channels:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"id"},{column:"channel_id"},{column:"funding_txid",label:"Funding Transaction ID"},{column:"connected"},{column:"state"},{column:"our_channel_reserve_satoshis",label:"Local Reserve"},{column:"their_channel_reserve_satoshis",label:"Remote Reserve"},{column:"msatoshi_total",label:"Total"},{column:"spendable_msatoshi",label:"Spendable"},{column:"msatoshi_to_us",label:"Local Balance"},{column:"msatoshi_to_them",label:"Remote Balance"}]},peers:{maxColumns:3,allowedColumns:[{column:"alias"},{column:"id"},{column:"netaddr",label:"Network Address"}]}},liquidity_ads:{liquidity_ads:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"nodeid",label:"Node ID"},{column:"last_timestamp",label:"Last Announcement At"},{column:"compact_lease"},{column:"lease_fee"},{column:"routing_fee"},{column:"channel_opening_fee"},{column:"funding_weight"}]}},transactions:{payments:{maxColumns:7,allowedColumns:[{column:"created_at",label:"Created At"},{column:"type"},{column:"payment_hash"},{column:"bolt11",label:"Invoice"},{column:"destination"},{column:"memo"},{column:"label"},{column:"msatoshi_sent",label:"Sats Sent"},{column:"msatoshi",label:"Sats Received"}]},invoices:{maxColumns:7,allowedColumns:[{column:"expires_at",label:"Expiry Date"},{column:"paid_at",label:"Date Settled"},{column:"type"},{column:"description"},{column:"label"},{column:"payment_hash"},{column:"bolt11",label:"Invoice"},{column:"msatoshi",label:"Amount"},{column:"msatoshi_received",label:"Amount Settled"}]},offers:{maxColumns:4,allowedColumns:[{column:"offer_id",label:"Offer ID"},{column:"single_use"},{column:"used"},{column:"bolt12",label:"Invoice"}]},offer_bookmarks:{maxColumns:6,allowedColumns:[{column:"lastUpdatedAt",label:"Updated At"},{column:"title"},{column:"description"},{column:"vendor"},{column:"bolt12",label:"Invoice"},{column:"amountMSat",label:"Amount"}]}},routing:{forwarding_history:{maxColumns:8,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"payment_hash"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},routing_peers:{maxColumns:5,allowedColumns:[{column:"channel_id"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"total_amount",label:"Amount"},{column:"total_fee",label:"Fee"}]},failed:{maxColumns:7,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},local_failed:{maxColumns:6,allowedColumns:[{column:"received_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"in_msatoshi",label:"Amount In"},{column:"style"},{column:"failreason",label:"Fail Reason"}]}},reports:{routing:{maxColumns:8,allowedColumns:[{column:"received_time"},{column:"resolved_time"},{column:"in_channel",label:"In Channel ID"},{column:"in_channel_alias",label:"In Channel"},{column:"out_channel",label:"Out Channel ID"},{column:"out_channel_alias",label:"Out Channel"},{column:"payment_hash"},{column:"in_msatoshi",label:"Amount In"},{column:"out_msatoshi",label:"Amount Out"},{column:"fee"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}},graph_lookup:{query_routes:{maxColumns:6,allowedColumns:[{column:"id"},{column:"alias"},{column:"channel"},{column:"direction"},{column:"delay"},{column:"msatoshi",label:"Amount"}]}},peerswap:{swaps:{maxColumns:6,allowedColumns:[{column:"id"},{column:"alias"},{column:"short_channel_id"},{column:"created_at"},{column:"state"},{column:"amount"}]}}},H=[{pageId:"on_chain",tables:[{tableId:"utxos",recordsPerPage:u,sortBy:"tx_id",sortOrder:De.DESCENDING,columnSelectionSM:["output","amount_sat","confirmations"],columnSelection:["tx_id","output","label","amount_sat","confirmations"]},{tableId:"transactions",recordsPerPage:u,sortBy:"time_stamp",sortOrder:De.DESCENDING,columnSelectionSM:["time_stamp","amount","num_confirmations"],columnSelection:["time_stamp","label","amount","total_fees","block_height","num_confirmations"]},{tableId:"dust_utxos",recordsPerPage:u,sortBy:"tx_id",sortOrder:De.DESCENDING,columnSelectionSM:["output","amount_sat","confirmations"],columnSelection:["tx_id","output","label","amount_sat","confirmations"]}]},{pageId:"peers_channels",tables:[{tableId:"open",recordsPerPage:u,sortBy:"balancedness",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","local_balance"],columnSelection:["remote_alias","uptime_str","total_satoshis_sent","total_satoshis_received","local_balance","remote_balance","balancedness"]},{tableId:"pending_open",sortBy:"capacity",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","capacity"],columnSelection:["remote_alias","commit_fee","commit_weight","capacity"]},{tableId:"pending_force_closing",sortBy:"limbo_balance",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","limbo_balance"],columnSelection:["remote_alias","recovered_balance","limbo_balance","capacity"]},{tableId:"pending_closing",sortBy:"capacity",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","capacity"],columnSelection:["remote_alias","local_balance","remote_balance","capacity"]},{tableId:"pending_waiting_close",sortBy:"limbo_balance",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","limbo_balance"],columnSelection:["remote_alias","limbo_balance","local_balance","remote_balance"]},{tableId:"closed",recordsPerPage:u,sortBy:"close_type",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","settled_balance"],columnSelection:["close_type","remote_alias","capacity","close_height","settled_balance"]},{tableId:"active_HTLCs",recordsPerPage:u,sortBy:"expiration_height",sortOrder:De.DESCENDING,columnSelectionSM:["amount","incoming","expiration_height"],columnSelection:["amount","incoming","expiration_height","hash_lock"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:De.DESCENDING,columnSelectionSM:["alias","sat_sent","sat_recv"],columnSelection:["alias","pub_key","sat_sent","sat_recv","ping_time"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"creation_date",sortOrder:De.DESCENDING,columnSelectionSM:["creation_date","fee","value"],columnSelection:["creation_date","payment_hash","fee","value","hops"]},{tableId:"invoices",recordsPerPage:u,sortBy:"creation_date",sortOrder:De.DESCENDING,columnSelectionSM:["creation_date","settle_date","value"],columnSelection:["creation_date","settle_date","memo","value","amt_paid_sat"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"timestamp",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amt_in","amt_out"],columnSelection:["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"total_amount",sortOrder:De.DESCENDING,columnSelectionSM:["alias","events","total_amount"],columnSelection:["chan_id","alias","events","total_amount"]},{tableId:"non_routing_peers",recordsPerPage:u,sortBy:"remote_alias",sortOrder:De.DESCENDING,columnSelectionSM:["remote_alias","local_balance","remote_balance"],columnSelection:["chan_id","remote_alias","total_satoshis_received","total_satoshis_sent","local_balance","remote_balance"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"timestamp",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amt_in","amt_out"],columnSelection:["timestamp","alias_in","alias_out","amt_in","amt_out","fee_msat"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:De.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]},{pageId:"graph_lookup",tables:[{tableId:"query_routes",recordsPerPage:u,sortBy:"hop_sequence",sortOrder:De.ASCENDING,columnSelectionSM:["hop_sequence","pubkey_alias","fee_msat"],columnSelection:["hop_sequence","pubkey_alias","chan_capacity","amt_to_forward_msat","fee_msat"]}]},{pageId:"loop",tables:[{tableId:"loop",recordsPerPage:u,sortBy:"initiation_time",sortOrder:De.DESCENDING,columnSelectionSM:["state","amt"],columnSelection:["state","initiation_time","amt","cost_server","cost_offchain","cost_onchain"]}]},{pageId:"boltz",tables:[{tableId:"swap_out",recordsPerPage:u,sortBy:"status",sortOrder:De.DESCENDING,columnSelectionSM:["status","id","onchainAmount"],columnSelection:["status","id","claimAddress","onchainAmount","timeoutBlockHeight"]},{tableId:"swap_in",recordsPerPage:u,sortBy:"status",sortOrder:De.DESCENDING,columnSelectionSM:["status","id","expectedAmount"],columnSelection:["status","id","lockupAddress","expectedAmount","timeoutBlockHeight"]}]}],q={on_chain:{utxos:{maxColumns:7,allowedColumns:[{column:"tx_id",label:"Transaction ID"},{column:"output"},{column:"label"},{column:"address_type"},{column:"address"},{column:"amount_sat",label:"Amount"},{column:"confirmations"}]},transactions:{maxColumns:7,allowedColumns:[{column:"time_stamp",label:"Date/Time"},{column:"label"},{column:"block_hash"},{column:"tx_hash",label:"Transaction Hash"},{column:"amount"},{column:"total_fees",label:"Fees"},{column:"block_height"},{column:"num_confirmations",label:"Confirmations"}]},dust_utxos:{maxColumns:7,allowedColumns:[{column:"tx_id",label:"Transaction ID"},{column:"output"},{column:"label"},{column:"address_type"},{column:"address"},{column:"amount_sat"},{column:"confirmations"}]}},peers_channels:{open:{maxColumns:8,allowedColumns:[{column:"remote_alias",label:"Peer"},{column:"remote_pubkey",label:"Pubkey"},{column:"channel_point"},{column:"chan_id",label:"Channel ID"},{column:"initiator"},{column:"static_remote_key"},{column:"uptime_str",label:"Uptime"},{column:"lifetime_str",label:"Lifetime"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"num_updates",label:"Updates"},{column:"unsettled_balance"},{column:"capacity"},{column:"local_chan_reserve_sat",label:"Local Reserve"},{column:"remote_chan_reserve_sat",label:"Remote Reserve"},{column:"total_satoshis_sent",label:"Sats Sent"},{column:"total_satoshis_received",label:"Sats Received"},{column:"local_balance"},{column:"remote_balance"},{column:"balancedness",label:"Balance Score"}]},pending_open:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"confirmation_height"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_force_closing:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"limbo_balance"},{column:"maturity_height"},{column:"blocks_til_maturity",label:"Blocks till Maturity"},{column:"recovered_balance"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_closing:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},pending_waiting_close:{maxColumns:7,disablePageSize:!0,allowedColumns:[{column:"closing_txid",label:"Closing Tx ID"},{column:"remote_alias",label:"Peer"},{column:"remote_node_pub",label:"Pubkey"},{column:"channel_point"},{column:"initiator"},{column:"commitment_type"},{column:"limbo_balance"},{column:"capacity"},{column:"local_balance"},{column:"remote_balance"}]},closed:{maxColumns:7,allowedColumns:[{column:"close_type"},{column:"remote_alias",label:"Peer"},{column:"remote_pubkey",label:"Pubkey"},{column:"channel_point"},{column:"chan_id",label:"Channel ID"},{column:"closing_tx_hash",label:"Closing Tx Hash"},{column:"chain_hash"},{column:"open_initiator"},{column:"close_initiator"},{column:"time_locked_balance",label:"Timelocked Balance"},{column:"capacity"},{column:"close_height"},{column:"settled_balance"}]},active_HTLCs:{maxColumns:7,allowedColumns:[{column:"amount"},{column:"incoming"},{column:"forwarding_channel"},{column:"htlc_index"},{column:"forwarding_htlc_index"},{column:"expiration_height"},{column:"hash_lock"}]},peers:{maxColumns:8,allowedColumns:[{column:"alias"},{column:"pub_key",label:"Public Key"},{column:"address"},{column:"sync_type"},{column:"inbound"},{column:"bytes_sent"},{column:"bytes_recv",label:"Bytes Received"},{column:"sat_sent",label:"Sats Sent"},{column:"sat_recv",label:"Sats Received"},{column:"ping_time"}]}},transactions:{payments:{maxColumns:8,allowedColumns:[{column:"creation_date"},{column:"payment_hash"},{column:"payment_request"},{column:"payment_preimage"},{column:"description"},{column:"description_hash"},{column:"failure_reason"},{column:"payment_index"},{column:"fee"},{column:"value"},{column:"hops"}]},invoices:{maxColumns:9,allowedColumns:[{column:"private"},{column:"is_keysend",label:"Keysend"},{column:"is_amp",label:"AMP"},{column:"creation_date",label:"Date Created"},{column:"settle_date",label:"Date Settled"},{column:"memo"},{column:"r_preimage",label:"Preimage"},{column:"r_hash",label:"Preimage Hash"},{column:"payment_addr",label:"Payment Address"},{column:"payment_request"},{column:"description_hash"},{column:"expiry"},{column:"cltv_expiry"},{column:"add_index"},{column:"settle_index"},{column:"value",label:"Amount"},{column:"amt_paid_sat",label:"Amount Settled"}]}},routing:{forwarding_history:{maxColumns:6,allowedColumns:[{column:"timestamp"},{column:"alias_in",label:"Inbound Alias"},{column:"chan_id_in",label:"Inbound Channel"},{column:"alias_out",label:"Outbound Alias"},{column:"chan_id_out",label:"Outbound Channel"},{column:"amt_in",label:"Inbound Amount"},{column:"amt_out",label:"Outbound Amount"},{column:"fee_msat",label:"Fee"}]},routing_peers:{maxColumns:4,allowedColumns:[{column:"chan_id",label:"Channel ID"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"total_amount"}]},non_routing_peers:{maxColumns:8,allowedColumns:[{column:"chan_id",label:"Channel ID"},{column:"remote_alias",label:"Peer Alias"},{column:"remote_pubkey",label:"Peer Pubkey"},{column:"channel_point"},{column:"uptime_str",label:"Uptime"},{column:"lifetime_str",label:"Lifetime"},{column:"commit_fee"},{column:"commit_weight"},{column:"fee_per_kw",label:"Fee/KW"},{column:"num_updates",label:"Updates"},{column:"unsettled_balance"},{column:"capacity"},{column:"local_chan_reserve_sat",label:"Local Reserve"},{column:"remote_chan_reserve_sat",label:"Remote Reserve"},{column:"total_satoshis_sent",label:"Sats Sent"},{column:"total_satoshis_received",label:"Sats Received"},{column:"local_balance"},{column:"remote_balance"}]}},reports:{routing:{maxColumns:6,allowedColumns:[{column:"timestamp"},{column:"alias_in",label:"Inbound Alias"},{column:"chan_id_in",label:"Inbound Channel"},{column:"alias_out",label:"Outbound Alias"},{column:"chan_id_out",label:"Outbound Channel"},{column:"amt_in",label:"Inbound Amount"},{column:"amt_out",label:"Outbound Amount"},{column:"fee_msat",label:"Fee"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}},graph_lookup:{query_routes:{maxColumns:8,disablePageSize:!0,allowedColumns:[{column:"hop_sequence",label:"Hop"},{column:"pubkey_alias",label:"Peer"},{column:"pub_key",label:"Peer Pubkey"},{column:"chan_id",label:"Channel ID"},{column:"tlv_payload"},{column:"expiry"},{column:"chan_capacity",label:"Capacity"},{column:"amt_to_forward_msat",label:"Amount To Fwd"},{column:"fee_msat",label:"Fee"}]}},loop:{loop:{maxColumns:8,allowedColumns:[{column:"state"},{column:"initiation_time"},{column:"last_update_time"},{column:"amt",label:"Amount"},{column:"cost_server"},{column:"cost_offchain"},{column:"cost_onchain"},{column:"htlc_address"},{column:"id"},{column:"id_bytes",label:"ID (Bytes)"}]}},boltz:{swap_out:{maxColumns:7,allowedColumns:[{column:"status"},{column:"id",label:"Swap ID"},{column:"claimAddress",label:"Claim Address"},{column:"onchainAmount",label:"Onchain Amount"},{column:"error"},{column:"privateKey",label:"Private Key"},{column:"preimage"},{column:"redeemScript",label:"Redeem Script"},{column:"invoice"},{column:"timeoutBlockHeight",label:"Timeout Block Height"},{column:"lockupTransactionId",label:"Lockup Tx ID"},{column:"claimTransactionId",label:"Claim Tx ID"}]},swap_in:{maxColumns:7,allowedColumns:[{column:"status"},{column:"id",label:"Swap ID"},{column:"lockupAddress",label:"Lockup Address"},{column:"expectedAmount",label:"Expected Amount"},{column:"error"},{column:"privateKey",label:"Private Key"},{column:"preimage"},{column:"redeemScript",label:"Redeem Script"},{column:"invoice"},{column:"timeoutBlockHeight",label:"Timeout Block Height"},{column:"lockupTransactionId",label:"Lockup Tx ID"},{column:"refundTransactionId",label:"Refund Tx ID"}]}}},Oe=[{pageId:"on_chain",tables:[{tableId:"transaction",recordsPerPage:u,sortBy:"timestamp",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amount"],columnSelection:["timestamp","address","amount","fees","confirmations"]}]},{pageId:"peers_channels",tables:[{tableId:"open_channels",recordsPerPage:u,sortBy:"alias",sortOrder:De.DESCENDING,columnSelectionSM:["alias","toLocal","toRemote"],columnSelection:["shortChannelId","alias","feeBaseMsat","feeProportionalMillionths","toLocal","toRemote","balancedness"]},{tableId:"pending_channels",recordsPerPage:u,sortBy:"alias",sortOrder:De.DESCENDING,columnSelectionSM:["state","alias","toLocal"],columnSelection:["state","alias","toLocal","toRemote"]},{tableId:"inactive_channels",recordsPerPage:u,sortBy:"alias",sortOrder:De.DESCENDING,columnSelectionSM:["state","alias","toLocal"],columnSelection:["state","shortChannelId","alias","toLocal","toRemote","balancedness"]},{tableId:"peers",recordsPerPage:u,sortBy:"alias",sortOrder:De.ASCENDING,columnSelectionSM:["alias","nodeId"],columnSelection:["alias","nodeId","address","channels"]}]},{pageId:"transactions",tables:[{tableId:"payments",recordsPerPage:u,sortBy:"firstPartTimestamp",sortOrder:De.DESCENDING,columnSelectionSM:["firstPartTimestamp","recipientAmount"],columnSelection:["firstPartTimestamp","id","recipientNodeAlias","recipientAmount"]},{tableId:"invoices",recordsPerPage:u,sortBy:"receivedAt",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amount","amountSettled"],columnSelection:["timestamp","receivedAt","description","amount","amountSettled"]}]},{pageId:"routing",tables:[{tableId:"forwarding_history",recordsPerPage:u,sortBy:"timestamp",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amountIn","fee"],columnSelection:["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee"]},{tableId:"routing_peers",recordsPerPage:u,sortBy:"totalFee",sortOrder:De.DESCENDING,columnSelectionSM:["alias","events","totalFee"],columnSelection:["channelId","alias","events","totalAmount","totalFee"]}]},{pageId:"reports",tables:[{tableId:"routing",recordsPerPage:u,sortBy:"timestamp",sortOrder:De.DESCENDING,columnSelectionSM:["timestamp","amountIn","fee"],columnSelection:["timestamp","fromChannelAlias","toChannelAlias","amountIn","amountOut","fee"]},{tableId:"transactions",recordsPerPage:u,sortBy:"date",sortOrder:De.DESCENDING,columnSelectionSM:["date","amount_paid","amount_received"],columnSelection:["date","amount_paid","num_payments","amount_received","num_invoices"]}]}],Re={on_chain:{transaction:{maxColumns:6,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"address"},{column:"blockHash"},{column:"txid",label:"Transaction ID"},{column:"amount"},{column:"fees"},{column:"confirmations"}]}},peers_channels:{open_channels:{maxColumns:8,allowedColumns:[{column:"shortChannelId"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"feeBaseMsat",label:"Base Fee"},{column:"feeProportionalMillionths",label:"Fee Rate"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"},{column:"balancedness",label:"Balance Score"}]},pending_channels:{maxColumns:7,allowedColumns:[{column:"state"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"}]},inactive_channels:{maxColumns:8,allowedColumns:[{column:"state"},{column:"shortChannelId"},{column:"channelId"},{column:"alias"},{column:"nodeId"},{column:"isFunder",label:"Funder"},{column:"buried"},{column:"toLocal",label:"Local Balance"},{column:"toRemote",label:"Remote Balance"},{column:"feeRatePerKw",label:"Fee/KW"},{column:"balancedness",label:"Balance Score"}]},peers:{maxColumns:4,allowedColumns:[{column:"alias"},{column:"nodeId"},{column:"address",label:"Netwrok Address"},{column:"channels"}]}},transactions:{payments:{maxColumns:7,allowedColumns:[{column:"firstPartTimestamp",label:"Date/Time"},{column:"id"},{column:"recipientNodeId",label:"Destination Node ID"},{column:"recipientNodeAlias",label:"Destination"},{column:"description"},{column:"paymentHash"},{column:"paymentPreimage",label:"Preimage"},{column:"recipientAmount",label:"Amount"}]},invoices:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date Created"},{column:"expiresAt",label:"Date Expiry"},{column:"receivedAt",label:"Date Settled"},{column:"nodeId",label:"Node ID"},{column:"description"},{column:"paymentHash"},{column:"amount"},{column:"amountSettled",label:"Amount Settled"}]}},routing:{forwarding_history:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"fromChannelId",label:"In Channel ID"},{column:"fromShortChannelId",label:"In Channel Short ID"},{column:"fromChannelAlias",label:"In Channel"},{column:"toChannelId",label:"Out Channel ID"},{column:"toShortChannelId",label:"Out Channel Short ID"},{column:"toChannelAlias",label:"Out Channel"},{column:"paymentHash"},{column:"amountIn"},{column:"amountOut"},{column:"fee",label:"Fee Earned"}]},routing_peers:{maxColumns:5,allowedColumns:[{column:"channelId"},{column:"alias",label:"Peer Alias"},{column:"events"},{column:"totalAmount",label:"Amount"},{column:"totalFee",label:"Fee"}]}},reports:{routing:{maxColumns:7,allowedColumns:[{column:"timestamp",label:"Date/Time"},{column:"fromChannelId",label:"In Channel ID"},{column:"fromShortChannelId",label:"In Channel Short ID"},{column:"fromChannelAlias",label:"In Channel"},{column:"toChannelId",label:"Out Channel ID"},{column:"toShortChannelId",label:"Out Channel Short ID"},{column:"toChannelAlias",label:"Out Channel"},{column:"paymentHash"},{column:"amountIn"},{column:"amountOut"},{column:"fee",label:"Fee Earned"}]},transactions:{maxColumns:5,allowedColumns:[{column:"date"},{column:"amount_paid"},{column:"num_payments",label:"# Payments"},{column:"amount_received"},{column:"num_invoices",label:"# Invoices"}]}}}},8104:(Ve,X,m)=>{"use strict";m.d(X,{D:()=>de});var e=m(8987),t=m(6317),_=m(253),E=m(5474),s=m(745),D=m(155),u=m(9525),k=m(8951),p=m(635),S=m(3158),A=m(538),P=m(2340),M=m(7731),z=m(1786),I=m(7861),W=m(6523),Z=m(6529),j=m(9828),ae=m(2560),re=m(9263),pe=m(5043),le=m(930),ve=m(4666);class de{constructor(ue,w,n,o,h){this.httpClient=ue,this.store=w,this.logger=n,this.snackBar=o,this.titleCasePipe=h,this.APIUrl=P.T5,this.lnImplementation="",this.lnImplementationUpdated=new t.X(null),this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x,new _.x],this.mapAliases=(d,y)=>(d&&d.length>0?d.forEach((L,B)=>{if(y&&y.length>0)for(let v=0;vnull!==n),(0,u.z)(n=>{let o=this.APIUrl+"/"+n+P.NZ.PAYMENTS_API+"/decode/"+ue;return"cln"===n&&(o=this.APIUrl+"/"+n+P.NZ.UTILITY_API+"/decode/"+ue),this.store.dispatch((0,I.ac)({payload:M.m6.DECODE_PAYMENT})),this.httpClient.get(o).pipe((0,k.R)(this.unSubs[0]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:M.m6.DECODE_PAYMENT})),h)),(0,S.K)(h=>(w?this.handleErrorWithoutAlert("Decode Payment",M.m6.DECODE_PAYMENT,h):this.handleErrorWithAlert("decodePaymentData",M.m6.DECODE_PAYMENT,"Decode Payment Failed",o,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}decodePayments(ue){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>{let n="",o="";return"ecl"===w?(n=this.APIUrl+"/"+w+P.NZ.PAYMENTS_API+"/getsentinfos",o=M.m6.GET_SENT_PAYMENTS):"cln"===w?(n=this.APIUrl+"/"+w+P.NZ.UTILITY_API,o=M.m6.DECODE_PAYMENTS):(n=this.APIUrl+"/"+w+P.NZ.PAYMENTS_API,o=M.m6.DECODE_PAYMENTS),this.store.dispatch((0,I.ac)({payload:o})),this.httpClient.post(n,{payments:ue}).pipe((0,k.R)(this.unSubs[1]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:o})),h)),(0,S.K)(h=>(this.handleErrorWithAlert("decodePaymentsData",o,o+" Failed",n,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}getAliasesFromPubkeys(ue,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{if(w){const o=(new e.LE).set("pubkeys",ue);return this.httpClient.get(this.APIUrl+"/"+n+P.NZ.NETWORK_API+"/nodes",{params:o})}return this.httpClient.get(this.APIUrl+"/"+n+P.NZ.NETWORK_API+"/node/"+ue)}))}signMessage(ue){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>{let n=this.APIUrl+"/"+w+P.NZ.MESSAGE_API+"/sign";return"cln"===w&&(n=this.APIUrl+"/"+w+P.NZ.UTILITY_API+"/sign"),this.store.dispatch((0,I.ac)({payload:M.m6.SIGN_MESSAGE})),this.httpClient.post(n,{message:ue}).pipe((0,k.R)(this.unSubs[2]),(0,p.U)(o=>(this.store.dispatch((0,I.uO)({payload:M.m6.SIGN_MESSAGE})),o)),(0,S.K)(o=>(this.handleErrorWithAlert("signMessageData",M.m6.SIGN_MESSAGE,"Sign Message Failed",n,o),(0,E._)(()=>new Error(this.extractErrorMessage(o))))))}))}verifyMessage(ue,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{let o=this.APIUrl+"/"+n+P.NZ.MESSAGE_API+"/verify";return"cln"===n&&(o=this.APIUrl+"/"+n+P.NZ.UTILITY_API+"/verify"),this.store.dispatch((0,I.ac)({payload:M.m6.VERIFY_MESSAGE})),this.httpClient.post(o,{message:ue,signature:w}).pipe((0,k.R)(this.unSubs[3]),(0,p.U)(h=>(this.store.dispatch((0,I.uO)({payload:M.m6.VERIFY_MESSAGE})),h)),(0,S.K)(h=>(this.handleErrorWithAlert("verifyMessageData",M.m6.VERIFY_MESSAGE,"Verify Message Failed",o,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}bumpFee(ue,w,n,o){return this.lnImplementationUpdated.pipe((0,D.P)(h=>null!==h),(0,u.z)(h=>{const d={txid:ue,outputIndex:w};return n&&(d.targetConf=n),o&&(d.satPerByte=o),this.store.dispatch((0,I.ac)({payload:M.m6.BUMP_FEE})),this.httpClient.post(this.APIUrl+"/"+h+P.NZ.WALLET_API+"/bumpfee",d).pipe((0,k.R)(this.unSubs[4]),(0,p.U)(y=>(this.store.dispatch((0,I.uO)({payload:M.m6.BUMP_FEE})),this.snackBar.open("Successfully bumped the fee. Use the block explorer to verify transaction."),y)),(0,S.K)(y=>(this.handleErrorWithoutAlert("Bump Fee",M.m6.BUMP_FEE,y),(0,E._)(()=>new Error(this.extractErrorMessage(y))))))}))}labelUTXO(ue,w,n=!0){return this.lnImplementationUpdated.pipe((0,D.P)(o=>null!==o),(0,u.z)(o=>{const h={txid:ue,label:w,overwrite:n};return this.store.dispatch((0,I.ac)({payload:M.m6.LABEL_UTXO})),this.httpClient.post(this.APIUrl+"/"+o+P.NZ.WALLET_API+"/label",h).pipe((0,k.R)(this.unSubs[5]),(0,p.U)(d=>(this.store.dispatch((0,I.uO)({payload:M.m6.LABEL_UTXO})),d)),(0,S.K)(d=>(this.handleErrorWithoutAlert("Lease UTXO",M.m6.LABEL_UTXO,d),(0,E._)(()=>new Error(this.extractErrorMessage(d))))))}))}leaseUTXO(ue,w){return this.lnImplementationUpdated.pipe((0,D.P)(n=>null!==n),(0,u.z)(n=>{const o={txid:ue,outputIndex:w};return this.store.dispatch((0,I.ac)({payload:M.m6.LEASE_UTXO})),this.httpClient.post(this.APIUrl+"/"+n+P.NZ.WALLET_API+"/lease",o).pipe((0,k.R)(this.unSubs[6]),(0,p.U)(h=>{this.store.dispatch((0,I.uO)({payload:M.m6.LEASE_UTXO})),this.store.dispatch((0,W.mC)()),this.store.dispatch((0,W.Ly)());const d=new Date(1e3*h.expiration),y=Math.round(d.getTime())-60*d.getTimezoneOffset();this.snackBar.open("The UTXO has been leased till "+new Date(y).toString().substring(4,21).replace(" ","/").replace(" ","/").toUpperCase()+".")}),(0,S.K)(h=>(this.handleErrorWithoutAlert("Lease UTXO",M.m6.LEASE_UTXO,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))}))}getForwardingHistory(ue,w,n,o){if("LND"===ue){const h={end_time:n,start_time:w};return this.store.dispatch((0,I.ac)({payload:M.m6.GET_FORWARDING_HISTORY})),this.httpClient.post(this.APIUrl+"/lnd"+P.NZ.SWITCH_API,h).pipe((0,k.R)(this.unSubs[7]),(0,A.M)(this.store.select(Z._f)),(0,u.z)(([d,y])=>{if(d.forwarding_events){const L=[...y.channels,...y.closedChannels];d.forwarding_events.forEach(B=>{if(L&&L.length>0)for(let v=0;v(this.handleErrorWithAlert("getForwardingHistoryData",M.m6.GET_FORWARDING_HISTORY,"Forwarding History Failed",this.APIUrl+"/lnd"+P.NZ.SWITCH_API,d),(0,E._)(()=>new Error(this.extractErrorMessage(d))))))}return"CLN"===ue?(this.store.dispatch((0,I.ac)({payload:M.m6.GET_FORWARDING_HISTORY})),this.httpClient.get(this.APIUrl+"/cln"+P.NZ.CHANNELS_API+"/listForwards?status="+o).pipe((0,k.R)(this.unSubs[8]),(0,A.M)(this.store.select(j.ZW)),(0,u.z)(([h,d])=>{const y=this.mapAliases(h,[...d.activeChannels,...d.pendingChannels,...d.inactiveChannels]);return this.store.dispatch((0,I.uO)({payload:M.m6.GET_FORWARDING_HISTORY})),(0,s.of)(y)}),(0,S.K)(h=>(this.handleErrorWithAlert("getForwardingHistoryData",M.m6.GET_FORWARDING_HISTORY,"Forwarding History Failed",this.APIUrl+"/cln"+P.NZ.CHANNELS_API+"/listForwards?status="+o+"&start="+w+"&end="+n,h),(0,E._)(()=>new Error(this.extractErrorMessage(h))))))):(0,s.of)({})}listNetworkNodes(ue=""){return this.lnImplementationUpdated.pipe((0,D.P)(w=>null!==w),(0,u.z)(w=>(this.store.dispatch((0,I.ac)({payload:M.m6.LIST_NETWORK_NODES})),this.httpClient.get(this.APIUrl+"/"+w+P.NZ.NETWORK_API+"/listNodes"+ue).pipe((0,k.R)(this.unSubs[9]),(0,u.z)(n=>(this.store.dispatch((0,I.uO)({payload:M.m6.LIST_NETWORK_NODES})),(0,s.of)(n))),(0,S.K)(n=>(this.handleErrorWithoutAlert("List Network Nodes",M.m6.LIST_NETWORK_NODES,n),(0,E._)(()=>this.extractErrorMessage(n))))))))}listConfigs(){return this.lnImplementationUpdated.pipe((0,D.P)(ue=>null!==ue),(0,u.z)(ue=>(this.store.dispatch((0,I.ac)({payload:M.m6.GET_LIST_CONFIGS})),this.httpClient.get(this.APIUrl+"/"+ue+P.NZ.UTILITY_API+"/listConfigs").pipe((0,k.R)(this.unSubs[10]),(0,u.z)(w=>(this.store.dispatch((0,I.uO)({payload:M.m6.GET_LIST_CONFIGS})),(0,s.of)(w))),(0,S.K)(w=>(this.handleErrorWithoutAlert("List Configurations",M.m6.GET_LIST_CONFIGS,w),(0,E._)(()=>this.extractErrorMessage(w))))))))}getOrUpdateFunderPolicy(ue,w,n,o,h,d){return this.lnImplementationUpdated.pipe((0,D.P)(y=>null!==y),(0,u.z)(y=>{const L=ue?{policy:ue,policy_mod:w,lease_fee_base_msat:n,lease_fee_basis:o,channel_fee_max_base_msat:h,channel_fee_max_proportional_thousandths:d}:null;return this.store.dispatch((0,I.ac)({payload:M.m6.GET_FUNDER_POLICY})),this.httpClient.post(this.APIUrl+"/"+y+P.NZ.CHANNELS_API+"/funderUpdate",L).pipe((0,k.R)(this.unSubs[11]),(0,p.U)(B=>(this.store.dispatch((0,I.uO)({payload:M.m6.GET_FUNDER_POLICY})),L&&this.store.dispatch((0,I.jW)({payload:"Funder Policy Updated Successfully with Compact Lease: "+B.compact_lease+"!"})),B)),(0,S.K)(B=>(this.handleErrorWithoutAlert("Funder Policy",M.m6.GET_FUNDER_POLICY,B),(0,E._)(()=>new Error(this.extractErrorMessage(B))))))}))}extractErrorMessage(ue,w="Unknown Error."){return this.titleCasePipe.transform(ue.error.text&&"string"==typeof ue.error.text&&ue.error.text.includes('')?"API Route Does Not Exist.":ue.error&&ue.error.error&&ue.error.error.error&&ue.error.error.error.error&&ue.error.error.error.error.error&&"string"==typeof ue.error.error.error.error.error?ue.error.error.error.error.error:ue.error&&ue.error.error&&ue.error.error.error&&ue.error.error.error.error&&"string"==typeof ue.error.error.error.error?ue.error.error.error.error:ue.error&&ue.error.error&&ue.error.error.error&&"string"==typeof ue.error.error.error?ue.error.error.error:ue.error&&ue.error.error&&"string"==typeof ue.error.error?ue.error.error:ue.error&&"string"==typeof ue.error?ue.error:ue.error&&ue.error.error&&ue.error.error.error&&ue.error.error.error.error&&ue.error.error.error.error.message&&"string"==typeof ue.error.error.error.error.message?ue.error.error.error.error.message:ue.error&&ue.error.error&&ue.error.error.error&&ue.error.error.error.message&&"string"==typeof ue.error.error.error.message?ue.error.error.error.message:ue.error&&ue.error.error&&ue.error.error.message&&"string"==typeof ue.error.error.message?ue.error.error.message:ue.error&&ue.error.message&&"string"==typeof ue.error.message?ue.error.message:ue.message&&"string"==typeof ue.message?ue.message:w)}handleErrorWithoutAlert(ue,w,n){n.error.text&&"string"==typeof n.error.text&&n.error.text.includes('')&&(n={status:403,error:{message:"API Route Does Not Exist."}}),this.logger.error("ERROR IN: "+ue+"\n"+JSON.stringify(n)),401===n.status?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,I.ts)()),this.store.dispatch((0,I.kS)()),this.store.dispatch((0,I.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,I.uO)({payload:w})),this.store.dispatch((0,I.qi)({payload:{action:ue,status:M.Bn.ERROR,statusCode:n.status.toString(),message:this.extractErrorMessage(n)}})))}handleErrorWithAlert(ue,w,n,o,h){if(this.logger.error(h),401===h.status)this.logger.info("Redirecting to Login"),this.store.dispatch((0,I.ts)()),this.store.dispatch((0,I.kS)()),this.store.dispatch((0,I.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,I.uO)({payload:w}));const d=this.extractErrorMessage(h);this.store.dispatch((0,I.qR)({payload:{data:{type:"ERROR",alertTitle:n,message:{code:h.status?h.status:"Unknown Error",message:d,URL:o},component:z.H}}})),this.store.dispatch((0,I.qi)({payload:{action:ue,status:M.Bn.ERROR,statusCode:h.status.toString(),message:d,URL:o}}))}}ngOnDestroy(){this.unSubs.forEach(ue=>{ue.next(null),ue.complete()})}static#e=this.\u0275fac=function(w){return new(w||de)(ae.LFG(e.eN),ae.LFG(re.yh),ae.LFG(pe.mQ),ae.LFG(le.ux),ae.LFG(ve.rS))};static#t=this.\u0275prov=ae.Yz7({token:de,factory:de.\u0275fac})}},5043:(Ve,X,m)=>{"use strict";m.d(X,{LG:()=>u,mQ:()=>D});var e=m(2340),t=m(2560);const{isDebugMode:_}=e.NZ,E=()=>null;class D{invokeConsoleMethod(p,S){}static#e=this.\u0275fac=function(S){return new(S||D)};static#t=this.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac})}class u{get info(){return _?console.log.bind(console):E}get warn(){return _?console.warn.bind(console):E}get error(){return _?console.error.bind(console):E}invokeConsoleMethod(p,S){(console[p]||console.log||E).apply(console,[S])}static#e=this.\u0275fac=function(S){return new(S||u)};static#t=this.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac})}},1419:(Ve,X,m)=>{"use strict";m.d(X,{W:()=>Z});var e=m(8987),t=m(6317),_=m(253),E=m(745),s=m(5474),D=m(8951),u=m(3158),k=m(635),p=m(2340),S=m(7731),A=m(1786),P=m(7861),M=m(2560),z=m(5043),I=m(9263),W=m(62);class Z{constructor(ae,re,pe,le){this.httpClient=ae,this.logger=re,this.store=pe,this.commonService=le,this.loopUrl="",this.swaps=[],this.swapsChanged=new t.X([]),this.unSubs=[new _.x,new _.x,new _.x,new _.x,new _.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch((0,P.ac)({payload:S.m6.GET_LOOP_SWAPS})),this.loopUrl=p.T5+p.NZ.LOOP_API+"/swaps",this.httpClient.get(this.loopUrl).pipe((0,D.R)(this.unSubs[0])).subscribe({next:ae=>{this.store.dispatch((0,P.uO)({payload:S.m6.GET_LOOP_SWAPS})),this.swaps=ae,this.swapsChanged.next(this.swaps)},error:ae=>this.swapsChanged.error(this.handleErrorWithAlert(S.m6.GET_LOOP_SWAPS,this.loopUrl,ae))})}loopOut(ae,re,pe,le,ve,de,$,ue,w,n){const o={amount:ae,targetConf:pe,swapRoutingFee:le,minerFee:ve,prepayRoutingFee:de,prepayAmt:$,swapFee:ue,swapPublicationDeadline:w,destAddress:n};return""!==re&&(o.chanId=re),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out",this.httpClient.post(this.loopUrl,o).pipe((0,u.K)(h=>this.handleErrorWithoutAlert("Loop Out for Channel: "+re,S.m6.NO_SPINNER,h)))}getLoopOutTerms(){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/terms",this.httpClient.get(this.loopUrl).pipe((0,u.K)(ae=>this.handleErrorWithoutAlert("Loop Out Terms",S.m6.NO_SPINNER,ae)))}getLoopOutQuote(ae,re,pe){let le=new e.LE;return le=le.append("targetConf",re.toString()),le=le.append("swapPublicationDeadline",pe.toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/quote/"+ae,this.store.dispatch((0,P.ac)({payload:S.m6.GET_QUOTE})),this.httpClient.get(this.loopUrl,{params:le}).pipe((0,D.R)(this.unSubs[1]),(0,k.U)(ve=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_QUOTE})),ve)),(0,u.K)(ve=>this.handleErrorWithoutAlert("Loop Out Quote",S.m6.GET_QUOTE,ve)))}getLoopOutTermsAndQuotes(ae){let re=new e.LE;return re=re.append("targetConf",ae.toString()),re=re.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/out/termsAndQuotes",this.store.dispatch((0,P.ac)({payload:S.m6.GET_TERMS_QUOTES})),this.httpClient.get(this.loopUrl,{params:re}).pipe((0,D.R)(this.unSubs[2]),(0,k.U)(pe=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_TERMS_QUOTES})),pe)),(0,u.K)(pe=>(0,E.of)(this.handleErrorWithAlert(S.m6.GET_TERMS_QUOTES,this.loopUrl,pe))))}loopIn(ae,re,pe,le,ve){const de={amount:ae,swapFee:re,minerFee:pe,lastHop:le,externalHtlc:ve};return this.loopUrl=p.T5+p.NZ.LOOP_API+"/in",this.httpClient.post(this.loopUrl,de).pipe((0,u.K)($=>this.handleErrorWithoutAlert("Loop In",S.m6.NO_SPINNER,$)))}getLoopInTerms(){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/terms",this.httpClient.get(this.loopUrl).pipe((0,u.K)(ae=>this.handleErrorWithoutAlert("Loop In Terms",S.m6.NO_SPINNER,ae)))}getLoopInQuote(ae,re,pe){let le=new e.LE;return le=le.append("targetConf",re.toString()),le=le.append("swapPublicationDeadline",pe.toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/quote/"+ae,this.store.dispatch((0,P.ac)({payload:S.m6.GET_QUOTE})),this.httpClient.get(this.loopUrl,{params:le}).pipe((0,D.R)(this.unSubs[3]),(0,k.U)(ve=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_QUOTE})),ve)),(0,u.K)(ve=>this.handleErrorWithoutAlert("Loop In Qoute",S.m6.GET_QUOTE,ve)))}getLoopInTermsAndQuotes(ae){let re=new e.LE;return re=re.append("targetConf",ae.toString()),re=re.append("swapPublicationDeadline",((new Date).getTime()+18e5).toString()),this.loopUrl=p.T5+p.NZ.LOOP_API+"/in/termsAndQuotes",this.store.dispatch((0,P.ac)({payload:S.m6.GET_TERMS_QUOTES})),this.httpClient.get(this.loopUrl,{params:re}).pipe((0,D.R)(this.unSubs[4]),(0,k.U)(pe=>(this.store.dispatch((0,P.uO)({payload:S.m6.GET_TERMS_QUOTES})),pe)),(0,u.K)(pe=>(0,E.of)(this.handleErrorWithAlert(S.m6.GET_TERMS_QUOTES,this.loopUrl,pe))))}getSwap(ae){return this.loopUrl=p.T5+p.NZ.LOOP_API+"/swap/"+ae,this.httpClient.get(this.loopUrl).pipe((0,u.K)(re=>this.handleErrorWithoutAlert("Loop Get Swap for ID: "+ae,S.m6.NO_SPINNER,re)))}handleErrorWithoutAlert(ae,re,pe){let le="";return this.logger.error("ERROR IN: "+ae+"\n"+JSON.stringify(pe)),this.store.dispatch((0,P.uO)({payload:re})),401===pe.status?(le="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.kS)())):503===pe.status?(le="Unable to Connect to Loop Server.",this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:pe.status,message:"Unable to Connect to Loop Server",URL:ae},component:A.H}}}))):le=this.commonService.extractErrorMessage(pe),(0,s._)(()=>new Error(le))}handleErrorWithAlert(ae,re,pe){let le="";if(this.logger.error(pe),this.store.dispatch((0,P.uO)({payload:ae})),401===pe.status)le="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,P.kS)());else if(503===pe.status)le="Unable to Connect to Loop Server.",setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:"ERROR",alertTitle:"Loop Not Connected",message:{code:pe.status,message:"Unable to Connect to Loop Server",URL:re},component:A.H}}}))},100);else{le=this.commonService.extractErrorMessage(pe);const ve=pe.error&&pe.error.error&&pe.error.error.code?pe.error.error.code:pe.error&&pe.error.code?pe.error.code:pe.code?pe.code:pe.status;setTimeout(()=>{this.store.dispatch((0,P.qR)({payload:{data:{type:S.n_.ERROR,alertTitle:"ERROR",message:{code:ve,message:le,URL:re},component:A.H}}}))},100)}return{message:le}}ngOnDestroy(){this.unSubs.forEach(ae=>{ae.next(null),ae.complete()})}static#e=this.\u0275fac=function(re){return new(re||Z)(M.LFG(e.eN),M.LFG(z.mQ),M.LFG(I.yh),M.LFG(W.v))};static#t=this.\u0275prov=M.Yz7({token:Z,factory:Z.\u0275fac})}},5986:(Ve,X,m)=>{"use strict";m.d(X,{m:()=>_});var e=m(253),t=m(2560);class _{constructor(){this.sessionSub=new e.x}watchSession(){return this.sessionSub.asObservable()}getItem(s){return sessionStorage.getItem(s)}getAllItems(){return sessionStorage}setItem(s,D){sessionStorage.setItem(s,D),this.sessionSub.next(sessionStorage)}removeItem(s){sessionStorage.removeItem(s),this.sessionSub.next(sessionStorage)}clearAll(){sessionStorage.clear(),this.sessionSub.next(sessionStorage)}static#e=this.\u0275fac=function(D){return new(D||_)};static#t=this.\u0275prov=t.Yz7({token:_,factory:_.\u0275fac})}},3512:(Ve,X,m)=>{"use strict";m.d(X,{d:()=>z});var e=m(6317),t=m(253),_=m(8951),E=m(5463),s=m(833),D=m(7714),u=m(6067);const k={url:"",deserializer:I=>JSON.parse(I.data),serializer:I=>JSON.stringify(I)};class S extends t.u{constructor(W,Z){if(super(),this._socket=null,W instanceof s.y)this.destination=Z,this.source=W;else{const j=this._config=Object.assign({},k);if(this._output=new t.x,"string"==typeof W)j.url=W;else for(const ae in W)W.hasOwnProperty(ae)&&(j[ae]=W[ae]);if(!j.WebSocketCtor&&WebSocket)j.WebSocketCtor=WebSocket;else if(!j.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new u.t}}lift(W){const Z=new S(this._config,this.destination);return Z.operator=W,Z.source=this,Z}_resetState(){this._socket=null,this.source||(this.destination=new u.t),this._output=new t.x}multiplex(W,Z,j){const ae=this;return new s.y(re=>{try{ae.next(W())}catch(le){re.error(le)}const pe=ae.subscribe({next:le=>{try{j(le)&&re.next(le)}catch(ve){re.error(ve)}},error:le=>re.error(le),complete:()=>re.complete()});return()=>{try{ae.next(Z())}catch(le){re.error(le)}pe.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:W,protocol:Z,url:j,binaryType:ae}=this._config,re=this._output;let pe=null;try{pe=Z?new W(j,Z):new W(j),this._socket=pe,ae&&(this._socket.binaryType=ae)}catch(ve){return void re.error(ve)}const le=new D.w0(()=>{this._socket=null,pe&&1===pe.readyState&&pe.close()});pe.onopen=ve=>{const{_socket:de}=this;if(!de)return pe.close(),void this._resetState();const{openObserver:$}=this._config;$&&$.next(ve);const ue=this.destination;this.destination=E.Lv.create(w=>{if(1===pe.readyState)try{const{serializer:n}=this._config;pe.send(n(w))}catch(n){this.destination.error(n)}},w=>{const{closingObserver:n}=this._config;n&&n.next(void 0),w&&w.code?pe.close(w.code,w.reason):re.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:w}=this._config;w&&w.next(void 0),pe.close(),this._resetState()}),ue&&ue instanceof u.t&&le.add(ue.subscribe(this.destination))},pe.onerror=ve=>{this._resetState(),re.error(ve)},pe.onclose=ve=>{pe===this._socket&&this._resetState();const{closeObserver:de}=this._config;de&&de.next(ve),ve.wasClean?re.complete():re.error(ve)},pe.onmessage=ve=>{try{const{deserializer:de}=this._config;re.next(de(ve))}catch(de){re.error(de)}}}_subscribe(W){const{source:Z}=this;return Z?Z.subscribe(W):(this._socket||this._connectSocket(),this._output.subscribe(W),W.add(()=>{const{_socket:j}=this;0===this._output.observers.length&&(j&&(1===j.readyState||0===j.readyState)&&j.close(),this._resetState())}),W)}unsubscribe(){const{_socket:W}=this;W&&(1===W.readyState||0===W.readyState)&&W.close(),this._resetState(),super.unsubscribe()}}var A=m(2560),P=m(5043),M=m(5986);class z{constructor(W,Z){this.logger=W,this.sessionService=Z,this.clWSMessages=new e.X(null),this.eclWSMessages=new e.X(null),this.lndWSMessages=new e.X(null),this.wsUrl="",this.nodeIndex="",this.RETRY_SECONDS=5,this.RECONNECT_TIMEOUT=null,this.unSubs=[new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x,new t.x]}connectWebSocket(W,Z){(!this.socket||this.socket.closed)&&(this.wsUrl=W,this.nodeIndex=Z,this.logger.info("Websocket Url: "+this.wsUrl),this.socket=new S({url:W,protocol:[this.sessionService.getItem("token")||"",Z]}),this.subscribeToMessages())}reconnectOnError(){this.RECONNECT_TIMEOUT||this.socket&&!this.socket.closed||(this.RETRY_SECONDS=this.RETRY_SECONDS>=160?160:2*this.RETRY_SECONDS,this.RECONNECT_TIMEOUT=setTimeout(()=>{this.logger.info("Reconnecting Web Socket."),this.connectWebSocket(this.wsUrl,this.nodeIndex),this.RECONNECT_TIMEOUT=null},1e3*this.RETRY_SECONDS))}closeConnection(){this.socket&&(this.socket.complete(),this.socket=null)}subscribeToMessages(){this.socket?.pipe((0,_.R)(this.unSubs[1])).subscribe({next:W=>{if((W="string"==typeof W?JSON.parse(W):W).error)this.handleError(W.error);else switch(this.logger.info("Next Message from WS:"+JSON.stringify(W)),W.source){case"LND":this.lndWSMessages.next(W);break;case"CLN":this.clWSMessages.next(W);break;case"ECL":this.eclWSMessages.next(W)}},error:W=>this.handleError(W),complete:()=>{this.logger.info("Web Socket Closed")}})}handleError(W){this.logger.error(W),this.clWSMessages.error(W),this.eclWSMessages.error(W),this.lndWSMessages.error(W),this.reconnectOnError()}ngOnDestroy(){this.closeConnection(),this.clWSMessages.next(null),this.clWSMessages.complete(),this.eclWSMessages.next(null),this.eclWSMessages.complete(),this.lndWSMessages.next(null),this.lndWSMessages.complete()}static#e=this.\u0275fac=function(Z){return new(Z||z)(A.LFG(P.mQ),A.LFG(M.m))};static#t=this.\u0275prov=A.Yz7({token:z,factory:z.\u0275fac})}},6165:(Ve,X,m)=>{"use strict";m.d(X,{m:()=>Va});var e=m(4666),t=m(3547),_=m(2508),E=m(8987),s=m(3505),D=m(2560),u=m(4658),k=m(3704),p=m(6722),S=m(8971);const A="stretch",P="stretch";class M extends u.QI{buildStyles(xt){return function ae(dn=""){const xt={},[Bt,Fn]=dn.split(" ");switch(Bt){case"end":xt["justify-self"]="end";break;case"center":xt["justify-self"]="center";break;case"stretch":xt["justify-self"]="stretch";break;case"start":xt["justify-self"]="start";break;default:xt["justify-self"]=A}switch(Fn){case"end":xt["align-self"]="end";break;case"center":xt["align-self"]="center";break;case"stretch":xt["align-self"]="stretch";break;case"start":xt["align-self"]="start";break;default:xt["align-self"]=P}return xt}(xt||A)}}M.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(M)))(Bt||M)}}(),M.\u0275prov=D.Yz7({token:M,factory:M.\u0275fac,providedIn:"root"});class z extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-align",this.styleCache=I,this.init()}}z.\u0275fac=function(xt){return new(xt||z)(D.Y36(D.SBq),D.Y36(M),D.Y36(u.RK),D.Y36(u.yB))},z.\u0275dir=D.lG2({type:z,features:[D.qOj]});const I=new Map,W=["gdGridAlign","gdGridAlign.xs","gdGridAlign.sm","gdGridAlign.md","gdGridAlign.lg","gdGridAlign.xl","gdGridAlign.lt-sm","gdGridAlign.lt-md","gdGridAlign.lt-lg","gdGridAlign.lt-xl","gdGridAlign.gt-xs","gdGridAlign.gt-sm","gdGridAlign.gt-md","gdGridAlign.gt-lg"];class j extends z{constructor(){super(...arguments),this.inputs=W}}j.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(j)))(Bt||j)}}(),j.\u0275dir=D.lG2({type:j,selectors:[["","gdGridAlign",""],["","gdGridAlign.xs",""],["","gdGridAlign.sm",""],["","gdGridAlign.md",""],["","gdGridAlign.lg",""],["","gdGridAlign.xl",""],["","gdGridAlign.lt-sm",""],["","gdGridAlign.lt-md",""],["","gdGridAlign.lt-lg",""],["","gdGridAlign.lt-xl",""],["","gdGridAlign.gt-xs",""],["","gdGridAlign.gt-sm",""],["","gdGridAlign.gt-md",""],["","gdGridAlign.gt-lg",""]],inputs:{gdGridAlign:"gdGridAlign","gdGridAlign.xs":"gdGridAlign.xs","gdGridAlign.sm":"gdGridAlign.sm","gdGridAlign.md":"gdGridAlign.md","gdGridAlign.lg":"gdGridAlign.lg","gdGridAlign.xl":"gdGridAlign.xl","gdGridAlign.lt-sm":"gdGridAlign.lt-sm","gdGridAlign.lt-md":"gdGridAlign.lt-md","gdGridAlign.lt-lg":"gdGridAlign.lt-lg","gdGridAlign.lt-xl":"gdGridAlign.lt-xl","gdGridAlign.gt-xs":"gdGridAlign.gt-xs","gdGridAlign.gt-sm":"gdGridAlign.gt-sm","gdGridAlign.gt-md":"gdGridAlign.gt-md","gdGridAlign.gt-lg":"gdGridAlign.gt-lg"},features:[D.qOj]});const re="start",pe="stretch";class le extends u.QI{buildStyles(xt,Bt){return function o(dn,xt){const Bt={},[Fn,ri]=dn.split(" ");switch(Fn){case"center":Bt["align-content"]="center";break;case"space-around":Bt["align-content"]="space-around";break;case"space-between":Bt["align-content"]="space-between";break;case"space-evenly":Bt["align-content"]="space-evenly";break;case"end":Bt["align-content"]="end";break;case"start":Bt["align-content"]="start";break;case"stretch":Bt["align-content"]="stretch";break;default:Bt["align-content"]=re}switch(ri){case"start":Bt["align-items"]="start";break;case"center":Bt["align-items"]="center";break;case"end":Bt["align-items"]="end";break;case"stretch":Bt["align-items"]="stretch";break;default:Bt["align-items"]=pe}return Bt.display=xt?"inline-grid":"grid",Bt}(xt||`start ${pe}`,Bt.inline)}}le.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(le)))(Bt||le)}}(),le.\u0275prov=D.Yz7({token:le,factory:le.\u0275fac,providedIn:"root"});class ve extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-align-columns",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?$:de,this.addStyles(xt,{inline:this.inline})}}ve.\u0275fac=function(xt){return new(xt||ve)(D.Y36(D.SBq),D.Y36(le),D.Y36(u.RK),D.Y36(u.yB))},ve.\u0275dir=D.lG2({type:ve,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const de=new Map,$=new Map,ue=["gdAlignColumns","gdAlignColumns.xs","gdAlignColumns.sm","gdAlignColumns.md","gdAlignColumns.lg","gdAlignColumns.xl","gdAlignColumns.lt-sm","gdAlignColumns.lt-md","gdAlignColumns.lt-lg","gdAlignColumns.lt-xl","gdAlignColumns.gt-xs","gdAlignColumns.gt-sm","gdAlignColumns.gt-md","gdAlignColumns.gt-lg"];class n extends ve{constructor(){super(...arguments),this.inputs=ue}}n.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(n)))(Bt||n)}}(),n.\u0275dir=D.lG2({type:n,selectors:[["","gdAlignColumns",""],["","gdAlignColumns.xs",""],["","gdAlignColumns.sm",""],["","gdAlignColumns.md",""],["","gdAlignColumns.lg",""],["","gdAlignColumns.xl",""],["","gdAlignColumns.lt-sm",""],["","gdAlignColumns.lt-md",""],["","gdAlignColumns.lt-lg",""],["","gdAlignColumns.lt-xl",""],["","gdAlignColumns.gt-xs",""],["","gdAlignColumns.gt-sm",""],["","gdAlignColumns.gt-md",""],["","gdAlignColumns.gt-lg",""]],inputs:{gdAlignColumns:"gdAlignColumns","gdAlignColumns.xs":"gdAlignColumns.xs","gdAlignColumns.sm":"gdAlignColumns.sm","gdAlignColumns.md":"gdAlignColumns.md","gdAlignColumns.lg":"gdAlignColumns.lg","gdAlignColumns.xl":"gdAlignColumns.xl","gdAlignColumns.lt-sm":"gdAlignColumns.lt-sm","gdAlignColumns.lt-md":"gdAlignColumns.lt-md","gdAlignColumns.lt-lg":"gdAlignColumns.lt-lg","gdAlignColumns.lt-xl":"gdAlignColumns.lt-xl","gdAlignColumns.gt-xs":"gdAlignColumns.gt-xs","gdAlignColumns.gt-sm":"gdAlignColumns.gt-sm","gdAlignColumns.gt-md":"gdAlignColumns.gt-md","gdAlignColumns.gt-lg":"gdAlignColumns.gt-lg"},features:[D.qOj]});const h="start",d="stretch";class y extends u.QI{buildStyles(xt,Bt){return function F(dn,xt){const Bt={},[Fn,ri]=dn.split(" ");switch(Fn){case"center":case"space-around":case"space-between":case"space-evenly":case"end":case"start":case"stretch":Bt["justify-content"]=Fn;break;default:Bt["justify-content"]=h}switch(ri){case"start":case"center":case"end":case"stretch":Bt["justify-items"]=ri;break;default:Bt["justify-items"]=d}return Bt.display=xt?"inline-grid":"grid",Bt}(xt||`${h} ${d}`,Bt.inline)}}y.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(y)))(Bt||y)}}(),y.\u0275prov=D.Yz7({token:y,factory:y.\u0275fac,providedIn:"root"});class L extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-align-rows",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?v:B,this.addStyles(xt,{inline:this.inline})}}L.\u0275fac=function(xt){return new(xt||L)(D.Y36(D.SBq),D.Y36(y),D.Y36(u.RK),D.Y36(u.yB))},L.\u0275dir=D.lG2({type:L,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const B=new Map,v=new Map,a=["gdAlignRows","gdAlignRows.xs","gdAlignRows.sm","gdAlignRows.md","gdAlignRows.lg","gdAlignRows.xl","gdAlignRows.lt-sm","gdAlignRows.lt-md","gdAlignRows.lt-lg","gdAlignRows.lt-xl","gdAlignRows.gt-xs","gdAlignRows.gt-sm","gdAlignRows.gt-md","gdAlignRows.gt-lg"];class N extends L{constructor(){super(...arguments),this.inputs=a}}N.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(N)))(Bt||N)}}(),N.\u0275dir=D.lG2({type:N,selectors:[["","gdAlignRows",""],["","gdAlignRows.xs",""],["","gdAlignRows.sm",""],["","gdAlignRows.md",""],["","gdAlignRows.lg",""],["","gdAlignRows.xl",""],["","gdAlignRows.lt-sm",""],["","gdAlignRows.lt-md",""],["","gdAlignRows.lt-lg",""],["","gdAlignRows.lt-xl",""],["","gdAlignRows.gt-xs",""],["","gdAlignRows.gt-sm",""],["","gdAlignRows.gt-md",""],["","gdAlignRows.gt-lg",""]],inputs:{gdAlignRows:"gdAlignRows","gdAlignRows.xs":"gdAlignRows.xs","gdAlignRows.sm":"gdAlignRows.sm","gdAlignRows.md":"gdAlignRows.md","gdAlignRows.lg":"gdAlignRows.lg","gdAlignRows.xl":"gdAlignRows.xl","gdAlignRows.lt-sm":"gdAlignRows.lt-sm","gdAlignRows.lt-md":"gdAlignRows.lt-md","gdAlignRows.lt-lg":"gdAlignRows.lt-lg","gdAlignRows.lt-xl":"gdAlignRows.lt-xl","gdAlignRows.gt-xs":"gdAlignRows.gt-xs","gdAlignRows.gt-sm":"gdAlignRows.gt-sm","gdAlignRows.gt-md":"gdAlignRows.gt-md","gdAlignRows.gt-lg":"gdAlignRows.gt-lg"},features:[D.qOj]});class Fe extends u.QI{buildStyles(xt){return{"grid-area":xt||"auto"}}}Fe.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Fe)))(Bt||Fe)}}(),Fe.\u0275prov=D.Yz7({token:Fe,factory:Fe.\u0275fac,providedIn:"root"});class ke extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Fn,Bt,ri),this.DIRECTIVE_KEY="grid-area",this.styleCache=Ge,this.init()}}ke.\u0275fac=function(xt){return new(xt||ke)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(Fe),D.Y36(u.yB))},ke.\u0275dir=D.lG2({type:ke,features:[D.qOj]});const Ge=new Map,je=["gdArea","gdArea.xs","gdArea.sm","gdArea.md","gdArea.lg","gdArea.xl","gdArea.lt-sm","gdArea.lt-md","gdArea.lt-lg","gdArea.lt-xl","gdArea.gt-xs","gdArea.gt-sm","gdArea.gt-md","gdArea.gt-lg"];class be extends ke{constructor(){super(...arguments),this.inputs=je}}be.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(be)))(Bt||be)}}(),be.\u0275dir=D.lG2({type:be,selectors:[["","gdArea",""],["","gdArea.xs",""],["","gdArea.sm",""],["","gdArea.md",""],["","gdArea.lg",""],["","gdArea.xl",""],["","gdArea.lt-sm",""],["","gdArea.lt-md",""],["","gdArea.lt-lg",""],["","gdArea.lt-xl",""],["","gdArea.gt-xs",""],["","gdArea.gt-sm",""],["","gdArea.gt-md",""],["","gdArea.gt-lg",""]],inputs:{gdArea:"gdArea","gdArea.xs":"gdArea.xs","gdArea.sm":"gdArea.sm","gdArea.md":"gdArea.md","gdArea.lg":"gdArea.lg","gdArea.xl":"gdArea.xl","gdArea.lt-sm":"gdArea.lt-sm","gdArea.lt-md":"gdArea.lt-md","gdArea.lt-lg":"gdArea.lt-lg","gdArea.lt-xl":"gdArea.lt-xl","gdArea.gt-xs":"gdArea.gt-xs","gdArea.gt-sm":"gdArea.gt-sm","gdArea.gt-md":"gdArea.gt-md","gdArea.gt-lg":"gdArea.gt-lg"},features:[D.qOj]});class ge extends u.QI{buildStyles(xt,Bt){const Fn=(xt||"none").split("|").map(ri=>`"${ri.trim()}"`);return{display:Bt.inline?"inline-grid":"grid","grid-template-areas":Fn.join(" ")}}}ge.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(ge)))(Bt||ge)}}(),ge.\u0275prov=D.Yz7({token:ge,factory:ge.\u0275fac,providedIn:"root"});class et extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Fn,Bt,ri),this.DIRECTIVE_KEY="grid-areas",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Le:ut,this.addStyles(xt,{inline:this.inline})}}et.\u0275fac=function(xt){return new(xt||et)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(ge),D.Y36(u.yB))},et.\u0275dir=D.lG2({type:et,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const ut=new Map,Le=new Map,De=["gdAreas","gdAreas.xs","gdAreas.sm","gdAreas.md","gdAreas.lg","gdAreas.xl","gdAreas.lt-sm","gdAreas.lt-md","gdAreas.lt-lg","gdAreas.lt-xl","gdAreas.gt-xs","gdAreas.gt-sm","gdAreas.gt-md","gdAreas.gt-lg"];class fe extends et{constructor(){super(...arguments),this.inputs=De}}fe.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(fe)))(Bt||fe)}}(),fe.\u0275dir=D.lG2({type:fe,selectors:[["","gdAreas",""],["","gdAreas.xs",""],["","gdAreas.sm",""],["","gdAreas.md",""],["","gdAreas.lg",""],["","gdAreas.xl",""],["","gdAreas.lt-sm",""],["","gdAreas.lt-md",""],["","gdAreas.lt-lg",""],["","gdAreas.lt-xl",""],["","gdAreas.gt-xs",""],["","gdAreas.gt-sm",""],["","gdAreas.gt-md",""],["","gdAreas.gt-lg",""]],inputs:{gdAreas:"gdAreas","gdAreas.xs":"gdAreas.xs","gdAreas.sm":"gdAreas.sm","gdAreas.md":"gdAreas.md","gdAreas.lg":"gdAreas.lg","gdAreas.xl":"gdAreas.xl","gdAreas.lt-sm":"gdAreas.lt-sm","gdAreas.lt-md":"gdAreas.lt-md","gdAreas.lt-lg":"gdAreas.lt-lg","gdAreas.lt-xl":"gdAreas.lt-xl","gdAreas.gt-xs":"gdAreas.gt-xs","gdAreas.gt-sm":"gdAreas.gt-sm","gdAreas.gt-md":"gdAreas.gt-md","gdAreas.gt-lg":"gdAreas.gt-lg"},features:[D.qOj]});class H extends u.QI{buildStyles(xt,Bt){let[Fn,ri]=(xt||"initial").split(" ");return"column"!==Fn&&"row"!==Fn&&"dense"!==Fn&&(Fn="row"),ri="dense"===ri&&"dense"!==Fn?" dense":"",{display:Bt.inline?"inline-grid":"grid","grid-auto-flow":Fn+ri}}}H.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(H)))(Bt||H)}}(),H.\u0275prov=D.Yz7({token:H,factory:H.\u0275fac,providedIn:"root"});class q extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this._inline=!1,this.DIRECTIVE_KEY="grid-auto",this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Re:Oe,this.addStyles(xt,{inline:this.inline})}}q.\u0275fac=function(xt){return new(xt||q)(D.Y36(D.SBq),D.Y36(H),D.Y36(u.RK),D.Y36(u.yB))},q.\u0275dir=D.lG2({type:q,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const Oe=new Map,Re=new Map,oe=["gdAuto","gdAuto.xs","gdAuto.sm","gdAuto.md","gdAuto.lg","gdAuto.xl","gdAuto.lt-sm","gdAuto.lt-md","gdAuto.lt-lg","gdAuto.lt-xl","gdAuto.gt-xs","gdAuto.gt-sm","gdAuto.gt-md","gdAuto.gt-lg"];class it extends q{constructor(){super(...arguments),this.inputs=oe}}it.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(it)))(Bt||it)}}(),it.\u0275dir=D.lG2({type:it,selectors:[["","gdAuto",""],["","gdAuto.xs",""],["","gdAuto.sm",""],["","gdAuto.md",""],["","gdAuto.lg",""],["","gdAuto.xl",""],["","gdAuto.lt-sm",""],["","gdAuto.lt-md",""],["","gdAuto.lt-lg",""],["","gdAuto.lt-xl",""],["","gdAuto.gt-xs",""],["","gdAuto.gt-sm",""],["","gdAuto.gt-md",""],["","gdAuto.gt-lg",""]],inputs:{gdAuto:"gdAuto","gdAuto.xs":"gdAuto.xs","gdAuto.sm":"gdAuto.sm","gdAuto.md":"gdAuto.md","gdAuto.lg":"gdAuto.lg","gdAuto.xl":"gdAuto.xl","gdAuto.lt-sm":"gdAuto.lt-sm","gdAuto.lt-md":"gdAuto.lt-md","gdAuto.lt-lg":"gdAuto.lt-lg","gdAuto.lt-xl":"gdAuto.lt-xl","gdAuto.gt-xs":"gdAuto.gt-xs","gdAuto.gt-sm":"gdAuto.gt-sm","gdAuto.gt-md":"gdAuto.gt-md","gdAuto.gt-lg":"gdAuto.gt-lg"},features:[D.qOj]});class un extends u.QI{buildStyles(xt){return{"grid-column":xt||"auto"}}}un.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(un)))(Bt||un)}}(),un.\u0275prov=D.Yz7({token:un,factory:un.\u0275fac,providedIn:"root"});class Nt extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-column",this.styleCache=zt,this.init()}}Nt.\u0275fac=function(xt){return new(xt||Nt)(D.Y36(D.SBq),D.Y36(un),D.Y36(u.RK),D.Y36(u.yB))},Nt.\u0275dir=D.lG2({type:Nt,features:[D.qOj]});const zt=new Map,yn=["gdColumn","gdColumn.xs","gdColumn.sm","gdColumn.md","gdColumn.lg","gdColumn.xl","gdColumn.lt-sm","gdColumn.lt-md","gdColumn.lt-lg","gdColumn.lt-xl","gdColumn.gt-xs","gdColumn.gt-sm","gdColumn.gt-md","gdColumn.gt-lg"];class Gt extends Nt{constructor(){super(...arguments),this.inputs=yn}}Gt.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Gt)))(Bt||Gt)}}(),Gt.\u0275dir=D.lG2({type:Gt,selectors:[["","gdColumn",""],["","gdColumn.xs",""],["","gdColumn.sm",""],["","gdColumn.md",""],["","gdColumn.lg",""],["","gdColumn.xl",""],["","gdColumn.lt-sm",""],["","gdColumn.lt-md",""],["","gdColumn.lt-lg",""],["","gdColumn.lt-xl",""],["","gdColumn.gt-xs",""],["","gdColumn.gt-sm",""],["","gdColumn.gt-md",""],["","gdColumn.gt-lg",""]],inputs:{gdColumn:"gdColumn","gdColumn.xs":"gdColumn.xs","gdColumn.sm":"gdColumn.sm","gdColumn.md":"gdColumn.md","gdColumn.lg":"gdColumn.lg","gdColumn.xl":"gdColumn.xl","gdColumn.lt-sm":"gdColumn.lt-sm","gdColumn.lt-md":"gdColumn.lt-md","gdColumn.lt-lg":"gdColumn.lt-lg","gdColumn.lt-xl":"gdColumn.lt-xl","gdColumn.gt-xs":"gdColumn.gt-xs","gdColumn.gt-sm":"gdColumn.gt-sm","gdColumn.gt-md":"gdColumn.gt-md","gdColumn.gt-lg":"gdColumn.gt-lg"},features:[D.qOj]});class tn extends u.QI{buildStyles(xt,Bt){let Fn=!1;(xt=xt||"none").endsWith("!")&&(xt=xt.substring(0,xt.indexOf("!")),Fn=!0);const ri={display:Bt.inline?"inline-grid":"grid","grid-auto-columns":"","grid-template-columns":""};return ri[Fn?"grid-auto-columns":"grid-template-columns"]=xt,ri}}tn.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(tn)))(Bt||tn)}}(),tn.\u0275prov=D.Yz7({token:tn,factory:tn.\u0275fac,providedIn:"root"});class pn extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-columns",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?gt:nt,this.addStyles(xt,{inline:this.inline})}}pn.\u0275fac=function(xt){return new(xt||pn)(D.Y36(D.SBq),D.Y36(tn),D.Y36(u.RK),D.Y36(u.yB))},pn.\u0275dir=D.lG2({type:pn,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const nt=new Map,gt=new Map,At=["gdColumns","gdColumns.xs","gdColumns.sm","gdColumns.md","gdColumns.lg","gdColumns.xl","gdColumns.lt-sm","gdColumns.lt-md","gdColumns.lt-lg","gdColumns.lt-xl","gdColumns.gt-xs","gdColumns.gt-sm","gdColumns.gt-md","gdColumns.gt-lg"];class Y extends pn{constructor(){super(...arguments),this.inputs=At}}Y.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Y)))(Bt||Y)}}(),Y.\u0275dir=D.lG2({type:Y,selectors:[["","gdColumns",""],["","gdColumns.xs",""],["","gdColumns.sm",""],["","gdColumns.md",""],["","gdColumns.lg",""],["","gdColumns.xl",""],["","gdColumns.lt-sm",""],["","gdColumns.lt-md",""],["","gdColumns.lt-lg",""],["","gdColumns.lt-xl",""],["","gdColumns.gt-xs",""],["","gdColumns.gt-sm",""],["","gdColumns.gt-md",""],["","gdColumns.gt-lg",""]],inputs:{gdColumns:"gdColumns","gdColumns.xs":"gdColumns.xs","gdColumns.sm":"gdColumns.sm","gdColumns.md":"gdColumns.md","gdColumns.lg":"gdColumns.lg","gdColumns.xl":"gdColumns.xl","gdColumns.lt-sm":"gdColumns.lt-sm","gdColumns.lt-md":"gdColumns.lt-md","gdColumns.lt-lg":"gdColumns.lt-lg","gdColumns.lt-xl":"gdColumns.lt-xl","gdColumns.gt-xs":"gdColumns.gt-xs","gdColumns.gt-sm":"gdColumns.gt-sm","gdColumns.gt-md":"gdColumns.gt-md","gdColumns.gt-lg":"gdColumns.gt-lg"},features:[D.qOj]});class xe extends u.QI{buildStyles(xt,Bt){return{display:Bt.inline?"inline-grid":"grid","grid-gap":xt||"0"}}}xe.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(xe)))(Bt||xe)}}(),xe.\u0275prov=D.Yz7({token:xe,factory:xe.\u0275fac,providedIn:"root"});class ze extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Fn,Bt,ri),this.DIRECTIVE_KEY="grid-gap",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?ct:_t,this.addStyles(xt,{inline:this.inline})}}ze.\u0275fac=function(xt){return new(xt||ze)(D.Y36(D.SBq),D.Y36(u.RK),D.Y36(xe),D.Y36(u.yB))},ze.\u0275dir=D.lG2({type:ze,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const _t=new Map,ct=new Map,Ue=["gdGap","gdGap.xs","gdGap.sm","gdGap.md","gdGap.lg","gdGap.xl","gdGap.lt-sm","gdGap.lt-md","gdGap.lt-lg","gdGap.lt-xl","gdGap.gt-xs","gdGap.gt-sm","gdGap.gt-md","gdGap.gt-lg"];class Ce extends ze{constructor(){super(...arguments),this.inputs=Ue}}Ce.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Ce)))(Bt||Ce)}}(),Ce.\u0275dir=D.lG2({type:Ce,selectors:[["","gdGap",""],["","gdGap.xs",""],["","gdGap.sm",""],["","gdGap.md",""],["","gdGap.lg",""],["","gdGap.xl",""],["","gdGap.lt-sm",""],["","gdGap.lt-md",""],["","gdGap.lt-lg",""],["","gdGap.lt-xl",""],["","gdGap.gt-xs",""],["","gdGap.gt-sm",""],["","gdGap.gt-md",""],["","gdGap.gt-lg",""]],inputs:{gdGap:"gdGap","gdGap.xs":"gdGap.xs","gdGap.sm":"gdGap.sm","gdGap.md":"gdGap.md","gdGap.lg":"gdGap.lg","gdGap.xl":"gdGap.xl","gdGap.lt-sm":"gdGap.lt-sm","gdGap.lt-md":"gdGap.lt-md","gdGap.lt-lg":"gdGap.lt-lg","gdGap.lt-xl":"gdGap.lt-xl","gdGap.gt-xs":"gdGap.gt-xs","gdGap.gt-sm":"gdGap.gt-sm","gdGap.gt-md":"gdGap.gt-md","gdGap.gt-lg":"gdGap.gt-lg"},features:[D.qOj]});class Ut extends u.QI{buildStyles(xt){return{"grid-row":xt||"auto"}}}Ut.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Ut)))(Bt||Ut)}}(),Ut.\u0275prov=D.Yz7({token:Ut,factory:Ut.\u0275fac,providedIn:"root"});class Dt extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-row",this.styleCache=Tt,this.init()}}Dt.\u0275fac=function(xt){return new(xt||Dt)(D.Y36(D.SBq),D.Y36(Ut),D.Y36(u.RK),D.Y36(u.yB))},Dt.\u0275dir=D.lG2({type:Dt,features:[D.qOj]});const Tt=new Map,Ht=["gdRow","gdRow.xs","gdRow.sm","gdRow.md","gdRow.lg","gdRow.xl","gdRow.lt-sm","gdRow.lt-md","gdRow.lt-lg","gdRow.lt-xl","gdRow.gt-xs","gdRow.gt-sm","gdRow.gt-md","gdRow.gt-lg"];class $e extends Dt{constructor(){super(...arguments),this.inputs=Ht}}$e.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z($e)))(Bt||$e)}}(),$e.\u0275dir=D.lG2({type:$e,selectors:[["","gdRow",""],["","gdRow.xs",""],["","gdRow.sm",""],["","gdRow.md",""],["","gdRow.lg",""],["","gdRow.xl",""],["","gdRow.lt-sm",""],["","gdRow.lt-md",""],["","gdRow.lt-lg",""],["","gdRow.lt-xl",""],["","gdRow.gt-xs",""],["","gdRow.gt-sm",""],["","gdRow.gt-md",""],["","gdRow.gt-lg",""]],inputs:{gdRow:"gdRow","gdRow.xs":"gdRow.xs","gdRow.sm":"gdRow.sm","gdRow.md":"gdRow.md","gdRow.lg":"gdRow.lg","gdRow.xl":"gdRow.xl","gdRow.lt-sm":"gdRow.lt-sm","gdRow.lt-md":"gdRow.lt-md","gdRow.lt-lg":"gdRow.lt-lg","gdRow.lt-xl":"gdRow.lt-xl","gdRow.gt-xs":"gdRow.gt-xs","gdRow.gt-sm":"gdRow.gt-sm","gdRow.gt-md":"gdRow.gt-md","gdRow.gt-lg":"gdRow.gt-lg"},features:[D.qOj]});class Xt extends u.QI{buildStyles(xt,Bt){let Fn=!1;(xt=xt||"none").endsWith("!")&&(xt=xt.substring(0,xt.indexOf("!")),Fn=!0);const ri={display:Bt.inline?"inline-grid":"grid","grid-auto-rows":"","grid-template-rows":""};return ri[Fn?"grid-auto-rows":"grid-template-rows"]=xt,ri}}Xt.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Xt)))(Bt||Xt)}}(),Xt.\u0275prov=D.Yz7({token:Xt,factory:Xt.\u0275fac,providedIn:"root"});class Vn extends u.iR{constructor(xt,Bt,Fn,ri){super(xt,Bt,Fn,ri),this.DIRECTIVE_KEY="grid-rows",this._inline=!1,this.init()}get inline(){return this._inline}set inline(xt){this._inline=(0,S.Ig)(xt)}updateWithValue(xt){this.styleCache=this.inline?Tn:zn,this.addStyles(xt,{inline:this.inline})}}Vn.\u0275fac=function(xt){return new(xt||Vn)(D.Y36(D.SBq),D.Y36(Xt),D.Y36(u.RK),D.Y36(u.yB))},Vn.\u0275dir=D.lG2({type:Vn,inputs:{inline:["gdInline","inline"]},features:[D.qOj]});const zn=new Map,Tn=new Map,Yn=["gdRows","gdRows.xs","gdRows.sm","gdRows.md","gdRows.lg","gdRows.xl","gdRows.lt-sm","gdRows.lt-md","gdRows.lt-lg","gdRows.lt-xl","gdRows.gt-xs","gdRows.gt-sm","gdRows.gt-md","gdRows.gt-lg"];class Ze extends Vn{constructor(){super(...arguments),this.inputs=Yn}}Ze.\u0275fac=function(){let dn;return function(Bt){return(dn||(dn=D.n5z(Ze)))(Bt||Ze)}}(),Ze.\u0275dir=D.lG2({type:Ze,selectors:[["","gdRows",""],["","gdRows.xs",""],["","gdRows.sm",""],["","gdRows.md",""],["","gdRows.lg",""],["","gdRows.xl",""],["","gdRows.lt-sm",""],["","gdRows.lt-md",""],["","gdRows.lt-lg",""],["","gdRows.lt-xl",""],["","gdRows.gt-xs",""],["","gdRows.gt-sm",""],["","gdRows.gt-md",""],["","gdRows.gt-lg",""]],inputs:{gdRows:"gdRows","gdRows.xs":"gdRows.xs","gdRows.sm":"gdRows.sm","gdRows.md":"gdRows.md","gdRows.lg":"gdRows.lg","gdRows.xl":"gdRows.xl","gdRows.lt-sm":"gdRows.lt-sm","gdRows.lt-md":"gdRows.lt-md","gdRows.lt-lg":"gdRows.lt-lg","gdRows.lt-xl":"gdRows.lt-xl","gdRows.gt-xs":"gdRows.gt-xs","gdRows.gt-sm":"gdRows.gt-sm","gdRows.gt-md":"gdRows.gt-md","gdRows.gt-lg":"gdRows.gt-lg"},features:[D.qOj]});class ht{}ht.\u0275fac=function(xt){return new(xt||ht)},ht.\u0275mod=D.oAB({type:ht}),ht.\u0275inj=D.cJS({imports:[u.IR]});new D.GfV("14.0.0-beta.41");class Ae{constructor(xt,Bt){(0,e.PM)(Bt)&&!xt&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}static withConfig(xt,Bt=[]){return{ngModule:Ae,providers:xt.serverLoaded?[{provide:u.WU,useValue:{...u.g5,...xt}},{provide:u.Bs,useValue:Bt,multi:!0},{provide:u.wY,useValue:!0}]:[{provide:u.WU,useValue:{...u.g5,...xt}},{provide:u.Bs,useValue:Bt,multi:!0}]}}}Ae.\u0275fac=function(xt){return new(xt||Ae)(D.LFG(u.wY),D.LFG(D.Lbi))},Ae.\u0275mod=D.oAB({type:Ae}),Ae.\u0275inj=D.cJS({imports:[p.ae,k.aT,ht,p.ae,k.aT,ht]});var ft=m(3278),Lt=m(207),nn=m(640),Bn=m(8550),Wn=m(3335),ti=m(4522),Mn=m(4218),Ln=m(1755);const ai=["button"],hn=new D.OlP("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS"),en=new D.OlP("MatButtonToggleGroup"),gn={provide:_.JU,useExisting:(0,D.Gpc)(()=>ha),multi:!0};let Qn=0;class Ei{constructor(xt,Bt){this.source=xt,this.value=Bt}}class ha{constructor(xt,Bt){this._changeDetector=xt,this._vertical=!1,this._multiple=!1,this._disabled=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+Qn++,this.valueChange=new D.vpe,this.change=new D.vpe,this.appearance=Bt&&Bt.appearance?Bt.appearance:"standard"}get name(){return this._name}set name(xt){this._name=xt,this._markButtonsForCheck()}get vertical(){return this._vertical}set vertical(xt){this._vertical=(0,S.Ig)(xt)}get value(){const xt=this._selectionModel?this._selectionModel.selected:[];return this.multiple?xt.map(Bt=>Bt.value):xt[0]?xt[0].value:void 0}set value(xt){this._setSelectionByValue(xt),this.valueChange.emit(this.value)}get selected(){const xt=this._selectionModel?this._selectionModel.selected:[];return this.multiple?xt:xt[0]||null}get multiple(){return this._multiple}set multiple(xt){this._multiple=(0,S.Ig)(xt),this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(xt){this._disabled=(0,S.Ig)(xt),this._markButtonsForCheck()}ngOnInit(){this._selectionModel=new Ln.Ov(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(xt=>xt.checked))}writeValue(xt){this.value=xt,this._changeDetector.markForCheck()}registerOnChange(xt){this._controlValueAccessorChangeFn=xt}registerOnTouched(xt){this._onTouched=xt}setDisabledState(xt){this.disabled=xt}_emitChangeEvent(xt){const Bt=new Ei(xt,this.value);this._controlValueAccessorChangeFn(Bt.value),this.change.emit(Bt)}_syncButtonToggle(xt,Bt,Fn=!1,ri=!1){!this.multiple&&this.selected&&!xt.checked&&(this.selected.checked=!1),this._selectionModel?Bt?this._selectionModel.select(xt):this._selectionModel.deselect(xt):ri=!0,ri?Promise.resolve().then(()=>this._updateModelValue(xt,Fn)):this._updateModelValue(xt,Fn)}_isSelected(xt){return this._selectionModel&&this._selectionModel.isSelected(xt)}_isPrechecked(xt){return!(typeof this._rawValue>"u")&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(Bt=>null!=xt.value&&Bt===xt.value):xt.value===this._rawValue)}_setSelectionByValue(xt){this._rawValue=xt,this._buttonToggles&&(this.multiple&&xt?(Array.isArray(xt),this._clearSelection(),xt.forEach(Bt=>this._selectValue(Bt))):(this._clearSelection(),this._selectValue(xt)))}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(xt=>xt.checked=!1)}_selectValue(xt){const Bt=this._buttonToggles.find(Fn=>null!=Fn.value&&Fn.value===xt);Bt&&(Bt.checked=!0,this._selectionModel.select(Bt))}_updateModelValue(xt,Bt){Bt&&this._emitChangeEvent(xt),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(xt=>xt._markForCheck())}}ha.\u0275fac=function(xt){return new(xt||ha)(D.Y36(D.sBO),D.Y36(hn,8))},ha.\u0275dir=D.lG2({type:ha,selectors:[["mat-button-toggle-group"]],contentQueries:function(xt,Bt,Fn){if(1&xt&&D.Suo(Fn,qi,5),2&xt){let ri;D.iGM(ri=D.CRH())&&(Bt._buttonToggles=ri)}},hostAttrs:["role","group",1,"mat-button-toggle-group"],hostVars:5,hostBindings:function(xt,Bt){2&xt&&(D.uIk("aria-disabled",Bt.disabled),D.ekj("mat-button-toggle-vertical",Bt.vertical)("mat-button-toggle-group-appearance-standard","standard"===Bt.appearance))},inputs:{appearance:"appearance",name:"name",vertical:"vertical",value:"value",multiple:"multiple",disabled:"disabled"},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[D._Bn([gn,{provide:en,useExisting:ha}])]});const mi=(0,Lt.Kr)(class{});class qi extends mi{constructor(xt,Bt,Fn,ri,Bi,Xi){super(),this._changeDetectorRef=Bt,this._elementRef=Fn,this._focusMonitor=ri,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new D.vpe;const oa=Number(Bi);this.tabIndex=oa||0===oa?oa:null,this.buttonToggleGroup=xt,this.appearance=Xi&&Xi.appearance?Xi.appearance:"standard"}get buttonId(){return`${this.id}-button`}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(xt){this._appearance=xt}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(xt){const Bt=(0,S.Ig)(xt);Bt!==this._checked&&(this._checked=Bt,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(xt){this._disabled=(0,S.Ig)(xt)}ngOnInit(){const xt=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+Qn++,xt&&(xt._isPrechecked(this)?this.checked=!0:xt._isSelected(this)!==this._checked&&xt._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const xt=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),xt&&xt._isSelected(this)&&xt._syncButtonToggle(this,!1,!1,!0)}focus(xt){this._buttonElement.nativeElement.focus(xt)}_onButtonClick(){const xt=!!this._isSingleSelector()||!this._checked;xt!==this._checked&&(this._checked=xt,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.change.emit(new Ei(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this._isSingleSelector()?this.buttonToggleGroup.name:this.name||null}_isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}}qi.\u0275fac=function(xt){return new(xt||qi)(D.Y36(en,8),D.Y36(D.sBO),D.Y36(D.SBq),D.Y36(Mn.tE),D.$8M("tabindex"),D.Y36(hn,8))},qi.\u0275cmp=D.Xpm({type:qi,selectors:[["mat-button-toggle"]],viewQuery:function(xt,Bt){if(1&xt&&D.Gf(ai,5),2&xt){let Fn;D.iGM(Fn=D.CRH())&&(Bt._buttonElement=Fn.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:12,hostBindings:function(xt,Bt){1&xt&&D.NdJ("focus",function(){return Bt.focus()}),2&xt&&(D.uIk("aria-label",null)("aria-labelledby",null)("id",Bt.id)("name",null),D.ekj("mat-button-toggle-standalone",!Bt.buttonToggleGroup)("mat-button-toggle-checked",Bt.checked)("mat-button-toggle-disabled",Bt.disabled)("mat-button-toggle-appearance-standard","standard"===Bt.appearance))},inputs:{disableRipple:"disableRipple",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",appearance:"appearance",checked:"checked",disabled:"disabled"},outputs:{change:"change"},exportAs:["matButtonToggle"],features:[D.qOj],ngContentSelectors:["*"],decls:6,vars:9,consts:[["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"id","disabled","click"],["button",""],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function(xt,Bt){if(1&xt&&(D.F$t(),D.TgZ(0,"button",0,1),D.NdJ("click",function(){return Bt._onButtonClick()}),D.TgZ(2,"span",2),D.Hsn(3),D.qZA()(),D._UZ(4,"span",3)(5,"span",4)),2&xt){const Fn=D.MAs(1);D.Q6J("id",Bt.buttonId)("disabled",Bt.disabled||null),D.uIk("tabindex",Bt.disabled?-1:Bt.tabIndex)("aria-pressed",Bt.checked)("name",Bt._getButtonName())("aria-label",Bt.ariaLabel)("aria-labelledby",Bt.ariaLabelledby),D.xp6(5),D.Q6J("matRippleTrigger",Fn)("matRippleDisabled",Bt.disableRipple||Bt.disabled)}},dependencies:[Lt.wG],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}"],encapsulation:2,changeDetection:0});class Zi{}Zi.\u0275fac=function(xt){return new(xt||Zi)},Zi.\u0275mod=D.oAB({type:Zi}),Zi.\u0275inj=D.cJS({imports:[Lt.BQ,Lt.si,Lt.BQ]});var Za=m(2156),mr=m(4792),It=m(2298),Ft=m(3012),ln=m(2642),En=m(7822),qn=m(1267),Nn=m(6517),li=m(8589),aa=m(6060),Ii=m(1294),ea=m(1708),Di=m(2922),Ji=m(7371),ka=m(6643),Yi=m(4714),Ha=m(2867),Hi=m(8456),La=m(9107),gr=m(7714);const Sa=["sliderWrapper"],fa=(0,La.i$)({passive:!1}),za={provide:_.JU,useExisting:(0,D.Gpc)(()=>Qi),multi:!0};class js{}const is=(0,Lt.sb)((0,Lt.pj)((0,Lt.Id)(class{constructor(dn){this._elementRef=dn}}),"accent"));class Qi extends is{constructor(xt,Bt,Fn,ri,Bi,Xi,oa,la){super(xt),this._focusMonitor=Bt,this._changeDetectorRef=Fn,this._dir=ri,this._ngZone=Xi,this._animationMode=la,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new D.vpe,this.input=new D.vpe,this.valueChange=new D.vpe,this.onTouched=()=>{},this._percent=0,this._isSliding=null,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=gr.w0.EMPTY,this._pointerDown=Li=>{this.disabled||this._isSliding||!Ta(Li)&&0!==Li.button||this._ngZone.run(()=>{this._touchId=Ta(Li)?function Ls(dn,xt){for(let Bt=0;Bt{if("pointer"===this._isSliding){const rs=Is(Li,this._touchId);if(rs){Li.cancelable&&Li.preventDefault();const Rr=this.value;this._lastPointerEvent=Li,this._updateValueFromPosition(rs),Rr!=this.value&&this._emitInputEvent()}}},this._pointerUp=Li=>{"pointer"===this._isSliding&&(!Ta(Li)||"number"!=typeof this._touchId||Ua(Li.changedTouches,this._touchId))&&(Li.cancelable&&Li.preventDefault(),this._removeGlobalEvents(),this._isSliding=null,this._touchId=void 0,this._valueOnSlideStart!=this.value&&!this.disabled&&this._emitChangeEvent(),this._valueOnSlideStart=this._lastPointerEvent=null)},this._windowBlur=()=>{this._lastPointerEvent&&this._pointerUp(this._lastPointerEvent)},this._document=oa,this.tabIndex=parseInt(Bi)||0,Xi.runOutsideAngular(()=>{const Li=xt.nativeElement;Li.addEventListener("mousedown",this._pointerDown,fa),Li.addEventListener("touchstart",this._pointerDown,fa)})}get invert(){return this._invert}set invert(xt){this._invert=(0,S.Ig)(xt)}get max(){return this._max}set max(xt){this._max=(0,S.su)(xt,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(xt){this._min=(0,S.su)(xt,this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(xt){this._step=(0,S.su)(xt,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(xt){this._thumbLabel=(0,S.Ig)(xt)}get tickInterval(){return this._tickInterval}set tickInterval(xt){this._tickInterval="auto"===xt?"auto":"number"==typeof xt||"string"==typeof xt?(0,S.su)(xt,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(xt){if(xt!==this._value){let Bt=(0,S.su)(xt,0);this._roundToDecimal&&Bt!==this.min&&Bt!==this.max&&(Bt=parseFloat(Bt.toFixed(this._roundToDecimal))),this._value=Bt,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(xt){this._vertical=(0,S.Ig)(xt)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(xt){this._focusHostElement(xt)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}_shouldInvertAxis(){return this.vertical?!this.invert:this.invert}_isMinValue(){return 0===this.percent}_getThumbGap(){return this.disabled?7:this._isMinValue()&&!this.thumbLabel?this._isActive?10:7:0}_getTrackBackgroundStyles(){const xt=this.vertical?"Y":"X",Bt=this.vertical?`1, ${1-this.percent}, 1`:1-this.percent+", 1, 1";return{transform:`translate${xt}(${this._shouldInvertMouseCoords()?"-":""}${this._getThumbGap()}px) scale3d(${Bt})`}}_getTrackFillStyles(){const xt=this.percent,Bt=this.vertical?"Y":"X",Fn=this.vertical?`1, ${xt}, 1`:`${xt}, 1, 1`;return{transform:`translate${Bt}(${this._shouldInvertMouseCoords()?"":"-"}${this._getThumbGap()}px) scale3d(${Fn})`,display:0===xt?"none":""}}_getTicksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}_getTicksStyles(){let xt=100*this._tickIntervalPercent,Xi={backgroundSize:this.vertical?`2px ${xt}%`:`${xt}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${xt/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};if(this._isMinValue()&&this._getThumbGap()){const oa=this._shouldInvertAxis();let la;la=this.vertical?oa?"Bottom":"Top":oa?"Right":"Left",Xi[`padding${la}`]=`${this._getThumbGap()}px`}return Xi}_getThumbContainerStyles(){const xt=this._shouldInvertAxis();return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?xt:!xt)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){const xt=this._shouldInvertAxis();return"rtl"!=this._getDirection()||this.vertical?xt:!xt}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(xt=>{this._isActive=!!xt&&"keyboard"!==xt,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){const xt=this._elementRef.nativeElement;xt.removeEventListener("mousedown",this._pointerDown,fa),xt.removeEventListener("touchstart",this._pointerDown,fa),this._lastPointerEvent=null,this._removeGlobalEvents(),this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(xt){if(this.disabled||(0,Hi.Vb)(xt)||this._isSliding&&"keyboard"!==this._isSliding)return;const Bt=this.value;switch(xt.keyCode){case Hi.Ku:this._increment(10);break;case Hi.VM:this._increment(-10);break;case Hi.uR:this.value=this.max;break;case Hi.Sd:this.value=this.min;break;case Hi.oh:this._increment("rtl"==this._getDirection()?1:-1);break;case Hi.LH:this._increment(1);break;case Hi.SV:this._increment("rtl"==this._getDirection()?-1:1);break;case Hi.JH:this._increment(-1);break;default:return}Bt!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding="keyboard",xt.preventDefault()}_onKeyup(){"keyboard"===this._isSliding&&(this._isSliding=null)}_getWindow(){return this._document.defaultView||window}_bindGlobalEvents(xt){const Bt=this._document,Fn=Ta(xt),ri=Fn?"touchmove":"mousemove",Bi=Fn?"touchend":"mouseup";Bt.addEventListener(ri,this._pointerMove,fa),Bt.addEventListener(Bi,this._pointerUp,fa),Fn&&Bt.addEventListener("touchcancel",this._pointerUp,fa);const Xi=this._getWindow();typeof Xi<"u"&&Xi&&Xi.addEventListener("blur",this._windowBlur)}_removeGlobalEvents(){const xt=this._document;xt.removeEventListener("mousemove",this._pointerMove,fa),xt.removeEventListener("mouseup",this._pointerUp,fa),xt.removeEventListener("touchmove",this._pointerMove,fa),xt.removeEventListener("touchend",this._pointerUp,fa),xt.removeEventListener("touchcancel",this._pointerUp,fa);const Bt=this._getWindow();typeof Bt<"u"&&Bt&&Bt.removeEventListener("blur",this._windowBlur)}_increment(xt){const Bt=this._clamp(this.value||0,this.min,this.max);this.value=this._clamp(Bt+this.step*xt,this.min,this.max)}_updateValueFromPosition(xt){if(!this._sliderDimensions)return;let Bt=this.vertical?this._sliderDimensions.top:this._sliderDimensions.left,Fn=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,ri=this.vertical?xt.y:xt.x,Bi=this._clamp((ri-Bt)/Fn);if(this._shouldInvertMouseCoords()&&(Bi=1-Bi),0===Bi)this.value=this.min;else if(1===Bi)this.value=this.max;else{const Xi=this._calculateValue(Bi),oa=Math.round((Xi-this.min)/this.step)*this.step+this.min;this.value=this._clamp(oa,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(!this.tickInterval||!this._sliderDimensions)return;let xt;if("auto"==this.tickInterval){let Bt=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,Fn=Bt*this.step/(this.max-this.min);xt=Math.ceil(30/Fn)*this.step/Bt}else xt=this.tickInterval*this.step/(this.max-this.min);this._tickIntervalPercent=Gr(xt)?xt:0}_createChangeEvent(xt=this.value){let Bt=new js;return Bt.source=this,Bt.value=xt,Bt}_calculatePercentage(xt){const Bt=((xt||0)-this.min)/(this.max-this.min);return Gr(Bt)?Bt:0}_calculateValue(xt){return this.min+xt*(this.max-this.min)}_clamp(xt,Bt=0,Fn=1){return Math.max(Bt,Math.min(xt,Fn))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(xt){this._elementRef.nativeElement.focus(xt)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(xt){this.value=xt}registerOnChange(xt){this._controlValueAccessorChangeFn=xt}registerOnTouched(xt){this.onTouched=xt}setDisabledState(xt){this.disabled=xt}}function Gr(dn){return!isNaN(dn)&&isFinite(dn)}function Ta(dn){return"t"===dn.type[0]}function Is(dn,xt){let Bt;return Bt=Ta(dn)?"number"==typeof xt?Ua(dn.touches,xt)||Ua(dn.changedTouches,xt):dn.touches[0]||dn.changedTouches[0]:dn,Bt?{x:Bt.clientX,y:Bt.clientY}:void 0}function Ua(dn,xt){for(let Bt=0;Bt{"use strict";m.d(X,{M6:()=>A,Q2:()=>I,QO:()=>d,Tm:()=>de,Uy:()=>le,XT:()=>re,_V:()=>ue,ac:()=>k,c0:()=>o,c1:()=>P,dc:()=>v,ey:()=>ae,fk:()=>ve,jS:()=>$,jW:()=>u,kS:()=>n,lC:()=>E,qR:()=>S,qi:()=>s,tj:()=>z,ts:()=>D,tw:()=>Z,uO:()=>p,vI:()=>j,x4:()=>L,yb:()=>M,zQ:()=>pe});var e=m(9263),t=m(7731);(0,e.PH)(t.pg.VOID);const E=(0,e.PH)(t.pg.SET_API_URL_ECL,(0,e.Ky)()),s=(0,e.PH)(t.pg.UPDATE_API_CALL_STATUS_ROOT,(0,e.Ky)()),D=(0,e.PH)(t.pg.CLOSE_ALL_DIALOGS),u=(0,e.PH)(t.pg.OPEN_SNACK_BAR,(0,e.Ky)()),k=(0,e.PH)(t.pg.OPEN_SPINNER,(0,e.Ky)()),p=(0,e.PH)(t.pg.CLOSE_SPINNER,(0,e.Ky)()),S=(0,e.PH)(t.pg.OPEN_ALERT,(0,e.Ky)()),A=(0,e.PH)(t.pg.CLOSE_ALERT,(0,e.Ky)()),P=(0,e.PH)(t.pg.OPEN_CONFIRMATION,(0,e.Ky)()),M=(0,e.PH)(t.pg.CLOSE_CONFIRMATION,(0,e.Ky)()),z=(0,e.PH)(t.pg.SHOW_PUBKEY),I=(0,e.PH)(t.pg.FETCH_CONFIG,(0,e.Ky)()),Z=((0,e.PH)(t.pg.SHOW_CONFIG,(0,e.Ky)()),(0,e.PH)(t.pg.UPDATE_SELECTED_NODE_OPTIONS)),j=(0,e.PH)(t.pg.RESET_ROOT_STORE,(0,e.Ky)()),ae=(0,e.PH)(t.pg.FETCH_RTL_CONFIG),re=(0,e.PH)(t.pg.SET_RTL_CONFIG,(0,e.Ky)()),pe=(0,e.PH)(t.pg.SAVE_SETTINGS,(0,e.Ky)()),le=(0,e.PH)(t.pg.TWO_FA_SAVE_SETTINGS,(0,e.Ky)()),ve=(0,e.PH)(t.pg.SET_SELECTED_NODE,(0,e.Ky)()),de=(0,e.PH)(t.pg.UPDATE_ROOT_NODE_SETTINGS,(0,e.Ky)()),$=(0,e.PH)(t.pg.UPDATE_SERVICE_SETTINGS,(0,e.Ky)()),ue=(0,e.PH)(t.pg.SET_NODE_DATA,(0,e.Ky)()),n=((0,e.PH)(t.pg.SAVE_SSO,(0,e.Ky)()),(0,e.PH)(t.pg.LOGOUT)),o=(0,e.PH)(t.pg.RESET_PASSWORD,(0,e.Ky)()),d=((0,e.PH)(t.pg.RESET_PASSWORD_RES,(0,e.Ky)()),(0,e.PH)(t.pg.IS_AUTHORIZED,(0,e.Ky)())),L=((0,e.PH)(t.pg.IS_AUTHORIZED_RES,(0,e.Ky)()),(0,e.PH)(t.pg.LOGIN,(0,e.Ky)())),v=((0,e.PH)(t.pg.VERIFY_TWO_FA,(0,e.Ky)()),(0,e.PH)(t.pg.FETCH_FILE,(0,e.Ky)()));(0,e.PH)(t.pg.SHOW_FILE,(0,e.Ky)())},3093:(Ve,X,m)=>{"use strict";m.d(X,{V:()=>ai});var e=m(3599),t=m(253),_=m(745),E=m(833),s=m(1640),D=m(635),u=m(9295),k=m(538),p=m(9525),S=m(3158),A=m(8951),P=m(2340),M=m(7731),z=m(640),I=m(2560),W=m(6722),Z=m(1708);class j{constructor(hn,en){this.dialogRef=hn,this.data=en}static#e=this.\u0275fac=function(en){return new(en||j)(I.Y36(z.so),I.Y36(z.WI))};static#t=this.\u0275cmp=I.Xpm({type:j,selectors:[["rtl-spinner-dialog"]],decls:5,vars:1,consts:[[1,"spinner-container"],["fxLayout","column","fxLayoutAlign","center center",1,"spinner-circle"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I._UZ(2,"mat-spinner"),I.TgZ(3,"h1"),I._uU(4),I.qZA()()()),2&en&&(I.xp6(4),I.Oqu(gn.data.titleMessage))},dependencies:[W.xw,W.Wh,Z.Ou],styles:[".spinner-container[_ngcontent-%COMP%]{position:absolute;left:40%;top:35%}"]})}var ae=m(5043),re=m(930),pe=m(62),le=m(4666),ve=m(3704),de=m(4522),$=m(2156),ue=m(7822),w=m(1528),n=m(6021),o=m(8822),h=m(6895),d=m(3390);const y=["scrollContainer"];function L(rn,hn){if(1&rn&&I._UZ(0,"qr-code",15),2&rn){const en=I.oxw();I.Q6J("value",en.showQRField)("size",200)("errorCorrectionLevel","L")}}function B(rn,hn){1&rn&&I.GkF(0)}const v=function(rn){return{"h-40":rn}};function a(rn,hn){if(1&rn&&(I.ynx(0),I.TgZ(1,"mat-card-content",16,17),I.YNc(3,B,1,0,"ng-container",18),I.qZA(),I.BQk()),2&rn){const en=I.oxw(),gn=I.MAs(20);I.xp6(1),I.Q6J("ngClass",I.VKq(2,v,en.data.scrollable)),I.xp6(2),I.Q6J("ngTemplateOutlet",gn)}}function C(rn,hn){1&rn&&I.GkF(0)}function N(rn,hn){if(1&rn&&(I.ynx(0),I.TgZ(1,"mat-card-content",19),I.YNc(2,C,1,0,"ng-container",18),I.qZA(),I.BQk()),2&rn){I.oxw();const en=I.MAs(20);I.xp6(2),I.Q6J("ngTemplateOutlet",en)}}function F(rn,hn){1&rn&&(I.TgZ(0,"mat-icon",23),I._uU(1,"arrow_downward"),I.qZA())}function J(rn,hn){1&rn&&(I.TgZ(0,"mat-icon",23),I._uU(1,"arrow_upward"),I.qZA())}function Fe(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"div",20)(1,"button",21),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onScroll())}),I.YNc(2,F,2,0,"mat-icon",22),I.YNc(3,J,2,0,"mat-icon",22),I.qZA()()}if(2&rn){const en=I.oxw();I.xp6(2),I.Q6J("ngIf","DOWN"===en.scrollDirection),I.xp6(1),I.Q6J("ngIf","UP"===en.scrollDirection)}}function ke(rn,hn){1&rn&&(I.TgZ(0,"button",24),I._uU(1,"OK"),I.qZA()),2&rn&&I.Q6J("mat-dialog-close",!1)}function Ge(rn,hn){1&rn&&(I.TgZ(0,"button",25),I._uU(1,"Close"),I.qZA()),2&rn&&I.Q6J("mat-dialog-close",!1)}function je(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"button",26),I.NdJ("copied",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.onCopyField(Qn))}),I._uU(1),I.qZA()}if(2&rn){const en=I.oxw();I.Q6J("payload",en.showCopyField),I.xp6(1),I.hij("Copy ",en.showCopyName,"")}}function We(rn,hn){1&rn&&(I.TgZ(0,"button",25),I._uU(1,"Close"),I.qZA()),2&rn&&I.Q6J("mat-dialog-close",!1)}function be(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"button",26),I.NdJ("copied",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.onCopyField(Qn))}),I._uU(1),I.qZA()}if(2&rn){const en=I.oxw();I.Q6J("payload",en.showQRField),I.xp6(1),I.hij("Copy ",en.showQRName,"")}}function Ye(rn,hn){if(1&rn&&I._UZ(0,"qr-code",15),2&rn){const en=I.oxw(2);I.Q6J("value",en.showQRField)("size",200)("errorCorrectionLevel","L")}}function Ie(rn,hn){if(1&rn&&(I.TgZ(0,"p",32),I._uU(1),I.qZA()),2&rn){const en=I.oxw(2);I.xp6(1),I.Oqu(en.data.titleMessage)}}function ge(rn,hn){if(1&rn&&I._UZ(0,"span",46),2&rn){const en=hn.$implicit;I.Q6J("innerHTML",en,I.oJD)}}function et(rn,hn){if(1&rn&&(I.ynx(0),I.YNc(1,ge,1,1,"span",45),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Q6J("ngForOf",en.value)}}function ut(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.ALo(2,"date"),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,1e3*en.value,"dd/MMM/y HH:mm"))}}function Le(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.ALo(2,"number"),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,en.value,en.digitsInfo?en.digitsInfo:"1.0-3"))}}function De(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(en.value?"True":"False")}}function ne(rn,hn){1&rn&&(I.TgZ(0,"mat-icon",51),I._uU(1,"info"),I.qZA())}const fe=function(rn){return{"failed-status":rn}};function ee(rn,hn){if(1&rn&&(I.TgZ(0,"p",49),I._uU(1),I.YNc(2,ne,2,0,"mat-icon",50),I.qZA()),2&rn){const en=I.oxw(3).$implicit,gn=I.oxw(4);I.Q6J("ngClass",I.VKq(3,fe,en.value===gn.LoopStateEnum.FAILED)),I.xp6(1),I.hij(" ",en.value," "),I.xp6(1),I.Q6J("ngIf",en.value===gn.LoopStateEnum.FAILED)}}function H(rn,hn){if(1&rn&&I._uU(0),2&rn){const en=I.oxw(3).$implicit;I.Oqu(en.value)}}function q(rn,hn){if(1&rn&&(I.ynx(0),I.YNc(1,ee,3,5,"p",47),I.YNc(2,H,1,1,"ng-template",null,48,I.W1O),I.BQk()),2&rn){const en=I.MAs(3),gn=I.oxw(2).$implicit,Qn=I.oxw(4);I.xp6(1),I.Q6J("ngIf","SWAP"===Qn.data.openedBy&&"state"===gn.key)("ngIfElse",en)}}function Oe(rn,hn){if(1&rn&&(I.TgZ(0,"span")(1,"span",42),I.YNc(2,et,2,1,"ng-container",43),I.YNc(3,ut,3,4,"ng-container",43),I.YNc(4,Le,3,4,"ng-container",43),I.YNc(5,De,2,1,"ng-container",43),I.YNc(6,q,4,2,"ng-container",44),I.qZA()()),2&rn){const en=I.oxw().$implicit,gn=I.oxw(4);I.xp6(1),I.Q6J("ngSwitch",en.type),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.ARRAY),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.DATE_TIME),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.NUMBER),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.BOOLEAN)}}function Re(rn,hn){1&rn&&(I.TgZ(0,"span",52),I._uU(1,"\xa0"),I.qZA())}function oe(rn,hn){if(1&rn&&(I.TgZ(0,"div",37)(1,"h4",38),I._uU(2),I.qZA(),I.YNc(3,Oe,7,5,"span",39),I.YNc(4,Re,2,0,"ng-template",null,40,I.W1O),I._UZ(6,"mat-divider",41),I.qZA()),2&rn){const en=hn.$implicit,gn=I.MAs(5);I.s9C("fxFlex.gt-md",en.width),I.xp6(2),I.Oqu(en.title),I.xp6(1),I.Q6J("ngIf",en&&(!!en.value||0===en.value))("ngIfElse",gn)}}function pt(rn,hn){if(1&rn&&(I.TgZ(0,"div")(1,"div",35),I.YNc(2,oe,7,4,"div",36),I.qZA()()),2&rn){const en=hn.$implicit;I.xp6(2),I.Q6J("ngForOf",en)}}function it(rn,hn){if(1&rn&&(I.TgZ(0,"div",33),I.YNc(1,pt,3,1,"div",34),I.qZA()),2&rn){const en=I.oxw(2);I.xp6(1),I.Q6J("ngForOf",en.messageObjs)}}const Ct=function(rn){return{"display-none":rn}};function un(rn,hn){if(1&rn&&(I.TgZ(0,"div",27)(1,"div",28),I.YNc(2,Ye,1,3,"qr-code",2),I.qZA(),I.TgZ(3,"div",29),I.YNc(4,Ie,2,1,"p",30),I.YNc(5,it,2,1,"div",31),I.qZA()()),2&rn){const en=I.oxw();I.xp6(1),I.Q6J("ngClass",I.VKq(4,Ct,""===en.showQRField||en.screenSize!==en.screenSizeEnum.XS&&en.screenSize!==en.screenSizeEnum.SM)),I.xp6(1),I.Q6J("ngIf",""!==en.showQRField),I.xp6(2),I.Q6J("ngIf",en.data.titleMessage),I.xp6(1),I.Q6J("ngIf",(null==en.messageObjs?null:en.messageObjs.length)>0)}}class Nt{constructor(hn,en,gn,Qn,Ei,ha){this.dialogRef=hn,this.data=en,this.logger=gn,this.snackBar=Qn,this.commonService=Ei,this.renderer=ha,this.LoopStateEnum=M.Fq,this.showQRField="",this.showQRName="",this.showCopyName="",this.showCopyField="",this.errorMessage="",this.messageObjs=[],this.alertTypeEnum=M.n_,this.dataTypeEnum=M.Gi,this.screenSize="",this.screenSizeEnum=M.cu,this.scrollDirection="DOWN",this.shouldScroll=!0}set container(hn){hn&&(this.scrollContainer=hn,this.scrollContainer&&this.scrollContainer.nativeElement&&(this.unlistenEnd=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-end",en=>{this.scrollDirection="UP"}),this.unlistenStart=this.renderer.listen(this.scrollContainer.nativeElement,"ps-y-reach-start",en=>{this.scrollDirection="DOWN"})))}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.messageObjs=this.data.message||[],this.showQRField=this.data.showQRField?this.data.showQRField:"",this.showQRName=this.data.showQRName?this.data.showQRName:"",this.showCopyName=this.data.showCopyName?this.data.showCopyName:"",this.showCopyField=this.data.showCopyField?this.data.showCopyField:"",this.data.type===M.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection"),this.logger.info(this.messageObjs)}ngAfterViewChecked(){setTimeout(()=>{this.shouldScroll=this.scrollContainer&&this.scrollContainer.nativeElement&&this.scrollContainer.nativeElement.classList.value.includes("ps--active-y")},500)}onScroll(){"DOWN"===this.scrollDirection?this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop+62.6:this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollTop-62.6}onCopyField(hn){this.snackBar.open((this.showQRName?this.showQRName:this.showCopyName)+" copied."),this.logger.info("Copied Text: "+hn)}onClose(){this.dialogRef.close(!1)}ngOnDestroy(){this.unlistenStart&&this.unlistenStart(),this.unlistenEnd&&this.unlistenEnd()}static#e=this.\u0275fac=function(en){return new(en||Nt)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ae.mQ),I.Y36(re.ux),I.Y36(pe.v),I.Y36(I.Qsj))};static#t=this.\u0275cmp=I.Xpm({type:Nt,selectors:[["rtl-alert-message"]],viewQuery:function(en,gn){if(1&en&&I.Gf(y,5),2&en){let Qn;I.iGM(Qn=I.CRH())&&(gn.container=Qn.first)}},decls:21,vars:14,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","ml-1",3,"ngClass"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],[3,"fxFlex"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start end","class","btn-sticky-container padding-gap-x-large",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center",1,"padding-gap-x-large","padding-gap-bottom-large"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close",4,"ngIf"],["class","mr-1","fxLayoutAlign","center center","tabindex","1","mat-button","","color","primary","type","button","default","",3,"mat-dialog-close",4,"ngIf"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied",4,"ngIf"],["contentBlock",""],[3,"value","size","errorCorrectionLevel"],[1,"padding-gap-x-large",3,"perfectScrollbar","ngClass"],["scrollContainer",""],[4,"ngTemplateOutlet"],[1,"padding-gap-x-large"],["fxLayout","row","fxLayoutAlign","start end",1,"btn-sticky-container","padding-gap-x-large"],["mat-mini-fab","","aria-label","Scroll","fxLayoutAlign","center center",3,"click"],["fxLayoutAlign","center center",4,"ngIf"],["fxLayoutAlign","center center"],["tabindex","1","autoFocus","","mat-button","","color","primary","type","submit","default","",3,"mat-dialog-close"],["fxLayoutAlign","center center","tabindex","1","mat-button","","color","primary","type","button","default","",1,"mr-1",3,"mat-dialog-close"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large","mb-1",3,"ngClass"],["fxLayout","column","fxFlex","100"],["fxLayoutAlign","start center","class","pb-2",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxLayoutAlign","start center",1,"pb-2"],["fxFlex","100"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"foreground-secondary-text",3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["class","display-block w-100",3,"innerHTML",4,"ngFor","ngForOf"],[1,"display-block","w-100",3,"innerHTML"],["fxLayout","row",3,"ngClass",4,"ngIf","ngIfElse"],["noStyleBlock",""],["fxLayout","row",3,"ngClass"],["fxLayoutAlign","end end","class","icon-failed-status",4,"ngIf"],["fxLayoutAlign","end end",1,"icon-failed-status"],["fxFlex","100",1,"foreground-secondary-text"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I.YNc(2,L,1,3,"qr-code",2),I.qZA(),I.TgZ(3,"div",3)(4,"mat-card-header",4)(5,"div",5)(6,"span",6),I._uU(7),I.qZA()(),I.TgZ(8,"button",7),I.NdJ("click",function(){return gn.onClose()}),I._uU(9,"X"),I.qZA()(),I.YNc(10,a,4,4,"ng-container",8),I.YNc(11,N,3,1,"ng-container",8),I.YNc(12,Fe,4,2,"div",9),I.TgZ(13,"div",10),I.YNc(14,ke,2,1,"button",11),I.YNc(15,Ge,2,1,"button",12),I.YNc(16,je,2,2,"button",13),I.YNc(17,We,2,1,"button",12),I.YNc(18,be,2,2,"button",13),I.qZA()()(),I.YNc(19,un,6,6,"ng-template",null,14,I.W1O)),2&en&&(I.xp6(1),I.Q6J("ngClass",I.VKq(12,Ct,""===gn.showQRField||gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM)),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField),I.xp6(1),I.Q6J("fxFlex",""===gn.showQRField||gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM?"100":"70"),I.xp6(4),I.Oqu(gn.data.alertTitle||gn.alertTypeEnum[gn.data.type]),I.xp6(3),I.Q6J("ngIf",gn.data.scrollable),I.xp6(1),I.Q6J("ngIf",!gn.data.scrollable),I.xp6(1),I.Q6J("ngIf",gn.data.scrollable&&gn.shouldScroll),I.xp6(2),I.Q6J("ngIf",(!gn.showQRField||""===gn.showQRField)&&""===gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showCopyName),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField),I.xp6(1),I.Q6J("ngIf",""!==gn.showQRField))},dependencies:[le.mk,le.sg,le.O5,le.tP,le.RF,le.n9,le.ED,W.xw,W.Wh,W.yH,ve.oO,z.ZT,de.lW,$.dk,$.dn,ue.Hw,w.d,n.uU,o.$V,h.y,d.h,le.JJ,le.uU],styles:[".display-block[_ngcontent-%COMP%]{display:block}"]})}var zt=m(9306),yn=m(7861),Jt=m(9263),Gt=m(2508),In=m(3505),an=m(5074),tn=m(1267),pn=m(6534);function nt(rn,hn){if(1&rn&&(I.TgZ(0,"div",18),I._UZ(1,"fa-icon",19),I.TgZ(2,"span"),I._uU(3),I.qZA()()),2&rn){const en=I.oxw();I.xp6(1),I.Q6J("icon",en.faExclamationTriangle),I.xp6(2),I.Oqu(en.warningMessage)}}function gt(rn,hn){if(1&rn&&(I.TgZ(0,"div",20),I._UZ(1,"fa-icon",19),I.TgZ(2,"span"),I._uU(3),I.qZA()()),2&rn){const en=I.oxw();I.xp6(1),I.Q6J("icon",en.faInfoCircle),I.xp6(2),I.Oqu(en.informationMessage)}}function At(rn,hn){if(1&rn&&(I.TgZ(0,"p",21),I._uU(1),I.qZA()),2&rn){const en=I.oxw();I.xp6(1),I.Oqu(en.data.titleMessage)}}function we(rn,hn){if(1&rn&&I._UZ(0,"div",36),2&rn){const en=hn.$implicit;I.Q6J("innerHTML",en,I.oJD)}}function Y(rn,hn){if(1&rn&&(I.ynx(0,34),I.YNc(1,we,1,1,"div",35),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Q6J("ngForOf",en.value)}}function te(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.ALo(2,"date"),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,1e3*en.value,"dd/MMM/y HH:mm"))}}function xe(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.ALo(2,"number"),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(I.xi3(2,1,en.value,"1.0-3"))}}function ze(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(!0===en.value?"True":"False")}}function _t(rn,hn){if(1&rn&&(I.ynx(0),I._uU(1),I.BQk()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.Oqu(en.value)}}function ct(rn,hn){if(1&rn&&(I.TgZ(0,"span")(1,"span",30),I.YNc(2,Y,2,1,"ng-container",31),I.YNc(3,te,3,4,"ng-container",32),I.YNc(4,xe,3,4,"ng-container",32),I.YNc(5,ze,2,1,"ng-container",32),I.YNc(6,_t,2,1,"ng-container",33),I.qZA()()),2&rn){const en=I.oxw().$implicit,gn=I.oxw(3);I.xp6(1),I.Q6J("ngSwitch",en.type),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.ARRAY),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.DATE_TIME),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.NUMBER),I.xp6(1),I.Q6J("ngSwitchCase",gn.dataTypeEnum.BOOLEAN)}}function Ue(rn,hn){1&rn&&(I.TgZ(0,"span",37),I._uU(1,"\xa0"),I.qZA())}function Me(rn,hn){if(1&rn&&(I.TgZ(0,"div",25)(1,"h4",26),I._uU(2),I.qZA(),I.YNc(3,ct,7,5,"span",27),I.YNc(4,Ue,2,0,"ng-template",null,28,I.W1O),I._UZ(6,"mat-divider",29),I.qZA()),2&rn){const en=hn.$implicit,gn=I.MAs(5);I.s9C("fxFlex.gt-md",en.width),I.xp6(2),I.Oqu(en.title),I.xp6(1),I.Q6J("ngIf",en&&(!!en.value||0===en.value))("ngIfElse",gn)}}function Ce(rn,hn){if(1&rn&&(I.TgZ(0,"div")(1,"div",23),I.YNc(2,Me,7,4,"div",24),I.qZA()()),2&rn){const en=hn.$implicit;I.xp6(2),I.Q6J("ngForOf",en)}}function Je(rn,hn){if(1&rn&&(I.TgZ(0,"div"),I.YNc(1,Ce,3,1,"div",22),I.qZA()),2&rn){const en=I.oxw();I.xp6(1),I.Q6J("ngForOf",en.messageObjs)}}function Ut(rn,hn){if(1&rn&&(I.TgZ(0,"p",21),I._uU(1),I.qZA()),2&rn){const en=I.oxw(2);I.xp6(1),I.Oqu(en.data.titleMessage)}}function Dt(rn,hn){if(1&rn&&(I.TgZ(0,"mat-error"),I._uU(1),I.qZA()),2&rn){const en=I.oxw(2).$implicit;I.xp6(1),I.hij("",en.placeholder," is required.")}}function Tt(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"mat-form-field",41)(1,"input",42),I.NdJ("ngModelChange",function(Qn){I.CHM(en);const Ei=I.oxw().$implicit;return I.KtG(Ei.inputValue=Qn)}),I.ALo(2,"lowercase"),I.qZA(),I.YNc(3,Dt,2,1,"mat-error",11),I.TgZ(4,"mat-hint"),I._uU(5),I.qZA()()}if(2&rn){const en=I.oxw(),gn=en.$implicit,Qn=en.index;I.Q6J("fxFlex",gn.width),I.xp6(1),I.MGl("name","input",Qn,""),I.Q6J("autoFocus",0===Qn)("placeholder",gn.placeholder)("min",gn.min)("step",gn.step)("type",I.lcZ(2,11,gn.inputType))("tabindex",Qn+1)("ngModel",gn.inputValue),I.xp6(2),I.Q6J("ngIf",!gn.inputValue),I.xp6(2),I.Oqu(gn.hintFunction?gn.hintFunction(gn.inputValue):gn.hintText)}}function Ht(rn,hn){if(1&rn&&(I.ynx(0),I.YNc(1,Tt,6,13,"mat-form-field",40),I.BQk()),2&rn){const en=hn.$implicit,gn=I.oxw(2);I.xp6(1),I.Q6J("ngIf",!en.advancedField||gn.showAdvanced)}}function He(rn,hn){if(1&rn&&(I.TgZ(0,"div",38),I.YNc(1,Ut,2,1,"p",10),I.TgZ(2,"div",39),I.YNc(3,Ht,2,1,"ng-container",22),I.qZA()()),2&rn){const en=I.oxw();I.xp6(1),I.Q6J("ngIf",en.data.titleMessage),I.xp6(2),I.Q6J("ngForOf",en.getInputs)}}function $e(rn,hn){1&rn&&(I.TgZ(0,"p"),I._uU(1,"Show Advanced"),I.qZA())}function $t(rn,hn){1&rn&&(I.TgZ(0,"p"),I._uU(1,"Hide Advanced"),I.qZA())}function Rt(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"button",43),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onShowAdvanced())}),I.YNc(1,$e,2,0,"p",27),I.YNc(2,$t,2,0,"ng-template",null,44,I.W1O),I.qZA()}if(2&rn){const en=I.MAs(3),gn=I.oxw();I.xp6(1),I.Q6J("ngIf",!gn.showAdvanced)("ngIfElse",en)}}function Xt(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"button",45),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onClose(Qn.getInputs))}),I._uU(1),I.qZA()}if(2&rn){const en=I.oxw();I.xp6(1),I.Oqu(en.yesBtnText)}}function Vn(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"button",46),I.NdJ("click",function(){I.CHM(en);const Qn=I.oxw();return I.KtG(Qn.onClose(!0))}),I._uU(1),I.qZA()}if(2&rn){const en=I.oxw();I.xp6(1),I.Oqu(en.yesBtnText)}}class zn{constructor(hn,en,gn,Qn){this.dialogRef=hn,this.data=en,this.logger=gn,this.store=Qn,this.faInfoCircle=zt.sqG,this.faExclamationTriangle=zt.eHv,this.informationMessage="",this.warningMessage="",this.noBtnText="No",this.yesBtnText="Yes",this.messageObjs=[],this.flgShowInput=!1,this.hasAdvanced=!1,this.alertTypeEnum=M.n_,this.dataTypeEnum=M.Gi,this.getInputs=[{placeholder:"",inputType:M.Gi.STRING,inputValue:"",hintText:"",hintFunction:null,advancedField:!1}],this.showAdvanced=!1}ngOnInit(){this.informationMessage=this.data.informationMessage||"",this.warningMessage=this.data.warningMessage||"",this.flgShowInput=!!this.data.flgShowInput,this.getInputs=this.data.getInputs||[],this.noBtnText=this.data.noBtnText?this.data.noBtnText:"No",this.yesBtnText=this.data.yesBtnText?this.data.yesBtnText:"Yes",this.hasAdvanced=!!this.data.hasAdvanced&&this.data.hasAdvanced,this.messageObjs=this.data.message,this.data.type===M.n_.ERROR&&!this.data.message&&!this.data.titleMessage&&this.messageObjs.length<=0&&(this.data.titleMessage="Please Check Server Connection")}onShowAdvanced(){this.showAdvanced=!this.showAdvanced}onClose(hn){if(hn&&this.getInputs&&this.getInputs.some(en=>typeof en.inputValue>"u"))return!0;!this.showAdvanced&&hn.length&&(hn=hn?.reduce((en,gn)=>(gn.advancedField||en.push(gn),en),[])),this.store.dispatch((0,yn.yb)({payload:hn}))}static#e=this.\u0275fac=function(en){return new(en||zn)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ae.mQ),I.Y36(Jt.yh))};static#t=this.\u0275cmp=I.Xpm({type:zn,selectors:[["rtl-confirmation-message"]],decls:21,vars:10,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","8","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","100","class","alert alert-warn",4,"ngIf"],["fxFlex","100","class","alert alert-info",4,"ngIf"],["fxLayoutAlign","start center","class","pb-1",4,"ngIf"],[4,"ngIf"],["fxLayout","column","class","bordered-box my-2 p-2",4,"ngIf"],["fxLayout","row","fxLayoutAlign","end center"],["mat-button","","color","primary","type","reset","tabindex","1",1,"mr-1",3,"click"],["mat-button","","color","primary","type","button","class","mr-1","tabindex","2",3,"click",4,"ngIf"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","3","default","",3,"click",4,"ngIf"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","4","default","",3,"click",4,"ngIf"],["fxFlex","100",1,"alert","alert-warn"],[1,"mr-1","alert-icon",3,"icon"],["fxFlex","100",1,"alert","alert-info"],["fxLayoutAlign","start center",1,"pb-1"],[4,"ngFor","ngForOf"],["fxLayout","row wrap","fxLayoutAlign","start center","fxLayoutAlign.gt-md","space-between start"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md",4,"ngFor","ngForOf"],["fxLayout","column","fxFlex","100",3,"fxFlex.gt-md"],["fxLayoutAlign","start",1,"font-bold-500"],[4,"ngIf","ngIfElse"],["emptyField",""],[1,"w-100","my-1"],[1,"foreground-secondary-text",3,"ngSwitch"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch",4,"ngSwitchCase"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["fxLayout","row wrap","fxLayoutAlign","space-between stretch"],[3,"innerHTML",4,"ngFor","ngForOf"],[3,"innerHTML"],["fxFlex","100",1,"foreground-secondary-text"],["fxLayout","column",1,"bordered-box","my-2","p-2"],["fxLayout","row wrap","fxLayoutAlign","space-between center"],[3,"fxFlex",4,"ngIf"],[3,"fxFlex"],["matInput","","required","",3,"autoFocus","placeholder","name","min","step","type","tabindex","ngModel","ngModelChange"],["mat-button","","color","primary","type","button","tabindex","2",1,"mr-1",3,"click"],["hideAdvancedText",""],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","3","default","",3,"click"],["autoFocus","","mat-button","","color","primary","type","submit","tabindex","4","default","",3,"click"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),I._uU(5),I.qZA()(),I.TgZ(6,"button",5),I.NdJ("click",function(){return gn.onClose(!1)}),I._uU(7,"X"),I.qZA()(),I.TgZ(8,"mat-card-content",6)(9,"form",7),I.YNc(10,nt,4,2,"div",8),I.YNc(11,gt,4,2,"div",9),I.YNc(12,At,2,1,"p",10),I.YNc(13,Je,2,1,"div",11),I.YNc(14,He,4,2,"div",12),I.TgZ(15,"div",13)(16,"button",14),I.NdJ("click",function(){return gn.onClose(!1)}),I._uU(17),I.qZA(),I.YNc(18,Rt,4,2,"button",15),I.YNc(19,Xt,2,1,"button",16),I.YNc(20,Vn,2,1,"button",17),I.qZA()()()()()),2&en&&(I.xp6(5),I.Oqu(gn.data.alertTitle||gn.alertTypeEnum[gn.data.type]),I.xp6(5),I.Q6J("ngIf",gn.warningMessage&&""!==gn.warningMessage),I.xp6(1),I.Q6J("ngIf",gn.informationMessage&&""!==gn.informationMessage),I.xp6(1),I.Q6J("ngIf",gn.data.titleMessage&&!gn.flgShowInput),I.xp6(1),I.Q6J("ngIf",(null==gn.messageObjs?null:gn.messageObjs.length)>0),I.xp6(1),I.Q6J("ngIf",gn.flgShowInput),I.xp6(3),I.Oqu(gn.noBtnText),I.xp6(1),I.Q6J("ngIf",gn.hasAdvanced),I.xp6(1),I.Q6J("ngIf",gn.flgShowInput),I.xp6(1),I.Q6J("ngIf",!gn.flgShowInput))},dependencies:[le.sg,le.O5,le.RF,le.n9,le.ED,Gt._Y,Gt.Fj,Gt.JJ,Gt.JL,Gt.Q7,Gt.On,Gt.F,In.BN,W.xw,W.Wh,W.yH,de.lW,$.dk,$.dn,an.TO,an.KE,an.bx,tn.Nt,w.d,d.h,pn.q,le.i8,le.JJ,le.uU]})}var Tn=m(1786),Yn=m(7371),Mt=m(207);function Ze(rn,hn){if(1&rn&&(I.TgZ(0,"mat-option",23),I._uU(1),I.qZA()),2&rn){const en=hn.$implicit;I.Q6J("value",en),I.xp6(1),I.hij(" ",en.infoName," ")}}function Be(rn,hn){if(1&rn){const en=I.EpF();I.TgZ(0,"div",13)(1,"mat-form-field",20)(2,"mat-select",21),I.NdJ("valueChange",function(Qn){I.CHM(en);const Ei=I.oxw();return I.KtG(Ei.selInfoType=Qn)}),I.YNc(3,Ze,2,2,"mat-option",22),I.qZA()()()}if(2&rn){const en=I.oxw();I.xp6(2),I.Q6J("value",en.selInfoType),I.xp6(1),I.Q6J("ngForOf",en.infoTypes)}}const ht=function(rn){return{"display-none":rn}};class se{constructor(hn,en,gn,Qn,Ei){this.dialogRef=hn,this.data=en,this.logger=gn,this.snackBar=Qn,this.commonService=Ei,this.faReceipt=zt.dLy,this.infoTypes=[{infoID:0,infoKey:"node pubkey",infoName:"Node pubkey"}],this.selInfoType=this.infoTypes[0],this.qrWidth=210,this.screenSize="",this.screenSizeEnum=M.cu}ngOnInit(){this.information=this.data.information,this.information.uris&&(1===this.information.uris.length?this.infoTypes.push({infoID:1,infoKey:"node URI",infoName:"Node URI"}):this.information.uris.length>1&&this.information.uris.forEach((hn,en)=>{this.infoTypes.push({infoID:en+1,infoKey:"node URI "+(en+1),infoName:"Node URI "+(en+1)})})),this.screenSize=this.commonService.getScreenSize()}onClose(){this.dialogRef.close(!1)}onCopyPubkey(hn){this.snackBar.open(this.selInfoType.infoName+" copied."),this.logger.info("Copied Text: "+hn)}static#e=this.\u0275fac=function(en){return new(en||se)(I.Y36(z.so),I.Y36(z.WI),I.Y36(ae.mQ),I.Y36(re.ux),I.Y36(pe.v))};static#t=this.\u0275cmp=I.Xpm({type:se,selectors:[["rtl-show-pubkey"]],decls:26,vars:19,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","30","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],[3,"value","size","errorCorrectionLevel"],["fxFlex","100","fxFlex.gt-sm","70"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],["fxFlex","50","fxLayoutAlign","center start",1,"modal-qr-code-container","padding-gap-large",3,"ngClass"],["fxLayout","row",4,"ngIf"],["fxLayout","row"],["fxFlex","100"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"],["fxLayout","row","fxLayoutAlign","end center",1,"mt-2"],["autoFocus","","mat-button","","color","primary","tabindex","2","type","submit","rtlClipboard","",3,"payload","copied"],["fxFlex","100","fxFlex.gt-sm","40","fxLayoutAlign","start end"],["tabindex","1",3,"value","valueChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(en,gn){1&en&&(I.TgZ(0,"div",0)(1,"div",1),I._UZ(2,"qr-code",2),I.qZA(),I.TgZ(3,"div",3)(4,"mat-card-header",4)(5,"div",5),I._UZ(6,"fa-icon",6),I.TgZ(7,"span",7),I._uU(8),I.qZA()(),I.TgZ(9,"button",8),I.NdJ("click",function(){return gn.onClose()}),I._uU(10,"X"),I.qZA()(),I.TgZ(11,"mat-card-content",9)(12,"div",10)(13,"div",11),I._UZ(14,"qr-code",2),I.qZA(),I.YNc(15,Be,4,2,"div",12),I.TgZ(16,"div",13)(17,"div",14)(18,"h4",15),I._uU(19),I.qZA(),I.TgZ(20,"span",16),I._uU(21),I.qZA()()(),I._UZ(22,"mat-divider",17),I.TgZ(23,"div",18)(24,"button",19),I.NdJ("copied",function(Ei){return gn.onCopyPubkey(Ei)}),I._uU(25),I.qZA()()()()()()),2&en&&(I.xp6(1),I.Q6J("ngClass",I.VKq(15,ht,gn.screenSize===gn.screenSizeEnum.XS||gn.screenSize===gn.screenSizeEnum.SM)),I.xp6(1),I.s9C("value",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.Q6J("size",gn.qrWidth)("errorCorrectionLevel","L"),I.xp6(4),I.Q6J("icon",gn.faReceipt),I.xp6(2),I.Oqu(gn.selInfoType.infoName),I.xp6(5),I.Q6J("ngClass",I.VKq(17,ht,gn.screenSize!==gn.screenSizeEnum.XS&&gn.screenSize!==gn.screenSizeEnum.SM)),I.xp6(1),I.s9C("value",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.Q6J("size",gn.qrWidth)("errorCorrectionLevel","L"),I.xp6(1),I.Q6J("ngIf",gn.information.uris&&gn.information.uris.length>0),I.xp6(4),I.Oqu(gn.selInfoType.infoName),I.xp6(2),I.Oqu(0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.xp6(3),I.s9C("payload",0===gn.selInfoType.infoID?gn.information.identity_pubkey:gn.information.uris[gn.selInfoType.infoID-1]),I.xp6(1),I.hij("Copy ",gn.selInfoType.infoKey,""))},dependencies:[le.mk,le.sg,le.O5,In.BN,W.xw,W.Wh,W.yH,ve.oO,de.lW,$.dk,$.dn,an.KE,w.d,Yn.gD,Mt.ey,n.uU,h.y,d.h]})}var Ae=m(6523),ft=m(429),Lt=m(2994),nn=m(8377),Bn=m(8987),Wn=m(3512),ti=m(5986),Mn=m(8104),Ln=m(3547);class ai{constructor(hn,en,gn,Qn,Ei,ha,mi,qi,Zi,Za,mr){this.actions=hn,this.httpClient=en,this.store=gn,this.logger=Qn,this.wsService=Ei,this.sessionService=ha,this.commonService=mi,this.dataService=qi,this.dialog=Zi,this.snackBar=Za,this.router=mr,this.screenSize="",this.alertWidth="55%",this.confirmWidth="70%",this.unSubs=[new t.x,new t.x],this.closeAllDialogs=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_ALL_DIALOGS),(0,D.U)(()=>{this.dialog.closeAll()})),{dispatch:!1}),this.openSnackBar=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_SNACK_BAR),(0,D.U)(It=>{"string"==typeof It.payload?this.snackBar.open(It.payload):"ERROR"===It.payload.type?this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-warn-snack-bar"}):"WARN"===It.payload.type?this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-accent-snack-bar"}):this.snackBar.open(It.payload.message,"",{duration:It.payload.duration?It.payload.duration:2e3,panelClass:"rtl-snack-bar"})})),{dispatch:!1}),this.openSpinner=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_SPINNER),(0,D.U)(It=>{It.payload!==M.m6.NO_SPINNER&&(this.dialogRef=this.dialog.open(j,{data:{titleMessage:It.payload}}))})),{dispatch:!1}),this.closeSpinner=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_SPINNER),(0,D.U)(It=>{if(It.payload!==M.m6.NO_SPINNER)try{this.dialogRef&&this.dialogRef.componentInstance&&this.dialogRef.componentInstance.data&&this.dialogRef.componentInstance.data.titleMessage&&this.dialogRef.componentInstance.data.titleMessage===It.payload?this.dialogRef.close():this.dialog.openDialogs.forEach(Ft=>{Ft.componentInstance&&Ft.componentInstance.data&&Ft.componentInstance.data.titleMessage&&Ft.componentInstance.data.titleMessage===It.payload&&Ft.close()})}catch(Ft){this.logger.error(Ft)}})),{dispatch:!1}),this.openAlert=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_ALERT),(0,D.U)(It=>{const Ft=JSON.parse(JSON.stringify(It.payload));Ft.width||(Ft.width=this.alertWidth),It.payload.data.component?this.dialogRef=this.dialog.open(It.payload.data.component,Ft):this.dialogRef=this.dialog.open(Nt,Ft)})),{dispatch:!1}),this.closeAlert=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_ALERT),(0,D.U)(It=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(It.payload),It.payload))),{dispatch:!1}),this.openConfirm=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.OPEN_CONFIRMATION),(0,D.U)(It=>{const Ft=JSON.parse(JSON.stringify(It.payload));Ft.width||(Ft.width=this.confirmWidth),this.dialogRef=this.dialog.open(zn,Ft)})),{dispatch:!1}),this.closeConfirm=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.CLOSE_CONFIRMATION),(0,u.q)(1),(0,D.U)(It=>(this.dialogRef&&this.dialogRef.close(),this.logger.info(It.payload),It.payload))),{dispatch:!1}),this.showNodePubkey=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_PUBKEY),(0,k.M)(this.store.select(nn.R4)),(0,p.z)(([It,Ft])=>(this.sessionService.getItem("token")&&Ft.identity_pubkey?this.store.dispatch((0,yn.qR)({payload:{data:{information:Ft,component:se}}})):this.snackBar.open("Node Pubkey does not exist."),(0,_.of)({type:M.pg.VOID}))))),this.appConfigFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_RTL_CONFIG),(0,p.z)(()=>(this.screenSize=this.commonService.getScreenSize(),this.screenSize===M.cu.XS||this.screenSize===M.cu.SM?(this.alertWidth="95%",this.confirmWidth="95%"):this.screenSize===M.cu.MD?(this.alertWidth="80%",this.confirmWidth="80%"):(this.alertWidth="45%",this.confirmWidth="50%"),this.store.dispatch((0,yn.ac)({payload:M.m6.GET_RTL_CONFIG})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchRTLConfig",status:M.Bn.INITIATED}})),this.sessionService.getItem("token")?this.httpClient.get(P.NZ.CONF_API+"/rtlconf"):this.httpClient.get(P.NZ.CONF_API+"/rtlconfinit"))),(0,D.U)(It=>{this.logger.info(It),this.store.dispatch((0,yn.uO)({payload:M.m6.GET_RTL_CONFIG})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchRTLConfig",status:M.Bn.COMPLETED}}));let Ft=null;return It.nodes.forEach(ln=>{ln.settings.currencyUnits=[...M.uA,ln.settings?.currencyUnit?ln.settings?.currencyUnit:""],+(ln.index||-1)===It.selectedNodeIndex&&(Ft=ln)}),Ft?(this.store.dispatch((0,yn.fk)({payload:{uiMessage:M.m6.NO_SPINNER,prevLnNodeIndex:-1,currentLnNode:Ft,isInitialSetup:!0}})),{type:M.pg.SET_RTL_CONFIG,payload:It}):{type:M.pg.VOID}}),(0,S.K)(It=>(this.handleErrorWithAlert("FetchRTLConfig",M.m6.GET_RTL_CONFIG,"Fetch RTL Config Failed!",P.NZ.CONF_API,It),(0,_.of)({type:M.pg.VOID}))))),this.settingSave=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SAVE_SETTINGS),(0,p.z)(It=>{this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSettings",status:M.Bn.INITIATED}}));let Ft=new E.y;if(It.payload.settings&&It.payload.defaultNodeIndex){const ln=this.httpClient.post(P.NZ.CONF_API,{updatedSettings:It.payload.settings}),En=this.httpClient.post(P.NZ.CONF_API+"/updateDefaultNode",{defaultNodeIndex:It.payload.defaultNodeIndex});Ft=(0,s.D)([ln,En])}else It.payload.settings&&!It.payload.defaultNodeIndex?Ft=this.httpClient.post(P.NZ.CONF_API,{updatedSettings:It.payload.settings}):!It.payload.settings&&It.payload.defaultNodeIndex&&(Ft=this.httpClient.post(P.NZ.CONF_API+"/updateDefaultNode",{defaultNodeIndex:It.payload.defaultNodeIndex}));return Ft.pipe((0,D.U)(ln=>(this.logger.info(ln),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),{type:M.pg.OPEN_SNACK_BAR,payload:ln.length?ln[0].message+".":ln.message+"."})),(0,S.K)(ln=>(this.handleErrorWithAlert("UpdateSettings",It.payload.uiMessage,"Update Settings Failed!",P.NZ.CONF_API,ln.length?ln[0]:ln),(0,_.of)({type:M.pg.VOID}))))}))),this.updateServicesettings=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.UPDATE_SERVICE_SETTINGS),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateServiceSettings",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.CONF_API+"/updateServiceSettings",It.payload).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateServiceSettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.Tm)({payload:It.payload})),{type:M.pg.OPEN_SNACK_BAR,payload:Ft.message+"."})),(0,S.K)(Ft=>(this.handleErrorWithAlert("UpdateServiceSettings",It.payload.uiMessage,"Update Service Settings Failed!",P.NZ.CONF_API,Ft),(0,_.of)({type:M.pg.VOID})))))))),this.twoFASettingSave=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.TWO_FA_SAVE_SETTINGS),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.UPDATE_UI_SETTINGS})),this.store.dispatch((0,yn.qi)({payload:{action:"Update2FASettings",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.CONF_API+"/update2FA",{secret2fa:It.payload.secret2fa}))),(0,k.M)(this.store.select(nn.Yj)),(0,D.U)(([It,Ft])=>{this.logger.info(It),Ft.enable2FA=!Ft.enable2FA,this.store.dispatch((0,yn.qi)({payload:{action:"Update2FASettings",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.UPDATE_UI_SETTINGS})),this.store.dispatch((0,yn.XT)({payload:Ft}))}),(0,S.K)(It=>(this.handleErrorWithAlert("Update2FASettings",M.m6.UPDATE_UI_SETTINGS,"Update 2FA Settings Failed!",P.NZ.CONF_API,It),(0,_.of)({type:M.pg.VOID})))),{dispatch:!1}),this.configFetch=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_CONFIG),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.OPEN_CONFIG_FILE})),this.store.dispatch((0,yn.qi)({payload:{action:"fetchConfig",status:M.Bn.INITIATED}})),this.httpClient.get(P.NZ.CONF_API+"/config/"+It.payload).pipe((0,D.U)(Ft=>(this.store.dispatch((0,yn.qi)({payload:{action:"fetchConfig",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.OPEN_CONFIG_FILE})),{type:M.pg.SHOW_CONFIG,payload:Ft})),(0,S.K)(Ft=>(this.handleErrorWithAlert("fetchConfig",M.m6.OPEN_CONFIG_FILE,"Fetch Config Failed!",P.NZ.CONF_API+"/config/"+It.payload,Ft),(0,_.of)({type:M.pg.VOID})))))))),this.showLnConfig=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_CONFIG),(0,D.U)(It=>It.payload)),{dispatch:!1}),this.isAuthorized=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.IS_AUTHORIZED),(0,p.z)(It=>(this.store.dispatch((0,yn.qi)({payload:{action:"IsAuthorized",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API,{authenticateWith:It.payload&&""!==It.payload.trim()?M.OJ.PASSWORD:M.OJ.JWT,authenticationValue:It.payload&&""!==It.payload.trim()?It.payload:this.sessionService.getItem("token")?this.sessionService.getItem("token"):""}).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"IsAuthorized",status:M.Bn.COMPLETED}})),this.logger.info("Successfully Authorized!"),{type:M.pg.IS_AUTHORIZED_RES,payload:Ft})),(0,S.K)(Ft=>(this.handleErrorWithAlert("IsAuthorized",M.m6.NO_SPINNER,"Authorization Failed",P.NZ.AUTHENTICATE_API,Ft),(0,_.of)({type:M.pg.IS_AUTHORIZED_RES,payload:"ERROR"})))))))),this.isAuthorizedRes=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.IS_AUTHORIZED_RES),(0,D.U)(It=>It.payload)),{dispatch:!1}),this.authLogin=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.LOGIN),(0,k.M)(this.store.select(nn.Yj)),(0,p.z)(([It,Ft])=>(this.store.dispatch((0,Ae.Ll)({payload:null})),this.store.dispatch((0,ft.xH)({payload:null})),this.store.dispatch((0,Lt.Fd)({payload:null})),this.store.dispatch((0,yn.qi)({payload:{action:"Login",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API,{authenticateWith:It.payload.password?M.OJ.PASSWORD:M.OJ.JWT,authenticationValue:It.payload.password?It.payload.password:this.sessionService.getItem("token")?this.sessionService.getItem("token"):"",twoFAToken:It.payload.twoFAToken?It.payload.twoFAToken:""}).pipe((0,D.U)(ln=>{this.logger.info(ln),this.store.dispatch((0,yn.qi)({payload:{action:"Login",status:M.Bn.COMPLETED}})),this.setLoggedInDetails(It.payload.defaultPassword,ln)}),(0,S.K)(ln=>(this.logger.info("Redirecting to Login Error Page"),this.handleErrorWithoutAlert("Login",M.m6.NO_SPINNER,ln),+Ft.sso.rtlSSO?this.router.navigate(["/error"],{state:{errorCode:"406",errorMessage:ln.error&&ln.error.error?ln.error.error:"Single Sign On Failed!"}}):this.router.navigate(["./login"]),(0,_.of)({type:M.pg.VOID}))))))),{dispatch:!1}),this.tokenVerify=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.VERIFY_TWO_FA),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.VERIFY_TOKEN})),this.store.dispatch((0,yn.qi)({payload:{action:"VerifyToken",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API+"/token",{authentication2FA:It.payload.token}).pipe((0,D.U)(Ft=>{this.logger.info(Ft),this.store.dispatch((0,yn.uO)({payload:M.m6.VERIFY_TOKEN})),this.store.dispatch((0,yn.qi)({payload:{action:"VerifyToken",status:M.Bn.COMPLETED}})),this.logger.info("Token Successfully Verified!"),this.setLoggedInDetails(!1,It.payload.authResponse)}),(0,S.K)(Ft=>(this.handleErrorWithAlert("VerifyToken",M.m6.VERIFY_TOKEN,"Authorization Failed!",P.NZ.AUTHENTICATE_API+"/token",Ft),(0,_.of)({type:M.pg.VOID}))))))),{dispatch:!1}),this.logOut=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.LOGOUT),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:M.m6.LOG_OUT})),It.sso&&+It.sso.rtlSSO?window.location.href=It.sso.logoutRedirectLink:this.router.navigate(["./login"]),this.sessionService.clearAll(),this.store.dispatch((0,yn._V)({payload:{}})),this.store.dispatch((0,yn.uO)({payload:M.m6.LOG_OUT})),this.logger.info("Logged out from browser"),this.httpClient.get(P.NZ.AUTHENTICATE_API+"/logout").pipe((0,D.U)(Ft=>{this.logger.info(Ft),this.store.dispatch((0,yn.uO)({payload:M.m6.LOG_OUT})),this.logger.info("Logged out from server")}))))),{dispatch:!1}),this.resetPassword=(0,e.GW)(()=>this.actions.pipe((0,A.R)(this.unSubs[1]),(0,e.l4)(M.pg.RESET_PASSWORD),(0,p.z)(It=>(this.store.dispatch((0,yn.qi)({payload:{action:"ResetPassword",status:M.Bn.INITIATED}})),this.httpClient.post(P.NZ.AUTHENTICATE_API+"/reset",{currPassword:It.payload.currPassword,newPassword:It.payload.newPassword}).pipe((0,A.R)(this.unSubs[0]),(0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"ResetPassword",status:M.Bn.COMPLETED}})),this.sessionService.setItem("defaultPassword",!1),this.logger.info("Password Reset Successful!"),this.store.dispatch((0,yn.jW)({payload:"Password Reset Successful!"})),this.SetToken(Ft.token),{type:M.pg.RESET_PASSWORD_RES,payload:Ft.token})),(0,S.K)(Ft=>(this.handleErrorWithAlert("ResetPassword",M.m6.NO_SPINNER,"Password Reset Failed!",P.NZ.AUTHENTICATE_API+"/reset",Ft),(0,_.of)({type:M.pg.VOID})))))))),this.setSelectedNode=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SET_SELECTED_NODE),(0,p.z)(It=>(this.store.dispatch((0,yn.ac)({payload:It.payload.uiMessage})),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSelNode",status:M.Bn.INITIATED}})),this.httpClient.get(P.NZ.CONF_API+"/updateSelNode/"+It.payload.currentLnNode?.index+"/"+It.payload.prevLnNodeIndex).pipe((0,D.U)(Ft=>(this.logger.info(Ft),this.store.dispatch((0,yn.qi)({payload:{action:"UpdateSelNode",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:It.payload.uiMessage})),this.initializeNode(It.payload.currentLnNode,It.payload.isInitialSetup),{type:M.pg.VOID})),(0,S.K)(Ft=>(this.handleErrorWithAlert("UpdateSelNode",It.payload.uiMessage,"Update Selected Node Failed!",P.NZ.CONF_API+"/updateSelNode",Ft),(0,_.of)({type:M.pg.VOID})))))))),this.fetchFile=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.FETCH_FILE),(0,p.z)(It=>{this.store.dispatch((0,yn.ac)({payload:M.m6.DOWNLOAD_BACKUP_FILE})),this.store.dispatch((0,yn.qi)({payload:{action:"FetchFile",status:M.Bn.INITIATED}}));const Ft="?channel="+It.payload.channelPoint+(It.payload.path?"&path="+It.payload.path:"");return this.httpClient.get(P.NZ.CONF_API+"/file"+Ft).pipe((0,D.U)(ln=>(this.store.dispatch((0,yn.qi)({payload:{action:"FetchFile",status:M.Bn.COMPLETED}})),this.store.dispatch((0,yn.uO)({payload:M.m6.DOWNLOAD_BACKUP_FILE})),{type:M.pg.SHOW_FILE,payload:ln})),(0,S.K)(ln=>(this.handleErrorWithAlert("fetchFile",M.m6.DOWNLOAD_BACKUP_FILE,"Download Backup File Failed!",P.NZ.CONF_API+"/file"+Ft,{status:this.commonService.extractErrorNumber(ln),error:{error:this.commonService.extractErrorCode(ln)}}),(0,_.of)({type:M.pg.VOID}))))}))),this.showFile=(0,e.GW)(()=>this.actions.pipe((0,e.l4)(M.pg.SHOW_FILE),(0,D.U)(It=>It.payload)),{dispatch:!1})}initializeNode(hn,en){this.logger.info("Initializing node from RTL Effects.");const gn=en?"":"HOME",Qn={userPersona:hn.settings.userPersona,channelBackupPath:hn.settings.channelBackupPath,unannouncedChannels:!!hn.settings.unannouncedChannels,selCurrencyUnit:hn.settings.currencyUnit,currencyUnits:M.uA,fiatConversion:hn.settings.fiatConversion,lnImplementation:hn.lnImplementation,swapServerUrl:hn.settings.swapServerUrl,boltzServerUrl:hn.settings.boltzServerUrl,enableOffers:hn.settings.enableOffers,enablePeerswap:hn.settings.enablePeerswap};if(hn.settings.fiatConversion&&hn.settings.currencyUnit&&(Qn.currencyUnits=[...M.uA,hn.settings.currencyUnit]),this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("clUnlocked"),this.sessionService.removeItem("eclUnlocked"),this.store.dispatch((0,yn.vI)({payload:hn})),this.store.dispatch((0,Ae.Ll)({payload:Qn})),this.store.dispatch((0,ft.xH)({payload:Qn})),this.store.dispatch((0,Lt.Fd)({payload:Qn})),this.sessionService.getItem("token")){const Ei=hn.lnImplementation?hn.lnImplementation.toUpperCase():"LND";this.dataService.setLnImplementation(Ei);const ha=P.NZ.production&&window.location.origin?window.location.origin+"/rtl/api":P.T5;switch(this.wsService.connectWebSocket(ha?.replace(/^http/,"ws")+P.NZ.Web_SOCKET_API,hn.index?hn.index.toString():"-1"),Ei){case"CLN":this.store.dispatch((0,ft.CN)({payload:{loadPage:gn}}));break;case"ECL":this.store.dispatch((0,Lt.iz)({payload:{loadPage:gn}}));break;default:this.store.dispatch((0,Ae.sQ)({payload:{loadPage:gn}}))}}}SetToken(hn){hn?(this.sessionService.setItem("lndUnlocked","true"),this.sessionService.setItem("token",hn)):(this.sessionService.removeItem("lndUnlocked"),this.sessionService.removeItem("token"))}setLoggedInDetails(hn,en){this.logger.info("Successfully Authorized!"),this.SetToken(en.token),this.sessionService.setItem("defaultPassword",hn),hn?(this.store.dispatch((0,yn.jW)({payload:"Reset your password."})),this.router.navigate(["/settings/auth"])):this.store.dispatch((0,yn.ey)())}handleErrorWithoutAlert(hn,en,gn){this.logger.error("ERROR IN: "+hn+"\n"+JSON.stringify(gn)),401===gn.status&&"Login"!==hn?(this.logger.info("Redirecting to Login"),this.store.dispatch((0,yn.ts)()),this.store.dispatch((0,yn.kS)()),this.store.dispatch((0,yn.jW)({payload:"Authentication Failed. Redirecting to Login."}))):(this.store.dispatch((0,yn.uO)({payload:en})),this.store.dispatch((0,yn.qi)({payload:{action:hn,status:M.Bn.ERROR,statusCode:gn.status?gn.status.toString():"",message:this.commonService.extractErrorMessage(gn)}})))}handleErrorWithAlert(hn,en,gn,Qn,Ei){if(this.logger.error(Ei),0===Ei.status&&Ei.statusText&&"Unknown Error"===Ei.statusText&&(Ei={status:400,error:{message:"Unknown Error / CORS Origin Not Allowed"}}),401===Ei.status&&"Login"!==hn)this.logger.info("Redirecting to Login"),this.store.dispatch((0,yn.ts)()),this.store.dispatch((0,yn.kS)()),this.store.dispatch((0,yn.jW)({payload:"Authentication Failed. Redirecting to Login."}));else{this.store.dispatch((0,yn.uO)({payload:en}));const ha=this.commonService.extractErrorMessage(Ei);this.store.dispatch((0,yn.qR)({payload:{data:{type:"ERROR",alertTitle:gn,message:{code:Ei.status?Ei.status:"Unknown Error",message:ha,URL:Qn},component:Tn.H}}})),this.store.dispatch((0,yn.qi)({payload:{action:hn,status:M.Bn.ERROR,statusCode:Ei.status?Ei.status.toString():"",message:ha,URL:Qn}}))}}ngOnDestroy(){this.unSubs.forEach(hn=>{hn.next(null),hn.complete()})}static#e=this.\u0275fac=function(en){return new(en||ai)(I.LFG(e.eX),I.LFG(Bn.eN),I.LFG(Jt.yh),I.LFG(ae.mQ),I.LFG(Wn.d),I.LFG(ti.m),I.LFG(pe.v),I.LFG(Mn.D),I.LFG(z.uw),I.LFG(re.ux),I.LFG(Ln.F0))};static#t=this.\u0275prov=I.Yz7({token:ai,factory:ai.\u0275fac})}},8377:(Ve,X,m)=>{"use strict";m.d(X,{R4:()=>D,Sr:()=>k,Yj:()=>s,dT:()=>E,gW:()=>p,ul:()=>u});var e=m(9263);const t=(0,e.ZF)("root"),E=((0,e.P1)(t,S=>S.apiURL),(0,e.P1)(t,S=>S.selNode)),s=(0,e.P1)(t,S=>S.appConfig),D=(0,e.P1)(t,S=>S.nodeData),u=(0,e.P1)(t,S=>S.apisCallStatus.Login),k=(0,e.P1)(t,S=>S.apisCallStatus.IsAuthorized),p=(0,e.P1)(t,S=>({nodeDate:S.nodeData,selNode:S.selNode}))},2340:(Ve,X,m)=>{"use strict";m.d(X,{NZ:()=>t,T5:()=>e,q4:()=>_});const e="./api",t={production:!0,isDebugMode:!1,AUTHENTICATE_API:e+"/authenticate",CONF_API:e+"/conf",PAGE_SETTINGS_API:e+"/pagesettings",BALANCE_API:"/balance",FEES_API:"/fees",PEERS_API:"/peers",CHANNELS_API:"/channels",CHANNELS_BACKUP_API:"/channels/backup",GETINFO_API:"/getinfo",WALLET_API:"/wallet",NETWORK_API:"/network",NEW_ADDRESS_API:"/newaddress",TRANSACTIONS_API:"/transactions",PAYMENTS_API:"/payments",INVOICES_API:"/invoices",SWITCH_API:"/switch",ON_CHAIN_API:"/onchain",MESSAGE_API:"/message",OFFERS_API:"/offers",UTILITY_API:"/utility",LOOP_API:"/loop",BOLTZ_API:"/boltz",Web_SOCKET_API:"/ws"},_="0.13.3-beta"},2693:(Ve,X,m)=>{"use strict";var e=m(4497),t=m(2560),_=m(4851);function s(K){return new t.vHH(3e3,!1)}function Ge(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function je(K){switch(K.length){case 0:return new _.ZN;case 1:return K[0];default:return new _.ZE(K)}}function We(K,T,x,V,me=new Map,tt=new Map){const kt=[],jt=[];let on=-1,xn=null;if(V.forEach(fi=>{const Xn=fi.get("offset"),Pi=Xn==on,Ni=Pi&&xn||new Map;fi.forEach((Ci,Oi)=>{let na=Oi,Ia=Ci;if("offset"!==Oi)switch(na=T.normalizePropertyName(na,kt),Ia){case _.k1:Ia=me.get(Oi);break;case _.l3:Ia=tt.get(Oi);break;default:Ia=T.normalizeStyleValue(Oi,na,Ia,kt)}Ni.set(na,Ia)}),Pi||jt.push(Ni),xn=Ni,on=Xn}),kt.length)throw function o(K){return new t.vHH(3502,!1)}();return jt}function be(K,T,x,V){switch(T){case"start":K.onStart(()=>V(x&&Ye(x,"start",K)));break;case"done":K.onDone(()=>V(x&&Ye(x,"done",K)));break;case"destroy":K.onDestroy(()=>V(x&&Ye(x,"destroy",K)))}}function Ye(K,T,x){const V=x.totalTime,me=!!x.disabled,tt=Ie(K.element,K.triggerName,K.fromState,K.toState,T||K.phaseName,V??K.totalTime,me),kt=K._data;return null!=kt&&(tt._data=kt),tt}function Ie(K,T,x,V,me="",tt=0,kt){return{element:K,triggerName:T,fromState:x,toState:V,phaseName:me,totalTime:tt,disabled:!!kt}}function ge(K,T,x){let V=K.get(T);return V||K.set(T,V=x),V}function et(K){const T=K.indexOf(":");return[K.substring(1,T),K.slice(T+1)]}let ut=(K,T)=>!1,Le=(K,T,x)=>[],De=null;function ne(K){const T=K.parentNode||K.host;return T===De?null:T}(Ge()||typeof Element<"u")&&(function ke(){return typeof window<"u"&&typeof window.document<"u"}()?(De=(()=>document.documentElement)(),ut=(K,T)=>{for(;T;){if(T===K)return!0;T=ne(T)}return!1}):ut=(K,T)=>K.contains(T),Le=(K,T,x)=>{if(x)return Array.from(K.querySelectorAll(T));const V=K.querySelector(T);return V?[V]:[]});let H=null,q=!1;function Oe(K){H||(H=function oe(){return typeof document<"u"?document.body:null}()||{},q=!!H.style&&"WebkitAppearance"in H.style);let T=!0;return H.style&&!function ee(K){return"ebkit"==K.substring(1,6)}(K)&&(T=K in H.style,!T&&q&&(T="Webkit"+K.charAt(0).toUpperCase()+K.slice(1)in H.style)),T}const pt=ut,it=Le;class un{validateStyleProperty(T){return Oe(T)}matchesElement(T,x){return!1}containsElement(T,x){return pt(T,x)}getParentElement(T){return ne(T)}query(T,x,V){return it(T,x,V)}computeStyle(T,x,V){return V||""}animate(T,x,V,me,tt,kt=[],jt){return new _.ZN(V,me)}}un.\u0275fac=function(T){return new(T||un)},un.\u0275prov=t.Yz7({token:un,factory:un.\u0275fac});class Nt{}Nt.NOOP=new un;const Gt="ng-enter",In="ng-leave",an="ng-trigger",tn=".ng-trigger",pn="ng-animating",nt=".ng-animating";function gt(K){if("number"==typeof K)return K;const T=K.match(/^(-?[\.\d]+)(m?s)/);return!T||T.length<2?0:At(parseFloat(T[1]),T[2])}function At(K,T){return"s"===T?1e3*K:K}function we(K,T,x){return K.hasOwnProperty("duration")?K:function Y(K,T,x){const V=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;let me,tt=0,kt="";if("string"==typeof K){const jt=K.match(V);if(null===jt)return T.push(s()),{duration:0,delay:0,easing:""};me=At(parseFloat(jt[1]),jt[2]);const on=jt[3];null!=on&&(tt=At(parseFloat(on),jt[4]));const xn=jt[5];xn&&(kt=xn)}else me=K;if(!x){let jt=!1,on=T.length;me<0&&(T.push(function D(){return new t.vHH(3100,!1)}()),jt=!0),tt<0&&(T.push(function u(){return new t.vHH(3101,!1)}()),jt=!0),jt&&T.splice(on,0,s())}return{duration:me,delay:tt,easing:kt}}(K,T,x)}function te(K,T={}){return Object.keys(K).forEach(x=>{T[x]=K[x]}),T}function xe(K){const T=new Map;return Object.keys(K).forEach(x=>{const V=K[x];T.set(x,V)}),T}function ct(K,T=new Map,x){if(x)for(let[V,me]of x)T.set(V,me);for(let[V,me]of K)T.set(V,me);return T}function Ue(K,T,x){return x?T+":"+x+";":""}function Me(K){let T="";for(let x=0;x{const tt=Rt(me);x&&!x.has(me)&&x.set(me,K.style[tt]),K.style[tt]=V}),Ge()&&Me(K))}function Je(K,T){K.style&&(T.forEach((x,V)=>{const me=Rt(V);K.style[me]=""}),Ge()&&Me(K))}function Ut(K){return Array.isArray(K)?1==K.length?K[0]:(0,_.vP)(K):K}function Dt(K,T,x){const V=T.params||{},me=Ht(K);me.length&&me.forEach(tt=>{V.hasOwnProperty(tt)||x.push(function k(K){return new t.vHH(3001,!1)}())})}const Tt=new RegExp("{{\\s*(.+?)\\s*}}","g");function Ht(K){let T=[];if("string"==typeof K){let x;for(;x=Tt.exec(K);)T.push(x[1]);Tt.lastIndex=0}return T}function He(K,T,x){const V=K.toString(),me=V.replace(Tt,(tt,kt)=>{let jt=T[kt];return null==jt&&(x.push(function p(K){return new t.vHH(3003,!1)}()),jt=""),jt.toString()});return me==V?K:me}function $e(K){const T=[];let x=K.next();for(;!x.done;)T.push(x.value),x=K.next();return T}const $t=/-+([a-z0-9])/g;function Rt(K){return K.replace($t,(...T)=>T[1].toUpperCase())}function Xt(K){return K.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Tn(K,T,x){switch(T.type){case 7:return K.visitTrigger(T,x);case 0:return K.visitState(T,x);case 1:return K.visitTransition(T,x);case 2:return K.visitSequence(T,x);case 3:return K.visitGroup(T,x);case 4:return K.visitAnimate(T,x);case 5:return K.visitKeyframes(T,x);case 6:return K.visitStyle(T,x);case 8:return K.visitReference(T,x);case 9:return K.visitAnimateChild(T,x);case 10:return K.visitAnimateRef(T,x);case 11:return K.visitQuery(T,x);case 12:return K.visitStagger(T,x);default:throw function S(K){return new t.vHH(3004,!1)}(T.type)}}function Yn(K,T){return window.getComputedStyle(K)[T]}function nn(K,T){const x=[];return"string"==typeof K?K.split(/\s*,\s*/).forEach(V=>function Bn(K,T,x){if(":"==K[0]){const on=function Wn(K,T){switch(K){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(x,V)=>parseFloat(V)>parseFloat(x);case":decrement":return(x,V)=>parseFloat(V) *"}}(K,x);if("function"==typeof on)return void T.push(on);K=on}const V=K.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==V||V.length<4)return x.push(function de(K){return new t.vHH(3015,!1)}()),T;const me=V[1],tt=V[2],kt=V[3];T.push(Ln(me,kt));const jt="*"==me&&"*"==kt;"<"==tt[0]&&!jt&&T.push(Ln(kt,me))}(V,x,T)):x.push(K),x}const ti=new Set(["true","1"]),Mn=new Set(["false","0"]);function Ln(K,T){const x=ti.has(K)||Mn.has(K),V=ti.has(T)||Mn.has(T);return(me,tt)=>{let kt="*"==K||K==me,jt="*"==T||T==tt;return!kt&&x&&"boolean"==typeof me&&(kt=me?ti.has(K):Mn.has(K)),!jt&&V&&"boolean"==typeof tt&&(jt=tt?ti.has(T):Mn.has(T)),kt&&jt}}const ai=":self",rn=new RegExp("s*:selfs*,?","g");function hn(K,T,x,V){return new gn(K).build(T,x,V)}class gn{constructor(T){this._driver=T}build(T,x,V){const me=new ha(x);return this._resetContextStyleTimingState(me),Tn(this,Ut(T),me)}_resetContextStyleTimingState(T){T.currentQuerySelector="",T.collectedStyles=new Map,T.collectedStyles.set("",new Map),T.currentTime=0}visitTrigger(T,x){let V=x.queryCount=0,me=x.depCount=0;const tt=[],kt=[];return"@"==T.name.charAt(0)&&x.errors.push(function P(){return new t.vHH(3006,!1)}()),T.definitions.forEach(jt=>{if(this._resetContextStyleTimingState(x),0==jt.type){const on=jt,xn=on.name;xn.toString().split(/\s*,\s*/).forEach(fi=>{on.name=fi,tt.push(this.visitState(on,x))}),on.name=xn}else if(1==jt.type){const on=this.visitTransition(jt,x);V+=on.queryCount,me+=on.depCount,kt.push(on)}else x.errors.push(function M(){return new t.vHH(3007,!1)}())}),{type:7,name:T.name,states:tt,transitions:kt,queryCount:V,depCount:me,options:null}}visitState(T,x){const V=this.visitStyle(T.styles,x),me=T.options&&T.options.params||null;if(V.containsDynamicStyles){const tt=new Set,kt=me||{};if(V.styles.forEach(jt=>{jt instanceof Map&&jt.forEach(on=>{Ht(on).forEach(xn=>{kt.hasOwnProperty(xn)||tt.add(xn)})})}),tt.size){$e(tt.values());x.errors.push(function z(K,T){return new t.vHH(3008,!1)}(T.name))}}return{type:0,name:T.name,style:V,options:me?{params:me}:null}}visitTransition(T,x){x.queryCount=0,x.depCount=0;const V=Tn(this,Ut(T.animation),x);return{type:1,matchers:nn(T.expr,x.errors),animation:V,queryCount:x.queryCount,depCount:x.depCount,options:Zi(T.options)}}visitSequence(T,x){return{type:2,steps:T.steps.map(V=>Tn(this,V,x)),options:Zi(T.options)}}visitGroup(T,x){const V=x.currentTime;let me=0;const tt=T.steps.map(kt=>{x.currentTime=V;const jt=Tn(this,kt,x);return me=Math.max(me,x.currentTime),jt});return x.currentTime=me,{type:3,steps:tt,options:Zi(T.options)}}visitAnimate(T,x){const V=function qi(K,T){if(K.hasOwnProperty("duration"))return K;if("number"==typeof K){return Za(we(K,T).duration,0,"")}const x=K;if(x.split(/\s+/).some(tt=>"{"==tt.charAt(0)&&"{"==tt.charAt(1))){const tt=Za(0,0,"");return tt.dynamic=!0,tt.strValue=x,tt}const me=we(x,T);return Za(me.duration,me.delay,me.easing)}(T.timings,x.errors);x.currentAnimateTimings=V;let me,tt=T.styles?T.styles:(0,_.oB)({});if(5==tt.type)me=this.visitKeyframes(tt,x);else{let kt=T.styles,jt=!1;if(!kt){jt=!0;const xn={};V.easing&&(xn.easing=V.easing),kt=(0,_.oB)(xn)}x.currentTime+=V.duration+V.delay;const on=this.visitStyle(kt,x);on.isEmptyStep=jt,me=on}return x.currentAnimateTimings=null,{type:4,timings:V,style:me,options:null}}visitStyle(T,x){const V=this._makeStyleAst(T,x);return this._validateStyleAst(V,x),V}_makeStyleAst(T,x){const V=[],me=Array.isArray(T.styles)?T.styles:[T.styles];for(let jt of me)"string"==typeof jt?jt===_.l3?V.push(jt):x.errors.push(new t.vHH(3002,!1)):V.push(xe(jt));let tt=!1,kt=null;return V.forEach(jt=>{if(jt instanceof Map&&(jt.has("easing")&&(kt=jt.get("easing"),jt.delete("easing")),!tt))for(let on of jt.values())if(on.toString().indexOf("{{")>=0){tt=!0;break}}),{type:6,styles:V,easing:kt,offset:T.offset,containsDynamicStyles:tt,options:null}}_validateStyleAst(T,x){const V=x.currentAnimateTimings;let me=x.currentTime,tt=x.currentTime;V&&tt>0&&(tt-=V.duration+V.delay),T.styles.forEach(kt=>{"string"!=typeof kt&&kt.forEach((jt,on)=>{const xn=x.collectedStyles.get(x.currentQuerySelector),fi=xn.get(on);let Xn=!0;fi&&(tt!=me&&tt>=fi.startTime&&me<=fi.endTime&&(x.errors.push(function Z(K,T,x,V,me){return new t.vHH(3010,!1)}(0,fi.startTime,fi.endTime)),Xn=!1),tt=fi.startTime),Xn&&xn.set(on,{startTime:tt,endTime:me}),x.options&&Dt(jt,x.options,x.errors)})})}visitKeyframes(T,x){const V={type:5,styles:[],options:null};if(!x.currentAnimateTimings)return x.errors.push(function j(){return new t.vHH(3011,!1)}()),V;let tt=0;const kt=[];let jt=!1,on=!1,xn=0;const fi=T.steps.map(Ia=>{const Jr=this._makeStyleAst(Ia,x);let Ns=null!=Jr.offset?Jr.offset:function mi(K){if("string"==typeof K)return null;let T=null;if(Array.isArray(K))K.forEach(x=>{if(x instanceof Map&&x.has("offset")){const V=x;T=parseFloat(V.get("offset")),V.delete("offset")}});else if(K instanceof Map&&K.has("offset")){const x=K;T=parseFloat(x.get("offset")),x.delete("offset")}return T}(Jr.styles),hs=0;return null!=Ns&&(tt++,hs=Jr.offset=Ns),on=on||hs<0||hs>1,jt=jt||hs0&&tt{const Ns=Pi>0?Jr==Ni?1:Pi*Jr:kt[Jr],hs=Ns*na;x.currentTime=Ci+Oi.delay+hs,Oi.duration=hs,this._validateStyleAst(Ia,x),Ia.offset=Ns,V.styles.push(Ia)}),V}visitReference(T,x){return{type:8,animation:Tn(this,Ut(T.animation),x),options:Zi(T.options)}}visitAnimateChild(T,x){return x.depCount++,{type:9,options:Zi(T.options)}}visitAnimateRef(T,x){return{type:10,animation:this.visitReference(T.animation,x),options:Zi(T.options)}}visitQuery(T,x){const V=x.currentQuerySelector,me=T.options||{};x.queryCount++,x.currentQuery=T;const[tt,kt]=function Qn(K){const T=!!K.split(/\s*,\s*/).find(x=>x==ai);return T&&(K=K.replace(rn,"")),K=K.replace(/@\*/g,tn).replace(/@\w+/g,x=>tn+"-"+x.slice(1)).replace(/:animating/g,nt),[K,T]}(T.selector);x.currentQuerySelector=V.length?V+" "+tt:tt,ge(x.collectedStyles,x.currentQuerySelector,new Map);const jt=Tn(this,Ut(T.animation),x);return x.currentQuery=null,x.currentQuerySelector=V,{type:11,selector:tt,limit:me.limit||0,optional:!!me.optional,includeSelf:kt,animation:jt,originalSelector:T.selector,options:Zi(T.options)}}visitStagger(T,x){x.currentQuery||x.errors.push(function le(){return new t.vHH(3013,!1)}());const V="full"===T.timings?{duration:0,delay:0,easing:"full"}:we(T.timings,x.errors,!0);return{type:12,animation:Tn(this,Ut(T.animation),x),timings:V,options:null}}}class ha{constructor(T){this.errors=T,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Zi(K){return K?(K=te(K)).params&&(K.params=function Ei(K){return K?te(K):null}(K.params)):K={},K}function Za(K,T,x){return{duration:K,delay:T,easing:x}}function mr(K,T,x,V,me,tt,kt=null,jt=!1){return{type:1,element:K,keyframes:T,preStyleProps:x,postStyleProps:V,duration:me,delay:tt,totalTime:me+tt,easing:kt,subTimeline:jt}}class It{constructor(){this._map=new Map}get(T){return this._map.get(T)||[]}append(T,x){let V=this._map.get(T);V||this._map.set(T,V=[]),V.push(...x)}has(T){return this._map.has(T)}clear(){this._map.clear()}}const En=new RegExp(":enter","g"),Nn=new RegExp(":leave","g");function li(K,T,x,V,me,tt=new Map,kt=new Map,jt,on,xn=[]){return(new aa).buildKeyframes(K,T,x,V,me,tt,kt,jt,on,xn)}class aa{buildKeyframes(T,x,V,me,tt,kt,jt,on,xn,fi=[]){xn=xn||new It;const Xn=new ea(T,x,xn,me,tt,fi,[]);Xn.options=on;const Pi=on.delay?gt(on.delay):0;Xn.currentTimeline.delayNextStep(Pi),Xn.currentTimeline.setStyles([kt],null,Xn.errors,on),Tn(this,V,Xn);const Ni=Xn.timelines.filter(Ci=>Ci.containsAnimation());if(Ni.length&&jt.size){let Ci;for(let Oi=Ni.length-1;Oi>=0;Oi--){const na=Ni[Oi];if(na.element===x){Ci=na;break}}Ci&&!Ci.allowOnlyTimelineStyles()&&Ci.setStyles([jt],null,Xn.errors,on)}return Ni.length?Ni.map(Ci=>Ci.buildKeyframes()):[mr(x,[],[],[],0,Pi,"",!1)]}visitTrigger(T,x){}visitState(T,x){}visitTransition(T,x){}visitAnimateChild(T,x){const V=x.subInstructions.get(x.element);if(V){const me=x.createSubContext(T.options),tt=x.currentTimeline.currentTime,kt=this._visitSubInstructions(V,me,me.options);tt!=kt&&x.transformIntoNewTimeline(kt)}x.previousNode=T}visitAnimateRef(T,x){const V=x.createSubContext(T.options);V.transformIntoNewTimeline(),this._applyAnimationRefDelays([T.options,T.animation.options],x,V),this.visitReference(T.animation,V),x.transformIntoNewTimeline(V.currentTimeline.currentTime),x.previousNode=T}_applyAnimationRefDelays(T,x,V){for(const me of T){const tt=me?.delay;if(tt){const kt="number"==typeof tt?tt:gt(He(tt,me?.params??{},x.errors));V.delayNextStep(kt)}}}_visitSubInstructions(T,x,V){let tt=x.currentTimeline.currentTime;const kt=null!=V.duration?gt(V.duration):null,jt=null!=V.delay?gt(V.delay):null;return 0!==kt&&T.forEach(on=>{const xn=x.appendInstructionToTimeline(on,kt,jt);tt=Math.max(tt,xn.duration+xn.delay)}),tt}visitReference(T,x){x.updateOptions(T.options,!0),Tn(this,T.animation,x),x.previousNode=T}visitSequence(T,x){const V=x.subContextCount;let me=x;const tt=T.options;if(tt&&(tt.params||tt.delay)&&(me=x.createSubContext(tt),me.transformIntoNewTimeline(),null!=tt.delay)){6==me.previousNode.type&&(me.currentTimeline.snapshotCurrentStyles(),me.previousNode=Ii);const kt=gt(tt.delay);me.delayNextStep(kt)}T.steps.length&&(T.steps.forEach(kt=>Tn(this,kt,me)),me.currentTimeline.applyStylesToKeyframe(),me.subContextCount>V&&me.transformIntoNewTimeline()),x.previousNode=T}visitGroup(T,x){const V=[];let me=x.currentTimeline.currentTime;const tt=T.options&&T.options.delay?gt(T.options.delay):0;T.steps.forEach(kt=>{const jt=x.createSubContext(T.options);tt&&jt.delayNextStep(tt),Tn(this,kt,jt),me=Math.max(me,jt.currentTimeline.currentTime),V.push(jt.currentTimeline)}),V.forEach(kt=>x.currentTimeline.mergeTimelineCollectedStyles(kt)),x.transformIntoNewTimeline(me),x.previousNode=T}_visitTiming(T,x){if(T.dynamic){const V=T.strValue;return we(x.params?He(V,x.params,x.errors):V,x.errors)}return{duration:T.duration,delay:T.delay,easing:T.easing}}visitAnimate(T,x){const V=x.currentAnimateTimings=this._visitTiming(T.timings,x),me=x.currentTimeline;V.delay&&(x.incrementTime(V.delay),me.snapshotCurrentStyles());const tt=T.style;5==tt.type?this.visitKeyframes(tt,x):(x.incrementTime(V.duration),this.visitStyle(tt,x),me.applyStylesToKeyframe()),x.currentAnimateTimings=null,x.previousNode=T}visitStyle(T,x){const V=x.currentTimeline,me=x.currentAnimateTimings;!me&&V.hasCurrentStyleProperties()&&V.forwardFrame();const tt=me&&me.easing||T.easing;T.isEmptyStep?V.applyEmptyStep(tt):V.setStyles(T.styles,tt,x.errors,x.options),x.previousNode=T}visitKeyframes(T,x){const V=x.currentAnimateTimings,me=x.currentTimeline.duration,tt=V.duration,jt=x.createSubContext().currentTimeline;jt.easing=V.easing,T.styles.forEach(on=>{const xn=on.offset||0;jt.forwardTime(xn*tt),jt.setStyles(on.styles,on.easing,x.errors,x.options),jt.applyStylesToKeyframe()}),x.currentTimeline.mergeTimelineCollectedStyles(jt),x.transformIntoNewTimeline(me+tt),x.previousNode=T}visitQuery(T,x){const V=x.currentTimeline.currentTime,me=T.options||{},tt=me.delay?gt(me.delay):0;tt&&(6===x.previousNode.type||0==V&&x.currentTimeline.hasCurrentStyleProperties())&&(x.currentTimeline.snapshotCurrentStyles(),x.previousNode=Ii);let kt=V;const jt=x.invokeQuery(T.selector,T.originalSelector,T.limit,T.includeSelf,!!me.optional,x.errors);x.currentQueryTotal=jt.length;let on=null;jt.forEach((xn,fi)=>{x.currentQueryIndex=fi;const Xn=x.createSubContext(T.options,xn);tt&&Xn.delayNextStep(tt),xn===x.element&&(on=Xn.currentTimeline),Tn(this,T.animation,Xn),Xn.currentTimeline.applyStylesToKeyframe();const Pi=Xn.currentTimeline.currentTime;kt=Math.max(kt,Pi)}),x.currentQueryIndex=0,x.currentQueryTotal=0,x.transformIntoNewTimeline(kt),on&&(x.currentTimeline.mergeTimelineCollectedStyles(on),x.currentTimeline.snapshotCurrentStyles()),x.previousNode=T}visitStagger(T,x){const V=x.parentContext,me=x.currentTimeline,tt=T.timings,kt=Math.abs(tt.duration),jt=kt*(x.currentQueryTotal-1);let on=kt*x.currentQueryIndex;switch(tt.duration<0?"reverse":tt.easing){case"reverse":on=jt-on;break;case"full":on=V.currentStaggerTime}const fi=x.currentTimeline;on&&fi.delayNextStep(on);const Xn=fi.currentTime;Tn(this,T.animation,x),x.previousNode=T,V.currentStaggerTime=me.currentTime-Xn+(me.startTime-V.currentTimeline.startTime)}}const Ii={};class ea{constructor(T,x,V,me,tt,kt,jt,on){this._driver=T,this.element=x,this.subInstructions=V,this._enterClassName=me,this._leaveClassName=tt,this.errors=kt,this.timelines=jt,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ii,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=on||new Di(this._driver,x,0),jt.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(T,x){if(!T)return;const V=T;let me=this.options;null!=V.duration&&(me.duration=gt(V.duration)),null!=V.delay&&(me.delay=gt(V.delay));const tt=V.params;if(tt){let kt=me.params;kt||(kt=this.options.params={}),Object.keys(tt).forEach(jt=>{(!x||!kt.hasOwnProperty(jt))&&(kt[jt]=He(tt[jt],kt,this.errors))})}}_copyOptions(){const T={};if(this.options){const x=this.options.params;if(x){const V=T.params={};Object.keys(x).forEach(me=>{V[me]=x[me]})}}return T}createSubContext(T=null,x,V){const me=x||this.element,tt=new ea(this._driver,me,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(me,V||0));return tt.previousNode=this.previousNode,tt.currentAnimateTimings=this.currentAnimateTimings,tt.options=this._copyOptions(),tt.updateOptions(T),tt.currentQueryIndex=this.currentQueryIndex,tt.currentQueryTotal=this.currentQueryTotal,tt.parentContext=this,this.subContextCount++,tt}transformIntoNewTimeline(T){return this.previousNode=Ii,this.currentTimeline=this.currentTimeline.fork(this.element,T),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(T,x,V){const me={duration:x??T.duration,delay:this.currentTimeline.currentTime+(V??0)+T.delay,easing:""},tt=new Ji(this._driver,T.element,T.keyframes,T.preStyleProps,T.postStyleProps,me,T.stretchStartingKeyframe);return this.timelines.push(tt),me}incrementTime(T){this.currentTimeline.forwardTime(this.currentTimeline.duration+T)}delayNextStep(T){T>0&&this.currentTimeline.delayNextStep(T)}invokeQuery(T,x,V,me,tt,kt){let jt=[];if(me&&jt.push(this.element),T.length>0){T=(T=T.replace(En,"."+this._enterClassName)).replace(Nn,"."+this._leaveClassName);const on=1!=V;let xn=this._driver.query(this.element,T,on);0!==V&&(xn=V<0?xn.slice(xn.length+V,xn.length):xn.slice(0,V)),jt.push(...xn)}return!tt&&0==jt.length&&kt.push(function ve(K){return new t.vHH(3014,!1)}()),jt}}class Di{constructor(T,x,V,me){this._driver=T,this.element=x,this.startTime=V,this._elementTimelineStylesLookup=me,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(x),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(x,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(T){const x=1===this._keyframes.size&&this._pendingStyles.size;this.duration||x?(this.forwardTime(this.currentTime+T),x&&this.snapshotCurrentStyles()):this.startTime+=T}fork(T,x){return this.applyStylesToKeyframe(),new Di(this._driver,T,x||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(T){this.applyStylesToKeyframe(),this.duration=T,this._loadKeyframe()}_updateStyle(T,x){this._localTimelineStyles.set(T,x),this._globalTimelineStyles.set(T,x),this._styleSummary.set(T,{time:this.currentTime,value:x})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(T){T&&this._previousKeyframe.set("easing",T);for(let[x,V]of this._globalTimelineStyles)this._backFill.set(x,V||_.l3),this._currentKeyframe.set(x,_.l3);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(T,x,V,me){x&&this._previousKeyframe.set("easing",x);const tt=me&&me.params||{},kt=function Yi(K,T){const x=new Map;let V;return K.forEach(me=>{if("*"===me){V=V||T.keys();for(let tt of V)x.set(tt,_.l3)}else ct(me,x)}),x}(T,this._globalTimelineStyles);for(let[jt,on]of kt){const xn=He(on,tt,V);this._pendingStyles.set(jt,xn),this._localTimelineStyles.has(jt)||this._backFill.set(jt,this._globalTimelineStyles.get(jt)??_.l3),this._updateStyle(jt,xn)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((T,x)=>{this._currentKeyframe.set(x,T)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((T,x)=>{this._currentKeyframe.has(x)||this._currentKeyframe.set(x,T)}))}snapshotCurrentStyles(){for(let[T,x]of this._localTimelineStyles)this._pendingStyles.set(T,x),this._updateStyle(T,x)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const T=[];for(let x in this._currentKeyframe)T.push(x);return T}mergeTimelineCollectedStyles(T){T._styleSummary.forEach((x,V)=>{const me=this._styleSummary.get(V);(!me||x.time>me.time)&&this._updateStyle(V,x.value)})}buildKeyframes(){this.applyStylesToKeyframe();const T=new Set,x=new Set,V=1===this._keyframes.size&&0===this.duration;let me=[];this._keyframes.forEach((jt,on)=>{const xn=ct(jt,new Map,this._backFill);xn.forEach((fi,Xn)=>{fi===_.k1?T.add(Xn):fi===_.l3&&x.add(Xn)}),V||xn.set("offset",on/this.duration),me.push(xn)});const tt=T.size?$e(T.values()):[],kt=x.size?$e(x.values()):[];if(V){const jt=me[0],on=new Map(jt);jt.set("offset",0),on.set("offset",1),me=[jt,on]}return mr(this.element,me,tt,kt,this.duration,this.startTime,this.easing,!1)}}class Ji extends Di{constructor(T,x,V,me,tt,kt,jt=!1){super(T,x,kt.delay),this.keyframes=V,this.preStyleProps=me,this.postStyleProps=tt,this._stretchStartingKeyframe=jt,this.timings={duration:kt.duration,delay:kt.delay,easing:kt.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let T=this.keyframes,{delay:x,duration:V,easing:me}=this.timings;if(this._stretchStartingKeyframe&&x){const tt=[],kt=V+x,jt=x/kt,on=ct(T[0]);on.set("offset",0),tt.push(on);const xn=ct(T[0]);xn.set("offset",ka(jt)),tt.push(xn);const fi=T.length-1;for(let Xn=1;Xn<=fi;Xn++){let Pi=ct(T[Xn]);const Ci=x+Pi.get("offset")*V;Pi.set("offset",ka(Ci/kt)),tt.push(Pi)}V=kt,x=0,me="",T=tt}return mr(this.element,T,this.preStyleProps,this.postStyleProps,V,x,me,!0)}}function ka(K,T=3){const x=Math.pow(10,T-1);return Math.round(K*x)/x}class Hi{}const gr=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Sa extends Hi{normalizePropertyName(T,x){return Rt(T)}normalizeStyleValue(T,x,V,me){let tt="";const kt=V.toString().trim();if(gr.has(x)&&0!==V&&"0"!==V)if("number"==typeof V)tt="px";else{const jt=V.match(/^[+-]?[\d\.]+([a-z]*)$/);jt&&0==jt[1].length&&me.push(function A(K,T){return new t.vHH(3005,!1)}())}return kt+tt}}function fa(K,T,x,V,me,tt,kt,jt,on,xn,fi,Xn,Pi){return{type:0,element:K,triggerName:T,isRemovalTransition:me,fromState:x,fromStyles:tt,toState:V,toStyles:kt,timelines:jt,queriedElements:on,preStyleProps:xn,postStyleProps:fi,totalTime:Xn,errors:Pi}}const Ki={};class xa{constructor(T,x,V){this._triggerName=T,this.ast=x,this._stateStyles=V}match(T,x,V,me){return function fo(K,T,x,V,me){return K.some(tt=>tt(T,x,V,me))}(this.ast.matchers,T,x,V,me)}buildStyles(T,x,V){let me=this._stateStyles.get("*");return void 0!==T&&(me=this._stateStyles.get(T?.toString())||me),me?me.buildStyles(x,V):new Map}build(T,x,V,me,tt,kt,jt,on,xn,fi){const Xn=[],Pi=this.ast.options&&this.ast.options.params||Ki,Ni=jt&&jt.params||Ki,Ci=this.buildStyles(V,Ni,Xn),Oi=on&&on.params||Ki,na=this.buildStyles(me,Oi,Xn),Ia=new Set,Jr=new Map,Ns=new Map,hs="void"===me,lo={params:za(Oi,Pi),delay:this.ast.options?.delay},il=fi?[]:li(T,x,this.ast.animation,tt,kt,Ci,na,lo,xn,Xn);let Ms=0;if(il.forEach(al=>{Ms=Math.max(al.duration+al.delay,Ms)}),Xn.length)return fa(x,this._triggerName,V,me,hs,Ci,na,[],[],Jr,Ns,Ms,Xn);il.forEach(al=>{const zo=al.element,Ah=ge(Jr,zo,new Set);al.preStyleProps.forEach(Tc=>Ah.add(Tc));const h1=ge(Ns,zo,new Set);al.postStyleProps.forEach(Tc=>h1.add(Tc)),zo!==x&&Ia.add(zo)});const To=$e(Ia.values());return fa(x,this._triggerName,V,me,hs,Ci,na,il,To,Jr,Ns,Ms)}}function za(K,T){const x=te(T);for(const V in K)K.hasOwnProperty(V)&&null!=K[V]&&(x[V]=K[V]);return x}class js{constructor(T,x,V){this.styles=T,this.defaultParams=x,this.normalizer=V}buildStyles(T,x){const V=new Map,me=te(this.defaultParams);return Object.keys(T).forEach(tt=>{const kt=T[tt];null!==kt&&(me[tt]=kt)}),this.styles.styles.forEach(tt=>{"string"!=typeof tt&&tt.forEach((kt,jt)=>{kt&&(kt=He(kt,me,x));const on=this.normalizer.normalizePropertyName(jt,x);kt=this.normalizer.normalizeStyleValue(jt,on,kt,x),V.set(on,kt)})}),V}}class Qi{constructor(T,x,V){this.name=T,this.ast=x,this._normalizer=V,this.transitionFactories=[],this.states=new Map,x.states.forEach(me=>{const tt=me.options&&me.options.params||{};this.states.set(me.name,new js(me.style,tt,V))}),Ta(this.states,"true","1"),Ta(this.states,"false","0"),x.transitions.forEach(me=>{this.transitionFactories.push(new xa(T,me,this.states))}),this.fallbackTransition=function Gr(K,T,x){return new xa(K,{type:1,animation:{type:2,steps:[],options:null},matchers:[(kt,jt)=>!0],options:null,queryCount:0,depCount:0},T)}(T,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(T,x,V,me){return this.transitionFactories.find(kt=>kt.match(T,x,V,me))||null}matchStyles(T,x,V){return this.fallbackTransition.buildStyles(T,x,V)}}function Ta(K,T,x){K.has(T)?K.has(x)||K.set(x,K.get(T)):K.has(x)&&K.set(T,K.get(x))}const Is=new It;class Ua{constructor(T,x,V){this.bodyNode=T,this._driver=x,this._normalizer=V,this._animations=new Map,this._playersById=new Map,this.players=[]}register(T,x){const V=[],me=[],tt=hn(this._driver,x,V,me);if(V.length)throw function h(K){return new t.vHH(3503,!1)}();me.length,this._animations.set(T,tt)}_buildPlayer(T,x,V){const me=T.element,tt=We(this._driver,this._normalizer,0,T.keyframes,x,V);return this._driver.animate(me,tt,T.duration,T.delay,T.easing,[],!0)}create(T,x,V={}){const me=[],tt=this._animations.get(T);let kt;const jt=new Map;if(tt?(kt=li(this._driver,x,tt,Gt,In,new Map,new Map,V,Is,me),kt.forEach(fi=>{const Xn=ge(jt,fi.element,new Map);fi.postStyleProps.forEach(Pi=>Xn.set(Pi,null))})):(me.push(function d(){return new t.vHH(3300,!1)}()),kt=[]),me.length)throw function y(K){return new t.vHH(3504,!1)}();jt.forEach((fi,Xn)=>{fi.forEach((Pi,Ni)=>{fi.set(Ni,this._driver.computeStyle(Xn,Ni,_.l3))})});const xn=je(kt.map(fi=>{const Xn=jt.get(fi.element);return this._buildPlayer(fi,new Map,Xn)}));return this._playersById.set(T,xn),xn.onDestroy(()=>this.destroy(T)),this.players.push(xn),xn}destroy(T){const x=this._getPlayer(T);x.destroy(),this._playersById.delete(T);const V=this.players.indexOf(x);V>=0&&this.players.splice(V,1)}_getPlayer(T){const x=this._playersById.get(T);if(!x)throw function L(K){return new t.vHH(3301,!1)}();return x}listen(T,x,V,me){const tt=Ie(x,"","","");return be(this._getPlayer(T),V,tt,me),()=>{}}command(T,x,V,me){if("register"==V)return void this.register(T,me[0]);if("create"==V){const kt=me[0]||{};return void this.create(T,x,kt)}const tt=this._getPlayer(T);switch(V){case"play":tt.play();break;case"pause":tt.pause();break;case"reset":tt.reset();break;case"restart":tt.restart();break;case"finish":tt.finish();break;case"init":tt.init();break;case"setPosition":tt.setPosition(parseFloat(me[0]));break;case"destroy":this.destroy(T)}}}const Ls="ng-animate-queued",vr="ng-animate-disabled",nr=[],Pr={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Xs={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},pa="__ng_removed";class Js{constructor(T,x=""){this.namespaceId=x;const V=T&&T.hasOwnProperty("value"),me=V?T.value:T;if(this.value=function sa(K){return K??null}(me),V){const tt=te(T);delete tt.value,this.options=tt}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(T){const x=T.params;if(x){const V=this.options.params;Object.keys(x).forEach(me=>{null==V[me]&&(V[me]=x[me])})}}}const Oa="void",Ss=new Js(Oa);class Ja{constructor(T,x,V){this.id=T,this.hostElement=x,this._engine=V,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+T,dn(x,this._hostClassName)}listen(T,x,V,me){if(!this._triggers.has(x))throw function B(K,T){return new t.vHH(3302,!1)}();if(null==V||0==V.length)throw function v(K){return new t.vHH(3303,!1)}();if(!function br(K){return"start"==K||"done"==K}(V))throw function a(K,T){return new t.vHH(3400,!1)}();const tt=ge(this._elementListeners,T,[]),kt={name:x,phase:V,callback:me};tt.push(kt);const jt=ge(this._engine.statesByElement,T,new Map);return jt.has(x)||(dn(T,an),dn(T,an+"-"+x),jt.set(x,Ss)),()=>{this._engine.afterFlush(()=>{const on=tt.indexOf(kt);on>=0&&tt.splice(on,1),this._triggers.has(x)||jt.delete(x)})}}register(T,x){return!this._triggers.has(T)&&(this._triggers.set(T,x),!0)}_getTrigger(T){const x=this._triggers.get(T);if(!x)throw function C(K){return new t.vHH(3401,!1)}();return x}trigger(T,x,V,me=!0){const tt=this._getTrigger(x),kt=new $a(this.id,x,T);let jt=this._engine.statesByElement.get(T);jt||(dn(T,an),dn(T,an+"-"+x),this._engine.statesByElement.set(T,jt=new Map));let on=jt.get(x);const xn=new Js(V,this.id);if(!(V&&V.hasOwnProperty("value"))&&on&&xn.absorbOptions(on.options),jt.set(x,xn),on||(on=Ss),xn.value!==Oa&&on.value===xn.value){if(!function Bi(K,T){const x=Object.keys(K),V=Object.keys(T);if(x.length!=V.length)return!1;for(let me=0;me{Je(T,na),Ce(T,Ia)})}return}const Pi=ge(this._engine.playersByElement,T,[]);Pi.forEach(Oi=>{Oi.namespaceId==this.id&&Oi.triggerName==x&&Oi.queued&&Oi.destroy()});let Ni=tt.matchTransition(on.value,xn.value,T,xn.params),Ci=!1;if(!Ni){if(!me)return;Ni=tt.fallbackTransition,Ci=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:T,triggerName:x,transition:Ni,fromState:on,toState:xn,player:kt,isFallbackTransition:Ci}),Ci||(dn(T,Ls),kt.onStart(()=>{xt(T,Ls)})),kt.onDone(()=>{let Oi=this.players.indexOf(kt);Oi>=0&&this.players.splice(Oi,1);const na=this._engine.playersByElement.get(T);if(na){let Ia=na.indexOf(kt);Ia>=0&&na.splice(Ia,1)}}),this.players.push(kt),Pi.push(kt),kt}deregister(T){this._triggers.delete(T),this._engine.statesByElement.forEach(x=>x.delete(T)),this._elementListeners.forEach((x,V)=>{this._elementListeners.set(V,x.filter(me=>me.name!=T))})}clearElementCache(T){this._engine.statesByElement.delete(T),this._elementListeners.delete(T);const x=this._engine.playersByElement.get(T);x&&(x.forEach(V=>V.destroy()),this._engine.playersByElement.delete(T))}_signalRemovalForInnerTriggers(T,x){const V=this._engine.driver.query(T,tn,!0);V.forEach(me=>{if(me[pa])return;const tt=this._engine.fetchNamespacesByElement(me);tt.size?tt.forEach(kt=>kt.triggerLeaveAnimation(me,x,!1,!0)):this.clearElementCache(me)}),this._engine.afterFlushAnimationsDone(()=>V.forEach(me=>this.clearElementCache(me)))}triggerLeaveAnimation(T,x,V,me){const tt=this._engine.statesByElement.get(T),kt=new Map;if(tt){const jt=[];if(tt.forEach((on,xn)=>{if(kt.set(xn,on.value),this._triggers.has(xn)){const fi=this.trigger(T,xn,Oa,me);fi&&jt.push(fi)}}),jt.length)return this._engine.markElementAsRemoved(this.id,T,!0,x,kt),V&&je(jt).onDone(()=>this._engine.processLeaveNode(T)),!0}return!1}prepareLeaveAnimationListeners(T){const x=this._elementListeners.get(T),V=this._engine.statesByElement.get(T);if(x&&V){const me=new Set;x.forEach(tt=>{const kt=tt.name;if(me.has(kt))return;me.add(kt);const on=this._triggers.get(kt).fallbackTransition,xn=V.get(kt)||Ss,fi=new Js(Oa),Xn=new $a(this.id,kt,T);this._engine.totalQueuedPlayers++,this._queue.push({element:T,triggerName:kt,transition:on,fromState:xn,toState:fi,player:Xn,isFallbackTransition:!0})})}}removeNode(T,x){const V=this._engine;if(T.childElementCount&&this._signalRemovalForInnerTriggers(T,x),this.triggerLeaveAnimation(T,x,!0))return;let me=!1;if(V.totalAnimations){const tt=V.players.length?V.playersByQueriedElement.get(T):[];if(tt&&tt.length)me=!0;else{let kt=T;for(;kt=kt.parentNode;)if(V.statesByElement.get(kt)){me=!0;break}}}if(this.prepareLeaveAnimationListeners(T),me)V.markElementAsRemoved(this.id,T,!1,x);else{const tt=T[pa];(!tt||tt===Pr)&&(V.afterFlush(()=>this.clearElementCache(T)),V.destroyInnerAnimations(T),V._onRemovalComplete(T,x))}}insertNode(T,x){dn(T,this._hostClassName)}drainQueuedTransitions(T){const x=[];return this._queue.forEach(V=>{const me=V.player;if(me.destroyed)return;const tt=V.element,kt=this._elementListeners.get(tt);kt&&kt.forEach(jt=>{if(jt.name==V.triggerName){const on=Ie(tt,V.triggerName,V.fromState.value,V.toState.value);on._data=T,be(V.player,jt.phase,on,jt.callback)}}),me.markedForDestroy?this._engine.afterFlush(()=>{me.destroy()}):x.push(V)}),this._queue=[],x.sort((V,me)=>{const tt=V.transition.ast.depCount,kt=me.transition.ast.depCount;return 0==tt||0==kt?tt-kt:this._engine.driver.containsElement(V.element,me.element)?1:-1})}destroy(T){this.players.forEach(x=>x.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,T)}elementContainsData(T){let x=!1;return this._elementListeners.has(T)&&(x=!0),x=!!this._queue.find(V=>V.element===T)||x,x}}class Os{constructor(T,x,V){this.bodyNode=T,this.driver=x,this._normalizer=V,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(me,tt)=>{}}_onRemovalComplete(T,x){this.onRemovalComplete(T,x)}get queuedPlayers(){const T=[];return this._namespaceList.forEach(x=>{x.players.forEach(V=>{V.queued&&T.push(V)})}),T}createNamespace(T,x){const V=new Ja(T,x,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,x)?this._balanceNamespaceList(V,x):(this.newHostElements.set(x,V),this.collectEnterElement(x)),this._namespaceLookup[T]=V}_balanceNamespaceList(T,x){const V=this._namespaceList,me=this.namespacesByHostElement;if(V.length-1>=0){let kt=!1,jt=this.driver.getParentElement(x);for(;jt;){const on=me.get(jt);if(on){const xn=V.indexOf(on);V.splice(xn+1,0,T),kt=!0;break}jt=this.driver.getParentElement(jt)}kt||V.unshift(T)}else V.push(T);return me.set(x,T),T}register(T,x){let V=this._namespaceLookup[T];return V||(V=this.createNamespace(T,x)),V}registerTrigger(T,x,V){let me=this._namespaceLookup[T];me&&me.register(x,V)&&this.totalAnimations++}destroy(T,x){if(!T)return;const V=this._fetchNamespace(T);this.afterFlush(()=>{this.namespacesByHostElement.delete(V.hostElement),delete this._namespaceLookup[T];const me=this._namespaceList.indexOf(V);me>=0&&this._namespaceList.splice(me,1)}),this.afterFlushAnimationsDone(()=>V.destroy(x))}_fetchNamespace(T){return this._namespaceLookup[T]}fetchNamespacesByElement(T){const x=new Set,V=this.statesByElement.get(T);if(V)for(let me of V.values())if(me.namespaceId){const tt=this._fetchNamespace(me.namespaceId);tt&&x.add(tt)}return x}trigger(T,x,V,me){if(ir(x)){const tt=this._fetchNamespace(T);if(tt)return tt.trigger(x,V,me),!0}return!1}insertNode(T,x,V,me){if(!ir(x))return;const tt=x[pa];if(tt&&tt.setForRemoval){tt.setForRemoval=!1,tt.setForMove=!0;const kt=this.collectedLeaveElements.indexOf(x);kt>=0&&this.collectedLeaveElements.splice(kt,1)}if(T){const kt=this._fetchNamespace(T);kt&&kt.insertNode(x,V)}me&&this.collectEnterElement(x)}collectEnterElement(T){this.collectedEnterElements.push(T)}markElementAsDisabled(T,x){x?this.disabledNodes.has(T)||(this.disabledNodes.add(T),dn(T,vr)):this.disabledNodes.has(T)&&(this.disabledNodes.delete(T),xt(T,vr))}removeNode(T,x,V,me){if(ir(x)){const tt=T?this._fetchNamespace(T):null;if(tt?tt.removeNode(x,me):this.markElementAsRemoved(T,x,!1,me),V){const kt=this.namespacesByHostElement.get(x);kt&&kt.id!==T&&kt.removeNode(x,me)}}else this._onRemovalComplete(x,me)}markElementAsRemoved(T,x,V,me,tt){this.collectedLeaveElements.push(x),x[pa]={namespaceId:T,setForRemoval:me,hasAnimation:V,removedBeforeQueried:!1,previousTriggersValues:tt}}listen(T,x,V,me,tt){return ir(x)?this._fetchNamespace(T).listen(x,V,me,tt):()=>{}}_buildInstruction(T,x,V,me,tt){return T.transition.build(this.driver,T.element,T.fromState.value,T.toState.value,V,me,T.fromState.options,T.toState.options,x,tt)}destroyInnerAnimations(T){let x=this.driver.query(T,tn,!0);x.forEach(V=>this.destroyActiveAnimationsForElement(V)),0!=this.playersByQueriedElement.size&&(x=this.driver.query(T,nt,!0),x.forEach(V=>this.finishActiveQueriedAnimationOnElement(V)))}destroyActiveAnimationsForElement(T){const x=this.playersByElement.get(T);x&&x.forEach(V=>{V.queued?V.markedForDestroy=!0:V.destroy()})}finishActiveQueriedAnimationOnElement(T){const x=this.playersByQueriedElement.get(T);x&&x.forEach(V=>V.finish())}whenRenderingDone(){return new Promise(T=>{if(this.players.length)return je(this.players).onDone(()=>T());T()})}processLeaveNode(T){const x=T[pa];if(x&&x.setForRemoval){if(T[pa]=Pr,x.namespaceId){this.destroyInnerAnimations(T);const V=this._fetchNamespace(x.namespaceId);V&&V.clearElementCache(T)}this._onRemovalComplete(T,x.setForRemoval)}T.classList?.contains(vr)&&this.markElementAsDisabled(T,!1),this.driver.query(T,".ng-animate-disabled",!0).forEach(V=>{this.markElementAsDisabled(V,!1)})}flush(T=-1){let x=[];if(this.newHostElements.size&&(this.newHostElements.forEach((V,me)=>this._balanceNamespaceList(V,me)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let V=0;VV()),this._flushFns=[],this._whenQuietFns.length){const V=this._whenQuietFns;this._whenQuietFns=[],x.length?je(x).onDone(()=>{V.forEach(me=>me())}):V.forEach(me=>me())}}reportError(T){throw function N(K){return new t.vHH(3402,!1)}()}_flushAnimations(T,x){const V=new It,me=[],tt=new Map,kt=[],jt=new Map,on=new Map,xn=new Map,fi=new Set;this.disabledNodes.forEach(vi=>{fi.add(vi);const wi=this.driver.query(vi,".ng-animate-queued",!0);for(let ki=0;ki{const ki=Gt+Oi++;Ci.set(wi,ki),vi.forEach(_a=>dn(_a,ki))});const na=[],Ia=new Set,Jr=new Set;for(let vi=0;viIa.add(_a)):Jr.add(wi))}const Ns=new Map,hs=Va(Pi,Array.from(Ia));hs.forEach((vi,wi)=>{const ki=In+Oi++;Ns.set(wi,ki),vi.forEach(_a=>dn(_a,ki))}),T.push(()=>{Ni.forEach((vi,wi)=>{const ki=Ci.get(wi);vi.forEach(_a=>xt(_a,ki))}),hs.forEach((vi,wi)=>{const ki=Ns.get(wi);vi.forEach(_a=>xt(_a,ki))}),na.forEach(vi=>{this.processLeaveNode(vi)})});const lo=[],il=[];for(let vi=this._namespaceList.length-1;vi>=0;vi--)this._namespaceList[vi].drainQueuedTransitions(x).forEach(ki=>{const _a=ki.player,Tr=ki.element;if(lo.push(_a),this.collectedEnterElements.length){const Fs=Tr[pa];if(Fs&&Fs.setForMove){if(Fs.previousTriggersValues&&Fs.previousTriggersValues.has(ki.triggerName)){const Al=Fs.previousTriggersValues.get(ki.triggerName),wo=this.statesByElement.get(ki.element);if(wo&&wo.has(ki.triggerName)){const i2=wo.get(ki.triggerName);i2.value=Al,wo.set(ki.triggerName,i2)}}return void _a.destroy()}}const co=!Xn||!this.driver.containsElement(Xn,Tr),Es=Ns.get(Tr),Co=Ci.get(Tr),cr=this._buildInstruction(ki,V,Co,Es,co);if(cr.errors&&cr.errors.length)return void il.push(cr);if(co)return _a.onStart(()=>Je(Tr,cr.fromStyles)),_a.onDestroy(()=>Ce(Tr,cr.toStyles)),void me.push(_a);if(ki.isFallbackTransition)return _a.onStart(()=>Je(Tr,cr.fromStyles)),_a.onDestroy(()=>Ce(Tr,cr.toStyles)),void me.push(_a);const wc=[];cr.timelines.forEach(Fs=>{Fs.stretchStartingKeyframe=!0,this.disabledNodes.has(Fs.element)||wc.push(Fs)}),cr.timelines=wc,V.append(Tr,cr.timelines);const Ih={instruction:cr,player:_a,element:Tr};kt.push(Ih),cr.queriedElements.forEach(Fs=>ge(jt,Fs,[]).push(_a)),cr.preStyleProps.forEach((Fs,Al)=>{if(Fs.size){let wo=on.get(Al);wo||on.set(Al,wo=new Set),Fs.forEach((i2,f1)=>wo.add(f1))}}),cr.postStyleProps.forEach((Fs,Al)=>{let wo=xn.get(Al);wo||xn.set(Al,wo=new Set),Fs.forEach((i2,f1)=>wo.add(f1))})});if(il.length){const vi=[];il.forEach(wi=>{vi.push(function J(K,T){return new t.vHH(3505,!1)}(wi.triggerName,wi.errors))}),lo.forEach(wi=>wi.destroy()),this.reportError(vi)}const Ms=new Map,To=new Map;kt.forEach(vi=>{const wi=vi.element;V.has(wi)&&(To.set(wi,wi),this._beforeAnimationBuild(vi.player.namespaceId,vi.instruction,Ms))}),me.forEach(vi=>{const wi=vi.element;this._getPreviousPlayers(wi,!1,vi.namespaceId,vi.triggerName,null).forEach(_a=>{ge(Ms,wi,[]).push(_a),_a.destroy()})});const al=na.filter(vi=>Xi(vi,on,xn)),zo=new Map;kr(zo,this.driver,Jr,xn,_.l3).forEach(vi=>{Xi(vi,on,xn)&&al.push(vi)});const h1=new Map;Ni.forEach((vi,wi)=>{kr(h1,this.driver,new Set(vi),on,_.k1)}),al.forEach(vi=>{const wi=zo.get(vi),ki=h1.get(vi);zo.set(vi,new Map([...Array.from(wi?.entries()??[]),...Array.from(ki?.entries()??[])]))});const Tc=[],Th=[],wh={};kt.forEach(vi=>{const{element:wi,player:ki,instruction:_a}=vi;if(V.has(wi)){if(fi.has(wi))return ki.onDestroy(()=>Ce(wi,_a.toStyles)),ki.disabled=!0,ki.overrideTotalTime(_a.totalTime),void me.push(ki);let Tr=wh;if(To.size>1){let Es=wi;const Co=[];for(;Es=Es.parentNode;){const cr=To.get(Es);if(cr){Tr=cr;break}Co.push(Es)}Co.forEach(cr=>To.set(cr,Tr))}const co=this._buildAnimation(ki.namespaceId,_a,Ms,tt,h1,zo);if(ki.setRealPlayer(co),Tr===wh)Tc.push(ki);else{const Es=this.playersByElement.get(Tr);Es&&Es.length&&(ki.parentPlayer=je(Es)),me.push(ki)}}else Je(wi,_a.fromStyles),ki.onDestroy(()=>Ce(wi,_a.toStyles)),Th.push(ki),fi.has(wi)&&me.push(ki)}),Th.forEach(vi=>{const wi=tt.get(vi.element);if(wi&&wi.length){const ki=je(wi);vi.setRealPlayer(ki)}}),me.forEach(vi=>{vi.parentPlayer?vi.syncPlayerEvents(vi.parentPlayer):vi.destroy()});for(let vi=0;vi!co.destroyed);Tr.length?Bt(this,wi,Tr):this.processLeaveNode(wi)}return na.length=0,Tc.forEach(vi=>{this.players.push(vi),vi.onDone(()=>{vi.destroy();const wi=this.players.indexOf(vi);this.players.splice(wi,1)}),vi.play()}),Tc}elementContainsData(T,x){let V=!1;const me=x[pa];return me&&me.setForRemoval&&(V=!0),this.playersByElement.has(x)&&(V=!0),this.playersByQueriedElement.has(x)&&(V=!0),this.statesByElement.has(x)&&(V=!0),this._fetchNamespace(T).elementContainsData(x)||V}afterFlush(T){this._flushFns.push(T)}afterFlushAnimationsDone(T){this._whenQuietFns.push(T)}_getPreviousPlayers(T,x,V,me,tt){let kt=[];if(x){const jt=this.playersByQueriedElement.get(T);jt&&(kt=jt)}else{const jt=this.playersByElement.get(T);if(jt){const on=!tt||tt==Oa;jt.forEach(xn=>{xn.queued||!on&&xn.triggerName!=me||kt.push(xn)})}}return(V||me)&&(kt=kt.filter(jt=>!(V&&V!=jt.namespaceId||me&&me!=jt.triggerName))),kt}_beforeAnimationBuild(T,x,V){const me=x.triggerName,tt=x.element,kt=x.isRemovalTransition?void 0:T,jt=x.isRemovalTransition?void 0:me;for(const on of x.timelines){const xn=on.element,fi=xn!==tt,Xn=ge(V,xn,[]);this._getPreviousPlayers(xn,fi,kt,jt,x.toState).forEach(Ni=>{const Ci=Ni.getRealPlayer();Ci.beforeDestroy&&Ci.beforeDestroy(),Ni.destroy(),Xn.push(Ni)})}Je(tt,x.fromStyles)}_buildAnimation(T,x,V,me,tt,kt){const jt=x.triggerName,on=x.element,xn=[],fi=new Set,Xn=new Set,Pi=x.timelines.map(Ci=>{const Oi=Ci.element;fi.add(Oi);const na=Oi[pa];if(na&&na.removedBeforeQueried)return new _.ZN(Ci.duration,Ci.delay);const Ia=Oi!==on,Jr=function Fn(K){const T=[];return ri(K,T),T}((V.get(Oi)||nr).map(Ms=>Ms.getRealPlayer())).filter(Ms=>{const To=Ms;return!!To.element&&To.element===Oi}),Ns=tt.get(Oi),hs=kt.get(Oi),lo=We(this.driver,this._normalizer,0,Ci.keyframes,Ns,hs),il=this._buildPlayer(Ci,lo,Jr);if(Ci.subTimeline&&me&&Xn.add(Oi),Ia){const Ms=new $a(T,jt,Oi);Ms.setRealPlayer(il),xn.push(Ms)}return il});xn.forEach(Ci=>{ge(this.playersByQueriedElement,Ci.element,[]).push(Ci),Ci.onDone(()=>function yr(K,T,x){let V=K.get(T);if(V){if(V.length){const me=V.indexOf(x);V.splice(me,1)}0==V.length&&K.delete(T)}return V}(this.playersByQueriedElement,Ci.element,Ci))}),fi.forEach(Ci=>dn(Ci,pn));const Ni=je(Pi);return Ni.onDestroy(()=>{fi.forEach(Ci=>xt(Ci,pn)),Ce(on,x.toStyles)}),Xn.forEach(Ci=>{ge(me,Ci,[]).push(Ni)}),Ni}_buildPlayer(T,x,V){return x.length>0?this.driver.animate(T.element,x,T.duration,T.delay,T.easing,V):new _.ZN(T.duration,T.delay)}}class $a{constructor(T,x,V){this.namespaceId=T,this.triggerName=x,this.element=V,this._player=new _.ZN,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(T){this._containsRealPlayer||(this._player=T,this._queuedCallbacks.forEach((x,V)=>{x.forEach(me=>be(T,V,void 0,me))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(T.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(T){this.totalTime=T}syncPlayerEvents(T){const x=this._player;x.triggerCallback&&T.onStart(()=>x.triggerCallback("start")),T.onDone(()=>this.finish()),T.onDestroy(()=>this.destroy())}_queueEvent(T,x){ge(this._queuedCallbacks,T,[]).push(x)}onDone(T){this.queued&&this._queueEvent("done",T),this._player.onDone(T)}onStart(T){this.queued&&this._queueEvent("start",T),this._player.onStart(T)}onDestroy(T){this.queued&&this._queueEvent("destroy",T),this._player.onDestroy(T)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(T){this.queued||this._player.setPosition(T)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(T){const x=this._player;x.triggerCallback&&x.triggerCallback(T)}}function ir(K){return K&&1===K.nodeType}function as(K,T){const x=K.style.display;return K.style.display=T??"none",x}function kr(K,T,x,V,me){const tt=[];x.forEach(on=>tt.push(as(on)));const kt=[];V.forEach((on,xn)=>{const fi=new Map;on.forEach(Xn=>{const Pi=T.computeStyle(xn,Xn,me);fi.set(Xn,Pi),(!Pi||0==Pi.length)&&(xn[pa]=Xs,kt.push(xn))}),K.set(xn,fi)});let jt=0;return x.forEach(on=>as(on,tt[jt++])),kt}function Va(K,T){const x=new Map;if(K.forEach(jt=>x.set(jt,[])),0==T.length)return x;const me=new Set(T),tt=new Map;function kt(jt){if(!jt)return 1;let on=tt.get(jt);if(on)return on;const xn=jt.parentNode;return on=x.has(xn)?xn:me.has(xn)?1:kt(xn),tt.set(jt,on),on}return T.forEach(jt=>{const on=kt(jt);1!==on&&x.get(on).push(jt)}),x}function dn(K,T){K.classList?.add(T)}function xt(K,T){K.classList?.remove(T)}function Bt(K,T,x){je(x).onDone(()=>K.processLeaveNode(T))}function ri(K,T){for(let x=0;xme.add(tt)):T.set(K,V),x.delete(K),!0}class oa{constructor(T,x,V){this.bodyNode=T,this._driver=x,this._normalizer=V,this._triggerCache={},this.onRemovalComplete=(me,tt)=>{},this._transitionEngine=new Os(T,x,V),this._timelineEngine=new Ua(T,x,V),this._transitionEngine.onRemovalComplete=(me,tt)=>this.onRemovalComplete(me,tt)}registerTrigger(T,x,V,me,tt){const kt=T+"-"+me;let jt=this._triggerCache[kt];if(!jt){const on=[],xn=[],fi=hn(this._driver,tt,on,xn);if(on.length)throw function n(K,T){return new t.vHH(3404,!1)}();xn.length,jt=function is(K,T,x){return new Qi(K,T,x)}(me,fi,this._normalizer),this._triggerCache[kt]=jt}this._transitionEngine.registerTrigger(x,me,jt)}register(T,x){this._transitionEngine.register(T,x)}destroy(T,x){this._transitionEngine.destroy(T,x)}onInsert(T,x,V,me){this._transitionEngine.insertNode(T,x,V,me)}onRemove(T,x,V,me){this._transitionEngine.removeNode(T,x,me||!1,V)}disableAnimations(T,x){this._transitionEngine.markElementAsDisabled(T,x)}process(T,x,V,me){if("@"==V.charAt(0)){const[tt,kt]=et(V),jt=me;this._timelineEngine.command(tt,x,kt,jt)}else this._transitionEngine.trigger(T,x,V,me)}listen(T,x,V,me,tt){if("@"==V.charAt(0)){const[kt,jt]=et(V);return this._timelineEngine.listen(kt,x,jt,tt)}return this._transitionEngine.listen(T,x,V,me,tt)}flush(T=-1){this._transitionEngine.flush(T)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}class Li{constructor(T,x,V){this._element=T,this._startStyles=x,this._endStyles=V,this._state=0;let me=Li.initialStylesByElement.get(T);me||Li.initialStylesByElement.set(T,me=new Map),this._initialStyles=me}start(){this._state<1&&(this._startStyles&&Ce(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ce(this._element,this._initialStyles),this._endStyles&&(Ce(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Li.initialStylesByElement.delete(this._element),this._startStyles&&(Je(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Je(this._element,this._endStyles),this._endStyles=null),Ce(this._element,this._initialStyles),this._state=3)}}function rs(K){let T=null;return K.forEach((x,V)=>{(function Rr(K){return"display"===K||"position"===K})(V)&&(T=T||new Map,T.set(V,x))}),T}Li.initialStylesByElement=new WeakMap;class Zr{constructor(T,x,V,me){this.element=T,this.keyframes=x,this.options=V,this._specialStyles=me,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=V.duration,this._delay=V.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(T=>T()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const T=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,T,this.options),this._finalKeyframe=T.length?T[T.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(T){const x=[];return T.forEach(V=>{x.push(Object.fromEntries(V))}),x}_triggerWebAnimation(T,x,V){return T.animate(this._convertKeyframesToObject(x),V)}onStart(T){this._originalOnStartFns.push(T),this._onStartFns.push(T)}onDone(T){this._originalOnDoneFns.push(T),this._onDoneFns.push(T)}onDestroy(T){this._onDestroyFns.push(T)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(T=>T()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(T=>T()),this._onDestroyFns=[])}setPosition(T){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=T*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const T=new Map;this.hasStarted()&&this._finalKeyframe.forEach((V,me)=>{"offset"!==me&&T.set(me,this._finished?V:Yn(this.element,me))}),this.currentSnapshot=T}triggerCallback(T){const x="start"===T?this._onStartFns:this._onDoneFns;x.forEach(V=>V()),x.length=0}}class ca{validateStyleProperty(T){return!0}validateAnimatableStyleProperty(T){return!0}matchesElement(T,x){return!1}containsElement(T,x){return pt(T,x)}getParentElement(T){return ne(T)}query(T,x,V){return it(T,x,V)}computeStyle(T,x,V){return window.getComputedStyle(T)[x]}animate(T,x,V,me,tt,kt=[]){const on={duration:V,delay:me,fill:0==me?"both":"forwards"};tt&&(on.easing=tt);const xn=new Map,fi=kt.filter(Ni=>Ni instanceof Zr);(function Vn(K,T){return 0===K||0===T})(V,me)&&fi.forEach(Ni=>{Ni.currentSnapshot.forEach((Ci,Oi)=>xn.set(Oi,Ci))});let Xn=function ze(K){return K.length?K[0]instanceof Map?K:K.map(T=>xe(T)):[]}(x).map(Ni=>ct(Ni));Xn=function zn(K,T,x){if(x.size&&T.length){let V=T[0],me=[];if(x.forEach((tt,kt)=>{V.has(kt)||me.push(kt),V.set(kt,tt)}),me.length)for(let tt=1;ttkt.set(jt,Yn(K,jt)))}}return T}(T,Xn,xn);const Pi=function la(K,T){let x=null,V=null;return Array.isArray(T)&&T.length?(x=rs(T[0]),T.length>1&&(V=rs(T[T.length-1]))):T instanceof Map&&(x=rs(T)),x||V?new Li(K,x,V):null}(T,Xn);return new Zr(T,Xn,on,Pi)}}var si=m(4666);class ar extends _._j{constructor(T,x){super(),this._nextAnimationId=0;const V={id:"0",encapsulation:t.ifc.None,styles:[],data:{animation:[]}};this._renderer=T.createRenderer(x.body,V)}build(T){const x=this._nextAnimationId.toString();this._nextAnimationId++;const V=Array.isArray(T)?(0,_.vP)(T):T;return ye(this._renderer,null,x,"register",[V]),new Ps(x,this._renderer)}}ar.\u0275fac=function(T){return new(T||ar)(t.LFG(t.FYo),t.LFG(si.K0))},ar.\u0275prov=t.Yz7({token:ar,factory:ar.\u0275fac});class Ps extends _.LC{constructor(T,x){super(),this._id=T,this._renderer=x}create(T,x){return new bt(this._id,T,x||{},this._renderer)}}class bt{constructor(T,x,V,me){this.id=T,this.element=x,this._renderer=me,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",V)}_listen(T,x){return this._renderer.listen(this.element,`@@${this.id}:${T}`,x)}_command(T,...x){return ye(this._renderer,this.element,this.id,T,x)}onDone(T){this._listen("done",T)}onStart(T){this._listen("start",T)}onDestroy(T){this._listen("destroy",T)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(T){this._command("setPosition",T)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function ye(K,T,x,V,me){return K.setProperty(T,`@@${x}:${V}`,me)}const Yt="@.disabled";class Pn{constructor(T,x,V){this.delegate=T,this.engine=x,this._zone=V,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),x.onRemovalComplete=(me,tt)=>{const kt=tt?.parentNode(me);kt&&tt.removeChild(kt,me)}}createRenderer(T,x){const me=this.delegate.createRenderer(T,x);if(!(T&&x&&x.data&&x.data.animation)){let xn=this._rendererCache.get(me);if(!xn){const fi=()=>this._rendererCache.delete(me);xn=new Ti("",me,this.engine,fi),this._rendererCache.set(me,xn)}return xn}const tt=x.id,kt=x.id+"-"+this._currentId;this._currentId++,this.engine.register(kt,T);const jt=xn=>{Array.isArray(xn)?xn.forEach(jt):this.engine.registerTrigger(tt,kt,T,xn.name,xn)};return x.data.animation.forEach(jt),new rr(this,kt,me,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(T,x,V){T>=0&&Tx(V)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(me=>{const[tt,kt]=me;tt(kt)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([x,V]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}Pn.\u0275fac=function(T){return new(T||Pn)(t.LFG(t.FYo),t.LFG(oa),t.LFG(t.R0b))},Pn.\u0275prov=t.Yz7({token:Pn,factory:Pn.\u0275fac});class Ti{constructor(T,x,V,me){this.namespaceId=T,this.delegate=x,this.engine=V,this._onDestroy=me,this.destroyNode=this.delegate.destroyNode?tt=>x.destroyNode(tt):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(T,x){return this.delegate.createElement(T,x)}createComment(T){return this.delegate.createComment(T)}createText(T){return this.delegate.createText(T)}appendChild(T,x){this.delegate.appendChild(T,x),this.engine.onInsert(this.namespaceId,x,T,!1)}insertBefore(T,x,V,me=!0){this.delegate.insertBefore(T,x,V),this.engine.onInsert(this.namespaceId,x,T,me)}removeChild(T,x,V){this.engine.onRemove(this.namespaceId,x,this.delegate,V)}selectRootElement(T,x){return this.delegate.selectRootElement(T,x)}parentNode(T){return this.delegate.parentNode(T)}nextSibling(T){return this.delegate.nextSibling(T)}setAttribute(T,x,V,me){this.delegate.setAttribute(T,x,V,me)}removeAttribute(T,x,V){this.delegate.removeAttribute(T,x,V)}addClass(T,x){this.delegate.addClass(T,x)}removeClass(T,x){this.delegate.removeClass(T,x)}setStyle(T,x,V,me){this.delegate.setStyle(T,x,V,me)}removeStyle(T,x,V){this.delegate.removeStyle(T,x,V)}setProperty(T,x,V){"@"==x.charAt(0)&&x==Yt?this.disableAnimations(T,!!V):this.delegate.setProperty(T,x,V)}setValue(T,x){this.delegate.setValue(T,x)}listen(T,x,V){return this.delegate.listen(T,x,V)}disableAnimations(T,x){this.engine.disableAnimations(T,x)}}class rr extends Ti{constructor(T,x,V,me,tt){super(x,V,me,tt),this.factory=T,this.namespaceId=x}setProperty(T,x,V){"@"==x.charAt(0)?"."==x.charAt(1)&&x==Yt?(V=void 0===V||!!V,this.disableAnimations(T,V)):this.engine.process(this.namespaceId,T,x.slice(1),V):this.delegate.setProperty(T,x,V)}listen(T,x,V){if("@"==x.charAt(0)){const me=function gs(K){switch(K){case"body":return document.body;case"document":return document;case"window":return window;default:return K}}(T);let tt=x.slice(1),kt="";return"@"!=tt.charAt(0)&&([tt,kt]=function Oo(K){const T=K.indexOf("."),x=K.substring(0,T),V=K.slice(T+1);return[x,V]}(tt)),this.engine.listen(this.namespaceId,me,tt,kt,jt=>{const on=jt._data||-1;this.factory.scheduleListenerCallback(on,V,jt)})}return this.delegate.listen(T,x,V)}}class $s extends oa{constructor(T,x,V,me){super(T.body,x,V)}ngOnDestroy(){this.flush()}}$s.\u0275fac=function(T){return new(T||$s)(t.LFG(si.K0),t.LFG(Nt),t.LFG(Hi),t.LFG(t.z2F))},$s.\u0275prov=t.Yz7({token:$s,factory:$s.\u0275fac});const kn=[{provide:_._j,useClass:ar},{provide:Hi,useFactory:function kl(){return new Sa}},{provide:oa,useClass:$s},{provide:t.FYo,useFactory:function po(K,T,x){return new Pn(K,T,x)},deps:[e.se,oa,t.R0b]}],Ui=[{provide:Nt,useFactory:()=>new ca},{provide:t.QbO,useValue:"BrowserAnimations"},...kn],eo=[{provide:Nt,useClass:un},{provide:t.QbO,useValue:"NoopAnimations"},...kn];class sr{static withConfig(T){return{ngModule:sr,providers:T.disableAnimations?eo:Ui}}}sr.\u0275fac=function(T){return new(T||sr)},sr.\u0275mod=t.oAB({type:sr}),sr.\u0275inj=t.cJS({providers:Ui,imports:[e.b2]});class Br{}Br.\u0275fac=function(T){return new(T||Br)},Br.\u0275mod=t.oAB({type:Br}),Br.\u0275inj=t.cJS({providers:eo,imports:[e.b2]});var Ba=m(8987),$i=m(3278),Hn=m(9263),vs=m(3599),dl=m(5242),Gn=m(253),Hs=m(6646),Wa=m(3280),ss=m(7400),zs=m(6936),to=m(8947);function Yr(K=0,T=zs.z){return K<0&&(K=0),(0,to.H)(K,K,T)}var Po=m(745),Vc=m(7714),Wc=m(1944),Kc=m(3945),Rl=m(9663),Go=m(420),Zo=m(1817);var xr=m(116),Ro=m(9337),Yo=m(2673),ui=m(8951),ul=m(2313),oc=m(8977),ys=m(635);class ks{}class no{constructor(T,x){this._ngZone=x,this.timerStart$=new Gn.x,this.idleDetected$=new Gn.x,this.timeout$=new Gn.x,this.idleMillisec=6e5,this.idleSensitivityMillisec=1e3,this.timeout=300,this.pingMillisec=12e4,this.isTimeout=!1,this.isInactivityTimer=!1,this.isIdleDetected=!1,T&&this.setConfig(T)}startWatching(){this.activityEvents$||(this.activityEvents$=(0,Hs.T)((0,Wa.R)(window,"mousemove"),(0,Wa.R)(window,"resize"),(0,Wa.R)(document,"keydown"))),this.idle$=(0,ss.D)(this.activityEvents$),this.idleSubscription&&this.idleSubscription.unsubscribe(),this.idleSubscription=this.idle$.pipe(function ko(K,...T){var x,V;const me=null!==(x=(0,Go.yG)(T))&&void 0!==x?x:zs.z,tt=null!==(V=T[0])&&void 0!==V?V:null,kt=T[1]||1/0;return(0,Wc.e)((jt,on)=>{let xn=[],fi=!1;const Xn=Ci=>{const{buffer:Oi,subs:na}=Ci;na.unsubscribe(),(0,Rl.P)(xn,Ci),on.next(Oi),fi&&Pi()},Pi=()=>{if(xn){const Ci=new Vc.w0;on.add(Ci);const na={buffer:[],subs:Ci};xn.push(na),(0,Zo.f)(Ci,me,()=>Xn(na),K)}};null!==tt&&tt>=0?(0,Zo.f)(on,me,Pi,tt,!0):fi=!0,Pi();const Ni=(0,Kc.x)(on,Ci=>{const Oi=xn.slice();for(const na of Oi){const{buffer:Ia}=na;Ia.push(Ci),kt<=Ia.length&&Xn(na)}},()=>{for(;xn?.length;)on.next(xn.shift().buffer);Ni?.unsubscribe(),on.complete(),on.unsubscribe()},void 0,()=>xn=null);jt.subscribe(Ni)})}(this.idleSensitivityMillisec),(0,xr.h)(T=>!T.length&&!this.isIdleDetected&&!this.isInactivityTimer),(0,Ro.b)(()=>{this.isIdleDetected=!0,this.idleDetected$.next(!0)}),(0,Yo.w)(()=>this._ngZone.runOutsideAngular(()=>Yr(1e3).pipe((0,ui.R)((0,Hs.T)(this.activityEvents$,(0,to.H)(this.idleMillisec).pipe((0,Ro.b)(()=>{this.isInactivityTimer=!0,this.timerStart$.next(!0)})))),(0,ul.x)(()=>{this.isIdleDetected=!1,this.idleDetected$.next(!1)}))))).subscribe(),this.setupTimer(this.timeout),this.setupPing(this.pingMillisec)}stopWatching(){this.stopTimer(),this.idleSubscription&&this.idleSubscription.unsubscribe()}stopTimer(){this.isInactivityTimer=!1,this.timerStart$.next(!1)}resetTimer(){this.stopTimer(),this.isTimeout=!1}onTimerStart(){return this.timerStart$.pipe((0,oc.x)(),(0,Yo.w)(T=>T?this.timer$:(0,Po.of)(null)))}onIdleStatusChanged(){return this.idleDetected$.asObservable()}onTimeout(){return this.timeout$.pipe((0,xr.h)(T=>!!T),(0,Ro.b)(()=>this.isTimeout=!0),(0,ys.U)(()=>!0))}getConfigValue(){return{idle:this.idleMillisec/1e3,idleSensitivity:this.idleSensitivityMillisec/1e3,timeout:this.timeout,ping:this.pingMillisec/1e3}}setConfigValues(T){!this.idleSubscription||this.idleSubscription.closed?this.setConfig(T):console.error("Call stopWatching() before set config values")}setConfig(T){T.idle&&(this.idleMillisec=1e3*T.idle),T.ping&&(this.pingMillisec=1e3*T.ping),T.idleSensitivity&&(this.idleSensitivityMillisec=1e3*T.idleSensitivity),T.timeout&&(this.timeout=T.timeout)}setCustomActivityEvents(T){!this.idleSubscription||this.idleSubscription.closed?this.activityEvents$=T:console.error("Call stopWatching() before set custom activity events")}setupTimer(T){this._ngZone.runOutsideAngular(()=>{this.timer$=(0,Po.of)(()=>new Date).pipe((0,ys.U)(x=>x()),(0,Yo.w)(x=>Yr(1e3).pipe((0,ys.U)(()=>Math.round(((new Date).valueOf()-x.valueOf())/1e3)),(0,Ro.b)(V=>{V>=T&&this.timeout$.next(!0)}))))})}setupPing(T){this.ping$=Yr(T).pipe((0,xr.h)(()=>!this.isTimeout))}}no.\u0275fac=function(T){return new(T||no)(t.LFG(ks,8),t.LFG(t.R0b))},no.\u0275prov=t.Yz7({token:no,factory:no.\u0275fac,providedIn:"root"});class os{static forRoot(T){return{ngModule:os,providers:[{provide:ks,useValue:T}]}}}os.\u0275fac=function(T){return new(T||os)},os.\u0275mod=t.oAB({type:os}),os.\u0275inj=t.cJS({imports:[[]]});var Ne=m(3547),he=m(9306),st=m(8377),Ot=m(3505),Vt=m(6722),fn=m(2156),Un=m(5892);const Xe=function(){return{initial:!1}};function rt(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[1].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[1].link),t.Q6J("active",x.activeLink===x.links[1].link)("state",t.DdM(4,Xe)),t.xp6(1),t.Oqu(x.links[1].name)}}function yt(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link),t.xp6(1),t.Oqu(x.links[2].name)}}class Pt{constructor(T,x){this.store=T,this.router=x,this.faUserCog=he.gNZ,this.showBitcoind=!1,this.links=[{link:"app",name:"Application"},{link:"auth",name:"Authentication"},{link:"bconfig",name:"BitcoinD Config"}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(me=>x.urlAfterRedirects.includes(me.link));this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{this.appConfig=x}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[2])).subscribe(x=>{this.showBitcoind=!1,this.selNode=x,this.selNode.settings&&this.selNode.settings.bitcoindConfigPath&&""!==this.selNode.settings.bitcoindConfigPath.trim()&&(this.showBitcoind=!0)})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Pt)(t.Y36(Hn.yh),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:Pt,selectors:[["rtl-settings"]],decls:16,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Settings"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5)(8,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[0].link}),t._uU(9),t.qZA(),t.YNc(10,rt,2,5,"div",7),t.YNc(11,yt,2,3,"div",8),t.qZA(),t._UZ(12,"mat-tab-nav-panel",null,9),t.TgZ(14,"div",10),t._UZ(15,"router-outlet"),t.qZA()()()()),2&x){const me=t.MAs(13);t.xp6(1),t.Q6J("icon",V.faUserCog),t.xp6(6),t.Q6J("tabPanel",me),t.xp6(1),t.s9C("routerLink",V.links[0].link),t.Q6J("active",V.activeLink===V.links[0].link),t.xp6(1),t.Oqu(V.links[0].name),t.xp6(1),t.Q6J("ngIf",!+V.appConfig.sso.rtlSSO),t.xp6(1),t.Q6J("ngIf",V.showBitcoind)}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}var Qe=m(7731),Qt=m(7861),sn=m(5043),qt=m(2508),An=m(4522),Sn=m(5074),Jn=m(7371),oi=m(207),xi=m(8822),Si=m(3390);function ur(K,T){if(1&K&&(t.TgZ(0,"mat-option",16),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.index),t.xp6(1),t.AsE(" ",x.lnNode," (",x.lnImplementation,") ")}}function Cr(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",2,3)(2,"div",4),t._UZ(3,"fa-icon",5),t.TgZ(4,"span",6),t._uU(5,"Default Node"),t.qZA()(),t.TgZ(6,"div",7)(7,"div",8),t._UZ(8,"fa-icon",9),t.TgZ(9,"span"),t._uU(10,"The setting will apply after RTL server restarts."),t.qZA()(),t.TgZ(11,"div",10)(12,"mat-form-field",10)(13,"mat-select",11),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.appConfig.defaultNodeIndex=me)}),t.YNc(14,ur,2,3,"mat-option",12),t.qZA()()(),t.TgZ(15,"div",13)(16,"div",10)(17,"button",14),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onResetSettings())}),t._uU(18,"Reset"),t.qZA(),t.TgZ(19,"button",15),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onUpdateSettings())}),t._uU(20,"Update"),t.qZA()()()()()}if(2&K){const x=t.oxw();t.xp6(3),t.Q6J("icon",x.faWindowRestore),t.xp6(5),t.Q6J("icon",x.faInfoCircle),t.xp6(5),t.Q6J("ngModel",x.appConfig.defaultNodeIndex),t.xp6(1),t.Q6J("ngForOf",x.appConfig.nodes)}}class Qr{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=he.sqG,this.faWindowRestore=he.wyP,this.faPlus=he.r8p,this.previousDefaultNode=0,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.appConfig=T,this.previousDefaultNode=this.appConfig.defaultNodeIndex,this.logger.info(T)})}onAddNewNode(){this.logger.warn("ADD NEW NODE")}onUpdateSettings(){const T=this.appConfig.defaultNodeIndex?this.appConfig.defaultNodeIndex:this.appConfig&&this.appConfig.nodes&&this.appConfig.nodes.length&&this.appConfig.nodes.length>0&&this.appConfig.nodes[0].index?+this.appConfig.nodes[0].index:-1;this.store.dispatch((0,Qt.zQ)({payload:{uiMessage:Qe.m6.UPDATE_DEFAULT_NODE_SETTING,defaultNodeIndex:T}}))}onResetSettings(){this.appConfig.defaultNodeIndex=this.previousDefaultNode}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Qr)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Qr,selectors:[["rtl-app-settings"]],decls:2,vars:1,consts:[["fxLayout","column","fxFlex","100",1,"padding-gap-x-large",3,"perfectScrollbar"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","settings-container page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"my-2"],["fxLayout","row","fxFlex","100",1,"alert","alert-info"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row","fxLayoutAlign","start start"],["autoFocus","","tabindex","1","name","defaultNode",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","2",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3",3,"click"],[3,"value"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.YNc(1,Cr,21,4,"form",1),t.qZA()),2&x&&(t.xp6(1),t.Q6J("ngIf",V.appConfig.nodes&&V.appConfig.nodes.length&&V.appConfig.nodes.length>0))},dependencies:[si.sg,si.O5,qt._Y,qt.JJ,qt.JL,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.KE,Jn.gD,oi.ey,xi.$V,Si.h]})}var Mr=m(9591),Ka=m(9295),Ma=m(640),ls=m(74),Na=m(3093),mo=m(930),Er=m(1267),bs=m(4193),go=m(6021),hl=m(6895);const Dr=["stepper"];function lc(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw();t.Oqu(x.passwordFormLabel)}}function fl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}function pl(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.secretFormLabel)}}function S2(K,T){if(1&K&&t._UZ(0,"qr-code",32),2&K){const x=t.oxw(2);t.Q6J("value",x.otpauth)("size",180)("errorCorrectionLevel","L")}}function S1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Secret Code is required."),t.qZA())}function or(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-step",10)(1,"form",21),t.YNc(2,pl,1,1,"ng-template",22),t.TgZ(3,"div",23),t.YNc(4,S2,1,3,"qr-code",24),t.qZA(),t.TgZ(5,"div",25),t._UZ(6,"fa-icon",26),t.TgZ(7,"span"),t._uU(8,"You can use a compatible authentication app to get an authentication code when you log in to RTL. e.g.: Google Authenticator."),t.qZA()(),t.TgZ(9,"div",27)(10,"mat-form-field",1),t._UZ(11,"input",28),t.TgZ(12,"fa-icon",29),t.NdJ("copied",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onCopySecret(me))}),t.qZA(),t.YNc(13,S1,2,0,"mat-error",14),t.qZA()(),t.TgZ(14,"div",30)(15,"button",31),t._uU(16,"Next"),t.qZA()()()()}if(2&K){const x=t.oxw();t.Q6J("stepControl",x.secretFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.secretFormGroup),t.xp6(3),t.Q6J("ngIf",x.otpauth),t.xp6(2),t.Q6J("icon",x.faInfoCircle),t.xp6(6),t.Q6J("icon",x.faCopy)("payload",null==x.secretFormGroup||null==x.secretFormGroup.controls||null==x.secretFormGroup.controls.secret?null:x.secretFormGroup.controls.secret.value),t.xp6(1),t.Q6J("ngIf",null==x.secretFormGroup||null==x.secretFormGroup.controls||null==x.secretFormGroup.controls.secret||null==x.secretFormGroup.controls.secret.errors?null:x.secretFormGroup.controls.secret.errors.required)}}function _l(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.tokenFormLabel)}}function Mo(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is required."),t.qZA())}function vo(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is invalid."),t.qZA())}function Bl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",7)(1,"div",27)(2,"mat-form-field",1),t._UZ(3,"input",36),t.YNc(4,Mo,2,0,"mat-error",14),t.YNc(5,vo,2,0,"mat-error",14),t.qZA()(),t.TgZ(6,"div",30)(7,"button",37),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onVerifyToken())}),t._uU(8),t.qZA()()()}if(2&K){const x=t.oxw(2);t.xp6(4),t.Q6J("ngIf",null==x.tokenFormGroup||null==x.tokenFormGroup.controls||null==x.tokenFormGroup.controls.token||null==x.tokenFormGroup.controls.token.errors?null:x.tokenFormGroup.controls.token.errors.required),t.xp6(1),t.Q6J("ngIf",null==x.tokenFormGroup||null==x.tokenFormGroup.controls||null==x.tokenFormGroup.controls.token||null==x.tokenFormGroup.controls.token.errors?null:x.tokenFormGroup.controls.token.errors.notValid),t.xp6(3),t.Oqu(null!=x.tokenFormGroup&&null!=x.tokenFormGroup.controls&&null!=x.tokenFormGroup.controls.token&&null!=x.tokenFormGroup.controls.token.errors&&x.tokenFormGroup.controls.token.errors.notValid?"Retry":"Verify")}}function ml(K,T){1&K&&(t.TgZ(0,"div")(1,"strong"),t._uU(2,"Success! You are all set."),t.qZA()())}function O1(K,T){if(1&K&&(t.TgZ(0,"mat-step",33)(1,"form",34),t.YNc(2,_l,1,1,"ng-template",12),t.YNc(3,Bl,9,3,"div",35),t.YNc(4,ml,3,0,"div",14),t.qZA()()),2&K){const x=t.oxw();t.Q6J("stepControl",x.tokenFormGroup),t.xp6(1),t.Q6J("formGroup",x.tokenFormGroup),t.xp6(2),t.Q6J("ngIf",!x.flgValidated||!x.isTokenValid),t.xp6(1),t.Q6J("ngIf",x.flgValidated&&x.isTokenValid)}}function P1(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.disableFormLabel)}}function gl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",7)(1,"div",38),t._UZ(2,"fa-icon",26),t.TgZ(3,"span"),t._uU(4,"You are about to disable two-factor authentication security from RTL. Are you sure you want to turn it off?"),t.qZA()(),t.TgZ(5,"div",30)(6,"button",37),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onVerifyToken())}),t._uU(7,"Disable"),t.qZA()()()}if(2&K){const x=t.oxw(2);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle)}}function cc(K,T){1&K&&(t.TgZ(0,"div")(1,"strong"),t._uU(2,"Two factor authentication removed from RTL."),t.qZA()())}function O2(K,T){if(1&K&&(t.TgZ(0,"mat-step",33)(1,"form",34),t.YNc(2,P1,1,1,"ng-template",12),t.YNc(3,gl,8,1,"div",35),t.YNc(4,cc,3,0,"div",14),t.qZA()()),2&K){const x=t.oxw();t.Q6J("stepControl",x.disableFormGroup),t.xp6(1),t.Q6J("formGroup",x.disableFormGroup),t.xp6(2),t.Q6J("ngIf",!x.flgValidated||!x.isTokenValid),t.xp6(1),t.Q6J("ngIf",x.flgValidated&&x.isTokenValid)}}class k1{constructor(T,x,V,me,tt,kt){this.dialogRef=T,this.data=x,this.store=V,this.formBuilder=me,this.rtlEffects=tt,this.snackBar=kt,this.faExclamationTriangle=he.eHv,this.faCopy=he.kZ_,this.faInfoCircle=he.sqG,this.flgValidated=!1,this.isTokenValid=!0,this.otpauth="",this.appConfig=null,this.flgEditable=!0,this.showDisableStepper=!1,this.passwordFormLabel="Authenticate with your RTL password",this.secretFormLabel="Scan or copy the secret",this.tokenFormLabel="Verify your authentication is working",this.disableFormLabel="Disable two factor authentication",this.passwordFormGroup=this.formBuilder.group({hiddenPassword:["",[qt.kI.required]],password:["",[qt.kI.required]]}),this.secretFormGroup=this.formBuilder.group({secret:[{value:"",disabled:!0},qt.kI.required]}),this.tokenFormGroup=this.formBuilder.group({token:["",qt.kI.required]}),this.disableFormGroup=this.formBuilder.group({}),this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.appConfig=this.data.appConfig||null,this.showDisableStepper=!!this.appConfig?.enable2FA,this.secretFormGroup=this.formBuilder.group({secret:[{value:this.appConfig?.enable2FA?"":this.generateSecret(),disabled:!0},qt.kI.required]})}generateSecret(){const T=ls.authenticator.generateSecret();return this.otpauth=ls.authenticator.keyuri("","Ride The Lightning (RTL)",T),T}onAuthenticate(){if(!this.passwordFormGroup.controls.password.value)return!0;this.flgValidated=!1,this.store.dispatch((0,Qt.QO)({payload:Mr(this.passwordFormGroup.controls.password.value).toString()})),this.rtlEffects.isAuthorizedRes.pipe((0,Ka.q)(1)).subscribe(T=>{"ERROR"!==T?(this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value),this.stepper.next()):(this.dialogRef.close(),this.snackBar.open("Unauthorized User. Logging out from RTL."))})}onCopySecret(T){this.snackBar.open("Secret code "+this.secretFormGroup.controls.secret.value+" copied.")}onVerifyToken(){if(this.appConfig?.enable2FA)this.store.dispatch((0,Qt.Uy)({payload:{secret2fa:""}})),this.generateSecret(),this.isTokenValid=!0;else{if(!this.tokenFormGroup.controls.token.value)return!0;if(this.isTokenValid=ls.authenticator.check(this.tokenFormGroup.controls.token.value,this.secretFormGroup.controls.secret.value),!this.isTokenValid)return this.tokenFormGroup.controls.token.setErrors({notValid:!0}),!0;this.store.dispatch((0,Qt.Uy)({payload:{secret2fa:this.secretFormGroup.controls.secret.value}})),this.tokenFormGroup.controls.token.setValue("")}this.flgValidated=!0,this.appConfig&&(this.appConfig.enable2FA=!this.appConfig?.enable2FA)}stepSelectionChanged(T){switch(T.selectedIndex){case 0:default:this.passwordFormLabel="Authenticate with your RTL password";break;case 1:case 2:this.passwordFormLabel="User authenticated successfully"}T.selectedIndex{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||k1)(t.Y36(Ma.so),t.Y36(Ma.WI),t.Y36(Hn.yh),t.Y36(qt.QS),t.Y36(Na.V),t.Y36(mo.ux))};static#t=this.\u0275cmp=t.Xpm({type:k1,selectors:[["rtl-two-factor-auth"]],viewQuery:function(x,V){if(1&x&&t.Gf(Dr,5),2&x){let me;t.iGM(me=t.CRH())&&(V.stepper=me.first)}},decls:28,vars:11,consts:[["fxLayout","row"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","15","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"mat-dialog-close"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","space-between",1,"my-1","pr-1",3,"formGroup"],["matStepLabel",""],["autoFocus","","matInput","","placeholder","Password","type","password","tabindex","1","formControlName","password","required",""],[4,"ngIf"],["fxLayout","row",1,"mt-2"],["mat-button","","color","primary","tabindex","3","type","button",3,"click"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center"],["mat-button","","color","primary","tabindex","12","type","button","default","",3,"mat-dialog-close"],["fxLayout","column",1,"my-1","pr-1",3,"formGroup"],["matStepLabel","","disabled","true"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start"],[3,"value","size","errorCorrectionLevel",4,"ngIf"],["fxFlex","100",1,"w-100","alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between stretch"],["autoFocus","","matInput","","placeholder","Secret Code","type","text","tabindex","4","formControlName","secret","required",""],["matSuffix","","rtlClipboard","",3,"icon","payload","copied"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","6","type","button","matStepperNext",""],[3,"value","size","errorCorrectionLevel"],[3,"stepControl"],["fxLayout","column","fxLayoutAlign","start",1,"my-1","pr-1",3,"formGroup"],["fxLayout","column",4,"ngIf"],["autoFocus","","matInput","","placeholder","Token","type","text","tabindex","7","formControlName","token","required",""],["mat-button","","color","primary","tabindex","8","type","button",3,"click"],["fxFlex","100",1,"w-100","alert","alert-warn"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Setup Two Factor Authentication"),t.qZA()(),t.TgZ(6,"button",5),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"div",7)(10,"mat-vertical-stepper",8,9),t.NdJ("selectionChange",function(tt){return V.stepSelectionChanged(tt)}),t.TgZ(12,"mat-step",10)(13,"form",11),t.YNc(14,lc,1,1,"ng-template",12),t.TgZ(15,"div",0)(16,"mat-form-field",1),t._UZ(17,"input",13),t.YNc(18,fl,2,0,"mat-error",14),t.qZA()(),t.TgZ(19,"div",15)(20,"button",16),t.NdJ("click",function(){return V.onAuthenticate()}),t._uU(21,"Confirm"),t.qZA()()()(),t.YNc(22,or,17,8,"mat-step",17),t.YNc(23,O1,5,4,"mat-step",18),t.YNc(24,O2,5,4,"mat-step",18),t.qZA(),t.TgZ(25,"div",19)(26,"button",20),t._uU(27),t.qZA()()()()()()),2&x&&(t.xp6(6),t.Q6J("mat-dialog-close",!1),t.xp6(4),t.Q6J("linear",!0),t.xp6(2),t.Q6J("stepControl",V.passwordFormGroup)("editable",V.flgEditable),t.xp6(1),t.Q6J("formGroup",V.passwordFormGroup),t.xp6(5),t.Q6J("ngIf",null==V.passwordFormGroup||null==V.passwordFormGroup.controls||null==V.passwordFormGroup.controls.password||null==V.passwordFormGroup.controls.password.errors?null:V.passwordFormGroup.controls.password.errors.required),t.xp6(4),t.Q6J("ngIf",!V.showDisableStepper),t.xp6(1),t.Q6J("ngIf",!V.showDisableStepper),t.xp6(1),t.Q6J("ngIf",V.showDisableStepper),t.xp6(2),t.Q6J("mat-dialog-close",!1),t.xp6(1),t.Oqu(V.flgValidated&&V.isTokenValid?"Close":"Cancel"))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.sg,qt.u,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ma.ZT,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Sn.R9,Er.Nt,bs.C0,bs.VY,bs.Vq,bs.Ic,go.uU,hl.y,Si.h]})}var Qo=m(5986),io=m(1528);const vl=["authForm"];function dc(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Current password is required."),t.qZA())}function R1(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.errorMsg)}}function Gc(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.errorConfirmMsg)}}function ao(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",10,11)(2,"div",12),t._UZ(3,"fa-icon",4),t.TgZ(4,"span",5),t._uU(5,"Password"),t.qZA()(),t.TgZ(6,"mat-form-field")(7,"input",13),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.currPassword=me)}),t.qZA(),t.YNc(8,dc,2,0,"mat-error",14),t.qZA(),t.TgZ(9,"mat-form-field")(10,"input",15),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.newPassword=me)}),t.qZA(),t.YNc(11,R1,2,1,"mat-error",14),t.qZA(),t.TgZ(12,"mat-form-field")(13,"input",16),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.confirmPassword=me)}),t.qZA(),t.YNc(14,Gc,2,1,"mat-error",14),t.qZA(),t.TgZ(15,"div",17)(16,"button",18),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onResetPassword())}),t._uU(17,"Reset"),t.qZA(),t.TgZ(18,"button",19),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onChangePassword())}),t._uU(19,"Change Password"),t.qZA()(),t.TgZ(20,"div",20),t._UZ(21,"mat-divider",21),t.qZA()()}if(2&K){const x=t.oxw();t.xp6(3),t.Q6J("icon",x.faLock),t.xp6(4),t.Q6J("ngModel",x.currPassword),t.xp6(1),t.Q6J("ngIf",!x.currPassword),t.xp6(2),t.Q6J("ngModel",x.newPassword),t.xp6(1),t.Q6J("ngIf",x.matchOldAndNewPasswords()),t.xp6(2),t.Q6J("ngModel",x.confirmPassword),t.xp6(1),t.Q6J("ngIf",x.matchNewPasswords()),t.xp6(7),t.Q6J("inset",!0)}}class Eo{constructor(T,x,V,me,tt){this.logger=T,this.store=x,this.actions=V,this.router=me,this.sessionService=tt,this.faInfoCircle=he.sqG,this.faUserLock=he.FJU,this.faUserClock=he.hnx,this.faLock=he.byT,this.currPassword="",this.newPassword="",this.confirmPassword="",this.errorMsg="",this.errorConfirmMsg="",this.initializeNodeData=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.initializeNodeData="true"===this.sessionService.getItem("defaultPassword"),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.appConfig=T,this.logger.info(this.appConfig)}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.selNode=T}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(T=>T.type===Qe.pg.RESET_PASSWORD_RES)).subscribe(T=>{if(Qe.kO.includes(this.currPassword.toLowerCase()))switch(this.selNode.lnImplementation?.toUpperCase()){case"CLN":this.router.navigate(["/cln/home"]);break;case"ECL":this.router.navigate(["/ecl/home"]);break;default:this.router.navigate(["/lnd/home"])}this.form&&this.form.resetForm()})}onChangePassword(){if(!this.currPassword||!this.newPassword||!this.confirmPassword||this.currPassword===this.newPassword||this.newPassword!==this.confirmPassword||Qe.kO.includes(this.newPassword.toLowerCase()))return!0;this.store.dispatch((0,Qt.c0)({payload:{currPassword:Mr(this.currPassword).toString(),newPassword:Mr(this.newPassword).toString()}}))}matchOldAndNewPasswords(){let T=!1;return this.form&&this.form.controls&&this.form.controls.newpassword&&(this.newPassword?""!==this.currPassword&&""!==this.newPassword&&this.currPassword===this.newPassword?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg="Old and New password cannot be same.",T=!0):Qe.kO.includes(this.newPassword.toLowerCase())?(this.form.controls.newpassword.setErrors({invalid:!0}),this.errorMsg=Qe.kO?.reduce((x,V,me)=>me{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Eo)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(Ne.F0),t.Y36(Qo.m))};static#t=this.\u0275cmp=t.Xpm({type:Eo,selectors:[["rtl-auth-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(vl,5),2&x){let me;t.iGM(me=t.CRH())&&(V.form=me.first)}},decls:14,vars:4,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","page-sub-title-container mt-1",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],[1,"mb-1","settings-container","page-sub-title-container","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[1,"alert","alert-info"],[1,"mt-1","mr-1","alert-icon",3,"icon"],[1,"mt-1"],["mat-flat-button","","color","primary","tabindex","6",1,"mb-2",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["authForm","ngForm"],["fxLayout","row","fxLayoutAlign","start start",1,"mb-2"],["autoFocus","","matInput","","placeholder","Current Password","type","password","id","currpassword","name","currpassword","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["matInput","","placeholder","New Password","type","password","id","newpassword","name","newpassword","tabindex","2","required","",3,"ngModel","ngModelChange"],["matInput","","placeholder","Confirm New Password","type","password","id","confirmpassword","name","confirmpassword","tabindex","3","required","",3,"ngModel","ngModelChange"],["fxLayout","row","fxLayoutAlign","start start",1,"mt-1"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","5","type","submit",3,"click"],["fxLayout","column","fxFlex","100","fxLayoutAlign","end stretch",1,"my-2"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.YNc(1,ao,22,8,"form",1),t.TgZ(2,"div",2)(3,"div",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6,"Two Factor Authentication"),t.qZA()(),t.TgZ(7,"div",6),t._UZ(8,"fa-icon",7),t.TgZ(9,"span"),t._uU(10,"Protect your account from unauthorized access by requiring a second authentication method in addition to your password."),t.qZA()(),t.TgZ(11,"div",8)(12,"button",9),t.NdJ("click",function(){return V.on2FAuth()}),t._uU(13),t.qZA()()()()),2&x&&(t.xp6(1),t.Q6J("ngIf",null==V.appConfig?null:V.appConfig.allowPasswordUpdate),t.xp6(3),t.Q6J("icon",V.faUserClock),t.xp6(4),t.Q6J("icon",V.faInfoCircle),t.xp6(5),t.Oqu(V.appConfig.enable2FA?"Disable 2FA":"Enable 2FA"))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Er.Nt,io.d,Si.h]})}var jo=m(6517);function Nr(K,T){1&K&&t._UZ(0,"mat-divider",7)}function Ar(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"pre",5),t._uU(2),t.ALo(3,"json"),t.qZA(),t.YNc(4,Nr,1,0,"mat-divider",6),t.qZA()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(t.lcZ(3,2,x.configData)),t.xp6(2),t.Q6J("ngIf",""!==x.configData)}}function P2(K,T){if(1&K&&(t.TgZ(0,"h2"),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function yl(K,T){if(1&K&&(t.TgZ(0,"h4",14),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function Bo(K,T){1&K&&t._UZ(0,"mat-divider",15),2&K&&t.Q6J("inset",!0)}function ro(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-card-subtitle",7),t.YNc(2,P2,2,1,"h2",10),t.qZA(),t.TgZ(3,"mat-card-subtitle",11),t.YNc(4,yl,2,1,"h4",12),t.qZA(),t.YNc(5,Bo,1,1,"mat-divider",13),t.qZA()),2&K){const x=T.$implicit;t.xp6(2),t.Q6J("ngIf",x.indexOf("[")>=0),t.xp6(2),t.Q6J("ngIf",x.indexOf("[")<0),t.xp6(1),t.Q6J("ngIf",x.indexOf("[")<0)}}function Rs(K,T){if(1&K&&(t.TgZ(0,"div",8)(1,"mat-list"),t.YNc(2,ro,6,3,"mat-list-item",9),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Q6J("ngForOf",x.configData)}}class cs{constructor(T,x,V){this.store=T,this.rtlEffects=x,this.router=V,this.configData="",this.fileFormat="INI",this.faCog=he.b7W,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.dispatch((0,Qt.Q2)({payload:"bitcoind"})),this.rtlEffects.showLnConfig.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{const x=T.data;this.fileFormat=T.format,""===x||!x||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==x&&x&&"JSON"===this.fileFormat?this.configData=x:this.configData="":this.configData=x.split("\n")})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||cs)(t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:cs,selectors:[["rtl-bitcoin-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,Ar,5,4,"div",2),t.YNc(3,Rs,3,1,"div",3),t.qZA()()),2&x&&(t.xp6(2),t.Q6J("ngIf",""!==V.configData&&"JSON"===V.fileFormat),t.xp6(1),t.Q6J("ngIf",""!==V.configData&&("INI"===V.fileFormat||"HOCON"===V.fileFormat)))},dependencies:[si.sg,si.O5,Vt.xw,Vt.Wh,Vt.yH,fn.$j,jo.i$,jo.Tg,io.d,si.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}function Zc(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}class Do{constructor(T,x,V){this.dialogRef=T,this.store=x,this.rtlEffects=V,this.password="",this.isAuthenticated=!1,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.rtlEffects.isAuthorizedRes.pipe((0,Ka.q)(1)).subscribe(T=>{"ERROR"!==T?(this.isAuthenticated=!0,this.store.dispatch((0,Qt.M6)({payload:this.isAuthenticated}))):this.isAuthenticated=!1})}onAuthenticate(){if(!this.password)return!0;this.store.dispatch((0,Qt.QO)({payload:Mr(this.password)}))}onClose(){this.store.dispatch((0,Qt.M6)({payload:this.isAuthenticated}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Do)(t.Y36(Ma.so),t.Y36(Hn.yh),t.Y36(Na.V))};static#t=this.\u0275cmp=t.Xpm({type:Do,selectors:[["rtl-is-authorized"]],decls:16,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["autoFocus","","matInput","","placeholder","Password","type","password","id","password","name","password","tabindex","1","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-button","","color","primary","tabindex","2","type","submit","default","",3,"click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Authenticate with your RTL Password"),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return V.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"form",7)(10,"mat-form-field")(11,"input",8),t.NdJ("ngModelChange",function(tt){return V.password=tt}),t.qZA(),t.YNc(12,Zc,2,0,"mat-error",9),t.qZA(),t.TgZ(13,"div",10)(14,"button",11),t.NdJ("click",function(){return V.onAuthenticate()}),t._uU(15,"Confirm"),t.qZA()()()()()()),2&x&&(t.xp6(11),t.Q6J("ngModel",V.password),t.xp6(1),t.Q6J("ngIf",!V.password))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Er.Nt,Si.h]})}const qo=function(){return{initial:!1}};function B1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link)("state",t.DdM(4,qo)),t.xp6(1),t.Oqu(x.links[2].name)}}function va(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[3].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[3].link),t.Q6J("active",x.activeLink===x.links[3].link),t.xp6(1),t.Oqu(x.links[3].name)}}function vu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",13),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.showLnConfigClicked())}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.Q6J("active",x.activeLink===x.links[4].link),t.xp6(1),t.Oqu(x.links[4].name)}}class Yc{constructor(T,x,V,me){this.store=T,this.router=x,this.rtlEffects=V,this.activatedRoute=me,this.faTools=he.CgH,this.showLnConfig=!1,this.lnImplementationStr="",this.links=[{link:"nodesettings",name:"Node Settings"},{link:"pglayout",name:"Page Layout"},{link:"services",name:"Services"},{link:"experimental",name:"Experimental"},{link:"lnconfig",name:this.lnImplementationStr}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(me=>x.urlAfterRedirects.includes(me.link));this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{switch(this.showLnConfig=!1,this.selNode=x,this.selNode.lnImplementation?.toUpperCase()){case"CLN":this.lnImplementationStr="Core Lightning Config";break;case"ECL":this.lnImplementationStr="Eclair Config";break;default:this.lnImplementationStr="LND Config"}this.selNode.authentication&&this.selNode.authentication.configPath&&""!==this.selNode.authentication.configPath.trim()&&(this.links[4].name=this.lnImplementationStr,this.showLnConfig=!0)})}showLnConfigClicked(){this.store.dispatch((0,Qt.qR)({payload:{maxWidth:"50rem",data:{component:Do}}})),this.rtlEffects.closeAlert.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{T&&(this.activeLink=this.links[4].link,this.router.navigate(["./"+this.activeLink],{relativeTo:this.activatedRoute}))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Yc)(t.Y36(Hn.yh),t.Y36(Ne.F0),t.Y36(Na.V),t.Y36(Ne.gz))};static#t=this.\u0275cmp=t.Xpm({type:Yc,selectors:[["rtl-node-config"]],decls:19,vars:11,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper","mb-2"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Node Config"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5)(8,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[0].link}),t._uU(9),t.qZA(),t.TgZ(10,"div",6),t.NdJ("click",function(){return V.activeLink=V.links[1].link}),t._uU(11),t.qZA(),t.YNc(12,B1,2,5,"div",7),t.YNc(13,va,2,3,"div",8),t.YNc(14,vu,2,2,"div",9),t.qZA(),t._UZ(15,"mat-tab-nav-panel",null,10),t.TgZ(17,"div",11),t._UZ(18,"router-outlet"),t.qZA()()()()),2&x){const me=t.MAs(16);t.xp6(1),t.Q6J("icon",V.faTools),t.xp6(6),t.Q6J("tabPanel",me),t.xp6(1),t.s9C("routerLink",V.links[0].link),t.Q6J("active",V.activeLink===V.links[0].link),t.xp6(1),t.Oqu(V.links[0].name),t.xp6(1),t.s9C("routerLink",V.links[1].link),t.Q6J("active",V.activeLink===V.links[1].link),t.xp6(1),t.Oqu(V.links[1].name),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","CLN"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf",V.showLnConfig)}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}function Te(K,T){1&K&&t._UZ(0,"mat-divider",7)}function ie(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"pre",5),t._uU(2),t.ALo(3,"json"),t.qZA(),t.YNc(4,Te,1,0,"mat-divider",6),t.qZA()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(t.lcZ(3,2,x.configData)),t.xp6(2),t.Q6J("ngIf",""!==x.configData)}}function Ee(K,T){if(1&K&&(t.TgZ(0,"h2"),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function qe(K,T){if(1&K&&(t.TgZ(0,"h4",14),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x)}}function at(K,T){1&K&&t._UZ(0,"mat-divider",15),2&K&&t.Q6J("inset",!0)}function mt(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-card-subtitle",7),t.YNc(2,Ee,2,1,"h2",10),t.qZA(),t.TgZ(3,"mat-card-subtitle",11),t.YNc(4,qe,2,1,"h4",12),t.qZA(),t.YNc(5,at,1,1,"mat-divider",13),t.qZA()),2&K){const x=T.$implicit;t.xp6(2),t.Q6J("ngIf",x.indexOf("[")>=0),t.xp6(2),t.Q6J("ngIf",x.indexOf("[")<0),t.xp6(1),t.Q6J("ngIf",x.indexOf("[")<0)}}function Wt(K,T){if(1&K&&(t.TgZ(0,"div",8)(1,"mat-list"),t.YNc(2,mt,6,3,"mat-list-item",9),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Q6J("ngForOf",x.configData)}}class mn{constructor(T,x,V){this.store=T,this.rtlEffects=x,this.router=V,this.configData="",this.fileFormat="INI",this.faCog=he.b7W,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.dispatch((0,Qt.Q2)({payload:"ln"})),this.rtlEffects.showLnConfig.pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{const x=T.data;this.fileFormat=T.format,""===x||!x||"INI"!==this.fileFormat&&"HOCON"!==this.fileFormat?""!==x&&x&&"JSON"===this.fileFormat?this.configData=x:this.configData="":this.configData=x.split("\n")})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||mn)(t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:mn,selectors:[["rtl-lnp-config"]],decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start"],["fxFlex","100","class","mb-6",4,"ngIf"],["fxFlex","100",4,"ngIf"],["fxFlex","100",1,"mb-6"],[1,"pre-wrap"],["class","my-1",4,"ngIf"],[1,"my-1"],["fxFlex","100"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"m-0"],["class","ml-4",4,"ngIf"],[3,"inset",4,"ngIf"],[1,"ml-4"],[3,"inset"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,ie,5,4,"div",2),t.YNc(3,Wt,3,1,"div",3),t.qZA()()),2&x&&(t.xp6(2),t.Q6J("ngIf",""!==V.configData&&"JSON"===V.fileFormat),t.xp6(1),t.Q6J("ngIf",""!==V.configData&&("INI"===V.fileFormat||"HOCON"===V.fileFormat)))},dependencies:[si.sg,si.O5,Vt.xw,Vt.Wh,Vt.yH,fn.$j,jo.i$,jo.Tg,io.d,si.Ts],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}var Dn=m(2994),Rn=m(429),di=m(6523),ta=m(62),Ea=m(3704),zi=m(3012),Fr=m(2922),so=m(4714);function ds(K,T){if(1&K&&(t.TgZ(0,"mat-option",35),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.id),t.xp6(1),t.hij(" ",x.id," ")}}function Us(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Currency unit is required."),t.qZA())}function xs(K,T){if(1&K&&(t.TgZ(0,"mat-radio-button",36),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x)("checked",V.selNode.settings.userPersona===x),t.xp6(1),t.hij(" ",t.lcZ(2,3,x)," ")}}function No(K,T){if(1&K&&(t.TgZ(0,"mat-radio-button",37),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij("",x.name," ")}}const uc=function(K){return{skin:!0,"selected-color":K}};function yu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"span",38)(1,"div",39),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.changeThemeColor(tt.id))}),t.ALo(2,"lowercase"),t.qZA(),t._uU(3),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Tol(t.lcZ(2,4,x.id)),t.Q6J("ngClass",t.VKq(6,uc,V.selectedThemeColor===x.id)),t.xp6(2),t.hij(" ",x.name," ")}}class k2{constructor(T,x,V){this.logger=T,this.commonService=x,this.store=V,this.faExclamationTriangle=he.eHv,this.faMoneyBillAlt=he.co4,this.faPaintBrush=he.XsY,this.faInfoCircle=he.sqG,this.faEyeSlash=he.Aq,this.userPersonas=[Qe.ol.OPERATOR,Qe.ol.MERCHANT],this.currencyUnits=Qe.Er,this.themeModes=Qe.wZ.modes,this.themeColors=Qe.wZ.themes,this.selectedThemeMode=Qe.wZ.modes[0],this.selectedThemeColor=Qe.wZ.themes[0].id,this.currencyUnit="BTC",this.smallerCurrencyUnit="Sats",this.showSettingOption=!0,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.selectedThemeMode=this.themeModes.find(x=>this.selNode.settings.themeMode===x.id)||this.themeModes[0],this.selectedThemeColor=this.selNode.settings.themeColor,this.selNode.settings.fiatConversion||(this.selNode.settings.currencyUnit=""),this.previousSettings=JSON.parse(JSON.stringify(this.selNode.settings)),this.logger.info(T)})}onCurrencyChange(T){this.selNode.settings.currencyUnits=[...Qe.uA,T.value],this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:T.value,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}}))}toggleSettings(T,x){this.selNode.settings[T]=!this.selNode.settings[T]}changeThemeColor(T){this.selectedThemeColor=T,this.selNode.settings.themeColor=T}chooseThemeMode(){this.selNode.settings.themeMode=this.selectedThemeMode.id}onUpdateSettings(){if(this.selNode.settings.fiatConversion&&!this.selNode.settings.currencyUnit)return!0;this.logger.info(this.selNode.settings),this.store.dispatch((0,Qt.zQ)({payload:{uiMessage:Qe.m6.UPDATE_NODE_SETTINGS,settings:this.selNode.settings}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl}}))}onResetSettings(){const T=this.selNode.index||-1;this.selNode.settings=this.previousSettings,this.selectedThemeMode=this.themeModes.find(x=>x.id===this.previousSettings.themeMode)||this.themeModes[0],this.selectedThemeColor=this.previousSettings.themeColor,this.store.dispatch((0,Qt.fk)({payload:{uiMessage:Qe.m6.NO_SPINNER,prevLnNodeIndex:+T,currentLnNode:this.selNode,isInitialSetup:!0}}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||k2)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:k2,selectors:[["rtl-node-settings"]],decls:76,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container"],["form","ngForm"],["displayMode","flat","multi","false"],["fxLayout","column",1,"flat-expansion-panel","mt-1"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","start stretch"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","row wrap","fxLayoutAlign","start center"],["tabindex","1","color","primary","name","unannouncedChannels",3,"ngModel","ngModelChange","change"],["fxFlex","100",1,"alert","alert-warn"],["href","https://www.blockchain.com/api/exchange_rates_api","target","blank"],["tabindex","2","color","primary","name","fiatConversion",3,"ngModel","ngModelChange","change"],["autoFocus","","placeholder","Fiat Currency","tabindex","3","name","currencyUnit",3,"disabled","required","ngModel","ngModelChange","selectionChange"],["currencyUnit","ngModel"],[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["fxLayout","row","fxFlex","100",1,"alert","alert-info","mb-0"],["fxLayout","column","fxLayoutAlign","start start","fxFlex","100"],["color","primary","tabindex","1","name","userPersona",1,"radio-group",3,"ngModel","ngModelChange"],["class","mr-4",3,"value","checked",4,"ngFor","ngForOf"],[1,"mt-1"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],["color","primary","name","themeMode",1,"radio-group",3,"ngModel","ngModelChange","change"],["tabindex","5","class","mr-4",3,"value",4,"ngFor","ngForOf"],["fxLayout","column","fxLayout.gt-xs","row","fxFlex","100","fxLayoutAlign","space-between stretch","fxLayoutAlign.gt-xs","start stretch"],["fxLayout","column","fxFlex.gt-xs","50","fxFlex.gt-md","40","fxLayoutAlign","space-between stretch"],["fxLayout","row","fxFlex","100","fxLayoutAlign","space-between start"],["fxLayout","row","class","theme-name",4,"ngFor","ngForOf"],["fxLayout","column","fxLayoutAlign","start start",1,"mt-1"],["fxLayout","row"],["mat-stroked-button","","color","primary","tabindex","10",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","11",3,"click"],[3,"value"],[1,"mr-4",3,"value","checked"],["tabindex","5",1,"mr-4",3,"value"],["fxLayout","row",1,"theme-name"],["tabindex","9",3,"ngClass","click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"form",1,2)(3,"mat-accordion",3)(4,"mat-expansion-panel",4)(5,"mat-expansion-panel-header")(6,"mat-panel-title"),t._UZ(7,"fa-icon",5),t.TgZ(8,"span",6),t._uU(9,"Open Unannounced Channels"),t.qZA()()(),t.TgZ(10,"div",7)(11,"div",8),t._UZ(12,"fa-icon",9),t.TgZ(13,"span"),t._uU(14,"Use this control to toggle setting which defaults to opening unannounced channels only."),t.qZA()(),t.TgZ(15,"div",10)(16,"mat-slide-toggle",11),t.NdJ("ngModelChange",function(tt){return V.selNode.settings.unannouncedChannels=tt})("change",function(tt){return V.selNode.settings.unannouncedChannels=tt.checked?V.selNode.settings.unannouncedChannels:null}),t._uU(17,"Open Unannounced Channels"),t.qZA()()()(),t.TgZ(18,"mat-expansion-panel",4)(19,"mat-expansion-panel-header")(20,"mat-panel-title"),t._UZ(21,"fa-icon",5),t.TgZ(22,"span",6),t._uU(23,"Balance Display"),t.qZA()()(),t.TgZ(24,"div",7)(25,"div",12),t._UZ(26,"fa-icon",9),t.TgZ(27,"span"),t._uU(28,"Fiat conversion calls "),t.TgZ(29,"strong")(30,"a",13),t._uU(31,"Blockchain.com"),t.qZA()(),t._uU(32," API to get conversion rates."),t.qZA()(),t.TgZ(33,"div",10)(34,"mat-slide-toggle",14),t.NdJ("ngModelChange",function(tt){return V.selNode.settings.fiatConversion=tt})("change",function(tt){return V.selNode.settings.currencyUnit=tt.checked?V.selNode.settings.currencyUnit:null}),t._uU(35,"Enable Fiat Conversion"),t.qZA(),t.TgZ(36,"mat-form-field")(37,"mat-select",15,16),t.NdJ("ngModelChange",function(tt){return V.selNode.settings.currencyUnit=tt})("selectionChange",function(tt){return V.onCurrencyChange(tt)}),t.YNc(39,ds,2,2,"mat-option",17),t.qZA(),t.YNc(40,Us,2,0,"mat-error",18),t.qZA()()()(),t.TgZ(41,"mat-expansion-panel",4)(42,"mat-expansion-panel-header")(43,"mat-panel-title"),t._UZ(44,"fa-icon",5),t.TgZ(45,"span",6),t._uU(46,"Customization"),t.qZA()()(),t.TgZ(47,"div",7)(48,"div",19),t._UZ(49,"fa-icon",9),t.TgZ(50,"span"),t._uU(51,"Dashboard layout will be tailored based on the role selected to better serve its needs."),t.qZA()(),t.TgZ(52,"div",20)(53,"h4"),t._uU(54,"Dashboard Layout"),t.qZA(),t.TgZ(55,"mat-radio-group",21),t.NdJ("ngModelChange",function(tt){return V.selNode.settings.userPersona=tt}),t.YNc(56,xs,3,5,"mat-radio-button",22),t.qZA()(),t._UZ(57,"mat-divider",23),t.TgZ(58,"div",24)(59,"h4"),t._uU(60,"Mode"),t.qZA(),t.TgZ(61,"mat-radio-group",25),t.NdJ("ngModelChange",function(tt){return V.selectedThemeMode=tt})("change",function(){return V.chooseThemeMode()}),t.YNc(62,No,2,2,"mat-radio-button",26),t.qZA()(),t._UZ(63,"mat-divider",23),t.TgZ(64,"div",27)(65,"div",28)(66,"h4"),t._uU(67,"Themes"),t.qZA(),t.TgZ(68,"div",29),t.YNc(69,yu,4,8,"span",30),t.qZA()()()()()()(),t.TgZ(70,"div",31)(71,"div",32)(72,"button",33),t.NdJ("click",function(){return V.onResetSettings()}),t._uU(73,"Reset"),t.qZA(),t.TgZ(74,"button",34),t.NdJ("click",function(){return V.onUpdateSettings()}),t._uU(75,"Update"),t.qZA()()()()),2&x&&(t.xp6(7),t.Q6J("icon",V.faEyeSlash),t.xp6(5),t.Q6J("icon",V.faInfoCircle),t.xp6(4),t.Q6J("ngModel",V.selNode.settings.unannouncedChannels),t.xp6(5),t.Q6J("icon",V.faMoneyBillAlt),t.xp6(5),t.Q6J("icon",V.faExclamationTriangle),t.xp6(8),t.Q6J("ngModel",V.selNode.settings.fiatConversion),t.xp6(3),t.Q6J("disabled",!V.selNode.settings.fiatConversion)("required",V.selNode.settings.fiatConversion)("ngModel",V.selNode.settings.currencyUnit),t.xp6(2),t.Q6J("ngForOf",V.currencyUnits),t.xp6(1),t.Q6J("ngIf",V.selNode.settings.fiatConversion&&!V.selNode.settings.currencyUnit),t.xp6(4),t.Q6J("icon",V.faPaintBrush),t.xp6(5),t.Q6J("icon",V.faInfoCircle),t.xp6(6),t.Q6J("ngModel",V.selNode.settings.userPersona),t.xp6(1),t.Q6J("ngForOf",V.userPersonas),t.xp6(5),t.Q6J("ngModel",V.selectedThemeMode),t.xp6(1),t.Q6J("ngForOf",V.themeModes),t.xp6(7),t.Q6J("ngForOf",V.themeColors))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Sn.TO,Sn.KE,io.d,Fr.VQ,Fr.U0,Jn.gD,oi.ey,so.Rr,xi.$V,Si.h,si.i8,si.rS],styles:["h4[_ngcontent-%COMP%]{margin:1.2rem 0 .6rem}.theme-name[_ngcontent-%COMP%]{min-width:15rem}.skin[_ngcontent-%COMP%]{width:2rem;height:2rem;border-radius:50%;cursor:pointer;margin-right:1rem}.skin.selected-color[_ngcontent-%COMP%]{width:1.75rem;height:1.75rem;border:.25rem solid}.skin.purple[_ngcontent-%COMP%]{background-color:#5e4ea5}.skin.indigo[_ngcontent-%COMP%]{background-color:#3f51b5}.skin.teal[_ngcontent-%COMP%]{background-color:#00695c}.skin.pink[_ngcontent-%COMP%]{background-color:#d81b60}.skin.yellow[_ngcontent-%COMP%]{background-color:#a1842c}.radio-group.mat-radio-group[_ngcontent-%COMP%] .mat-radio-button[_ngcontent-%COMP%]{min-width:11rem}.mat-slide-toggle[_ngcontent-%COMP%]{padding:0 1.4rem 0 .4rem}.mat-flat-button[_ngcontent-%COMP%]{width:100%;max-height:3.6rem}"]})}var Qc=m(538),Cs=m(9828),Nl=m(6529),lr=m(2501),Fl=m(7822),R2=m(6896),$d=m(9445);const e0=function(K){return{error:K}};function Hl(K,T){if(1&K&&t.GkF(0,14),2&K){const x=t.oxw(),V=t.MAs(18);t.Q6J("ngTemplateOutlet",V)("ngTemplateOutletContext",t.VKq(2,e0,x.errorMessage))}}function K4(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ",x," ")}}function bu(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw(3);t.Q6J("value",x),t.xp6(1),t.hij(" ","ECL"===V.selNode.lnImplementation?t.lcZ(2,2,x):t.xi3(3,4,x,"_")," ")}}function xu(K,T){if(1&K&&(t.TgZ(0,"mat-option",30),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ","desc"===x?"Descending":"Ascending"," ")}}function Cu(K,T){if(1&K&&(t.TgZ(0,"mat-option",33),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw(2).$implicit,me=t.oxw(2);t.Q6J("value",x.column)("disabled",V.columnSelection.length<=2&&V.columnSelection.includes(x.column)),t.xp6(1),t.hij(" ",x.label?x.label:"ECL"===me.selNode.lnImplementation?t.lcZ(2,3,x.column):t.xi3(3,5,x.column,"_")," ")}}function N1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-form-field",31)(1,"mat-select",32),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw().$implicit;return t.KtG(tt.columnSelection=me)})("selectionChange",function(){t.CHM(x);const me=t.oxw().$implicit,tt=t.oxw(2);return t.KtG(tt.oncolumnSelectionChange(me))}),t.YNc(2,Cu,4,8,"mat-option",27),t.qZA()()}if(2&K){const x=t.oxw().$implicit,V=t.oxw().$implicit,me=t.oxw();t.xp6(1),t.hYB("name","",V.pageId,"",x.tableId,"-columns-selection"),t.Q6J("ngModel",x.columnSelection),t.xp6(1),t.Q6J("ngForOf",me.nodePageDefs[V.pageId][x.tableId].allowedColumns)}}function jc(K,T){if(1&K&&(t.TgZ(0,"mat-option",33),t._uU(1),t.ALo(2,"camelCaseWithSpaces"),t.ALo(3,"camelcaseWithReplace"),t.qZA()),2&K){const x=T.$implicit,V=t.oxw().$implicit,me=t.oxw(2);t.Q6J("value",x.column)("disabled",V.columnSelectionSM.length<=1&&V.columnSelectionSM.includes(x.column)||V.columnSelectionSM.length>=3&&!V.columnSelectionSM.includes(x.column)),t.xp6(1),t.hij(" ",x.label?x.label:"ECL"===me.selNode.lnImplementation?t.lcZ(2,3,x.column):t.xi3(3,5,x.column,"_")," ")}}const B2=function(K){return{"ml-minus-1":K}};function qc(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",17)(1,"div",18)(2,"span",19),t._uU(3),t.ALo(4,"camelcaseWithReplace"),t.qZA(),t.TgZ(5,"mat-form-field",19)(6,"mat-select",20),t.NdJ("ngModelChange",function(me){const kt=t.CHM(x).$implicit;return t.KtG(kt.recordsPerPage=me)}),t.YNc(7,K4,2,2,"mat-option",21),t.qZA()(),t.TgZ(8,"mat-form-field",19)(9,"mat-select",22),t.NdJ("ngModelChange",function(me){const kt=t.CHM(x).$implicit;return t.KtG(kt.sortBy=me)}),t.YNc(10,bu,4,7,"mat-option",21),t.qZA()(),t.TgZ(11,"mat-form-field",19)(12,"mat-select",23),t.NdJ("ngModelChange",function(me){const kt=t.CHM(x).$implicit;return t.KtG(kt.sortOrder=me)}),t.YNc(13,xu,2,2,"mat-option",21),t.qZA()(),t.YNc(14,N1,3,4,"mat-form-field",24),t.TgZ(15,"mat-form-field",25)(16,"mat-select",26),t.NdJ("ngModelChange",function(me){const kt=t.CHM(x).$implicit;return t.KtG(kt.columnSelectionSM=me)}),t.YNc(17,jc,4,8,"mat-option",27),t.qZA()(),t.TgZ(18,"button",28),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw().$implicit,jt=t.oxw();return t.KtG(jt.onTableReset(kt.pageId,tt))}),t.TgZ(19,"mat-icon",29),t._uU(20,"restore"),t.qZA()()()()}if(2&K){const x=T.$implicit,V=t.oxw().$implicit,me=t.oxw();t.xp6(3),t.hij("",t.xi3(4,20,x.tableId,"_"),":"),t.xp6(3),t.hYB("name","",V.pageId,"",x.tableId,"-page-size-options"),t.Q6J("disabled",me.nodePageDefs[V.pageId][x.tableId].disablePageSize)("ngModel",x.recordsPerPage),t.xp6(1),t.Q6J("ngForOf",me.pageSizeOptions),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-sort-by"),t.Q6J("ngModel",x.sortBy),t.xp6(1),t.Q6J("ngForOf",x.columnSelection),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-sort-order"),t.Q6J("ngModel",x.sortOrder),t.xp6(1),t.Q6J("ngForOf",me.sortOrders),t.xp6(1),t.Q6J("ngIf",me.screenSize!==me.screenSizeEnum.XS),t.xp6(2),t.hYB("name","",V.pageId,"",x.tableId,"-columns-selection-sm"),t.Q6J("ngModel",x.columnSelectionSM),t.xp6(1),t.Q6J("ngForOf",me.nodePageDefs[V.pageId][x.tableId].allowedColumns),t.xp6(2),t.Q6J("ngClass",t.VKq(23,B2,me.screenSize===me.screenSizeEnum.XS||me.screenSize===me.screenSizeEnum.SM))}}function bl(K,T){if(1&K&&t.GkF(0,14),2&K){const x=t.oxw(2),V=t.MAs(18);t.Q6J("ngTemplateOutlet",V)("ngTemplateOutletContext",t.VKq(2,e0,x.errorMessage))}}const d3=function(K){return{"error-border":K}};function zl(K,T){if(1&K&&(t.TgZ(0,"mat-expansion-panel",15)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),t._uU(3),t.ALo(4,"camelcaseWithReplace"),t.qZA()(),t.YNc(5,qc,21,25,"div",16),t.YNc(6,bl,1,4,"ng-container",6),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("ngClass",t.VKq(7,d3,(null==V.errorMessage?null:V.errorMessage.page)===x.pageId)),t.xp6(3),t.Oqu(t.xi3(4,4,x.pageId,"_")),t.xp6(2),t.Q6J("ngForOf",x.tables),t.xp6(1),t.Q6J("ngIf",V.errorMessage&&(null==V.errorMessage?null:V.errorMessage.page)===x.pageId)}}function Ul(K,T){if(1&K&&(t.TgZ(0,"mat-panel-title"),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=t.oxw().error;t.xp6(1),t.hij("Page ",t.lcZ(2,1,x.page),"")}}function hc(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-icon",37),t._uU(2,"close"),t.qZA(),t.TgZ(3,"span"),t._uU(4),t.qZA()()),2&K){const x=t.oxw().error;t.xp6(4),t.Oqu(x.message)}}function Mu(K,T){if(1&K&&(t.TgZ(0,"mat-list-item")(1,"mat-icon",37),t._uU(2,"close"),t.qZA(),t.TgZ(3,"span"),t._uU(4),t.ALo(5,"titlecase"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(4),t.AsE("Table ",t.lcZ(5,2,x.table)," ",x.message,"")}}const u3=function(K){return{"error-border p-2":K}};function Xc(K,T){if(1&K&&(t.TgZ(0,"div",29),t.YNc(1,Ul,3,3,"mat-panel-title",34),t.TgZ(2,"mat-list",35),t.YNc(3,hc,5,1,"mat-list-item",34),t.YNc(4,Mu,6,4,"mat-list-item",36),t.qZA()()),2&K){const x=T.error,V=t.oxw();t.Q6J("ngClass",t.VKq(4,u3,"unknown"===V.errorMessage.page)),t.xp6(1),t.Q6J("ngIf","unknown"===V.errorMessage.page),t.xp6(2),t.Q6J("ngIf",x.message),t.xp6(1),t.Q6J("ngForOf",x.tables)}}class xl{constructor(T,x,V,me){this.logger=T,this.commonService=x,this.store=V,this.actions=me,this.faPenRuler=he.SoD,this.faExclamationTriangle=he.eHv,this.screenSize="",this.screenSizeEnum=Qe.cu,this.pageSizeOptions=Qe.TJ,this.pageSettings=[],this.initialPageSettings=[],this.defaultSettings=[],this.nodePageDefs={},this.sortOrders=Qe.zZ,this.apiCallStatus=null,this.apiCallStatusEnum=Qe.Bn,this.errorMessage=null,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{switch(this.selNode=T,this.logger.info(this.selNode),this.selNode.lnImplementation){case"CLN":this.initialPageSettings=Object.assign([],Qe.gG),this.defaultSettings=Object.assign([],Qe.gG),this.nodePageDefs=Qe.At,this.store.select(Cs.AS).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(Cs.lw))).subscribe(([x,V])=>{const me=JSON.parse(JSON.stringify(x.pageSettings));if(this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR)this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=me,this.initialPageSettings=me;else{if(!V?.enableOffers){const tt=me.find(on=>"transactions"===on.pageId),kt=tt?.tables.findIndex(on=>"offers"===on.tableId),jt=tt?.tables.findIndex(on=>"offer_bookmarks"===on.tableId);kt>-1&&tt?.tables.splice(kt,1),jt>-1&&tt?.tables.splice(jt,1)}if(!V?.enablePeerswap){const tt=me.findIndex(kt=>"peerswap"===kt.pageId);tt>-1&&me.splice(tt,1)}this.pageSettings=me,this.initialPageSettings=me}this.logger.info(me)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.AB.UPDATE_API_CALL_STATUS_CLN||x.type===Qe.AB.SAVE_PAGE_SETTINGS_CLN)).subscribe(x=>{x.type===Qe.AB.UPDATE_API_CALL_STATUS_CLN&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))});break;case"ECL":this.initialPageSettings=Object.assign([],Qe.c3),this.defaultSettings=Object.assign([],Qe.c3),this.nodePageDefs=Qe.Xk,this.store.select(lr.nF).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(lr.LR))).subscribe(([x,V])=>{const me=JSON.parse(JSON.stringify(x.pageSettings));this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR?(this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=me,this.initialPageSettings=me):(this.pageSettings=me,this.initialPageSettings=me),this.logger.info(me)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.lr.UPDATE_API_CALL_STATUS_ECL||x.type===Qe.lr.SAVE_PAGE_SETTINGS_ECL)).subscribe(x=>{x.type===Qe.lr.UPDATE_API_CALL_STATUS_ECL&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))});break;default:this.initialPageSettings=Object.assign([],Qe.gK),this.defaultSettings=Object.assign([],Qe.gK),this.nodePageDefs=Qe.hG,this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[1]),(0,Qc.M)(this.store.select(Nl.$k))).subscribe(([x,V])=>{const me=JSON.parse(JSON.stringify(x.pageSettings));if(this.errorMessage=null,this.apiCallStatus=x.apiCallStatus,this.apiCallStatus.status===Qe.Bn.ERROR)this.errorMessage=this.apiCallStatus.message||null,this.pageSettings=me,this.initialPageSettings=me;else{if(!V?.swapServerUrl||""===V.swapServerUrl.trim()){const tt=me.findIndex(kt=>"loop"===kt.pageId);tt>-1&&me.splice(tt,1)}if(!V?.boltzServerUrl||""===V.boltzServerUrl.trim()){const tt=me.findIndex(kt=>"boltz"===kt.pageId);tt>-1&&me.splice(tt,1)}if(!V?.enablePeerswap){const tt=me.findIndex(kt=>"peerswap"===kt.pageId);tt>-1&&me.splice(tt,1)}this.pageSettings=me,this.initialPageSettings=me}this.logger.info(me)}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(x=>x.type===Qe.uR.UPDATE_API_CALL_STATUS_LND||x.type===Qe.uR.SAVE_PAGE_SETTINGS_LND)).subscribe(x=>{x.type===Qe.uR.UPDATE_API_CALL_STATUS_LND&&x.payload.status===Qe.Bn.ERROR&&"SavePageSettings"===x.payload.action&&(this.errorMessage=JSON.parse(x.payload.message))})}})}oncolumnSelectionChange(T){T.columnSelection&&(!T.sortBy||!T.columnSelection.includes(T.sortBy))&&(T.sortBy=T.columnSelection[0])}onUpdatePageSettings(){if(this.pageSettings.reduce((T,x)=>T||x.tables.reduce((V,me)=>!(me.recordsPerPage&&me.sortBy&&me.sortOrder&&me.columnSelection&&me.columnSelection.length>=2),!1),!1))return!0;switch(this.errorMessage="",this.selNode.lnImplementation){case"CLN":this.store.dispatch((0,Rn.eF)({payload:this.pageSettings}));break;case"ECL":this.store.dispatch((0,Dn.eF)({payload:this.pageSettings}));break;default:this.store.dispatch((0,di.eF)({payload:this.pageSettings}))}}onTableReset(T,x){const V=this.pageSettings.findIndex(kt=>kt.pageId===T),me=this.pageSettings[V].tables.findIndex(kt=>kt.tableId===x.tableId),tt=this.defaultSettings.find(kt=>kt.pageId===T)?.tables.find(kt=>kt.tableId===x.tableId)||this.pageSettings.find(kt=>kt.pageId===T)?.tables.find(kt=>kt.tableId===x.tableId);this.pageSettings[V].tables.splice(me,1,tt)}onResetPageSettings(T){"current"===T?(this.errorMessage=null,this.pageSettings=JSON.parse(JSON.stringify(this.initialPageSettings))):(this.errorMessage=null,this.pageSettings=JSON.parse(JSON.stringify(this.defaultSettings)))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||xl)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(vs.eX))};static#t=this.\u0275cmp=t.Xpm({type:xl,selectors:[["rtl-page-settings"]],decls:19,vars:3,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxLayout","column","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngIf"],["displayMode","flat","multi","false"],["fxLayout","column","class","flat-expansion-panel mt-1","expanded","false",3,"ngClass",4,"ngFor","ngForOf"],["fxLayout","row",1,"mt-1"],["mat-stroked-button","","color","primary","tabindex","8",1,"mr-1",3,"click"],["mat-stroked-button","","color","primary","tabindex","9",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","10",3,"click"],["errorObjectBlock",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["fxLayout","column","expanded","false",1,"flat-expansion-panel","mt-1",3,"ngClass"],["fxLayout","column","fxLayoutAlign","start stretch","class","padding-gap-x-large table-setting-row",4,"ngFor","ngForOf"],["fxLayout","column","fxLayoutAlign","start stretch",1,"padding-gap-x-large","table-setting-row"],["fxLayout","column","fxLayoutAlign","space-between stretch","fxLayout.gt-sm","row wrap","fxLayoutAlign.gt-sm","space-between center"],["fxFlex","10"],["placeholder","Records/Page","tabindex","2","required","",3,"disabled","name","ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf"],["placeholder","Sort By","tabindex","3","required","",3,"name","ngModel","ngModelChange"],["placeholder","Sort Order","tabindex","4","required","",3,"name","ngModel","ngModelChange"],["fxFlex","35","matTooltip","Select a minimum of 2 columns",4,"ngIf"],["fxFlex","15","matTooltip","Select between 1 and 3 columns"],["placeholder","Column Selection (Mobile Resolution)","tabindex","5","multiple","","required","",3,"name","ngModel","ngModelChange"],[3,"value","disabled",4,"ngFor","ngForOf"],["mat-icon-button","","color","primary","type","button","tabindex","7","matTooltip","Reset to Default",3,"click"],[3,"ngClass"],[3,"value"],["fxFlex","35","matTooltip","Select a minimum of 2 columns"],["placeholder","Column selection (Desktop Resolution)","tabindex","6","multiple","","required","",3,"name","ngModel","ngModelChange","selectionChange"],[3,"value","disabled"],[4,"ngIf"],["role","list"],[4,"ngFor","ngForOf"],[1,"ml-1","icon-small","red"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"form",1,2)(3,"div",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6,"Grid Settings"),t.qZA()(),t.YNc(7,Hl,1,4,"ng-container",6),t.TgZ(8,"mat-accordion",7),t.YNc(9,zl,7,9,"mat-expansion-panel",8),t.qZA()(),t.TgZ(10,"div",9)(11,"button",10),t.NdJ("click",function(){return V.onResetPageSettings("current")}),t._uU(12,"Reset"),t.qZA(),t.TgZ(13,"button",11),t.NdJ("click",function(){return V.onResetPageSettings("default")}),t._uU(14,"Reset to Default"),t.qZA(),t.TgZ(15,"button",12),t.NdJ("click",function(){return V.onUpdatePageSettings()}),t._uU(16,"Save"),t.qZA()()(),t.YNc(17,Xc,5,6,"ng-template",null,13,t.W1O)),2&x&&(t.xp6(4),t.Q6J("icon",V.faPenRuler),t.xp6(3),t.Q6J("ngIf",V.errorMessage&&"unknown"===V.errorMessage.page),t.xp6(2),t.Q6J("ngForOf",V.pageSettings))},dependencies:[si.mk,si.sg,si.O5,si.tP,qt._Y,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Fl.Hw,Sn.KE,jo.i$,jo.Tg,Jn.gD,oi.ey,R2.gM,xi.$V,si.rS,$d.D3,$d.i1],styles:[".table-setting-row[_ngcontent-%COMP%]:last-child{margin-bottom:3rem}.table-setting-row[_ngcontent-%COMP%]:not(:first-child){margin:3rem 0}"]})}function F1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",10),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[0].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[0].link),t.Q6J("active",x.activeLink===x.links[0].link),t.xp6(1),t.Oqu(x.links[0].name)}}const G4=function(){return{initial:!1}};function Z4(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[1].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[1].link),t.Q6J("active",x.activeLink===x.links[1].link)("state",t.DdM(4,G4)),t.xp6(1),t.Oqu(x.links[1].name)}}function h3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",10),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.activeLink=me.links[2].link)}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw();t.s9C("routerLink",x.links[2].link),t.Q6J("active",x.activeLink===x.links[2].link),t.xp6(1),t.Oqu(x.links[2].name)}}class N2{constructor(T,x,V){this.store=T,this.router=x,this.activatedRoute=V,this.faLayerGroup=he.Krp,this.links=[{link:"loop",name:"Loop"},{link:"boltz",name:"Boltz"},{link:"peerswap",name:"Peerswap"}],this.activeLink="",this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){const T=this.links.find(x=>this.router.url.includes(x.link));this.activeLink=T?T.link:this.links[0].link,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(me=>x.urlAfterRedirects.includes(me.link));"CLN"===this.selNode.lnImplementation.toUpperCase()?this.activeLink=this.links[2].link:this.activeLink=V?V.link:this.links[0].link}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{this.selNode=x,"CLN"===this.selNode.lnImplementation.toUpperCase()&&(this.activeLink=this.links[2].link,this.router.navigate(["./"+this.activeLink],{relativeTo:this.activatedRoute}))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||N2)(t.Y36(Hn.yh),t.Y36(Ne.F0),t.Y36(Ne.gz))};static#t=this.\u0275cmp=t.Xpm({type:N2,selectors:[["rtl-services-settings"]],decls:16,vars:5,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-sub-title-container","my-1"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngIf"],["role","tab","mat-tab-link","","class","mat-tab-label",3,"active","routerLink","state","click",4,"ngIf"],["tabPanel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mat-tab-body-wrapper"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"],["role","tab","mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","state","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span",3),t._uU(4,"Services"),t.qZA()()(),t.TgZ(5,"div",4)(6,"mat-card")(7,"mat-card-content",4)(8,"nav",5),t.YNc(9,F1,2,3,"div",6),t.YNc(10,Z4,2,5,"div",7),t.YNc(11,h3,2,3,"div",6),t.qZA(),t._UZ(12,"mat-tab-nav-panel",null,8),t.TgZ(14,"div",9),t._UZ(15,"router-outlet"),t.qZA()()()()),2&x){const me=t.MAs(13);t.xp6(2),t.Q6J("icon",V.faLayerGroup),t.xp6(6),t.Q6J("tabPanel",me),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","LND"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase())),t.xp6(1),t.Q6J("ngIf","CLN"===(null==V.selNode||null==V.selNode.lnImplementation?null:V.selNode.lnImplementation.toUpperCase()))}},dependencies:[si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.lC,Ne.rH]})}const Rp=["form"];function Y4(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Loop server URL is required."),t.qZA())}function Q4(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Specify the loop server url with 'https://'."),t.qZA())}function Eu(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Loop macaroon path is required."),t.qZA())}class Vl{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=he.sqG,this.enableLoop=!1,this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.enableLoop=!(!T.settings.swapServerUrl||""===T.settings.swapServerUrl.trim()),this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(T)})}onEnableServiceChanged(T){this.enableLoop=T.checked,this.enableLoop||(this.selNode.authentication.swapMacaroonPath="",this.selNode.settings.swapServerUrl="")}onUpdateService(){if(this.selNode.settings.swapServerUrl&&""!==this.selNode.settings.swapServerUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableLoop&&(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim()||!this.selNode.authentication.swapMacaroonPath||""===this.selNode.authentication.swapMacaroonPath.trim()))return!0;this.logger.info(this.selNode),this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_LOOP_SETTINGS,service:Qe.JX.LOOP,settings:{enable:this.enableLoop,serverUrl:this.selNode.settings.swapServerUrl,macaroonPath:this.selNode.authentication.swapMacaroonPath}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.selNode.settings.enableOffers}}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.enableLoop=!(!this.selNode.settings.swapServerUrl||""===this.selNode.settings.swapServerUrl.trim())}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Vl)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Vl,selectors:[["rtl-loop-service-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(Rp,7),2&x){let me;t.iGM(me=t.CRH())&&(V.form=me.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://github.com/lightninglabs/loop","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","loop",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Loop Server URL","type","text","id","swapServerUrl","name","srvrUrl","tabindex","2",3,"required","disabled","ngModel","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Loop Macaroon Path","type","text","id","swapMacaroonPath","name","swapMacaroonPath","tabindex","3",3,"required","disabled","ngModel","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"loopd"),t.qZA(),t._uU(7," is running and accessible to RTL before enabling this service. Click "),t.TgZ(8,"strong")(9,"a",3),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about the installation."),t.qZA()(),t.TgZ(12,"form",4,5)(14,"div",6)(15,"mat-slide-toggle",7),t.NdJ("ngModelChange",function(tt){return V.enableLoop=tt})("change",function(tt){return V.onEnableServiceChanged(tt)}),t._uU(16,"Enable Loop Service"),t.qZA(),t.TgZ(17,"mat-form-field",8)(18,"input",9,10),t.NdJ("ngModelChange",function(tt){return V.selNode.settings.swapServerUrl=tt}),t.qZA(),t.TgZ(20,"mat-hint"),t._uU(21,"Service url for loop server REST APIs, eg. https://localhost:8081"),t.qZA(),t.YNc(22,Y4,2,0,"mat-error",11),t.YNc(23,Q4,2,0,"mat-error",11),t.qZA(),t.TgZ(24,"mat-form-field")(25,"input",12),t.NdJ("ngModelChange",function(tt){return V.selNode.authentication.swapMacaroonPath=tt}),t.qZA(),t.TgZ(26,"mat-hint"),t._uU(27,"Path for the folder containing service 'loop.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Local\\\\Loop\\\\testnet"),t.qZA(),t.YNc(28,Eu,2,0,"mat-error",11),t.qZA()()(),t.TgZ(29,"div",13)(30,"button",14),t.NdJ("click",function(){return V.onReset()}),t._uU(31,"Reset"),t.qZA(),t.TgZ(32,"button",15),t.NdJ("click",function(){return V.onUpdateService()}),t._uU(33,"Update"),t.qZA()()()),2&x){const me=t.MAs(19);t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(13),t.Q6J("ngModel",V.enableLoop),t.xp6(3),t.Q6J("required",V.enableLoop)("disabled",!V.enableLoop)("ngModel",V.selNode.settings.swapServerUrl),t.xp6(4),t.Q6J("ngIf",!V.selNode.settings.swapServerUrl&&V.enableLoop),t.xp6(1),t.Q6J("ngIf",(null==me||null==me.errors?null:me.errors.invalid)&&V.enableLoop),t.xp6(2),t.Q6J("required",V.enableLoop)("disabled",!V.enableLoop)("ngModel",V.selNode.authentication.swapMacaroonPath),t.xp6(3),t.Q6J("ngIf",!V.selNode.authentication.swapMacaroonPath&&V.enableLoop)}},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Sn.bx,Er.Nt,so.Rr,xi.$V,Si.h],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}const F2=["form"];function t0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Boltz server URL is required."),t.qZA())}function Wl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Specify the boltz server url with 'https://'."),t.qZA())}function Bp(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Boltz macaroon path is required."),t.qZA())}class fc{constructor(T,x){this.logger=T,this.store=x,this.faInfoCircle=he.sqG,this.enableBoltz=!1,this.serverUrl="",this.macaroonPath="",this.unSubs=[new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.enableBoltz=!(!T.settings.boltzServerUrl||""===T.settings.boltzServerUrl.trim()),this.serverUrl=this.selNode.settings.boltzServerUrl||"",this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.previousSelNode=JSON.parse(JSON.stringify(this.selNode)),this.logger.info(T)})}onEnableServiceChanged(T){this.enableBoltz=T.checked,this.enableBoltz||(this.macaroonPath="",this.serverUrl="")}onUpdateService(){if(this.serverUrl&&""!==this.serverUrl.trim()&&!this.form.controls.srvrUrl.value.includes("https://")&&this.form.controls.srvrUrl.setErrors({invalid:!0}),this.enableBoltz&&(!this.serverUrl||""===this.serverUrl.trim()||!this.serverUrl.includes("https://")||!this.macaroonPath||""===this.macaroonPath.trim()))return!0;this.logger.info(this.selNode),this.selNode.settings.boltzServerUrl=this.serverUrl,this.selNode.authentication.boltzMacaroonPath=this.macaroonPath,this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_BOLTZ_SETTINGS,service:Qe.JX.BOLTZ,settings:{enable:this.enableBoltz,serverUrl:this.serverUrl,macaroonPath:this.macaroonPath}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.serverUrl,enableOffers:this.selNode.settings.enableOffers}}))}onReset(){this.selNode=JSON.parse(JSON.stringify(this.previousSelNode)),this.serverUrl=this.selNode.settings.boltzServerUrl||"",this.macaroonPath=this.selNode.authentication.boltzMacaroonPath,this.enableBoltz=!(!this.serverUrl||""===this.serverUrl.trim())}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||fc)(t.Y36(sn.mQ),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:fc,selectors:[["rtl-boltz-service-settings"]],viewQuery:function(x,V){if(1&x&&t.Gf(F2,7),2&x){let me;t.iGM(me=t.CRH())&&(V.form=me.first)}},decls:34,vars:11,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["href","https://lnd.docs.boltz.exchange/en/latest/","target","_blank"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"settings-container","page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","column","fxFlex","50","fxLayoutAlign","start stretch"],["autoFocus","","tabindex","1","color","primary","name","boltz",1,"mb-1",3,"ngModel","ngModelChange","change"],[1,"mb-2"],["matInput","","placeholder","Boltz Server URL","type","text","id","boltzServerUrl","name","srvrUrl","tabindex","2",3,"required","disabled","ngModel","ngModelChange"],["srvrUrl","ngModel"],[4,"ngIf"],["matInput","","placeholder","Boltz Macaroon Path","type","text","id","boltzMacaroonPath","name","boltzMacaroonPath","tabindex","3",3,"required","disabled","ngModel","ngModelChange"],["fxLayout","row",1,"mt-2"],["mat-stroked-button","","color","primary","type","reset","tabindex","4",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","type","submit","tabindex","5",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"boltzd"),t.qZA(),t._uU(7," is running and accessible to RTL before enabling this service. Click "),t.TgZ(8,"strong")(9,"a",3),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about the installation."),t.qZA()(),t.TgZ(12,"form",4,5)(14,"div",6)(15,"mat-slide-toggle",7),t.NdJ("ngModelChange",function(tt){return V.enableBoltz=tt})("change",function(tt){return V.onEnableServiceChanged(tt)}),t._uU(16,"Enable Boltz Service"),t.qZA(),t.TgZ(17,"mat-form-field",8)(18,"input",9,10),t.NdJ("ngModelChange",function(tt){return V.serverUrl=tt}),t.qZA(),t.TgZ(20,"mat-hint"),t._uU(21,"Service url for boltz server REST APIs, eg. https://localhost:9003"),t.qZA(),t.YNc(22,t0,2,0,"mat-error",11),t.YNc(23,Wl,2,0,"mat-error",11),t.qZA(),t.TgZ(24,"mat-form-field")(25,"input",12),t.NdJ("ngModelChange",function(tt){return V.macaroonPath=tt}),t.qZA(),t.TgZ(26,"mat-hint"),t._uU(27,"Path for the folder containing boltz 'admin.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Boltz\\\\testnet"),t.qZA(),t.YNc(28,Bp,2,0,"mat-error",11),t.qZA()()(),t.TgZ(29,"div",13)(30,"button",14),t.NdJ("click",function(){return V.onReset()}),t._uU(31,"Reset"),t.qZA(),t.TgZ(32,"button",15),t.NdJ("click",function(){return V.onUpdateService()}),t._uU(33,"Update"),t.qZA()()()),2&x){const me=t.MAs(19);t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(13),t.Q6J("ngModel",V.enableBoltz),t.xp6(3),t.Q6J("required",V.enableBoltz)("disabled",!V.enableBoltz)("ngModel",V.serverUrl),t.xp6(4),t.Q6J("ngIf",(!V.serverUrl||""===V.serverUrl.trim())&&V.enableBoltz),t.xp6(1),t.Q6J("ngIf",(null==me||null==me.errors?null:me.errors.invalid)&&V.enableBoltz),t.xp6(2),t.Q6J("required",V.enableBoltz)("disabled",!V.enableBoltz)("ngModel",V.macaroonPath),t.xp6(3),t.Q6J("ngIf",!V.macaroonPath&&V.enableBoltz)}},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Sn.TO,Sn.KE,Sn.bx,Er.Nt,so.Rr,xi.$V,Si.h],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}class n0{constructor(){}static#e=this.\u0275fac=function(x){return new(x||n0)};static#t=this.\u0275cmp=t.Xpm({type:n0,selectors:[["rtl-ln-services"]],decls:1,vars:0,template:function(x,V){1&x&&t._UZ(0,"router-outlet")},dependencies:[Ne.lC]})}var f3=m(2615),H1=m(1419),Kl=m(6060),H2=m(2197),wa=m(8711),pc=m(1294);function Np(K,T){if(1&K&&(t.TgZ(0,"mat-option",37),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x),t.xp6(1),t.Oqu(V.getLabel(x))}}function _c(K,T){1&K&&t._UZ(0,"mat-progress-bar",38)}function Du(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"State"),t.qZA())}function i0(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Oqu(V.LoopStateEnum[null==x?null:x.state])}}function p3(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"Initiation Time"),t.qZA())}function _3(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.ALo(2,"date"),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(t.xi3(2,1,(null==x?null:x.initiation_time)/1e6,"dd/MMM/y HH:mm"))}}function mc(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"Last Update Time"),t.qZA())}function a0(K,T){if(1&K&&(t.TgZ(0,"td",40),t._uU(1),t.ALo(2,"date"),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(t.xi3(2,1,(null==x?null:x.last_update_time)/1e6,"dd/MMM/y HH:mm"))}}function r0(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Amount (Sats)"),t.qZA())}function m3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.amt))}}function g3(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Server (Sats)"),t.qZA())}function z2(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.cost_server))}}function j4(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Offchain (Sats)"),t.qZA())}function q4(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.cost_offchain))}}function X4(K,T){1&K&&(t.TgZ(0,"th",41),t._uU(1,"Cost Onchain (Sats)"),t.qZA())}function v3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",42),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.hij(" ",t.lcZ(3,1,null==x?null:x.cost_onchain)," ")}}function U2(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"HTLC Address"),t.qZA())}const s0=function(K){return{width:K}};function y3(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.htlc_address)}}function V2(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"ID"),t.qZA())}function gc(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.id)}}function J4(K,T){1&K&&(t.TgZ(0,"th",39),t._uU(1,"ID (Bytes)"),t.qZA())}function Au(K,T){if(1&K&&(t.TgZ(0,"td",40)(1,"span",43)(2,"span",44),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,s0,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.id_bytes)}}function oo(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"th",45)(1,"div",46)(2,"mat-select",47),t._UZ(3,"mat-select-trigger"),t.TgZ(4,"mat-option",48),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onDownloadCSV())}),t._uU(5,"Download CSV"),t.qZA()()()()}}function Tu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"td",49)(1,"button",50),t.NdJ("click",function(me){const kt=t.CHM(x).$implicit,jt=t.oxw();return t.KtG(jt.onSwapClick(kt,me))}),t._uU(2,"View Info"),t.qZA()()}}function wu(K,T){if(1&K&&(t.TgZ(0,"p"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.emptyTableMessage)}}function W2(K,T){if(1&K&&(t.TgZ(0,"td",51),t.YNc(1,wu,2,1,"p",52),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("ngIf",!(null!=x.listSwaps&&x.listSwaps.data)||(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)<1)}}const us=function(K){return{"display-none":K}};function vc(K,T){if(1&K&&t._UZ(0,"tr",53),2&K){const x=t.oxw();t.Q6J("ngClass",t.VKq(1,us,(null==x.listSwaps?null:x.listSwaps.data)&&(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)>0))}}function Jc(K,T){1&K&&t._UZ(0,"tr",54)}function Iu(K,T){1&K&&t._UZ(0,"tr",55)}const Lu=function(){return["all"]},jr=function(K){return{"overflow-auto error-border":K,"overflow-auto":!0}},Su=function(){return["no_swap"]};class z1{constructor(T,x,V,me,tt,kt){this.logger=T,this.commonService=x,this.store=V,this.loopService=me,this.datePipe=tt,this.camelCaseWithReplace=kt,this.selectedSwapType=Qe.$I.LOOP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.nodePageDefs=Qe.hG,this.selFilterBy="all",this.colWidth="20rem",this.PAGE_ID="loop",this.tableSetting={tableId:"loop",recordsPerPage:Qe.IV,sortBy:"initiation_time",sortOrder:Qe.Pi.DESCENDING},this.LoopStateEnum=Qe.Fq,this.faHistory=he.qO$,this.swapCaption="Loop Out",this.displayedColumns=[],this.listSwaps=new wa.by([]),this.selFilter="",this.pageSize=Qe.IV,this.pageSizeOptions=Qe.TJ,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.tableSetting=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSetting.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSetting.tableId),this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSetting.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSetting.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSetting.recordsPerPage?+this.tableSetting.recordsPerPage:Qe.IV,this.swapsData&&this.swapsData.length>0&&this.sort&&this.paginator&&this.displayedColumns.length>0&&this.loadSwapsTable(this.swapsData),this.colWidth=this.displayedColumns.length?this.commonService.getContainerSize().width/this.displayedColumns.length/10+"rem":"20rem",this.logger.info(this.displayedColumns)})}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(T){this.swapCaption=this.selectedSwapType===Qe.$I.LOOP_IN?"Loop In":"Loop Out",this.loadSwapsTable(this.swapsData)}applyFilter(){this.listSwaps.filter=this.selFilter.trim().toLowerCase()}getLabel(T){const x=this.nodePageDefs[this.PAGE_ID][this.tableSetting.tableId].allowedColumns.find(V=>V.column===T);return x?x.label?x.label:this.camelCaseWithReplace.transform(x.column,"_"):this.commonService.titleCase(T)}setFilterPredicate(){this.listSwaps.filterPredicate=(T,x)=>{let V="";switch(this.selFilterBy){case"all":V=JSON.stringify(T).toLowerCase();break;case"state":V=T?.state?this.LoopStateEnum[T?.state]:"";break;case"initiation_time":case"last_update_time":V=this.datePipe.transform(new Date((T[this.selFilterBy]||0)/1e6),"dd/MMM/y HH:mm")?.toLowerCase()||"";break;default:V=typeof T[this.selFilterBy]>"u"?"":"string"==typeof T[this.selFilterBy]?T[this.selFilterBy].toLowerCase():"boolean"==typeof T[this.selFilterBy]?T[this.selFilterBy]?"yes":"no":T[this.selFilterBy].toString()}return"state"===this.selFilterBy?0===V.indexOf(x):V.includes(x)}}onSwapClick(T,x){this.loopService.getSwap(T.id_bytes?.replace(/\//g,"_")?.replace(/\+/g,"-")||"").pipe((0,ui.R)(this.unSubs[1])).subscribe(V=>{const me=[[{key:"state",value:Qe.Fq[V.state||""],title:"Status",width:50,type:Qe.Gi.STRING},{key:"amt",value:V.amt,title:"Amount (Sats)",width:50,type:Qe.Gi.NUMBER}],[{key:"initiation_time",value:(V.initiation_time||0)/1e9,title:"Initiation Time",width:50,type:Qe.Gi.DATE_TIME},{key:"last_update_time",value:(V.last_update_time||0)/1e9,title:"Last Update Time",width:50,type:Qe.Gi.DATE_TIME}],[{key:"cost_server",value:V.cost_server,title:"Server Cost (Sats)",width:33,type:Qe.Gi.NUMBER},{key:"cost_offchain",value:V.cost_offchain,title:"Offchain Cost (Sats)",width:33,type:Qe.Gi.NUMBER},{key:"cost_onchain",value:V.cost_onchain,title:"Onchain Cost (Sats)",width:34,type:Qe.Gi.NUMBER}],[{key:"id_bytes",value:V.id_bytes,title:"ID",width:100,type:Qe.Gi.STRING}],[{key:"htlc_address",value:V.htlc_address,title:"HTLC Address",width:100,type:Qe.Gi.STRING}]];this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:me,openedBy:"SWAP"}}}))})}loadSwapsTable(T){this.listSwaps=new wa.by([...T]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(x,V)=>x[V]&&isNaN(x[V])?x[V].toLocaleLowerCase():x[V]?+x[V]:null,this.listSwaps.sort?.sort({id:this.tableSetting.sortBy,start:this.tableSetting.sortOrder,disableClear:!0}),this.listSwaps.paginator=this.paginator,this.setFilterPredicate(),this.applyFilter(),this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Qe.$I.LOOP_IN?"Loop in":"Loop out")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||z1)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(H1.W),t.Y36(si.uU),t.Y36($d.D3))};static#t=this.\u0275cmp=t.Xpm({type:z1,selectors:[["rtl-swaps"]],viewQuery:function(x,V){if(1&x&&(t.Gf(H2.YE,5),t.Gf(Kl.NW,5)),2&x){let me;t.iGM(me=t.CRH())&&(V.sort=me.first),t.iGM(me=t.CRH())&&(V.paginator=me.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[t._Bn([{provide:Kl.ye,useValue:(0,Qe.pt)("Swaps")}]),t.TTD],decls:56,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex.gt-xs","30","fxLayoutAlign.gt-xs","space-between center","fxLayout","row","fxLayoutAlign","space-between stretch"],["fxFlex","49"],["placeholder","Filter By","tabindex","1","name","filterBy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","state"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","initiation_time"],["matColumnDef","last_update_time"],["matColumnDef","amt"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","cost_server"],["matColumnDef","cost_offchain"],["matColumnDef","cost_onchain"],["matColumnDef","htlc_address"],["matColumnDef","id"],["matColumnDef","id_bytes"],["matColumnDef","actions"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cellcolspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[3,"value"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell",""],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","button","tabindex","4",1,"table-actions-button",3,"click"],["mat-footer-cellcolspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"div",5)(7,"mat-form-field",6)(8,"mat-select",7),t.NdJ("ngModelChange",function(tt){return V.selFilterBy=tt})("selectionChange",function(){return V.selFilter="",V.applyFilter()}),t.YNc(9,Np,2,2,"mat-option",8),t.qZA()(),t.TgZ(10,"mat-form-field",6)(11,"input",9),t.NdJ("ngModelChange",function(tt){return V.selFilter=tt})("input",function(){return V.applyFilter()})("keyup",function(){return V.applyFilter()}),t.qZA()()()(),t.TgZ(12,"div",10)(13,"div",11),t.YNc(14,_c,1,0,"mat-progress-bar",12),t.TgZ(15,"table",13,14),t.ynx(17,15),t.YNc(18,Du,2,0,"th",16),t.YNc(19,i0,2,1,"td",17),t.BQk(),t.ynx(20,18),t.YNc(21,p3,2,0,"th",16),t.YNc(22,_3,3,4,"td",17),t.BQk(),t.ynx(23,19),t.YNc(24,mc,2,0,"th",16),t.YNc(25,a0,3,4,"td",17),t.BQk(),t.ynx(26,20),t.YNc(27,r0,2,0,"th",21),t.YNc(28,m3,4,3,"td",17),t.BQk(),t.ynx(29,22),t.YNc(30,g3,2,0,"th",21),t.YNc(31,z2,4,3,"td",17),t.BQk(),t.ynx(32,23),t.YNc(33,j4,2,0,"th",21),t.YNc(34,q4,4,3,"td",17),t.BQk(),t.ynx(35,24),t.YNc(36,X4,2,0,"th",21),t.YNc(37,v3,4,3,"td",17),t.BQk(),t.ynx(38,25),t.YNc(39,U2,2,0,"th",16),t.YNc(40,y3,4,4,"td",17),t.BQk(),t.ynx(41,26),t.YNc(42,V2,2,0,"th",16),t.YNc(43,gc,4,4,"td",17),t.BQk(),t.ynx(44,27),t.YNc(45,J4,2,0,"th",16),t.YNc(46,Au,4,4,"td",17),t.BQk(),t.ynx(47,28),t.YNc(48,oo,6,0,"th",29),t.YNc(49,Tu,3,0,"td",30),t.BQk(),t.ynx(50,31),t.YNc(51,W2,2,1,"td",32),t.BQk(),t.YNc(52,vc,1,3,"tr",33),t.YNc(53,Jc,1,0,"tr",34),t.YNc(54,Iu,1,0,"tr",35),t.qZA(),t._UZ(55,"mat-paginator",36),t.qZA()()()),2&x&&(t.xp6(3),t.Q6J("icon",V.faHistory),t.xp6(2),t.hij("",V.swapCaption," History"),t.xp6(3),t.Q6J("ngModel",V.selFilterBy),t.xp6(1),t.Q6J("ngForOf",t.DdM(14,Lu).concat(V.displayedColumns.slice(0,-1))),t.xp6(2),t.Q6J("ngModel",V.selFilter),t.xp6(3),t.Q6J("ngIf",!0===V.flgLoading[0]),t.xp6(1),t.Q6J("dataSource",V.listSwaps)("ngClass",t.VKq(15,jr,"error"===V.flgLoading[0])),t.xp6(37),t.Q6J("matFooterRowDef",t.DdM(17,Su)),t.xp6(1),t.Q6J("matHeaderRowDef",V.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",V.displayedColumns),t.xp6(1),t.Q6J("pageSize",V.pageSize)("pageSizeOptions",V.pageSizeOptions)("showFirstLastButtons",V.screenSize!==V.screenSizeEnum.XS))},dependencies:[si.mk,si.sg,si.O5,si.PC,qt.Fj,qt.JJ,qt.On,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ea.Zl,An.lW,Sn.KE,Er.Nt,pc.pW,Jn.gD,Jn.$L,oi.ey,H2.YE,H2.nU,wa.BZ,wa.fO,wa.as,wa.w1,wa.Dz,wa.nj,wa.mD,wa.Ke,wa.ge,wa.ev,wa.XQ,wa.Gk,wa.Q2,Kl.NW,xi.$V,si.JJ,si.uU]})}const ya=function(K){return["../",K]};function Ou(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",11),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onSelectedIndexChange(tt))}),t._uU(1),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.Q6J("active",V.activeTab.link===x.link)("routerLink",t.VKq(3,ya,x.link)),t.xp6(1),t.Oqu(x.name)}}class Gl{constructor(T,x,V){this.router=T,this.loopService=x,this.store=V,this.faInfinity=he.vqe,this.targetConf=2,this.inAmount=25e4,this.quotes=[],this.LoopTypeEnum=Qe.$I,this.selectedSwapType=Qe.$I.LOOP_OUT,this.storedSwaps=[],this.filteredSwaps=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"loopout",name:"Loop Out"},{link:"loopin",name:"Loop In"}],this.activeTab=this.links[0],this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.loopService.listSwaps();const T=this.links.find(x=>this.router.url.includes(x.link));this.activeTab=T||this.links[0],this.selectedSwapType=T&&"loopin"===T.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(me=>x.urlAfterRedirects.includes(me.link));this.activeTab=V||this.links[0],this.selectedSwapType=V&&"loopin"===V.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT}}),this.loopService.swapsChanged.pipe((0,ui.R)(this.unSubs[1])).subscribe({next:x=>{this.flgLoading[0]=!1,this.storedSwaps=x,this.filteredSwaps=this.storedSwaps?.filter(V=>V.type===this.selectedSwapType)},error:x=>{this.flgLoading[0]="error",this.emptyTableMessage=x.message?x.message:"No loop "+(this.selectedSwapType===Qe.$I.LOOP_IN?"in":"out")+" available."}})}onSelectedIndexChange(T){this.selectedSwapType="loopin"===T.link?Qe.$I.LOOP_IN:Qe.$I.LOOP_OUT,this.filteredSwaps=this.storedSwaps?.filter(x=>x.type===this.selectedSwapType)}onLoop(T){T===Qe.$I.LOOP_IN?this.loopService.getLoopInTermsAndQuotes(this.targetConf).pipe((0,ui.R)(this.unSubs[2])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{minQuote:x[0],maxQuote:x[1],direction:T,component:f3.a}}}))}}):this.loopService.getLoopOutTermsAndQuotes(this.targetConf).pipe((0,ui.R)(this.unSubs[3])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{minQuote:x[0],maxQuote:x[1],direction:T,component:f3.a}}}))}})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Gl)(t.Y36(Ne.F0),t.Y36(H1.W),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:Gl,selectors:[["rtl-loop"]],decls:15,vars:8,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column"],["mat-tab-nav-bar","",3,"tabPanel"],["mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["tabPanel",""],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t._UZ(1,"fa-icon",1),t.TgZ(2,"span",2),t._uU(3,"Loop"),t.qZA()(),t.TgZ(4,"div",3)(5,"mat-card")(6,"mat-card-content",4)(7,"nav",5),t.YNc(8,Ou,2,5,"div",6),t.qZA(),t._UZ(9,"mat-tab-nav-panel",null,7),t.TgZ(11,"div",8)(12,"button",9),t.NdJ("click",function(){return V.onLoop(V.selectedSwapType)}),t._uU(13),t.qZA()(),t._UZ(14,"rtl-swaps",10),t.qZA()()()),2&x){const me=t.MAs(10);t.xp6(1),t.Q6J("icon",V.faInfinity),t.xp6(6),t.Q6J("tabPanel",me),t.xp6(1),t.Q6J("ngForOf",V.links),t.xp6(5),t.hij("Start ",V.activeTab.name,""),t.xp6(1),t.Q6J("selectedSwapType",V.selectedSwapType)("swapsData",V.filteredSwaps)("flgLoading",V.flgLoading)("emptyTableMessage",V.emptyTableMessage)}},dependencies:[si.sg,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.rH,z1]})}var $c=m(7772),o0=m(6317),K2=m(5474),G2=m(3158),Bs=m(2340),l0=m(1786);class yo{constructor(T,x,V,me){this.httpClient=T,this.logger=x,this.store=V,this.commonService=me,this.swapUrl="",this.swaps={},this.swapsChanged=new o0.X({}),this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}getSwapsList(){return this.swaps}listSwaps(){this.store.dispatch((0,Qt.ac)({payload:Qe.m6.GET_BOLTZ_SWAPS})),this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/listSwaps",this.httpClient.get(this.swapUrl).pipe((0,ui.R)(this.unSubs[0])).subscribe({next:T=>{this.store.dispatch((0,Qt.uO)({payload:Qe.m6.GET_BOLTZ_SWAPS})),this.swaps=T,this.swapsChanged.next(this.swaps)},error:T=>this.swapsChanged.error(this.handleErrorWithAlert(Qe.m6.GET_BOLTZ_SWAPS,this.swapUrl,T))})}swapInfo(T){return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/swapInfo/"+T,this.httpClient.get(this.swapUrl).pipe((0,G2.K)(x=>(0,Po.of)(this.handleErrorWithAlert(Qe.m6.NO_SPINNER,this.swapUrl,x))))}serviceInfo(){return this.store.dispatch((0,Qt.ac)({payload:Qe.m6.GET_SERVICE_INFO})),this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/serviceInfo",this.httpClient.get(this.swapUrl).pipe((0,ui.R)(this.unSubs[1]),(0,ys.U)(T=>(this.store.dispatch((0,Qt.uO)({payload:Qe.m6.GET_SERVICE_INFO})),T)),(0,G2.K)(T=>(0,Po.of)(this.handleErrorWithAlert(Qe.m6.GET_SERVICE_INFO,this.swapUrl,T))))}swapOut(T,x){const V={amount:T,address:x};return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/createreverseswap",this.httpClient.post(this.swapUrl,V).pipe((0,G2.K)(me=>this.handleErrorWithoutAlert("Swap Out for Address: "+x,Qe.m6.NO_SPINNER,me)))}swapIn(T){const x={amount:T};return this.swapUrl=Bs.T5+Bs.NZ.BOLTZ_API+"/createswap",this.httpClient.post(this.swapUrl,x).pipe((0,G2.K)(V=>this.handleErrorWithoutAlert("Swap In for Amount: "+T,Qe.m6.NO_SPINNER,V)))}handleErrorWithoutAlert(T,x,V){let me="";return this.logger.error("ERROR IN: "+T+"\n"+JSON.stringify(V)),this.store.dispatch((0,Qt.uO)({payload:x})),401===V.status?(me="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)())):503===V.status?(me="Unable to Connect to Boltz Server.",this.store.dispatch((0,Qt.qR)({payload:{data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:V.status,message:"Unable to Connect to Boltz Server",URL:T},component:l0.H}}}))):me=this.commonService.extractErrorMessage(V),(0,K2._)(()=>new Error(me))}handleErrorWithAlert(T,x,V){let me="";if(401===V.status&&(this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)())),this.logger.error(V),this.store.dispatch((0,Qt.uO)({payload:T})),401===V.status)me="Unauthorized User.",this.logger.info("Redirecting to Login"),this.store.dispatch((0,Qt.kS)());else if(503===V.status)me="Unable to Connect to Boltz Server.",setTimeout(()=>{this.store.dispatch((0,Qt.qR)({payload:{data:{type:"ERROR",alertTitle:"Boltz Not Connected",message:{code:V.status,message:"Unable to Connect to Boltz Server",URL:x},component:l0.H}}}))},100);else{me=this.commonService.extractErrorMessage(V);const tt=V.error&&V.error.error&&V.error.error.code?V.error.error.code:V.error&&V.error.code?V.error.code:V.code?V.code:V.status;setTimeout(()=>{this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.ERROR,alertTitle:"ERROR",message:{code:tt,message:me,URL:x},component:l0.H}}}))},100)}return{message:me}}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||yo)(t.LFG(Ba.eN),t.LFG(sn.mQ),t.LFG(Hn.yh),t.LFG(ta.v))};static#t=this.\u0275prov=t.Yz7({token:yo,factory:yo.\u0275fac})}function Pu(K,T){1&K&&t.GkF(0)}function b3(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"span",5),t._uU(2),t.qZA()()),2&K){const x=t.oxw();t.xp6(2),t.Oqu(null!=x.swapStatus&&x.swapStatus.error?null==x.swapStatus?null:x.swapStatus.error:"Unknown Error.")}}function c0(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"div",6)(2,"div",7)(3,"h4",8),t._uU(4,"ID"),t.qZA(),t.TgZ(5,"span",5),t._uU(6),t.qZA()(),t.TgZ(7,"div",7)(8,"h4",8),t._uU(9,"Routing Fee (mSats)"),t.qZA(),t.TgZ(10,"span",5),t._uU(11),t.ALo(12,"number"),t.qZA()()(),t._UZ(13,"mat-divider",9),t.TgZ(14,"div",6)(15,"div",7)(16,"h4",8),t._uU(17,"Claim Transaction ID"),t.qZA(),t.TgZ(18,"span",5),t._uU(19),t.qZA()(),t.TgZ(20,"div",7)(21,"h4",8),t._uU(22,"Lockup Address"),t.qZA(),t.TgZ(23,"span",5),t._uU(24),t.qZA()()()()),2&K){const x=t.oxw();t.xp6(6),t.Oqu(null==x.swapStatus?null:x.swapStatus.id),t.xp6(5),t.Oqu(t.lcZ(12,4,null==x.swapStatus?null:x.swapStatus.routingFeeMilliSat)),t.xp6(8),t.Oqu(null==x.swapStatus?null:x.swapStatus.claimTransactionId),t.xp6(5),t.Oqu(null==x.swapStatus?null:x.swapStatus.lockupAddress)}}function d0(K,T){if(1&K&&(t.TgZ(0,"div",4)(1,"div",6)(2,"div",7)(3,"h4",8),t._uU(4,"ID"),t.qZA(),t.TgZ(5,"span",5),t._uU(6),t.qZA()(),t.TgZ(7,"div",7)(8,"h4",8),t._uU(9,"Expected Amount (Sats)"),t.qZA(),t.TgZ(10,"span",5),t._uU(11),t.ALo(12,"number"),t.qZA()()(),t._UZ(13,"mat-divider",9),t.TgZ(14,"div",6)(15,"div",10)(16,"h4",8),t._uU(17,"Address"),t.qZA(),t.TgZ(18,"span",5),t._uU(19),t.qZA()()(),t._UZ(20,"mat-divider",9),t.TgZ(21,"div",6)(22,"div",10)(23,"h4",8),t._uU(24,"BIP 21"),t.qZA(),t.TgZ(25,"span",5),t._uU(26),t.qZA()()()()),2&K){const x=t.oxw();t.xp6(6),t.Oqu(null==x.swapStatus?null:x.swapStatus.id),t.xp6(5),t.Oqu(t.lcZ(12,4,null==x.swapStatus?null:x.swapStatus.expectedAmount)),t.xp6(8),t.Oqu(null==x.swapStatus?null:x.swapStatus.address),t.xp6(7),t.Oqu(null==x.swapStatus?null:x.swapStatus.bip21)}}class e1{constructor(){this.swapStatus=null,this.direction=Qe.hc.SWAP_OUT,this.swapTypeEnum=Qe.hc}static#e=this.\u0275fac=function(x){return new(x||e1)};static#t=this.\u0275cmp=t.Xpm({type:e1,selectors:[["rtl-boltz-swap-status"]],inputs:{swapStatus:"swapStatus",direction:"direction"},decls:7,vars:1,consts:[[4,"ngTemplateOutlet"],["swapFailedBlock",""],["swapOutBlock",""],["swapInBlock",""],["fxLayout","column"],[1,"foreground-secondary-text"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"w-100","my-1"],["fxFlex","100"]],template:function(x,V){if(1&x&&(t.YNc(0,Pu,1,0,"ng-container",0),t.YNc(1,b3,3,1,"ng-template",null,1,t.W1O),t.YNc(3,c0,25,6,"ng-template",null,2,t.W1O),t.YNc(5,d0,27,6,"ng-template",null,3,t.W1O)),2&x){const me=t.MAs(2),tt=t.MAs(4),kt=t.MAs(6);t.Q6J("ngTemplateOutlet",null!=V.swapStatus&&V.swapStatus.error?me:V.direction===V.swapTypeEnum.SWAP_OUT?tt:kt)}},dependencies:[si.tP,Vt.xw,Vt.Wh,Vt.yH,io.d,si.JJ]})}class u0{constructor(){this.serviceInfo={},this.direction=Qe.hc.SWAP_OUT,this.swapTypeEnum=Qe.hc}static#e=this.\u0275fac=function(x){return new(x||u0)};static#t=this.\u0275cmp=t.Xpm({type:u0,selectors:[["rtl-boltz-service-info"]],inputs:{serviceInfo:"serviceInfo",direction:"direction"},decls:33,vars:13,consts:[["fxFlex","100",1,"flat-expansion-panel","mb-1",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxLayout","row"],["fxFlex","50"],["fxLayoutAlign","start",1,"font-bold-500"],[1,"foreground-secondary-text"],[1,"w-100","my-1"]],template:function(x,V){1&x&&(t.TgZ(0,"mat-expansion-panel",0)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",1),t._uU(4,"Service Information"),t.qZA()()(),t.TgZ(5,"div",2)(6,"div",3)(7,"div",4)(8,"h4",5),t._uU(9,"Minimum Amount (Sats)"),t.qZA(),t.TgZ(10,"span",6),t._uU(11),t.ALo(12,"number"),t.qZA()(),t.TgZ(13,"div",4)(14,"h4",5),t._uU(15,"Maximum Amount (Sats)"),t.qZA(),t.TgZ(16,"span",6),t._uU(17),t.ALo(18,"number"),t.qZA()()(),t._UZ(19,"mat-divider",7),t.TgZ(20,"div",3)(21,"div",4)(22,"h4",5),t._uU(23,"Fee Percentage"),t.qZA(),t.TgZ(24,"span",6),t._uU(25),t.ALo(26,"number"),t.qZA()(),t.TgZ(27,"div",4)(28,"h4",5),t._uU(29,"Miner Fee (Sats)"),t.qZA(),t.TgZ(30,"span",6),t._uU(31),t.ALo(32,"number"),t.qZA()()()()()),2&x&&(t.Q6J("expanded",!0),t.xp6(11),t.Oqu(t.lcZ(12,5,null==V.serviceInfo||null==V.serviceInfo.limits?null:V.serviceInfo.limits.minimal)),t.xp6(6),t.Oqu(t.lcZ(18,7,null==V.serviceInfo||null==V.serviceInfo.limits?null:V.serviceInfo.limits.maximal)),t.xp6(8),t.Oqu(t.lcZ(26,9,null==V.serviceInfo||null==V.serviceInfo.fees?null:V.serviceInfo.fees.percentage)),t.xp6(6),t.Oqu(t.lcZ(32,11,V.direction===V.swapTypeEnum.SWAP_OUT?null==V.serviceInfo||null==V.serviceInfo.fees||null==V.serviceInfo.fees.miner?null:V.serviceInfo.fees.miner.reverse:null==V.serviceInfo||null==V.serviceInfo.fees||null==V.serviceInfo.fees.miner?null:V.serviceInfo.fees.miner.normal)))},dependencies:[Vt.xw,Vt.Wh,Vt.yH,zi.ib,zi.yz,zi.yK,io.d,si.JJ]})}var Zl=m(113);function h0(K,T){1&K&&t.GkF(0)}const yc=function(K,T){return{"small-svg":K,"large-svg":T}};function x3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",8)(3,"path",9)(4,"path",10)(5,"path",11)(6,"path",12)(7,"path",13)(8,"path",14)(9,"path",15)(10,"path",16)(11,"path",17),t.qZA(),t.kcU(),t.TgZ(12,"div",18)(13,"mat-card-title"),t._uU(14,"Boltz Submarine Swaps explained."),t.qZA()(),t.TgZ(15,"div",19)(16,"mat-card-subtitle",20),t._uU(17," Boltz is a privacy-first account free exchange and a Lightning service provider. By doing a Submarine Swap on Boltz, you can swap your on-chain Bitcoin for Lightning Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Z2(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",21),t._UZ(2,"path",22)(3,"path",23)(4,"path",24)(5,"path",25)(6,"path",26)(7,"path",27)(8,"path",28),t.qZA(),t.kcU(),t.TgZ(9,"div",18)(10,"mat-card-title"),t._uU(11,"Step 1: Deciding to Submarine Swap"),t.qZA()(),t.TgZ(12,"div",19)(13,"mat-card-subtitle",20),t._uU(14," You have one or more Lightning channels that are running low on outbound liquidity and you want to fund it using your on-chain Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function C3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",29),t._UZ(2,"path",30)(3,"path",31)(4,"path",32)(5,"path",33)(6,"path",34)(7,"circle",35)(8,"rect",36),t.TgZ(9,"defs")(10,"pattern",37),t._UZ(11,"use",38),t.qZA(),t._UZ(12,"image",39),t.qZA()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 2: Sending the on-chain funds"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," You send the on-chain funds to an address which can only be spent by Boltz when it pays a Lightning invoice to your node. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function ku(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",40)(2,"g",41),t._UZ(3,"path",42)(4,"path",43)(5,"path",44)(6,"path",45)(7,"path",46),t.qZA(),t.TgZ(8,"defs")(9,"clipPath",47),t._UZ(10,"rect",48),t.qZA()()(),t.kcU(),t.TgZ(11,"div",18)(12,"mat-card-title"),t._uU(13,"Step 3: Receiving the funds on Lightning"),t.qZA()(),t.TgZ(14,"div",19)(15,"mat-card-subtitle",20),t._uU(16," Boltz pays the Lightning invoice to your node and claims the on-chain funds locked in the previous step. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function M3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",49),t._UZ(2,"path",50)(3,"path",51)(4,"path",52)(5,"path",53)(6,"path",54),t.qZA(),t.kcU(),t.TgZ(7,"div",18)(8,"mat-card-title"),t._uU(9,"Done!"),t.qZA()(),t.TgZ(10,"div",19)(11,"mat-card-subtitle",20),t._uU(12," You swapped your on-chain Bitcoin for Lightning Bitcoin, while also adding outbound capacity for your channels in the process - all in a non-custodial manner. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,yc,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}class t1{constructor(T){this.commonService=T,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new t.vpe,this.screenSize="",this.screenSizeEnum=Qe.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(T){2===T.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===T.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(x){return new(x||t1)(t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:t1,selectors:[["rtl-boltz-swapin-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","323","height","323","viewBox","0 0 323 323","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M53.8333 134.583H80.75L94.2083 161.5L117.792 134.961C121.616 130.658 125.869 126.602 131.194 124.413C136.45 122.252 142.103 121.125 147.842 121.125H242.25C286.847 121.125 323 157.278 323 201.875C323 246.472 286.847 282.625 242.25 282.625H147.842C142.103 282.625 136.45 281.497 131.194 279.337C125.869 277.149 121.616 273.092 117.792 268.79L94.2083 242.25L80.75 269.167H53.8333L67.2917 228.792L53.8333 201.875L67.2917 174.958L53.8333 134.583Z",1,"fill-color-0"],["d","M26.9167 107.667H53.8333L67.2917 134.583L90.8755 108.044C94.6993 103.741 98.9527 99.6849 104.277 97.4963C109.534 95.3357 115.187 94.2083 120.925 94.2083H215.333C259.93 94.2083 296.083 130.361 296.083 174.958C296.083 219.555 259.93 255.708 215.333 255.708H120.925C115.187 255.708 109.534 254.581 104.277 252.42C98.9527 250.232 94.6993 246.176 90.8755 241.873L67.2917 215.333L53.8333 242.25H26.9167L40.375 201.875L26.9167 174.958L40.375 148.042L26.9167 107.667Z",1,"stroke-color-thick"],["d","M134.583 215.333C142.016 215.333 148.042 209.308 148.042 201.875C148.042 194.442 142.016 188.417 134.583 188.417C127.151 188.417 121.125 194.442 121.125 201.875C121.125 209.308 127.151 215.333 134.583 215.333Z",1,"fill-color-15"],["d","M107.667 188.417C115.1 188.417 121.125 182.391 121.125 174.958C121.125 167.526 115.1 161.5 107.667 161.5C100.234 161.5 94.2083 167.526 94.2083 174.958C94.2083 182.391 100.234 188.417 107.667 188.417Z",1,"stroke-color-thick"],["d","M201.875 215.333C209.308 215.333 215.333 209.308 215.333 201.875C215.333 194.442 209.308 188.417 201.875 188.417C194.442 188.417 188.417 194.442 188.417 201.875C188.417 209.308 194.442 215.333 201.875 215.333Z",1,"fill-color-15"],["d","M174.958 188.417C182.391 188.417 188.417 182.391 188.417 174.958C188.417 167.526 182.391 161.5 174.958 161.5C167.526 161.5 161.5 167.526 161.5 174.958C161.5 182.391 167.526 188.417 174.958 188.417Z",1,"stroke-color-thick"],["d","M269.167 215.333C276.599 215.333 282.625 209.308 282.625 201.875C282.625 194.442 276.599 188.417 269.167 188.417C261.734 188.417 255.708 194.442 255.708 201.875C255.708 209.308 261.734 215.333 269.167 215.333Z",1,"fill-color-15"],["d","M242.25 188.417C249.683 188.417 255.708 182.391 255.708 174.958C255.708 167.526 249.683 161.5 242.25 161.5C234.817 161.5 228.792 167.526 228.792 174.958C228.792 182.391 234.817 188.417 242.25 188.417Z",1,"stroke-color-thick"],["d","M189.321 97C186.935 97 185 98.9345 185 101.321V112.679C185 115.065 186.935 117 189.321 117H237.679C240.065 117 242 115.065 242 112.679V101.321C242 98.9345 240.065 97 237.679 97H189.321Z",1,"fill-color-15"],["d","M161.5 67.2917V94.2083H215.333V67.2917H161.5Z",1,"stroke-color-thick"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","347","height","169","viewBox","0 0 347 169","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M89 157.417V41.5833C89 35.2125 92.75 30 97.3333 30H230.667C235.25 30 239 35.2125 239 41.5833V157.417C239 163.787 235.25 169 230.667 169H97.3333C92.75 169 89 163.787 89 157.417Z",1,"fill-color-0"],["d","M6.25 134.625V18.375C6.25 11.9812 11.4812 6.75 17.875 6.75H203.875C210.269 6.75 215.5 11.9812 215.5 18.375V134.625C215.5 141.019 210.269 146.25 203.875 146.25H17.875C11.4812 146.25 6.25 141.019 6.25 134.625Z",1,"stroke-color-thin"],["d","M256.188 123H238.75V76.5H256.188C259.442 76.5 262 79.0575 262 82.3125V117.188C262 120.443 259.442 123 256.188 123Z",1,"fill-color-15"],["d","M232.938 99.75H215.5V53.25H232.938C236.193 53.25 238.75 55.8075 238.75 59.0625V93.9375C238.75 97.1925 236.193 99.75 232.938 99.75Z",1,"stroke-color-thin"],["d","M146 53V87.875",1,"stroke-color-thin"],["d","M146 122.634V122.749",1,"stroke-color-thin"],["d","M344.698 95.3022C346.74 97.3445 346.74 100.656 344.698 102.698L311.418 135.978C309.376 138.02 306.065 138.02 304.022 135.978C301.98 133.935 301.98 130.624 304.022 128.582L333.604 99L304.022 69.418C301.98 67.3758 301.98 64.0647 304.022 62.0225C306.065 59.9803 309.376 59.9803 311.418 62.0225L344.698 95.3022ZM277 93.7706L341 93.7706V104.229L277 104.229V93.7706Z",1,"fill-color-15"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["fill-rule","evenodd","clip-rule","evenodd","d","M161.033 82.5635C162.307 74.0523 155.826 69.4769 146.965 66.4247L149.84 54.8952L142.822 53.1462L140.023 64.3718C138.178 63.9121 136.283 63.4783 134.4 63.0486L137.219 51.749L130.205 50L127.328 61.5255C125.801 61.1777 124.302 60.8338 122.847 60.4721L122.855 60.4361L113.177 58.0194L111.31 65.5152C111.31 65.5152 116.517 66.7085 116.407 66.7825C119.249 67.4921 119.763 69.373 119.677 70.8641L116.403 83.9987C116.599 84.0487 116.852 84.1206 117.132 84.2326C117.096 84.2236 117.06 84.2146 117.023 84.2054C116.981 84.1948 116.938 84.184 116.894 84.1731C116.732 84.1323 116.563 84.09 116.391 84.0487L111.801 102.448C111.453 103.312 110.572 104.607 108.585 104.115C108.655 104.217 103.484 102.842 103.484 102.842L100 110.875L109.133 113.152C110.152 113.408 111.16 113.67 112.156 113.93L112.158 113.931L112.159 113.931C112.823 114.104 113.481 114.276 114.136 114.443L111.232 126.105L118.242 127.854L121.118 116.316C123.033 116.836 124.892 117.316 126.711 117.768L123.844 129.251L130.862 131L133.767 119.361C145.734 121.625 154.733 120.712 158.521 109.888C161.573 101.173 158.369 96.1458 152.072 92.8677C156.658 91.8103 160.112 88.794 161.033 82.5635ZM144.998 105.049C143.008 113.044 130.493 109.739 124.766 108.226L124.766 108.226C124.251 108.09 123.791 107.969 123.398 107.871L127.252 92.4219C127.73 92.5412 128.314 92.6723 128.976 92.8208L128.976 92.8208C134.899 94.1498 147.037 96.8734 144.998 105.049ZM130.167 85.6513C134.942 86.9255 145.356 89.7047 147.17 82.4376C149.022 75.0044 138.901 72.7637 133.957 71.6694C133.401 71.5463 132.911 71.4377 132.51 71.3379L129.016 85.3499C129.346 85.4322 129.733 85.5356 130.167 85.6513Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","313.615","y","82.836","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,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"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["d","M154.81 93.8059C152.146 100.719 149.483 108.164 146.287 115.608C146.287 115.608 146.287 116.672 147.353 116.672H169.191C169.191 116.672 169.191 117.204 169.723 117.736L137.765 153.364C137.233 152.832 137.233 152.301 137.233 151.769L148.418 127.839V125.712H126.047V123.585L153.212 93.8059H154.81Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["id","clip0"],["width","225.692","height","225.692","transform","translate(0 85.9831) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","300","height","300","viewBox","0 0 300 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M50 237.5V112.5C50 105.625 55.625 100 62.5 100H262.5C269.375 100 275 105.625 275 112.5V237.5C275 244.375 269.375 250 262.5 250H62.5C55.625 250 50 244.375 50 237.5Z",1,"fill-color-0"],["d","M25 212.5V87.5C25 80.625 30.625 75 37.5 75H237.5C244.375 75 250 80.625 250 87.5V212.5C250 219.375 244.375 225 237.5 225H37.5C30.625 225 25 219.375 25 212.5Z",1,"stroke-color"],["d","M293.75 200H275V150H293.75C297.25 150 300 152.75 300 156.25V193.75C300 197.25 297.25 200 293.75 200Z",1,"fill-color-0"],["d","M268.75 175H250V125H268.75C272.25 125 275 127.75 275 131.25V168.75C275 172.25 272.25 175 268.75 175Z",1,"stroke-color"],["d","M137.5 187.5L156.25 150H118.75L137.5 112.5",1,"stroke-color"]],template:function(x,V){if(1&x&&(t.YNc(0,h0,1,0,"ng-container",0),t.YNc(1,x3,18,5,"ng-template",null,1,t.W1O),t.YNc(3,Z2,15,5,"ng-template",null,2,t.W1O),t.YNc(5,C3,19,5,"ng-template",null,3,t.W1O),t.YNc(7,ku,17,5,"ng-template",null,4,t.W1O),t.YNc(9,M3,13,5,"ng-template",null,5,t.W1O)),2&x){const me=t.MAs(2),tt=t.MAs(4),kt=t.MAs(6),jt=t.MAs(8),on=t.MAs(10);t.Q6J("ngTemplateOutlet",1===V.stepNumber?me:2===V.stepNumber?tt:3===V.stepNumber?kt:4===V.stepNumber?jt:on)}},dependencies:[si.mk,si.tP,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,fn.n5,fn.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Zl.l]}})}function E3(K,T){1&K&&t.GkF(0)}const U1=function(K,T){return{"small-svg":K,"large-svg":T}};function f0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",8)(3,"path",9)(4,"path",10)(5,"path",11)(6,"path",12)(7,"path",13)(8,"path",14)(9,"path",15)(10,"path",16)(11,"path",17),t.qZA(),t.kcU(),t.TgZ(12,"div",18)(13,"mat-card-title"),t._uU(14,"Boltz Reverse Submarine Swap explained."),t.qZA()(),t.TgZ(15,"div",19)(16,"mat-card-subtitle",20),t._uU(17," Boltz is a privacy-first account free exchange and a Lightning Service Provider. By doing a Reverse Submarine Swap on Boltz, you can swap your Lightning Bitcoin for on-chain Bitcoin. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Y2(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",21)(2,"g",22),t._UZ(3,"path",23)(4,"path",24)(5,"path",25)(6,"path",26)(7,"path",27)(8,"path",28),t.qZA(),t._UZ(9,"path",29),t.TgZ(10,"defs")(11,"clipPath",30),t._UZ(12,"rect",31),t.qZA()()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 1: Deciding to Reverse Submarine Swap"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," You have one or more channels that are running low on inbound capacity or you want to move some of your Lightning Bitcoin to your onchain wallet. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function Ru(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",32),t._UZ(2,"path",33)(3,"path",34)(4,"path",35)(5,"path",36)(6,"path",37)(7,"circle",38)(8,"rect",39),t.TgZ(9,"defs")(10,"pattern",40),t._UZ(11,"use",41),t.qZA(),t._UZ(12,"image",42),t.qZA()(),t.kcU(),t.TgZ(13,"div",18)(14,"mat-card-title"),t._uU(15,"Step 2: Paying the Lightning Invoice"),t.qZA()(),t.TgZ(16,"div",19)(17,"mat-card-subtitle",20),t._uU(18," Your Boltz client generates a secret which is sent to Boltz. In return Boltz sends a Lightning invoice based on that secret. Your Lightning node pays that invoice which moves some of your local balance to the other side of the channel. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function p0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",43)(2,"g",22),t._UZ(3,"path",44)(4,"path",45)(5,"path",46)(6,"path",47)(7,"path",48),t.qZA(),t.TgZ(8,"defs")(9,"clipPath",30),t._UZ(10,"rect",49),t.qZA()()(),t.kcU(),t.TgZ(11,"div",18)(12,"mat-card-title"),t._uU(13,"Step 3: Receiving the funds on-chain"),t.qZA()(),t.TgZ(14,"div",19)(15,"mat-card-subtitle",20),t._uU(16," In return for paying the invoice, Boltz locks on-chain BTC. Your node claims that onchain BTC to your wallet and by doing that, reveals the secret. With that secret Boltz can settle the Lightning invoice paid by your node. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}function D3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",6),t.NdJ("swipe",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onSwipe(me))}),t.O4$(),t.TgZ(1,"svg",50),t._UZ(2,"path",51)(3,"path",52)(4,"path",53)(5,"path",54)(6,"path",55),t.qZA(),t.kcU(),t.TgZ(7,"div",18)(8,"mat-card-title"),t._uU(9,"Done!"),t.qZA()(),t.TgZ(10,"div",19)(11,"mat-card-subtitle",20),t._uU(12," You have now successfully received your funds in your on-chain wallet and also spent your local balance to increase the inbound capacity of your node - all in a non-custodial manner. "),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@sliderAnimation",x.animationDirection),t.xp6(1),t.Q6J("ngClass",t.WLB(2,U1,x.screenSize===x.screenSizeEnum.XS,x.screenSize!==x.screenSizeEnum.XS))}}class V1{constructor(T){this.commonService=T,this.animationDirection="forward",this.stepNumber=1,this.stepNumberChange=new t.vpe,this.screenSize="",this.screenSizeEnum=Qe.cu}ngOnInit(){this.screenSize=this.commonService.getScreenSize()}onSwipe(T){2===T.direction&&this.stepNumber<5?(this.stepNumber++,this.animationDirection="forward",this.stepNumberChange.emit(this.stepNumber)):4===T.direction&&this.stepNumber>1&&(this.stepNumber--,this.animationDirection="backward",this.stepNumberChange.emit(this.stepNumber))}static#e=this.\u0275fac=function(x){return new(x||V1)(t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:V1,selectors:[["rtl-boltz-swapout-info-graphics"]],inputs:{animationDirection:"animationDirection",stepNumber:"stepNumber"},outputs:{stepNumberChange:"stepNumberChange"},decls:11,vars:1,consts:[[4,"ngTemplateOutlet"],["swapStepBlock1",""],["swapStepBlock2",""],["swapStepBlock3",""],["swapStepBlock4",""],["swapStepBlock5",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between center",3,"swipe"],["fxFlex","30","width","368","height","368","viewBox","0 0 368 368","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M306.667 153.333H276L260.667 184L233.797 153.763C229.441 148.861 224.595 144.24 218.529 141.746C212.54 139.284 206.099 138 199.561 138H92C41.19 138 1.52588e-05 179.19 1.52588e-05 230C1.52588e-05 280.81 41.19 322 92 322H199.561C206.099 322 212.54 320.715 218.529 318.254C224.595 315.761 229.441 311.139 233.797 306.237L260.667 276L276 306.667H306.667L291.333 260.667L306.667 230L291.333 199.333L306.667 153.333Z",1,"fill-color-0"],["d","M337.333 122.667H306.667L291.333 153.333L264.464 123.097C260.107 118.194 255.261 113.573 249.195 111.079C243.206 108.618 236.766 107.333 230.228 107.333H122.667C71.8566 107.333 30.6667 148.523 30.6667 199.333C30.6667 250.143 71.8566 291.333 122.667 291.333H230.228C236.766 291.333 243.206 290.048 249.195 287.587C255.261 285.094 260.107 280.473 264.464 275.571L291.333 245.333L306.667 276H337.333L322 230L337.333 199.333L322 168.667L337.333 122.667Z",1,"stroke-color-thicker"],["d","M214.667 245.333C206.198 245.333 199.333 238.468 199.333 230C199.333 221.532 206.198 214.667 214.667 214.667C223.135 214.667 230 221.532 230 230C230 238.468 223.135 245.333 214.667 245.333Z",1,"fill-color-15"],["d","M245.333 214.667C236.865 214.667 230 207.802 230 199.333C230 190.865 236.865 184 245.333 184C253.802 184 260.667 190.865 260.667 199.333C260.667 207.802 253.802 214.667 245.333 214.667Z",1,"stroke-color-thicker"],["d","M138 245.333C129.532 245.333 122.667 238.468 122.667 230C122.667 221.532 129.532 214.667 138 214.667C146.468 214.667 153.333 221.532 153.333 230C153.333 238.468 146.468 245.333 138 245.333Z",1,"fill-color-15"],["d","M168.667 214.667C160.198 214.667 153.333 207.802 153.333 199.333C153.333 190.865 160.198 184 168.667 184C177.135 184 184 190.865 184 199.333C184 207.802 177.135 214.667 168.667 214.667Z",1,"stroke-color-thicker"],["d","M61.3334 245.333C52.865 245.333 46 238.468 46 230C46 221.532 52.865 214.667 61.3334 214.667C69.8017 214.667 76.6667 221.532 76.6667 230C76.6667 238.468 69.8017 245.333 61.3334 245.333Z",1,"fill-color-15"],["d","M92 214.667C83.5316 214.667 76.6666 207.802 76.6666 199.333C76.6666 190.865 83.5316 184 92 184C100.468 184 107.333 190.865 107.333 199.333C107.333 207.802 100.468 214.667 92 214.667Z",1,"stroke-color-thicker"],["d","M239.077 111C241.796 111 244 113.204 244 115.923V126.077C244 128.796 241.796 131 239.077 131H191.923C189.204 131 187 128.796 187 126.077V115.923C187 113.204 189.204 111 191.923 111H239.077Z",1,"fill-color-15"],["d","M184 76.6666V107.333H122.667V76.6666H184Z",1,"stroke-color-thicker"],["fxFlex","20","fxLayoutAlign","center end"],["fxFlex","40"],[1,"font-size-120"],["fxFlex","30","width","383","height","279","viewBox","0 0 383 279","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["clip-path","url(#clip0)"],["d","M267.882 220.417V104.583C267.882 98.2125 263.809 93 258.832 93H114.029C109.051 93 104.978 98.2125 104.978 104.583V220.417C104.978 226.787 109.051 232 114.029 232H258.832C263.809 232 267.882 226.787 267.882 220.417Z",1,"fill-color-0"],["d","M357.75 197.625V81.375C357.75 74.9812 352.069 69.75 345.125 69.75H143.125C136.181 69.75 130.5 74.9812 130.5 81.375V197.625C130.5 204.019 136.181 209.25 143.125 209.25H345.125C352.069 209.25 357.75 204.019 357.75 197.625Z",1,"stroke-color-thin"],["d","M86.3125 186H105.25V139.5H86.3125C82.7775 139.5 80 142.057 80 145.312V180.188C80 183.443 82.7775 186 86.3125 186Z",1,"fill-color-15"],["d","M111.562 162.75H130.5V116.25H111.562C108.027 116.25 105.25 118.807 105.25 122.062V156.938C105.25 160.193 108.027 162.75 111.562 162.75Z",1,"stroke-color-thin"],["d","M205.979 116V150.875",1,"stroke-color-thin"],["d","M205.979 185.634V185.749",1,"stroke-color-thin"],["d","M2.44963 159.45C0.488815 161.41 0.488815 164.59 2.44963 166.55L34.403 198.504C36.3638 200.465 39.5429 200.465 41.5037 198.504C43.4645 196.543 43.4645 193.364 41.5037 191.403L13.1007 163L41.5037 134.597C43.4645 132.636 43.4645 129.457 41.5037 127.496C39.5429 125.535 36.3638 125.535 34.403 127.496L2.44963 159.45ZM65 157.979H6V168.021H65V157.979Z",1,"fill-color-15"],["id","clip0"],["width","303","height","279","transform","matrix(-1 0 0 1 383 0)",1,"fill-color-30"],["fxFlex","30","width","454","height","243","viewBox","0 0 454 243","fill","none","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",3,"ngClass"],["d","M141.75 172.125C178.098 172.125 207.562 142.66 207.562 106.312C207.562 69.9653 178.098 40.5 141.75 40.5C105.403 40.5 75.9375 69.9653 75.9375 106.312C75.9375 142.66 105.403 172.125 141.75 172.125Z",1,"fill-color-0"],["d","M121.5 151.875C157.848 151.875 187.312 122.41 187.312 86.0625C187.312 49.7153 157.848 20.25 121.5 20.25C85.1528 20.25 55.6875 49.7153 55.6875 86.0625C55.6875 122.41 85.1528 151.875 121.5 151.875Z",1,"stroke-color-thiner"],["d","M20.25 192.375H222.75",1,"stroke-color-thiner"],["d","M192.375 222.75L222.75 192.375L192.375 162",1,"stroke-color-thiner"],["d","M138.762 67C136.099 73.913 133.436 81.3578 130.24 88.8025C130.24 88.8025 130.24 89.8661 131.305 89.8661H153.143C153.143 89.8661 153.143 90.3979 153.676 90.9296L121.718 126.558C121.185 126.026 121.185 125.495 121.185 124.963L132.371 101.033V98.9062H110V96.7791L137.164 67H138.762Z",1,"fill-color-15"],["cx","371.815","cy","95.815","r","81.815",1,"fill-color-boltz-bk"],["x","317","y","81","width","110.745","height","30.1472","fill","url(#pattern0)"],["id","pattern0","patternContentUnits","objectBoundingBox","width","1","height","1"],[0,"xlink","href","#image0","transform","scale(0.00185185 0.00680272)"],["id","image0","width","540","height","147",0,"xlink","href","data:image/png;base64,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"],["fxFlex","30","width","295","height","295","viewBox","0 0 295 295","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M182.629 183.635C213.842 170.774 228.719 135.046 215.857 103.833C202.996 72.6204 167.268 57.7435 136.055 70.6048C104.843 83.4659 89.966 119.195 102.827 150.407C115.688 181.62 151.417 196.496 182.629 183.635Z",1,"fill-color-0"],["fill-rule","evenodd","clip-rule","evenodd","d","M169.522 122.093C171.059 115.241 166.054 111.136 159.022 108.13L162.04 98.916L156.431 97.0797L153.493 106.051C152.019 105.569 150.502 105.104 148.995 104.643L151.953 95.613L146.348 93.7769L143.329 102.988C142.106 102.615 140.906 102.247 139.743 101.867L139.752 101.838L132.017 99.3019L130.057 105.293C130.057 105.293 134.224 106.57 134.131 106.624C136.402 107.369 136.71 108.93 136.552 110.138L133.115 120.635C133.271 120.687 133.473 120.761 133.695 120.869C133.66 120.857 133.626 120.846 133.591 120.834C133.562 120.825 133.534 120.816 133.505 120.806C133.375 120.763 133.24 120.719 133.102 120.675L128.284 135.38C127.95 136.062 127.157 137.065 125.569 136.548C125.62 136.635 121.492 135.211 121.492 135.211L118.184 141.544L125.483 143.935C126.298 144.203 127.103 144.476 127.899 144.746L127.901 144.747C128.431 144.927 128.956 145.105 129.479 145.28L126.429 154.6L132.031 156.436L135.051 147.215C136.579 147.75 138.064 148.25 139.517 148.725L136.509 157.902L142.118 159.739L145.166 150.437C154.773 152.984 162.15 152.77 165.87 144.183C168.867 137.27 166.555 132.99 161.623 129.952C165.417 129.361 168.406 127.109 169.522 122.093ZM155.149 139.449C153.059 145.84 143.068 142.413 138.496 140.845L138.496 140.845C138.085 140.704 137.718 140.578 137.404 140.476L141.449 128.129C141.831 128.254 142.299 128.395 142.829 128.555L142.829 128.555C147.571 129.985 157.289 132.916 155.149 139.449ZM144.22 122.79C148.031 124.108 156.343 126.982 158.247 121.175C160.192 115.234 152.086 112.815 148.127 111.634C147.682 111.501 147.289 111.383 146.969 111.279L143.301 122.477C143.565 122.563 143.874 122.67 144.22 122.79Z",1,"fill-color-15"],["d","M158.075 173.411C189.288 160.55 204.164 124.822 191.303 93.6088C178.442 62.3964 142.714 47.5195 111.501 60.3808C80.2885 73.2419 65.4118 108.971 78.2729 140.183C91.1342 171.396 126.863 186.272 158.075 173.411Z",1,"stroke-color-thinest"],["d","M259.352 172.363L85.4595 244.016",1,"stroke-color-thinest"],["d","M122.291 259.352L85.4593 244.016L100.795 207.184",1,"stroke-color-thinest"],["width","225.692","height","225.692","transform","translate(0 85.983) rotate(-22.3941)",1,"fill-color-30"],["fxFlex","30","width","298","height","300","viewBox","0 0 298 300","fill","none","xmlns","http://www.w3.org/2000/svg",3,"ngClass"],["d","M248.333 237.5V112.5C248.333 105.625 242.746 100 235.917 100H37.2501C30.421 100 24.8335 105.625 24.8335 112.5V237.5C24.8335 244.375 30.421 250 37.2501 250H235.917C242.746 250 248.333 244.375 248.333 237.5Z",1,"fill-color-0"],["d","M273.167 212.5V87.5C273.167 80.625 267.579 75 260.75 75H62.0832C55.254 75 49.6665 80.625 49.6665 87.5V212.5C49.6665 219.375 55.254 225 62.0832 225H260.75C267.579 225 273.167 219.375 273.167 212.5Z",1,"stroke-color"],["d","M6.20851 200H24.8335V150H6.20851C2.73185 150 0.000183105 152.75 0.000183105 156.25V193.75C0.000183105 197.25 2.73185 200 6.20851 200Z",1,"fill-color-0"],["d","M31.0415 175H49.6665V125H31.0415C27.5648 125 24.8331 127.75 24.8331 131.25V168.75C24.8331 172.25 27.5648 175 31.0415 175Z",1,"stroke-color"],["d","M161.417 187.5L142.792 150H180.042L161.417 112.5",1,"stroke-color"]],template:function(x,V){if(1&x&&(t.YNc(0,E3,1,0,"ng-container",0),t.YNc(1,f0,18,5,"ng-template",null,1,t.W1O),t.YNc(3,Y2,19,5,"ng-template",null,2,t.W1O),t.YNc(5,Ru,19,5,"ng-template",null,3,t.W1O),t.YNc(7,p0,17,5,"ng-template",null,4,t.W1O),t.YNc(9,D3,13,5,"ng-template",null,5,t.W1O)),2&x){const me=t.MAs(2),tt=t.MAs(4),kt=t.MAs(6),jt=t.MAs(8),on=t.MAs(10);t.Q6J("ngTemplateOutlet",1===V.stepNumber?me:2===V.stepNumber?tt:3===V.stepNumber?kt:4===V.stepNumber?jt:on)}},dependencies:[si.mk,si.tP,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,fn.n5,fn.$j],styles:["svg.small-svg[_ngcontent-%COMP%]{height:50%;min-height:50%;max-width:100%}svg.large-svg[_ngcontent-%COMP%]{height:60%;min-height:60%;max-width:100%}"],data:{animation:[Zl.l]}})}const Bu=["stepper"];function Nu(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.Oqu(x.inputFormLabel)}}function Yl(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Amount is required."),t.qZA())}function _0(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.ALo(2,"number"),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.hij("Amount must be greater than or equal to ",t.lcZ(2,1,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.minimal),".")}}function Fu(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.ALo(2,"number"),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.hij("Amount must be less than or equal to ",t.lcZ(2,1,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.maximal),".")}}function Hu(K,T){1&K&&(t.TgZ(0,"button",40),t._uU(1,"Next"),t.qZA())}function $4(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",41),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onSwap())}),t._uU(1),t.qZA()}if(2&K){const x=t.oxw(2);t.xp6(1),t.hij("Initiate ",x.swapDirectionCaption,"")}}function Q2(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(3);t.Oqu(x.addressFormLabel)}}function A3(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Address is required."),t.qZA())}function zu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-step",15)(1,"form",16),t.YNc(2,Q2,1,1,"ng-template",17),t.TgZ(3,"div",42)(4,"mat-radio-group",43),t.NdJ("change",function(me){t.CHM(x);const tt=t.oxw(2);return t.KtG(tt.onAddressTypeChange(me))}),t.TgZ(5,"mat-radio-button",44),t._uU(6,"Node Local Address"),t.qZA(),t.TgZ(7,"mat-radio-button",45),t._uU(8,"External Address"),t.qZA()(),t.TgZ(9,"mat-form-field",46),t._UZ(10,"input",47),t.YNc(11,A3,2,0,"mat-error",24),t.qZA()(),t.TgZ(12,"div",25)(13,"button",48),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onSwap())}),t._uU(14),t.qZA()()()()}if(2&K){const x=t.oxw(2);t.Q6J("stepControl",x.addressFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.addressFormGroup),t.xp6(9),t.Q6J("required","external"===x.addressFormGroup.controls.addressType.value),t.xp6(1),t.Q6J("ngIf",null==x.addressFormGroup.controls.address.errors?null:x.addressFormGroup.controls.address.errors.required),t.xp6(3),t.hij("Initiate ",x.swapDirectionCaption,"")}}function Uu(K,T){if(1&K&&t._uU(0),2&K){const x=t.oxw(2);t.hij("",x.swapDirectionCaption," Status")}}function m0(K,T){if(1&K&&(t.TgZ(0,"mat-icon",49),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.swapStatus&&null!=x.swapStatus&&x.swapStatus.id?"check":"close")}}function g0(K,T){1&K&&t._UZ(0,"div")}function v0(K,T){1&K&&t._UZ(0,"mat-progress-bar",50)}function j2(K,T){if(1&K&&(t.TgZ(0,"h4",51),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.swapStatus&&x.swapStatus.error?x.swapDirectionCaption+" failed.":x.swapStatus&&x.swapStatus.id?x.swapDirectionCaption+" request placed successfully. You can check the status of the request on the 'Boltz' menu.":x.swapDirectionCaption+" request placed successfully.")}}function n1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",52),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onRestart())}),t._uU(1,"Start Again"),t.qZA()}}function Vu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",3)(1,"div",4)(2,"mat-card-header",5)(3,"div",6)(4,"span",7),t._uU(5),t.qZA()(),t.TgZ(6,"div",8)(7,"button",9),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.showInfo())}),t._uU(8,"?"),t.qZA(),t.TgZ(9,"button",10),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onClose())}),t._uU(10,"X"),t.qZA()()(),t.TgZ(11,"mat-card-content",11)(12,"div",12)(13,"mat-vertical-stepper",13,14),t.NdJ("selectionChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.stepSelectionChanged(me))}),t.TgZ(15,"mat-step",15)(16,"form",16),t.YNc(17,Nu,1,1,"ng-template",17),t.TgZ(18,"div",18),t._UZ(19,"rtl-boltz-service-info",19),t.qZA(),t.TgZ(20,"div",20)(21,"mat-form-field",21),t._UZ(22,"input",22),t.TgZ(23,"mat-hint"),t._uU(24),t.ALo(25,"number"),t.ALo(26,"number"),t.qZA(),t.TgZ(27,"span",23),t._uU(28,"Sats"),t.qZA(),t.YNc(29,Yl,2,0,"mat-error",24),t.YNc(30,_0,3,3,"mat-error",24),t.YNc(31,Fu,3,3,"mat-error",24),t.qZA()(),t.TgZ(32,"div",25),t.YNc(33,Hu,2,0,"button",26),t.YNc(34,$4,2,1,"button",27),t.qZA()()(),t.YNc(35,zu,15,6,"mat-step",28),t.TgZ(36,"mat-step",29)(37,"form",16),t.YNc(38,Uu,1,1,"ng-template",17),t.TgZ(39,"div",30)(40,"mat-expansion-panel",31)(41,"mat-expansion-panel-header")(42,"mat-panel-title")(43,"span",32),t._uU(44),t.YNc(45,m0,2,1,"mat-icon",33),t.qZA()()(),t.YNc(46,g0,1,0,"div",34),t.qZA(),t.YNc(47,v0,1,0,"mat-progress-bar",35),t.qZA(),t.YNc(48,j2,2,1,"h4",36),t.TgZ(49,"div",25),t.YNc(50,n1,2,0,"button",37),t.qZA()()()(),t.TgZ(51,"div",38)(52,"button",39),t._uU(53,"Close"),t.qZA()()()()()()}if(2&K){const x=t.oxw(),V=t.MAs(2);t.Q6J("@opacityAnimation",void 0),t.xp6(3),t.Q6J("fxFlex",x.screenSize===x.screenSizeEnum.XS||x.screenSize===x.screenSizeEnum.SM?"83":"91"),t.xp6(2),t.Oqu(x.swapDirectionCaption),t.xp6(1),t.Q6J("fxFlex",x.screenSize===x.screenSizeEnum.XS||x.screenSize===x.screenSizeEnum.SM?"17":"9"),t.xp6(7),t.Q6J("linear",!0),t.xp6(2),t.Q6J("stepControl",x.inputFormGroup)("editable",x.flgEditable),t.xp6(1),t.Q6J("formGroup",x.inputFormGroup),t.xp6(3),t.Q6J("serviceInfo",x.serviceInfo)("direction",x.direction),t.xp6(3),t.Q6J("step",1e3),t.xp6(2),t.AsE("Range: ",t.lcZ(25,30,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.minimal),"-",t.lcZ(26,32,null==x.serviceInfo||null==x.serviceInfo.limits?null:x.serviceInfo.limits.maximal),""),t.xp6(5),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.required),t.xp6(1),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.min),t.xp6(1),t.Q6J("ngIf",null==x.inputFormGroup||null==x.inputFormGroup.controls||null==x.inputFormGroup.controls.amount||null==x.inputFormGroup.controls.amount.errors?null:x.inputFormGroup.controls.amount.errors.max),t.xp6(2),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_IN),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("stepControl",x.statusFormGroup),t.xp6(1),t.Q6J("formGroup",x.statusFormGroup),t.xp6(3),t.Q6J("expanded",!!x.swapStatus),t.xp6(4),t.Oqu(x.swapStatus?x.swapStatus.id?x.swapDirectionCaption+" request details":x.swapDirectionCaption+" error details":"Waiting for "+x.swapDirectionCaption+" request..."),t.xp6(1),t.Q6J("ngIf",x.swapStatus),t.xp6(1),t.Q6J("ngIf",!x.swapStatus)("ngIfElse",V),t.xp6(1),t.Q6J("ngIf",!x.swapStatus),t.xp6(1),t.Q6J("ngIf",x.swapStatus),t.xp6(2),t.Q6J("ngIf",x.swapStatus&&(x.swapStatus.error||!x.swapStatus.id)),t.xp6(2),t.Q6J("mat-dialog-close",!1)}}function q2(K,T){if(1&K&&t._UZ(0,"rtl-boltz-swap-status",53),2&K){const x=t.oxw();t.Q6J("swapStatus",x.swapStatus)("direction",x.direction)}}function y0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"rtl-boltz-swapout-info-graphics",70),t.NdJ("stepNumberChange",function(me){t.CHM(x);const tt=t.oxw(2);return t.KtG(tt.stepNumber=me)}),t.qZA()}if(2&K){const x=t.oxw(2);t.Q6J("animationDirection",x.animationDirection)("stepNumber",x.stepNumber)}}function b0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"rtl-boltz-swapin-info-graphics",70),t.NdJ("stepNumberChange",function(me){t.CHM(x);const tt=t.oxw(2);return t.KtG(tt.stepNumber=me)}),t.qZA()}if(2&K){const x=t.oxw(2);t.Q6J("animationDirection",x.animationDirection)("stepNumber",x.stepNumber)}}const i1=function(K,T){return{"dot-primary":K,"dot-primary-lighter":T}};function T3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"span",71),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onStepChanged(tt))}),t._UZ(1,"p",72),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw(2);t.xp6(1),t.Q6J("ngClass",t.WLB(1,i1,V.stepNumber===x,V.stepNumber!==x))}}function x0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",73),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onReadMore())}),t._uU(1,"Read More"),t.qZA()}}function Wu(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",74),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onStepChanged(4))}),t._uU(1,"Back"),t.qZA()}}function w3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",75),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return me.flgShowInfo=!1,t.KtG(me.stepNumber=1)}),t._uU(1,"Close"),t.qZA()}}function I3(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",76),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return me.flgShowInfo=!1,t.KtG(me.stepNumber=1)}),t._uU(1,"Close"),t.qZA()}}function C0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",77),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onStepChanged(me.stepNumber-1))}),t._uU(1,"Back"),t.qZA()}}function Ku(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",78),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onStepChanged(me.stepNumber+1))}),t._uU(1,"Next"),t.qZA()}}const X2=function(){return[1,2,3,4,5]};function M0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",54)(1,"div",18)(2,"mat-card-header",55)(3,"div",56),t._UZ(4,"span",7),t.qZA(),t.TgZ(5,"div",57)(6,"button",58),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return me.flgShowInfo=!1,t.KtG(me.stepNumber=1)}),t._uU(7,"X"),t.qZA()()(),t.TgZ(8,"mat-card-content",59),t.YNc(9,y0,1,2,"rtl-boltz-swapout-info-graphics",60),t.YNc(10,b0,1,2,"rtl-boltz-swapin-info-graphics",60),t.qZA(),t.TgZ(11,"div",61),t.YNc(12,T3,2,4,"span",62),t.qZA(),t.TgZ(13,"div",63),t.YNc(14,x0,2,0,"button",64),t.YNc(15,Wu,2,0,"button",65),t.YNc(16,w3,2,0,"button",66),t.YNc(17,I3,2,0,"button",67),t.YNc(18,C0,2,0,"button",68),t.YNc(19,Ku,2,0,"button",69),t.qZA()()()}if(2&K){const x=t.oxw();t.Q6J("@opacityAnimation",void 0),t.xp6(9),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_OUT),t.xp6(1),t.Q6J("ngIf",x.direction===x.swapTypeEnum.SWAP_IN),t.xp6(2),t.Q6J("ngForOf",t.DdM(10,X2)),t.xp6(2),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",5===x.stepNumber),t.xp6(1),t.Q6J("ngIf",x.stepNumber<5),t.xp6(1),t.Q6J("ngIf",x.stepNumber>1&&x.stepNumber<5),t.xp6(1),t.Q6J("ngIf",x.stepNumber<5)}}class Fo{constructor(T,x,V,me,tt,kt,jt){this.dialogRef=T,this.data=x,this.boltzService=V,this.formBuilder=me,this.decimalPipe=tt,this.logger=kt,this.commonService=jt,this.faInfoCircle=he.sqG,this.serviceInfo={fees:{percentage:null,miner:{normal:null,reverse:null}},limits:{minimal:1e4,maximal:5e7}},this.swapTypeEnum=Qe.hc,this.direction=Qe.hc.SWAP_OUT,this.swapDirectionCaption="Swap out",this.swapStatus=null,this.inputFormLabel="Amount to swap out",this.addressFormLabel="Withdrawal Address",this.flgShowInfo=!1,this.stepNumber=1,this.screenSize="",this.screenSizeEnum=Qe.cu,this.animationDirection="forward",this.flgEditable=!0,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),this.serviceInfo=this.data.serviceInfo,this.direction=this.data.direction||Qe.hc.SWAP_OUT,this.swapDirectionCaption=this.direction===Qe.hc.SWAP_OUT?"Swap Out":"Swap in",this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.inputFormGroup=this.formBuilder.group({amount:[this.serviceInfo.limits?.minimal,[qt.kI.required,qt.kI.min(this.serviceInfo.limits?.minimal||0),qt.kI.max(this.serviceInfo.limits?.maximal||0)]]}),this.addressFormGroup=this.formBuilder.group({addressType:["local",[qt.kI.required]],address:[{value:"",disabled:!0}]}),this.statusFormGroup=this.formBuilder.group({}),this.onFormValueChanges()}ngAfterViewInit(){this.direction===Qe.hc.SWAP_OUT&&this.addressFormGroup.setErrors({Invalid:!0})}onFormValueChanges(){this.direction===Qe.hc.SWAP_OUT&&this.addressFormGroup.valueChanges.pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.addressFormGroup.setErrors({Invalid:!0})})}onAddressTypeChange(T){"external"===T.value?(this.addressFormGroup.controls.address.setValidators([qt.kI.required]),this.addressFormGroup.controls.address.markAsTouched(),this.addressFormGroup.controls.address.enable()):(this.addressFormGroup.controls.address.setValidators(null),this.addressFormGroup.controls.address.markAsPristine(),this.addressFormGroup.controls.address.disable(),this.addressFormGroup.controls.address.setValue("")),this.addressFormGroup.setErrors({Invalid:!0})}onSwap(){if(!this.inputFormGroup.controls.amount.value||this.serviceInfo.limits?.minimal&&this.inputFormGroup.controls.amount.value<+this.serviceInfo.limits.minimal||this.serviceInfo.limits?.maximal&&this.inputFormGroup.controls.amount.value>+this.serviceInfo.limits.maximal||this.direction===Qe.hc.SWAP_OUT&&"external"===this.addressFormGroup.controls.addressType.value&&(!this.addressFormGroup.controls.address.value||""===this.addressFormGroup.controls.address.value.trim()))return!0;if(this.flgEditable=!1,this.stepper.selected?.stepControl.setErrors(null),this.stepper.next(),this.direction===Qe.hc.SWAP_IN)this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe((0,ui.R)(this.unSubs[3])).subscribe({next:T=>{this.swapStatus=T,this.boltzService.listSwaps(),this.flgEditable=!0},error:T=>{this.swapStatus={error:T},this.flgEditable=!0,this.logger.error(T)}});else{const T="external"===this.addressFormGroup.controls.addressType.value?this.addressFormGroup.controls.address.value:"";this.boltzService.swapOut(this.inputFormGroup.controls.amount.value,T).pipe((0,ui.R)(this.unSubs[4])).subscribe({next:x=>{this.swapStatus=x,this.boltzService.listSwaps(),this.flgEditable=!0},error:x=>{this.swapStatus={error:x},this.flgEditable=!0,this.logger.error(x)}})}}stepSelectionChanged(T){switch(T.selectedIndex){case 0:default:this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address";break;case 1:this.inputFormGroup.controls.amount.value?(this.direction,Qe.hc.SWAP_IN,this.inputFormLabel=this.swapDirectionCaption+" Amount: "+this.decimalPipe.transform(this.inputFormGroup.controls.amount.value?this.inputFormGroup.controls.amount.value:0)+" Sats"):this.inputFormLabel="Amount to "+this.swapDirectionCaption,this.addressFormLabel="Withdrawal Address"}T.selectedIndex{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Fo)(t.Y36(Ma.so),t.Y36(Ma.WI),t.Y36(yo),t.Y36(qt.QS),t.Y36(si.JJ),t.Y36(sn.mQ),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:Fo,selectors:[["rtl-boltz-swap-modal"]],viewQuery:function(x,V){if(1&x&&t.Gf(Bu,5),2&x){let me;t.iGM(me=t.CRH())&&(V.stepper=me.first)}},decls:4,vars:2,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",4,"ngIf"],["swapStatusBlock",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","info-graphics-container",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxLayoutAlign","start start",3,"fxFlex"],[1,"page-title"],["fxLayoutAlign","space-between end",3,"fxFlex"],["tabindex","21","mat-button","",1,"btn-close-x","p-0",3,"click"],["tabindex","22","mat-button","",1,"btn-close-x","p-0",3,"click"],[1,"padding-gap-x-large"],["fxLayout","column"],[3,"linear","selectionChange"],["stepper",""],[3,"stepControl","editable"],["fxLayout","column","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between",1,"my-1",3,"formGroup"],["matStepLabel",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between stretch"],[3,"serviceInfo","direction"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between center",1,"mt-1"],["fxFlex","48"],["autoFocus","","matInput","","placeholder","Amount","type","number","tabindex","1","formControlName","amount","required","",3,"step"],["matSuffix",""],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxFlex","100",1,"mt-2"],["mat-button","","color","primary","tabindex","2","type","button","matStepperNext","",4,"ngIf"],["mat-button","","color","primary","tabindex","3","type","button",3,"click",4,"ngIf"],[3,"stepControl","editable",4,"ngIf"],[3,"stepControl"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch"],["fxFlex","100",1,"flat-expansion-panel",3,"expanded"],["fxLayoutAlign","start center","fxFlex","100"],["class","ml-1 icon-small",4,"ngIf"],[4,"ngIf","ngIfElse"],["fxFlex","100","color","primary","mode","indeterminate",4,"ngIf"],["fxLayoutAlign","start","class","font-bold-500 mt-2",4,"ngIf"],["mat-button","","color","primary","tabindex","13","type","button",3,"click",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end end"],["mat-button","","color","primary","tabindex","14","type","button","default","",3,"mat-dialog-close"],["mat-button","","color","primary","tabindex","2","type","button","matStepperNext",""],["mat-button","","color","primary","tabindex","3","type","button",3,"click"],["fxLayout","row wrap","fxFlex","100","fxLayoutAlign","space-between stretch",1,"mt-1"],["color","primary","name","addressType","formControlName","addressType","fxFlex","100","fxLayoutAlign","space-between stretch",3,"change"],["fxFlex","48","tabindex","8","value","local"],["fxFlex","48","tabindex","9","value","external"],["fxFlex","100",1,"mt-1"],["matInput","","placeholder","Address","tabindex","10","formControlName","address",3,"required"],["mat-button","","color","primary","tabindex","11","type","button",3,"click"],[1,"ml-1","icon-small"],["fxFlex","100","color","primary","mode","indeterminate"],["fxLayoutAlign","start",1,"font-bold-500","mt-2"],["mat-button","","color","primary","tabindex","13","type","button",3,"click"],["fxLayout","column",3,"swapStatus","direction"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"info-graphics-container"],["fxLayout","row","fxFlex","8","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],["fxFlex","5","fxLayoutAlign","end center"],["tabindex","19","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","column","fxFlex","70","fxLayoutAlign","space-between center",1,"padding-gap-x-large"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange",4,"ngIf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","center end",1,"padding-gap-x-large","padding-gap-bottom-large"],["fxLayoutAlign","center center","class","dots-stepper-block",3,"click",4,"ngFor","ngForOf"],["fxLayout","row","fxFlex","10","fxLayoutAlign","end end",1,"padding-gap-x-large","padding-gap-bottom-large"],["mat-button","","class","mr-1","color","primary","tabindex","15","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","16","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","17","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","18","type","button",3,"click",4,"ngIf"],["mat-button","","class","mr-1","color","primary","tabindex","19","type","button",3,"click",4,"ngIf"],["mat-button","","color","primary","tabindex","20","type","button",3,"click",4,"ngIf"],["fxFlex","100",3,"animationDirection","stepNumber","stepNumberChange"],["fxLayoutAlign","center center",1,"dots-stepper-block",3,"click"],[1,"dot","tiny-dot","mr-0",3,"ngClass"],["mat-button","","color","primary","tabindex","15","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","16","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","17","type","button",3,"click"],["mat-button","","color","primary","tabindex","18","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","19","type","button",1,"mr-1",3,"click"],["mat-button","","color","primary","tabindex","20","type","button",3,"click"]],template:function(x,V){1&x&&(t.YNc(0,Vu,54,34,"div",0),t.YNc(1,q2,1,2,"ng-template",null,1,t.W1O),t.YNc(3,M0,20,11,"div",2)),2&x&&(t.Q6J("ngIf",!V.flgShowInfo),t.xp6(3),t.Q6J("ngIf",V.flgShowInfo))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.Fj,qt.wV,qt.JJ,qt.JL,qt.Q7,qt.sg,qt.u,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ma.ZT,An.lW,fn.dk,fn.dn,zi.ib,zi.yz,zi.yK,Fl.Hw,Sn.TO,Sn.KE,Sn.bx,Sn.R9,Er.Nt,pc.pW,Fr.VQ,Fr.U0,bs.C0,bs.VY,bs.Vq,bs.Ic,Si.h,e1,u0,t1,V1,si.JJ],styles:[".dots-stepper-block[_ngcontent-%COMP%]{width:3rem}.info-graphics-container[_ngcontent-%COMP%]{max-height:60rem;min-height:60rem}"],data:{animation:[$c._]}})}function Gu(K,T){if(1&K&&(t.TgZ(0,"mat-option",42),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.Q6J("value",x),t.xp6(1),t.Oqu(V.getLabel(x))}}function E0(K,T){1&K&&t._UZ(0,"mat-progress-bar",43)}function L3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Status"),t.qZA())}function bc(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Oqu(V.swapStateEnum[null==x?null:x.status])}}function J2(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Swap ID"),t.qZA())}function S3(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.id)}}function Zu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Claim Address"),t.qZA())}const Xo=function(K){return{width:K}};function D0(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.claimAddress)}}function $2(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Lockup Address"),t.qZA())}function Yu(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.lockupAddress)}}function A0(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Onchain Amount (Sats)"),t.qZA())}function xc(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.onchainAmount))}}function ef(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Expected Amount (Sats)"),t.qZA())}function tf(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.expectedAmount))}}function Qu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Error"),t.qZA())}function O3(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.error)}}function P3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Private Key"),t.qZA())}function Jo(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.privateKey)}}function Cc(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Preimage"),t.qZA())}function Mc(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.preimage)}}function T0(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Redeem Script"),t.qZA())}function k3(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.redeemScript)}}function R3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Invoice"),t.qZA())}function ju(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",46)(2,"span",47),t._uU(3),t.qZA()()()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngStyle",t.VKq(2,Xo,V.screenSize===V.screenSizeEnum.XS?"10rem":V.colWidth)),t.xp6(2),t.Oqu(null==x?null:x.invoice)}}function qu(K,T){1&K&&(t.TgZ(0,"th",48),t._uU(1,"Timeout Block Height"),t.qZA())}function ed(K,T){if(1&K&&(t.TgZ(0,"td",45)(1,"span",49),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&K){const x=T.$implicit;t.xp6(2),t.Oqu(t.lcZ(3,1,null==x?null:x.timeoutBlockHeight))}}function Xu(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Lockup Tx ID"),t.qZA())}function W1(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.lockupTransactionId)}}function B3(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Claim Tx ID"),t.qZA())}function N3(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.claimTransactionId)}}function td(K,T){1&K&&(t.TgZ(0,"th",44),t._uU(1,"Refund Tx ID"),t.qZA())}function $o(K,T){if(1&K&&(t.TgZ(0,"td",45),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.xp6(1),t.Oqu(null==x?null:x.refundTransactionId)}}function a1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"th",50)(1,"div",51)(2,"mat-select",52),t._UZ(3,"mat-select-trigger"),t.TgZ(4,"mat-option",53),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onDownloadCSV())}),t._uU(5,"Download CSV"),t.qZA()()()()}}function Ql(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"td",54)(1,"button",55),t.NdJ("click",function(me){const kt=t.CHM(x).$implicit,jt=t.oxw();return t.KtG(jt.onSwapClick(kt,me))}),t._uU(2,"View Info"),t.qZA()()}}function Ju(K,T){if(1&K&&(t.TgZ(0,"p"),t._uU(1),t.qZA()),2&K){const x=t.oxw(2);t.xp6(1),t.Oqu(x.emptyTableMessage)}}function K1(K,T){if(1&K&&(t.TgZ(0,"td",56),t.YNc(1,Ju,2,1,"p",57),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("ngIf",!(null!=x.listSwaps&&x.listSwaps.data)||(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)<1)}}const w0=function(K){return{"display-none":K}};function F3(K,T){if(1&K&&t._UZ(0,"tr",58),2&K){const x=t.oxw();t.Q6J("ngClass",t.VKq(1,w0,(null==x.listSwaps?null:x.listSwaps.data)&&(null==x.listSwaps||null==x.listSwaps.data?null:x.listSwaps.data.length)>0))}}function nd(K,T){1&K&&t._UZ(0,"tr",59)}function jl(K,T){1&K&&t._UZ(0,"tr",60)}const id=function(){return["all"]},H3=function(K){return{"overflow-auto error-border":K,"overflow-auto":!0}},$u=function(){return["no_swap"]};class G1{constructor(T,x,V,me,tt){this.logger=T,this.commonService=x,this.store=V,this.boltzService=me,this.camelCaseWithReplace=tt,this.selectedSwapType=Qe.hc.SWAP_OUT,this.swapsData=[],this.flgLoading=[!0],this.emptyTableMessage="No swaps available.",this.nodePageDefs=Qe.hG,this.selFilterBy="all",this.colWidth="20rem",this.PAGE_ID="boltz",this.tableSettingSwapOut={tableId:"swap_out",recordsPerPage:Qe.IV,sortBy:"status",sortOrder:Qe.Pi.DESCENDING},this.tableSettingSwapIn={tableId:"swap_in",recordsPerPage:Qe.IV,sortBy:"status",sortOrder:Qe.Pi.DESCENDING},this.swapStateEnum=Qe.Qw,this.faHistory=he.qO$,this.swapCaption="Swap Out",this.displayedColumns=[],this.listSwaps=new wa.by([]),this.selFilter="",this.pageSize=Qe.IV,this.pageSizeOptions=Qe.TJ,this.screenSize="",this.screenSizeEnum=Qe.cu,this.unSubs=[new Gn.x,new Gn.x,new Gn.x],this.screenSize=this.commonService.getScreenSize()}ngOnInit(){this.store.select(Nl.Pr).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.tableSettingSwapOut=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapOut.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapOut.tableId),this.tableSettingSwapIn=T.pageSettings.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapIn.tableId)||Qe.gK.find(x=>x.pageId===this.PAGE_ID)?.tables.find(x=>x.tableId===this.tableSettingSwapIn.tableId),this.setTableColumns(),this.swapsData&&this.swapsData.length>0&&this.sort&&this.paginator&&this.displayedColumns.length>0&&this.loadSwapsTable(this.swapsData),this.colWidth=this.displayedColumns.length?this.commonService.getContainerSize().width/this.displayedColumns.length/10+"rem":"20rem",this.logger.info(this.displayedColumns)})}ngAfterViewInit(){this.swapsData&&this.swapsData.length>0&&this.loadSwapsTable(this.swapsData)}ngOnChanges(T){T.selectedSwapType&&!T.selectedSwapType.firstChange&&this.setTableColumns(),this.swapCaption=this.selectedSwapType===Qe.hc.SWAP_IN?"Swap In":"Swap Out",this.loadSwapsTable(this.swapsData)}setTableColumns(){this.selectedSwapType===Qe.hc.SWAP_IN?(this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSettingSwapIn.recordsPerPage?+this.tableSettingSwapIn.recordsPerPage:Qe.IV):(this.screenSize===Qe.cu.XS||this.screenSize===Qe.cu.SM?this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelectionSM)):this.displayedColumns=JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelection)),this.displayedColumns.push("actions"),this.pageSize=this.tableSettingSwapOut.recordsPerPage?+this.tableSettingSwapOut.recordsPerPage:Qe.IV)}applyFilter(){this.listSwaps&&""!==this.selFilter&&(this.listSwaps.filter=this.selFilter.trim().toLowerCase())}getLabel(T){const x=this.selectedSwapType===Qe.hc.SWAP_IN?this.tableSettingSwapIn.tableId:this.tableSettingSwapOut.tableId,V=this.nodePageDefs[this.PAGE_ID][x].allowedColumns.find(me=>me.column===T);return V?V.label?V.label:this.camelCaseWithReplace.transform(V.column,"_"):this.commonService.titleCase(T)}setFilterPredicate(){this.listSwaps.filterPredicate=(T,x)=>{let V="";switch(this.selFilterBy){case"all":V=JSON.stringify(T).toLowerCase();break;case"status":V=T?.status?this.swapStateEnum[T?.status]:"";break;default:V=typeof T[this.selFilterBy]>"u"?"":"string"==typeof T[this.selFilterBy]?T[this.selFilterBy].toLowerCase():"boolean"==typeof T[this.selFilterBy]?T[this.selFilterBy]?"yes":"no":T[this.selFilterBy].toString()}return"status"===this.selFilterBy?0===V.indexOf(x):V.includes(x)}}onSwapClick(T,x){this.boltzService.swapInfo(T.id||"").pipe((0,ui.R)(this.unSubs[1])).subscribe(V=>{V=this.selectedSwapType===Qe.hc.SWAP_IN?V.swap:V.reverseSwap;const me=[[{key:"status",value:Qe.Qw[V.status],title:"Status",width:50,type:Qe.Gi.STRING},{key:"id",value:V.id,title:"ID",width:50,type:Qe.Gi.STRING}],[{key:"amount",value:V.onchainAmount?V.onchainAmount:V.expectedAmount?V.expectedAmount:0,title:V.onchainAmount?"Onchain Amount (Sats)":V.expectedAmount?"Expected Amount (Sats)":"Amount (Sats)",width:50,type:Qe.Gi.NUMBER},{key:"timeoutBlockHeight",value:V.timeoutBlockHeight,title:"Timeout Block Height",width:50,type:Qe.Gi.NUMBER}],[{key:"address",value:V.claimAddress?V.claimAddress:V.lockupAddress?V.lockupAddress:"",title:V.claimAddress?"Claim Address":V.lockupAddress?"Lockup Address":"Address",width:100,type:Qe.Gi.STRING}],[{key:"invoice",value:V.invoice,title:"Invoice",width:100,type:Qe.Gi.STRING}],[{key:"privateKey",value:V.privateKey,title:"Private Key",width:100,type:Qe.Gi.STRING}],[{key:"preimage",value:V.preimage,title:"Preimage",width:100,type:Qe.Gi.STRING}],[{key:"redeemScript",value:V.redeemScript,title:"Redeem Script",width:100,type:Qe.Gi.STRING}],[{key:"lockupTransactionId",value:V.lockupTransactionId,title:"Lockup Transaction ID",width:50,type:Qe.Gi.STRING},{key:"transactionId",value:V.claimTransactionId?V.claimTransactionId:V.refundTransactionId?V.refundTransactionId:"",title:V.claimTransactionId?"Claim Transaction ID":V.refundTransactionId?"Refund Transaction ID":"Transaction ID",width:50,type:Qe.Gi.STRING}]];this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.INFORMATION,alertTitle:this.swapCaption+" Status",message:me,openedBy:"SWAP"}}}))})}loadSwapsTable(T){this.listSwaps=T?new wa.by([...T]):new wa.by([]),this.listSwaps.sort=this.sort,this.listSwaps.sortingDataAccessor=(x,V)=>x[V]&&isNaN(x[V])?x[V].toLocaleLowerCase():x[V]?+x[V]:null,this.selectedSwapType===Qe.hc.SWAP_IN?this.listSwaps.sort?.sort({id:this.tableSettingSwapIn.sortBy,start:this.tableSettingSwapIn.sortOrder,disableClear:!0}):this.listSwaps.sort?.sort({id:this.tableSettingSwapOut.sortBy,start:this.tableSettingSwapOut.sortOrder,disableClear:!0}),this.paginator&&this.paginator.firstPage(),this.listSwaps.paginator=this.paginator,this.setFilterPredicate(),this.applyFilter(),this.logger.info(this.listSwaps)}onDownloadCSV(){this.listSwaps.data&&this.listSwaps.data.length>0&&this.commonService.downloadFile(this.listSwaps.data,this.selectedSwapType===Qe.hc.SWAP_IN?"Swap in":"Swap out")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||G1)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(yo),t.Y36($d.D3))};static#t=this.\u0275cmp=t.Xpm({type:G1,selectors:[["rtl-boltz-swaps"]],viewQuery:function(x,V){if(1&x&&(t.Gf(H2.YE,5),t.Gf(Kl.NW,5)),2&x){let me;t.iGM(me=t.CRH())&&(V.sort=me.first),t.iGM(me=t.CRH())&&(V.paginator=me.first)}},inputs:{selectedSwapType:"selectedSwapType",swapsData:"swapsData",flgLoading:"flgLoading",emptyTableMessage:"emptyTableMessage"},features:[t._Bn([{provide:Kl.ye,useValue:(0,Qe.pt)("Swaps")}]),t.TTD],decls:71,vars:18,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","start start",1,"card-content-gap"],["fxLayout","column","fxLayout.gt-xs","row","fxLayoutAlign.gt-xs","start center","fxLayoutAlign","start stretch","fxFlex","100",1,"page-sub-title-container","w-100"],["fxFlex","70"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxFlex.gt-xs","30","fxLayoutAlign.gt-xs","space-between center","fxLayout","row","fxLayoutAlign","space-between stretch"],["fxFlex","49"],["placeholder","Filter By","tabindex","1","name","filterBy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["matInput","","name","filter","placeholder","Filter",3,"ngModel","ngModelChange","input","keyup"],["fxLayout","row","fxLayoutAlign","start center",1,"w-100"],["fxFlex","100",1,"table-container",3,"perfectScrollbar"],["mode","indeterminate",4,"ngIf"],["mat-table","","matSort","",3,"dataSource","ngClass"],["table",""],["matColumnDef","status"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","claimAddress"],["matColumnDef","lockupAddress"],["matColumnDef","onchainAmount"],["mat-header-cell","","mat-sort-header","","arrowPosition","before",4,"matHeaderCellDef"],["matColumnDef","expectedAmount"],["matColumnDef","error"],["matColumnDef","privateKey"],["matColumnDef","preimage"],["matColumnDef","redeemScript"],["matColumnDef","invoice"],["matColumnDef","timeoutBlockHeight"],["matColumnDef","lockupTransactionId"],["matColumnDef","claimTransactionId"],["matColumnDef","refundTransactionId"],["matColumnDef","actions"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","fxLayoutAlign","end center",4,"matCellDef"],["matColumnDef","no_swap"],["mat-footer-cellcolspan","4",4,"matFooterCellDef"],["mat-footer-row","",3,"ngClass",4,"matFooterRowDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mb-1",3,"pageSize","pageSizeOptions","showFirstLastButtons"],[3,"value"],["mode","indeterminate"],["mat-header-cell","","mat-sort-header",""],["mat-cell",""],["fxLayout","row",1,"ellipsis-parent",3,"ngStyle"],[1,"ellipsis-child"],["mat-header-cell","","mat-sort-header","","arrowPosition","before"],["fxLayoutAlign","end center"],["mat-header-cell",""],["fxLayoutAlign","center center",1,"bordered-box","table-actions-select"],["placeholder","Actions","tabindex","1",1,"mr-0"],[3,"click"],["mat-cell","","fxLayoutAlign","end center"],["mat-stroked-button","","color","primary","type","button","tabindex","4",1,"table-actions-button",3,"click"],["mat-footer-cellcolspan","4"],[4,"ngIf"],["mat-footer-row","",3,"ngClass"],["mat-header-row",""],["mat-row",""]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span",4),t._uU(5),t.qZA()(),t.TgZ(6,"div",5)(7,"mat-form-field",6)(8,"mat-select",7),t.NdJ("ngModelChange",function(tt){return V.selFilterBy=tt})("selectionChange",function(){return V.selFilter="",V.applyFilter()}),t.YNc(9,Gu,2,2,"mat-option",8),t.qZA()(),t.TgZ(10,"mat-form-field",6)(11,"input",9),t.NdJ("ngModelChange",function(tt){return V.selFilter=tt})("input",function(){return V.applyFilter()})("keyup",function(){return V.applyFilter()}),t.qZA()()()(),t.TgZ(12,"div",10)(13,"div",11),t.YNc(14,E0,1,0,"mat-progress-bar",12),t.TgZ(15,"table",13,14),t.ynx(17,15),t.YNc(18,L3,2,0,"th",16),t.YNc(19,bc,2,1,"td",17),t.BQk(),t.ynx(20,18),t.YNc(21,J2,2,0,"th",16),t.YNc(22,S3,2,1,"td",17),t.BQk(),t.ynx(23,19),t.YNc(24,Zu,2,0,"th",16),t.YNc(25,D0,4,4,"td",17),t.BQk(),t.ynx(26,20),t.YNc(27,$2,2,0,"th",16),t.YNc(28,Yu,4,4,"td",17),t.BQk(),t.ynx(29,21),t.YNc(30,A0,2,0,"th",22),t.YNc(31,xc,4,3,"td",17),t.BQk(),t.ynx(32,23),t.YNc(33,ef,2,0,"th",22),t.YNc(34,tf,4,3,"td",17),t.BQk(),t.ynx(35,24),t.YNc(36,Qu,2,0,"th",16),t.YNc(37,O3,4,4,"td",17),t.BQk(),t.ynx(38,25),t.YNc(39,P3,2,0,"th",16),t.YNc(40,Jo,4,4,"td",17),t.BQk(),t.ynx(41,26),t.YNc(42,Cc,2,0,"th",16),t.YNc(43,Mc,4,4,"td",17),t.BQk(),t.ynx(44,27),t.YNc(45,T0,2,0,"th",16),t.YNc(46,k3,4,4,"td",17),t.BQk(),t.ynx(47,28),t.YNc(48,R3,2,0,"th",16),t.YNc(49,ju,4,4,"td",17),t.BQk(),t.ynx(50,29),t.YNc(51,qu,2,0,"th",22),t.YNc(52,ed,4,3,"td",17),t.BQk(),t.ynx(53,30),t.YNc(54,Xu,2,0,"th",16),t.YNc(55,W1,2,1,"td",17),t.BQk(),t.ynx(56,31),t.YNc(57,B3,2,0,"th",16),t.YNc(58,N3,2,1,"td",17),t.BQk(),t.ynx(59,32),t.YNc(60,td,2,0,"th",16),t.YNc(61,$o,2,1,"td",17),t.BQk(),t.ynx(62,33),t.YNc(63,a1,6,0,"th",34),t.YNc(64,Ql,3,0,"td",35),t.BQk(),t.ynx(65,36),t.YNc(66,K1,2,1,"td",37),t.BQk(),t.YNc(67,F3,1,3,"tr",38),t.YNc(68,nd,1,0,"tr",39),t.YNc(69,jl,1,0,"tr",40),t.qZA(),t._UZ(70,"mat-paginator",41),t.qZA()()()),2&x&&(t.xp6(3),t.Q6J("icon",V.faHistory),t.xp6(2),t.hij("",V.swapCaption," History"),t.xp6(3),t.Q6J("ngModel",V.selFilterBy),t.xp6(1),t.Q6J("ngForOf",t.DdM(14,id).concat(V.displayedColumns.slice(0,-1))),t.xp6(2),t.Q6J("ngModel",V.selFilter),t.xp6(3),t.Q6J("ngIf",!0===V.flgLoading[0]),t.xp6(1),t.Q6J("dataSource",V.listSwaps)("ngClass",t.VKq(15,H3,"error"===V.flgLoading[0])),t.xp6(52),t.Q6J("matFooterRowDef",t.DdM(17,$u)),t.xp6(1),t.Q6J("matHeaderRowDef",V.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",V.displayedColumns),t.xp6(1),t.Q6J("pageSize",V.pageSize)("pageSizeOptions",V.pageSizeOptions)("showFirstLastButtons",V.screenSize!==V.screenSizeEnum.XS))},dependencies:[si.mk,si.sg,si.O5,si.PC,qt.Fj,qt.JJ,qt.On,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,Ea.Zl,An.lW,Sn.KE,Er.Nt,pc.pW,Jn.gD,Jn.$L,oi.ey,H2.YE,H2.nU,wa.BZ,wa.fO,wa.as,wa.w1,wa.Dz,wa.nj,wa.mD,wa.Ke,wa.ge,wa.ev,wa.XQ,wa.Gk,wa.Q2,Kl.NW,xi.$V,si.JJ]})}const eh=function(K){return["../",K]};function th(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",16),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onSelectedIndexChange(tt))}),t._uU(1),t.qZA()}if(2&K){const x=T.$implicit,V=t.oxw();t.Q6J("active",V.activeTab.link===x.link)("routerLink",t.VKq(3,eh,x.link)),t.xp6(1),t.Oqu(x.name)}}class Z1{constructor(T,x,V){this.router=T,this.store=x,this.boltzService=V,this.swapTypeEnum=Qe.hc,this.selectedSwapType=Qe.hc.SWAP_OUT,this.swaps={},this.swapsData=[],this.emptyTableMessage="No swap data available.",this.flgLoading=[!0],this.links=[{link:"swapout",name:"Swap Out"},{link:"swapin",name:"Swap In"}],this.activeTab=this.links[0],this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.boltzService.listSwaps();const T=this.links.find(x=>this.router.url.includes(x.link));this.activeTab=T||this.links[0],this.selectedSwapType=T&&"swapin"===T.link?Qe.hc.SWAP_IN:Qe.hc.SWAP_OUT,this.router.events.pipe((0,ui.R)(this.unSubs[0]),(0,xr.h)(x=>x instanceof Ne.Av)).subscribe({next:x=>{const V=this.links.find(me=>x.urlAfterRedirects.includes(me.link));this.activeTab=V||this.links[0],this.selectedSwapType=V&&"swapin"===V.link?Qe.hc.SWAP_IN:Qe.hc.SWAP_OUT}}),this.boltzService.swapsChanged.pipe((0,ui.R)(this.unSubs[1])).subscribe({next:x=>{this.swaps=x,this.swapsData=this.selectedSwapType===Qe.hc.SWAP_IN&&x.swaps?x.swaps:this.selectedSwapType===Qe.hc.SWAP_OUT&&x.reverseSwaps?x.reverseSwaps:[],this.flgLoading[0]=!1},error:x=>{this.flgLoading[0]="error",this.emptyTableMessage=x.message?x.message:"No swap "+(this.selectedSwapType===Qe.hc.SWAP_IN?"in":"out")+" available."}})}onSelectedIndexChange(T){"swapin"===T.link?(this.selectedSwapType=Qe.hc.SWAP_IN,this.swapsData=this.swaps.swaps||[]):(this.selectedSwapType=Qe.hc.SWAP_OUT,this.swapsData=this.swaps.reverseSwaps||[])}onSwap(T){this.boltzService.serviceInfo().pipe((0,ui.R)(this.unSubs[2])).subscribe({next:x=>{this.store.dispatch((0,Qt.qR)({payload:{data:{serviceInfo:x,direction:T,component:Fo}}}))}})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Z1)(t.Y36(Ne.F0),t.Y36(Hn.yh),t.Y36(yo))};static#t=this.\u0275cmp=t.Xpm({type:Z1,selectors:[["rtl-boltz-root"]],decls:20,vars:7,consts:[["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"botlz-icon-sm","mr-1"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"],[1,"page-title"],["fxLayout","column",1,"padding-gap-x"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["mat-tab-nav-bar","",3,"tabPanel"],["mat-tab-link","","class","mat-tab-label",3,"active","routerLink","click",4,"ngFor","ngForOf"],["tabPanel",""],["fxLayout","row","fxLayoutAlign","start start",1,"padding-gap-x-large","mt-1"],["mat-flat-button","","color","primary","type","button","tabindex","1",3,"click"],["fxLayout","row","fxFlex","100",3,"selectedSwapType","swapsData","flgLoading","emptyTableMessage"],["mat-tab-link","",1,"mat-tab-label",3,"active","routerLink","click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"div",0),t.O4$(),t.TgZ(1,"svg",1)(2,"g",2)(3,"g",3),t._UZ(4,"circle",4)(5,"path",5)(6,"path",6),t.qZA()()(),t.kcU(),t.TgZ(7,"span",7),t._uU(8,"Boltz"),t.qZA()(),t.TgZ(9,"div",8)(10,"mat-card")(11,"mat-card-content",9)(12,"nav",10),t.YNc(13,th,2,5,"div",11),t.qZA(),t._UZ(14,"mat-tab-nav-panel",null,12),t.TgZ(16,"div",13)(17,"button",14),t.NdJ("click",function(){return V.onSwap(V.selectedSwapType)}),t._uU(18),t.qZA()(),t._UZ(19,"rtl-boltz-swaps",15),t.qZA()()()),2&x){const me=t.MAs(15);t.xp6(12),t.Q6J("tabPanel",me),t.xp6(1),t.Q6J("ngForOf",V.links),t.xp6(5),t.hij("Start ",V.activeTab.name,""),t.xp6(1),t.Q6J("selectedSwapType",V.selectedSwapType)("swapsData",V.swapsData)("flgLoading",V.flgLoading)("emptyTableMessage",V.emptyTableMessage)}},dependencies:[si.sg,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dn,Un.BU,Un.sW,Un.Nj,Ne.rH,G1]})}class wr{constructor(T){this.help=T}}function el(K,T){if(1&K&&(t.TgZ(0,"mat-expansion-panel",8)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),t._uU(3),t.qZA()(),t.TgZ(4,"mat-panel-description",9),t._UZ(5,"span",10),t.TgZ(6,"a",11),t._uU(7),t.qZA()()()),2&K){const x=t.oxw().$implicit,V=t.oxw();t.xp6(3),t.Oqu(x.help.question),t.xp6(2),t.Q6J("innerHTML",x.help.answer,t.oJD),t.xp6(1),t.Q6J("routerLink",V.flgLoggedIn?x.help.link:"/login"),t.xp6(1),t.Oqu(V.flgLoggedIn?x.help.linkCaption:"Login to go to the page")}}function L0(K,T){if(1&K&&(t.TgZ(0,"div",6),t.YNc(1,el,8,4,"mat-expansion-panel",7),t.qZA()),2&K){const x=T.$implicit,V=t.oxw();t.xp6(1),t.Q6J("ngIf","ALL"===x.help.lnImplementation||x.help.lnImplementation===V.selNode.lnImplementation)}}class rd{constructor(T,x){this.store=T,this.sessionService=x,this.helpTopics=[],this.faQuestion=he.Psp,this.LNPLink="/lnd/",this.flgLoggedIn=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{this.selNode=T,this.selNode.lnImplementation&&""!==this.selNode.lnImplementation.trim()&&(this.LNPLink="/"+this.selNode.lnImplementation.toLowerCase()+"/",this.addHelpTopics())}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.flgLoggedIn=!!T.token}),this.sessionService.getItem("token")&&(this.flgLoggedIn=!0)}addHelpTopics(){this.helpTopics=[],this.helpTopics.push(new wr({question:"Getting started",answer:'Funding your node is the first step to get started.\nGo to the "On-chain" page of the app:\n1. Generate a new address on the "Recieve" tab.\n2. Send funds to the address.\n3. Wait for the balance to be confirmed on-chain before proceeding further.\n3. Connecting with network peers and opening channels is next.\n',link:this.LNPLink+"onchain/receive/utxos",linkCaption:"On-Chain",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Connect with peers",answer:'Connect with network peers to open channels with them.\nGo to "Peer/Channels" page under the "Lightning" menu :\n1. Get the peer pubkey and host address in the pubkey@ip:port format.\n2. On the "Peers" enter the peer address and connect.\n3. Once the peer is connected, you can open channel with the peer.\n4. A variety of actions can be performed on the connected peers page for each peer:\n a. View Info - View the peer details.\n b. Open Channel - Open channel with the peer.\n c. Disconnect - Disconnect from the peer.\n',link:this.LNPLink+"connections/peers",linkCaption:"Peers",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Opening Channels",answer:'Open channels with a connected peer.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. On the "Channels" section, click on "Open Channel"\n2. On the "Open Channel" modal, select the alias of the connected peer from the drop-down\n2. Specify the amount to commit to the channel and click on "Open Channel".\n3. There are a variety of options available while opening a channel. \n a. Private Channel - When this option is selected, a private channel is opened with the peer. \n b. Priority (advanced option) - Specify either Target confirmation Block or Fee in Sat/vByte. \n c. Spend Unconfirmd Output (advanced option) - Allow channels to be opened with unconfirmed UTXOs.\n4. Track the pending open channels under the "Pending" tab. \n5. Wait for the channel to be confirmed. Only a confimed channel can be used for payments or routing. \n',link:this.LNPLink+"connections/channels/open",linkCaption:"Channels",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Channel Management",answer:'Channel maintenance and balance score.\nGo to "Peer/Channels" page under the "Lightning" menu:\n1. A variety of actions can be perfomed on the open channels under the "Open" tab, with the "Actions" button:\n a. View Info - View the channel details.\n b. View Remote Fee - View the fee policy on the channel of the remote peer.\n c. Update Fee Policy - Modify the fee policy on the channel.\n d. Circular Rebalance - Off-chain rebalance channels by making a payment to yourself across a circular path of chained payment channels.\n e. Close Channel - Close the channel.\n2. Balance Score is a "balancedness" metric score for the channel. \n a. It helps measure how balanced the remote and local balances are, on a channel.\n b. A perfectly balanced channel has a score of one, where as a completely lopsided one has a score of zero.\n c. The formula for calculating the score is "1 - abs((local bal - remote bal)/total bal)".\n',link:this.LNPLink+"connections/channels/open",linkCaption:"Channels",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Buying Liquidity",answer:'Buying liquidity for your node.\nGo to "Liquidity Ads" page under the "Lightning" menu:\n 1. Filter ads by liquidity amount and channel opening fee rate.\n 2. Research additionally on liquidity provider nodes before selecting.\n 3. Select the best liquidity node peer for your need and click on "Open Channel" from "Actions" drop-down.\n 4. Confirm amount, rates and total cost on the modal and click on "Execute" to buy liquidity.\n',link:this.LNPLink+"liquidityads",linkCaption:"Liquidity Ads",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Payments",answer:'Sending Payments from your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayments tab is for making payments via your node\n 1. Input a non-expired lightning invoice (Bolt11 format) in the "Payment Request" field and click on "Send Payment" to send.\n 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\n 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\n',link:this.LNPLink+"transactions/payments",linkCaption:"Payments",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Invoices",answer:'Receiving Payments on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nInvoices tab is for receiving payments on your node.\n 1. Memo - Description you want to provide on the invoice.\n 2. Expiry - The time period, after which the invoice will be invalid.\n 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\n',link:this.LNPLink+"transactions/invoices",linkCaption:"Invoices",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Offers",answer:'Send offer payments, create offer invoices and bookmark paid offers on your node.\nGo to the "Transactions" page under the "Lightning" menu :\nPayment for bolt12 offer invoice can be done on "Payments" tab:\n 1. Click on "Send Payment" button.\n 2. Select "Offer" option on the modal.\n 2. Offer Request - Input offer request (Bolt12 format) in the input box.\n 3. Bookmark - Select the checkbox to bookmark this offer for future use.\nOffers tab is for creating bolt12 offer invoice on your node:\n 1. Click on "Create Offer" button.\n 2. Description - Description you want to provide on the offer invoice.\n 3. Amount - Amount for the offer invoice.\n 4. Vendor - Vendor of the offer.\nPaid offer bookmarks shows the list of paid offers saved for future payments.\n',link:this.LNPLink+"transactions/offers",linkCaption:"Offers",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Channel Backups",answer:'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\nBackup folder location can be customized in the RTL config file with the channelBackupPath field.\nRTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\nYou can verify the all channel backup file by clicking on "Verify All" Button on the backup page.\nYou can also backup each channel individually and verify them.\n** Keep taking backups of your channels regularly and store them in redundant locations **.\n',link:this.LNPLink+"channelbackup/bckup",linkCaption:"Channel Backups",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Channel Restore",answer:'Channel Restore is used to recover funds from the channel backup files in case of node failures.\nFollow the below steps to perform fund restoration.\n\nPrerequisite:\n1. The node has been restored with the LND recovery seed.\n2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\n\nRecovery:\n1. Create a restore folder in your folder backup location, as specified in the RTL config file.\n2. Place the channel backup file in the restore folder.\n3. Go to the "Restore" tab under the "Backup" page of RTL.\n4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\n5. Click on the Restore icon on the grid to restore the funds.\n6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\n7. Restore function will force close the channels and recover the funds from them.\n8. The pending close channels can be viewed under the "Pending" tab on the "Peer/Channels" page.\n9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the "On-Chain" page.\n10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\n',link:this.LNPLink+"channelbackup/restore",linkCaption:"Channel Restore",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Forwarding History",answer:'Transactions routed by the node.\nGo to "Routing" page under the "Lightning" menu :\nTransactions routed by the node are listed on this page along with channels and the fee earned by transaction.\n',link:this.LNPLink+"routing/forwardinghistory",linkCaption:"Forwarding History",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Lightning Reports",answer:'Routing and transactions data reports.\nGo to "Reports" page under the "Lightning" menu :\nReport can be generated on monthly/yearly basis by selecting the reporting period, month, and year.\n',link:this.LNPLink+"reports/routingreport",linkCaption:"Reports",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Graph Lookup",answer:'Querying your node graph for network node and channel information.\nGo to "Graph Lookup" page under the "Lightning" menu :\nEach node maintains a network graph for the information on all the nodes and channels on the network.\nYou can lookup information on nodes and channels from your graph:\n 1. Node Lookup - Enter the pubkey to perform the lookup.\n 2. Channel Lookup - Enter the short channel ID to perform the lookup.\n',link:this.LNPLink+"graph/lookups",linkCaption:"Graph Lookup",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Query Route",answer:'Querying Payment Routes.\nGo to the "Graph Lookup" page under the "Lightning" menu :\nQuery Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\n 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\n 2. Amount - Amount in Sats, which you want to send to the node.\n',link:this.LNPLink+"graph/queryroutes",linkCaption:"Query Routes",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Sign & Verify Messages",answer:'Messages signing and verification.\nGo to the "Sign/Verify" page under the "Lightning" menu :\n 1. Sign your message on "Sign" tab.\n 2. Go to "Verify" tab to verify a message.\n',link:this.LNPLink+"messages/sign",linkCaption:"Messages",lnImplementation:"LND"})),this.helpTopics.push(new wr({question:"Sign & Verify Messages",answer:'Messages signing and verification.\nGo to the "Sign/Verify" page under the "Lightning" menu :\n 1. Sign your message on "Sign" tab.\n 2. Go to "Verify" tab to verify a message.\n',link:this.LNPLink+"messages/sign",linkCaption:"Messages",lnImplementation:"CLN"})),this.helpTopics.push(new wr({question:"Node Settings",answer:'RTL offers certain customizations on the UI to personalize your experience on the app\nGo to "Node Config" page to access the customization options.\nNode Layout Options\n 1. User Persona - Two options are available to change the dashboard based on the persona.\n 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\n 3. Other customizations include day and night mode and a choice of color themes to select from.\nServices Options\n Loop (LND only), Boltz (LND only) & Peerswap (CLN only) services can be configured.\nExperimental Options (CLN only)\n Offers and Liquidity Ads can be enabled/disabled.\nShow LN Config (if configured)\n Shows lightning config file.\n',link:"../config/layout",linkCaption:"Node Settings",lnImplementation:"ALL"})),this.helpTopics.push(new wr({question:"Application Settings",answer:'RTL also offers certain customizations on the application level\nGo to top right menu "Settings" page to access these options.\nDefault Node Option\nIf you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\nAuthentication Option\nPassword and 2FA update options are available here.\nShow Bitcoin Config (if configured)\n Shows bitcoin config file.\n',link:"../settings/app",linkCaption:"Application Settings",lnImplementation:"ALL"}))}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||rd)(t.Y36(Hn.yh),t.Y36(Qo.m))};static#t=this.\u0275cmp=t.Xpm({type:rd,selectors:[["rtl-help"]],decls:8,vars:2,consts:[["fxLayout","column","fxFlex","100"],["fxLayout","row","fxLayoutAlign","start center",1,"page-title-container"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start start",1,"padding-gap-x"],["fxFlex","100",4,"ngFor","ngForOf"],["fxFlex","100"],["class","flat-expansion-panel help-expansion mb-2px",4,"ngIf"],[1,"flat-expansion-panel","help-expansion","mb-2px"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start start"],[1,"pre-wrap",3,"innerHTML"],[1,"mt-2",3,"routerLink"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span",3),t._uU(4,"Help"),t.qZA()(),t.TgZ(5,"div",4)(6,"div",0),t.YNc(7,L0,2,1,"div",5),t.qZA()()()),2&x&&(t.xp6(2),t.Q6J("icon",V.faQuestion),t.xp6(5),t.Q6J("ngForOf",V.helpTopics))},dependencies:[si.sg,si.O5,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,zi.ib,zi.yz,zi.yK,zi.u4,Ne.rH],styles:[".mat-card-content[_ngcontent-%COMP%]{margin-bottom:4px}"]})}var ah=m(6562);function S0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Token is required."),t.qZA())}class sd{constructor(T,x){this.dialogRef=T,this.store=x,this.token=""}onClose(){this.dialogRef.close(null)}onVerifyToken(){if(!this.token)return!0;this.dialogRef.close(),this.store.dispatch((0,Qt.M6)({payload:{twoFAToken:this.token}}))}static#e=this.\u0275fac=function(x){return new(x||sd)(t.Y36(Ma.so),t.Y36(Hn.yh))};static#t=this.\u0275cmp=t.Xpm({type:sd,selectors:[["rtl-login-token"]],decls:17,vars:2,consts:[["fxLayout","column","fxLayout.gt-sm","row","fxLayoutAlign","space-between stretch"],["fxFlex","100"],["fxLayout","row","fxLayoutAlign","space-between center",1,"modal-info-header"],["fxFlex","95","fxLayoutAlign","start start"],[1,"page-title"],["tabindex","3","fxFlex","5","fxLayoutAlign","center","mat-button","",1,"btn-close-x","p-0",3,"click"],["fxLayout","row",1,"padding-gap-x-large"],["fxLayout","column","fxFlex","100",3,"ngSubmit"],["tokenForm","ngForm"],["autoFocus","","matInput","","placeholder","Token","type","text","id","token","name","token","tabindex","2","required","",3,"ngModel","ngModelChange"],[4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-1"],["mat-button","","color","primary","tabindex","4","type","submit"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card-header",2)(3,"div",3)(4,"span",4),t._uU(5,"Two Factor Token"),t.qZA()(),t.TgZ(6,"button",5),t.NdJ("click",function(){return V.onClose()}),t._uU(7,"X"),t.qZA()(),t.TgZ(8,"mat-card-content",6)(9,"form",7,8),t.NdJ("ngSubmit",function(){return V.onVerifyToken()}),t.TgZ(11,"mat-form-field")(12,"input",9),t.NdJ("ngModelChange",function(tt){return V.token=tt}),t.qZA(),t.YNc(13,S0,2,0,"mat-error",10),t.qZA(),t.TgZ(14,"div",11)(15,"button",12),t._uU(16,"Verify Token"),t.qZA()()()()()()),2&x&&(t.xp6(12),t.Q6J("ngModel",V.token),t.xp6(1),t.Q6J("ngIf",!V.token))},dependencies:[si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.dk,fn.dn,Sn.TO,Sn.KE,Er.Nt,Si.h]})}function rh(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Password is required."),t.qZA())}function Ga(K,T){if(1&K&&(t.TgZ(0,"p",21)(1,"mat-icon",22),t._uU(2,"close"),t.qZA(),t._uU(3),t.qZA()),2&K){const x=t.oxw();t.xp6(3),t.hij(" ",x.loginErrorMessage," ")}}const O0=function(K){return{"padding-gap-large":K}},P0=function(K,T){return{"font-size-200":K,"font-size-300":T}};class Y1{constructor(T,x,V,me){this.logger=T,this.store=x,this.rtlEffects=V,this.commonService=me,this.faUnlockAlt=he.B$L,this.password="",this.rtlSSO=0,this.rtlCookiePath="",this.accessKey="",this.flgShow=!1,this.screenSize="",this.screenSizeEnum=Qe.cu,this.loginErrorMessage="",this.apiCallStatusEnum=Qe.Bn,this.unSubs=[new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.screenSize=this.commonService.getScreenSize(),(0,ah.a)([this.store.select(st.ul),this.store.select(st.Sr)]).pipe((0,ui.R)(this.unSubs[0])).subscribe(([T,x])=>{this.loginErrorMessage="",T.status===Qe.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof T.message?JSON.stringify(T.message):T.message),this.logger.error(T.message)),x.status===Qe.Bn.ERROR&&(this.loginErrorMessage=this.loginErrorMessage+("object"==typeof x.message?JSON.stringify(x.message):x.message),this.logger.error(x.message))}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.appConfig=T,this.logger.info(T)})}onLogin(){if(!this.password)return!0;this.loginErrorMessage="",this.appConfig.enable2FA?(this.store.dispatch((0,Qt.qR)({payload:{maxWidth:"35rem",data:{component:sd}}})),this.rtlEffects.closeAlert.pipe((0,Ka.q)(1)).subscribe(T=>{T&&this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.password),defaultPassword:Qe.kO.includes(this.password.toLowerCase()),twoFAToken:T.twoFAToken}}))})):this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.password),defaultPassword:Qe.kO.includes(this.password.toLowerCase())}}))}resetData(){this.password="",this.loginErrorMessage="",this.flgShow=!1}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||Y1)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:Y1,selectors:[["rtl-login"]],decls:25,vars:12,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","center stretch",1,"login-container"],["fxLayout","row","fxFlex","50","fxLayoutAlign","center stretch"],["fxLayout","row","fxFlex","45","fxLayoutAlign","center stretch"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign","stretch stretch"],["fxFlex","35","fxLayoutAlign","center center",1,"bg-primary"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo",1,"rtl-logo-svg"],["fxFlex","65","fxLayout","column","fxLayoutAlign","center stretch",3,"ngClass"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","p-0"],[1,"font-bold-500",3,"ngClass"],[1,"page-title"],[1,"mt-5px","mb-0","px-2"],["fxLayout","column","fxLayout.gt-sm","row wrap","fxLayoutAlign","start","fxLayoutAlign.gt-sm","space-between"],["loginForm","ngForm"],["fxFlex","100","fxLayoutAlign","start"],["autoFocus","","matInput","","placeholder","Password","id","password","name","password","tabindex","1","required","",3,"type","ngModel","ngModelChange"],["tabindex","2","matSuffix","",3,"click"],[4,"ngIf"],["fxFlex","100","class","color-warn pre-wrap","fxLayoutAlign","start start",4,"ngIf"],["fxLayout","row","fxFlex","100","fxLayoutAlign","end center",1,"mt-2"],["mat-stroked-button","","color","primary","tabindex","2","type","reset",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","3","type","submit",3,"click"],["fxFlex","100","fxLayoutAlign","start start",1,"color-warn","pre-wrap"],[1,"mr-1","icon-small"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1)(2,"mat-card",2)(3,"div",3)(4,"div",4),t._UZ(5,"img",5),t.qZA(),t.TgZ(6,"div",6)(7,"mat-card-header",7)(8,"mat-card-title",8)(9,"span",9),t._uU(10,"Welcome"),t.qZA()()(),t.TgZ(11,"mat-card-content",10)(12,"form",11,12)(14,"mat-form-field",13)(15,"input",14),t.NdJ("ngModelChange",function(tt){return V.password=tt}),t.qZA(),t.TgZ(16,"mat-icon",15),t.NdJ("click",function(){return V.flgShow=!V.flgShow}),t._uU(17),t.qZA(),t.YNc(18,rh,2,0,"mat-error",16),t.qZA(),t.YNc(19,Ga,4,1,"p",17),t.TgZ(20,"div",18)(21,"button",19),t.NdJ("click",function(){return V.resetData()}),t._uU(22,"Clear"),t.qZA(),t.TgZ(23,"button",20),t.NdJ("click",function(){return V.onLogin()}),t._uU(24,"Login"),t.qZA()()()()()()()()()),2&x&&(t.xp6(6),t.Q6J("ngClass",t.VKq(7,O0,V.screenSize===V.screenSizeEnum.XS)),t.xp6(2),t.Q6J("ngClass",t.WLB(9,P0,V.screenSize===V.screenSizeEnum.XS,V.screenSize!==V.screenSizeEnum.XS)),t.xp6(7),t.Q6J("type",V.flgShow?"text":"password")("ngModel",V.password),t.xp6(2),t.Oqu(V.flgShow?"visibility_off":"visibility"),t.xp6(1),t.Q6J("ngIf",!V.password),t.xp6(1),t.Q6J("ngIf",""!==V.loginErrorMessage))},dependencies:[si.mk,si.O5,qt._Y,qt.Fj,qt.JJ,qt.JL,qt.Q7,qt.On,qt.F,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,fn.a8,fn.dk,fn.dn,fn.n5,Fl.Hw,Sn.TO,Sn.KE,Sn.R9,Er.Nt,Si.h],styles:[".login-container[_ngcontent-%COMP%]{height:90vh}.login-container[_ngcontent-%COMP%] .mat-card[_ngcontent-%COMP%]{height:30rem}.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:100%}@media only screen and (max-width: 56.25em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:37%}}@media only screen and (max-width: 37.5em){.login-container[_ngcontent-%COMP%] .rtl-logo-svg[_ngcontent-%COMP%]{width:70%}}.login-container[_ngcontent-%COMP%] .material-icons.mat-icon[_ngcontent-%COMP%]{font-size:120%;cursor:pointer}"]})}var qr=m(9442);class Cl{constructor(T,x){this.activatedRoute=T,this.router=x,this.error={errorCode:"",errorMessage:""},this.faTimes=he.NBC,this.unsubs=[new Gn.x,new Gn.x]}ngOnInit(){this.router.routeReuseStrategy.shouldReuseRoute=()=>!1,this.router.onSameUrlNavigation="reload",this.activatedRoute.paramMap.pipe((0,ui.R)(this.unsubs[0])).subscribe(T=>{this.error=window.history.state})}goToHelp(){this.router.navigate(["/help"])}static#e=this.\u0275fac=function(x){return new(x||Cl)(t.Y36(Ne.gz),t.Y36(Ne.F0))};static#t=this.\u0275cmp=t.Xpm({type:Cl,selectors:[["rtl-error"]],decls:13,vars:3,consts:[["fxLayout","row","fxFlex","100","fxLayoutAlign","center center"],["fxLayout","column","fxFlex","60","fxLayoutAlign","start center"],["fxLayout","row","fxLayoutAlign","center center",1,"page-title-container","padding-gap-large"],[1,"font-size-300","font-bold-500"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["fxLayout","column","fxLayoutAlign","center center",1,"padding-gap-large"],[1,"box-text","font-size-120"],["fxLayout","row","fxLayoutAlign","center","fxFlex","80"],["mat-flat-button","","color","primary","type","button",1,"mt-2",3,"click"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"mat-card",1)(2,"mat-card-header",2)(3,"mat-card-title",3),t._UZ(4,"fa-icon",4),t.TgZ(5,"span",5),t._uU(6),t.qZA()()(),t.TgZ(7,"mat-card-content",6)(8,"div",7),t._uU(9),t.qZA(),t.TgZ(10,"span",8)(11,"button",9),t.NdJ("click",function(){return V.goToHelp()}),t._uU(12,"Go To Help"),t.qZA()()()()()),2&x&&(t.xp6(4),t.Q6J("icon",V.faTimes),t.xp6(2),t.hij("Error ",V.error.errorCode,""),t.xp6(3),t.Oqu(V.error.errorMessage))},dependencies:[Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,fn.a8,fn.dk,fn.dn,fn.n5],encapsulation:2})}var er=m(1643),r1=m(8104),Q1=m(9843),k0=m(6534);function s1(K,T){1&K&&t._UZ(0,"span",16)}function R0(K,T){1&K&&t._UZ(0,"span",17)}function sh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"form",18,4)(2,"div",19),t._UZ(3,"fa-icon",2),t.TgZ(4,"span"),t._uU(5,"Please ensure that "),t.TgZ(6,"strong"),t._uU(7,"experimental-offers"),t.qZA(),t._uU(8," flag is set to true in the Core Lightning config before enabling it in RTL. Click "),t.TgZ(9,"strong")(10,"a",20),t._uU(11,"here"),t.qZA()(),t._uU(12," to learn more about Core Lightning offers."),t.qZA()(),t.TgZ(13,"h4",21),t._uU(14,"Description"),t.qZA(),t.TgZ(15,"span"),t._uU(16,"Offers is a draft specification (also referred as BOLT12) for Lightning nodes and wallets, with experimental support in Core Lightning."),t.qZA(),t.TgZ(17,"h4",21),t._uU(18,"Links"),t.qZA(),t.TgZ(19,"span")(20,"a",22),t._uU(21,"Core lightning Bolt12"),t.qZA()(),t._UZ(22,"mat-divider",23),t.TgZ(23,"div",24),t._UZ(24,"fa-icon",2),t.TgZ(25,"span"),t._uU(26,"Do not get an Offer tattoo until spec is fully ratified!"),t.qZA()(),t.TgZ(27,"mat-slide-toggle",25),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(2);return t.KtG(tt.enableOffers=me)})("change",function(){t.CHM(x);const me=t.oxw(2);return t.KtG(me.onUpdateFeature())}),t._uU(28),t.qZA()()}if(2&K){const x=t.oxw(2);t.xp6(3),t.Q6J("icon",x.faInfoCircle),t.xp6(19),t.Q6J("inset",!0),t.xp6(2),t.Q6J("icon",x.faExclamationTriangle),t.xp6(3),t.Q6J("ngModel",x.enableOffers),t.xp6(1),t.hij("Enable Offers ",x.enableOffers?"(You can find Offers under Lightning -> Transactions -> Offers)":"","")}}function B0(K,T){if(1&K&&(t.TgZ(0,"div")(1,"div",28),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Please ensure that "),t.TgZ(5,"strong"),t._uU(6,"experimental-dual-fund"),t.qZA(),t._uU(7," flag is set to true in the Core Lightning config before enabling it in RTL. Click "),t.TgZ(8,"strong")(9,"a",29),t._uU(10,"here"),t.qZA()(),t._uU(11," to learn more about Core Lightning Liquidity Ads."),t.qZA()()()),2&K){const x=t.oxw(3);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle)}}function o1(K,T){if(1&K&&(t.TgZ(0,"mat-option",47),t._uU(1),t.ALo(2,"titlecase"),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x),t.xp6(1),t.hij(" ",t.lcZ(2,2,x.id)," ")}}function N0(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.hij("",x.selPolicyType.placeholder," is required.")}}function Ml(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.AsE("",x.selPolicyType.placeholder," must be greater than or equal to ",x.selPolicyType.min,".")}}function U3(K,T){if(1&K&&(t.TgZ(0,"mat-error"),t._uU(1),t.qZA()),2&K){const x=t.oxw(4);t.xp6(1),t.AsE("",x.selPolicyType.placeholder," must be less than or equal to ",x.selPolicyType.max,".")}}function j1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Lease base fee is required."),t.qZA())}function F0(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Lease base basis is required."),t.qZA())}function od(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Max channel routing base fee is required."),t.qZA())}function l1(K,T){1&K&&(t.TgZ(0,"mat-error"),t._uU(1,"Max channel routing fee rate is required."),t.qZA())}const H0=function(K,T){return{"alert-danger":K,"alert-info":T}};function da(K,T){if(1&K&&(t.TgZ(0,"h4",48)(1,"span",49),t._uU(2),t.qZA()()),2&K){const x=t.oxw(4);t.xp6(1),t.Q6J("ngClass",t.WLB(2,H0,!!x.updateMsg.error,!!x.updateMsg.data)),t.xp6(1),t.hij(" ",x.updateMsg.error&&""!==x.updateMsg.error?"Error: "+x.updateMsg.error||0:x.updateMsg.data&&""!==x.updateMsg.data?x.updateMsg.data:"Successfully Updated the Funding Policy!"," ")}}function q1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"div",30)(1,"div",31),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"These config changes should be configured permanently via the config file on your CLN node otherwise the policy would need to be configured again, if your node restarts."),t.qZA()(),t.TgZ(5,"div",32)(6,"mat-form-field",33)(7,"mat-select",34),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.selPolicyType=me)})("selectionChange",function(){t.CHM(x);const me=t.oxw(3);return t.KtG(me.policyMod=null)}),t.YNc(8,o1,3,4,"mat-option",35),t.qZA()(),t.TgZ(9,"mat-form-field",36)(10,"input",37,38),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.policyMod=me)}),t.qZA(),t.TgZ(12,"mat-hint"),t._uU(13),t.qZA(),t.YNc(14,N0,2,1,"mat-error",26),t.YNc(15,Ml,2,2,"mat-error",26),t.YNc(16,U3,2,2,"mat-error",26),t.qZA()(),t.TgZ(17,"div",32)(18,"mat-form-field",36)(19,"input",39),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.lease_fee_base_sat=me)}),t.qZA(),t.YNc(20,j1,2,0,"mat-error",26),t.qZA(),t.TgZ(21,"mat-form-field",36)(22,"input",40),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.lease_fee_basis=me)}),t.qZA(),t.YNc(23,F0,2,0,"mat-error",26),t.qZA()(),t.TgZ(24,"div",32)(25,"mat-form-field",36)(26,"input",41),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.channelFeeMaxBaseSat=me)}),t.qZA(),t.YNc(27,od,2,0,"mat-error",26),t.qZA(),t.TgZ(28,"mat-form-field",36)(29,"input",42),t.NdJ("ngModelChange",function(me){t.CHM(x);const tt=t.oxw(3);return t.KtG(tt.channelFeeMaxProportional=me)}),t.qZA(),t.YNc(30,l1,2,0,"mat-error",26),t.qZA()(),t.YNc(31,da,3,5,"h4",43),t.TgZ(32,"div",44)(33,"button",45),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(3);return t.KtG(me.onResetPolicy())}),t._uU(34,"Reset"),t.qZA(),t.TgZ(35,"button",46),t.NdJ("click",function(){t.CHM(x);const me=t.oxw(3);return t.KtG(me.onUpdateFundingPolicy())}),t._uU(36,"Update"),t.qZA()()()}if(2&K){const x=t.oxw(3);t.xp6(2),t.Q6J("icon",x.faExclamationTriangle),t.xp6(5),t.Q6J("ngModel",x.selPolicyType),t.xp6(1),t.Q6J("ngForOf",x.policyTypes),t.xp6(2),t.Q6J("placeholder",x.selPolicyType.placeholder)("step","fixed"===x.selPolicyType.id?1e3:10)("min",x.selPolicyType.min)("max",x.selPolicyType.max)("ngModel",x.policyMod),t.xp6(3),t.lnq("",x.selPolicyType.placeholder," should be between ",x.selPolicyType.min," and ",x.selPolicyType.max,""),t.xp6(1),t.Q6J("ngIf",!x.policyMod),t.xp6(1),t.Q6J("ngIf",x.policyModx.selPolicyType.max),t.xp6(3),t.Q6J("ngModel",x.lease_fee_base_sat),t.xp6(1),t.Q6J("ngIf",!x.lease_fee_base_sat),t.xp6(2),t.Q6J("ngModel",x.lease_fee_basis),t.xp6(1),t.Q6J("ngIf",!x.lease_fee_basis),t.xp6(3),t.Q6J("ngModel",x.channelFeeMaxBaseSat),t.xp6(1),t.Q6J("ngIf",!x.channelFeeMaxBaseSat),t.xp6(2),t.Q6J("ngModel",x.channelFeeMaxProportional),t.xp6(1),t.Q6J("ngIf",!x.channelFeeMaxProportional),t.xp6(1),t.Q6J("ngIf",x.flgUpdateCalled)}}function Ec(K,T){if(1&K&&(t.TgZ(0,"form",18,4),t.YNc(2,B0,12,1,"div",26),t.YNc(3,q1,37,23,"div",27),t.qZA()),2&K){const x=t.oxw(2);t.xp6(2),t.Q6J("ngIf",!x.features[1].enabled),t.xp6(1),t.Q6J("ngIf",x.features[1].enabled)}}function ld(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-expansion-panel",9),t.NdJ("opened",function(){const tt=t.CHM(x).index,kt=t.oxw();return t.KtG(kt.onPanelExpanded(tt))}),t.TgZ(1,"mat-expansion-panel-header")(2,"mat-panel-title",10)(3,"h4",11),t._uU(4),t.qZA(),t.TgZ(5,"h4",11),t.YNc(6,s1,1,0,"span",12),t.YNc(7,R0,1,0,"span",13),t._uU(8),t.qZA()()(),t.TgZ(9,"div",14),t.YNc(10,sh,29,5,"form",15),t.YNc(11,Ec,4,2,"form",15),t.qZA()()}if(2&K){const x=T.$implicit,V=T.index;t.Q6J("expanded",!1),t.xp6(4),t.Oqu(x.name),t.xp6(2),t.Q6J("ngIf",x.enabled),t.xp6(1),t.Q6J("ngIf",!x.enabled),t.xp6(1),t.hij(" ",x.enabled?"Enabled":"Disabled"," "),t.xp6(2),t.Q6J("ngIf",0===V),t.xp6(1),t.Q6J("ngIf",1===V)}}class ql{constructor(T,x,V,me){this.logger=T,this.store=x,this.dataService=V,this.commonService=me,this.faInfoCircle=he.sqG,this.faExclamationTriangle=he.eHv,this.faCode=he.dT$,this.features=[{name:"Offers",enabled:!1},{name:"Channel Funding Policy",enabled:!1}],this.enableOffers=!1,this.fundingPolicy={},this.policyTypes=Qe.gB,this.selPolicyType=Qe.gB[0],this.flgUpdateCalled=!1,this.updateMsg={},this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.dataService.listConfigs().pipe((0,ui.R)(this.unSubs[0])).subscribe({next:T=>{this.logger.info("Received List Configs: "+JSON.stringify(T)),this.features[1].enabled=!!T["experimental-dual-fund"]},error:T=>{this.logger.error("List Configs Error: "+JSON.stringify(T)),this.features[1].enabled=!1}}),this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.selNode=T,this.enableOffers=this.selNode.settings.enableOffers||!1,this.features[0].enabled=this.enableOffers,this.logger.info(this.selNode)}),this.store.select(Cs.Rn).pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.policyTypes[2].max=T.balance.totalBalance||1e3})}onPanelExpanded(T){1===T&&!this.fundingPolicy.policy&&this.dataService.getOrUpdateFunderPolicy().pipe((0,ui.R)(this.unSubs[3])).subscribe(x=>{this.logger.info("Received Funder Update Policy: "+JSON.stringify(x)),this.fundingPolicy=x,this.fundingPolicy.policy&&(this.selPolicyType=Qe.gB.find(V=>V.id===this.fundingPolicy.policy)||this.policyTypes[0]),this.policyMod=this.fundingPolicy.policy_mod||0===this.fundingPolicy.policy_mod?this.fundingPolicy.policy_mod:null,this.lease_fee_base_sat=this.fundingPolicy.lease_fee_base_msat?this.fundingPolicy.lease_fee_base_msat/1e3:0===this.fundingPolicy.lease_fee_base_msat?0:null,this.lease_fee_basis=this.fundingPolicy.lease_fee_basis||0===this.fundingPolicy.lease_fee_basis?this.fundingPolicy.lease_fee_basis:null,this.channelFeeMaxBaseSat=this.fundingPolicy.channel_fee_max_base_msat?this.fundingPolicy.channel_fee_max_base_msat/1e3:0===this.fundingPolicy.channel_fee_max_base_msat?0:null,this.channelFeeMaxProportional=this.fundingPolicy.channel_fee_max_proportional_thousandths||0===this.fundingPolicy.channel_fee_max_proportional_thousandths?1e3*this.fundingPolicy.channel_fee_max_proportional_thousandths:null})}onUpdateFeature(){this.logger.info(this.selNode),this.selNode.settings.enableOffers=this.enableOffers,this.features[0].enabled=this.enableOffers,this.store.dispatch((0,Qt.jS)({payload:{uiMessage:Qe.m6.UPDATE_SETTING,service:Qe.JX.OFFERS,settings:{enableOffers:this.enableOffers}}})),this.store.dispatch((0,di.JT)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}})),this.store.dispatch((0,Rn.oo)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}})),this.store.dispatch((0,Dn.Zr)({payload:{userPersona:this.selNode.settings.userPersona,channelBackupPath:this.selNode.settings.channelBackupPath,selCurrencyUnit:this.selNode.settings.currencyUnit,currencyUnits:this.selNode.settings.currencyUnits,fiatConversion:this.selNode.settings.fiatConversion,unannouncedChannels:this.selNode.settings.unannouncedChannels,lnImplementation:this.selNode.lnImplementation,swapServerUrl:this.selNode.settings.swapServerUrl,boltzServerUrl:this.selNode.settings.boltzServerUrl,enableOffers:this.enableOffers}}))}onUpdateFundingPolicy(){this.flgUpdateCalled=!0,this.updateMsg={},this.dataService.getOrUpdateFunderPolicy(this.selPolicyType.id,this.policyMod,1e3*(this.lease_fee_base_sat||0),this.lease_fee_basis,1e3*(this.channelFeeMaxBaseSat||0),this.channelFeeMaxProportional?this.channelFeeMaxProportional/1e3:0).pipe((0,ui.R)(this.unSubs[4])).subscribe({next:T=>{this.logger.info(T),this.fundingPolicy=T,this.updateMsg={data:"Compact Lease: "+T.compact_lease},setTimeout(()=>{this.flgUpdateCalled=!1},5e3)},error:T=>{this.logger.error(T),this.updateMsg={error:this.commonService.extractErrorMessage(T,"Error in updating funder policy")},setTimeout(()=>{this.flgUpdateCalled=!1},5e3)}})}onResetPolicy(){this.flgUpdateCalled=!1,this.updateMsg={},this.fundingPolicy.policy?this.selPolicyType=Qe.gB.find(T=>T.id===this.fundingPolicy.policy)||this.policyTypes[0]:this.selPolicyType=Qe.gB[0],this.policyMod=this.fundingPolicy.policy_mod||0===this.fundingPolicy.policy_mod?this.fundingPolicy.policy_mod:null,this.lease_fee_base_sat=this.fundingPolicy.lease_fee_base_msat?this.fundingPolicy.lease_fee_base_msat/1e3:0===this.fundingPolicy.lease_fee_base_msat?0:null,this.lease_fee_basis=this.fundingPolicy.lease_fee_basis||0===this.fundingPolicy.lease_fee_basis?this.fundingPolicy.lease_fee_basis:null,this.channelFeeMaxBaseSat=this.fundingPolicy.channel_fee_max_base_msat?this.fundingPolicy.channel_fee_max_base_msat/1e3:0===this.fundingPolicy.channel_fee_max_base_msat?0:null,this.channelFeeMaxProportional=this.fundingPolicy.channel_fee_max_proportional_thousandths||0===this.fundingPolicy.channel_fee_max_proportional_thousandths?1e3*this.fundingPolicy.channel_fee_max_proportional_thousandths:null}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||ql)(t.Y36(sn.mQ),t.Y36(Hn.yh),t.Y36(r1.D),t.Y36(ta.v))};static#t=this.\u0275cmp=t.Xpm({type:ql,selectors:[["rtl-experimental-settings"]],decls:13,vars:3,consts:[["fxLayout","column","fxFlex","100",3,"perfectScrollbar"],["fxFlex","100",1,"alert","alert-info","mt-1"],[1,"mr-1","alert-icon",3,"icon"],["fxLayout","column","fxLayoutAlign","start stretch",1,"page-sub-title-container","mt-1"],["form","ngForm"],["fxLayout","row"],[1,"page-title-img","mr-1",3,"icon"],[1,"page-title"],["class","flat-expansion-panel my-1",3,"expanded","opened",4,"ngFor","ngForOf"],[1,"flat-expansion-panel","my-1",3,"expanded","opened"],["fxFlex","100","fxLayoutAlign","space-between center"],[1,"font-bold-500"],["class","dot green",4,"ngIf"],["class","dot yellow",4,"ngIf"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch","class","page-sub-title-container",4,"ngIf"],[1,"dot","green"],[1,"dot","yellow"],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"page-sub-title-container"],["fxFlex","100",1,"alert","alert-info"],["href","http://bolt12.org","target","_blank"],[1,"mt-2"],["href","https://github.com/lightningnetwork/lightning-rfc/pull/798 ","target","blank"],[1,"my-2",3,"inset"],[1,"alert","alert-warn"],["autoFocus","","tabindex","1","color","primary","name","enableOfr",1,"my-1",3,"ngModel","ngModelChange","change"],[4,"ngIf"],["fxLayout","column",4,"ngIf"],["fxFlex","100","fxLayout","row",1,"alert","alert-warn"],["href","https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d","target","_blank"],["fxLayout","column"],["fxFlex","100","fxLayout","row",1,"alert","alert-warn","mb-2"],["fxLayout","column","fxLayout.gt-sm","row","fxFlex","100","fxLayoutAlign.gt-sm","space-between center","fxLayoutAlign","start stretch"],["fxFlex","49","fxLayoutAlign","start end"],["autofocus","","tabindex","1","placeholder","Policy","name","policy",3,"ngModel","ngModelChange","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["fxFlex","49"],["matInput","","type","number","tabindex","2","required","","name","plcMod",3,"placeholder","step","min","max","ngModel","ngModelChange"],["plcMod","ngModel"],["matInput","","placeholder","Lease Base Fee (Sats)","type","number","step","100","min","0","tabindex","3","required","","name","lease_fee_base_sat",3,"ngModel","ngModelChange"],["matInput","","placeholder","Lease Base Basis (bps)","type","number","step","1","min","0","tabindex","4","required","","name","lease_fee_basis",3,"ngModel","ngModelChange"],["matInput","","placeholder","Max Channel Routing Base Fee (Sats)","type","number","step","100","min","0","tabindex","5","required","","name","channelFeeMaxBaseSat",3,"ngModel","ngModelChange"],["matInput","","placeholder","Max Channel Routing Fee Rate (ppm)","type","number","step","1000","min","0","tabindex","6","required","","name","channelFeeMaxProportional",3,"ngModel","ngModelChange"],["fxLayoutAlign","start stretch","class","font-bold-500 mt-2",4,"ngIf"],["fxLayout","row",1,"my-1"],["mat-stroked-button","","color","primary","tabindex","7",1,"mr-1",3,"click"],["mat-flat-button","","color","primary","tabindex","8",3,"click"],[3,"value"],["fxLayoutAlign","start stretch",1,"font-bold-500","mt-2"],["fxFlex","100",1,"alert",3,"ngClass"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t._UZ(2,"fa-icon",2),t.TgZ(3,"span"),t._uU(4,"Experimental features should be enabled with caution. Many such features may be implementation specific and not ratified for the BOLT spec. Enabling these may still result in a broken experience. Referencing relevant feature documentation is highly advised before enabling."),t.qZA()(),t.TgZ(5,"form",3,4)(7,"div",5),t._UZ(8,"fa-icon",6),t.TgZ(9,"span",7),t._uU(10,"Features"),t.qZA()(),t.TgZ(11,"mat-accordion"),t.YNc(12,ld,12,7,"mat-expansion-panel",8),t.qZA()()()),2&x&&(t.xp6(2),t.Q6J("icon",V.faInfoCircle),t.xp6(6),t.Q6J("icon",V.faCode),t.xp6(4),t.Q6J("ngForOf",V.features))},dependencies:[si.mk,si.sg,si.O5,qt._Y,qt.Fj,qt.wV,qt.JJ,qt.JL,qt.Q7,qt.qQ,qt.Fd,qt.On,qt.F,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,zi.pp,zi.ib,zi.yz,zi.yK,Sn.TO,Sn.KE,Sn.bx,Er.Nt,io.d,Jn.gD,oi.ey,so.Rr,xi.$V,Si.h,Q1.F,k0.q,si.rS],styles:["h4[_ngcontent-%COMP%]{word-break:break-word}"]})}const tl=[{path:"",pathMatch:"full",redirectTo:"login"},{path:"lnd",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_lnd_lnd_module_ts")]).then(m.bind(m,1636)).then(K=>K.LNDModule),canActivate:[er.a1]},{path:"cln",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_cln_cln_module_ts")]).then(m.bind(m,9564)).then(K=>K.CLNModule),canActivate:[er.a1]},{path:"ecl",loadChildren:()=>Promise.all([m.e("default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf"),m.e("src_app_eclair_ecl_module_ts")]).then(m.bind(m,7258)).then(K=>K.ECLModule),canActivate:[er.a1]},{path:"settings",component:Pt,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"app"},{path:"app",component:Qr,canActivate:[er.a1]},{path:"auth",component:Eo,canActivate:[er.a1]},{path:"bconfig",component:cs,canActivate:[er.a1]}]},{path:"config",component:Yc,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"nodesettings"},{path:"nodesettings",component:k2,canActivate:[er.a1]},{path:"pglayout",component:xl,canActivate:[er.a1]},{path:"services",component:N2,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",component:Vl,canActivate:[er.a1]},{path:"boltz",component:fc,canActivate:[er.a1]}]},{path:"experimental",component:ql,canActivate:[er.a1]},{path:"lnconfig",component:mn,canActivate:[er.a1]}]},{path:"services",component:n0,canActivate:[er.a1],children:[{path:"",pathMatch:"full",redirectTo:"loop"},{path:"loop",pathMatch:"full",redirectTo:"loop/loopout"},{path:"loop/:selTab",component:Gl},{path:"boltz",pathMatch:"full",redirectTo:"boltz/swapout"},{path:"boltz/:selTab",component:Z1}]},{path:"help",component:rd},{path:"login",component:Y1},{path:"error",component:Cl},{path:"**",component:qr.w}],Xl=Ne.Bz.forRoot(tl,{scrollPositionRestoration:"enabled"});var cd=m(6165),Xr=m(8878),Dc=m(1708),dd=m(6643),Jl=m(2543),bo=m(5183),Vs=m(3453);const Ho={LNDChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:he.HLz,link:"/lnd/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:he.nNP,link:"/lnd/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:he.BDt,link:"/lnd/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:he.FVb,link:"/lnd/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:he.Ssp,link:"/lnd/transactions",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:he.SuH,link:"/lnd/routing",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:he.koM,link:"/lnd/reports",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:he.wn1,link:"/lnd/graph",userPersona:Qe.ol.ALL},{id:36,parentId:3,name:"Sign/Verify",iconType:"FA",icon:he.hkK,link:"/lnd/messages",userPersona:Qe.ol.ALL},{id:37,parentId:3,name:"Backup",iconType:"FA",icon:he.q7m,link:"/lnd/channelbackup",userPersona:Qe.ol.ALL},{id:38,parentId:3,name:"Network",iconType:"FA",icon:he.TmZ,link:"/lnd/network",userPersona:Qe.ol.OPERATOR},{id:39,parentId:3,name:"Node/Network",iconType:"FA",icon:he.xf3,link:"/lnd/network",userPersona:Qe.ol.MERCHANT}]},{id:4,parentId:0,name:"Services",iconType:"FA",icon:he.Krp,link:"/services/loop",userPersona:Qe.ol.ALL,children:[{id:41,parentId:4,name:"Loop",iconType:"FA",icon:he.vqe,link:"/services/loop",userPersona:Qe.ol.ALL},{id:42,parentId:4,name:"Boltz",iconType:"SVG",icon:"boltzIconBlock",link:"/services/boltz",userPersona:Qe.ol.ALL}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:he.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:he.Psp,link:"/help",userPersona:Qe.ol.ALL}],CLNChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:he.HLz,link:"/cln/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:he.nNP,link:"/cln/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:he.BDt,link:"/cln/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:he.FVb,link:"/cln/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Liquidity Ads",iconType:"FA",icon:he.Acd,link:"/cln/liquidityads",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Transactions",iconType:"FA",icon:he.Ssp,link:"/cln/transactions",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Routing",iconType:"FA",icon:he.SuH,link:"/cln/routing",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Reports",iconType:"FA",icon:he.koM,link:"/cln/reports",userPersona:Qe.ol.ALL},{id:36,parentId:3,name:"Graph Lookup",iconType:"FA",icon:he.wn1,link:"/cln/graph",userPersona:Qe.ol.ALL},{id:37,parentId:3,name:"Sign/Verify",iconType:"FA",icon:he.hkK,link:"/cln/messages",userPersona:Qe.ol.ALL},{id:38,parentId:3,name:"Fee Rates",iconType:"FA",icon:he.USL,link:"/cln/rates",userPersona:Qe.ol.OPERATOR},{id:39,parentId:3,name:"Node/Fee Rates",iconType:"FA",icon:he.xf3,link:"/cln/rates",userPersona:Qe.ol.MERCHANT}]},{id:5,parentId:0,name:"Node Config",iconType:"FA",icon:he.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:6,parentId:0,name:"Help",iconType:"FA",icon:he.Psp,link:"/help",userPersona:Qe.ol.ALL}],ECLChildren:[{id:1,parentId:0,name:"Dashboard",iconType:"FA",icon:he.HLz,link:"/ecl/home",userPersona:Qe.ol.ALL},{id:2,parentId:0,name:"On-chain",iconType:"FA",icon:he.nNP,link:"/ecl/onchain",userPersona:Qe.ol.ALL},{id:3,parentId:0,name:"Lightning",iconType:"FA",icon:he.BDt,link:"/ecl/connections",userPersona:Qe.ol.ALL,children:[{id:31,parentId:3,name:"Peers/Channels",iconType:"FA",icon:he.FVb,link:"/ecl/connections",userPersona:Qe.ol.ALL},{id:32,parentId:3,name:"Transactions",iconType:"FA",icon:he.Ssp,link:"/ecl/transactions",userPersona:Qe.ol.ALL},{id:33,parentId:3,name:"Routing",iconType:"FA",icon:he.SuH,link:"/ecl/routing",userPersona:Qe.ol.ALL},{id:34,parentId:3,name:"Reports",iconType:"FA",icon:he.koM,link:"/ecl/reports",userPersona:Qe.ol.ALL},{id:35,parentId:3,name:"Graph Lookup",iconType:"FA",icon:he.wn1,link:"/ecl/graph",userPersona:Qe.ol.ALL}]},{id:4,parentId:0,name:"Node Config",iconType:"FA",icon:he.CgH,link:"/config",userPersona:Qe.ol.ALL},{id:5,parentId:0,name:"Help",iconType:"FA",icon:he.Psp,link:"/help",userPersona:Qe.ol.ALL}]};function X1(K,T){if(1&K&&(t.TgZ(0,"mat-option",11),t._uU(1),t.qZA()),2&K){const x=T.$implicit;t.Q6J("value",x.index),t.xp6(1),t.AsE(" ",x.lnNode," (",x.lnImplementation,") ")}}function oh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-select",9),t.NdJ("selectionChange",function(me){t.CHM(x);const tt=t.oxw();return t.KtG(tt.onNodeSelectionChange(me.value))}),t.YNc(1,X1,2,3,"mat-option",10),t.qZA()}if(2&K){const x=t.oxw();t.Q6J("value",x.selConfigNodeIndex),t.xp6(1),t.Q6J("ngForOf",x.appConfig.nodes)}}function z0(K,T){if(1&K&&(t.TgZ(0,"span",21),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.oxw(2);const V=t.MAs(11);t.xp6(1),t.Q6J("ngTemplateOutlet","boltzIconBlock"===x.icon?V:null)}}function nf(K,T){if(1&K&&t._UZ(0,"fa-icon",23),2&K){const x=t.oxw().$implicit;t.Q6J("icon",x.icon)}}function lh(K,T){if(1&K&&(t.TgZ(0,"mat-icon",24),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x.icon)}}function d1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",15)(1,"div",16),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onChildNavClicked(tt))}),t.TgZ(2,"div",17),t.YNc(3,z0,2,1,"span",18),t.YNc(4,nf,1,1,"fa-icon",19),t.YNc(5,lh,2,1,"mat-icon",20),t.TgZ(6,"span"),t._uU(7),t.qZA()()()()}if(2&K){const x=T.$implicit;t.s9C("routerLink",x.link),t.xp6(3),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name)}}function V3(K,T){if(1&K&&(t.TgZ(0,"span",33),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function u1(K,T){if(1&K&&t._UZ(0,"fa-icon",23),2&K){const x=t.oxw().$implicit;t.Q6J("icon",x.icon)}}function Ac(K,T){if(1&K&&(t.TgZ(0,"mat-icon",24),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Oqu(x.icon)}}function ud(K,T){if(1&K&&(t.TgZ(0,"mat-nested-tree-node",25)(1,"div",26)(2,"div",27),t.YNc(3,V3,2,1,"span",28),t.YNc(4,u1,1,1,"fa-icon",19),t.YNc(5,Ac,2,1,"mat-icon",20),t.TgZ(6,"span"),t._uU(7),t.qZA()(),t.TgZ(8,"button",29)(9,"mat-icon",30),t._uU(10),t.qZA()()(),t.TgZ(11,"div",31),t.GkF(12,32),t.qZA()()),2&K){const x=T.$implicit,V=t.oxw(2);t.xp6(3),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name),t.xp6(1),t.uIk("aria-label","toggle "+x.name),t.xp6(2),t.Oqu(V.treeControlNested.isExpanded(x)?"arrow_drop_up":"arrow_drop_down"),t.xp6(1),t.ekj("tree-children-invisible",!V.treeControlNested.isExpanded(x))}}function hd(K,T){if(1&K&&(t.TgZ(0,"mat-tree",5,12),t.YNc(2,d1,8,5,"mat-tree-node",13),t.YNc(3,ud,13,8,"mat-nested-tree-node",14),t.qZA()),2&K){const x=t.oxw();t.Q6J("dataSource",x.navMenus)("treeControl",x.treeControlNested),t.xp6(3),t.Q6J("matTreeNodeDefWhen",x.hasChild)}}function U0(K,T){if(1&K&&(t.TgZ(0,"span",21),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function ch(K,T){if(1&K&&t._UZ(0,"fa-icon",36),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.Q6J("icon",x.icon)}}function fd(K,T){if(1&K&&(t.TgZ(0,"mat-icon",37),t._uU(1),t.qZA()),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.xp6(1),t.Oqu(x.icon)}}function dh(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",16),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw();return t.KtG(kt.onShowData(tt))}),t.YNc(1,U0,2,1,"span",18),t.YNc(2,ch,1,2,"fa-icon",34),t.YNc(3,fd,2,2,"mat-icon",35),t.TgZ(4,"span"),t._uU(5),t.qZA()()}if(2&K){const x=T.$implicit;t.xp6(1),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(1),t.Q6J("ngIf",!x.iconType),t.xp6(2),t.Oqu(x.name)}}function V0(K,T){if(1&K&&(t.TgZ(0,"span",33),t.GkF(1,22),t.qZA()),2&K){const x=t.oxw().$implicit;t.xp6(1),t.Q6J("ngTemplateOutlet",x.icon)}}function pd(K,T){if(1&K&&t._UZ(0,"fa-icon",36),2&K){const x=t.oxw().$implicit;t.s9C("matTooltip",x.name),t.Q6J("icon",x.icon)}}function J1(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"mat-tree-node",16),t.NdJ("click",function(){const tt=t.CHM(x).$implicit,kt=t.oxw(2);return t.KtG(kt.onClick(tt))}),t.YNc(1,V0,2,1,"span",28),t.YNc(2,pd,1,2,"fa-icon",34),t.TgZ(3,"span"),t._uU(4),t.qZA()()}if(2&K){const x=T.$implicit;t.xp6(1),t.Q6J("ngIf","SVG"===x.iconType),t.xp6(1),t.Q6J("ngIf","FA"===x.iconType),t.xp6(2),t.Oqu(x.name)}}function uh(K,T){if(1&K&&(t.TgZ(0,"mat-tree",5),t.YNc(1,J1,5,3,"mat-tree-node",6),t.qZA()),2&K){const x=t.oxw();t.Q6J("dataSource",x.navMenusLogout)("treeControl",x.treeControlLogout)}}function W0(K,T){1&K&&(t.O4$(),t.TgZ(0,"svg",38)(1,"g",39)(2,"g",40),t._UZ(3,"circle",41)(4,"path",42)(5,"path",43),t.qZA()()())}class El{constructor(T,x,V,me,tt,kt){this.logger=T,this.commonService=x,this.sessionService=V,this.store=me,this.actions=tt,this.rtlEffects=kt,this.ChildNavClicked=new t.vpe,this.faEject=he.KOR,this.faEye=he.Mdf,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.logoutNode=[{id:200,parentId:0,name:"Logout",iconType:"FA",icon:he.KOR}],this.showDataNodes=[{id:1e3,parentId:0,name:"Public Key",iconType:"FA",icon:he.Mdf}],this.showLogout=!1,this.numPendingChannels=0,this.smallScreen=!1,this.childRootRoute="",this.userPersonaEnum=Qe.ol,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.treeControlNested=new bo.VY(jt=>jt.children),this.treeControlLogout=new bo.VY(jt=>jt.children),this.treeControlShowData=new bo.VY(jt=>jt.children),this.navMenus=new Vs.WX,this.navMenusLogout=new Vs.WX,this.navMenusShowData=new Vs.WX,this.hasChild=(jt,on)=>!!on.children&&on.children.length>0,this.version=Bs.q4,Ho.LNDChildren&&200===Ho.LNDChildren[Ho.LNDChildren.length-1].id&&Ho.LNDChildren.pop(),this.navMenus.data=Ho.LNDChildren||[],this.navMenusLogout.data=this.logoutNode,this.navMenusShowData.data=this.showDataNodes}ngOnInit(){const T=this.sessionService.getItem("token");this.showLogout=!!T,this.flgLoading=!!T,this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[0])).subscribe(x=>{this.appConfig=x}),this.store.select(st.gW).pipe((0,ui.R)(this.unSubs[1])).subscribe(x=>{if(this.information=x.nodeDate,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if(this.information&&this.information.chains&&this.information.chains.length&&this.information.chains.length>0&&"object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const V=this.information.chains[0];this.informationChain.chain=V.chain,this.informationChain.network=V.network}}else this.informationChain.chain="",this.informationChain.network="";this.flgLoading=!this.information.identity_pubkey,window.innerWidth<=414&&(this.smallScreen=!0),this.selNode=x.selNode,this.settings=this.selNode?.settings||null,this.selConfigNodeIndex=+(x.selNode?.index||0),this.selNode&&this.selNode.lnImplementation&&this.filterSideMenuNodes(),this.logger.info(x)}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[2])).subscribe(x=>{this.showLogout=!!x.token,this.flgLoading=!!x.token}),this.actions.pipe((0,ui.R)(this.unSubs[3]),(0,xr.h)(x=>x.type===Qe.pg.LOGOUT)).subscribe(x=>{this.showLogout=!1})}onClick(T){"Logout"===T.name&&(this.store.dispatch((0,Qt.c1)({payload:{data:{type:Qe.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}}})),this.rtlEffects.closeConfirm.pipe((0,ui.R)(this.unSubs[4])).subscribe(x=>{x&&(this.showLogout=!1,this.store.dispatch((0,Qt.kS)()))})),this.ChildNavClicked.emit(T)}onChildNavClicked(T){this.ChildNavClicked.emit(T)}filterSideMenuNodes(){switch(this.selNode?.lnImplementation?.toUpperCase()){case"CLN":this.loadCLNMenu();break;case"ECL":this.loadECLMenu();break;default:this.loadLNDMenu()}}loadLNDMenu(){let T=[];T=JSON.parse(JSON.stringify(Ho.LNDChildren)),this.navMenus.data=T?.filter(x=>x.children&&x.children.length?(x.children=x.children?.filter(V=>(V.userPersona===Qe.ol.ALL||V.userPersona===this.settings?.userPersona)&&"/services/loop"!==V.link&&"/services/boltz"!==V.link||"/services/loop"===V.link&&this.settings?.swapServerUrl&&""!==this.settings.swapServerUrl.trim()||"/services/boltz"===V.link&&this.settings?.boltzServerUrl&&""!==this.settings.boltzServerUrl.trim()),x.children.length>0):x.userPersona===Qe.ol.ALL||x.userPersona===this.settings?.userPersona)}loadCLNMenu(){let T=[];T=JSON.parse(JSON.stringify(Ho.CLNChildren)),this.navMenus.data=T?.filter(x=>x.children&&x.children.length?(x.children=x.children?.filter(V=>(V.userPersona===Qe.ol.ALL||V.userPersona===this.settings?.userPersona)&&"/services/peerswap"!==V.link||"/services/peerswap"===V.link&&this.settings?.enablePeerswap),x.children.length>0):x.userPersona===Qe.ol.ALL||x.userPersona===this.settings?.userPersona)}loadECLMenu(){this.navMenus.data=JSON.parse(JSON.stringify(Ho.ECLChildren))}onShowData(T){this.store.dispatch((0,Qt.tj)()),this.ChildNavClicked.emit("showData")}onNodeSelectionChange(T){const x=this.selConfigNodeIndex;this.selConfigNodeIndex=T;const V=this.appConfig.nodes.find(me=>+me.index===T);this.store.dispatch((0,Qt.fk)({payload:{uiMessage:Qe.m6.UPDATE_SELECTED_NODE,prevLnNodeIndex:+x,currentLnNode:V||null,isInitialSetup:!1}})),this.ChildNavClicked.emit("selectNode")}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||El)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Qo.m),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(Na.V))};static#t=this.\u0275cmp=t.Xpm({type:El,selectors:[["rtl-side-navigation"]],viewQuery:function(x,V){if(1&x&&t.Gf(Vs.gi,5),2&x){let me;t.iGM(me=t.CRH())&&(V.tree=me.first)}},outputs:{ChildNavClicked:"ChildNavClicked"},decls:12,vars:5,consts:[["fxLayout","column","fxFlex","100","fxLayoutAlign","space-between start",3,"perfectScrollbar"],["fxLayout","column","fxFlex","90","fxLayoutAlign","start stretch",1,"w-100"],["class","m-2 multi-node-select",3,"value","selectionChange",4,"ngIf"],[1,"w-100"],[3,"dataSource","treeControl",4,"ngIf"],[3,"dataSource","treeControl"],[3,"click",4,"matTreeNodeDef"],["fxLayout","column","fxLayoutAlign","end stretch",1,"w-100"],["boltzIconBlock",""],[1,"m-2","multi-node-select",3,"value","selectionChange"],["tabindex","1",3,"value",4,"ngFor","ngForOf"],["tabindex","1",3,"value"],["tree",""],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink",4,"matTreeNodeDef"],["fxLayout","column","matTreeNodeToggle","",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodeToggle","","routerLinkActive","active-link",3,"routerLink"],[3,"click"],["fxLayout","row","fxFlex","100","fxLayoutAlign","start center"],["class","fa-icon-small mr-2",4,"ngIf"],["class","fa-icon-small mr-2",3,"icon",4,"ngIf"],["class","mat-icon-36",4,"ngIf"],[1,"fa-icon-small","mr-2"],[3,"ngTemplateOutlet"],[1,"fa-icon-small","mr-2",3,"icon"],[1,"mat-icon-36"],["fxLayout","column","matTreeNodeToggle",""],["fxLayout","row","fxLayoutAlign","start center",1,"mat-nested-tree-node-parent"],["fxFlex","89","fxLayoutAlign","start center"],["class","mr-2",4,"ngIf"],["fxFlex","11","mat-icon-button","","fxLayoutAlign","end center"],[1,"mat-icon-rtl-mirror"],[1,"mat-nested-tree-node-child"],["matTreeNodeOutlet",""],[1,"mr-2"],["class","fa-icon-small mr-2","matTooltipPosition","right",3,"icon","matTooltip",4,"ngIf"],["class","mat-icon-36","matTooltipPosition","right",3,"matTooltip",4,"ngIf"],["matTooltipPosition","right",1,"fa-icon-small","mr-2",3,"icon","matTooltip"],["matTooltipPosition","right",1,"mat-icon-36",3,"matTooltip"],["viewBox","0 0 78 78","version","1.1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink"],["id","Logo","stroke","none","stroke-width","1","fill","none","fill-rule","evenodd"],["id","Group"],["id","Oval","cx","39","cy","39","r","37.5",1,"boltz-icon"],["d","M36.4583326,43.7755404 L40.53965,35.2316544 L39.4324865,35.2316544 L46.0754873,17.6071752 C46.292579,17.0204094 46.3287609,16.5159331 46.1840331,16.0937464 C46.0393053,15.671561 45.7860319,15.3674444 45.4242131,15.1813966 C45.0623942,14.9953487 44.6535376,14.9524146 44.1976433,15.0525945 C43.7417511,15.1527743 43.3256596,15.4461573 42.9493689,15.9327433 L22.6078557,40.7701025 C22.2026186,41.2710003 22,41.7575877 22,42.2298646 C22,42.6735173 22.1592003,43.0420366 22.477601,43.3354226 C22.7960017,43.6288058 23.1940025,43.7755404 23.6716036,43.7755404 L36.4583326,43.7755404 Z","id","Path",1,"boltz-icon-fill"],["d","M44.4883879,63.7755404 L48.8604707,55.165009 L47.6744296,55.165009 L54.7906978,37.4030526 C55.0232558,36.8117097 55.0620155,36.3032983 54.9069768,35.8778185 C54.7519381,35.4523399 54.4806208,35.1458511 54.0930248,34.958352 C53.7054289,34.7708528 53.2674441,34.7275839 52.7790706,34.8285452 C52.2906992,34.9295065 51.8449641,35.2251779 51.4418653,35.7155595 L29.6511611,60.746659 C29.2170537,61.251464 29,61.7418469 29,62.2178078 C29,62.6649211 29.1705423,63.036315 29.5116268,63.3319895 C29.8527113,63.6276613 30.2790669,63.7755404 30.7906936,63.7755404 L44.4883879,63.7755404 Z","id","Path-Copy","transform","translate(42.000000, 49.275540) rotate(-180.000000) translate(-42.000000, -49.275540) ",1,"boltz-icon-fill"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,oh,2,2,"mat-select",2),t._UZ(3,"mat-divider",3),t.YNc(4,hd,4,3,"mat-tree",4),t._UZ(5,"mat-divider",3),t.TgZ(6,"mat-tree",5),t.YNc(7,dh,6,4,"mat-tree-node",6),t.qZA()(),t.TgZ(8,"div",7),t.YNc(9,uh,2,2,"mat-tree",4),t.qZA()(),t.YNc(10,W0,6,0,"ng-template",null,8,t.W1O)),2&x&&(t.xp6(2),t.Q6J("ngIf",V.appConfig.nodes.length>1),t.xp6(2),t.Q6J("ngIf",null==V.settings?null:V.settings.lnServerUrl),t.xp6(2),t.Q6J("dataSource",V.navMenusShowData)("treeControl",V.treeControlShowData),t.xp6(3),t.Q6J("ngIf",V.showLogout))},dependencies:[si.sg,si.O5,si.tP,Ot.BN,Vt.xw,Vt.Wh,Vt.yH,An.lW,Fl.Hw,io.d,Vs.GZ,Vs.fQ,Vs.eu,Vs.gi,Vs.uo,Vs.Ar,Jn.gD,oi.ey,R2.gM,Ne.rH,Ne.Od,xi.$V],styles:[".tree-children-invisible[_ngcontent-%COMP%]{display:none}"]})}var _d=m(8589);function W3(K,T){if(1&K&&(t.TgZ(0,"p",2),t._UZ(1,"fa-icon",3),t.TgZ(2,"span"),t._uU(3),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faCode),t.xp6(2),t.hij("API Version: ",null==x.information?null:x.information.api_version,"")}}function hh(K,T){if(1&K&&(t.TgZ(0,"p",11),t._UZ(1,"fa-icon",3),t.TgZ(2,"span",12),t._uU(3,"Settings"),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faUserCog)}}function fh(K,T){if(1&K&&(t.TgZ(0,"p",13),t._UZ(1,"fa-icon",3),t.TgZ(2,"span",14),t._uU(3,"Help"),t.qZA()()),2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faQuestion)}}function K0(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"p",15),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.onClick())}),t._UZ(1,"fa-icon",3),t.TgZ(2,"span"),t._uU(3,"Logout"),t.qZA()()}if(2&K){const x=t.oxw();t.xp6(1),t.Q6J("icon",x.faEject)}}class $1{constructor(T,x,V,me,tt){this.logger=T,this.sessionService=x,this.store=V,this.rtlEffects=me,this.actions=tt,this.faUserCog=he.gNZ,this.faCodeBranch=he.mh3,this.faCode=he.dT$,this.faCog=he.b7W,this.faQuestion=he.Psp,this.faEject=he.KOR,this.version="",this.information={},this.informationChain={},this.flgLoading=!0,this.showLogout=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x],this.version=Bs.q4}ngOnInit(){this.store.select(st.R4).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{if(this.information=T,this.flgLoading=!this.information.identity_pubkey,this.information.identity_pubkey){if(this.information.chains&&"string"==typeof this.information.chains[0])this.informationChain.chain=this.information.chains[0].toString(),this.informationChain.network=this.information.testnet?"Testnet":"Mainnet";else if(this.information&&this.information.chains&&this.information.chains.length&&this.information.chains.length>0&&"object"==typeof this.information.chains[0]&&this.information.chains[0].hasOwnProperty("chain")){const x=this.information.chains[0];this.informationChain.chain=x.chain,this.informationChain.network=x.network}}else this.informationChain.chain="",this.informationChain.network="";this.logger.info(T)}),this.sessionService.watchSession().pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.showLogout=!!T.token,this.flgLoading=!!T.token}),this.actions.pipe((0,ui.R)(this.unSubs[2]),(0,xr.h)(T=>T.type===Qe.pg.LOGOUT)).subscribe(()=>{this.showLogout=!1})}onClick(){this.store.dispatch((0,Qt.c1)({payload:{data:{type:Qe.n_.CONFIRM,alertTitle:"Logout",titleMessage:"Logout from this device?",noBtnText:"Cancel",yesBtnText:"Logout"}}})),this.rtlEffects.closeConfirm.pipe((0,ui.R)(this.unSubs[3])).subscribe(T=>{T&&(this.showLogout=!1,this.store.dispatch((0,Qt.kS)()))})}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(null),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||$1)(t.Y36(sn.mQ),t.Y36(Qo.m),t.Y36(Hn.yh),t.Y36(Na.V),t.Y36(vs.eX))};static#t=this.\u0275cmp=t.Xpm({type:$1,selectors:[["rtl-top-menu"]],decls:14,vars:8,consts:[[1,"top-menu",3,"overlapTrigger"],["topMenu","matMenu"],["mat-menu-item","",1,"cursor-default"],[1,"fa-icon-small","mr-1",3,"icon"],["mat-menu-item","","class","cursor-default",4,"ngIf"],["mat-menu-item","","routerLink","/settings",4,"ngIf"],["mat-menu-item","","routerLink","/help",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],["mat-icon-button","",1,"top-toolbar-icon",3,"matMenuTriggerFor"],["src","assets/images/RTL-Horse-BY.svg","alt","RTL Logo"],[1,"logo-icon"],["mat-menu-item","","routerLink","/settings"],["routerLink","/settings"],["mat-menu-item","","routerLink","/help"],["routerLink","/help"],["mat-menu-item","",3,"click"]],template:function(x,V){if(1&x&&(t.TgZ(0,"mat-menu",0,1)(2,"p",2),t._UZ(3,"fa-icon",3),t.TgZ(4,"span"),t._uU(5),t.qZA()(),t.YNc(6,W3,4,2,"p",4),t.YNc(7,hh,4,1,"p",5),t.YNc(8,fh,4,1,"p",6),t.YNc(9,K0,4,1,"p",7),t.qZA(),t.TgZ(10,"button",8),t._UZ(11,"img",9),t.TgZ(12,"mat-icon",10),t._uU(13,"arrow_drop_down"),t.qZA()()),2&x){const me=t.MAs(1);t.Q6J("overlapTrigger",!1),t.xp6(3),t.Q6J("icon",V.faCodeBranch),t.xp6(2),t.hij("Version: ",V.version,""),t.xp6(1),t.Q6J("ngIf",null==V.information?null:V.information.api_version),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("ngIf",V.showLogout),t.xp6(1),t.Q6J("matMenuTriggerFor",me)}},dependencies:[si.O5,Ot.BN,An.lW,Fl.Hw,_d.VK,_d.OP,_d.p6,Ne.rH],styles:[".top-toolbar-icon .mat-button-wrapper img{width:3.2rem}.top-toolbar-icon .mat-button-wrapper .material-icons.mat-icon.logo-icon{font-size:2rem;text-align:start}\n"],encapsulation:2})}const af=["sideNavigation"],e2=["sideNavContent"];function nl(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",13),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.sideNavToggle())}),t.TgZ(1,"mat-icon"),t._uU(2,"menu"),t.qZA()()}if(2&K){const x=t.oxw();t.Q6J("matTooltip",x.flgSideNavOpened?"Hide Navigation Menu":"Show Navigation Menu")("matTooltipDisabled",x.smallScreen)}}function K3(K,T){1&K&&(t.O4$(),t._UZ(0,"path",18))}function ph(K,T){1&K&&(t.O4$(),t._UZ(0,"path",19))}function rf(K,T){if(1&K){const x=t.EpF();t.TgZ(0,"button",14),t.NdJ("click",function(){t.CHM(x);const me=t.oxw();return t.KtG(me.flgSidenavPinned=!me.flgSidenavPinned)}),t.O4$(),t.TgZ(1,"svg",15),t.YNc(2,K3,1,0,"path",16),t.YNc(3,ph,1,0,"path",17),t.qZA()()}if(2&K){const x=t.oxw();t.Q6J("matTooltip",x.flgSidenavPinned?"Unpin Navigation Menu":"Pin Navigation Menu"),t.xp6(2),t.Q6J("ngIf",!x.flgSidenavPinned),t.xp6(1),t.Q6J("ngIf",x.flgSidenavPinned)}}function sf(K,T){if(1&K&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Oqu(x.information.alias?"RTL - "+x.information.alias:"RTL")}}function _h(K,T){if(1&K&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&K){const x=t.oxw();t.xp6(1),t.Oqu(x.information.alias?"Ride The Lightning - "+x.information.alias:"Ride The Lightning")}}function G3(K,T){1&K&&(t.TgZ(0,"div",20),t._UZ(1,"mat-spinner",21),t.TgZ(2,"h4"),t._uU(3,"Loading RTL..."),t.qZA()())}const mh=function(K,T){return[K,T]};class gh{constructor(T,x,V,me,tt,kt,jt,on,xn){this.logger=T,this.commonService=x,this.store=V,this.actions=me,this.userIdle=tt,this.router=kt,this.sessionService=jt,this.breakpointObserver=on,this.renderer=xn,this.information={},this.flgLoading=[!0],this.flgSideNavOpened=!0,this.flgCopied=!1,this.accessKey="",this.xSmallScreen=!1,this.smallScreen=!1,this.flgSidenavPinned=!0,this.flgLoggedIn=!1,this.unSubs=[new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x,new Gn.x]}ngOnInit(){this.router.events.subscribe(T=>{T instanceof Ne.m2&&document.getElementsByTagName("mat-sidenav-content")[0].scrollTo(0,0)}),this.breakpointObserver.observe([$i.u3.XSmall,$i.u3.TabletPortrait,$i.u3.Small,$i.u3.Medium,$i.u3.Large,$i.u3.XLarge]).pipe((0,ui.R)(this.unSubs[0])).subscribe(T=>{T.breakpoints[$i.u3.XSmall]?(this.commonService.setScreenSize(Qe.cu.XS),this.smallScreen=!0):T.breakpoints[$i.u3.TabletPortrait]?(this.commonService.setScreenSize(Qe.cu.SM),this.smallScreen=!0):T.breakpoints[$i.u3.Small]||T.breakpoints[$i.u3.Medium]?(this.commonService.setScreenSize(Qe.cu.MD),this.smallScreen=!1):T.breakpoints[$i.u3.Large]?(this.commonService.setScreenSize(Qe.cu.LG),this.smallScreen=!1):(this.commonService.setScreenSize(Qe.cu.XL),this.smallScreen=!1)}),this.store.dispatch((0,Qt.ey)()),this.accessKey=this.readAccessKey()||"",this.store.select(st.dT).pipe((0,ui.R)(this.unSubs[1])).subscribe(T=>{this.settings=T.settings,this.sessionService.getItem("token")?(this.flgLoggedIn=!0,this.userIdle.startWatching()):(this.flgLoggedIn=!1,this.flgLoading[0]=!1)}),this.store.select(st.Yj).pipe((0,ui.R)(this.unSubs[2])).subscribe(T=>{this.appConfig=T}),this.store.select(st.R4).pipe((0,ui.R)(this.unSubs[3])).subscribe(T=>{this.information=T,this.flgLoading[0]=!this.information.identity_pubkey,this.logger.info(this.information)}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1),this.actions.pipe((0,ui.R)(this.unSubs[4]),(0,xr.h)(T=>T.type===Qe.pg.SET_RTL_CONFIG||T.type===Qe.pg.LOGIN||T.type===Qe.pg.LOGOUT)).subscribe(T=>{T.type===Qe.pg.SET_RTL_CONFIG&&(this.sessionService.getItem("token")||(+T.payload.sso.rtlSSO?!this.accessKey||this.accessKey.trim().length<32?this.router.navigate(["./error"],{state:{errorCode:"406",errorMessage:"Access key too short. It should be at least 32 characters long."}}):this.store.dispatch((0,Qt.x4)({payload:{password:Mr(this.accessKey).toString(),defaultPassword:!1}})):this.router.navigate(["./login"]))),T.type===Qe.pg.LOGIN&&(this.flgLoggedIn=!0,this.userIdle.startWatching(),this.userIdle.resetTimer(),setTimeout(()=>{this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)},1e3)),T.type===Qe.pg.LOGOUT&&(this.flgLoggedIn=!1,this.userIdle.stopWatching(),this.userIdle.stopTimer())}),this.userIdle.onTimerStart().pipe((0,ui.R)(this.unSubs[5])).subscribe(T=>{this.logger.info("Counting Down: "+(11-T))}),this.userIdle.onTimeout().pipe((0,ui.R)(this.unSubs[6])).subscribe(()=>{this.logger.info("Time Out!"),this.sessionService.getItem("token")&&(this.flgLoggedIn=!1,this.logger.warn("Time limit exceeded for session inactivity."),this.store.dispatch((0,Qt.ts)()),this.store.dispatch((0,Qt.qR)({payload:{data:{type:Qe.n_.WARNING,alertTitle:"Logging out",titleMessage:"Time limit exceeded for session inactivity."}}})),this.store.dispatch((0,Qt.kS)()))}),"true"===this.sessionService.getItem("defaultPassword")&&(this.flgSideNavOpened=!1)}readAccessKey(){const T=window.location.href;return T.includes("access-key=")?T.substring(T.lastIndexOf("access-key=")+11).trim():null}ngAfterViewInit(){(this.smallScreen||!this.flgLoggedIn)&&this.sideNavigation.close(),this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth,this.sideNavContent.elementRef.nativeElement.clientHeight)}sideNavToggle(){this.flgSideNavOpened=!this.flgSideNavOpened,this.sideNavigation.toggle()}onNavigationClicked(T){this.smallScreen&&this.sideNavigation.close()}copiedText(T){this.flgCopied=!0,setTimeout(()=>{this.flgCopied=!1},5e3),this.logger.info("Copied Text: "+T)}ngOnDestroy(){this.unSubs.forEach(T=>{T.next(),T.complete()})}static#e=this.\u0275fac=function(x){return new(x||gh)(t.Y36(sn.mQ),t.Y36(ta.v),t.Y36(Hn.yh),t.Y36(vs.eX),t.Y36(no),t.Y36(Ne.F0),t.Y36(Qo.m),t.Y36($i.Yg),t.Y36(t.Qsj))};static#t=this.\u0275cmp=t.Xpm({type:gh,selectors:[["rtl-app"]],viewQuery:function(x,V){if(1&x&&(t.Gf(af,5),t.Gf(e2,5)),2&x){let me;t.iGM(me=t.CRH())&&(V.sideNavigation=me.first),t.iGM(me=t.CRH())&&(V.sideNavContent=me.first)}},decls:23,vars:15,consts:[["fxLayout","column","id","rtl-container",1,"rtl-container","medium",3,"ngClass"],["fxLayout","row","fxLayoutAlign","space-between center",1,"padding-gap-x","bg-primary","rtl-top-toolbar"],["class","top-toolbar-icon mr-1","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","matTooltipDisabled","click",4,"ngIf"],["class","top-toolbar-icon","mat-icon-button","","matTooltipPosition","right",3,"matTooltip","click",4,"ngIf"],[4,"ngIf"],[1,"sidenav","mat-elevation-z6",3,"perfectScrollbar","opened","mode"],["sideNavigation",""],["fxFlex","100",3,"ChildNavClicked"],[3,"perfectScrollbar"],["sideNavContent",""],["fxLayout","column","fxFlex","100","fxLayoutAlign","start stretch",1,"inner-sidenav-content"],["outlet","outlet"],["class","rtl-spinner",4,"ngIf"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon","mr-1",3,"matTooltip","matTooltipDisabled","click"],["mat-icon-button","","matTooltipPosition","right",1,"top-toolbar-icon",3,"matTooltip","click"],["viewBox","0 0 32 32",1,"icon-pinned"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z",4,"ngIf"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z",4,"ngIf"],["fill","currentColor","d","M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z"],["fill","currentColor","d","M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z"],[1,"rtl-spinner"],["color","accent"]],template:function(x,V){1&x&&(t.TgZ(0,"div",0),t.ALo(1,"lowercase"),t.ALo(2,"lowercase"),t.TgZ(3,"mat-toolbar",1)(4,"div"),t.YNc(5,nl,3,2,"button",2),t.YNc(6,rf,4,3,"button",3),t.qZA(),t.TgZ(7,"div"),t.YNc(8,sf,2,1,"span",4),t.YNc(9,_h,2,1,"span",4),t.qZA(),t.TgZ(10,"div"),t._UZ(11,"rtl-top-menu"),t.qZA()(),t.TgZ(12,"mat-sidenav-container")(13,"mat-sidenav",5,6)(15,"rtl-side-navigation",7),t.NdJ("ChildNavClicked",function(tt){return V.onNavigationClicked(tt)}),t.qZA()(),t.TgZ(16,"mat-sidenav-content",8,9)(18,"div",10),t._UZ(19,"router-outlet",null,11),t.qZA()(),t._uU(21,"> "),t.qZA(),t.YNc(22,G3,4,0,"div",12),t.qZA()),2&x&&(t.Q6J("ngClass",t.WLB(12,mh,t.lcZ(1,8,V.settings.themeColor),t.lcZ(2,10,V.settings.themeMode))),t.xp6(5),t.Q6J("ngIf",V.flgLoggedIn),t.xp6(1),t.Q6J("ngIf",!V.smallScreen&&V.flgLoggedIn),t.xp6(2),t.Q6J("ngIf",V.smallScreen),t.xp6(1),t.Q6J("ngIf",!V.smallScreen),t.xp6(4),t.Q6J("opened",V.flgSideNavOpened&&V.flgLoggedIn)("mode",V.flgSidenavPinned&&!V.smallScreen?"side":"over"),t.xp6(9),t.Q6J("ngIf",!V.settings.themeColor))},dependencies:[si.mk,si.O5,Vt.xw,Vt.Wh,Vt.yH,Ea.oO,An.lW,Fl.Hw,Dc.Ou,dd.JX,dd.TM,dd.Rh,Jl.Ye,R2.gM,xi.$V,El,$1,Ne.lC,si.i8],styles:[".inline-spinner[_ngcontent-%COMP%]{display:inline-flex!important;top:0!important}.top-toolbar-icon[_ngcontent-%COMP%] .icon-pinned[_ngcontent-%COMP%]{width:3rem;height:3rem;padding:1rem 0 0 1.2rem;cursor:pointer}"],data:{animation:[Xr.g]}})}class Dl{constructor(T){this.sessionService=T}intercept(T,x){if(this.sessionService.getItem("token")){const V=T.clone({headers:T.headers.set("Authorization","Bearer "+this.sessionService.getItem("token")),withCredentials:!0});return x.handle(V)}return x.handle(T)}static#e=this.\u0275fac=function(x){return new(x||Dl)(t.LFG(Qo.m))};static#t=this.\u0275prov=t.Yz7({token:Dl,factory:Dl.\u0275fac})}var t2=m(3512),$l=m(3172),Z3=m(4947),Y3=m(3289);const Ao={userPersona:"OPERATOR",themeMode:"DAY",themeColor:"PURPLE",channelBackupPath:"",selCurrencyUnit:"USD",unannouncedChannels:!1,fiatConversion:!1,currencyUnits:["Sats","BTC","USD"],bitcoindConfigPath:"",enableOffers:!1,enablePeerswap:!1},vh={configPath:"",swapMacaroonPath:"",boltzMacaroonPath:""},G0={apiURL:"",apisCallStatus:{Login:{status:Qe.Bn.UN_INITIATED},IsAuthorized:{status:Qe.Bn.UN_INITIATED}},selNode:{index:1,lnNode:"Node 1",settings:Ao,authentication:vh,lnImplementation:"LND"},appConfig:{defaultNodeIndex:-1,selectedNodeIndex:-1,sso:{rtlSSO:0,logoutRedirectLink:""},enable2FA:!1,allowPasswordUpdate:!0,nodes:[{settings:Ao,authentication:vh}]},nodeData:{}},yh=(0,Hn.Lq)(G0,(0,Hn.on)(Qt.qi,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Qt.vI,(K,{payload:T})=>({...G0,apisCallStatus:K.apisCallStatus,appConfig:K.appConfig,selNode:T})),(0,Hn.on)(Qt.fk,(K,{payload:T})=>({...K,selNode:T.currentLnNode})),(0,Hn.on)(Qt.Tm,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.selNode));switch(T.service){case Qe.JX.BOLTZ:x.settings.boltzServerUrl=T.settings.boltzServerUrl;break;case Qe.JX.LOOP:x.settings.swapServerUrl=T.settings.swapServerUrl;break;case Qe.JX.OFFERS:x.settings.enableOffers=T.settings.enableOffers;break;case Qe.JX.PEERSWAP:x.settings.enablePeerswap=T.settings.enablePeerswap}return{...K,selNode:x}}),(0,Hn.on)(Qt._V,(K,{payload:T})=>({...K,nodeData:T})),(0,Hn.on)(Qt.XT,(K,{payload:T})=>({...K,appConfig:T}))),bh={apisCallStatus:{FetchPageSettings:{status:Qe.Bn.UN_INITIATED},FetchInfo:{status:Qe.Bn.UN_INITIATED},FetchFees:{status:Qe.Bn.UN_INITIATED},FetchPeers:{status:Qe.Bn.UN_INITIATED},FetchClosedChannels:{status:Qe.Bn.UN_INITIATED},FetchPendingChannels:{status:Qe.Bn.UN_INITIATED},FetchAllChannels:{status:Qe.Bn.UN_INITIATED},FetchBalanceBlockchain:{status:Qe.Bn.UN_INITIATED},FetchInvoices:{status:Qe.Bn.UN_INITIATED},FetchPayments:{status:Qe.Bn.UN_INITIATED},FetchForwardingHistory:{status:Qe.Bn.UN_INITIATED},FetchUTXOs:{status:Qe.Bn.UN_INITIATED},FetchTransactions:{status:Qe.Bn.UN_INITIATED},FetchLightningTransactions:{status:Qe.Bn.UN_INITIATED},FetchNetwork:{status:Qe.Bn.UN_INITIATED}},nodeSettings:{userPersona:Qe.ol.OPERATOR,unannouncedChannels:!1,fiatConversion:!1,channelBackupPath:"",currencyUnits:[],selCurrencyUnit:"",lnImplementation:"",swapServerUrl:""},pageSettings:Qe.gK,information:{},peers:[],fees:{channel_fees:[],day_fee_sum:0,week_fee_sum:0,month_fee_sum:0,daily_tx_count:0,weekly_tx_count:0,monthly_tx_count:0,forwarding_events_history:{}},networkInfo:{},blockchainBalance:{total_balance:-1},lightningBalance:{local:-1,remote:-1},channels:[],channelsSummary:{active:{num_channels:0,capacity:0},inactive:{num_channels:0,capacity:0}},closedChannels:[],pendingChannels:{},pendingChannelsSummary:{open:{num_channels:0,limbo_balance:0},closing:{num_channels:0,limbo_balance:0},force_closing:{num_channels:0,limbo_balance:0},waiting_close:{num_channels:0,limbo_balance:0},total_channels:0,total_limbo_balance:0},transactions:[],utxos:[],listPayments:{payments:[]},listInvoices:{invoices:[]},allLightningTransactions:{listPaymentsAll:{payments:[],first_index_offset:"",last_index_offset:""},listInvoicesAll:{invoices:[],total_invoices:0,last_index_offset:"",first_index_offset:""}},forwardingHistory:{last_offset_index:0,total_fee_msat:0,forwarding_events:[]}};let xh=!1,Ch=!1;const Z0=(0,Hn.Lq)(bh,(0,Hn.on)(di.PC,(K,{payload:T})=>{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(di.JT,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(di.Ll,(K,{payload:T})=>({...bh,nodeSettings:T})),(0,Hn.on)(di.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(di.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(di.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(me=>me.pub_key===T.pubkey);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(di.YP,(K,{payload:T})=>{const x=K.listInvoices;return x.invoices?.unshift(T),{...K,listInvoices:x}}),(0,Hn.on)(di.aL,(K,{payload:T})=>{const x=K.listInvoices;return x.invoices=x.invoices?.map(V=>V.payment_request===T.payment_request?T:V),{...K,listInvoices:x}}),(0,Hn.on)(di.qY,(K,{payload:T})=>{const x=K.listPayments;return x.payments=x.payments?.map(V=>V.payment_hash===T.payment_hash?T:V),{...K,listPayments:x}}),(0,Hn.on)(di.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(di._L,(K,{payload:T})=>({...K,closedChannels:T})),(0,Hn.on)(di.TW,(K,{payload:T})=>({...K,pendingChannels:T.pendingChannels,pendingChannelsSummary:T.pendingChannelsSummary})),(0,Hn.on)(di.as,(K,{payload:T})=>{let x=0,V=0,me=0,tt=0,kt=0,jt=0;return T&&T.forEach(on=>{on.local_balance||(on.local_balance=0),!0===on.active?(kt+=+on.local_balance,me+=1,on.local_balance?x=+x+ +on.local_balance:on.local_balance=0,on.remote_balance?V=+V+ +on.remote_balance:on.remote_balance=0):(jt+=+on.local_balance,tt+=1)}),{...K,channels:T,channelsSummary:{active:{num_channels:me,capacity:kt},inactive:{num_channels:tt,capacity:jt}},lightningBalance:{local:x,remote:V}}}),(0,Hn.on)(di.OG,(K,{payload:T})=>{const x=[...K.channels],V=K.channels.findIndex(me=>me.channel_point===T.channelPoint);return V>-1&&x.splice(V,1),{...K,channels:x}}),(0,Hn.on)(di.Jl,(K,{payload:T})=>({...K,blockchainBalance:T})),(0,Hn.on)(di.ks,(K,{payload:T})=>({...K,networkInfo:T})),(0,Hn.on)(di.Nr,(K,{payload:T})=>(T.total_invoices||(T.total_invoices=K.listInvoices.total_invoices),{...K,listInvoices:T})),(0,Hn.on)(di.Lf,(K,{payload:T})=>{if(xh=!0,T.length&&Ch){const x=[...K.utxos];return x.forEach(V=>{const me=T.find(tt=>tt.tx_hash===V.outpoint?.txid_str);V.label=me&&me.label?me.label:""}),{...K,utxos:x,transactions:T}}return{...K,transactions:T}}),(0,Hn.on)(di.UH,(K,{payload:T})=>{if(Ch=!0,T.length&&xh){const x=[...K.transactions];T.forEach(V=>{const me=x.find(tt=>tt.tx_hash===V.outpoint?.txid_str);V.label=me&&me.label?me.label:""})}return{...K,utxos:T}}),(0,Hn.on)(di.HI,(K,{payload:T})=>{const x={listInvoicesAll:K.allLightningTransactions.listInvoicesAll,listPaymentsAll:T};return{...K,listPayments:T,allLightningTransactions:x}}),(0,Hn.on)(di.Fr,(K,{payload:T})=>{const x={listInvoicesAll:T.listInvoicesAll,listPaymentsAll:K.listPayments};return{...K,allLightningTransactions:x}}),(0,Hn.on)(di.QJ,(K,{payload:T})=>{const x=[...K.channels,...K.closedChannels];let V=T.forwarding_events?JSON.parse(JSON.stringify(T)):{};return V.forwarding_events&&(V=Q3(V,x)),{...K,forwardingHistory:V}}),(0,Hn.on)(di.pd,(K,{payload:T})=>{const x=[];return Qe.gK.forEach(V=>{const me=T&&T.length&&T.length>0?T.find(tt=>tt.pageId===V.pageId):null;if(me){const tt=JSON.parse(JSON.stringify(me.tables));me.tables=[],V.tables.forEach(kt=>{const jt=tt.find(on=>on.tableId===kt.tableId)||null;jt?me.tables.push(jt):me.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(me)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),Q3=(K,T)=>(K.forwarding_events.forEach(x=>{if(T&&T.length>0)for(let V=0;V{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Rn.oo,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(Rn.xH,(K,{payload:T})=>({...Mh,nodeSettings:T})),(0,Hn.on)(Rn.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(Rn.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(Rn.I8,(K,{payload:T})=>T.perkb?{...K,feeRatesPerKB:T}:T.perkw?{...K,feeRatesPerKW:T}:{...K}),(0,Hn.on)(Rn.Lu,(K,{payload:T})=>({...K,balance:T})),(0,Hn.on)(Rn.xS,(K,{payload:T})=>({...K,localRemoteBalance:T})),(0,Hn.on)(Rn.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(Rn.X3,(K,{payload:T})=>({...K,peers:[...K.peers,T]})),(0,Hn.on)(Rn.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(me=>me.id===T.id);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(Rn.as,(K,{payload:T})=>({...K,activeChannels:T.activeChannels,pendingChannels:T.pendingChannels,inactiveChannels:T.inactiveChannels})),(0,Hn.on)(Rn.OG,(K,{payload:T})=>{const x=[...K.peers];return x.forEach(V=>{V.id===T.id&&(V.connected=!1,delete V.netaddr)}),{...K,peers:x}}),(0,Hn.on)(Rn.HI,(K,{payload:T})=>({...K,payments:T})),(0,Hn.on)(Rn.QJ,(K,{payload:T})=>{const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels],V=Vi(T.listForwards,x);switch(T.listForwards=V,T.status){case Qe.OO.SETTLED:const me=K.fees;return me.totalTxCount=T.totalForwards||0,{...K,fees:me,forwardingHistory:T};case Qe.OO.FAILED:return{...K,failedForwardingHistory:T};case Qe.OO.LOCAL_FAILED:return{...K,localFailedForwardingHistory:T};default:return{...K}}}),(0,Hn.on)(Rn.YP,(K,{payload:T})=>{const x=K.invoices;return x.invoices?.unshift(T),{...K,invoices:x}}),(0,Hn.on)(Rn.Nr,(K,{payload:T})=>({...K,invoices:T})),(0,Hn.on)(Rn.aL,(K,{payload:T})=>{const x=K.invoices;return x.invoices=x.invoices?.map(V=>V.label===T.label?T:V),{...K,invoices:x}}),(0,Hn.on)(Rn.UH,(K,{payload:T})=>({...K,utxos:T})),(0,Hn.on)(Rn.Zu,(K,{payload:T})=>({...K,offers:T})),(0,Hn.on)(Rn.ZH,(K,{payload:T})=>{const x=K.offers;return x?.unshift(T),{...K,offers:x}}),(0,Hn.on)(Rn.JK,(K,{payload:T})=>{const x=[...K.offers],V=K.offers.findIndex(me=>me.offer_id===T.offer.offer_id);return V>-1&&x.splice(V,1,T.offer),{...K,offers:x}}),(0,Hn.on)(Rn.d7,(K,{payload:T})=>({...K,offersBookmarks:T})),(0,Hn.on)(Rn.e9,(K,{payload:T})=>{const x=[...K.offersBookmarks],V=x.findIndex(me=>me.bolt12===T.bolt12);if(V<0)x?.unshift(T);else{const me={...x[V]};me.title=T.title,me.amountMSat=T.amountMSat,me.lastUpdatedAt=T.lastUpdatedAt,me.description=T.description,me.vendor=T.vendor,x.splice(V,1,me)}return{...K,offersBookmarks:x}}),(0,Hn.on)(Rn.en,(K,{payload:T})=>{const x=[...K.offersBookmarks],V=K.offersBookmarks.findIndex(me=>me.bolt12===T.bolt12);return V>-1&&x.splice(V,1),{...K,offersBookmarks:x}}),(0,Hn.on)(Rn.pd,(K,{payload:T})=>{const x=[];return Qe.gG.forEach(V=>{const me=T&&T.length&&T.length>0?T.find(tt=>tt.pageId===V.pageId):null;if(me){const tt=JSON.parse(JSON.stringify(me.tables));me.tables=[],V.tables.forEach(kt=>{const jt=tt.find(on=>on.tableId===kt.tableId)||null;jt?me.tables.push(jt):me.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(me)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),Vi=(K,T)=>(K&&K.length>0?K.forEach((x,V)=>{if(T&&T.length>0)for(let me=0;me{const x=JSON.parse(JSON.stringify(K.apisCallStatus));return T.action&&(x[T.action]={status:T.status,statusCode:T.statusCode,message:T.message,URL:T.URL,filePath:T.filePath}),{...K,apisCallStatus:x}}),(0,Hn.on)(Dn.Zr,(K,{payload:T})=>({...K,nodeSettings:T})),(0,Hn.on)(Dn.Fd,(K,{payload:T})=>({...md,nodeSettings:T})),(0,Hn.on)(Dn.CX,(K,{payload:T})=>({...K,information:T})),(0,Hn.on)(Dn.RX,(K,{payload:T})=>({...K,fees:T})),(0,Hn.on)(Dn.eN,(K,{payload:T})=>({...K,activeChannels:T})),(0,Hn.on)(Dn.TW,(K,{payload:T})=>({...K,pendingChannels:T})),(0,Hn.on)(Dn.i,(K,{payload:T})=>({...K,inactiveChannels:T})),(0,Hn.on)(Dn.HG,(K,{payload:T})=>({...K,channelsStatus:T})),(0,Hn.on)(Dn.Bw,(K,{payload:T})=>({...K,onchainBalance:T})),(0,Hn.on)(Dn.On,(K,{payload:T})=>({...K,lightningBalance:T})),(0,Hn.on)(Dn.Z8,(K,{payload:T})=>({...K,peers:T})),(0,Hn.on)(Dn.EK,(K,{payload:T})=>{const x=[...K.peers],V=K.peers.findIndex(me=>me.nodeId===T.nodeId);return V>-1&&x.splice(V,1),{...K,peers:x}}),(0,Hn.on)(Dn.OG,(K,{payload:T})=>{const x=[...K.activeChannels],V=K.activeChannels.findIndex(me=>me.channelId===T.channelId);return V>-1&&x.splice(V,1),{...K,activeChannels:x}}),(0,Hn.on)(Dn.HI,(K,{payload:T})=>{if(T&&T.sent){const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels];T.sent?.map(V=>{const me=K.peers.find(tt=>tt.nodeId===V.recipientNodeId);return V.recipientNodeAlias=me?me.alias:V.recipientNodeId,V.parts&&V.parts?.map(tt=>{const kt=x.find(jt=>jt.channelId===tt.toChannelId);return tt.toChannelAlias=kt?kt.alias:tt.toChannelId,V.parts}),T.sent})}if(T&&T.relayed){const x=[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels];T.relayed.forEach(V=>{V=gd(V,x)})}return{...K,payments:T}}),(0,Hn.on)(Dn.Lf,(K,{payload:T})=>({...K,transactions:T})),(0,Hn.on)(Dn.YP,(K,{payload:T})=>{const x=K.invoices;return x?.unshift(T),{...K,invoices:x}}),(0,Hn.on)(Dn.Nr,(K,{payload:T})=>({...K,invoices:T})),(0,Hn.on)(Dn.aL,(K,{payload:T})=>{let x=K.invoices;return x=x?.map(V=>{if(V.paymentHash===T.paymentHash){if(T.hasOwnProperty("type")){const me=JSON.parse(JSON.stringify(V));return me.amountSettled=T.parts&&T.parts.length&&T.parts.length>0&&T.parts[0].amount?(T.parts[0].amount||0)/1e3:0,me.receivedAt=T.parts&&T.parts.length&&T.parts.length>0&&T.parts[0].timestamp?Math.round((T.parts[0].timestamp||0)/1e3):0,me.status="received",me}return T}return V}),{...K,invoices:x}}),(0,Hn.on)(Dn.DJ,(K,{payload:T})=>{let x=K.pendingChannels;return x=x?.map(V=>(V.channelId===T.channelId&&V.nodeId===T.remoteNodeId&&(T.currentState=T.currentState?.replace(/_/g," "),V.state=T.currentState),V)),{...K,pendingChannels:x}}),(0,Hn.on)(Dn.ti,(K,{payload:T})=>{const x=K.payments,V=gd(T,[...K.activeChannels,...K.pendingChannels,...K.inactiveChannels]);V.amountIn=Math.round((T.amountIn||0)/1e3),V.amountOut=Math.round((T.amountOut||0)/1e3),x.relayed?.unshift(V);const me=(T.amountIn||0)-(T.amountOut||0),tt={localBalance:K.lightningBalance.localBalance+me,remoteBalance:K.lightningBalance.remoteBalance-me},kt=K.channelsStatus;kt.active&&(kt.active.capacity=(K.channelsStatus?.active?.capacity||0)+me);const jt={daily_fee:(K.fees.daily_fee||0)+me,daily_txs:(K.fees.daily_txs||0)+1,weekly_fee:(K.fees.weekly_fee||0)+me,weekly_txs:(K.fees.weekly_txs||0)+1,monthly_fee:(K.fees.monthly_fee||0)+me,monthly_txs:(K.fees.monthly_txs||0)+1},on=K.activeChannels;let xn=!1,fi=!1;for(const Xn of on){if(Xn.channelId===T.fromChannelId){xn=!0;const Pi=(Xn.toLocal||0)+(Xn.toRemote||0);Xn.toLocal=(Xn.toLocal||0)+V.amountIn,Xn.toRemote=(Xn.toRemote||0)-V.amountIn,Xn.balancedness=0===Pi?1:+(1-Math.abs((Xn.toLocal-Xn.toRemote)/Pi)).toFixed(3)}if(Xn.channelId===T.toChannelId){fi=!0;const Pi=(Xn.toLocal||0)+(Xn.toRemote||0);Xn.toLocal=(Xn.toLocal||0)-V.amountOut,Xn.toRemote=(Xn.toRemote||0)+V.amountOut,Xn.balancedness=0===Pi?1:+(1-Math.abs((Xn.toLocal-Xn.toRemote)/Pi)).toFixed(3)}if(fi&&xn)break}return{...K,payments:x,lightningBalance:tt,channelStatus:kt,fees:jt,activeChannels:on}}),(0,Hn.on)(Dn.pd,(K,{payload:T})=>{const x=[];return Qe.c3.forEach(V=>{const me=T&&T.length&&T.length>0?T.find(tt=>tt.pageId===V.pageId):null;if(me){const tt=JSON.parse(JSON.stringify(me.tables));me.tables=[],V.tables.forEach(kt=>{const jt=tt.find(on=>on.tableId===kt.tableId)||null;jt?me.tables.push(jt):me.tables.push(JSON.parse(JSON.stringify(kt)))}),x.push(me)}else x.push(JSON.parse(JSON.stringify(V)))}),{...K,pageSettings:x}})),gd=(K,T)=>{if("payment-relayed"===K.type)if(T&&T.length>0)for(let x=0;x0)for(let x=0;x{T[x].channelId?.toString()===V.channelId&&(V.channelAlias=T[x].alias?T[x].alias:V.channelId,V.shortChannelId=T[x].shortChannelId?T[x].shortChannelId:"")}),K.outgoing?.forEach(V=>{T[x].channelId?.toString()===V.channelId&&(V.channelAlias=T[x].alias?T[x].alias:V.channelId,V.shortChannelId=T[x].shortChannelId?T[x].shortChannelId:"")}),x===T.length-1&&(K.incoming&&K.incoming.length&&K.incoming.length>0&&!K.incoming[0].channelAlias&&K.incoming?.forEach(V=>{V.channelAlias=V.channelId?.substring(0,17)+"...",V.shortChannelId=""}),K.outgoing&&K.outgoing.length&&K.outgoing.length>0&&!K.outgoing[0].channelAlias&&K.outgoing?.forEach(V=>{V.channelAlias=V.channelId?.substring(0,17)+"...",V.shortChannelId=""}));else K.incoming?.forEach(x=>{x.channelAlias=x.channelId?.substring(0,17)+"...",x.shortChannelId=""}),K.outgoing?.forEach(x=>{x.channelAlias=x.channelId?.substring(0,17)+"...",x.shortChannelId=""});K.amountIn=K.incoming?.reduce((x,V)=>x+V.amount,0)||0,K.fromChannelId=K.incoming&&K.incoming.length?K.incoming[0].channelId:"",K.fromChannelAlias=K.incoming&&K.incoming.length?K.incoming[0].channelAlias:"",K.fromShortChannelId=K.incoming&&K.incoming.length?K.incoming[0].shortChannelId:"",K.amountOut=K.outgoing?.reduce((x,V)=>x+V.amount,0)||0,K.toChannelId=K.outgoing&&K.outgoing.length?K.outgoing[0].channelId:"",K.toChannelAlias=K.outgoing&&K.outgoing.length?K.outgoing[0].channelAlias:"",K.toShortChannelId=K.outgoing&&K.outgoing.length?K.outgoing[0].shortChannelId:""}return K};class n2{static#e=this.\u0275fac=function(x){return new(x||n2)};static#t=this.\u0275mod=t.oAB({type:n2,bootstrap:[gh]});static#n=this.\u0275inj=t.cJS({providers:[{provide:Ba.TP,useClass:Dl,multi:!0},er.a1,Qo.m,r1.D,t2.d,H1.W,ta.v,yo],imports:[sr,cd.m,Xl,$i.xu,e.t6,os.forRoot({idle:3590,timeout:10,ping:12e3}),Hn.Aw.forRoot({root:yh,lnd:Z0,cln:Eh,ecl:Dh},{runtimeChecks:{strictStateImmutability:!1,strictActionImmutability:!1}}),vs.sQ.forRoot([Na.V,$l.l,Z3.J,Y3.o]),Bs.NZ.production?[]:dl.FT.instrument()]})}Bs.NZ.production&&(0,t.G48)(),e.q6().bootstrapModule(n2).catch(K=>console.log(K))},8996:(Ve,X)=>{"use strict";function m(be){return Object.keys(be).map(Ye=>be[Ye])}var be;Object.defineProperty(X,"__esModule",{value:!0}),(be=X.HashAlgorithms||(X.HashAlgorithms={})).SHA1="sha1",be.SHA256="sha256",be.SHA512="sha512";const e=m(X.HashAlgorithms);!function(be){be.ASCII="ascii",be.BASE64="base64",be.HEX="hex",be.LATIN1="latin1",be.UTF8="utf8"}(X.KeyEncodings||(X.KeyEncodings={}));const t=m(X.KeyEncodings);!function(be){be.HOTP="hotp",be.TOTP="totp"}(X.Strategy||(X.Strategy={}));const _=m(X.Strategy),E=()=>{throw new Error("Please provide an options.createDigest implementation.")};function s(be){return/^(\d+)$/.test(be)}function D(be,Ye,Ie){return be.length>=Ye?be:`${Array(Ye+1).join(Ie)}${be}`.slice(-1*Ye)}function u(be){const Ye=`otpauth://${be.type}/{labelPrefix}:{accountName}?secret={secret}{query}`,Ie=[];if(_.indexOf(be.type)<0)throw new Error(`Expecting options.type to be one of ${_.join(", ")}. Received ${be.type}.`);if("hotp"===be.type){if(null==be.counter||"number"!=typeof be.counter)throw new Error('Expecting options.counter to be a number when options.type is "hotp".');Ie.push(`&counter=${be.counter}`)}return"totp"===be.type&&be.step&&Ie.push(`&period=${be.step}`),be.digits&&Ie.push(`&digits=${be.digits}`),be.algorithm&&Ie.push(`&algorithm=${be.algorithm.toUpperCase()}`),be.issuer&&Ie.push(`&issuer=${encodeURIComponent(be.issuer)}`),Ye.replace("{labelPrefix}",encodeURIComponent(be.issuer||be.accountName)).replace("{accountName}",encodeURIComponent(be.accountName)).replace("{secret}",be.secret).replace("{query}",Ie.join(""))}class k{constructor(Ye={}){this._defaultOptions=Object.freeze({...Ye}),this._options=Object.freeze({})}create(Ye={}){return new k(Ye)}clone(Ye={}){const Ie=this.create({...this._defaultOptions,...Ye});return Ie.options=this._options,Ie}get options(){return Object.freeze({...this._defaultOptions,...this._options})}set options(Ye){this._options=Object.freeze({...this._options,...Ye})}allOptions(){return this.options}resetOptions(){this._options=Object.freeze({})}}function p(be){if("function"!=typeof be.createDigest)throw new Error("Expecting options.createDigest to be a function.");if("function"!=typeof be.createHmacKey)throw new Error("Expecting options.createHmacKey to be a function.");if("number"!=typeof be.digits)throw new Error("Expecting options.digits to be a number.");if(!be.algorithm||e.indexOf(be.algorithm)<0)throw new Error(`Expecting options.algorithm to be one of ${e.join(", ")}. Received ${be.algorithm}.`);if(!be.encoding||t.indexOf(be.encoding)<0)throw new Error(`Expecting options.encoding to be one of ${t.join(", ")}. Received ${be.encoding}.`)}const S=(be,Ye,Ie)=>Buffer.from(Ye,Ie).toString("hex");function A(){return{algorithm:X.HashAlgorithms.SHA1,createHmacKey:S,createDigest:E,digits:6,encoding:X.KeyEncodings.ASCII}}function P(be){const Ye={...A(),...be};return p(Ye),Object.freeze(Ye)}function M(be){return D(be.toString(16),16,"0")}function z(be,Ye){const Ie=Buffer.from(be,"hex"),ge=15&Ie[Ie.length-1],ut=((127&Ie[ge])<<24|(255&Ie[ge+1])<<16|(255&Ie[ge+2])<<8|255&Ie[ge+3])%Math.pow(10,Ye);return D(String(ut),Ye,"0")}function W(be,Ye,Ie){const ge=Ie.digest||function I(be,Ye,Ie){const ge=M(Ye),et=Ie.createHmacKey(Ie.algorithm,be,Ie.encoding);return Ie.createDigest(Ie.algorithm,et,ge)}(be,Ye,Ie);return z(ge,Ie.digits)}function Z(be,Ye,Ie,ge){if(!s(be))return!1;return be===W(Ye,Ie,ge)}function j(be,Ye,Ie,ge,et){return u({algorithm:et.algorithm,digits:et.digits,type:X.Strategy.HOTP,accountName:be,counter:ge,issuer:Ye,secret:Ie})}class ae extends k{create(Ye={}){return new ae(Ye)}allOptions(){return P(this.options)}generate(Ye,Ie){return W(Ye,Ie,this.allOptions())}check(Ye,Ie,ge){return Z(Ye,Ie,ge,this.allOptions())}verify(Ye){if("object"!=typeof Ye)throw new Error("Expecting argument 0 of verify to be an object");return this.check(Ye.token,Ye.secret,Ye.counter)}keyuri(Ye,Ie,ge,et){return j(Ye,Ie,ge,et,this.allOptions())}}function re(be){if("number"==typeof be)return[Math.abs(be),Math.abs(be)];if(Array.isArray(be)){const[Ye,Ie]=be;if("number"==typeof Ye&&"number"==typeof Ie)return[Math.abs(Ye),Math.abs(Ie)]}throw new Error("Expecting options.window to be an number or [number, number].")}function pe(be){if(p(be),re(be.window),"number"!=typeof be.epoch)throw new Error("Expecting options.epoch to be a number.");if("number"!=typeof be.step)throw new Error("Expecting options.step to be a number.")}const le=(be,Ye,Ie)=>{const ge=be.length,et=Buffer.from(be,Ye).toString("hex");if(ge{switch(be){case X.HashAlgorithms.SHA1:return le(Ye,Ie,20);case X.HashAlgorithms.SHA256:return le(Ye,Ie,32);case X.HashAlgorithms.SHA512:return le(Ye,Ie,64);default:throw new Error(`Expecting algorithm to be one of ${e.join(", ")}. Received ${be}.`)}};function de(){return{algorithm:X.HashAlgorithms.SHA1,createDigest:E,createHmacKey:ve,digits:6,encoding:X.KeyEncodings.ASCII,epoch:Date.now(),step:30,window:0}}function $(be){const Ye={...de(),...be};return pe(Ye),Object.freeze(Ye)}function ue(be,Ye){return Math.floor(be/Ye/1e3)}function w(be,Ye){return W(be,ue(Ye.epoch,Ye.step),Ye)}function n(be,Ye,Ie,ge){const et=[];if(0===ge)return et;for(let ut=1;ut<=ge;ut++){const Le=Ye*ut*Ie;et.push(be+Le)}return et}function o(be,Ye,Ie){const ge=re(Ie),et=1e3*Ye;return{current:be,past:n(be,-1,et,ge[0]),future:n(be,1,et,ge[1])}}function h(be,Ye,Ie){if(!s(be))return!1;return be===w(Ye,Ie)}function d(be,Ye,Ie,ge){let et=null;return be.some((ut,Le)=>!!h(Ye,Ie,{...ge,epoch:ut})&&(et=Le+1,!0)),et}function y(be,Ye,Ie){if(h(be,Ye,Ie))return 0;const ge=o(Ie.epoch,Ie.step,Ie.window),et=d(ge.past,be,Ye,Ie);return null!==et?-1*et:d(ge.future,be,Ye,Ie)}function L(be,Ye){return Math.floor(be/1e3)%Ye}function B(be,Ye){return Ye-L(be,Ye)}function v(be,Ye,Ie,ge){return u({algorithm:ge.algorithm,digits:ge.digits,step:ge.step,type:X.Strategy.TOTP,accountName:be,issuer:Ye,secret:Ie})}class a extends ae{create(Ye={}){return new a(Ye)}allOptions(){return $(this.options)}generate(Ye){return w(Ye,this.allOptions())}checkDelta(Ye,Ie){return y(Ye,Ie,this.allOptions())}check(Ye,Ie){return"number"==typeof this.checkDelta(Ye,Ie)}verify(Ye){if("object"!=typeof Ye)throw new Error("Expecting argument 0 of verify to be an object");return this.check(Ye.token,Ye.secret)}timeRemaining(){const Ye=this.allOptions();return B(Ye.epoch,Ye.step)}timeUsed(){const Ye=this.allOptions();return L(Ye.epoch,Ye.step)}keyuri(Ye,Ie,ge){return v(Ye,Ie,ge,this.allOptions())}}function C(be){if(pe(be),"function"!=typeof be.keyDecoder)throw new Error("Expecting options.keyDecoder to be a function.");if(be.keyEncoder&&"function"!=typeof be.keyEncoder)throw new Error("Expecting options.keyEncoder to be a function.")}function N(){return{algorithm:X.HashAlgorithms.SHA1,createDigest:E,createHmacKey:ve,digits:6,encoding:X.KeyEncodings.HEX,epoch:Date.now(),step:30,window:0}}function F(be){const Ye={...N(),...be};return C(Ye),Object.freeze(Ye)}function J(be,Ye){return Ye.keyEncoder(be,Ye.encoding)}function Fe(be,Ye){return Ye.keyDecoder(be,Ye.encoding)}function ke(be,Ye){return J(Ye.createRandomBytes(be,Ye.encoding),Ye)}function Ge(be,Ye){return w(Fe(be,Ye),Ye)}function je(be,Ye,Ie){return y(be,Fe(Ye,Ie),Ie)}class We extends a{create(Ye={}){return new We(Ye)}allOptions(){return F(this.options)}generate(Ye){return Ge(Ye,this.allOptions())}checkDelta(Ye,Ie){return je(Ye,Ie,this.allOptions())}encode(Ye){return J(Ye,this.allOptions())}decode(Ye){return Fe(Ye,this.allOptions())}generateSecret(Ye=10){return ke(Ye,this.allOptions())}}X.Authenticator=We,X.HASH_ALGORITHMS=e,X.HOTP=ae,X.KEY_ENCODINGS=t,X.OTP=k,X.STRATEGY=_,X.TOTP=a,X.authenticatorCheckWithWindow=je,X.authenticatorDecoder=Fe,X.authenticatorDefaultOptions=N,X.authenticatorEncoder=J,X.authenticatorGenerateSecret=ke,X.authenticatorOptionValidator=C,X.authenticatorOptions=F,X.authenticatorToken=Ge,X.createDigestPlaceholder=E,X.hotpCheck=Z,X.hotpCounter=M,X.hotpCreateHmacKey=S,X.hotpDefaultOptions=A,X.hotpDigestToToken=z,X.hotpKeyuri=j,X.hotpOptions=P,X.hotpOptionsValidator=p,X.hotpToken=W,X.isTokenValid=s,X.keyuri=u,X.objectValues=m,X.padStart=D,X.totpCheck=h,X.totpCheckByEpoch=d,X.totpCheckWithWindow=y,X.totpCounter=ue,X.totpCreateHmacKey=ve,X.totpDefaultOptions=de,X.totpEpochAvailable=o,X.totpKeyuri=v,X.totpOptions=$,X.totpOptionsValidator=pe,X.totpPadSecret=le,X.totpTimeRemaining=B,X.totpTimeUsed=L,X.totpToken=w},6042:(Ve,X,m)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});var t=function e(s){return s&&"object"==typeof s&&"default"in s?s.default:s}(m(9501));X.createDigest=(s,D,u)=>t.createHmac(s,Buffer.from(D,"hex")).update(Buffer.from(u,"hex")).digest().toString("hex"),X.createRandomBytes=(s,D)=>t.randomBytes(s).toString(D)},8364:(Ve,X,m)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});var t=function e(s){return s&&"object"==typeof s&&"default"in s?s.default:s}(m(917));X.keyDecoder=(s,D)=>t.decode(s).toString(D),X.keyEncoder=(s,D)=>t.encode(Buffer.from(s,D).toString("ascii")).toString().replace(/=/g,"")},9614:(Ve,X,m)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});var e=m(6042),t=m(8364),_=m(8996);const E=new _.HOTP({createDigest:e.createDigest}),s=new _.TOTP({createDigest:e.createDigest}),D=new _.Authenticator({createDigest:e.createDigest,createRandomBytes:e.createRandomBytes,keyDecoder:t.keyDecoder,keyEncoder:t.keyEncoder});X.authenticator=D,X.hotp=E,X.totp=s},7183:(Ve,X,m)=>{"use strict";const e=X;e.bignum=m(3439),e.define=m(1535).define,e.base=m(6977),e.constants=m(5407),e.decoders=m(8643),e.encoders=m(6337)},1535:(Ve,X,m)=>{"use strict";const e=m(6337),t=m(8643),_=m(5035);function s(D,u){this.name=D,this.body=u,this.decoders={},this.encoders={}}X.define=function(u,k){return new s(u,k)},s.prototype._createNamed=function(u){const k=this.name;function p(S){this._initNamed(S,k)}return _(p,u),p.prototype._initNamed=function(A,P){u.call(this,A,P)},new p(this)},s.prototype._getDecoder=function(u){return u=u||"der",this.decoders.hasOwnProperty(u)||(this.decoders[u]=this._createNamed(t[u])),this.decoders[u]},s.prototype.decode=function(u,k,p){return this._getDecoder(k).decode(u,p)},s.prototype._getEncoder=function(u){return u=u||"der",this.encoders.hasOwnProperty(u)||(this.encoders[u]=this._createNamed(e[u])),this.encoders[u]},s.prototype.encode=function(u,k,p){return this._getEncoder(k).encode(u,p)}},2314:(Ve,X,m)=>{"use strict";const e=m(5035),t=m(794).b,_=m(4421).Buffer;function E(D,u){t.call(this,u),_.isBuffer(D)?(this.base=D,this.offset=0,this.length=D.length):this.error("Input not Buffer")}function s(D,u){if(Array.isArray(D))this.length=0,this.value=D.map(function(k){return s.isEncoderBuffer(k)||(k=new s(k,u)),this.length+=k.length,k},this);else if("number"==typeof D){if(!(0<=D&&D<=255))return u.error("non-byte EncoderBuffer value");this.value=D,this.length=1}else if("string"==typeof D)this.value=D,this.length=_.byteLength(D);else{if(!_.isBuffer(D))return u.error("Unsupported type: "+typeof D);this.value=D,this.length=D.length}}e(E,t),X.C=E,E.isDecoderBuffer=function(u){return u instanceof E||"object"==typeof u&&_.isBuffer(u.base)&&"DecoderBuffer"===u.constructor.name&&"number"==typeof u.offset&&"number"==typeof u.length&&"function"==typeof u.save&&"function"==typeof u.restore&&"function"==typeof u.isEmpty&&"function"==typeof u.readUInt8&&"function"==typeof u.skip&&"function"==typeof u.raw},E.prototype.save=function(){return{offset:this.offset,reporter:t.prototype.save.call(this)}},E.prototype.restore=function(u){const k=new E(this.base);return k.offset=u.offset,k.length=this.offset,this.offset=u.offset,t.prototype.restore.call(this,u.reporter),k},E.prototype.isEmpty=function(){return this.offset===this.length},E.prototype.readUInt8=function(u){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(u||"DecoderBuffer overrun")},E.prototype.skip=function(u,k){if(!(this.offset+u<=this.length))return this.error(k||"DecoderBuffer overrun");const p=new E(this.base);return p._reporterState=this._reporterState,p.offset=this.offset,p.length=this.offset+u,this.offset+=u,p},E.prototype.raw=function(u){return this.base.slice(u?u.offset:this.offset,this.length)},X.R=s,s.isEncoderBuffer=function(u){return u instanceof s||"object"==typeof u&&"EncoderBuffer"===u.constructor.name&&"number"==typeof u.length&&"function"==typeof u.join},s.prototype.join=function(u,k){return u||(u=_.alloc(this.length)),k||(k=0),0===this.length||(Array.isArray(this.value)?this.value.forEach(function(p){p.join(u,k),k+=p.length}):("number"==typeof this.value?u[k]=this.value:"string"==typeof this.value?u.write(this.value,k):_.isBuffer(this.value)&&this.value.copy(u,k),k+=this.length)),u}},6977:(Ve,X,m)=>{"use strict";const e=X;e.Reporter=m(794).b,e.DecoderBuffer=m(2314).C,e.EncoderBuffer=m(2314).R,e.Node=m(1598)},1598:(Ve,X,m)=>{"use strict";const e=m(794).b,t=m(2314).R,_=m(2314).C,E=m(3999),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],D=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s);function k(S,A,P){const M={};this._baseState=M,M.name=P,M.enc=S,M.parent=A||null,M.children=null,M.tag=null,M.args=null,M.reverseArgs=null,M.choice=null,M.optional=!1,M.any=!1,M.obj=!1,M.use=null,M.useDecoder=null,M.key=null,M.default=null,M.explicit=null,M.implicit=null,M.contains=null,M.parent||(M.children=[],this._wrap())}Ve.exports=k;const p=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];k.prototype.clone=function(){const A=this._baseState,P={};p.forEach(function(z){P[z]=A[z]});const M=new this.constructor(P.parent);return M._baseState=P,M},k.prototype._wrap=function(){const A=this._baseState;D.forEach(function(P){this[P]=function(){const z=new this.constructor(this);return A.children.push(z),z[P].apply(z,arguments)}},this)},k.prototype._init=function(A){const P=this._baseState;E(null===P.parent),A.call(this),P.children=P.children.filter(function(M){return M._baseState.parent===this},this),E.equal(P.children.length,1,"Root node can have only one child")},k.prototype._useArgs=function(A){const P=this._baseState,M=A.filter(function(z){return z instanceof this.constructor},this);A=A.filter(function(z){return!(z instanceof this.constructor)},this),0!==M.length&&(E(null===P.children),P.children=M,M.forEach(function(z){z._baseState.parent=this},this)),0!==A.length&&(E(null===P.args),P.args=A,P.reverseArgs=A.map(function(z){if("object"!=typeof z||z.constructor!==Object)return z;const I={};return Object.keys(z).forEach(function(W){W==(0|W)&&(W|=0);const Z=z[W];I[Z]=W}),I}))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach(function(S){k.prototype[S]=function(){const P=this._baseState;throw new Error(S+" not implemented for encoding: "+P.enc)}}),s.forEach(function(S){k.prototype[S]=function(){const P=this._baseState,M=Array.prototype.slice.call(arguments);return E(null===P.tag),P.tag=S,this._useArgs(M),this}}),k.prototype.use=function(A){E(A);const P=this._baseState;return E(null===P.use),P.use=A,this},k.prototype.optional=function(){return this._baseState.optional=!0,this},k.prototype.def=function(A){const P=this._baseState;return E(null===P.default),P.default=A,P.optional=!0,this},k.prototype.explicit=function(A){const P=this._baseState;return E(null===P.explicit&&null===P.implicit),P.explicit=A,this},k.prototype.implicit=function(A){const P=this._baseState;return E(null===P.explicit&&null===P.implicit),P.implicit=A,this},k.prototype.obj=function(){const A=this._baseState,P=Array.prototype.slice.call(arguments);return A.obj=!0,0!==P.length&&this._useArgs(P),this},k.prototype.key=function(A){const P=this._baseState;return E(null===P.key),P.key=A,this},k.prototype.any=function(){return this._baseState.any=!0,this},k.prototype.choice=function(A){const P=this._baseState;return E(null===P.choice),P.choice=A,this._useArgs(Object.keys(A).map(function(M){return A[M]})),this},k.prototype.contains=function(A){const P=this._baseState;return E(null===P.use),P.contains=A,this},k.prototype._decode=function(A,P){const M=this._baseState;if(null===M.parent)return A.wrapResult(M.children[0]._decode(A,P));let Z,z=M.default,I=!0,W=null;if(null!==M.key&&(W=A.enterKey(M.key)),M.optional){let j=null;if(null!==M.explicit?j=M.explicit:null!==M.implicit?j=M.implicit:null!==M.tag&&(j=M.tag),null!==j||M.any){if(I=this._peekTag(A,j,M.any),A.isError(I))return I}else{const ae=A.save();try{null===M.choice?this._decodeGeneric(M.tag,A,P):this._decodeChoice(A,P),I=!0}catch{I=!1}A.restore(ae)}}if(M.obj&&I&&(Z=A.enterObject()),I){if(null!==M.explicit){const ae=this._decodeTag(A,M.explicit);if(A.isError(ae))return ae;A=ae}const j=A.offset;if(null===M.use&&null===M.choice){let ae;M.any&&(ae=A.save());const re=this._decodeTag(A,null!==M.implicit?M.implicit:M.tag,M.any);if(A.isError(re))return re;M.any?z=A.raw(ae):A=re}if(P&&P.track&&null!==M.tag&&P.track(A.path(),j,A.length,"tagged"),P&&P.track&&null!==M.tag&&P.track(A.path(),A.offset,A.length,"content"),M.any||(z=null===M.choice?this._decodeGeneric(M.tag,A,P):this._decodeChoice(A,P)),A.isError(z))return z;if(!M.any&&null===M.choice&&null!==M.children&&M.children.forEach(function(re){re._decode(A,P)}),M.contains&&("octstr"===M.tag||"bitstr"===M.tag)){const ae=new _(z);z=this._getUse(M.contains,A._reporterState.obj)._decode(ae,P)}}return M.obj&&I&&(z=A.leaveObject(Z)),null===M.key||null===z&&!0!==I?null!==W&&A.exitKey(W):A.leaveKey(W,M.key,z),z},k.prototype._decodeGeneric=function(A,P,M){const z=this._baseState;return"seq"===A||"set"===A?null:"seqof"===A||"setof"===A?this._decodeList(P,A,z.args[0],M):/str$/.test(A)?this._decodeStr(P,A,M):"objid"===A&&z.args?this._decodeObjid(P,z.args[0],z.args[1],M):"objid"===A?this._decodeObjid(P,null,null,M):"gentime"===A||"utctime"===A?this._decodeTime(P,A,M):"null_"===A?this._decodeNull(P,M):"bool"===A?this._decodeBool(P,M):"objDesc"===A?this._decodeStr(P,A,M):"int"===A||"enum"===A?this._decodeInt(P,z.args&&z.args[0],M):null!==z.use?this._getUse(z.use,P._reporterState.obj)._decode(P,M):P.error("unknown tag: "+A)},k.prototype._getUse=function(A,P){const M=this._baseState;return M.useDecoder=this._use(A,P),E(null===M.useDecoder._baseState.parent),M.useDecoder=M.useDecoder._baseState.children[0],M.implicit!==M.useDecoder._baseState.implicit&&(M.useDecoder=M.useDecoder.clone(),M.useDecoder._baseState.implicit=M.implicit),M.useDecoder},k.prototype._decodeChoice=function(A,P){const M=this._baseState;let z=null,I=!1;return Object.keys(M.choice).some(function(W){const Z=A.save(),j=M.choice[W];try{const ae=j._decode(A,P);if(A.isError(ae))return!1;z={type:W,value:ae},I=!0}catch{return A.restore(Z),!1}return!0},this),I?z:A.error("Choice not matched")},k.prototype._createEncoderBuffer=function(A){return new t(A,this.reporter)},k.prototype._encode=function(A,P,M){const z=this._baseState;if(null!==z.default&&z.default===A)return;const I=this._encodeValue(A,P,M);return void 0===I||this._skipDefault(I,P,M)?void 0:I},k.prototype._encodeValue=function(A,P,M){const z=this._baseState;if(null===z.parent)return z.children[0]._encode(A,P||new e);let I=null;if(this.reporter=P,z.optional&&void 0===A){if(null===z.default)return;A=z.default}let W=null,Z=!1;if(z.any)I=this._createEncoderBuffer(A);else if(z.choice)I=this._encodeChoice(A,P);else if(z.contains)W=this._getUse(z.contains,M)._encode(A,P),Z=!0;else if(z.children)W=z.children.map(function(j){if("null_"===j._baseState.tag)return j._encode(null,P,A);if(null===j._baseState.key)return P.error("Child should have a key");const ae=P.enterKey(j._baseState.key);if("object"!=typeof A)return P.error("Child expected, but input is not object");const re=j._encode(A[j._baseState.key],P,A);return P.leaveKey(ae),re},this).filter(function(j){return j}),W=this._createEncoderBuffer(W);else if("seqof"===z.tag||"setof"===z.tag){if(!z.args||1!==z.args.length)return P.error("Too many args for : "+z.tag);if(!Array.isArray(A))return P.error("seqof/setof, but data is not Array");const j=this.clone();j._baseState.implicit=null,W=this._createEncoderBuffer(A.map(function(ae){const re=this._baseState;return this._getUse(re.args[0],A)._encode(ae,P)},j))}else null!==z.use?I=this._getUse(z.use,M)._encode(A,P):(W=this._encodePrimitive(z.tag,A),Z=!0);if(!z.any&&null===z.choice){const j=null!==z.implicit?z.implicit:z.tag,ae=null===z.implicit?"universal":"context";null===j?null===z.use&&P.error("Tag could be omitted only for .use()"):null===z.use&&(I=this._encodeComposite(j,Z,ae,W))}return null!==z.explicit&&(I=this._encodeComposite(z.explicit,!1,"context",I)),I},k.prototype._encodeChoice=function(A,P){const M=this._baseState,z=M.choice[A.type];return z||E(!1,A.type+" not found in "+JSON.stringify(Object.keys(M.choice))),z._encode(A.value,P)},k.prototype._encodePrimitive=function(A,P){const M=this._baseState;if(/str$/.test(A))return this._encodeStr(P,A);if("objid"===A&&M.args)return this._encodeObjid(P,M.reverseArgs[0],M.args[1]);if("objid"===A)return this._encodeObjid(P,null,null);if("gentime"===A||"utctime"===A)return this._encodeTime(P,A);if("null_"===A)return this._encodeNull();if("int"===A||"enum"===A)return this._encodeInt(P,M.args&&M.reverseArgs[0]);if("bool"===A)return this._encodeBool(P);if("objDesc"===A)return this._encodeStr(P,A);throw new Error("Unsupported tag: "+A)},k.prototype._isNumstr=function(A){return/^[0-9 ]*$/.test(A)},k.prototype._isPrintstr=function(A){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(A)}},794:(Ve,X,m)=>{"use strict";const e=m(5035);function t(E){this._reporterState={obj:null,path:[],options:E||{},errors:[]}}function _(E,s){this.path=E,this.rethrow(s)}X.b=t,t.prototype.isError=function(s){return s instanceof _},t.prototype.save=function(){const s=this._reporterState;return{obj:s.obj,pathLen:s.path.length}},t.prototype.restore=function(s){const D=this._reporterState;D.obj=s.obj,D.path=D.path.slice(0,s.pathLen)},t.prototype.enterKey=function(s){return this._reporterState.path.push(s)},t.prototype.exitKey=function(s){const D=this._reporterState;D.path=D.path.slice(0,s-1)},t.prototype.leaveKey=function(s,D,u){const k=this._reporterState;this.exitKey(s),null!==k.obj&&(k.obj[D]=u)},t.prototype.path=function(){return this._reporterState.path.join("/")},t.prototype.enterObject=function(){const s=this._reporterState,D=s.obj;return s.obj={},D},t.prototype.leaveObject=function(s){const D=this._reporterState,u=D.obj;return D.obj=s,u},t.prototype.error=function(s){let D;const u=this._reporterState,k=s instanceof _;if(D=k?s:new _(u.path.map(function(p){return"["+JSON.stringify(p)+"]"}).join(""),s.message||s,s.stack),!u.options.partial)throw D;return k||u.errors.push(D),D},t.prototype.wrapResult=function(s){const D=this._reporterState;return D.options.partial?{result:this.isError(s)?null:s,errors:D.errors}:s},e(_,Error),_.prototype.rethrow=function(s){if(this.message=s+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,_),!this.stack)try{throw new Error(this.message)}catch(D){this.stack=D.stack}return this}},6434:(Ve,X)=>{"use strict";function m(e){const t={};return Object.keys(e).forEach(function(_){(0|_)==_&&(_|=0);const E=e[_];t[E]=_}),t}X.tagClass={0:"universal",1:"application",2:"context",3:"private"},X.tagClassByName=m(X.tagClass),X.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},X.tagByName=m(X.tag)},5407:(Ve,X,m)=>{"use strict";const e=X;e._reverse=function(_){const E={};return Object.keys(_).forEach(function(s){(0|s)==s&&(s|=0);const D=_[s];E[D]=s}),E},e.der=m(6434)},110:(Ve,X,m)=>{"use strict";const e=m(5035),t=m(3439),_=m(2314).C,E=m(1598),s=m(6434);function D(S){this.enc="der",this.name=S.name,this.entity=S,this.tree=new u,this.tree._init(S.body)}function u(S){E.call(this,"der",S)}function k(S,A){let P=S.readUInt8(A);if(S.isError(P))return P;const M=s.tagClass[P>>6],z=0==(32&P);if(31==(31&P)){let W=P;for(P=0;128==(128&W);){if(W=S.readUInt8(A),S.isError(W))return W;P<<=7,P|=127&W}}else P&=31;return{cls:M,primitive:z,tag:P,tagStr:s.tag[P]}}function p(S,A,P){let M=S.readUInt8(P);if(S.isError(M))return M;if(!A&&128===M)return null;if(0==(128&M))return M;const z=127&M;if(z>4)return S.error("length octect is too long");M=0;for(let I=0;I{"use strict";const e=X;e.der=m(110),e.pem=m(7441)},7441:(Ve,X,m)=>{"use strict";const e=m(5035),t=m(4421).Buffer,_=m(110);function E(s){_.call(this,s),this.enc="pem"}e(E,_),Ve.exports=E,E.prototype.decode=function(D,u){const k=D.toString().split(/[\r\n]+/g),p=u.label.toUpperCase(),S=/^-----(BEGIN|END) ([^-]+)-----$/;let A=-1,P=-1;for(let I=0;I{"use strict";const e=m(5035),t=m(4421).Buffer,_=m(1598),E=m(6434);function s(p){this.enc="der",this.name=p.name,this.entity=p,this.tree=new D,this.tree._init(p.body)}function D(p){_.call(this,"der",p)}function u(p){return p<10?"0"+p:p}Ve.exports=s,s.prototype.encode=function(S,A){return this.tree._encode(S,A).join()},e(D,_),D.prototype._encodeComposite=function(S,A,P,M){const z=function k(p,S,A,P){let M;if("seqof"===p?p="seq":"setof"===p&&(p="set"),E.tagByName.hasOwnProperty(p))M=E.tagByName[p];else{if("number"!=typeof p||(0|p)!==p)return P.error("Unknown tag: "+p);M=p}return M>=31?P.error("Multi-octet tag encoding unsupported"):(S||(M|=32),M|=E.tagClassByName[A||"universal"]<<6,M)}(S,A,P,this.reporter);if(M.length<128){const Z=t.alloc(2);return Z[0]=z,Z[1]=M.length,this._createEncoderBuffer([Z,M])}let I=1;for(let Z=M.length;Z>=256;Z>>=8)I++;const W=t.alloc(2+I);W[0]=z,W[1]=128|I;for(let Z=1+I,j=M.length;j>0;Z--,j>>=8)W[Z]=255&j;return this._createEncoderBuffer([W,M])},D.prototype._encodeStr=function(S,A){if("bitstr"===A)return this._createEncoderBuffer([0|S.unused,S.data]);if("bmpstr"===A){const P=t.alloc(2*S.length);for(let M=0;M=40)return this.reporter.error("Second objid identifier OOB");S.splice(0,2,40*S[0]+S[1])}let M=0;for(let W=0;W=128;Z>>=7)M++}const z=t.alloc(M);let I=z.length-1;for(let W=S.length-1;W>=0;W--){let Z=S[W];for(z[I--]=127&Z;(Z>>=7)>0;)z[I--]=128|127&Z}return this._createEncoderBuffer(z)},D.prototype._encodeTime=function(S,A){let P;const M=new Date(S);return"gentime"===A?P=[u(M.getUTCFullYear()),u(M.getUTCMonth()+1),u(M.getUTCDate()),u(M.getUTCHours()),u(M.getUTCMinutes()),u(M.getUTCSeconds()),"Z"].join(""):"utctime"===A?P=[u(M.getUTCFullYear()%100),u(M.getUTCMonth()+1),u(M.getUTCDate()),u(M.getUTCHours()),u(M.getUTCMinutes()),u(M.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+A+" time is not supported yet"),this._encodeStr(P,"octstr")},D.prototype._encodeNull=function(){return this._createEncoderBuffer("")},D.prototype._encodeInt=function(S,A){if("string"==typeof S){if(!A)return this.reporter.error("String int or enum given, but no values map");if(!A.hasOwnProperty(S))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(S));S=A[S]}if("number"!=typeof S&&!t.isBuffer(S)){const z=S.toArray();!S.sign&&128&z[0]&&z.unshift(0),S=t.from(z)}if(t.isBuffer(S)){let z=S.length;0===S.length&&z++;const I=t.alloc(z);return S.copy(I),0===S.length&&(I[0]=0),this._createEncoderBuffer(I)}if(S<128)return this._createEncoderBuffer(S);if(S<256)return this._createEncoderBuffer([0,S]);let P=1;for(let z=S;z>=256;z>>=8)P++;const M=new Array(P);for(let z=M.length-1;z>=0;z--)M[z]=255&S,S>>=8;return 128&M[0]&&M.unshift(0),this._createEncoderBuffer(t.from(M))},D.prototype._encodeBool=function(S){return this._createEncoderBuffer(S?255:0)},D.prototype._use=function(S,A){return"function"==typeof S&&(S=S(A)),S._getEncoder("der").tree},D.prototype._skipDefault=function(S,A,P){const M=this._baseState;let z;if(null===M.default)return!1;const I=S.join();if(void 0===M.defaultBuffer&&(M.defaultBuffer=this._encodeValue(M.default,A,P).join()),I.length!==M.defaultBuffer.length)return!1;for(z=0;z{"use strict";const e=X;e.der=m(2035),e.pem=m(7294)},7294:(Ve,X,m)=>{"use strict";const e=m(5035),t=m(2035);function _(E){t.call(this,E),this.enc="pem"}e(_,t),Ve.exports=_,_.prototype.encode=function(s,D){const k=t.prototype.encode.call(this,s).toString("base64"),p=["-----BEGIN "+D.label+"-----"];for(let S=0;S=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},2173:(Ve,X)=>{"use strict";X.byteLength=function u(M){var z=D(M),I=z[0],W=z[1];return 3*(I+W)/4-W},X.toByteArray=function p(M){var z,pe,I=D(M),W=I[0],Z=I[1],j=new t(function k(M,z,I){return 3*(z+I)/4-I}(0,W,Z)),ae=0,re=Z>0?W-4:W;for(pe=0;pe>16&255,j[ae++]=z>>8&255,j[ae++]=255&z;return 2===Z&&(z=e[M.charCodeAt(pe)]<<2|e[M.charCodeAt(pe+1)]>>4,j[ae++]=255&z),1===Z&&(z=e[M.charCodeAt(pe)]<<10|e[M.charCodeAt(pe+1)]<<4|e[M.charCodeAt(pe+2)]>>2,j[ae++]=z>>8&255,j[ae++]=255&z),j},X.fromByteArray=function P(M){for(var z,I=M.length,W=I%3,Z=[],j=16383,ae=0,re=I-W;aere?re:ae+j));return 1===W?(z=M[I-1],Z.push(m[z>>2]+m[z<<4&63]+"==")):2===W&&(z=(M[I-2]<<8)+M[I-1],Z.push(m[z>>10]+m[z>>4&63]+m[z<<2&63]+"=")),Z.join("")};for(var m=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",E=0,s=_.length;E0)throw new Error("Invalid string. Length must be a multiple of 4");var I=M.indexOf("=");return-1===I&&(I=z),[I,I===z?0:4-I%4]}function S(M){return m[M>>18&63]+m[M>>12&63]+m[M>>6&63]+m[63&M]}function A(M,z,I){for(var W,Z=[],j=z;j=48&&y<=57?y-48:y>=65&&y<=70?y-55:y>=97&&y<=102?y-87:void _(!1,"Invalid character in "+h)}function k(h,d,y){var L=u(h,y);return y-1>=d&&(L|=u(h,y-1)<<4),L}function p(h,d,y,L){for(var B=0,v=0,a=Math.min(h.length,y),C=d;C=49?N-49+10:N>=17?N-17+10:N,_(N>=0&&v0?d:y},s.min=function(d,y){return d.cmp(y)<0?d:y},s.prototype._init=function(d,y,L){if("number"==typeof d)return this._initNumber(d,y,L);if("object"==typeof d)return this._initArray(d,y,L);"hex"===y&&(y=16),_(y===(0|y)&&y>=2&&y<=36);var B=0;"-"===(d=d.toString().replace(/\s+/g,""))[0]&&(B++,this.negative=1),B=0;B-=3)a=d[B]|d[B-1]<<8|d[B-2]<<16,this.words[v]|=a<>>26-C&67108863,(C+=24)>=26&&(C-=26,v++);else if("le"===L)for(B=0,v=0;B>>26-C&67108863,(C+=24)>=26&&(C-=26,v++);return this._strip()},s.prototype._parseHex=function(d,y,L){this.length=Math.ceil((d.length-y)/6),this.words=new Array(this.length);for(var B=0;B=y;B-=2)C=k(d,y,B)<=18?(v-=18,a+=1,this.words[a]|=C>>>26):v+=8;else for(B=(d.length-y)%2==0?y+1:y;B=18?(v-=18,a+=1,this.words[a]|=C>>>26):v+=8;this._strip()},s.prototype._parseBase=function(d,y,L){this.words=[0],this.length=1;for(var B=0,v=1;v<=67108863;v*=y)B++;B--,v=v/y|0;for(var a=d.length-L,C=a%B,N=Math.min(a,a-C)+L,F=0,J=L;J1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},typeof Symbol<"u"&&"function"==typeof Symbol.for)try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=A}catch{s.prototype.inspect=A}else s.prototype.inspect=A;function A(){return(this.red?""}var P=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],M=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],z=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(d,y){var L;if(y=0|y||1,16===(d=d||10)||"hex"===d){L="";for(var B=0,v=0,a=0;a>>24-B&16777215,(B+=2)>=26&&(B-=26,a--),L=0!==v||a!==this.length-1?P[6-N.length]+N+L:N+L}for(0!==v&&(L=v.toString(16)+L);L.length%y!=0;)L="0"+L;return 0!==this.negative&&(L="-"+L),L}if(d===(0|d)&&d>=2&&d<=36){var F=M[d],J=z[d];L="";var Fe=this.clone();for(Fe.negative=0;!Fe.isZero();){var ke=Fe.modrn(J).toString(d);L=(Fe=Fe.idivn(J)).isZero()?ke+L:P[F-ke.length]+ke+L}for(this.isZero()&&(L="0"+L);L.length%y!=0;)L="0"+L;return 0!==this.negative&&(L="-"+L),L}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var d=this.words[0];return 2===this.length?d+=67108864*this.words[1]:3===this.length&&1===this.words[2]?d+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-d:d},s.prototype.toJSON=function(){return this.toString(16,2)},D&&(s.prototype.toBuffer=function(d,y){return this.toArrayLike(D,d,y)}),s.prototype.toArray=function(d,y){return this.toArrayLike(Array,d,y)};function Z(h,d,y){y.negative=d.negative^h.negative;var L=h.length+d.length|0;y.length=L,L=L-1|0;var B=0|h.words[0],v=0|d.words[0],a=B*v,C=67108863&a,N=a/67108864|0;y.words[0]=C;for(var F=1;F>>26,Fe=67108863&N,ke=Math.min(F,d.length-1),Ge=Math.max(0,F-h.length+1);Ge<=ke;Ge++){var je=F-Ge|0;J+=(a=(B=0|h.words[je])*(v=0|d.words[Ge])+Fe)/67108864|0,Fe=67108863&a}y.words[F]=0|Fe,N=0|J}return 0!==N?y.words[F]=0|N:y.length--,y._strip()}s.prototype.toArrayLike=function(d,y,L){this._strip();var B=this.byteLength(),v=L||Math.max(1,B);_(B<=v,"byte array longer than desired length"),_(v>0,"Requested array length <= 0");var a=function(d,y){return d.allocUnsafe?d.allocUnsafe(y):new d(y)}(d,v);return this["_toArrayLike"+("le"===y?"LE":"BE")](a,B),a},s.prototype._toArrayLikeLE=function(d,y){for(var L=0,B=0,v=0,a=0;v>8&255),L>16&255),6===a?(L>24&255),B=0,a=0):(B=C>>>24,a+=2)}if(L=0&&(d[L--]=C>>8&255),L>=0&&(d[L--]=C>>16&255),6===a?(L>=0&&(d[L--]=C>>24&255),B=0,a=0):(B=C>>>24,a+=2)}if(L>=0)for(d[L--]=B;L>=0;)d[L--]=0},Math.clz32?s.prototype._countBits=function(d){return 32-Math.clz32(d)}:s.prototype._countBits=function(d){var y=d,L=0;return y>=4096&&(L+=13,y>>>=13),y>=64&&(L+=7,y>>>=7),y>=8&&(L+=4,y>>>=4),y>=2&&(L+=2,y>>>=2),L+y},s.prototype._zeroBits=function(d){if(0===d)return 26;var y=d,L=0;return 0==(8191&y)&&(L+=13,y>>>=13),0==(127&y)&&(L+=7,y>>>=7),0==(15&y)&&(L+=4,y>>>=4),0==(3&y)&&(L+=2,y>>>=2),0==(1&y)&&L++,L},s.prototype.bitLength=function(){var d=this.words[this.length-1],y=this._countBits(d);return 26*(this.length-1)+y},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,y=0;yd.length?this.clone().ior(d):d.clone().ior(this)},s.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},s.prototype.iuand=function(d){var y;y=this.length>d.length?d:this;for(var L=0;Ld.length?this.clone().iand(d):d.clone().iand(this)},s.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},s.prototype.iuxor=function(d){var y,L;this.length>d.length?(y=this,L=d):(y=d,L=this);for(var B=0;Bd.length?this.clone().ixor(d):d.clone().ixor(this)},s.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},s.prototype.inotn=function(d){_("number"==typeof d&&d>=0);var y=0|Math.ceil(d/26),L=d%26;this._expand(y),L>0&&y--;for(var B=0;B0&&(this.words[B]=~this.words[B]&67108863>>26-L),this._strip()},s.prototype.notn=function(d){return this.clone().inotn(d)},s.prototype.setn=function(d,y){_("number"==typeof d&&d>=0);var L=d/26|0,B=d%26;return this._expand(L+1),this.words[L]=y?this.words[L]|1<d.length?(L=this,B=d):(L=d,B=this);for(var v=0,a=0;a>>26;for(;0!==v&&a>>26;if(this.length=L.length,0!==v)this.words[this.length]=v,this.length++;else if(L!==this)for(;ad.length?this.clone().iadd(d):d.clone().iadd(this)},s.prototype.isub=function(d){if(0!==d.negative){d.negative=0;var y=this.iadd(d);return d.negative=1,y._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var B,v,L=this.cmp(d);if(0===L)return this.negative=0,this.length=1,this.words[0]=0,this;L>0?(B=this,v=d):(B=d,v=this);for(var a=0,C=0;C>26,this.words[C]=67108863&y;for(;0!==a&&C>26,this.words[C]=67108863&y;if(0===a&&C>>13,je=0|B[1],We=8191&je,be=je>>>13,Ye=0|B[2],Ie=8191&Ye,ge=Ye>>>13,et=0|B[3],ut=8191&et,Le=et>>>13,De=0|B[4],ne=8191&De,fe=De>>>13,ee=0|B[5],H=8191&ee,q=ee>>>13,Oe=0|B[6],Re=8191&Oe,oe=Oe>>>13,pt=0|B[7],it=8191&pt,Ct=pt>>>13,un=0|B[8],Nt=8191&un,zt=un>>>13,yn=0|B[9],Jt=8191&yn,Gt=yn>>>13,In=0|v[0],an=8191&In,tn=In>>>13,pn=0|v[1],nt=8191&pn,gt=pn>>>13,At=0|v[2],we=8191&At,Y=At>>>13,te=0|v[3],xe=8191&te,ze=te>>>13,_t=0|v[4],ct=8191&_t,Ue=_t>>>13,Me=0|v[5],Ce=8191&Me,Je=Me>>>13,Ut=0|v[6],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|v[7],He=8191&Ht,$e=Ht>>>13,$t=0|v[8],Rt=8191&$t,Xt=$t>>>13,Vn=0|v[9],zn=8191&Vn,Tn=Vn>>>13;L.negative=d.negative^y.negative,L.length=19;var Yn=(C+(N=Math.imul(ke,an))|0)+((8191&(F=(F=Math.imul(ke,tn))+Math.imul(Ge,an)|0))<<13)|0;C=((J=Math.imul(Ge,tn))+(F>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,N=Math.imul(We,an),F=(F=Math.imul(We,tn))+Math.imul(be,an)|0,J=Math.imul(be,tn);var Mt=(C+(N=N+Math.imul(ke,nt)|0)|0)+((8191&(F=(F=F+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0))<<13)|0;C=((J=J+Math.imul(Ge,gt)|0)+(F>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,N=Math.imul(Ie,an),F=(F=Math.imul(Ie,tn))+Math.imul(ge,an)|0,J=Math.imul(ge,tn),N=N+Math.imul(We,nt)|0,F=(F=F+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,J=J+Math.imul(be,gt)|0;var Ze=(C+(N=N+Math.imul(ke,we)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0))<<13)|0;C=((J=J+Math.imul(Ge,Y)|0)+(F>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,N=Math.imul(ut,an),F=(F=Math.imul(ut,tn))+Math.imul(Le,an)|0,J=Math.imul(Le,tn),N=N+Math.imul(Ie,nt)|0,F=(F=F+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,J=J+Math.imul(ge,gt)|0,N=N+Math.imul(We,we)|0,F=(F=F+Math.imul(We,Y)|0)+Math.imul(be,we)|0,J=J+Math.imul(be,Y)|0;var Be=(C+(N=N+Math.imul(ke,xe)|0)|0)+((8191&(F=(F=F+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0))<<13)|0;C=((J=J+Math.imul(Ge,ze)|0)+(F>>>13)|0)+(Be>>>26)|0,Be&=67108863,N=Math.imul(ne,an),F=(F=Math.imul(ne,tn))+Math.imul(fe,an)|0,J=Math.imul(fe,tn),N=N+Math.imul(ut,nt)|0,F=(F=F+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,J=J+Math.imul(Le,gt)|0,N=N+Math.imul(Ie,we)|0,F=(F=F+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,J=J+Math.imul(ge,Y)|0,N=N+Math.imul(We,xe)|0,F=(F=F+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,J=J+Math.imul(be,ze)|0;var ht=(C+(N=N+Math.imul(ke,ct)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0))<<13)|0;C=((J=J+Math.imul(Ge,Ue)|0)+(F>>>13)|0)+(ht>>>26)|0,ht&=67108863,N=Math.imul(H,an),F=(F=Math.imul(H,tn))+Math.imul(q,an)|0,J=Math.imul(q,tn),N=N+Math.imul(ne,nt)|0,F=(F=F+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,J=J+Math.imul(fe,gt)|0,N=N+Math.imul(ut,we)|0,F=(F=F+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,J=J+Math.imul(Le,Y)|0,N=N+Math.imul(Ie,xe)|0,F=(F=F+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,J=J+Math.imul(ge,ze)|0,N=N+Math.imul(We,ct)|0,F=(F=F+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,J=J+Math.imul(be,Ue)|0;var se=(C+(N=N+Math.imul(ke,Ce)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0))<<13)|0;C=((J=J+Math.imul(Ge,Je)|0)+(F>>>13)|0)+(se>>>26)|0,se&=67108863,N=Math.imul(Re,an),F=(F=Math.imul(Re,tn))+Math.imul(oe,an)|0,J=Math.imul(oe,tn),N=N+Math.imul(H,nt)|0,F=(F=F+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,J=J+Math.imul(q,gt)|0,N=N+Math.imul(ne,we)|0,F=(F=F+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,J=J+Math.imul(fe,Y)|0,N=N+Math.imul(ut,xe)|0,F=(F=F+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,J=J+Math.imul(Le,ze)|0,N=N+Math.imul(Ie,ct)|0,F=(F=F+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,J=J+Math.imul(ge,Ue)|0,N=N+Math.imul(We,Ce)|0,F=(F=F+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,J=J+Math.imul(be,Je)|0;var Ae=(C+(N=N+Math.imul(ke,Dt)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0))<<13)|0;C=((J=J+Math.imul(Ge,Tt)|0)+(F>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,N=Math.imul(it,an),F=(F=Math.imul(it,tn))+Math.imul(Ct,an)|0,J=Math.imul(Ct,tn),N=N+Math.imul(Re,nt)|0,F=(F=F+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,J=J+Math.imul(oe,gt)|0,N=N+Math.imul(H,we)|0,F=(F=F+Math.imul(H,Y)|0)+Math.imul(q,we)|0,J=J+Math.imul(q,Y)|0,N=N+Math.imul(ne,xe)|0,F=(F=F+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,J=J+Math.imul(fe,ze)|0,N=N+Math.imul(ut,ct)|0,F=(F=F+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,J=J+Math.imul(Le,Ue)|0,N=N+Math.imul(Ie,Ce)|0,F=(F=F+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,J=J+Math.imul(ge,Je)|0,N=N+Math.imul(We,Dt)|0,F=(F=F+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,J=J+Math.imul(be,Tt)|0;var ft=(C+(N=N+Math.imul(ke,He)|0)|0)+((8191&(F=(F=F+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0))<<13)|0;C=((J=J+Math.imul(Ge,$e)|0)+(F>>>13)|0)+(ft>>>26)|0,ft&=67108863,N=Math.imul(Nt,an),F=(F=Math.imul(Nt,tn))+Math.imul(zt,an)|0,J=Math.imul(zt,tn),N=N+Math.imul(it,nt)|0,F=(F=F+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,J=J+Math.imul(Ct,gt)|0,N=N+Math.imul(Re,we)|0,F=(F=F+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,J=J+Math.imul(oe,Y)|0,N=N+Math.imul(H,xe)|0,F=(F=F+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,J=J+Math.imul(q,ze)|0,N=N+Math.imul(ne,ct)|0,F=(F=F+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,J=J+Math.imul(fe,Ue)|0,N=N+Math.imul(ut,Ce)|0,F=(F=F+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,J=J+Math.imul(Le,Je)|0,N=N+Math.imul(Ie,Dt)|0,F=(F=F+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,J=J+Math.imul(ge,Tt)|0,N=N+Math.imul(We,He)|0,F=(F=F+Math.imul(We,$e)|0)+Math.imul(be,He)|0,J=J+Math.imul(be,$e)|0;var Lt=(C+(N=N+Math.imul(ke,Rt)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;C=((J=J+Math.imul(Ge,Xt)|0)+(F>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,N=Math.imul(Jt,an),F=(F=Math.imul(Jt,tn))+Math.imul(Gt,an)|0,J=Math.imul(Gt,tn),N=N+Math.imul(Nt,nt)|0,F=(F=F+Math.imul(Nt,gt)|0)+Math.imul(zt,nt)|0,J=J+Math.imul(zt,gt)|0,N=N+Math.imul(it,we)|0,F=(F=F+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,J=J+Math.imul(Ct,Y)|0,N=N+Math.imul(Re,xe)|0,F=(F=F+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,J=J+Math.imul(oe,ze)|0,N=N+Math.imul(H,ct)|0,F=(F=F+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,J=J+Math.imul(q,Ue)|0,N=N+Math.imul(ne,Ce)|0,F=(F=F+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,J=J+Math.imul(fe,Je)|0,N=N+Math.imul(ut,Dt)|0,F=(F=F+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,J=J+Math.imul(Le,Tt)|0,N=N+Math.imul(Ie,He)|0,F=(F=F+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,J=J+Math.imul(ge,$e)|0,N=N+Math.imul(We,Rt)|0,F=(F=F+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0,J=J+Math.imul(be,Xt)|0;var nn=(C+(N=N+Math.imul(ke,zn)|0)|0)+((8191&(F=(F=F+Math.imul(ke,Tn)|0)+Math.imul(Ge,zn)|0))<<13)|0;C=((J=J+Math.imul(Ge,Tn)|0)+(F>>>13)|0)+(nn>>>26)|0,nn&=67108863,N=Math.imul(Jt,nt),F=(F=Math.imul(Jt,gt))+Math.imul(Gt,nt)|0,J=Math.imul(Gt,gt),N=N+Math.imul(Nt,we)|0,F=(F=F+Math.imul(Nt,Y)|0)+Math.imul(zt,we)|0,J=J+Math.imul(zt,Y)|0,N=N+Math.imul(it,xe)|0,F=(F=F+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,J=J+Math.imul(Ct,ze)|0,N=N+Math.imul(Re,ct)|0,F=(F=F+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,J=J+Math.imul(oe,Ue)|0,N=N+Math.imul(H,Ce)|0,F=(F=F+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,J=J+Math.imul(q,Je)|0,N=N+Math.imul(ne,Dt)|0,F=(F=F+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,J=J+Math.imul(fe,Tt)|0,N=N+Math.imul(ut,He)|0,F=(F=F+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,J=J+Math.imul(Le,$e)|0,N=N+Math.imul(Ie,Rt)|0,F=(F=F+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0,J=J+Math.imul(ge,Xt)|0;var Bn=(C+(N=N+Math.imul(We,zn)|0)|0)+((8191&(F=(F=F+Math.imul(We,Tn)|0)+Math.imul(be,zn)|0))<<13)|0;C=((J=J+Math.imul(be,Tn)|0)+(F>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,N=Math.imul(Jt,we),F=(F=Math.imul(Jt,Y))+Math.imul(Gt,we)|0,J=Math.imul(Gt,Y),N=N+Math.imul(Nt,xe)|0,F=(F=F+Math.imul(Nt,ze)|0)+Math.imul(zt,xe)|0,J=J+Math.imul(zt,ze)|0,N=N+Math.imul(it,ct)|0,F=(F=F+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,J=J+Math.imul(Ct,Ue)|0,N=N+Math.imul(Re,Ce)|0,F=(F=F+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,J=J+Math.imul(oe,Je)|0,N=N+Math.imul(H,Dt)|0,F=(F=F+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,J=J+Math.imul(q,Tt)|0,N=N+Math.imul(ne,He)|0,F=(F=F+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,J=J+Math.imul(fe,$e)|0,N=N+Math.imul(ut,Rt)|0,F=(F=F+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0,J=J+Math.imul(Le,Xt)|0;var Wn=(C+(N=N+Math.imul(Ie,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Ie,Tn)|0)+Math.imul(ge,zn)|0))<<13)|0;C=((J=J+Math.imul(ge,Tn)|0)+(F>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,N=Math.imul(Jt,xe),F=(F=Math.imul(Jt,ze))+Math.imul(Gt,xe)|0,J=Math.imul(Gt,ze),N=N+Math.imul(Nt,ct)|0,F=(F=F+Math.imul(Nt,Ue)|0)+Math.imul(zt,ct)|0,J=J+Math.imul(zt,Ue)|0,N=N+Math.imul(it,Ce)|0,F=(F=F+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,J=J+Math.imul(Ct,Je)|0,N=N+Math.imul(Re,Dt)|0,F=(F=F+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,J=J+Math.imul(oe,Tt)|0,N=N+Math.imul(H,He)|0,F=(F=F+Math.imul(H,$e)|0)+Math.imul(q,He)|0,J=J+Math.imul(q,$e)|0,N=N+Math.imul(ne,Rt)|0,F=(F=F+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0,J=J+Math.imul(fe,Xt)|0;var ti=(C+(N=N+Math.imul(ut,zn)|0)|0)+((8191&(F=(F=F+Math.imul(ut,Tn)|0)+Math.imul(Le,zn)|0))<<13)|0;C=((J=J+Math.imul(Le,Tn)|0)+(F>>>13)|0)+(ti>>>26)|0,ti&=67108863,N=Math.imul(Jt,ct),F=(F=Math.imul(Jt,Ue))+Math.imul(Gt,ct)|0,J=Math.imul(Gt,Ue),N=N+Math.imul(Nt,Ce)|0,F=(F=F+Math.imul(Nt,Je)|0)+Math.imul(zt,Ce)|0,J=J+Math.imul(zt,Je)|0,N=N+Math.imul(it,Dt)|0,F=(F=F+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,J=J+Math.imul(Ct,Tt)|0,N=N+Math.imul(Re,He)|0,F=(F=F+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,J=J+Math.imul(oe,$e)|0,N=N+Math.imul(H,Rt)|0,F=(F=F+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0,J=J+Math.imul(q,Xt)|0;var Mn=(C+(N=N+Math.imul(ne,zn)|0)|0)+((8191&(F=(F=F+Math.imul(ne,Tn)|0)+Math.imul(fe,zn)|0))<<13)|0;C=((J=J+Math.imul(fe,Tn)|0)+(F>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,N=Math.imul(Jt,Ce),F=(F=Math.imul(Jt,Je))+Math.imul(Gt,Ce)|0,J=Math.imul(Gt,Je),N=N+Math.imul(Nt,Dt)|0,F=(F=F+Math.imul(Nt,Tt)|0)+Math.imul(zt,Dt)|0,J=J+Math.imul(zt,Tt)|0,N=N+Math.imul(it,He)|0,F=(F=F+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,J=J+Math.imul(Ct,$e)|0,N=N+Math.imul(Re,Rt)|0,F=(F=F+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0,J=J+Math.imul(oe,Xt)|0;var Ln=(C+(N=N+Math.imul(H,zn)|0)|0)+((8191&(F=(F=F+Math.imul(H,Tn)|0)+Math.imul(q,zn)|0))<<13)|0;C=((J=J+Math.imul(q,Tn)|0)+(F>>>13)|0)+(Ln>>>26)|0,Ln&=67108863,N=Math.imul(Jt,Dt),F=(F=Math.imul(Jt,Tt))+Math.imul(Gt,Dt)|0,J=Math.imul(Gt,Tt),N=N+Math.imul(Nt,He)|0,F=(F=F+Math.imul(Nt,$e)|0)+Math.imul(zt,He)|0,J=J+Math.imul(zt,$e)|0,N=N+Math.imul(it,Rt)|0,F=(F=F+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0,J=J+Math.imul(Ct,Xt)|0;var ai=(C+(N=N+Math.imul(Re,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Re,Tn)|0)+Math.imul(oe,zn)|0))<<13)|0;C=((J=J+Math.imul(oe,Tn)|0)+(F>>>13)|0)+(ai>>>26)|0,ai&=67108863,N=Math.imul(Jt,He),F=(F=Math.imul(Jt,$e))+Math.imul(Gt,He)|0,J=Math.imul(Gt,$e),N=N+Math.imul(Nt,Rt)|0,F=(F=F+Math.imul(Nt,Xt)|0)+Math.imul(zt,Rt)|0,J=J+Math.imul(zt,Xt)|0;var rn=(C+(N=N+Math.imul(it,zn)|0)|0)+((8191&(F=(F=F+Math.imul(it,Tn)|0)+Math.imul(Ct,zn)|0))<<13)|0;C=((J=J+Math.imul(Ct,Tn)|0)+(F>>>13)|0)+(rn>>>26)|0,rn&=67108863,N=Math.imul(Jt,Rt),F=(F=Math.imul(Jt,Xt))+Math.imul(Gt,Rt)|0,J=Math.imul(Gt,Xt);var hn=(C+(N=N+Math.imul(Nt,zn)|0)|0)+((8191&(F=(F=F+Math.imul(Nt,Tn)|0)+Math.imul(zt,zn)|0))<<13)|0;C=((J=J+Math.imul(zt,Tn)|0)+(F>>>13)|0)+(hn>>>26)|0,hn&=67108863;var en=(C+(N=Math.imul(Jt,zn))|0)+((8191&(F=(F=Math.imul(Jt,Tn))+Math.imul(Gt,zn)|0))<<13)|0;return C=((J=Math.imul(Gt,Tn))+(F>>>13)|0)+(en>>>26)|0,en&=67108863,a[0]=Yn,a[1]=Mt,a[2]=Ze,a[3]=Be,a[4]=ht,a[5]=se,a[6]=Ae,a[7]=ft,a[8]=Lt,a[9]=nn,a[10]=Bn,a[11]=Wn,a[12]=ti,a[13]=Mn,a[14]=Ln,a[15]=ai,a[16]=rn,a[17]=hn,a[18]=en,0!==C&&(a[19]=C,L.length++),L};function ae(h,d,y){y.negative=d.negative^h.negative,y.length=h.length+d.length;for(var L=0,B=0,v=0;v>>26)|0)>>>26,a&=67108863}y.words[v]=C,L=a,a=B}return 0!==L?y.words[v]=L:y.length--,y._strip()}function re(h,d,y){return ae(h,d,y)}function pe(h,d){this.x=h,this.y=d}Math.imul||(j=Z),s.prototype.mulTo=function(d,y){var B=this.length+d.length;return 10===this.length&&10===d.length?j(this,d,y):B<63?Z(this,d,y):B<1024?ae(this,d,y):re(this,d,y)},pe.prototype.makeRBT=function(d){for(var y=new Array(d),L=s.prototype._countBits(d)-1,B=0;B>=1;return B},pe.prototype.permute=function(d,y,L,B,v,a){for(var C=0;C>>=1)v++;return 1<>>=13,L[2*a+1]=8191&v,v>>>=13;for(a=2*y;a>=26,L+=v/67108864|0,L+=a>>>26,this.words[B]=67108863&a}return 0!==L&&(this.words[B]=L,this.length++),y?this.ineg():this},s.prototype.muln=function(d){return this.clone().imuln(d)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(d){var y=function W(h){for(var d=new Array(h.bitLength()),y=0;y>>B&1}return d}(d);if(0===y.length)return new s(1);for(var L=this,B=0;B=0);var v,y=d%26,L=(d-y)/26,B=67108863>>>26-y<<26-y;if(0!==y){var a=0;for(v=0;v>>26-y}a&&(this.words[v]=a,this.length++)}if(0!==L){for(v=this.length-1;v>=0;v--)this.words[v+L]=this.words[v];for(v=0;v=0),B=y?(y-y%26)/26:0;var v=d%26,a=Math.min((d-v)/26,this.length),C=67108863^67108863>>>v<a)for(this.length-=a,F=0;F=0&&(0!==J||F>=B);F--){var Fe=0|this.words[F];this.words[F]=J<<26-v|Fe>>>v,J=Fe&C}return N&&0!==J&&(N.words[N.length++]=J),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(d,y,L){return _(0===this.negative),this.iushrn(d,y,L)},s.prototype.shln=function(d){return this.clone().ishln(d)},s.prototype.ushln=function(d){return this.clone().iushln(d)},s.prototype.shrn=function(d){return this.clone().ishrn(d)},s.prototype.ushrn=function(d){return this.clone().iushrn(d)},s.prototype.testn=function(d){_("number"==typeof d&&d>=0);var y=d%26,L=(d-y)/26,B=1<=0);var y=d%26,L=(d-y)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=L)return this;if(0!==y&&L++,this.length=Math.min(L,this.length),0!==y){var B=67108863^67108863>>>y<=67108864;y++)this.words[y]-=67108864,y===this.length-1?this.words[y+1]=1:this.words[y+1]++;return this.length=Math.max(this.length,y+1),this},s.prototype.isubn=function(d){if(_("number"==typeof d),_(d<67108864),d<0)return this.iaddn(-d);if(0!==this.negative)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var y=0;y>26)-(N/67108864|0),this.words[v+L]=67108863&a}for(;v>26,this.words[v+L]=67108863&a;if(0===C)return this._strip();for(_(-1===C),C=0,v=0;v>26,this.words[v]=67108863&a;return this.negative=1,this._strip()},s.prototype._wordDiv=function(d,y){var L=(this.length,d.length),B=this.clone(),v=d,a=0|v.words[v.length-1];0!==(L=26-this._countBits(a))&&(v=v.ushln(L),B.iushln(L),a=0|v.words[v.length-1]);var F,N=B.length-v.length;if("mod"!==y){(F=new s(null)).length=N+1,F.words=new Array(F.length);for(var J=0;J=0;ke--){var Ge=67108864*(0|B.words[v.length+ke])+(0|B.words[v.length+ke-1]);for(Ge=Math.min(Ge/a|0,67108863),B._ishlnsubmul(v,Ge,ke);0!==B.negative;)Ge--,B.negative=0,B._ishlnsubmul(v,1,ke),B.isZero()||(B.negative^=1);F&&(F.words[ke]=Ge)}return F&&F._strip(),B._strip(),"div"!==y&&0!==L&&B.iushrn(L),{div:F||null,mod:B}},s.prototype.divmod=function(d,y,L){return _(!d.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===d.negative?(a=this.neg().divmod(d,y),"mod"!==y&&(B=a.div.neg()),"div"!==y&&(v=a.mod.neg(),L&&0!==v.negative&&v.iadd(d)),{div:B,mod:v}):0===this.negative&&0!==d.negative?(a=this.divmod(d.neg(),y),"mod"!==y&&(B=a.div.neg()),{div:B,mod:a.mod}):0!=(this.negative&d.negative)?(a=this.neg().divmod(d.neg(),y),"div"!==y&&(v=a.mod.neg(),L&&0!==v.negative&&v.isub(d)),{div:a.div,mod:v}):d.length>this.length||this.cmp(d)<0?{div:new s(0),mod:this}:1===d.length?"div"===y?{div:this.divn(d.words[0]),mod:null}:"mod"===y?{div:null,mod:new s(this.modrn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new s(this.modrn(d.words[0]))}:this._wordDiv(d,y);var B,v,a},s.prototype.div=function(d){return this.divmod(d,"div",!1).div},s.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},s.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},s.prototype.divRound=function(d){var y=this.divmod(d);if(y.mod.isZero())return y.div;var L=0!==y.div.negative?y.mod.isub(d):y.mod,B=d.ushrn(1),v=d.andln(1),a=L.cmp(B);return a<0||1===v&&0===a?y.div:0!==y.div.negative?y.div.isubn(1):y.div.iaddn(1)},s.prototype.modrn=function(d){var y=d<0;y&&(d=-d),_(d<=67108863);for(var L=(1<<26)%d,B=0,v=this.length-1;v>=0;v--)B=(L*B+(0|this.words[v]))%d;return y?-B:B},s.prototype.modn=function(d){return this.modrn(d)},s.prototype.idivn=function(d){var y=d<0;y&&(d=-d),_(d<=67108863);for(var L=0,B=this.length-1;B>=0;B--){var v=(0|this.words[B])+67108864*L;this.words[B]=v/d|0,L=v%d}return this._strip(),y?this.ineg():this},s.prototype.divn=function(d){return this.clone().idivn(d)},s.prototype.egcd=function(d){_(0===d.negative),_(!d.isZero());var y=this,L=d.clone();y=0!==y.negative?y.umod(d):y.clone();for(var B=new s(1),v=new s(0),a=new s(0),C=new s(1),N=0;y.isEven()&&L.isEven();)y.iushrn(1),L.iushrn(1),++N;for(var F=L.clone(),J=y.clone();!y.isZero();){for(var Fe=0,ke=1;0==(y.words[0]&ke)&&Fe<26;++Fe,ke<<=1);if(Fe>0)for(y.iushrn(Fe);Fe-- >0;)(B.isOdd()||v.isOdd())&&(B.iadd(F),v.isub(J)),B.iushrn(1),v.iushrn(1);for(var Ge=0,je=1;0==(L.words[0]&je)&&Ge<26;++Ge,je<<=1);if(Ge>0)for(L.iushrn(Ge);Ge-- >0;)(a.isOdd()||C.isOdd())&&(a.iadd(F),C.isub(J)),a.iushrn(1),C.iushrn(1);y.cmp(L)>=0?(y.isub(L),B.isub(a),v.isub(C)):(L.isub(y),a.isub(B),C.isub(v))}return{a,b:C,gcd:L.iushln(N)}},s.prototype._invmp=function(d){_(0===d.negative),_(!d.isZero());var Fe,y=this,L=d.clone();y=0!==y.negative?y.umod(d):y.clone();for(var B=new s(1),v=new s(0),a=L.clone();y.cmpn(1)>0&&L.cmpn(1)>0;){for(var C=0,N=1;0==(y.words[0]&N)&&C<26;++C,N<<=1);if(C>0)for(y.iushrn(C);C-- >0;)B.isOdd()&&B.iadd(a),B.iushrn(1);for(var F=0,J=1;0==(L.words[0]&J)&&F<26;++F,J<<=1);if(F>0)for(L.iushrn(F);F-- >0;)v.isOdd()&&v.iadd(a),v.iushrn(1);y.cmp(L)>=0?(y.isub(L),B.isub(v)):(L.isub(y),v.isub(B))}return(Fe=0===y.cmpn(1)?B:v).cmpn(0)<0&&Fe.iadd(d),Fe},s.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var y=this.clone(),L=d.clone();y.negative=0,L.negative=0;for(var B=0;y.isEven()&&L.isEven();B++)y.iushrn(1),L.iushrn(1);for(;;){for(;y.isEven();)y.iushrn(1);for(;L.isEven();)L.iushrn(1);var v=y.cmp(L);if(v<0){var a=y;y=L,L=a}else if(0===v||0===L.cmpn(1))break;y.isub(L)}return L.iushln(B)},s.prototype.invm=function(d){return this.egcd(d).a.umod(d)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(d){return this.words[0]&d},s.prototype.bincn=function(d){_("number"==typeof d);var y=d%26,L=(d-y)/26,B=1<>>26,C&=67108863,this.words[a]=C}return 0!==v&&(this.words[a]=v,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(d){var L,y=d<0;if(0!==this.negative&&!y)return-1;if(0===this.negative&&y)return 1;if(this._strip(),this.length>1)L=1;else{y&&(d=-d),_(d<=67108863,"Number is too big");var B=0|this.words[0];L=B===d?0:Bd.length)return 1;if(this.length=0;L--){var B=0|this.words[L],v=0|d.words[L];if(B!==v){Bv&&(y=1);break}}return y},s.prototype.gtn=function(d){return 1===this.cmpn(d)},s.prototype.gt=function(d){return 1===this.cmp(d)},s.prototype.gten=function(d){return this.cmpn(d)>=0},s.prototype.gte=function(d){return this.cmp(d)>=0},s.prototype.ltn=function(d){return-1===this.cmpn(d)},s.prototype.lt=function(d){return-1===this.cmp(d)},s.prototype.lten=function(d){return this.cmpn(d)<=0},s.prototype.lte=function(d){return this.cmp(d)<=0},s.prototype.eqn=function(d){return 0===this.cmpn(d)},s.prototype.eq=function(d){return 0===this.cmp(d)},s.red=function(d){return new n(d)},s.prototype.toRed=function(d){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),d.convertTo(this)._forceRed(d)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(d){return this.red=d,this},s.prototype.forceRed=function(d){return _(!this.red,"Already a number in reduction context"),this._forceRed(d)},s.prototype.redAdd=function(d){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},s.prototype.redIAdd=function(d){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},s.prototype.redSub=function(d){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},s.prototype.redISub=function(d){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},s.prototype.redShl=function(d){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},s.prototype.redMul=function(d){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},s.prototype.redIMul=function(d){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(d){return _(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var le={k256:null,p224:null,p192:null,p25519:null};function ve(h,d){this.name=h,this.p=new s(d,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function de(){ve.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function $(){ve.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ue(){ve.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){ve.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function n(h){if("string"==typeof h){var d=s._prime(h);this.m=d.p,this.prime=d}else _(h.gtn(1),"modulus must be greater than 1"),this.m=h,this.prime=null}function o(h){n.call(this,h),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}ve.prototype._tmp=function(){var d=new s(null);return d.words=new Array(Math.ceil(this.n/13)),d},ve.prototype.ireduce=function(d){var L,y=d;do{this.split(y,this.tmp),L=(y=(y=this.imulK(y)).iadd(this.tmp)).bitLength()}while(L>this.n);var B=L0?y.isub(this.p):void 0!==y.strip?y.strip():y._strip(),y},ve.prototype.split=function(d,y){d.iushrn(this.n,0,y)},ve.prototype.imulK=function(d){return d.imul(this.k)},E(de,ve),de.prototype.split=function(d,y){for(var L=4194303,B=Math.min(d.length,9),v=0;v>>22,a=C}a>>>=22,d.words[v-10]=a,0===a&&d.length>10?d.length-=10:d.length-=9},de.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var y=0,L=0;L>>=26,d.words[L]=v,y=B}return 0!==y&&(d.words[d.length++]=y),d},s._prime=function(d){if(le[d])return le[d];var y;if("k256"===d)y=new de;else if("p224"===d)y=new $;else if("p192"===d)y=new ue;else{if("p25519"!==d)throw new Error("Unknown prime "+d);y=new w}return le[d]=y,y},n.prototype._verify1=function(d){_(0===d.negative,"red works only with positives"),_(d.red,"red works only with red numbers")},n.prototype._verify2=function(d,y){_(0==(d.negative|y.negative),"red works only with positives"),_(d.red&&d.red===y.red,"red works only with red numbers")},n.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):(S(d,d.umod(this.m)._forceRed(this)),d)},n.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},n.prototype.add=function(d,y){this._verify2(d,y);var L=d.add(y);return L.cmp(this.m)>=0&&L.isub(this.m),L._forceRed(this)},n.prototype.iadd=function(d,y){this._verify2(d,y);var L=d.iadd(y);return L.cmp(this.m)>=0&&L.isub(this.m),L},n.prototype.sub=function(d,y){this._verify2(d,y);var L=d.sub(y);return L.cmpn(0)<0&&L.iadd(this.m),L._forceRed(this)},n.prototype.isub=function(d,y){this._verify2(d,y);var L=d.isub(y);return L.cmpn(0)<0&&L.iadd(this.m),L},n.prototype.shl=function(d,y){return this._verify1(d),this.imod(d.ushln(y))},n.prototype.imul=function(d,y){return this._verify2(d,y),this.imod(d.imul(y))},n.prototype.mul=function(d,y){return this._verify2(d,y),this.imod(d.mul(y))},n.prototype.isqr=function(d){return this.imul(d,d.clone())},n.prototype.sqr=function(d){return this.mul(d,d)},n.prototype.sqrt=function(d){if(d.isZero())return d.clone();var y=this.m.andln(3);if(_(y%2==1),3===y){var L=this.m.add(new s(1)).iushrn(2);return this.pow(d,L)}for(var B=this.m.subn(1),v=0;!B.isZero()&&0===B.andln(1);)v++,B.iushrn(1);_(!B.isZero());var a=new s(1).toRed(this),C=a.redNeg(),N=this.m.subn(1).iushrn(1),F=this.m.bitLength();for(F=new s(2*F*F).toRed(this);0!==this.pow(F,N).cmp(C);)F.redIAdd(C);for(var J=this.pow(F,B),Fe=this.pow(d,B.addn(1).iushrn(1)),ke=this.pow(d,B),Ge=v;0!==ke.cmp(a);){for(var je=ke,We=0;0!==je.cmp(a);We++)je=je.redSqr();_(We=0;v--){for(var J=y.words[v],Fe=F-1;Fe>=0;Fe--){var ke=J>>Fe&1;(a!==B[0]&&(a=this.sqr(a)),0!==ke||0!==C)?(C<<=1,C|=ke,(4===++N||0===v&&0===Fe)&&(a=this.mul(a,B[C]),N=0,C=0)):N=0}F=26}return a},n.prototype.convertTo=function(d){var y=d.umod(this.m);return y===d?y.clone():y},n.prototype.convertFrom=function(d){var y=d.clone();return y.red=null,y},s.mont=function(d){return new o(d)},E(o,n),o.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},o.prototype.convertFrom=function(d){var y=this.imod(d.mul(this.rinv));return y.red=null,y},o.prototype.imul=function(d,y){if(d.isZero()||y.isZero())return d.words[0]=0,d.length=1,d;var L=d.imul(y),B=L.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=L.isub(B).iushrn(this.shift),a=v;return v.cmp(this.m)>=0?a=v.isub(this.m):v.cmpn(0)<0&&(a=v.iadd(this.m)),a._forceRed(this)},o.prototype.mul=function(d,y){if(d.isZero()||y.isZero())return new s(0)._forceRed(this);var L=d.mul(y),B=L.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=L.isub(B).iushrn(this.shift),a=v;return v.cmp(this.m)>=0?a=v.isub(this.m):v.cmpn(0)<0&&(a=v.iadd(this.m)),a._forceRed(this)},o.prototype.invm=function(d){return this.imod(d._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},340:(Ve,X,m)=>{var e;function t(E){this.rand=E}if(Ve.exports=function(s){return e||(e=new t(null)),e.generate(s)},Ve.exports.Rand=t,t.prototype.generate=function(s){return this._rand(s)},t.prototype._rand=function(s){if(this.rand.getBytes)return this.rand.getBytes(s);for(var D=new Uint8Array(s),u=0;u{var e=m(9708).Buffer;function t(k){e.isBuffer(k)||(k=e.from(k));for(var p=k.length/4|0,S=new Array(p),A=0;A>>24]^z[j>>>16&255]^I[ae>>>8&255]^W[255&re]^p[$++],le=M[j>>>24]^z[ae>>>16&255]^I[re>>>8&255]^W[255&Z]^p[$++],ve=M[ae>>>24]^z[re>>>16&255]^I[Z>>>8&255]^W[255&j]^p[$++],de=M[re>>>24]^z[Z>>>16&255]^I[j>>>8&255]^W[255&ae]^p[$++],Z=pe,j=le,ae=ve,re=de;return pe=(A[Z>>>24]<<24|A[j>>>16&255]<<16|A[ae>>>8&255]<<8|A[255&re])^p[$++],le=(A[j>>>24]<<24|A[ae>>>16&255]<<16|A[re>>>8&255]<<8|A[255&Z])^p[$++],ve=(A[ae>>>24]<<24|A[re>>>16&255]<<16|A[Z>>>8&255]<<8|A[255&j])^p[$++],de=(A[re>>>24]<<24|A[Z>>>16&255]<<16|A[j>>>8&255]<<8|A[255&ae])^p[$++],[pe>>>=0,le>>>=0,ve>>>=0,de>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],D=function(){for(var k=new Array(256),p=0;p<256;p++)k[p]=p<128?p<<1:p<<1^283;for(var S=[],A=[],P=[[],[],[],[]],M=[[],[],[],[]],z=0,I=0,W=0;W<256;++W){var Z=I^I<<1^I<<2^I<<3^I<<4;Z=Z>>>8^255&Z^99,S[z]=Z,A[Z]=z;var j=k[z],ae=k[j],re=k[ae],pe=257*k[Z]^16843008*Z;P[0][z]=pe<<24|pe>>>8,P[1][z]=pe<<16|pe>>>16,P[2][z]=pe<<8|pe>>>24,P[3][z]=pe,pe=16843009*re^65537*ae^257*j^16843008*z,M[0][Z]=pe<<24|pe>>>8,M[1][Z]=pe<<16|pe>>>16,M[2][Z]=pe<<8|pe>>>24,M[3][Z]=pe,0===z?z=I=1:(z=j^k[k[k[re^j]]],I^=k[k[I]])}return{SBOX:S,INV_SBOX:A,SUB_MIX:P,INV_SUB_MIX:M}}();function u(k){this._key=t(k),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var k=this._key,p=k.length,S=p+6,A=4*(S+1),P=[],M=0;M>>24,z=D.SBOX[z>>>24]<<24|D.SBOX[z>>>16&255]<<16|D.SBOX[z>>>8&255]<<8|D.SBOX[255&z],z^=s[M/p|0]<<24):p>6&&M%p==4&&(z=D.SBOX[z>>>24]<<24|D.SBOX[z>>>16&255]<<16|D.SBOX[z>>>8&255]<<8|D.SBOX[255&z]),P[M]=P[M-p]^z}for(var I=[],W=0;W>>24]]^D.INV_SUB_MIX[1][D.SBOX[j>>>16&255]]^D.INV_SUB_MIX[2][D.SBOX[j>>>8&255]]^D.INV_SUB_MIX[3][D.SBOX[255&j]]}this._nRounds=S,this._keySchedule=P,this._invKeySchedule=I},u.prototype.encryptBlockRaw=function(k){return E(k=t(k),this._keySchedule,D.SUB_MIX,D.SBOX,this._nRounds)},u.prototype.encryptBlock=function(k){var p=this.encryptBlockRaw(k),S=e.allocUnsafe(16);return S.writeUInt32BE(p[0],0),S.writeUInt32BE(p[1],4),S.writeUInt32BE(p[2],8),S.writeUInt32BE(p[3],12),S},u.prototype.decryptBlock=function(k){var p=(k=t(k))[1];k[1]=k[3],k[3]=p;var S=E(k,this._invKeySchedule,D.INV_SUB_MIX,D.INV_SBOX,this._nRounds),A=e.allocUnsafe(16);return A.writeUInt32BE(S[0],0),A.writeUInt32BE(S[3],4),A.writeUInt32BE(S[2],8),A.writeUInt32BE(S[1],12),A},u.prototype.scrub=function(){_(this._keySchedule),_(this._invKeySchedule),_(this._key)},Ve.exports.AES=u},7105:(Ve,X,m)=>{var e=m(7560),t=m(9708).Buffer,_=m(3735),E=m(5035),s=m(5045),D=m(7702),u=m(9305);function S(A,P,M,z){_.call(this);var I=t.alloc(4,0);this._cipher=new e.AES(P);var W=this._cipher.encryptBlock(I);this._ghash=new s(W),M=function p(A,P,M){if(12===P.length)return A._finID=t.concat([P,t.from([0,0,0,1])]),t.concat([P,t.from([0,0,0,2])]);var z=new s(M),I=P.length,W=I%16;z.update(P),W&&(W=16-W,z.update(t.alloc(W,0))),z.update(t.alloc(8,0));var Z=8*I,j=t.alloc(8);j.writeUIntBE(Z,0,8),z.update(j),A._finID=z.state;var ae=t.from(A._finID);return u(ae),ae}(this,M,W),this._prev=t.from(M),this._cache=t.allocUnsafe(0),this._secCache=t.allocUnsafe(0),this._decrypt=z,this._alen=0,this._len=0,this._mode=A,this._authTag=null,this._called=!1}E(S,_),S.prototype._update=function(A){if(!this._called&&this._alen){var P=16-this._alen%16;P<16&&(P=t.alloc(P,0),this._ghash.update(P))}this._called=!0;var M=this._mode.encrypt(this,A);return this._decrypt?this._ghash.update(A):this._ghash.update(M),this._len+=A.length,M},S.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var A=D(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function k(A,P){var M=0;A.length!==P.length&&M++;for(var z=Math.min(A.length,P.length),I=0;I{var e=m(9185),t=m(8991),_=m(4946);X.createCipher=X.Cipher=e.createCipher,X.createCipheriv=X.Cipheriv=e.createCipheriv,X.createDecipher=X.Decipher=t.createDecipher,X.createDecipheriv=X.Decipheriv=t.createDecipheriv,X.listCiphers=X.getCiphers=function E(){return Object.keys(_)}},8991:(Ve,X,m)=>{var e=m(7105),t=m(9708).Buffer,_=m(7129),E=m(3217),s=m(3735),D=m(7560),u=m(153);function p(z,I,W){s.call(this),this._cache=new S,this._last=void 0,this._cipher=new D.AES(I),this._prev=t.from(W),this._mode=z,this._autopadding=!0}function S(){this.cache=t.allocUnsafe(0)}function P(z,I,W){var Z=_[z.toLowerCase()];if(!Z)throw new TypeError("invalid suite type");if("string"==typeof W&&(W=t.from(W)),"GCM"!==Z.mode&&W.length!==Z.iv)throw new TypeError("invalid iv length "+W.length);if("string"==typeof I&&(I=t.from(I)),I.length!==Z.key/8)throw new TypeError("invalid key length "+I.length);return"stream"===Z.type?new E(Z.module,I,W,!0):"auth"===Z.type?new e(Z.module,I,W,!0):new p(Z.module,I,W)}m(5035)(p,s),p.prototype._update=function(z){this._cache.add(z);for(var I,W,Z=[];I=this._cache.get(this._autopadding);)W=this._mode.decrypt(this,I),Z.push(W);return t.concat(Z)},p.prototype._final=function(){var z=this._cache.flush();if(this._autopadding)return function A(z){var I=z[15];if(I<1||I>16)throw new Error("unable to decrypt data");for(var W=-1;++W16)return I=this.cache.slice(0,16),this.cache=this.cache.slice(16),I}else if(this.cache.length>=16)return I=this.cache.slice(0,16),this.cache=this.cache.slice(16),I;return null},S.prototype.flush=function(){if(this.cache.length)return this.cache},X.createDecipher=function M(z,I){var W=_[z.toLowerCase()];if(!W)throw new TypeError("invalid suite type");var Z=u(I,!1,W.key,W.iv);return P(z,Z.key,Z.iv)},X.createDecipheriv=P},9185:(Ve,X,m)=>{var e=m(7129),t=m(7105),_=m(9708).Buffer,E=m(3217),s=m(3735),D=m(7560),u=m(153);function p(z,I,W){s.call(this),this._cache=new A,this._cipher=new D.AES(I),this._prev=_.from(W),this._mode=z,this._autopadding=!0}m(5035)(p,s),p.prototype._update=function(z){this._cache.add(z);for(var I,W,Z=[];I=this._cache.get();)W=this._mode.encrypt(this,I),Z.push(W);return _.concat(Z)};var S=_.alloc(16,16);function A(){this.cache=_.allocUnsafe(0)}function P(z,I,W){var Z=e[z.toLowerCase()];if(!Z)throw new TypeError("invalid suite type");if("string"==typeof I&&(I=_.from(I)),I.length!==Z.key/8)throw new TypeError("invalid key length "+I.length);if("string"==typeof W&&(W=_.from(W)),"GCM"!==Z.mode&&W.length!==Z.iv)throw new TypeError("invalid iv length "+W.length);return"stream"===Z.type?new E(Z.module,I,W):"auth"===Z.type?new t(Z.module,I,W):new p(Z.module,I,W)}p.prototype._final=function(){var z=this._cache.flush();if(this._autopadding)return z=this._mode.encrypt(this,z),this._cipher.scrub(),z;if(!z.equals(S))throw this._cipher.scrub(),new Error("data not multiple of block length")},p.prototype.setAutoPadding=function(z){return this._autopadding=!!z,this},A.prototype.add=function(z){this.cache=_.concat([this.cache,z])},A.prototype.get=function(){if(this.cache.length>15){var z=this.cache.slice(0,16);return this.cache=this.cache.slice(16),z}return null},A.prototype.flush=function(){for(var z=16-this.cache.length,I=_.allocUnsafe(z),W=-1;++W{var e=m(9708).Buffer,t=e.alloc(16,0);function E(D){var u=e.allocUnsafe(16);return u.writeUInt32BE(D[0]>>>0,0),u.writeUInt32BE(D[1]>>>0,4),u.writeUInt32BE(D[2]>>>0,8),u.writeUInt32BE(D[3]>>>0,12),u}function s(D){this.h=D,this.state=e.alloc(16,0),this.cache=e.allocUnsafe(0)}s.prototype.ghash=function(D){for(var u=-1;++u0;k--)D[k]=D[k]>>>1|(1&D[k-1])<<31;D[0]=D[0]>>>1,S&&(D[0]=D[0]^225<<24)}this.state=E(u)},s.prototype.update=function(D){this.cache=e.concat([this.cache,D]);for(var u;this.cache.length>=16;)u=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(u)},s.prototype.final=function(D,u){return this.cache.length&&this.ghash(e.concat([this.cache,t],16)),this.ghash(E([0,D,0,u])),this.state},Ve.exports=s},9305:Ve=>{Ve.exports=function X(m){for(var t,e=m.length;e--;){if(255!==(t=m.readUInt8(e))){t++,m.writeUInt8(t,e);break}m.writeUInt8(0,e)}}},237:(Ve,X,m)=>{var e=m(7702);X.encrypt=function(t,_){var E=e(_,t._prev);return t._prev=t._cipher.encryptBlock(E),t._prev},X.decrypt=function(t,_){var E=t._prev;t._prev=_;var s=t._cipher.decryptBlock(_);return e(s,E)}},9572:(Ve,X,m)=>{var e=m(9708).Buffer,t=m(7702);function _(E,s,D){var u=s.length,k=t(s,E._cache);return E._cache=E._cache.slice(u),E._prev=e.concat([E._prev,D?s:k]),k}X.encrypt=function(E,s,D){for(var k,u=e.allocUnsafe(0);s.length;){if(0===E._cache.length&&(E._cache=E._cipher.encryptBlock(E._prev),E._prev=e.allocUnsafe(0)),!(E._cache.length<=s.length)){u=e.concat([u,_(E,s,D)]);break}k=E._cache.length,u=e.concat([u,_(E,s.slice(0,k),D)]),s=s.slice(k)}return u}},3989:(Ve,X,m)=>{var e=m(9708).Buffer;function t(E,s,D){for(var A,P,k=-1,S=0;++k<8;)A=s&1<<7-k?128:0,S+=(128&(P=E._cipher.encryptBlock(E._prev)[0]^A))>>k%8,E._prev=_(E._prev,D?A:P);return S}function _(E,s){var D=E.length,u=-1,k=e.allocUnsafe(E.length);for(E=e.concat([E,e.from([s])]);++u>7;return k}X.encrypt=function(E,s,D){for(var u=s.length,k=e.allocUnsafe(u),p=-1;++p{var e=m(9708).Buffer;function t(_,E,s){var u=_._cipher.encryptBlock(_._prev)[0]^E;return _._prev=e.concat([_._prev.slice(1),e.from([s?E:u])]),u}X.encrypt=function(_,E,s){for(var D=E.length,u=e.allocUnsafe(D),k=-1;++k{var e=m(7702),t=m(9708).Buffer,_=m(9305);function E(D){var u=D._cipher.encryptBlockRaw(D._prev);return _(D._prev),u}X.encrypt=function(D,u){var k=Math.ceil(u.length/16),p=D._cache.length;D._cache=t.concat([D._cache,t.allocUnsafe(16*k)]);for(var S=0;S{X.encrypt=function(m,e){return m._cipher.encryptBlock(e)},X.decrypt=function(m,e){return m._cipher.decryptBlock(e)}},7129:(Ve,X,m)=>{var e={ECB:m(323),CBC:m(237),CFB:m(9572),CFB8:m(4164),CFB1:m(3989),OFB:m(6701),CTR:m(5924),GCM:m(5924)},t=m(4946);for(var _ in t)t[_].module=e[t[_].mode];Ve.exports=t},6701:(Ve,X,m)=>{var e=m(7702);function t(_){return _._prev=_._cipher.encryptBlock(_._prev),_._prev}X.encrypt=function(_,E){for(;_._cache.length{var e=m(7560),t=m(9708).Buffer,_=m(3735);function s(D,u,k,p){_.call(this),this._cipher=new e.AES(u),this._prev=t.from(k),this._cache=t.allocUnsafe(0),this._secCache=t.allocUnsafe(0),this._decrypt=p,this._mode=D}m(5035)(s,_),s.prototype._update=function(D){return this._mode.encrypt(this,D,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},Ve.exports=s},4791:(Ve,X,m)=>{var e=m(7765),t=m(3170),_=m(7129),E=m(2427),s=m(153);function k(A,P,M){if(A=A.toLowerCase(),_[A])return t.createCipheriv(A,P,M);if(E[A])return new e({key:P,iv:M,mode:A});throw new TypeError("invalid suite type")}function p(A,P,M){if(A=A.toLowerCase(),_[A])return t.createDecipheriv(A,P,M);if(E[A])return new e({key:P,iv:M,mode:A,decrypt:!0});throw new TypeError("invalid suite type")}X.createCipher=X.Cipher=function D(A,P){var M,z;if(A=A.toLowerCase(),_[A])M=_[A].key,z=_[A].iv;else{if(!E[A])throw new TypeError("invalid suite type");M=8*E[A].key,z=E[A].iv}var I=s(P,!1,M,z);return k(A,I.key,I.iv)},X.createCipheriv=X.Cipheriv=k,X.createDecipher=X.Decipher=function u(A,P){var M,z;if(A=A.toLowerCase(),_[A])M=_[A].key,z=_[A].iv;else{if(!E[A])throw new TypeError("invalid suite type");M=8*E[A].key,z=E[A].iv}var I=s(P,!1,M,z);return p(A,I.key,I.iv)},X.createDecipheriv=X.Decipheriv=p,X.listCiphers=X.getCiphers=function S(){return Object.keys(E).concat(t.getCiphers())}},7765:(Ve,X,m)=>{var e=m(3735),t=m(6222),_=m(5035),E=m(9708).Buffer,s={"des-ede3-cbc":t.CBC.instantiate(t.EDE),"des-ede3":t.EDE,"des-ede-cbc":t.CBC.instantiate(t.EDE),"des-ede":t.EDE,"des-cbc":t.CBC.instantiate(t.DES),"des-ecb":t.DES};function D(u){e.call(this);var S,k=u.mode.toLowerCase(),p=s[k];S=u.decrypt?"decrypt":"encrypt";var A=u.key;E.isBuffer(A)||(A=E.from(A)),("des-ede"===k||"des-ede-cbc"===k)&&(A=E.concat([A,A.slice(0,8)]));var P=u.iv;E.isBuffer(P)||(P=E.from(P)),this._des=p.create({key:A,iv:P,type:S})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],Ve.exports=D,_(D,e),D.prototype._update=function(u){return E.from(this._des.update(u))},D.prototype._final=function(){return E.from(this._des.final())}},2427:(Ve,X)=>{X["des-ecb"]={key:8,iv:0},X["des-cbc"]=X.des={key:8,iv:8},X["des-ede3-cbc"]=X.des3={key:24,iv:8},X["des-ede3"]={key:24,iv:0},X["des-ede-cbc"]={key:16,iv:8},X["des-ede"]={key:16,iv:0}},6661:(Ve,X,m)=>{var e=m(6585),t=m(1186);function E(D){var k,u=D.modulus.byteLength();do{k=new e(t(u))}while(k.cmp(D.modulus)>=0||!k.umod(D.prime1)||!k.umod(D.prime2));return k}function s(D,u){var k=function _(D){var u=E(D);return{blinder:u.toRed(e.mont(D.modulus)).redPow(new e(D.publicExponent)).fromRed(),unblinder:u.invm(D.modulus)}}(u),p=u.modulus.byteLength(),S=new e(D).mul(k.blinder).umod(u.modulus),A=S.toRed(e.mont(u.prime1)),P=S.toRed(e.mont(u.prime2)),M=u.coefficient,z=u.prime1,I=u.prime2,W=A.redPow(u.exponent1).fromRed(),Z=P.redPow(u.exponent2).fromRed(),j=W.isub(Z).imul(M).umod(z).imul(I);return Z.iadd(j).imul(k.unblinder).umod(u.modulus).toArrayLike(Buffer,"be",p)}s.getr=E,Ve.exports=s},8043:(Ve,X,m)=>{Ve.exports=m(5207)},2124:(Ve,X,m)=>{var e=m(9708).Buffer,t=m(145),_=m(9697),E=m(5035),s=m(5127),D=m(4596),u=m(5207);function k(P){_.Writable.call(this);var M=u[P];if(!M)throw new Error("Unknown message digest");this._hashType=M.hash,this._hash=t(M.hash),this._tag=M.id,this._signType=M.sign}function p(P){_.Writable.call(this);var M=u[P];if(!M)throw new Error("Unknown message digest");this._hash=t(M.hash),this._tag=M.id,this._signType=M.sign}function S(P){return new k(P)}function A(P){return new p(P)}Object.keys(u).forEach(function(P){u[P].id=e.from(u[P].id,"hex"),u[P.toLowerCase()]=u[P]}),E(k,_.Writable),k.prototype._write=function(M,z,I){this._hash.update(M),I()},k.prototype.update=function(M,z){return"string"==typeof M&&(M=e.from(M,z)),this._hash.update(M),this},k.prototype.sign=function(M,z){this.end();var I=this._hash.digest(),W=s(I,M,this._hashType,this._signType,this._tag);return z?W.toString(z):W},E(p,_.Writable),p.prototype._write=function(M,z,I){this._hash.update(M),I()},p.prototype.update=function(M,z){return"string"==typeof M&&(M=e.from(M,z)),this._hash.update(M),this},p.prototype.verify=function(M,z,I){"string"==typeof z&&(z=e.from(z,I)),this.end();var W=this._hash.digest();return D(z,W,M,this._signType,this._tag)},Ve.exports={Sign:S,Verify:A,createSign:S,createVerify:A}},5127:(Ve,X,m)=>{var e=m(9708).Buffer,t=m(3640),_=m(6661),E=m(2142).ec,s=m(6585),D=m(5752),u=m(7036);function P(Z,j,ae,re){if((Z=e.from(Z.toArray())).length0&&ae.ishrn(re),ae}function I(Z,j,ae){var re,pe;do{for(re=e.alloc(0);8*re.length{var e=m(9708).Buffer,t=m(6585),_=m(2142).ec,E=m(5752),s=m(7036);function p(S,A){if(S.cmpn(0)<=0)throw new Error("invalid sig");if(S.cmp(A)>=A)throw new Error("invalid sig")}Ve.exports=function D(S,A,P,M,z){var I=E(P);if("ec"===I.type){if("ecdsa"!==M&&"ecdsa/rsa"!==M)throw new Error("wrong public key type");return function u(S,A,P){var M=s[P.data.algorithm.curve.join(".")];if(!M)throw new Error("unknown curve "+P.data.algorithm.curve.join("."));var z=new _(M),I=P.data.subjectPrivateKey.data;return z.verify(A,S,I)}(S,A,I)}if("dsa"===I.type){if("dsa"!==M)throw new Error("wrong public key type");return function k(S,A,P){var M=P.data.p,z=P.data.q,I=P.data.g,W=P.data.pub_key,Z=E.signature.decode(S,"der"),j=Z.s,ae=Z.r;p(j,z),p(ae,z);var re=t.mont(M),pe=j.invm(z);return 0===I.toRed(re).redPow(new t(A).mul(pe).mod(z)).fromRed().mul(W.toRed(re).redPow(ae.mul(pe).mod(z)).fromRed()).mod(M).mod(z).cmp(ae)}(S,A,I)}if("rsa"!==M&&"ecdsa/rsa"!==M)throw new Error("wrong public key type");A=e.concat([z,A]);for(var W=I.modulus.byteLength(),Z=[1],j=0;A.length+Z.length+2{Ve.exports=function(m,e){for(var t=Math.min(m.length,e.length),_=new Buffer(t),E=0;E{"use strict";var e=m(2173),t=m(4920),_="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;X.Buffer=u,X.SlowBuffer=function j(Le){return+Le!=Le&&(Le=0),u.alloc(+Le)},X.INSPECT_MAX_BYTES=50;var E=2147483647;function D(Le){if(Le>E)throw new RangeError('The value "'+Le+'" is invalid for option "size"');var De=new Uint8Array(Le);return Object.setPrototypeOf(De,u.prototype),De}function u(Le,De,ne){if("number"==typeof Le){if("string"==typeof De)throw new TypeError('The "string" argument must be of type string. Received type number');return A(Le)}return k(Le,De,ne)}function k(Le,De,ne){if("string"==typeof Le)return function P(Le,De){if(("string"!=typeof De||""===De)&&(De="utf8"),!u.isEncoding(De))throw new TypeError("Unknown encoding: "+De);var ne=0|ae(Le,De),fe=D(ne),ee=fe.write(Le,De);return ee!==ne&&(fe=fe.slice(0,ee)),fe}(Le,De);if(ArrayBuffer.isView(Le))return function z(Le){if(ge(Le,Uint8Array)){var De=new Uint8Array(Le);return I(De.buffer,De.byteOffset,De.byteLength)}return M(Le)}(Le);if(null==Le)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Le);if(ge(Le,ArrayBuffer)||Le&&ge(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ge(Le,SharedArrayBuffer)||Le&&ge(Le.buffer,SharedArrayBuffer)))return I(Le,De,ne);if("number"==typeof Le)throw new TypeError('The "value" argument must not be of type number. Received type number');var fe=Le.valueOf&&Le.valueOf();if(null!=fe&&fe!==Le)return u.from(fe,De,ne);var ee=function W(Le){if(u.isBuffer(Le)){var De=0|Z(Le.length),ne=D(De);return 0===ne.length||Le.copy(ne,0,0,De),ne}if(void 0!==Le.length)return"number"!=typeof Le.length||et(Le.length)?D(0):M(Le);if("Buffer"===Le.type&&Array.isArray(Le.data))return M(Le.data)}(Le);if(ee)return ee;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof Le[Symbol.toPrimitive])return u.from(Le[Symbol.toPrimitive]("string"),De,ne);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Le)}function p(Le){if("number"!=typeof Le)throw new TypeError('"size" argument must be of type number');if(Le<0)throw new RangeError('The value "'+Le+'" is invalid for option "size"')}function A(Le){return p(Le),D(Le<0?0:0|Z(Le))}function M(Le){for(var De=Le.length<0?0:0|Z(Le.length),ne=D(De),fe=0;fe=E)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+E.toString(16)+" bytes");return 0|Le}function ae(Le,De){if(u.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||ge(Le,ArrayBuffer))return Le.byteLength;if("string"!=typeof Le)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Le);var ne=Le.length,fe=arguments.length>2&&!0===arguments[2];if(!fe&&0===ne)return 0;for(var ee=!1;;)switch(De){case"ascii":case"latin1":case"binary":return ne;case"utf8":case"utf-8":return je(Le).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*ne;case"hex":return ne>>>1;case"base64":return Ye(Le).length;default:if(ee)return fe?-1:je(Le).length;De=(""+De).toLowerCase(),ee=!0}}function re(Le,De,ne){var fe=!1;if((void 0===De||De<0)&&(De=0),De>this.length||((void 0===ne||ne>this.length)&&(ne=this.length),ne<=0)||(ne>>>=0)<=(De>>>=0))return"";for(Le||(Le="utf8");;)switch(Le){case"hex":return v(this,De,ne);case"utf8":case"utf-8":return h(this,De,ne);case"ascii":return L(this,De,ne);case"latin1":case"binary":return B(this,De,ne);case"base64":return o(this,De,ne);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a(this,De,ne);default:if(fe)throw new TypeError("Unknown encoding: "+Le);Le=(Le+"").toLowerCase(),fe=!0}}function pe(Le,De,ne){var fe=Le[De];Le[De]=Le[ne],Le[ne]=fe}function le(Le,De,ne,fe,ee){if(0===Le.length)return-1;if("string"==typeof ne?(fe=ne,ne=0):ne>2147483647?ne=2147483647:ne<-2147483648&&(ne=-2147483648),et(ne=+ne)&&(ne=ee?0:Le.length-1),ne<0&&(ne=Le.length+ne),ne>=Le.length){if(ee)return-1;ne=Le.length-1}else if(ne<0){if(!ee)return-1;ne=0}if("string"==typeof De&&(De=u.from(De,fe)),u.isBuffer(De))return 0===De.length?-1:ve(Le,De,ne,fe,ee);if("number"==typeof De)return De&=255,"function"==typeof Uint8Array.prototype.indexOf?ee?Uint8Array.prototype.indexOf.call(Le,De,ne):Uint8Array.prototype.lastIndexOf.call(Le,De,ne):ve(Le,[De],ne,fe,ee);throw new TypeError("val must be string, number or Buffer")}function ve(Le,De,ne,fe,ee){var oe,H=1,q=Le.length,Oe=De.length;if(void 0!==fe&&("ucs2"===(fe=String(fe).toLowerCase())||"ucs-2"===fe||"utf16le"===fe||"utf-16le"===fe)){if(Le.length<2||De.length<2)return-1;H=2,q/=2,Oe/=2,ne/=2}function Re(un,Nt){return 1===H?un[Nt]:un.readUInt16BE(Nt*H)}if(ee){var pt=-1;for(oe=ne;oeq&&(ne=q-Oe),oe=ne;oe>=0;oe--){for(var it=!0,Ct=0;Ctee&&(fe=ee):fe=ee;var H=De.length;fe>H/2&&(fe=H/2);for(var q=0;q>8,ee=ne%256,H.push(ee),H.push(fe);return H}(De,Le.length-ne),Le,ne,fe)}function o(Le,De,ne){return 0===De&&ne===Le.length?e.fromByteArray(Le):e.fromByteArray(Le.slice(De,ne))}function h(Le,De,ne){ne=Math.min(Le.length,ne);for(var fe=[],ee=De;ee239?4:H>223?3:H>191?2:1;if(ee+Oe<=ne)switch(Oe){case 1:H<128&&(q=H);break;case 2:128==(192&(Re=Le[ee+1]))&&((it=(31&H)<<6|63&Re)>127&&(q=it));break;case 3:Re=Le[ee+1],oe=Le[ee+2],128==(192&Re)&&128==(192&oe)&&((it=(15&H)<<12|(63&Re)<<6|63&oe)>2047&&(it<55296||it>57343)&&(q=it));break;case 4:Re=Le[ee+1],oe=Le[ee+2],pt=Le[ee+3],128==(192&Re)&&128==(192&oe)&&128==(192&pt)&&((it=(15&H)<<18|(63&Re)<<12|(63&oe)<<6|63&pt)>65535&&it<1114112&&(q=it))}null===q?(q=65533,Oe=1):q>65535&&(q-=65536,fe.push(q>>>10&1023|55296),q=56320|1023&q),fe.push(q),ee+=Oe}return function y(Le){var De=Le.length;if(De<=d)return String.fromCharCode.apply(String,Le);for(var ne="",fe=0;feee.length?u.from(q).copy(ee,H):Uint8Array.prototype.set.call(ee,q,H);else{if(!u.isBuffer(q))throw new TypeError('"list" argument must be an Array of Buffers');q.copy(ee,H)}H+=q.length}return ee},u.byteLength=ae,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var De=this.length;if(De%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var ne=0;nene&&(De+=" ... "),""},_&&(u.prototype[_]=u.prototype.inspect),u.prototype.compare=function(De,ne,fe,ee,H){if(ge(De,Uint8Array)&&(De=u.from(De,De.offset,De.byteLength)),!u.isBuffer(De))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof De);if(void 0===ne&&(ne=0),void 0===fe&&(fe=De?De.length:0),void 0===ee&&(ee=0),void 0===H&&(H=this.length),ne<0||fe>De.length||ee<0||H>this.length)throw new RangeError("out of range index");if(ee>=H&&ne>=fe)return 0;if(ee>=H)return-1;if(ne>=fe)return 1;if(this===De)return 0;for(var q=(H>>>=0)-(ee>>>=0),Oe=(fe>>>=0)-(ne>>>=0),Re=Math.min(q,Oe),oe=this.slice(ee,H),pt=De.slice(ne,fe),it=0;it>>=0,isFinite(fe)?(fe>>>=0,void 0===ee&&(ee="utf8")):(ee=fe,fe=void 0)}var H=this.length-ne;if((void 0===fe||fe>H)&&(fe=H),De.length>0&&(fe<0||ne<0)||ne>this.length)throw new RangeError("Attempt to write outside buffer bounds");ee||(ee="utf8");for(var q=!1;;)switch(ee){case"hex":return de(this,De,ne,fe);case"utf8":case"utf-8":return $(this,De,ne,fe);case"ascii":case"latin1":case"binary":return ue(this,De,ne,fe);case"base64":return w(this,De,ne,fe);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return n(this,De,ne,fe);default:if(q)throw new TypeError("Unknown encoding: "+ee);ee=(""+ee).toLowerCase(),q=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var d=4096;function L(Le,De,ne){var fe="";ne=Math.min(Le.length,ne);for(var ee=De;eefe)&&(ne=fe);for(var ee="",H=De;Hne)throw new RangeError("Trying to access beyond buffer length")}function N(Le,De,ne,fe,ee,H){if(!u.isBuffer(Le))throw new TypeError('"buffer" argument must be a Buffer instance');if(De>ee||DeLe.length)throw new RangeError("Index out of range")}function F(Le,De,ne,fe,ee,H){if(ne+fe>Le.length)throw new RangeError("Index out of range");if(ne<0)throw new RangeError("Index out of range")}function J(Le,De,ne,fe,ee){return De=+De,ne>>>=0,ee||F(Le,0,ne,4),t.write(Le,De,ne,fe,23,4),ne+4}function Fe(Le,De,ne,fe,ee){return De=+De,ne>>>=0,ee||F(Le,0,ne,8),t.write(Le,De,ne,fe,52,8),ne+8}u.prototype.slice=function(De,ne){var fe=this.length;(De=~~De)<0?(De+=fe)<0&&(De=0):De>fe&&(De=fe),(ne=void 0===ne?fe:~~ne)<0?(ne+=fe)<0&&(ne=0):ne>fe&&(ne=fe),ne>>=0,ne>>>=0,fe||C(De,ne,this.length);for(var ee=this[De],H=1,q=0;++q>>=0,ne>>>=0,fe||C(De,ne,this.length);for(var ee=this[De+--ne],H=1;ne>0&&(H*=256);)ee+=this[De+--ne]*H;return ee},u.prototype.readUint8=u.prototype.readUInt8=function(De,ne){return De>>>=0,ne||C(De,1,this.length),this[De]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(De,ne){return De>>>=0,ne||C(De,2,this.length),this[De]|this[De+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(De,ne){return De>>>=0,ne||C(De,2,this.length),this[De]<<8|this[De+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),(this[De]|this[De+1]<<8|this[De+2]<<16)+16777216*this[De+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),16777216*this[De]+(this[De+1]<<16|this[De+2]<<8|this[De+3])},u.prototype.readIntLE=function(De,ne,fe){De>>>=0,ne>>>=0,fe||C(De,ne,this.length);for(var ee=this[De],H=1,q=0;++q=(H*=128)&&(ee-=Math.pow(2,8*ne)),ee},u.prototype.readIntBE=function(De,ne,fe){De>>>=0,ne>>>=0,fe||C(De,ne,this.length);for(var ee=ne,H=1,q=this[De+--ee];ee>0&&(H*=256);)q+=this[De+--ee]*H;return q>=(H*=128)&&(q-=Math.pow(2,8*ne)),q},u.prototype.readInt8=function(De,ne){return De>>>=0,ne||C(De,1,this.length),128&this[De]?-1*(255-this[De]+1):this[De]},u.prototype.readInt16LE=function(De,ne){De>>>=0,ne||C(De,2,this.length);var fe=this[De]|this[De+1]<<8;return 32768&fe?4294901760|fe:fe},u.prototype.readInt16BE=function(De,ne){De>>>=0,ne||C(De,2,this.length);var fe=this[De+1]|this[De]<<8;return 32768&fe?4294901760|fe:fe},u.prototype.readInt32LE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),this[De]|this[De+1]<<8|this[De+2]<<16|this[De+3]<<24},u.prototype.readInt32BE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),this[De]<<24|this[De+1]<<16|this[De+2]<<8|this[De+3]},u.prototype.readFloatLE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),t.read(this,De,!0,23,4)},u.prototype.readFloatBE=function(De,ne){return De>>>=0,ne||C(De,4,this.length),t.read(this,De,!1,23,4)},u.prototype.readDoubleLE=function(De,ne){return De>>>=0,ne||C(De,8,this.length),t.read(this,De,!0,52,8)},u.prototype.readDoubleBE=function(De,ne){return De>>>=0,ne||C(De,8,this.length),t.read(this,De,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(De,ne,fe,ee){(De=+De,ne>>>=0,fe>>>=0,ee)||N(this,De,ne,fe,Math.pow(2,8*fe)-1,0);var q=1,Oe=0;for(this[ne]=255&De;++Oe>>=0,fe>>>=0,ee)||N(this,De,ne,fe,Math.pow(2,8*fe)-1,0);var q=fe-1,Oe=1;for(this[ne+q]=255&De;--q>=0&&(Oe*=256);)this[ne+q]=De/Oe&255;return ne+fe},u.prototype.writeUint8=u.prototype.writeUInt8=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,1,255,0),this[ne]=255&De,ne+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,2,65535,0),this[ne]=255&De,this[ne+1]=De>>>8,ne+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,2,65535,0),this[ne]=De>>>8,this[ne+1]=255&De,ne+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,4,4294967295,0),this[ne+3]=De>>>24,this[ne+2]=De>>>16,this[ne+1]=De>>>8,this[ne]=255&De,ne+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,4,4294967295,0),this[ne]=De>>>24,this[ne+1]=De>>>16,this[ne+2]=De>>>8,this[ne+3]=255&De,ne+4},u.prototype.writeIntLE=function(De,ne,fe,ee){if(De=+De,ne>>>=0,!ee){var H=Math.pow(2,8*fe-1);N(this,De,ne,fe,H-1,-H)}var q=0,Oe=1,Re=0;for(this[ne]=255&De;++q>0)-Re&255;return ne+fe},u.prototype.writeIntBE=function(De,ne,fe,ee){if(De=+De,ne>>>=0,!ee){var H=Math.pow(2,8*fe-1);N(this,De,ne,fe,H-1,-H)}var q=fe-1,Oe=1,Re=0;for(this[ne+q]=255&De;--q>=0&&(Oe*=256);)De<0&&0===Re&&0!==this[ne+q+1]&&(Re=1),this[ne+q]=(De/Oe>>0)-Re&255;return ne+fe},u.prototype.writeInt8=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,1,127,-128),De<0&&(De=255+De+1),this[ne]=255&De,ne+1},u.prototype.writeInt16LE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,2,32767,-32768),this[ne]=255&De,this[ne+1]=De>>>8,ne+2},u.prototype.writeInt16BE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,2,32767,-32768),this[ne]=De>>>8,this[ne+1]=255&De,ne+2},u.prototype.writeInt32LE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,4,2147483647,-2147483648),this[ne]=255&De,this[ne+1]=De>>>8,this[ne+2]=De>>>16,this[ne+3]=De>>>24,ne+4},u.prototype.writeInt32BE=function(De,ne,fe){return De=+De,ne>>>=0,fe||N(this,De,ne,4,2147483647,-2147483648),De<0&&(De=4294967295+De+1),this[ne]=De>>>24,this[ne+1]=De>>>16,this[ne+2]=De>>>8,this[ne+3]=255&De,ne+4},u.prototype.writeFloatLE=function(De,ne,fe){return J(this,De,ne,!0,fe)},u.prototype.writeFloatBE=function(De,ne,fe){return J(this,De,ne,!1,fe)},u.prototype.writeDoubleLE=function(De,ne,fe){return Fe(this,De,ne,!0,fe)},u.prototype.writeDoubleBE=function(De,ne,fe){return Fe(this,De,ne,!1,fe)},u.prototype.copy=function(De,ne,fe,ee){if(!u.isBuffer(De))throw new TypeError("argument should be a Buffer");if(fe||(fe=0),!ee&&0!==ee&&(ee=this.length),ne>=De.length&&(ne=De.length),ne||(ne=0),ee>0&&ee=this.length)throw new RangeError("Index out of range");if(ee<0)throw new RangeError("sourceEnd out of bounds");ee>this.length&&(ee=this.length),De.length-ne>>=0,fe=void 0===fe?this.length:fe>>>0,De||(De=0),"number"==typeof De)for(q=ne;q55295&&ne<57344){if(!ee){if(ne>56319){(De-=3)>-1&&H.push(239,191,189);continue}if(q+1===fe){(De-=3)>-1&&H.push(239,191,189);continue}ee=ne;continue}if(ne<56320){(De-=3)>-1&&H.push(239,191,189),ee=ne;continue}ne=65536+(ee-55296<<10|ne-56320)}else ee&&(De-=3)>-1&&H.push(239,191,189);if(ee=null,ne<128){if((De-=1)<0)break;H.push(ne)}else if(ne<2048){if((De-=2)<0)break;H.push(ne>>6|192,63&ne|128)}else if(ne<65536){if((De-=3)<0)break;H.push(ne>>12|224,ne>>6&63|128,63&ne|128)}else{if(!(ne<1114112))throw new Error("Invalid code point");if((De-=4)<0)break;H.push(ne>>18|240,ne>>12&63|128,ne>>6&63|128,63&ne|128)}}return H}function Ye(Le){return e.toByteArray(function Ge(Le){if((Le=(Le=Le.split("=")[0]).trim().replace(ke,"")).length<2)return"";for(;Le.length%4!=0;)Le+="=";return Le}(Le))}function Ie(Le,De,ne,fe){for(var ee=0;ee=De.length||ee>=Le.length);++ee)De[ee+ne]=Le[ee];return ee}function ge(Le,De){return Le instanceof De||null!=Le&&null!=Le.constructor&&null!=Le.constructor.name&&Le.constructor.name===De.name}function et(Le){return Le!=Le}var ut=function(){for(var Le="0123456789abcdef",De=new Array(256),ne=0;ne<16;++ne)for(var fe=16*ne,ee=0;ee<16;++ee)De[fe+ee]=Le[ne]+Le[ee];return De}()},3735:(Ve,X,m)=>{var e=m(9708).Buffer,t=m(574).Transform,_=m(4547).s;function s(D){t.call(this),this.hashMode="string"==typeof D,this.hashMode?this[D]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}m(5035)(s,t),s.prototype.update=function(D,u,k){"string"==typeof D&&(D=e.from(D,u));var p=this._update(D);return this.hashMode?this:(k&&(p=this._toString(p,k)),p)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(D,u,k){var p;try{this.hashMode?this._update(D):this.push(this._update(D))}catch(S){p=S}finally{k(p)}},s.prototype._flush=function(D){var u;try{this.push(this.__final())}catch(k){u=k}D(u)},s.prototype._finalOrDigest=function(D){var u=this.__final()||e.alloc(0);return D&&(u=this._toString(u,D,!0)),u},s.prototype._toString=function(D,u,k){if(this._decoder||(this._decoder=new _(u),this._encoding=u),this._encoding!==u)throw new Error("can't switch encodings");var p=this._decoder.write(D);return k&&(p+=this._decoder.end()),p},Ve.exports=s},1381:(Ve,X,m)=>{"use strict";const e=m(9046),t=m(8220),_=m(3858);function E(u,k){switch(t(u)){case"object":return function s(u,k){if("function"==typeof k)return k(u);if(k||_(u)){const p=new u.constructor;for(let S in u)p[S]=E(u[S],k);return p}return u}(u,k);case"array":return function D(u,k){const p=new u.constructor(u.length);for(let S=0;SE?_:Array(E-_.length+1).join("0")+_}(E.toString(16),2)}).join("")}(_)},hexToBytes:function(_){if(_.length%2==1)throw new Error("hexToBytes can't have a string with an odd number of characters.");return 0===_.indexOf("0x")&&(_=_.slice(2)),_.match(/../g).map(function(E){return parseInt(E,16)})}};Ve.exports?Ve.exports=m:X.convertHex=m}(this)},4056:function(Ve){!function(X){"use strict";var m={bytesToString:function(e){return e.map(function(t){return String.fromCharCode(t)}).join("")},stringToBytes:function(e){return e.split("").map(function(t){return t.charCodeAt(0)})}};m.UTF8={bytesToString:function(e){return decodeURIComponent(escape(m.bytesToString(e)))},stringToBytes:function(e){return m.stringToBytes(unescape(encodeURIComponent(e)))}},Ve.exports?Ve.exports=m:X.convertString=m}(this)},9821:(Ve,X,m)=>{var e=m(2142),t=m(854);Ve.exports=function(u){return new E(u)};var _={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function E(D){this.curveType=_[D],this.curveType||(this.curveType={name:D}),this.curve=new e.ec(this.curveType.name),this.keys=void 0}function s(D,u,k){Array.isArray(D)||(D=D.toArray());var p=new Buffer(D);if(k&&p.length=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},145:(Ve,X,m)=>{"use strict";var e=m(5035),t=m(2617),_=m(5351),E=m(1001),s=m(3735);function D(u){s.call(this,"digest"),this._hash=u}e(D,s),D.prototype._update=function(u){this._hash.update(u)},D.prototype._final=function(){return this._hash.digest()},Ve.exports=function(k){return"md5"===(k=k.toLowerCase())?new t:"rmd160"===k||"ripemd160"===k?new _:new D(E(k))}},2726:(Ve,X,m)=>{var e=m(2617);Ve.exports=function(t){return(new e).update(t).digest()}},3640:(Ve,X,m)=>{"use strict";var e=m(5035),t=m(7531),_=m(3735),E=m(9708).Buffer,s=m(2726),D=m(5351),u=m(1001),k=E.alloc(128);function p(S,A){_.call(this,"digest"),"string"==typeof A&&(A=E.from(A));var P="sha512"===S||"sha384"===S?128:64;(this._alg=S,this._key=A,A.length>P)?A=("rmd160"===S?new D:u(S)).update(A).digest():A.length{"use strict";var e=m(5035),t=m(9708).Buffer,_=m(3735),E=t.alloc(128),s=64;function D(u,k){_.call(this,"digest"),"string"==typeof k&&(k=t.from(k)),this._alg=u,this._key=k,k.length>s?k=u(k):k.length{"use strict";X.randomBytes=X.rng=X.pseudoRandomBytes=X.prng=m(1186),X.createHash=X.Hash=m(145),X.createHmac=X.Hmac=m(3640);var e=m(8043),t=Object.keys(e),_=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(t);X.getHashes=function(){return _};var E=m(4540);X.pbkdf2=E.pbkdf2,X.pbkdf2Sync=E.pbkdf2Sync;var s=m(4791);X.Cipher=s.Cipher,X.createCipher=s.createCipher,X.Cipheriv=s.Cipheriv,X.createCipheriv=s.createCipheriv,X.Decipher=s.Decipher,X.createDecipher=s.createDecipher,X.Decipheriv=s.Decipheriv,X.createDecipheriv=s.createDecipheriv,X.getCiphers=s.getCiphers,X.listCiphers=s.listCiphers;var D=m(5078);X.DiffieHellmanGroup=D.DiffieHellmanGroup,X.createDiffieHellmanGroup=D.createDiffieHellmanGroup,X.getDiffieHellman=D.getDiffieHellman,X.createDiffieHellman=D.createDiffieHellman,X.DiffieHellman=D.DiffieHellman;var u=m(2124);X.createSign=u.createSign,X.Sign=u.Sign,X.createVerify=u.createVerify,X.Verify=u.Verify,X.createECDH=m(9821);var k=m(1113);X.publicEncrypt=k.publicEncrypt,X.privateEncrypt=k.privateEncrypt,X.publicDecrypt=k.publicDecrypt,X.privateDecrypt=k.privateDecrypt;var p=m(137);X.randomFill=p.randomFill,X.randomFillSync=p.randomFillSync,X.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},X.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},6222:(Ve,X,m)=>{"use strict";X.utils=m(6272),X.Cipher=m(4040),X.DES=m(7066),X.CBC=m(9297),X.EDE=m(4756)},9297:(Ve,X,m)=>{"use strict";var e=m(3999),t=m(5035),_={};function E(D){e.equal(D.length,8,"Invalid IV length"),this.iv=new Array(8);for(var u=0;u{"use strict";var e=m(3999);function t(_){this.options=_,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}Ve.exports=t,t.prototype._init=function(){},t.prototype.update=function(E){return 0===E.length?[]:"decrypt"===this.type?this._updateDecrypt(E):this._updateEncrypt(E)},t.prototype._buffer=function(E,s){for(var D=Math.min(this.buffer.length-this.bufferOff,E.length-s),u=0;u0;u--)s+=this._buffer(E,s),D+=this._flushBuffer(k,D);return s+=this._buffer(E,s),k},t.prototype.final=function(E){var s,D;return E&&(s=this.update(E)),D="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),s?s.concat(D):D},t.prototype._pad=function(E,s){if(0===s)return!1;for(;s{"use strict";var e=m(3999),t=m(5035),_=m(6272),E=m(4040);function s(){this.tmp=new Array(2),this.keys=null}function D(k){E.call(this,k);var p=new s;this._desState=p,this.deriveKeys(p,k.key)}t(D,E),Ve.exports=D,D.create=function(p){return new D(p)};var u=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];D.prototype.deriveKeys=function(p,S){p.keys=new Array(32),e.equal(S.length,this.blockSize,"Invalid key length");var A=_.readUInt32BE(S,0),P=_.readUInt32BE(S,4);_.pc1(A,P,p.tmp,0),A=p.tmp[0],P=p.tmp[1];for(var M=0;M>>1];A=_.r28shl(A,z),P=_.r28shl(P,z),_.pc2(A,P,p.keys,M)}},D.prototype._update=function(p,S,A,P){var M=this._desState,z=_.readUInt32BE(p,S),I=_.readUInt32BE(p,S+4);_.ip(z,I,M.tmp,0),z=M.tmp[0],I=M.tmp[1],"encrypt"===this.type?this._encrypt(M,z,I,M.tmp,0):this._decrypt(M,z,I,M.tmp,0),z=M.tmp[0],I=M.tmp[1],_.writeUInt32BE(A,z,P),_.writeUInt32BE(A,I,P+4)},D.prototype._pad=function(p,S){for(var A=p.length-S,P=S;P>>0,z=pe}_.rip(I,z,P,M)},D.prototype._decrypt=function(p,S,A,P,M){for(var z=A,I=S,W=p.keys.length-2;W>=0;W-=2){var Z=p.keys[W],j=p.keys[W+1];_.expand(z,p.tmp,0),Z^=p.tmp[0],j^=p.tmp[1];var ae=_.substitute(Z,j),pe=z;z=(I^_.permute(ae))>>>0,I=pe}_.rip(z,I,P,M)}},4756:(Ve,X,m)=>{"use strict";var e=m(3999),t=m(5035),_=m(4040),E=m(7066);function s(u,k){e.equal(k.length,24,"Invalid key length");var p=k.slice(0,8),S=k.slice(8,16),A=k.slice(16,24);this.ciphers="encrypt"===u?[E.create({type:"encrypt",key:p}),E.create({type:"decrypt",key:S}),E.create({type:"encrypt",key:A})]:[E.create({type:"decrypt",key:A}),E.create({type:"encrypt",key:S}),E.create({type:"decrypt",key:p})]}function D(u){_.call(this,u);var k=new s(this.type,this.options.key);this._edeState=k}t(D,_),Ve.exports=D,D.create=function(k){return new D(k)},D.prototype._update=function(k,p,S,A){var P=this._edeState;P.ciphers[0]._update(k,p,S,A),P.ciphers[1]._update(S,A,S,A),P.ciphers[2]._update(S,A,S,A)},D.prototype._pad=E.prototype._pad,D.prototype._unpad=E.prototype._unpad},6272:(Ve,X)=>{"use strict";X.readUInt32BE=function(E,s){return(E[0+s]<<24|E[1+s]<<16|E[2+s]<<8|E[3+s])>>>0},X.writeUInt32BE=function(E,s,D){E[0+D]=s>>>24,E[1+D]=s>>>16&255,E[2+D]=s>>>8&255,E[3+D]=255&s},X.ip=function(E,s,D,u){for(var k=0,p=0,S=6;S>=0;S-=2){for(var A=0;A<=24;A+=8)k<<=1,k|=s>>>A+S&1;for(A=0;A<=24;A+=8)k<<=1,k|=E>>>A+S&1}for(S=6;S>=0;S-=2){for(A=1;A<=25;A+=8)p<<=1,p|=s>>>A+S&1;for(A=1;A<=25;A+=8)p<<=1,p|=E>>>A+S&1}D[u+0]=k>>>0,D[u+1]=p>>>0},X.rip=function(E,s,D,u){for(var k=0,p=0,S=0;S<4;S++)for(var A=24;A>=0;A-=8)k<<=1,k|=s>>>A+S&1,k<<=1,k|=E>>>A+S&1;for(S=4;S<8;S++)for(A=24;A>=0;A-=8)p<<=1,p|=s>>>A+S&1,p<<=1,p|=E>>>A+S&1;D[u+0]=k>>>0,D[u+1]=p>>>0},X.pc1=function(E,s,D,u){for(var k=0,p=0,S=7;S>=5;S--){for(var A=0;A<=24;A+=8)k<<=1,k|=s>>A+S&1;for(A=0;A<=24;A+=8)k<<=1,k|=E>>A+S&1}for(A=0;A<=24;A+=8)k<<=1,k|=s>>A+S&1;for(S=1;S<=3;S++){for(A=0;A<=24;A+=8)p<<=1,p|=s>>A+S&1;for(A=0;A<=24;A+=8)p<<=1,p|=E>>A+S&1}for(A=0;A<=24;A+=8)p<<=1,p|=E>>A+S&1;D[u+0]=k>>>0,D[u+1]=p>>>0},X.r28shl=function(E,s){return E<>>28-s};var m=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];X.pc2=function(E,s,D,u){for(var k=0,p=0,S=m.length>>>1,A=0;A>>m[A]&1;for(A=S;A>>m[A]&1;D[u+0]=k>>>0,D[u+1]=p>>>0},X.expand=function(E,s,D){var u=0,k=0;u=(1&E)<<5|E>>>27;for(var p=23;p>=15;p-=4)u<<=6,u|=E>>>p&63;for(p=11;p>=3;p-=4)k|=E>>>p&63,k<<=6;k|=(31&E)<<1|E>>>31,s[D+0]=u>>>0,s[D+1]=k>>>0};var e=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];X.substitute=function(E,s){for(var D=0,u=0;u<4;u++){D<<=4,D|=e[64*u+(E>>>18-6*u&63)]}for(u=0;u<4;u++){D<<=4,D|=e[256+64*u+(s>>>18-6*u&63)]}return D>>>0};var t=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];X.permute=function(E){for(var s=0,D=0;D>>t[D]&1;return s>>>0},X.padSplit=function(E,s,D){for(var u=E.toString(2);u.length{var e=m(2847),t=m(9799),_=m(5648);var s={binary:!0,hex:!0,base64:!0};X.DiffieHellmanGroup=X.createDiffieHellmanGroup=X.getDiffieHellman=function E(u){var k=new Buffer(t[u].prime,"hex"),p=new Buffer(t[u].gen,"hex");return new _(k,p)},X.createDiffieHellman=X.DiffieHellman=function D(u,k,p,S){return Buffer.isBuffer(k)||void 0===s[k]?D(u,"binary",k,p):(k=k||"binary",S=S||"binary",p=p||new Buffer([2]),Buffer.isBuffer(p)||(p=new Buffer(p,S)),"number"==typeof u?new _(e(u,p),p,!0):(Buffer.isBuffer(u)||(u=new Buffer(u,k)),new _(u,p,!0)))}},5648:(Ve,X,m)=>{var e=m(490),_=new(m(7789)),E=new e(24),s=new e(11),D=new e(10),u=new e(3),k=new e(7),p=m(2847),S=m(1186);function A(Z,j){return j=j||"utf8",Buffer.isBuffer(Z)||(Z=new Buffer(Z,j)),this._pub=new e(Z),this}function P(Z,j){return j=j||"utf8",Buffer.isBuffer(Z)||(Z=new Buffer(Z,j)),this._priv=new e(Z),this}Ve.exports=I;var M={};function I(Z,j,ae){this.setGenerator(j),this.__prime=new e(Z),this._prime=e.mont(this.__prime),this._primeLen=Z.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,ae?(this.setPublicKey=A,this.setPrivateKey=P):this._primeCode=8}function W(Z,j){var ae=new Buffer(Z.toArray());return j?ae.toString(j):ae}Object.defineProperty(I.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function z(Z,j){var ae=j.toString("hex"),re=[ae,Z.toString(16)].join("_");if(re in M)return M[re];var le,pe=0;if(Z.isEven()||!p.simpleSieve||!p.fermatTest(Z)||!_.test(Z))return pe+=1,pe+="02"===ae||"05"===ae?8:4,M[re]=pe,pe;switch(_.test(Z.shrn(1))||(pe+=2),ae){case"02":Z.mod(E).cmp(s)&&(pe+=8);break;case"05":(le=Z.mod(D)).cmp(u)&&le.cmp(k)&&(pe+=8);break;default:pe+=4}return M[re]=pe,pe}(this.__prime,this.__gen)),this._primeCode}}),I.prototype.generateKeys=function(){return this._priv||(this._priv=new e(S(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},I.prototype.computeSecret=function(Z){var j=(Z=(Z=new e(Z)).toRed(this._prime)).redPow(this._priv).fromRed(),ae=new Buffer(j.toArray()),re=this.getPrime();if(ae.length{var e=m(1186);Ve.exports=pe,pe.simpleSieve=ae,pe.fermatTest=re;var t=m(490),_=new t(24),s=new(m(7789)),D=new t(1),u=new t(2),k=new t(5),A=(new t(16),new t(8),new t(10)),P=new t(3),z=(new t(7),new t(11)),I=new t(4),Z=(new t(12),null);function ae(le){for(var ve=function j(){if(null!==Z)return Z;var ve=[];ve[0]=2;for(var de=1,$=3;$<1048576;$+=2){for(var ue=Math.ceil(Math.sqrt($)),w=0;wle;)de.ishrn(1);if(de.isEven()&&de.iadd(D),de.testn(1)||de.iadd(u),ve.cmp(u)){if(!ve.cmp(k))for(;de.mod(A).cmp(P);)de.iadd(I)}else for(;de.mod(_).cmp(z);)de.iadd(I);if(ae($=de.shrn(1))&&ae(de)&&re($)&&re(de)&&s.test($)&&s.test(de))return de}}},490:function(Ve,X,m){(function(e,t){"use strict";function _(w,n){if(!w)throw new Error(n||"Assertion failed")}function E(w,n){w.super_=n;var o=function(){};o.prototype=n.prototype,w.prototype=new o,w.prototype.constructor=w}function s(w,n,o){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,null!==w&&(("le"===n||"be"===n)&&(o=n,n=10),this._init(w||0,n||10,o||"be"))}var D;"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;try{D=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:m(7748).Buffer}catch{}function u(w,n){var o=w.charCodeAt(n);return o>=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},6348:Ve=>{"use strict";var X={single_source_shortest_paths:function(m,e,t){var _={},E={};E[e]=0;var D,u,k,p,S,P,M,s=X.PriorityQueue.make();for(s.push(e,0);!s.empty();)for(k in u=(D=s.pop()).value,p=D.cost,S=m[u]||{})S.hasOwnProperty(k)&&(P=p+S[k],M=E[k],(typeof E[k]>"u"||M>P)&&(E[k]=P,s.push(k,P),_[k]=u));if(typeof t<"u"&&typeof E[t]>"u"){var I=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(I)}return _},extract_shortest_path_from_predecessor_list:function(m,e){for(var t=[],_=e;_;)t.push(_),m[_],_=m[_];return t.reverse(),t},find_path:function(m,e,t){var _=X.single_source_shortest_paths(m,e,t);return X.extract_shortest_path_from_predecessor_list(_,t)},PriorityQueue:{make:function(m){var _,e=X.PriorityQueue,t={};for(_ in m=m||{},e)e.hasOwnProperty(_)&&(t[_]=e[_]);return t.queue=[],t.sorter=m.sorter||e.default_sorter,t},default_sorter:function(m,e){return m.cost-e.cost},push:function(m,e){var t={value:m,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};Ve.exports=X},2142:(Ve,X,m)=>{"use strict";var e=X;e.version=m(8597).i8,e.utils=m(8865),e.rand=m(340),e.curve=m(9503),e.curves=m(7458),e.ec=m(1336),e.eddsa=m(4380)},725:(Ve,X,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.getNAF,E=t.getJSF,s=t.assert;function D(k,p){this.type=k,this.p=new e(p.p,16),this.red=p.prime?e.red(p.prime):e.mont(this.p),this.zero=new e(0).toRed(this.red),this.one=new e(1).toRed(this.red),this.two=new e(2).toRed(this.red),this.n=p.n&&new e(p.n,16),this.g=p.g&&this.pointFromJSON(p.g,p.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var S=this.n&&this.p.div(this.n);!S||S.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function u(k,p){this.curve=k,this.type=p,this.precomputed=null}Ve.exports=D,D.prototype.point=function(){throw new Error("Not implemented")},D.prototype.validate=function(){throw new Error("Not implemented")},D.prototype._fixedNafMul=function(p,S){s(p.precomputed);var A=p._getDoubles(),P=_(S,1,this._bitLength),M=(1<=I;Z--)W=(W<<1)+P[Z];z.push(W)}for(var j=this.jpoint(null,null,null),ae=this.jpoint(null,null,null),re=M;re>0;re--){for(I=0;I=0;W--){for(var Z=0;W>=0&&0===z[W];W--)Z++;if(W>=0&&Z++,I=I.dblp(Z),W<0)break;var j=z[W];s(0!==j),I="affine"===p.type?j>0?I.mixedAdd(M[j-1>>1]):I.mixedAdd(M[-j-1>>1].neg()):j>0?I.add(M[j-1>>1]):I.add(M[-j-1>>1].neg())}return"affine"===p.type?I.toP():I},D.prototype._wnafMulAdd=function(p,S,A,P,M){var j,ae,re,z=this._wnafT1,I=this._wnafT2,W=this._wnafT3,Z=0;for(j=0;j=1;j-=2){var le=j-1,ve=j;if(1===z[le]&&1===z[ve]){var de=[S[le],null,null,S[ve]];0===S[le].y.cmp(S[ve].y)?(de[1]=S[le].add(S[ve]),de[2]=S[le].toJ().mixedAdd(S[ve].neg())):0===S[le].y.cmp(S[ve].y.redNeg())?(de[1]=S[le].toJ().mixedAdd(S[ve]),de[2]=S[le].add(S[ve].neg())):(de[1]=S[le].toJ().mixedAdd(S[ve]),de[2]=S[le].toJ().mixedAdd(S[ve].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],ue=E(A[le],A[ve]);for(Z=Math.max(ue[0].length,Z),W[le]=new Array(Z),W[ve]=new Array(Z),ae=0;ae=0;j--){for(var d=0;j>=0;){var y=!0;for(ae=0;ae=0&&d++,o=o.dblp(d),j<0)break;for(ae=0;ae0?re=I[ae][L-1>>1]:L<0&&(re=I[ae][-L-1>>1].neg()),o="affine"===re.type?o.mixedAdd(re):o.add(re))}}for(j=0;j=Math.ceil((p.bitLength()+1)/S.step)},u.prototype._getDoubles=function(p,S){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var A=[this],P=this,M=0;M{"use strict";var e=m(8865),t=m(2451),_=m(5035),E=m(725),s=e.assert;function D(k){this.twisted=1!=(0|k.a),this.mOneA=this.twisted&&-1==(0|k.a),this.extended=this.mOneA,E.call(this,"edwards",k),this.a=new t(k.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new t(k.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new t(k.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|k.c)}function u(k,p,S,A,P){E.BasePoint.call(this,k,"projective"),null===p&&null===S&&null===A?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new t(p,16),this.y=new t(S,16),this.z=A?new t(A,16):this.curve.one,this.t=P&&new t(P,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}_(D,E),Ve.exports=D,D.prototype._mulA=function(p){return this.mOneA?p.redNeg():this.a.redMul(p)},D.prototype._mulC=function(p){return this.oneC?p:this.c.redMul(p)},D.prototype.jpoint=function(p,S,A,P){return this.point(p,S,A,P)},D.prototype.pointFromX=function(p,S){(p=new t(p,16)).red||(p=p.toRed(this.red));var A=p.redSqr(),P=this.c2.redSub(this.a.redMul(A)),M=this.one.redSub(this.c2.redMul(this.d).redMul(A)),z=P.redMul(M.redInvm()),I=z.redSqrt();if(0!==I.redSqr().redSub(z).cmp(this.zero))throw new Error("invalid point");var W=I.fromRed().isOdd();return(S&&!W||!S&&W)&&(I=I.redNeg()),this.point(p,I)},D.prototype.pointFromY=function(p,S){(p=new t(p,16)).red||(p=p.toRed(this.red));var A=p.redSqr(),P=A.redSub(this.c2),M=A.redMul(this.d).redMul(this.c2).redSub(this.a),z=P.redMul(M.redInvm());if(0===z.cmp(this.zero)){if(S)throw new Error("invalid point");return this.point(this.zero,p)}var I=z.redSqrt();if(0!==I.redSqr().redSub(z).cmp(this.zero))throw new Error("invalid point");return I.fromRed().isOdd()!==S&&(I=I.redNeg()),this.point(I,p)},D.prototype.validate=function(p){if(p.isInfinity())return!0;p.normalize();var S=p.x.redSqr(),A=p.y.redSqr(),P=S.redMul(this.a).redAdd(A),M=this.c2.redMul(this.one.redAdd(this.d.redMul(S).redMul(A)));return 0===P.cmp(M)},_(u,E.BasePoint),D.prototype.pointFromJSON=function(p){return u.fromJSON(this,p)},D.prototype.point=function(p,S,A,P){return new u(this,p,S,A,P)},u.fromJSON=function(p,S){return new u(p,S[0],S[1],S[2])},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var p=this.x.redSqr(),S=this.y.redSqr(),A=this.z.redSqr();A=A.redIAdd(A);var P=this.curve._mulA(p),M=this.x.redAdd(this.y).redSqr().redISub(p).redISub(S),z=P.redAdd(S),I=z.redSub(A),W=P.redSub(S),Z=M.redMul(I),j=z.redMul(W),ae=M.redMul(W),re=I.redMul(z);return this.curve.point(Z,j,re,ae)},u.prototype._projDbl=function(){var P,M,z,I,W,Z,p=this.x.redAdd(this.y).redSqr(),S=this.x.redSqr(),A=this.y.redSqr();if(this.curve.twisted){var j=(I=this.curve._mulA(S)).redAdd(A);this.zOne?(P=p.redSub(S).redSub(A).redMul(j.redSub(this.curve.two)),M=j.redMul(I.redSub(A)),z=j.redSqr().redSub(j).redSub(j)):(W=this.z.redSqr(),Z=j.redSub(W).redISub(W),P=p.redSub(S).redISub(A).redMul(Z),M=j.redMul(I.redSub(A)),z=j.redMul(Z))}else I=S.redAdd(A),W=this.curve._mulC(this.z).redSqr(),Z=I.redSub(W).redSub(W),P=this.curve._mulC(p.redISub(I)).redMul(Z),M=this.curve._mulC(I).redMul(S.redISub(A)),z=I.redMul(Z);return this.curve.point(P,M,z)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(p){var S=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),A=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),P=this.t.redMul(this.curve.dd).redMul(p.t),M=this.z.redMul(p.z.redAdd(p.z)),z=A.redSub(S),I=M.redSub(P),W=M.redAdd(P),Z=A.redAdd(S),j=z.redMul(I),ae=W.redMul(Z),re=z.redMul(Z),pe=I.redMul(W);return this.curve.point(j,ae,pe,re)},u.prototype._projAdd=function(p){var ae,re,S=this.z.redMul(p.z),A=S.redSqr(),P=this.x.redMul(p.x),M=this.y.redMul(p.y),z=this.curve.d.redMul(P).redMul(M),I=A.redSub(z),W=A.redAdd(z),Z=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(P).redISub(M),j=S.redMul(I).redMul(Z);return this.curve.twisted?(ae=S.redMul(W).redMul(M.redSub(this.curve._mulA(P))),re=I.redMul(W)):(ae=S.redMul(W).redMul(M.redSub(P)),re=this.curve._mulC(I).redMul(W)),this.curve.point(j,ae,re)},u.prototype.add=function(p){return this.isInfinity()?p:p.isInfinity()?this:this.curve.extended?this._extAdd(p):this._projAdd(p)},u.prototype.mul=function(p){return this._hasDoubles(p)?this.curve._fixedNafMul(this,p):this.curve._wnafMul(this,p)},u.prototype.mulAdd=function(p,S,A){return this.curve._wnafMulAdd(1,[this,S],[p,A],2,!1)},u.prototype.jmulAdd=function(p,S,A){return this.curve._wnafMulAdd(1,[this,S],[p,A],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var p=this.z.redInvm();return this.x=this.x.redMul(p),this.y=this.y.redMul(p),this.t&&(this.t=this.t.redMul(p)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(p){return this===p||0===this.getX().cmp(p.getX())&&0===this.getY().cmp(p.getY())},u.prototype.eqXToP=function(p){var S=p.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(S))return!0;for(var A=p.clone(),P=this.curve.redN.redMul(this.z);;){if(A.iadd(this.curve.n),A.cmp(this.curve.p)>=0)return!1;if(S.redIAdd(P),0===this.x.cmp(S))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add},9503:(Ve,X,m)=>{"use strict";var e=X;e.base=m(725),e.short=m(4037),e.mont=m(9987),e.edwards=m(3555)},9987:(Ve,X,m)=>{"use strict";var e=m(2451),t=m(5035),_=m(725),E=m(8865);function s(u){_.call(this,"mont",u),this.a=new e(u.a,16).toRed(this.red),this.b=new e(u.b,16).toRed(this.red),this.i4=new e(4).toRed(this.red).redInvm(),this.two=new e(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function D(u,k,p){_.BasePoint.call(this,u,"projective"),null===k&&null===p?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new e(k,16),this.z=new e(p,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}t(s,_),Ve.exports=s,s.prototype.validate=function(k){var p=k.normalize().x,S=p.redSqr(),A=S.redMul(p).redAdd(S.redMul(this.a)).redAdd(p);return 0===A.redSqrt().redSqr().cmp(A)},t(D,_.BasePoint),s.prototype.decodePoint=function(k,p){return this.point(E.toArray(k,p),1)},s.prototype.point=function(k,p){return new D(this,k,p)},s.prototype.pointFromJSON=function(k){return D.fromJSON(this,k)},D.prototype.precompute=function(){},D.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},D.fromJSON=function(k,p){return new D(k,p[0],p[1]||k.one)},D.prototype.inspect=function(){return this.isInfinity()?"":""},D.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},D.prototype.dbl=function(){var p=this.x.redAdd(this.z).redSqr(),A=this.x.redSub(this.z).redSqr(),P=p.redSub(A),M=p.redMul(A),z=P.redMul(A.redAdd(this.curve.a24.redMul(P)));return this.curve.point(M,z)},D.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.diffAdd=function(k,p){var S=this.x.redAdd(this.z),A=this.x.redSub(this.z),P=k.x.redAdd(k.z),z=k.x.redSub(k.z).redMul(S),I=P.redMul(A),W=p.z.redMul(z.redAdd(I).redSqr()),Z=p.x.redMul(z.redISub(I).redSqr());return this.curve.point(W,Z)},D.prototype.mul=function(k){for(var p=k.clone(),S=this,A=this.curve.point(null,null),M=[];0!==p.cmpn(0);p.iushrn(1))M.push(p.andln(1));for(var z=M.length-1;z>=0;z--)0===M[z]?(S=S.diffAdd(A,this),A=A.dbl()):(A=S.diffAdd(A,this),S=S.dbl());return A},D.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},D.prototype.eq=function(k){return 0===this.getX().cmp(k.getX())},D.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},D.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},4037:(Ve,X,m)=>{"use strict";var e=m(8865),t=m(2451),_=m(5035),E=m(725),s=e.assert;function D(p){E.call(this,"short",p),this.a=new t(p.a,16).toRed(this.red),this.b=new t(p.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(p),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(p,S,A,P){E.BasePoint.call(this,p,"affine"),null===S&&null===A?(this.x=null,this.y=null,this.inf=!0):(this.x=new t(S,16),this.y=new t(A,16),P&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function k(p,S,A,P){E.BasePoint.call(this,p,"jacobian"),null===S&&null===A&&null===P?(this.x=this.curve.one,this.y=this.curve.one,this.z=new t(0)):(this.x=new t(S,16),this.y=new t(A,16),this.z=new t(P,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}_(D,E),Ve.exports=D,D.prototype._getEndomorphism=function(S){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var A,P;if(S.beta)A=new t(S.beta,16).toRed(this.red);else{var M=this._getEndoRoots(this.p);A=(A=M[0].cmp(M[1])<0?M[0]:M[1]).toRed(this.red)}if(S.lambda)P=new t(S.lambda,16);else{var z=this._getEndoRoots(this.n);0===this.g.mul(z[0]).x.cmp(this.g.x.redMul(A))?P=z[0]:(P=z[1],s(0===this.g.mul(P).x.cmp(this.g.x.redMul(A))))}return{beta:A,lambda:P,basis:S.basis?S.basis.map(function(W){return{a:new t(W.a,16),b:new t(W.b,16)}}):this._getEndoBasis(P)}}},D.prototype._getEndoRoots=function(S){var A=S===this.p?this.red:t.mont(S),P=new t(2).toRed(A).redInvm(),M=P.redNeg(),z=new t(3).toRed(A).redNeg().redSqrt().redMul(P);return[M.redAdd(z).fromRed(),M.redSub(z).fromRed()]},D.prototype._getEndoBasis=function(S){for(var j,ae,re,pe,le,ve,de,ue,w,A=this.n.ushrn(Math.floor(this.n.bitLength()/2)),P=S,M=this.n.clone(),z=new t(1),I=new t(0),W=new t(0),Z=new t(1),$=0;0!==P.cmpn(0);){var n=M.div(P);ue=M.sub(n.mul(P)),w=W.sub(n.mul(z));var o=Z.sub(n.mul(I));if(!re&&ue.cmp(A)<0)j=de.neg(),ae=z,re=ue.neg(),pe=w;else if(re&&2==++$)break;de=ue,M=P,P=ue,W=z,z=w,Z=I,I=o}le=ue.neg(),ve=w;var h=re.sqr().add(pe.sqr());return le.sqr().add(ve.sqr()).cmp(h)>=0&&(le=j,ve=ae),re.negative&&(re=re.neg(),pe=pe.neg()),le.negative&&(le=le.neg(),ve=ve.neg()),[{a:re,b:pe},{a:le,b:ve}]},D.prototype._endoSplit=function(S){var A=this.endo.basis,P=A[0],M=A[1],z=M.b.mul(S).divRound(this.n),I=P.b.neg().mul(S).divRound(this.n),W=z.mul(P.a),Z=I.mul(M.a),j=z.mul(P.b),ae=I.mul(M.b);return{k1:S.sub(W).sub(Z),k2:j.add(ae).neg()}},D.prototype.pointFromX=function(S,A){(S=new t(S,16)).red||(S=S.toRed(this.red));var P=S.redSqr().redMul(S).redIAdd(S.redMul(this.a)).redIAdd(this.b),M=P.redSqrt();if(0!==M.redSqr().redSub(P).cmp(this.zero))throw new Error("invalid point");var z=M.fromRed().isOdd();return(A&&!z||!A&&z)&&(M=M.redNeg()),this.point(S,M)},D.prototype.validate=function(S){if(S.inf)return!0;var A=S.x,P=S.y,M=this.a.redMul(A),z=A.redSqr().redMul(A).redIAdd(M).redIAdd(this.b);return 0===P.redSqr().redISub(z).cmpn(0)},D.prototype._endoWnafMulAdd=function(S,A,P){for(var M=this._endoWnafT1,z=this._endoWnafT2,I=0;I":""},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(S){if(this.inf)return S;if(S.inf)return this;if(this.eq(S))return this.dbl();if(this.neg().eq(S))return this.curve.point(null,null);if(0===this.x.cmp(S.x))return this.curve.point(null,null);var A=this.y.redSub(S.y);0!==A.cmpn(0)&&(A=A.redMul(this.x.redSub(S.x).redInvm()));var P=A.redSqr().redISub(this.x).redISub(S.x),M=A.redMul(this.x.redSub(P)).redISub(this.y);return this.curve.point(P,M)},u.prototype.dbl=function(){if(this.inf)return this;var S=this.y.redAdd(this.y);if(0===S.cmpn(0))return this.curve.point(null,null);var A=this.curve.a,P=this.x.redSqr(),M=S.redInvm(),z=P.redAdd(P).redIAdd(P).redIAdd(A).redMul(M),I=z.redSqr().redISub(this.x.redAdd(this.x)),W=z.redMul(this.x.redSub(I)).redISub(this.y);return this.curve.point(I,W)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(S){return S=new t(S,16),this.isInfinity()?this:this._hasDoubles(S)?this.curve._fixedNafMul(this,S):this.curve.endo?this.curve._endoWnafMulAdd([this],[S]):this.curve._wnafMul(this,S)},u.prototype.mulAdd=function(S,A,P){var M=[this,A],z=[S,P];return this.curve.endo?this.curve._endoWnafMulAdd(M,z):this.curve._wnafMulAdd(1,M,z,2)},u.prototype.jmulAdd=function(S,A,P){var M=[this,A],z=[S,P];return this.curve.endo?this.curve._endoWnafMulAdd(M,z,!0):this.curve._wnafMulAdd(1,M,z,2,!0)},u.prototype.eq=function(S){return this===S||this.inf===S.inf&&(this.inf||0===this.x.cmp(S.x)&&0===this.y.cmp(S.y))},u.prototype.neg=function(S){if(this.inf)return this;var A=this.curve.point(this.x,this.y.redNeg());if(S&&this.precomputed){var P=this.precomputed,M=function(z){return z.neg()};A.precomputed={naf:P.naf&&{wnd:P.naf.wnd,points:P.naf.points.map(M)},doubles:P.doubles&&{step:P.doubles.step,points:P.doubles.points.map(M)}}}return A},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},_(k,E.BasePoint),D.prototype.jpoint=function(S,A,P){return new k(this,S,A,P)},k.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var S=this.z.redInvm(),A=S.redSqr(),P=this.x.redMul(A),M=this.y.redMul(A).redMul(S);return this.curve.point(P,M)},k.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},k.prototype.add=function(S){if(this.isInfinity())return S;if(S.isInfinity())return this;var A=S.z.redSqr(),P=this.z.redSqr(),M=this.x.redMul(A),z=S.x.redMul(P),I=this.y.redMul(A.redMul(S.z)),W=S.y.redMul(P.redMul(this.z)),Z=M.redSub(z),j=I.redSub(W);if(0===Z.cmpn(0))return 0!==j.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var ae=Z.redSqr(),re=ae.redMul(Z),pe=M.redMul(ae),le=j.redSqr().redIAdd(re).redISub(pe).redISub(pe),ve=j.redMul(pe.redISub(le)).redISub(I.redMul(re)),de=this.z.redMul(S.z).redMul(Z);return this.curve.jpoint(le,ve,de)},k.prototype.mixedAdd=function(S){if(this.isInfinity())return S.toJ();if(S.isInfinity())return this;var A=this.z.redSqr(),P=this.x,M=S.x.redMul(A),z=this.y,I=S.y.redMul(A).redMul(this.z),W=P.redSub(M),Z=z.redSub(I);if(0===W.cmpn(0))return 0!==Z.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var j=W.redSqr(),ae=j.redMul(W),re=P.redMul(j),pe=Z.redSqr().redIAdd(ae).redISub(re).redISub(re),le=Z.redMul(re.redISub(pe)).redISub(z.redMul(ae)),ve=this.z.redMul(W);return this.curve.jpoint(pe,le,ve)},k.prototype.dblp=function(S){if(0===S)return this;if(this.isInfinity())return this;if(!S)return this.dbl();var A;if(this.curve.zeroA||this.curve.threeA){var P=this;for(A=0;A=0)return!1;if(P.redIAdd(z),0===this.x.cmp(P))return!0}},k.prototype.inspect=function(){return this.isInfinity()?"":""},k.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},7458:(Ve,X,m)=>{"use strict";var k,e=X,t=m(9281),_=m(9503),s=m(8865).assert;function D(p){"short"===p.type?this.curve=new _.short(p):"edwards"===p.type?this.curve=new _.edwards(p):this.curve=new _.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u(p,S){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var A=new D(S);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:A}),A}})}e.PresetCurve=D,u("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),u("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),u("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{k=m(692)}catch{k=void 0}u("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",k]})},1336:(Ve,X,m)=>{"use strict";var e=m(2451),t=m(3925),_=m(8865),E=m(7458),s=m(340),D=_.assert,u=m(50),k=m(3545);function p(S){if(!(this instanceof p))return new p(S);"string"==typeof S&&(D(Object.prototype.hasOwnProperty.call(E,S),"Unknown curve "+S),S=E[S]),S instanceof E.PresetCurve&&(S={curve:S}),this.curve=S.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=S.curve.g,this.g.precompute(S.curve.n.bitLength()+1),this.hash=S.hash||S.curve.hash}Ve.exports=p,p.prototype.keyPair=function(A){return new u(this,A)},p.prototype.keyFromPrivate=function(A,P){return u.fromPrivate(this,A,P)},p.prototype.keyFromPublic=function(A,P){return u.fromPublic(this,A,P)},p.prototype.genKeyPair=function(A){A||(A={});for(var P=new t({hash:this.hash,pers:A.pers,persEnc:A.persEnc||"utf8",entropy:A.entropy||s(this.hash.hmacStrength),entropyEnc:A.entropy&&A.entropyEnc||"utf8",nonce:this.n.toArray()}),M=this.n.byteLength(),z=this.n.sub(new e(2));;){var I=new e(P.generate(M));if(!(I.cmp(z)>0))return I.iaddn(1),this.keyFromPrivate(I)}},p.prototype._truncateToN=function(A,P){var M=8*A.byteLength()-this.n.bitLength();return M>0&&(A=A.ushrn(M)),!P&&A.cmp(this.n)>=0?A.sub(this.n):A},p.prototype.sign=function(A,P,M,z){"object"==typeof M&&(z=M,M=null),z||(z={}),P=this.keyFromPrivate(P,M),A=this._truncateToN(new e(A,16));for(var I=this.n.byteLength(),W=P.getPrivate().toArray("be",I),Z=A.toArray("be",I),j=new t({hash:this.hash,entropy:W,nonce:Z,pers:z.pers,persEnc:z.persEnc||"utf8"}),ae=this.n.sub(new e(1)),re=0;;re++){var pe=z.k?z.k(re):new e(j.generate(this.n.byteLength()));if(!((pe=this._truncateToN(pe,!0)).cmpn(1)<=0||pe.cmp(ae)>=0)){var le=this.g.mul(pe);if(!le.isInfinity()){var ve=le.getX(),de=ve.umod(this.n);if(0!==de.cmpn(0)){var $=pe.invm(this.n).mul(de.mul(P.getPrivate()).iadd(A));if(0!==($=$.umod(this.n)).cmpn(0)){var ue=(le.getY().isOdd()?1:0)|(0!==ve.cmp(de)?2:0);return z.canonical&&$.cmp(this.nh)>0&&($=this.n.sub($),ue^=1),new k({r:de,s:$,recoveryParam:ue})}}}}}},p.prototype.verify=function(A,P,M,z){A=this._truncateToN(new e(A,16)),M=this.keyFromPublic(M,z);var I=(P=new k(P,"hex")).r,W=P.s;if(I.cmpn(1)<0||I.cmp(this.n)>=0||W.cmpn(1)<0||W.cmp(this.n)>=0)return!1;var re,Z=W.invm(this.n),j=Z.mul(A).umod(this.n),ae=Z.mul(I).umod(this.n);return this.curve._maxwellTrick?!(re=this.g.jmulAdd(j,M.getPublic(),ae)).isInfinity()&&re.eqXToP(I):!(re=this.g.mulAdd(j,M.getPublic(),ae)).isInfinity()&&0===re.getX().umod(this.n).cmp(I)},p.prototype.recoverPubKey=function(S,A,P,M){D((3&P)===P,"The recovery param is more than two bits"),A=new k(A,M);var z=this.n,I=new e(S),W=A.r,Z=A.s,j=1&P,ae=P>>1;if(W.cmp(this.curve.p.umod(this.curve.n))>=0&&ae)throw new Error("Unable to find sencond key candinate");W=ae?this.curve.pointFromX(W.add(this.curve.n),j):this.curve.pointFromX(W,j);var re=A.r.invm(z),pe=z.sub(I).mul(re).umod(z),le=Z.mul(re).umod(z);return this.g.mulAdd(pe,W,le)},p.prototype.getKeyRecoveryParam=function(S,A,P,M){if(null!==(A=new k(A,M)).recoveryParam)return A.recoveryParam;for(var z=0;z<4;z++){var I;try{I=this.recoverPubKey(S,A,z)}catch{continue}if(I.eq(P))return z}throw new Error("Unable to find valid recovery factor")}},50:(Ve,X,m)=>{"use strict";var e=m(2451),_=m(8865).assert;function E(s,D){this.ec=s,this.priv=null,this.pub=null,D.priv&&this._importPrivate(D.priv,D.privEnc),D.pub&&this._importPublic(D.pub,D.pubEnc)}Ve.exports=E,E.fromPublic=function(D,u,k){return u instanceof E?u:new E(D,{pub:u,pubEnc:k})},E.fromPrivate=function(D,u,k){return u instanceof E?u:new E(D,{priv:u,privEnc:k})},E.prototype.validate=function(){var D=this.getPublic();return D.isInfinity()?{result:!1,reason:"Invalid public key"}:D.validate()?D.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},E.prototype.getPublic=function(D,u){return"string"==typeof D&&(u=D,D=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),u?this.pub.encode(u,D):this.pub},E.prototype.getPrivate=function(D){return"hex"===D?this.priv.toString(16,2):this.priv},E.prototype._importPrivate=function(D,u){this.priv=new e(D,u||16),this.priv=this.priv.umod(this.ec.curve.n)},E.prototype._importPublic=function(D,u){if(D.x||D.y)return"mont"===this.ec.curve.type?_(D.x,"Need x coordinate"):("short"===this.ec.curve.type||"edwards"===this.ec.curve.type)&&_(D.x&&D.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(D.x,D.y));this.pub=this.ec.curve.decodePoint(D,u)},E.prototype.derive=function(D){return D.validate()||_(D.validate(),"public point not validated"),D.mul(this.priv).getX()},E.prototype.sign=function(D,u,k){return this.ec.sign(D,this,u,k)},E.prototype.verify=function(D,u){return this.ec.verify(D,u,this)},E.prototype.inspect=function(){return""}},3545:(Ve,X,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.assert;function E(p,S){if(p instanceof E)return p;this._importDER(p,S)||(_(p.r&&p.s,"Signature without r or s"),this.r=new e(p.r,16),this.s=new e(p.s,16),void 0===p.recoveryParam?this.recoveryParam=null:this.recoveryParam=p.recoveryParam)}function s(){this.place=0}function D(p,S){var A=p[S.place++];if(!(128&A))return A;var P=15&A;if(0===P||P>4)return!1;for(var M=0,z=0,I=S.place;z>>=0;return!(M<=127)&&(S.place=I,M)}function u(p){for(var S=0,A=p.length-1;!p[S]&&!(128&p[S+1])&&S>>3);for(p.push(128|A);--A;)p.push(S>>>(A<<3)&255);p.push(S)}}Ve.exports=E,E.prototype._importDER=function(S,A){S=t.toArray(S,A);var P=new s;if(48!==S[P.place++])return!1;var M=D(S,P);if(!1===M||M+P.place!==S.length||2!==S[P.place++])return!1;var z=D(S,P);if(!1===z)return!1;var I=S.slice(P.place,z+P.place);if(P.place+=z,2!==S[P.place++])return!1;var W=D(S,P);if(!1===W||S.length!==W+P.place)return!1;var Z=S.slice(P.place,W+P.place);if(0===I[0]){if(!(128&I[1]))return!1;I=I.slice(1)}if(0===Z[0]){if(!(128&Z[1]))return!1;Z=Z.slice(1)}return this.r=new e(I),this.s=new e(Z),this.recoveryParam=null,!0},E.prototype.toDER=function(S){var A=this.r.toArray(),P=this.s.toArray();for(128&A[0]&&(A=[0].concat(A)),128&P[0]&&(P=[0].concat(P)),A=u(A),P=u(P);!(P[0]||128&P[1]);)P=P.slice(1);var M=[2];k(M,A.length),(M=M.concat(A)).push(2),k(M,P.length);var z=M.concat(P),I=[48];return k(I,z.length),I=I.concat(z),t.encode(I,S)}},4380:(Ve,X,m)=>{"use strict";var e=m(9281),t=m(7458),_=m(8865),E=_.assert,s=_.parseBytes,D=m(6031),u=m(3134);function k(p){if(E("ed25519"===p,"only tested with ed25519 so far"),!(this instanceof k))return new k(p);p=t[p].curve,this.curve=p,this.g=p.g,this.g.precompute(p.n.bitLength()+1),this.pointClass=p.point().constructor,this.encodingLength=Math.ceil(p.n.bitLength()/8),this.hash=e.sha512}Ve.exports=k,k.prototype.sign=function(S,A){S=s(S);var P=this.keyFromSecret(A),M=this.hashInt(P.messagePrefix(),S),z=this.g.mul(M),I=this.encodePoint(z),W=this.hashInt(I,P.pubBytes(),S).mul(P.priv()),Z=M.add(W).umod(this.curve.n);return this.makeSignature({R:z,S:Z,Rencoded:I})},k.prototype.verify=function(S,A,P){S=s(S),A=this.makeSignature(A);var M=this.keyFromPublic(P),z=this.hashInt(A.Rencoded(),M.pubBytes(),S),I=this.g.mul(A.S());return A.R().add(M.pub().mul(z)).eq(I)},k.prototype.hashInt=function(){for(var S=this.hash(),A=0;A{"use strict";var e=m(8865),t=e.assert,_=e.parseBytes,E=e.cachedProperty;function s(D,u){this.eddsa=D,this._secret=_(u.secret),D.isPoint(u.pub)?this._pub=u.pub:this._pubBytes=_(u.pub)}s.fromPublic=function(u,k){return k instanceof s?k:new s(u,{pub:k})},s.fromSecret=function(u,k){return k instanceof s?k:new s(u,{secret:k})},s.prototype.secret=function(){return this._secret},E(s,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),E(s,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),E(s,"privBytes",function(){var u=this.eddsa,k=this.hash(),p=u.encodingLength-1,S=k.slice(0,u.encodingLength);return S[0]&=248,S[p]&=127,S[p]|=64,S}),E(s,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),E(s,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),E(s,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),s.prototype.sign=function(u){return t(this._secret,"KeyPair can only verify"),this.eddsa.sign(u,this)},s.prototype.verify=function(u,k){return this.eddsa.verify(u,k,this)},s.prototype.getSecret=function(u){return t(this._secret,"KeyPair is public only"),e.encode(this.secret(),u)},s.prototype.getPublic=function(u){return e.encode(this.pubBytes(),u)},Ve.exports=s},3134:(Ve,X,m)=>{"use strict";var e=m(2451),t=m(8865),_=t.assert,E=t.cachedProperty,s=t.parseBytes;function D(u,k){this.eddsa=u,"object"!=typeof k&&(k=s(k)),Array.isArray(k)&&(k={R:k.slice(0,u.encodingLength),S:k.slice(u.encodingLength)}),_(k.R&&k.S,"Signature without R or S"),u.isPoint(k.R)&&(this._R=k.R),k.S instanceof e&&(this._S=k.S),this._Rencoded=Array.isArray(k.R)?k.R:k.Rencoded,this._Sencoded=Array.isArray(k.S)?k.S:k.Sencoded}E(D,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),E(D,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),E(D,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),E(D,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),D.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},D.prototype.toHex=function(){return t.encode(this.toBytes(),"hex").toUpperCase()},Ve.exports=D},692:Ve=>{Ve.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},8865:(Ve,X,m)=>{"use strict";var e=X,t=m(2451),_=m(3999),E=m(4985);e.assert=_,e.toArray=E.toArray,e.zero2=E.zero2,e.toHex=E.toHex,e.encode=E.encode,e.getNAF=function s(S,A,P){var M=new Array(Math.max(S.bitLength(),P)+1);M.fill(0);for(var z=1<(z>>1)-1?(z>>1)-j:j,I.isubn(Z)):Z=0,M[W]=Z,I.iushrn(1)}return M},e.getJSF=function D(S,A){var P=[[],[]];S=S.clone(),A=A.clone();for(var I,M=0,z=0;S.cmpn(-M)>0||A.cmpn(-z)>0;){var j,ae,W=S.andln(3)+M&3,Z=A.andln(3)+z&3;3===W&&(W=-1),3===Z&&(Z=-1),0==(1&W)?j=0:j=3!==(I=S.andln(7)+M&7)&&5!==I||2!==Z?W:-W,P[0].push(j),0==(1&Z)?ae=0:ae=3!==(I=A.andln(7)+z&7)&&5!==I||2!==W?Z:-Z,P[1].push(ae),2*M===j+1&&(M=1-M),2*z===ae+1&&(z=1-z),S.iushrn(1),A.iushrn(1)}return P},e.cachedProperty=function u(S,A,P){var M="_"+A;S.prototype[A]=function(){return void 0!==this[M]?this[M]:this[M]=P.call(this)}},e.parseBytes=function k(S){return"string"==typeof S?e.toArray(S,"hex"):S},e.intFromLE=function p(S){return new t(S,"hex","le")}},2451:function(Ve,X,m){(function(e,t){"use strict";function _(w,n){if(!w)throw new Error(n||"Assertion failed")}function E(w,n){w.super_=n;var o=function(){};o.prototype=n.prototype,w.prototype=new o,w.prototype.constructor=w}function s(w,n,o){if(s.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,null!==w&&(("le"===n||"be"===n)&&(o=n,n=10),this._init(w||0,n||10,o||"be"))}var D;"object"==typeof e?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;try{D=typeof window<"u"&&typeof window.Buffer<"u"?window.Buffer:m(5568).Buffer}catch{}function u(w,n){var o=w.charCodeAt(n);return o>=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},6236:Ve=>{"use strict";Ve.exports=function(m){for(var e=[],t=m.length,_=0;_=55296&&E<=56319&&t>_+1){var s=m.charCodeAt(_+1);s>=56320&&s<=57343&&(E=1024*(E-55296)+s-56320+65536,_+=1)}E<128?e.push(E):E<2048?(e.push(E>>6|192),e.push(63&E|128)):E<55296||E>=57344&&E<65536?(e.push(E>>12|224),e.push(E>>6&63|128),e.push(63&E|128)):E>=65536&&E<=1114111?(e.push(E>>18|240),e.push(E>>12&63|128),e.push(E>>6&63|128),e.push(63&E|128)):e.push(239,191,189)}return new Uint8Array(e).buffer}},3358:Ve=>{"use strict";var e,X="object"==typeof Reflect?Reflect:null,m=X&&"function"==typeof X.apply?X.apply:function(re,pe,le){return Function.prototype.apply.call(re,pe,le)};e=X&&"function"==typeof X.ownKeys?X.ownKeys:Object.getOwnPropertySymbols?function(re){return Object.getOwnPropertyNames(re).concat(Object.getOwnPropertySymbols(re))}:function(re){return Object.getOwnPropertyNames(re)};var _=Number.isNaN||function(re){return re!=re};function E(){E.init.call(this)}Ve.exports=E,Ve.exports.once=function W(ae,re){return new Promise(function(pe,le){function ve($){ae.removeListener(re,de),le($)}function de(){"function"==typeof ae.removeListener&&ae.removeListener("error",ve),pe([].slice.call(arguments))}j(ae,re,de,{once:!0}),"error"!==re&&function Z(ae,re,pe){"function"==typeof ae.on&&j(ae,"error",re,pe)}(ae,ve,{once:!0})})},E.EventEmitter=E,E.prototype._events=void 0,E.prototype._eventsCount=0,E.prototype._maxListeners=void 0;var s=10;function D(ae){if("function"!=typeof ae)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ae)}function u(ae){return void 0===ae._maxListeners?E.defaultMaxListeners:ae._maxListeners}function k(ae,re,pe,le){var ve,de,$;if(D(pe),void 0===(de=ae._events)?(de=ae._events=Object.create(null),ae._eventsCount=0):(void 0!==de.newListener&&(ae.emit("newListener",re,pe.listener?pe.listener:pe),de=ae._events),$=de[re]),void 0===$)$=de[re]=pe,++ae._eventsCount;else if("function"==typeof $?$=de[re]=le?[pe,$]:[$,pe]:le?$.unshift(pe):$.push(pe),(ve=u(ae))>0&&$.length>ve&&!$.warned){$.warned=!0;var ue=new Error("Possible EventEmitter memory leak detected. "+$.length+" "+String(re)+" listeners added. Use emitter.setMaxListeners() to increase limit");ue.name="MaxListenersExceededWarning",ue.emitter=ae,ue.type=re,ue.count=$.length,function t(ae){console&&console.warn&&console.warn(ae)}(ue)}return ae}function p(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function S(ae,re,pe){var le={fired:!1,wrapFn:void 0,target:ae,type:re,listener:pe},ve=p.bind(le);return ve.listener=pe,le.wrapFn=ve,ve}function A(ae,re,pe){var le=ae._events;if(void 0===le)return[];var ve=le[re];return void 0===ve?[]:"function"==typeof ve?pe?[ve.listener||ve]:[ve]:pe?function I(ae){for(var re=new Array(ae.length),pe=0;pe0&&($=pe[0]),$ instanceof Error)throw $;var ue=new Error("Unhandled error."+($?" ("+$.message+")":""));throw ue.context=$,ue}var w=de[re];if(void 0===w)return!1;if("function"==typeof w)m(w,this,pe);else{var n=w.length,o=M(w,n);for(le=0;le=0;$--)if(le[$]===pe||le[$].listener===pe){ue=le[$].listener,de=$;break}if(de<0)return this;0===de?le.shift():function z(ae,re){for(;re+1=0;ve--)this.removeListener(re,pe[ve]);return this},E.prototype.listeners=function(re){return A(this,re,!0)},E.prototype.rawListeners=function(re){return A(this,re,!1)},E.listenerCount=function(ae,re){return"function"==typeof ae.listenerCount?ae.listenerCount(re):P.call(ae,re)},E.prototype.listenerCount=P,E.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},153:(Ve,X,m)=>{var e=m(9708).Buffer,t=m(2617);Ve.exports=function _(E,s,D,u){if(e.isBuffer(E)||(E=e.from(E,"binary")),s&&(e.isBuffer(s)||(s=e.from(s,"binary")),8!==s.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var k=D/8,p=e.alloc(k),S=e.alloc(u||0),A=e.alloc(0);k>0||u>0;){var P=new t;P.update(A),P.update(E),s&&P.update(s),A=P.digest();var M=0;if(k>0){var z=p.length-k;M=Math.min(k,A.length),A.copy(p,z,0,M),k-=M}if(M0){var I=S.length-u,W=Math.min(u,A.length-M);A.copy(S,I,M,M+W),u-=W}}return A.fill(0),{key:p,iv:S}}},3817:(Ve,X,m)=>{"use strict";var e=m(9708).Buffer,t=m(9697).Transform;function s(D){t.call(this),this._block=e.allocUnsafe(D),this._blockSize=D,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}m(5035)(s,t),s.prototype._transform=function(D,u,k){var p=null;try{this.update(D,u)}catch(S){p=S}k(p)},s.prototype._flush=function(D){var u=null;try{this.push(this.digest())}catch(k){u=k}D(u)},s.prototype.update=function(D,u){if(function E(D,u){if(!e.isBuffer(D)&&"string"!=typeof D)throw new TypeError(u+" must be a string or a buffer")}(D,"Data"),this._finalized)throw new Error("Digest already called");e.isBuffer(D)||(D=e.from(D,u));for(var k=this._block,p=0;this._blockOffset+D.length-p>=this._blockSize;){for(var S=this._blockOffset;S0;++A)this._length[A]+=P,(P=this._length[A]/4294967296|0)>0&&(this._length[A]-=4294967296*P);return this},s.prototype._update=function(){throw new Error("_update is not implemented")},s.prototype.digest=function(D){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var u=this._digest();void 0!==D&&(u=u.toString(D)),this._block.fill(0),this._blockOffset=0;for(var k=0;k<4;++k)this._length[k]=0;return u},s.prototype._digest=function(){throw new Error("_digest is not implemented")},Ve.exports=s},9281:(Ve,X,m)=>{var e=X;e.utils=m(2764),e.common=m(622),e.sha=m(4131),e.ripemd=m(7968),e.hmac=m(7063),e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160},622:(Ve,X,m)=>{"use strict";var e=m(2764),t=m(3999);function _(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}X.BlockHash=_,_.prototype.update=function(s,D){if(s=e.toArray(s,D),this.pending?this.pending=this.pending.concat(s):this.pending=s,this.pendingTotal+=s.length,this.pending.length>=this._delta8){var u=(s=this.pending).length%this._delta8;this.pending=s.slice(s.length-u,s.length),0===this.pending.length&&(this.pending=null),s=e.join32(s,0,s.length-u,this.endian);for(var k=0;k>>24&255,k[p++]=s>>>16&255,k[p++]=s>>>8&255,k[p++]=255&s}else for(k[p++]=255&s,k[p++]=s>>>8&255,k[p++]=s>>>16&255,k[p++]=s>>>24&255,k[p++]=0,k[p++]=0,k[p++]=0,k[p++]=0,S=8;S{"use strict";var e=m(2764),t=m(3999);function _(E,s,D){if(!(this instanceof _))return new _(E,s,D);this.Hash=E,this.blockSize=E.blockSize/8,this.outSize=E.outSize/8,this.inner=null,this.outer=null,this._init(e.toArray(s,D))}Ve.exports=_,_.prototype._init=function(s){s.length>this.blockSize&&(s=(new this.Hash).update(s).digest()),t(s.length<=this.blockSize);for(var D=s.length;D{"use strict";var e=m(2764),t=m(622),_=e.rotl32,E=e.sum32,s=e.sum32_3,D=e.sum32_4,u=t.BlockHash;function k(){if(!(this instanceof k))return new k;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function p(W,Z,j,ae){return W<=15?Z^j^ae:W<=31?Z&j|~Z&ae:W<=47?(Z|~j)^ae:W<=63?Z&ae|j&~ae:Z^(j|~ae)}function A(W){return W<=15?1352829926:W<=31?1548603684:W<=47?1836072691:W<=63?2053994217:0}e.inherits(k,u),X.ripemd160=k,k.blockSize=512,k.outSize=160,k.hmacStrength=192,k.padLength=64,k.prototype._update=function(Z,j){for(var ae=this.h[0],re=this.h[1],pe=this.h[2],le=this.h[3],ve=this.h[4],de=ae,$=re,ue=pe,w=le,n=ve,o=0;o<80;o++){var h=E(_(D(ae,p(o,re,pe,le),Z[P[o]+j],(W=o)<=15?0:W<=31?1518500249:W<=47?1859775393:W<=63?2400959708:2840853838),z[o]),ve);ae=ve,ve=le,le=_(pe,10),pe=re,re=h,h=E(_(D(de,p(79-o,$,ue,w),Z[M[o]+j],A(o)),I[o]),n),de=n,n=w,w=_(ue,10),ue=$,$=h}var W;h=s(this.h[1],pe,w),this.h[1]=s(this.h[2],le,n),this.h[2]=s(this.h[3],ve,de),this.h[3]=s(this.h[4],ae,$),this.h[4]=s(this.h[0],re,ue),this.h[0]=h},k.prototype._digest=function(Z){return"hex"===Z?e.toHex32(this.h,"little"):e.split32(this.h,"little")};var P=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],M=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],z=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],I=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},4131:(Ve,X,m)=>{"use strict";X.sha1=m(4655),X.sha224=m(9912),X.sha256=m(8769),X.sha384=m(5215),X.sha512=m(4664)},4655:(Ve,X,m)=>{"use strict";var e=m(2764),t=m(622),_=m(5590),E=e.rotl32,s=e.sum32,D=e.sum32_5,u=_.ft_1,k=t.BlockHash,p=[1518500249,1859775393,2400959708,3395469782];function S(){if(!(this instanceof S))return new S;k.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}e.inherits(S,k),Ve.exports=S,S.blockSize=512,S.outSize=160,S.hmacStrength=80,S.padLength=64,S.prototype._update=function(P,M){for(var z=this.W,I=0;I<16;I++)z[I]=P[M+I];for(;I{"use strict";var e=m(2764),t=m(8769);function _(){if(!(this instanceof _))return new _;t.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}e.inherits(_,t),Ve.exports=_,_.blockSize=512,_.outSize=224,_.hmacStrength=192,_.padLength=64,_.prototype._digest=function(s){return"hex"===s?e.toHex32(this.h.slice(0,7),"big"):e.split32(this.h.slice(0,7),"big")}},8769:(Ve,X,m)=>{"use strict";var e=m(2764),t=m(622),_=m(5590),E=m(3999),s=e.sum32,D=e.sum32_4,u=e.sum32_5,k=_.ch32,p=_.maj32,S=_.s0_256,A=_.s1_256,P=_.g0_256,M=_.g1_256,z=t.BlockHash,I=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function W(){if(!(this instanceof W))return new W;z.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=I,this.W=new Array(64)}e.inherits(W,z),Ve.exports=W,W.blockSize=512,W.outSize=256,W.hmacStrength=192,W.padLength=64,W.prototype._update=function(j,ae){for(var re=this.W,pe=0;pe<16;pe++)re[pe]=j[ae+pe];for(;pe{"use strict";var e=m(2764),t=m(4664);function _(){if(!(this instanceof _))return new _;t.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}e.inherits(_,t),Ve.exports=_,_.blockSize=1024,_.outSize=384,_.hmacStrength=192,_.padLength=128,_.prototype._digest=function(s){return"hex"===s?e.toHex32(this.h.slice(0,12),"big"):e.split32(this.h.slice(0,12),"big")}},4664:(Ve,X,m)=>{"use strict";var e=m(2764),t=m(622),_=m(3999),E=e.rotr64_hi,s=e.rotr64_lo,D=e.shr64_hi,u=e.shr64_lo,k=e.sum64,p=e.sum64_hi,S=e.sum64_lo,A=e.sum64_4_hi,P=e.sum64_4_lo,M=e.sum64_5_hi,z=e.sum64_5_lo,I=t.BlockHash,W=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Z(){if(!(this instanceof Z))return new Z;I.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=W,this.W=new Array(160)}function j(h,d,y,L,B){var v=h&y^~h&B;return v<0&&(v+=4294967296),v}function ae(h,d,y,L,B,v){var a=d&L^~d&v;return a<0&&(a+=4294967296),a}function re(h,d,y,L,B){var v=h&y^h&B^y&B;return v<0&&(v+=4294967296),v}function pe(h,d,y,L,B,v){var a=d&L^d&v^L&v;return a<0&&(a+=4294967296),a}function le(h,d){var v=E(h,d,28)^E(d,h,2)^E(d,h,7);return v<0&&(v+=4294967296),v}function ve(h,d){var v=s(h,d,28)^s(d,h,2)^s(d,h,7);return v<0&&(v+=4294967296),v}function de(h,d){var v=E(h,d,14)^E(h,d,18)^E(d,h,9);return v<0&&(v+=4294967296),v}function $(h,d){var v=s(h,d,14)^s(h,d,18)^s(d,h,9);return v<0&&(v+=4294967296),v}function ue(h,d){var v=E(h,d,1)^E(h,d,8)^D(h,d,7);return v<0&&(v+=4294967296),v}function w(h,d){var v=s(h,d,1)^s(h,d,8)^u(h,d,7);return v<0&&(v+=4294967296),v}function n(h,d){var v=E(h,d,19)^E(d,h,29)^D(h,d,6);return v<0&&(v+=4294967296),v}function o(h,d){var v=s(h,d,19)^s(d,h,29)^u(h,d,6);return v<0&&(v+=4294967296),v}e.inherits(Z,I),Ve.exports=Z,Z.blockSize=1024,Z.outSize=512,Z.hmacStrength=192,Z.padLength=128,Z.prototype._prepareBlock=function(d,y){for(var L=this.W,B=0;B<32;B++)L[B]=d[y+B];for(;B{"use strict";var t=m(2764).rotr32;function E(A,P,M){return A&P^~A&M}function s(A,P,M){return A&P^A&M^P&M}function D(A,P,M){return A^P^M}X.ft_1=function _(A,P,M,z){return 0===A?E(P,M,z):1===A||3===A?D(P,M,z):2===A?s(P,M,z):void 0},X.ch32=E,X.maj32=s,X.p32=D,X.s0_256=function u(A){return t(A,2)^t(A,13)^t(A,22)},X.s1_256=function k(A){return t(A,6)^t(A,11)^t(A,25)},X.g0_256=function p(A){return t(A,7)^t(A,18)^A>>>3},X.g1_256=function S(A){return t(A,17)^t(A,19)^A>>>10}},2764:(Ve,X,m)=>{"use strict";var e=m(3999),t=m(5035);function _(o,h){return!(55296!=(64512&o.charCodeAt(h))||h<0||h+1>=o.length)&&56320==(64512&o.charCodeAt(h+1))}function D(o){return(o>>>24|o>>>8&65280|o<<8&16711680|(255&o)<<24)>>>0}function k(o){return 1===o.length?"0"+o:o}function p(o){return 7===o.length?"0"+o:6===o.length?"00"+o:5===o.length?"000"+o:4===o.length?"0000"+o:3===o.length?"00000"+o:2===o.length?"000000"+o:1===o.length?"0000000"+o:o}X.inherits=t,X.toArray=function E(o,h){if(Array.isArray(o))return o.slice();if(!o)return[];var d=[];if("string"==typeof o)if(h){if("hex"===h)for((o=o.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(o="0"+o),L=0;L>6|192,d[y++]=63&B|128):_(o,L)?(B=65536+((1023&B)<<10)+(1023&o.charCodeAt(++L)),d[y++]=B>>18|240,d[y++]=B>>12&63|128,d[y++]=B>>6&63|128,d[y++]=63&B|128):(d[y++]=B>>12|224,d[y++]=B>>6&63|128,d[y++]=63&B|128)}else for(L=0;L>>0}return B},X.split32=function A(o,h){for(var d=new Array(4*o.length),y=0,L=0;y>>24,d[L+1]=B>>>16&255,d[L+2]=B>>>8&255,d[L+3]=255&B):(d[L+3]=B>>>24,d[L+2]=B>>>16&255,d[L+1]=B>>>8&255,d[L]=255&B)}return d},X.rotr32=function P(o,h){return o>>>h|o<<32-h},X.rotl32=function M(o,h){return o<>>32-h},X.sum32=function z(o,h){return o+h>>>0},X.sum32_3=function I(o,h,d){return o+h+d>>>0},X.sum32_4=function W(o,h,d,y){return o+h+d+y>>>0},X.sum32_5=function Z(o,h,d,y,L){return o+h+d+y+L>>>0},X.sum64=function j(o,h,d,y){var L=o[h],v=y+o[h+1]>>>0,a=(v>>0,o[h+1]=v},X.sum64_hi=function ae(o,h,d,y){return(h+y>>>0>>0},X.sum64_lo=function re(o,h,d,y){return h+y>>>0},X.sum64_4_hi=function pe(o,h,d,y,L,B,v,a){var C=0,N=h;return C+=(N=N+y>>>0)>>0)>>0)>>0},X.sum64_4_lo=function le(o,h,d,y,L,B,v,a){return h+y+B+a>>>0},X.sum64_5_hi=function ve(o,h,d,y,L,B,v,a,C,N){var F=0,J=h;return F+=(J=J+y>>>0)>>0)>>0)>>0)>>0},X.sum64_5_lo=function de(o,h,d,y,L,B,v,a,C,N){return h+y+B+a+N>>>0},X.rotr64_hi=function $(o,h,d){return(h<<32-d|o>>>d)>>>0},X.rotr64_lo=function ue(o,h,d){return(o<<32-d|h>>>d)>>>0},X.shr64_hi=function w(o,h,d){return o>>>d},X.shr64_lo=function n(o,h,d){return(o<<32-d|h>>>d)>>>0}},3925:(Ve,X,m)=>{"use strict";var e=m(9281),t=m(4985),_=m(3999);function E(s){if(!(this instanceof E))return new E(s);this.hash=s.hash,this.predResist=!!s.predResist,this.outLen=this.hash.outSize,this.minEntropy=s.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var D=t.toArray(s.entropy,s.entropyEnc||"hex"),u=t.toArray(s.nonce,s.nonceEnc||"hex"),k=t.toArray(s.pers,s.persEnc||"hex");_(D.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(D,u,k)}Ve.exports=E,E.prototype._init=function(D,u,k){var p=D.concat(u).concat(k);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var S=0;S=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(D.concat(k||[])),this._reseed=1},E.prototype.generate=function(D,u,k,p){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof u&&(p=k,k=u,u=null),k&&(k=t.toArray(k,p||"hex"),this._update(k));for(var S=[];S.length{X.read=function(m,e,t,_,E){var s,D,u=8*E-_-1,k=(1<>1,S=-7,A=t?E-1:0,P=t?-1:1,M=m[e+A];for(A+=P,s=M&(1<<-S)-1,M>>=-S,S+=u;S>0;s=256*s+m[e+A],A+=P,S-=8);for(D=s&(1<<-S)-1,s>>=-S,S+=_;S>0;D=256*D+m[e+A],A+=P,S-=8);if(0===s)s=1-p;else{if(s===k)return D?NaN:1/0*(M?-1:1);D+=Math.pow(2,_),s-=p}return(M?-1:1)*D*Math.pow(2,s-_)},X.write=function(m,e,t,_,E,s){var D,u,k,p=8*s-E-1,S=(1<>1,P=23===E?Math.pow(2,-24)-Math.pow(2,-77):0,M=_?0:s-1,z=_?1:-1,I=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,D=S):(D=Math.floor(Math.log(e)/Math.LN2),e*(k=Math.pow(2,-D))<1&&(D--,k*=2),(e+=D+A>=1?P/k:P*Math.pow(2,1-A))*k>=2&&(D++,k/=2),D+A>=S?(u=0,D=S):D+A>=1?(u=(e*k-1)*Math.pow(2,E),D+=A):(u=e*Math.pow(2,A-1)*Math.pow(2,E),D=0));E>=8;m[t+M]=255&u,M+=z,u/=256,E-=8);for(D=D<0;m[t+M]=255&D,M+=z,D/=256,p-=8);m[t+M-z]|=128*I}},5035:Ve=>{"function"==typeof Object.create?Ve.exports=function(m,e){e&&(m.super_=e,m.prototype=Object.create(e.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}))}:Ve.exports=function(m,e){if(e){m.super_=e;var t=function(){};t.prototype=e.prototype,m.prototype=new t,m.prototype.constructor=m}}},3858:(Ve,X,m)=>{"use strict";var e=m(9848);function t(_){return!0===e(_)&&"[object Object]"===Object.prototype.toString.call(_)}Ve.exports=function(E){var s,D;return!(!1===t(E)||(s=E.constructor,"function"!=typeof s)||(D=s.prototype,!1===t(D))||!1===D.hasOwnProperty("isPrototypeOf"))}},9848:Ve=>{"use strict";Ve.exports=function(m){return null!=m&&"object"==typeof m&&!1===Array.isArray(m)}},8220:Ve=>{var X=Object.prototype.toString;function m(p){return"function"==typeof p.constructor?p.constructor.name:null}Ve.exports=function(S){if(void 0===S)return"undefined";if(null===S)return"null";var A=typeof S;if("boolean"===A)return"boolean";if("string"===A)return"string";if("number"===A)return"number";if("symbol"===A)return"symbol";if("function"===A)return function s(p,S){return"GeneratorFunction"===m(p)}(S)?"generatorfunction":"function";if(function e(p){return Array.isArray?Array.isArray(p):p instanceof Array}(S))return"array";if(function k(p){return!(!p.constructor||"function"!=typeof p.constructor.isBuffer)&&p.constructor.isBuffer(p)}(S))return"buffer";if(function u(p){try{if("number"==typeof p.length&&"function"==typeof p.callee)return!0}catch(S){if(-1!==S.message.indexOf("callee"))return!0}return!1}(S))return"arguments";if(function _(p){return p instanceof Date||"function"==typeof p.toDateString&&"function"==typeof p.getDate&&"function"==typeof p.setDate}(S))return"date";if(function t(p){return p instanceof Error||"string"==typeof p.message&&p.constructor&&"number"==typeof p.constructor.stackTraceLimit}(S))return"error";if(function E(p){return p instanceof RegExp||"string"==typeof p.flags&&"boolean"==typeof p.ignoreCase&&"boolean"==typeof p.multiline&&"boolean"==typeof p.global}(S))return"regexp";switch(m(S)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function D(p){return"function"==typeof p.throw&&"function"==typeof p.return&&"function"==typeof p.next}(S))return"generator";switch(A=X.call(S)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return A.slice(8,-1).toLowerCase().replace(/\s/g,"")}},2617:(Ve,X,m)=>{"use strict";var e=m(5035),t=m(3817),_=m(9708).Buffer,E=new Array(16);function s(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function D(A,P){return A<>>32-P}function u(A,P,M,z,I,W,Z){return D(A+(P&M|~P&z)+I+W|0,Z)+P|0}function k(A,P,M,z,I,W,Z){return D(A+(P&z|M&~z)+I+W|0,Z)+P|0}function p(A,P,M,z,I,W,Z){return D(A+(P^M^z)+I+W|0,Z)+P|0}function S(A,P,M,z,I,W,Z){return D(A+(M^(P|~z))+I+W|0,Z)+P|0}e(s,t),s.prototype._update=function(){for(var A=E,P=0;P<16;++P)A[P]=this._block.readInt32LE(4*P);var M=this._a,z=this._b,I=this._c,W=this._d;M=u(M,z,I,W,A[0],3614090360,7),W=u(W,M,z,I,A[1],3905402710,12),I=u(I,W,M,z,A[2],606105819,17),z=u(z,I,W,M,A[3],3250441966,22),M=u(M,z,I,W,A[4],4118548399,7),W=u(W,M,z,I,A[5],1200080426,12),I=u(I,W,M,z,A[6],2821735955,17),z=u(z,I,W,M,A[7],4249261313,22),M=u(M,z,I,W,A[8],1770035416,7),W=u(W,M,z,I,A[9],2336552879,12),I=u(I,W,M,z,A[10],4294925233,17),z=u(z,I,W,M,A[11],2304563134,22),M=u(M,z,I,W,A[12],1804603682,7),W=u(W,M,z,I,A[13],4254626195,12),I=u(I,W,M,z,A[14],2792965006,17),M=k(M,z=u(z,I,W,M,A[15],1236535329,22),I,W,A[1],4129170786,5),W=k(W,M,z,I,A[6],3225465664,9),I=k(I,W,M,z,A[11],643717713,14),z=k(z,I,W,M,A[0],3921069994,20),M=k(M,z,I,W,A[5],3593408605,5),W=k(W,M,z,I,A[10],38016083,9),I=k(I,W,M,z,A[15],3634488961,14),z=k(z,I,W,M,A[4],3889429448,20),M=k(M,z,I,W,A[9],568446438,5),W=k(W,M,z,I,A[14],3275163606,9),I=k(I,W,M,z,A[3],4107603335,14),z=k(z,I,W,M,A[8],1163531501,20),M=k(M,z,I,W,A[13],2850285829,5),W=k(W,M,z,I,A[2],4243563512,9),I=k(I,W,M,z,A[7],1735328473,14),M=p(M,z=k(z,I,W,M,A[12],2368359562,20),I,W,A[5],4294588738,4),W=p(W,M,z,I,A[8],2272392833,11),I=p(I,W,M,z,A[11],1839030562,16),z=p(z,I,W,M,A[14],4259657740,23),M=p(M,z,I,W,A[1],2763975236,4),W=p(W,M,z,I,A[4],1272893353,11),I=p(I,W,M,z,A[7],4139469664,16),z=p(z,I,W,M,A[10],3200236656,23),M=p(M,z,I,W,A[13],681279174,4),W=p(W,M,z,I,A[0],3936430074,11),I=p(I,W,M,z,A[3],3572445317,16),z=p(z,I,W,M,A[6],76029189,23),M=p(M,z,I,W,A[9],3654602809,4),W=p(W,M,z,I,A[12],3873151461,11),I=p(I,W,M,z,A[15],530742520,16),M=S(M,z=p(z,I,W,M,A[2],3299628645,23),I,W,A[0],4096336452,6),W=S(W,M,z,I,A[7],1126891415,10),I=S(I,W,M,z,A[14],2878612391,15),z=S(z,I,W,M,A[5],4237533241,21),M=S(M,z,I,W,A[12],1700485571,6),W=S(W,M,z,I,A[3],2399980690,10),I=S(I,W,M,z,A[10],4293915773,15),z=S(z,I,W,M,A[1],2240044497,21),M=S(M,z,I,W,A[8],1873313359,6),W=S(W,M,z,I,A[15],4264355552,10),I=S(I,W,M,z,A[6],2734768916,15),z=S(z,I,W,M,A[13],1309151649,21),M=S(M,z,I,W,A[4],4149444226,6),W=S(W,M,z,I,A[11],3174756917,10),I=S(I,W,M,z,A[2],718787259,15),z=S(z,I,W,M,A[9],3951481745,21),this._a=this._a+M|0,this._b=this._b+z|0,this._c=this._c+I|0,this._d=this._d+W|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var A=_.allocUnsafe(16);return A.writeInt32LE(this._a,0),A.writeInt32LE(this._b,4),A.writeInt32LE(this._c,8),A.writeInt32LE(this._d,12),A},Ve.exports=s},7789:(Ve,X,m)=>{var e=m(5369),t=m(340);function _(E){this.rand=E||new t.Rand}Ve.exports=_,_.create=function(s){return new _(s)},_.prototype._randbelow=function(s){var D=s.bitLength(),u=Math.ceil(D/8);do{var k=new e(this.rand.generate(u))}while(k.cmp(s)>=0);return k},_.prototype._randrange=function(s,D){var u=D.sub(s);return s.add(this._randbelow(u))},_.prototype.test=function(s,D,u){var k=s.bitLength(),p=e.mont(s),S=new e(1).toRed(p);D||(D=Math.max(1,k/48|0));for(var A=s.subn(1),P=0;!A.testn(P);P++);for(var M=s.shrn(P),z=A.toRed(p);D>0;D--){var W=this._randrange(new e(2),A);u&&u(W);var Z=W.toRed(p).redPow(M);if(0!==Z.cmp(S)&&0!==Z.cmp(z)){for(var j=1;j0;D--){var z=this._randrange(new e(2),S),I=s.gcd(z);if(0!==I.cmpn(1))return I;var W=z.toRed(k).redPow(P);if(0!==W.cmp(p)&&0!==W.cmp(M)){for(var Z=1;Z=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},3999:Ve=>{function X(m,e){if(!m)throw new Error(e||"Assertion failed")}Ve.exports=X,X.equal=function(e,t,_){if(e!=t)throw new Error(_||"Assertion failed: "+e+" != "+t)}},4985:(Ve,X)=>{"use strict";var m=X;function t(E){return 1===E.length?"0"+E:E}function _(E){for(var s="",D=0;D>8,S=255&k;p?D.push(p,S):D.push(S)}return D},m.zero2=t,m.toHex=_,m.encode=function(s,D){return"hex"===D?_(s):s}},74:(Ve,X,m)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});var e=m(9614);Object.keys(e).forEach(function(t){"default"!==t&&Object.defineProperty(X,t,{enumerable:!0,get:function(){return e[t]}})})},2675:(Ve,X,m)=>{"use strict";var e=m(7183);X.certificate=m(6053);var t=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});X.RSAPrivateKey=t;var _=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});X.RSAPublicKey=_;var E=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())});X.PublicKey=E;var s=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),D=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(s),this.key("subjectPrivateKey").octstr())});X.PrivateKey=D;var u=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});X.EncryptedPrivateKey=u;var k=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});X.DSAPrivateKey=k,X.DSAparam=e.define("DSAparam",function(){this.int()});var p=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(S),this.key("publicKey").optional().explicit(1).bitstr())});X.ECPrivateKey=p;var S=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});X.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})},6053:(Ve,X,m)=>{"use strict";var e=m(7183),t=e.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),_=e.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),E=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),s=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(E),this.key("subjectPublicKey").bitstr())}),D=e.define("RelativeDistinguishedName",function(){this.setof(_)}),u=e.define("RDNSequence",function(){this.seqof(D)}),k=e.define("Name",function(){this.choice({rdnSequence:this.use(u)})}),p=e.define("Validity",function(){this.seq().obj(this.key("notBefore").use(t),this.key("notAfter").use(t))}),S=e.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),A=e.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(E),this.key("issuer").use(k),this.key("validity").use(p),this.key("subject").use(k),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(S).optional())}),P=e.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(A),this.key("signatureAlgorithm").use(E),this.key("signatureValue").bitstr())});Ve.exports=P},520:(Ve,X,m)=>{var e=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,t=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,_=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,E=m(153),s=m(3170),D=m(9708).Buffer;Ve.exports=function(u,k){var A,p=u.toString(),S=p.match(e);if(S){var M="aes"+S[1],z=D.from(S[2],"hex"),I=D.from(S[3].replace(/[\r\n]/g,""),"base64"),W=E(k,z.slice(0,8),parseInt(S[1],10)).key,Z=[],j=s.createDecipheriv(M,W,z);Z.push(j.update(I)),Z.push(j.final()),A=D.concat(Z)}else{var P=p.match(_);A=D.from(P[2].replace(/[\r\n]/g,""),"base64")}return{tag:p.match(t)[1],data:A}}},5752:(Ve,X,m)=>{var e=m(2675),t=m(2562),_=m(520),E=m(3170),s=m(4540),D=m(9708).Buffer;function u(p){var S;"object"==typeof p&&!D.isBuffer(p)&&(S=p.passphrase,p=p.key),"string"==typeof p&&(p=D.from(p));var z,I,A=_(p,S),P=A.tag,M=A.data;switch(P){case"CERTIFICATE":I=e.certificate.decode(M,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(I||(I=e.PublicKey.decode(M,"der")),z=I.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPublicKey.decode(I.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return I.subjectPrivateKey=I.subjectPublicKey,{type:"ec",data:I};case"1.2.840.10040.4.1":return I.algorithm.params.pub_key=e.DSAparam.decode(I.subjectPublicKey.data,"der"),{type:"dsa",data:I.algorithm.params};default:throw new Error("unknown key id "+z)}case"ENCRYPTED PRIVATE KEY":M=function k(p,S){var A=p.algorithm.decrypt.kde.kdeparams.salt,P=parseInt(p.algorithm.decrypt.kde.kdeparams.iters.toString(),10),M=t[p.algorithm.decrypt.cipher.algo.join(".")],z=p.algorithm.decrypt.cipher.iv,I=p.subjectPrivateKey,W=parseInt(M.split("-")[1],10)/8,Z=s.pbkdf2Sync(S,A,P,W,"sha1"),j=E.createDecipheriv(M,Z,z),ae=[];return ae.push(j.update(I)),ae.push(j.final()),D.concat(ae)}(M=e.EncryptedPrivateKey.decode(M,"der"),S);case"PRIVATE KEY":switch(z=(I=e.PrivateKey.decode(M,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPrivateKey.decode(I.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:I.algorithm.curve,privateKey:e.ECPrivateKey.decode(I.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return I.algorithm.params.priv_key=e.DSAparam.decode(I.subjectPrivateKey,"der"),{type:"dsa",params:I.algorithm.params};default:throw new Error("unknown key id "+z)}case"RSA PUBLIC KEY":return e.RSAPublicKey.decode(M,"der");case"RSA PRIVATE KEY":return e.RSAPrivateKey.decode(M,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:e.DSAPrivateKey.decode(M,"der")};case"EC PRIVATE KEY":return{curve:(M=e.ECPrivateKey.decode(M,"der")).parameters.value,privateKey:M.privateKey};default:throw new Error("unknown key type "+P)}}Ve.exports=u,u.signature=e.signature},4540:(Ve,X,m)=>{X.pbkdf2=m(8460),X.pbkdf2Sync=m(2351)},8460:(Ve,X,m)=>{var D,A,e=m(9708).Buffer,t=m(4842),_=m(6910),E=m(2351),s=m(815),u=global.crypto&&global.crypto.subtle,k={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},p=[];function P(){return A||(A=global.process&&global.process.nextTick?global.process.nextTick:global.queueMicrotask?global.queueMicrotask:global.setImmediate?global.setImmediate:global.setTimeout)}function M(I,W,Z,j,ae){return u.importKey("raw",I,{name:"PBKDF2"},!1,["deriveBits"]).then(function(re){return u.deriveBits({name:"PBKDF2",salt:W,iterations:Z,hash:{name:ae}},re,j<<3)}).then(function(re){return e.from(re)})}Ve.exports=function(I,W,Z,j,ae,re){"function"==typeof ae&&(re=ae,ae=void 0);var pe=k[(ae=ae||"sha1").toLowerCase()];if(pe&&"function"==typeof global.Promise){if(t(Z,j),I=s(I,_,"Password"),W=s(W,_,"Salt"),"function"!=typeof re)throw new Error("No callback provided to pbkdf2");!function z(I,W){I.then(function(Z){P()(function(){W(null,Z)})},function(Z){P()(function(){W(Z)})})}(function S(I){if(global.process&&!global.process.browser||!u||!u.importKey||!u.deriveBits)return Promise.resolve(!1);if(void 0!==p[I])return p[I];var W=M(D=D||e.alloc(8),D,10,128,I).then(function(){return!0}).catch(function(){return!1});return p[I]=W,W}(pe).then(function(le){return le?M(I,W,Z,j,pe):E(I,W,Z,j,ae)}),re)}else P()(function(){var le;try{le=E(I,W,Z,j,ae)}catch(ve){return re(ve)}re(null,le)})}},6910:Ve=>{var X;if(global.process&&global.process.browser)X="utf-8";else if(global.process&&global.process.version){X=parseInt(process.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else X="utf-8";Ve.exports=X},4842:Ve=>{var X=Math.pow(2,30)-1;Ve.exports=function(m,e){if("number"!=typeof m)throw new TypeError("Iterations not a number");if(m<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>X||e!=e)throw new TypeError("Bad key length")}},2351:(Ve,X,m)=>{var e=m(2726),t=m(5351),_=m(1001),E=m(9708).Buffer,s=m(4842),D=m(6910),u=m(815),k=E.alloc(128),p={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function S(M,z,I){var W=function A(M){function z(W){return _(M).update(W).digest()}function I(W){return(new t).update(W).digest()}return"rmd160"===M||"ripemd160"===M?I:"md5"===M?e:z}(M),Z="sha512"===M||"sha384"===M?128:64;z.length>Z?z=W(z):z.length{var e=m(9708).Buffer;Ve.exports=function(t,_,E){if(e.isBuffer(t))return t;if("string"==typeof t)return e.from(t,_);if(ArrayBuffer.isView(t))return e.from(t.buffer);throw new TypeError(E+" must be a string, a Buffer, a typed array or a DataView")}},1113:(Ve,X,m)=>{X.publicEncrypt=m(3653),X.privateDecrypt=m(9674),X.privateEncrypt=function(t,_){return X.publicEncrypt(t,_,!0)},X.publicDecrypt=function(t,_){return X.privateDecrypt(t,_,!0)}},2096:(Ve,X,m)=>{var e=m(145),t=m(9708).Buffer;function _(E){var s=t.allocUnsafe(4);return s.writeUInt32BE(E,0),s}Ve.exports=function(E,s){for(var k,D=t.alloc(0),u=0;D.length=65&&o<=70?o-55:o>=97&&o<=102?o-87:o-48&15}function k(w,n,o){var h=u(w,o);return o-1>=n&&(h|=u(w,o-1)<<4),h}function p(w,n,o,h){for(var d=0,y=Math.min(w.length,o),L=n;L=49?B-49+10:B>=17?B-17+10:B}return d}s.isBN=function(n){return n instanceof s||null!==n&&"object"==typeof n&&n.constructor.wordSize===s.wordSize&&Array.isArray(n.words)},s.max=function(n,o){return n.cmp(o)>0?n:o},s.min=function(n,o){return n.cmp(o)<0?n:o},s.prototype._init=function(n,o,h){if("number"==typeof n)return this._initNumber(n,o,h);if("object"==typeof n)return this._initArray(n,o,h);"hex"===o&&(o=16),_(o===(0|o)&&o>=2&&o<=36);var d=0;"-"===(n=n.toString().replace(/\s+/g,""))[0]&&(d++,this.negative=1),d=0;d-=3)L=n[d]|n[d-1]<<8|n[d-2]<<16,this.words[y]|=L<>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);else if("le"===h)for(d=0,y=0;d>>26-B&67108863,(B+=24)>=26&&(B-=26,y++);return this.strip()},s.prototype._parseHex=function(n,o,h){this.length=Math.ceil((n.length-o)/6),this.words=new Array(this.length);for(var d=0;d=o;d-=2)B=k(n,o,d)<=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;else for(d=(n.length-o)%2==0?o+1:o;d=18?(y-=18,L+=1,this.words[L]|=B>>>26):y+=8;this.strip()},s.prototype._parseBase=function(n,o,h){this.words=[0],this.length=1;for(var d=0,y=1;y<=67108863;y*=o)d++;d--,y=y/o|0;for(var L=n.length-h,B=L%d,v=Math.min(L,L-B)+h,a=0,C=h;C1&&0===this.words[this.length-1];)this.length--;return this._normSign()},s.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?""};var S=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],A=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],P=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function z(w,n,o){o.negative=n.negative^w.negative;var h=w.length+n.length|0;o.length=h,h=h-1|0;var d=0|w.words[0],y=0|n.words[0],L=d*y,B=67108863&L,v=L/67108864|0;o.words[0]=B;for(var a=1;a>>26,N=67108863&v,F=Math.min(a,n.length-1),J=Math.max(0,a-w.length+1);J<=F;J++){var Fe=a-J|0;C+=(L=(d=0|w.words[Fe])*(y=0|n.words[J])+N)/67108864|0,N=67108863&L}o.words[a]=0|N,v=0|C}return 0!==v?o.words[a]=0|v:o.length--,o.strip()}s.prototype.toString=function(n,o){var h;if(o=0|o||1,16===(n=n||10)||"hex"===n){h="";for(var d=0,y=0,L=0;L>>24-d&16777215)||L!==this.length-1?S[6-v.length]+v+h:v+h,(d+=2)>=26&&(d-=26,L--)}for(0!==y&&(h=y.toString(16)+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}if(n===(0|n)&&n>=2&&n<=36){var a=A[n],C=P[n];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var F=N.modn(C).toString(n);h=(N=N.idivn(C)).isZero()?F+h:S[a-F.length]+F+h}for(this.isZero()&&(h="0"+h);h.length%o!=0;)h="0"+h;return 0!==this.negative&&(h="-"+h),h}_(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var n=this.words[0];return 2===this.length?n+=67108864*this.words[1]:3===this.length&&1===this.words[2]?n+=4503599627370496+67108864*this.words[1]:this.length>2&&_(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-n:n},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(n,o){return _(typeof D<"u"),this.toArrayLike(D,n,o)},s.prototype.toArray=function(n,o){return this.toArrayLike(Array,n,o)},s.prototype.toArrayLike=function(n,o,h){var d=this.byteLength(),y=h||Math.max(1,d);_(d<=y,"byte array longer than desired length"),_(y>0,"Requested array length <= 0"),this.strip();var v,a,L="le"===o,B=new n(y),C=this.clone();if(L){for(a=0;!C.isZero();a++)v=C.andln(255),C.iushrn(8),B[a]=v;for(;a=4096&&(h+=13,o>>>=13),o>=64&&(h+=7,o>>>=7),o>=8&&(h+=4,o>>>=4),o>=2&&(h+=2,o>>>=2),h+o},s.prototype._zeroBits=function(n){if(0===n)return 26;var o=n,h=0;return 0==(8191&o)&&(h+=13,o>>>=13),0==(127&o)&&(h+=7,o>>>=7),0==(15&o)&&(h+=4,o>>>=4),0==(3&o)&&(h+=2,o>>>=2),0==(1&o)&&h++,h},s.prototype.bitLength=function(){var n=this.words[this.length-1],o=this._countBits(n);return 26*(this.length-1)+o},s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var n=0,o=0;on.length?this.clone().ior(n):n.clone().ior(this)},s.prototype.uor=function(n){return this.length>n.length?this.clone().iuor(n):n.clone().iuor(this)},s.prototype.iuand=function(n){var o;o=this.length>n.length?n:this;for(var h=0;hn.length?this.clone().iand(n):n.clone().iand(this)},s.prototype.uand=function(n){return this.length>n.length?this.clone().iuand(n):n.clone().iuand(this)},s.prototype.iuxor=function(n){var o,h;this.length>n.length?(o=this,h=n):(o=n,h=this);for(var d=0;dn.length?this.clone().ixor(n):n.clone().ixor(this)},s.prototype.uxor=function(n){return this.length>n.length?this.clone().iuxor(n):n.clone().iuxor(this)},s.prototype.inotn=function(n){_("number"==typeof n&&n>=0);var o=0|Math.ceil(n/26),h=n%26;this._expand(o),h>0&&o--;for(var d=0;d0&&(this.words[d]=~this.words[d]&67108863>>26-h),this.strip()},s.prototype.notn=function(n){return this.clone().inotn(n)},s.prototype.setn=function(n,o){_("number"==typeof n&&n>=0);var h=n/26|0,d=n%26;return this._expand(h+1),this.words[h]=o?this.words[h]|1<n.length?(h=this,d=n):(h=n,d=this);for(var y=0,L=0;L>>26;for(;0!==y&&L>>26;if(this.length=h.length,0!==y)this.words[this.length]=y,this.length++;else if(h!==this)for(;Ln.length?this.clone().iadd(n):n.clone().iadd(this)},s.prototype.isub=function(n){if(0!==n.negative){n.negative=0;var o=this.iadd(n);return n.negative=1,o._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(n),this.negative=1,this._normSign();var d,y,h=this.cmp(n);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(d=this,y=n):(d=n,y=this);for(var L=0,B=0;B>26,this.words[B]=67108863&o;for(;0!==L&&B>26,this.words[B]=67108863&o;if(0===L&&B>>13,Fe=0|d[1],ke=8191&Fe,Ge=Fe>>>13,je=0|d[2],We=8191&je,be=je>>>13,Ye=0|d[3],Ie=8191&Ye,ge=Ye>>>13,et=0|d[4],ut=8191&et,Le=et>>>13,De=0|d[5],ne=8191&De,fe=De>>>13,ee=0|d[6],H=8191&ee,q=ee>>>13,Oe=0|d[7],Re=8191&Oe,oe=Oe>>>13,pt=0|d[8],it=8191&pt,Ct=pt>>>13,un=0|d[9],Nt=8191&un,zt=un>>>13,yn=0|y[0],Jt=8191&yn,Gt=yn>>>13,In=0|y[1],an=8191&In,tn=In>>>13,pn=0|y[2],nt=8191&pn,gt=pn>>>13,At=0|y[3],we=8191&At,Y=At>>>13,te=0|y[4],xe=8191&te,ze=te>>>13,_t=0|y[5],ct=8191&_t,Ue=_t>>>13,Me=0|y[6],Ce=8191&Me,Je=Me>>>13,Ut=0|y[7],Dt=8191&Ut,Tt=Ut>>>13,Ht=0|y[8],He=8191&Ht,$e=Ht>>>13,$t=0|y[9],Rt=8191&$t,Xt=$t>>>13;h.negative=n.negative^o.negative,h.length=19;var Vn=(B+(v=Math.imul(F,Jt))|0)+((8191&(a=(a=Math.imul(F,Gt))+Math.imul(J,Jt)|0))<<13)|0;B=((C=Math.imul(J,Gt))+(a>>>13)|0)+(Vn>>>26)|0,Vn&=67108863,v=Math.imul(ke,Jt),a=(a=Math.imul(ke,Gt))+Math.imul(Ge,Jt)|0,C=Math.imul(Ge,Gt);var zn=(B+(v=v+Math.imul(F,an)|0)|0)+((8191&(a=(a=a+Math.imul(F,tn)|0)+Math.imul(J,an)|0))<<13)|0;B=((C=C+Math.imul(J,tn)|0)+(a>>>13)|0)+(zn>>>26)|0,zn&=67108863,v=Math.imul(We,Jt),a=(a=Math.imul(We,Gt))+Math.imul(be,Jt)|0,C=Math.imul(be,Gt),v=v+Math.imul(ke,an)|0,a=(a=a+Math.imul(ke,tn)|0)+Math.imul(Ge,an)|0,C=C+Math.imul(Ge,tn)|0;var Tn=(B+(v=v+Math.imul(F,nt)|0)|0)+((8191&(a=(a=a+Math.imul(F,gt)|0)+Math.imul(J,nt)|0))<<13)|0;B=((C=C+Math.imul(J,gt)|0)+(a>>>13)|0)+(Tn>>>26)|0,Tn&=67108863,v=Math.imul(Ie,Jt),a=(a=Math.imul(Ie,Gt))+Math.imul(ge,Jt)|0,C=Math.imul(ge,Gt),v=v+Math.imul(We,an)|0,a=(a=a+Math.imul(We,tn)|0)+Math.imul(be,an)|0,C=C+Math.imul(be,tn)|0,v=v+Math.imul(ke,nt)|0,a=(a=a+Math.imul(ke,gt)|0)+Math.imul(Ge,nt)|0,C=C+Math.imul(Ge,gt)|0;var Yn=(B+(v=v+Math.imul(F,we)|0)|0)+((8191&(a=(a=a+Math.imul(F,Y)|0)+Math.imul(J,we)|0))<<13)|0;B=((C=C+Math.imul(J,Y)|0)+(a>>>13)|0)+(Yn>>>26)|0,Yn&=67108863,v=Math.imul(ut,Jt),a=(a=Math.imul(ut,Gt))+Math.imul(Le,Jt)|0,C=Math.imul(Le,Gt),v=v+Math.imul(Ie,an)|0,a=(a=a+Math.imul(Ie,tn)|0)+Math.imul(ge,an)|0,C=C+Math.imul(ge,tn)|0,v=v+Math.imul(We,nt)|0,a=(a=a+Math.imul(We,gt)|0)+Math.imul(be,nt)|0,C=C+Math.imul(be,gt)|0,v=v+Math.imul(ke,we)|0,a=(a=a+Math.imul(ke,Y)|0)+Math.imul(Ge,we)|0,C=C+Math.imul(Ge,Y)|0;var Mt=(B+(v=v+Math.imul(F,xe)|0)|0)+((8191&(a=(a=a+Math.imul(F,ze)|0)+Math.imul(J,xe)|0))<<13)|0;B=((C=C+Math.imul(J,ze)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,v=Math.imul(ne,Jt),a=(a=Math.imul(ne,Gt))+Math.imul(fe,Jt)|0,C=Math.imul(fe,Gt),v=v+Math.imul(ut,an)|0,a=(a=a+Math.imul(ut,tn)|0)+Math.imul(Le,an)|0,C=C+Math.imul(Le,tn)|0,v=v+Math.imul(Ie,nt)|0,a=(a=a+Math.imul(Ie,gt)|0)+Math.imul(ge,nt)|0,C=C+Math.imul(ge,gt)|0,v=v+Math.imul(We,we)|0,a=(a=a+Math.imul(We,Y)|0)+Math.imul(be,we)|0,C=C+Math.imul(be,Y)|0,v=v+Math.imul(ke,xe)|0,a=(a=a+Math.imul(ke,ze)|0)+Math.imul(Ge,xe)|0,C=C+Math.imul(Ge,ze)|0;var Ze=(B+(v=v+Math.imul(F,ct)|0)|0)+((8191&(a=(a=a+Math.imul(F,Ue)|0)+Math.imul(J,ct)|0))<<13)|0;B=((C=C+Math.imul(J,Ue)|0)+(a>>>13)|0)+(Ze>>>26)|0,Ze&=67108863,v=Math.imul(H,Jt),a=(a=Math.imul(H,Gt))+Math.imul(q,Jt)|0,C=Math.imul(q,Gt),v=v+Math.imul(ne,an)|0,a=(a=a+Math.imul(ne,tn)|0)+Math.imul(fe,an)|0,C=C+Math.imul(fe,tn)|0,v=v+Math.imul(ut,nt)|0,a=(a=a+Math.imul(ut,gt)|0)+Math.imul(Le,nt)|0,C=C+Math.imul(Le,gt)|0,v=v+Math.imul(Ie,we)|0,a=(a=a+Math.imul(Ie,Y)|0)+Math.imul(ge,we)|0,C=C+Math.imul(ge,Y)|0,v=v+Math.imul(We,xe)|0,a=(a=a+Math.imul(We,ze)|0)+Math.imul(be,xe)|0,C=C+Math.imul(be,ze)|0,v=v+Math.imul(ke,ct)|0,a=(a=a+Math.imul(ke,Ue)|0)+Math.imul(Ge,ct)|0,C=C+Math.imul(Ge,Ue)|0;var Be=(B+(v=v+Math.imul(F,Ce)|0)|0)+((8191&(a=(a=a+Math.imul(F,Je)|0)+Math.imul(J,Ce)|0))<<13)|0;B=((C=C+Math.imul(J,Je)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863,v=Math.imul(Re,Jt),a=(a=Math.imul(Re,Gt))+Math.imul(oe,Jt)|0,C=Math.imul(oe,Gt),v=v+Math.imul(H,an)|0,a=(a=a+Math.imul(H,tn)|0)+Math.imul(q,an)|0,C=C+Math.imul(q,tn)|0,v=v+Math.imul(ne,nt)|0,a=(a=a+Math.imul(ne,gt)|0)+Math.imul(fe,nt)|0,C=C+Math.imul(fe,gt)|0,v=v+Math.imul(ut,we)|0,a=(a=a+Math.imul(ut,Y)|0)+Math.imul(Le,we)|0,C=C+Math.imul(Le,Y)|0,v=v+Math.imul(Ie,xe)|0,a=(a=a+Math.imul(Ie,ze)|0)+Math.imul(ge,xe)|0,C=C+Math.imul(ge,ze)|0,v=v+Math.imul(We,ct)|0,a=(a=a+Math.imul(We,Ue)|0)+Math.imul(be,ct)|0,C=C+Math.imul(be,Ue)|0,v=v+Math.imul(ke,Ce)|0,a=(a=a+Math.imul(ke,Je)|0)+Math.imul(Ge,Ce)|0,C=C+Math.imul(Ge,Je)|0;var ht=(B+(v=v+Math.imul(F,Dt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Tt)|0)+Math.imul(J,Dt)|0))<<13)|0;B=((C=C+Math.imul(J,Tt)|0)+(a>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(it,Jt),a=(a=Math.imul(it,Gt))+Math.imul(Ct,Jt)|0,C=Math.imul(Ct,Gt),v=v+Math.imul(Re,an)|0,a=(a=a+Math.imul(Re,tn)|0)+Math.imul(oe,an)|0,C=C+Math.imul(oe,tn)|0,v=v+Math.imul(H,nt)|0,a=(a=a+Math.imul(H,gt)|0)+Math.imul(q,nt)|0,C=C+Math.imul(q,gt)|0,v=v+Math.imul(ne,we)|0,a=(a=a+Math.imul(ne,Y)|0)+Math.imul(fe,we)|0,C=C+Math.imul(fe,Y)|0,v=v+Math.imul(ut,xe)|0,a=(a=a+Math.imul(ut,ze)|0)+Math.imul(Le,xe)|0,C=C+Math.imul(Le,ze)|0,v=v+Math.imul(Ie,ct)|0,a=(a=a+Math.imul(Ie,Ue)|0)+Math.imul(ge,ct)|0,C=C+Math.imul(ge,Ue)|0,v=v+Math.imul(We,Ce)|0,a=(a=a+Math.imul(We,Je)|0)+Math.imul(be,Ce)|0,C=C+Math.imul(be,Je)|0,v=v+Math.imul(ke,Dt)|0,a=(a=a+Math.imul(ke,Tt)|0)+Math.imul(Ge,Dt)|0,C=C+Math.imul(Ge,Tt)|0;var se=(B+(v=v+Math.imul(F,He)|0)|0)+((8191&(a=(a=a+Math.imul(F,$e)|0)+Math.imul(J,He)|0))<<13)|0;B=((C=C+Math.imul(J,$e)|0)+(a>>>13)|0)+(se>>>26)|0,se&=67108863,v=Math.imul(Nt,Jt),a=(a=Math.imul(Nt,Gt))+Math.imul(zt,Jt)|0,C=Math.imul(zt,Gt),v=v+Math.imul(it,an)|0,a=(a=a+Math.imul(it,tn)|0)+Math.imul(Ct,an)|0,C=C+Math.imul(Ct,tn)|0,v=v+Math.imul(Re,nt)|0,a=(a=a+Math.imul(Re,gt)|0)+Math.imul(oe,nt)|0,C=C+Math.imul(oe,gt)|0,v=v+Math.imul(H,we)|0,a=(a=a+Math.imul(H,Y)|0)+Math.imul(q,we)|0,C=C+Math.imul(q,Y)|0,v=v+Math.imul(ne,xe)|0,a=(a=a+Math.imul(ne,ze)|0)+Math.imul(fe,xe)|0,C=C+Math.imul(fe,ze)|0,v=v+Math.imul(ut,ct)|0,a=(a=a+Math.imul(ut,Ue)|0)+Math.imul(Le,ct)|0,C=C+Math.imul(Le,Ue)|0,v=v+Math.imul(Ie,Ce)|0,a=(a=a+Math.imul(Ie,Je)|0)+Math.imul(ge,Ce)|0,C=C+Math.imul(ge,Je)|0,v=v+Math.imul(We,Dt)|0,a=(a=a+Math.imul(We,Tt)|0)+Math.imul(be,Dt)|0,C=C+Math.imul(be,Tt)|0,v=v+Math.imul(ke,He)|0,a=(a=a+Math.imul(ke,$e)|0)+Math.imul(Ge,He)|0,C=C+Math.imul(Ge,$e)|0;var Ae=(B+(v=v+Math.imul(F,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(F,Xt)|0)+Math.imul(J,Rt)|0))<<13)|0;B=((C=C+Math.imul(J,Xt)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,v=Math.imul(Nt,an),a=(a=Math.imul(Nt,tn))+Math.imul(zt,an)|0,C=Math.imul(zt,tn),v=v+Math.imul(it,nt)|0,a=(a=a+Math.imul(it,gt)|0)+Math.imul(Ct,nt)|0,C=C+Math.imul(Ct,gt)|0,v=v+Math.imul(Re,we)|0,a=(a=a+Math.imul(Re,Y)|0)+Math.imul(oe,we)|0,C=C+Math.imul(oe,Y)|0,v=v+Math.imul(H,xe)|0,a=(a=a+Math.imul(H,ze)|0)+Math.imul(q,xe)|0,C=C+Math.imul(q,ze)|0,v=v+Math.imul(ne,ct)|0,a=(a=a+Math.imul(ne,Ue)|0)+Math.imul(fe,ct)|0,C=C+Math.imul(fe,Ue)|0,v=v+Math.imul(ut,Ce)|0,a=(a=a+Math.imul(ut,Je)|0)+Math.imul(Le,Ce)|0,C=C+Math.imul(Le,Je)|0,v=v+Math.imul(Ie,Dt)|0,a=(a=a+Math.imul(Ie,Tt)|0)+Math.imul(ge,Dt)|0,C=C+Math.imul(ge,Tt)|0,v=v+Math.imul(We,He)|0,a=(a=a+Math.imul(We,$e)|0)+Math.imul(be,He)|0,C=C+Math.imul(be,$e)|0;var ft=(B+(v=v+Math.imul(ke,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ke,Xt)|0)+Math.imul(Ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ge,Xt)|0)+(a>>>13)|0)+(ft>>>26)|0,ft&=67108863,v=Math.imul(Nt,nt),a=(a=Math.imul(Nt,gt))+Math.imul(zt,nt)|0,C=Math.imul(zt,gt),v=v+Math.imul(it,we)|0,a=(a=a+Math.imul(it,Y)|0)+Math.imul(Ct,we)|0,C=C+Math.imul(Ct,Y)|0,v=v+Math.imul(Re,xe)|0,a=(a=a+Math.imul(Re,ze)|0)+Math.imul(oe,xe)|0,C=C+Math.imul(oe,ze)|0,v=v+Math.imul(H,ct)|0,a=(a=a+Math.imul(H,Ue)|0)+Math.imul(q,ct)|0,C=C+Math.imul(q,Ue)|0,v=v+Math.imul(ne,Ce)|0,a=(a=a+Math.imul(ne,Je)|0)+Math.imul(fe,Ce)|0,C=C+Math.imul(fe,Je)|0,v=v+Math.imul(ut,Dt)|0,a=(a=a+Math.imul(ut,Tt)|0)+Math.imul(Le,Dt)|0,C=C+Math.imul(Le,Tt)|0,v=v+Math.imul(Ie,He)|0,a=(a=a+Math.imul(Ie,$e)|0)+Math.imul(ge,He)|0,C=C+Math.imul(ge,$e)|0;var Lt=(B+(v=v+Math.imul(We,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(We,Xt)|0)+Math.imul(be,Rt)|0))<<13)|0;B=((C=C+Math.imul(be,Xt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Nt,we),a=(a=Math.imul(Nt,Y))+Math.imul(zt,we)|0,C=Math.imul(zt,Y),v=v+Math.imul(it,xe)|0,a=(a=a+Math.imul(it,ze)|0)+Math.imul(Ct,xe)|0,C=C+Math.imul(Ct,ze)|0,v=v+Math.imul(Re,ct)|0,a=(a=a+Math.imul(Re,Ue)|0)+Math.imul(oe,ct)|0,C=C+Math.imul(oe,Ue)|0,v=v+Math.imul(H,Ce)|0,a=(a=a+Math.imul(H,Je)|0)+Math.imul(q,Ce)|0,C=C+Math.imul(q,Je)|0,v=v+Math.imul(ne,Dt)|0,a=(a=a+Math.imul(ne,Tt)|0)+Math.imul(fe,Dt)|0,C=C+Math.imul(fe,Tt)|0,v=v+Math.imul(ut,He)|0,a=(a=a+Math.imul(ut,$e)|0)+Math.imul(Le,He)|0,C=C+Math.imul(Le,$e)|0;var nn=(B+(v=v+Math.imul(Ie,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Ie,Xt)|0)+Math.imul(ge,Rt)|0))<<13)|0;B=((C=C+Math.imul(ge,Xt)|0)+(a>>>13)|0)+(nn>>>26)|0,nn&=67108863,v=Math.imul(Nt,xe),a=(a=Math.imul(Nt,ze))+Math.imul(zt,xe)|0,C=Math.imul(zt,ze),v=v+Math.imul(it,ct)|0,a=(a=a+Math.imul(it,Ue)|0)+Math.imul(Ct,ct)|0,C=C+Math.imul(Ct,Ue)|0,v=v+Math.imul(Re,Ce)|0,a=(a=a+Math.imul(Re,Je)|0)+Math.imul(oe,Ce)|0,C=C+Math.imul(oe,Je)|0,v=v+Math.imul(H,Dt)|0,a=(a=a+Math.imul(H,Tt)|0)+Math.imul(q,Dt)|0,C=C+Math.imul(q,Tt)|0,v=v+Math.imul(ne,He)|0,a=(a=a+Math.imul(ne,$e)|0)+Math.imul(fe,He)|0,C=C+Math.imul(fe,$e)|0;var Bn=(B+(v=v+Math.imul(ut,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ut,Xt)|0)+Math.imul(Le,Rt)|0))<<13)|0;B=((C=C+Math.imul(Le,Xt)|0)+(a>>>13)|0)+(Bn>>>26)|0,Bn&=67108863,v=Math.imul(Nt,ct),a=(a=Math.imul(Nt,Ue))+Math.imul(zt,ct)|0,C=Math.imul(zt,Ue),v=v+Math.imul(it,Ce)|0,a=(a=a+Math.imul(it,Je)|0)+Math.imul(Ct,Ce)|0,C=C+Math.imul(Ct,Je)|0,v=v+Math.imul(Re,Dt)|0,a=(a=a+Math.imul(Re,Tt)|0)+Math.imul(oe,Dt)|0,C=C+Math.imul(oe,Tt)|0,v=v+Math.imul(H,He)|0,a=(a=a+Math.imul(H,$e)|0)+Math.imul(q,He)|0,C=C+Math.imul(q,$e)|0;var Wn=(B+(v=v+Math.imul(ne,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(ne,Xt)|0)+Math.imul(fe,Rt)|0))<<13)|0;B=((C=C+Math.imul(fe,Xt)|0)+(a>>>13)|0)+(Wn>>>26)|0,Wn&=67108863,v=Math.imul(Nt,Ce),a=(a=Math.imul(Nt,Je))+Math.imul(zt,Ce)|0,C=Math.imul(zt,Je),v=v+Math.imul(it,Dt)|0,a=(a=a+Math.imul(it,Tt)|0)+Math.imul(Ct,Dt)|0,C=C+Math.imul(Ct,Tt)|0,v=v+Math.imul(Re,He)|0,a=(a=a+Math.imul(Re,$e)|0)+Math.imul(oe,He)|0,C=C+Math.imul(oe,$e)|0;var ti=(B+(v=v+Math.imul(H,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(H,Xt)|0)+Math.imul(q,Rt)|0))<<13)|0;B=((C=C+Math.imul(q,Xt)|0)+(a>>>13)|0)+(ti>>>26)|0,ti&=67108863,v=Math.imul(Nt,Dt),a=(a=Math.imul(Nt,Tt))+Math.imul(zt,Dt)|0,C=Math.imul(zt,Tt),v=v+Math.imul(it,He)|0,a=(a=a+Math.imul(it,$e)|0)+Math.imul(Ct,He)|0,C=C+Math.imul(Ct,$e)|0;var Mn=(B+(v=v+Math.imul(Re,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(Re,Xt)|0)+Math.imul(oe,Rt)|0))<<13)|0;B=((C=C+Math.imul(oe,Xt)|0)+(a>>>13)|0)+(Mn>>>26)|0,Mn&=67108863,v=Math.imul(Nt,He),a=(a=Math.imul(Nt,$e))+Math.imul(zt,He)|0,C=Math.imul(zt,$e);var Ln=(B+(v=v+Math.imul(it,Rt)|0)|0)+((8191&(a=(a=a+Math.imul(it,Xt)|0)+Math.imul(Ct,Rt)|0))<<13)|0;B=((C=C+Math.imul(Ct,Xt)|0)+(a>>>13)|0)+(Ln>>>26)|0,Ln&=67108863;var ai=(B+(v=Math.imul(Nt,Rt))|0)+((8191&(a=(a=Math.imul(Nt,Xt))+Math.imul(zt,Rt)|0))<<13)|0;return B=((C=Math.imul(zt,Xt))+(a>>>13)|0)+(ai>>>26)|0,ai&=67108863,L[0]=Vn,L[1]=zn,L[2]=Tn,L[3]=Yn,L[4]=Mt,L[5]=Ze,L[6]=Be,L[7]=ht,L[8]=se,L[9]=Ae,L[10]=ft,L[11]=Lt,L[12]=nn,L[13]=Bn,L[14]=Wn,L[15]=ti,L[16]=Mn,L[17]=Ln,L[18]=ai,0!==B&&(L[19]=B,h.length++),h};function Z(w,n,o){return(new j).mulp(w,n,o)}function j(w,n){this.x=w,this.y=n}Math.imul||(I=z),s.prototype.mulTo=function(n,o){var h,d=this.length+n.length;return h=10===this.length&&10===n.length?I(this,n,o):d<63?z(this,n,o):d<1024?function W(w,n,o){o.negative=n.negative^w.negative,o.length=w.length+n.length;for(var h=0,d=0,y=0;y>>26)|0)>>>26,L&=67108863}o.words[y]=B,h=L,L=d}return 0!==h?o.words[y]=h:o.length--,o.strip()}(this,n,o):Z(this,n,o),h},j.prototype.makeRBT=function(n){for(var o=new Array(n),h=s.prototype._countBits(n)-1,d=0;d>=1;return d},j.prototype.permute=function(n,o,h,d,y,L){for(var B=0;B>>=1)y++;return 1<>>=13,h[2*L+1]=8191&y,y>>>=13;for(L=2*o;L>=26,o+=d/67108864|0,o+=y>>>26,this.words[h]=67108863&y}return 0!==o&&(this.words[h]=o,this.length++),this},s.prototype.muln=function(n){return this.clone().imuln(n)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(n){var o=function M(w){for(var n=new Array(w.bitLength()),o=0;o>>d}return n}(n);if(0===o.length)return new s(1);for(var h=this,d=0;d=0);var y,o=n%26,h=(n-o)/26,d=67108863>>>26-o<<26-o;if(0!==o){var L=0;for(y=0;y>>26-o}L&&(this.words[y]=L,this.length++)}if(0!==h){for(y=this.length-1;y>=0;y--)this.words[y+h]=this.words[y];for(y=0;y=0),d=o?(o-o%26)/26:0;var y=n%26,L=Math.min((n-y)/26,this.length),B=67108863^67108863>>>y<L)for(this.length-=L,a=0;a=0&&(0!==C||a>=d);a--){var N=0|this.words[a];this.words[a]=C<<26-y|N>>>y,C=N&B}return v&&0!==C&&(v.words[v.length++]=C),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(n,o,h){return _(0===this.negative),this.iushrn(n,o,h)},s.prototype.shln=function(n){return this.clone().ishln(n)},s.prototype.ushln=function(n){return this.clone().iushln(n)},s.prototype.shrn=function(n){return this.clone().ishrn(n)},s.prototype.ushrn=function(n){return this.clone().iushrn(n)},s.prototype.testn=function(n){_("number"==typeof n&&n>=0);var o=n%26,h=(n-o)/26,d=1<=0);var o=n%26,h=(n-o)/26;if(_(0===this.negative,"imaskn works only with positive numbers"),this.length<=h)return this;if(0!==o&&h++,this.length=Math.min(h,this.length),0!==o){var d=67108863^67108863>>>o<=67108864;o++)this.words[o]-=67108864,o===this.length-1?this.words[o+1]=1:this.words[o+1]++;return this.length=Math.max(this.length,o+1),this},s.prototype.isubn=function(n){if(_("number"==typeof n),_(n<67108864),n<0)return this.iaddn(-n);if(0!==this.negative)return this.negative=0,this.iaddn(n),this.negative=1,this;if(this.words[0]-=n,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var o=0;o>26)-(v/67108864|0),this.words[y+h]=67108863&L}for(;y>26,this.words[y+h]=67108863&L;if(0===B)return this.strip();for(_(-1===B),B=0,y=0;y>26,this.words[y]=67108863&L;return this.negative=1,this.strip()},s.prototype._wordDiv=function(n,o){var h=(this.length,n.length),d=this.clone(),y=n,L=0|y.words[y.length-1];0!==(h=26-this._countBits(L))&&(y=y.ushln(h),d.iushln(h),L=0|y.words[y.length-1]);var a,v=d.length-y.length;if("mod"!==o){(a=new s(null)).length=v+1,a.words=new Array(a.length);for(var C=0;C=0;F--){var J=67108864*(0|d.words[y.length+F])+(0|d.words[y.length+F-1]);for(J=Math.min(J/L|0,67108863),d._ishlnsubmul(y,J,F);0!==d.negative;)J--,d.negative=0,d._ishlnsubmul(y,1,F),d.isZero()||(d.negative^=1);a&&(a.words[F]=J)}return a&&a.strip(),d.strip(),"div"!==o&&0!==h&&d.iushrn(h),{div:a||null,mod:d}},s.prototype.divmod=function(n,o,h){return _(!n.isZero()),this.isZero()?{div:new s(0),mod:new s(0)}:0!==this.negative&&0===n.negative?(L=this.neg().divmod(n,o),"mod"!==o&&(d=L.div.neg()),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.iadd(n)),{div:d,mod:y}):0===this.negative&&0!==n.negative?(L=this.divmod(n.neg(),o),"mod"!==o&&(d=L.div.neg()),{div:d,mod:L.mod}):0!=(this.negative&n.negative)?(L=this.neg().divmod(n.neg(),o),"div"!==o&&(y=L.mod.neg(),h&&0!==y.negative&&y.isub(n)),{div:L.div,mod:y}):n.length>this.length||this.cmp(n)<0?{div:new s(0),mod:this}:1===n.length?"div"===o?{div:this.divn(n.words[0]),mod:null}:"mod"===o?{div:null,mod:new s(this.modn(n.words[0]))}:{div:this.divn(n.words[0]),mod:new s(this.modn(n.words[0]))}:this._wordDiv(n,o);var d,y,L},s.prototype.div=function(n){return this.divmod(n,"div",!1).div},s.prototype.mod=function(n){return this.divmod(n,"mod",!1).mod},s.prototype.umod=function(n){return this.divmod(n,"mod",!0).mod},s.prototype.divRound=function(n){var o=this.divmod(n);if(o.mod.isZero())return o.div;var h=0!==o.div.negative?o.mod.isub(n):o.mod,d=n.ushrn(1),y=n.andln(1),L=h.cmp(d);return L<0||1===y&&0===L?o.div:0!==o.div.negative?o.div.isubn(1):o.div.iaddn(1)},s.prototype.modn=function(n){_(n<=67108863);for(var o=(1<<26)%n,h=0,d=this.length-1;d>=0;d--)h=(o*h+(0|this.words[d]))%n;return h},s.prototype.idivn=function(n){_(n<=67108863);for(var o=0,h=this.length-1;h>=0;h--){var d=(0|this.words[h])+67108864*o;this.words[h]=d/n|0,o=d%n}return this.strip()},s.prototype.divn=function(n){return this.clone().idivn(n)},s.prototype.egcd=function(n){_(0===n.negative),_(!n.isZero());var o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=new s(0),B=new s(1),v=0;o.isEven()&&h.isEven();)o.iushrn(1),h.iushrn(1),++v;for(var a=h.clone(),C=o.clone();!o.isZero();){for(var N=0,F=1;0==(o.words[0]&F)&&N<26;++N,F<<=1);if(N>0)for(o.iushrn(N);N-- >0;)(d.isOdd()||y.isOdd())&&(d.iadd(a),y.isub(C)),d.iushrn(1),y.iushrn(1);for(var J=0,Fe=1;0==(h.words[0]&Fe)&&J<26;++J,Fe<<=1);if(J>0)for(h.iushrn(J);J-- >0;)(L.isOdd()||B.isOdd())&&(L.iadd(a),B.isub(C)),L.iushrn(1),B.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(L),y.isub(B)):(h.isub(o),L.isub(d),B.isub(y))}return{a:L,b:B,gcd:h.iushln(v)}},s.prototype._invmp=function(n){_(0===n.negative),_(!n.isZero());var N,o=this,h=n.clone();o=0!==o.negative?o.umod(n):o.clone();for(var d=new s(1),y=new s(0),L=h.clone();o.cmpn(1)>0&&h.cmpn(1)>0;){for(var B=0,v=1;0==(o.words[0]&v)&&B<26;++B,v<<=1);if(B>0)for(o.iushrn(B);B-- >0;)d.isOdd()&&d.iadd(L),d.iushrn(1);for(var a=0,C=1;0==(h.words[0]&C)&&a<26;++a,C<<=1);if(a>0)for(h.iushrn(a);a-- >0;)y.isOdd()&&y.iadd(L),y.iushrn(1);o.cmp(h)>=0?(o.isub(h),d.isub(y)):(h.isub(o),y.isub(d))}return(N=0===o.cmpn(1)?d:y).cmpn(0)<0&&N.iadd(n),N},s.prototype.gcd=function(n){if(this.isZero())return n.abs();if(n.isZero())return this.abs();var o=this.clone(),h=n.clone();o.negative=0,h.negative=0;for(var d=0;o.isEven()&&h.isEven();d++)o.iushrn(1),h.iushrn(1);for(;;){for(;o.isEven();)o.iushrn(1);for(;h.isEven();)h.iushrn(1);var y=o.cmp(h);if(y<0){var L=o;o=h,h=L}else if(0===y||0===h.cmpn(1))break;o.isub(h)}return h.iushln(d)},s.prototype.invm=function(n){return this.egcd(n).a.umod(n)},s.prototype.isEven=function(){return 0==(1&this.words[0])},s.prototype.isOdd=function(){return 1==(1&this.words[0])},s.prototype.andln=function(n){return this.words[0]&n},s.prototype.bincn=function(n){_("number"==typeof n);var o=n%26,h=(n-o)/26,d=1<>>26,B&=67108863,this.words[L]=B}return 0!==y&&(this.words[L]=y,this.length++),this},s.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},s.prototype.cmpn=function(n){var h,o=n<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)h=1;else{o&&(n=-n),_(n<=67108863,"Number is too big");var d=0|this.words[0];h=d===n?0:dn.length)return 1;if(this.length=0;h--){var d=0|this.words[h],y=0|n.words[h];if(d!==y){dy&&(o=1);break}}return o},s.prototype.gtn=function(n){return 1===this.cmpn(n)},s.prototype.gt=function(n){return 1===this.cmp(n)},s.prototype.gten=function(n){return this.cmpn(n)>=0},s.prototype.gte=function(n){return this.cmp(n)>=0},s.prototype.ltn=function(n){return-1===this.cmpn(n)},s.prototype.lt=function(n){return-1===this.cmp(n)},s.prototype.lten=function(n){return this.cmpn(n)<=0},s.prototype.lte=function(n){return this.cmp(n)<=0},s.prototype.eqn=function(n){return 0===this.cmpn(n)},s.prototype.eq=function(n){return 0===this.cmp(n)},s.red=function(n){return new $(n)},s.prototype.toRed=function(n){return _(!this.red,"Already a number in reduction context"),_(0===this.negative,"red works only with positives"),n.convertTo(this)._forceRed(n)},s.prototype.fromRed=function(){return _(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(n){return this.red=n,this},s.prototype.forceRed=function(n){return _(!this.red,"Already a number in reduction context"),this._forceRed(n)},s.prototype.redAdd=function(n){return _(this.red,"redAdd works only with red numbers"),this.red.add(this,n)},s.prototype.redIAdd=function(n){return _(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,n)},s.prototype.redSub=function(n){return _(this.red,"redSub works only with red numbers"),this.red.sub(this,n)},s.prototype.redISub=function(n){return _(this.red,"redISub works only with red numbers"),this.red.isub(this,n)},s.prototype.redShl=function(n){return _(this.red,"redShl works only with red numbers"),this.red.shl(this,n)},s.prototype.redMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.mul(this,n)},s.prototype.redIMul=function(n){return _(this.red,"redMul works only with red numbers"),this.red._verify2(this,n),this.red.imul(this,n)},s.prototype.redSqr=function(){return _(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return _(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return _(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return _(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return _(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(n){return _(this.red&&!n.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,n)};var ae={k256:null,p224:null,p192:null,p25519:null};function re(w,n){this.name=w,this.p=new s(n,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function pe(){re.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function le(){re.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ve(){re.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function de(){re.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function $(w){if("string"==typeof w){var n=s._prime(w);this.m=n.p,this.prime=n}else _(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}function ue(w){$.call(this,w),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}re.prototype._tmp=function(){var n=new s(null);return n.words=new Array(Math.ceil(this.n/13)),n},re.prototype.ireduce=function(n){var h,o=n;do{this.split(o,this.tmp),h=(o=(o=this.imulK(o)).iadd(this.tmp)).bitLength()}while(h>this.n);var d=h0?o.isub(this.p):void 0!==o.strip?o.strip():o._strip(),o},re.prototype.split=function(n,o){n.iushrn(this.n,0,o)},re.prototype.imulK=function(n){return n.imul(this.k)},E(pe,re),pe.prototype.split=function(n,o){for(var h=4194303,d=Math.min(n.length,9),y=0;y>>22,L=B}L>>>=22,n.words[y-10]=L,0===L&&n.length>10?n.length-=10:n.length-=9},pe.prototype.imulK=function(n){n.words[n.length]=0,n.words[n.length+1]=0,n.length+=2;for(var o=0,h=0;h>>=26,n.words[h]=y,o=d}return 0!==o&&(n.words[n.length++]=o),n},s._prime=function(n){if(ae[n])return ae[n];var o;if("k256"===n)o=new pe;else if("p224"===n)o=new le;else if("p192"===n)o=new ve;else{if("p25519"!==n)throw new Error("Unknown prime "+n);o=new de}return ae[n]=o,o},$.prototype._verify1=function(n){_(0===n.negative,"red works only with positives"),_(n.red,"red works only with red numbers")},$.prototype._verify2=function(n,o){_(0==(n.negative|o.negative),"red works only with positives"),_(n.red&&n.red===o.red,"red works only with red numbers")},$.prototype.imod=function(n){return this.prime?this.prime.ireduce(n)._forceRed(this):n.umod(this.m)._forceRed(this)},$.prototype.neg=function(n){return n.isZero()?n.clone():this.m.sub(n)._forceRed(this)},$.prototype.add=function(n,o){this._verify2(n,o);var h=n.add(o);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},$.prototype.iadd=function(n,o){this._verify2(n,o);var h=n.iadd(o);return h.cmp(this.m)>=0&&h.isub(this.m),h},$.prototype.sub=function(n,o){this._verify2(n,o);var h=n.sub(o);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},$.prototype.isub=function(n,o){this._verify2(n,o);var h=n.isub(o);return h.cmpn(0)<0&&h.iadd(this.m),h},$.prototype.shl=function(n,o){return this._verify1(n),this.imod(n.ushln(o))},$.prototype.imul=function(n,o){return this._verify2(n,o),this.imod(n.imul(o))},$.prototype.mul=function(n,o){return this._verify2(n,o),this.imod(n.mul(o))},$.prototype.isqr=function(n){return this.imul(n,n.clone())},$.prototype.sqr=function(n){return this.mul(n,n)},$.prototype.sqrt=function(n){if(n.isZero())return n.clone();var o=this.m.andln(3);if(_(o%2==1),3===o){var h=this.m.add(new s(1)).iushrn(2);return this.pow(n,h)}for(var d=this.m.subn(1),y=0;!d.isZero()&&0===d.andln(1);)y++,d.iushrn(1);_(!d.isZero());var L=new s(1).toRed(this),B=L.redNeg(),v=this.m.subn(1).iushrn(1),a=this.m.bitLength();for(a=new s(2*a*a).toRed(this);0!==this.pow(a,v).cmp(B);)a.redIAdd(B);for(var C=this.pow(a,d),N=this.pow(n,d.addn(1).iushrn(1)),F=this.pow(n,d),J=y;0!==F.cmp(L);){for(var Fe=F,ke=0;0!==Fe.cmp(L);ke++)Fe=Fe.redSqr();_(ke=0;y--){for(var C=o.words[y],N=a-1;N>=0;N--){var F=C>>N&1;(L!==d[0]&&(L=this.sqr(L)),0!==F||0!==B)?(B<<=1,B|=F,(4===++v||0===y&&0===N)&&(L=this.mul(L,d[B]),v=0,B=0)):v=0}a=26}return L},$.prototype.convertTo=function(n){var o=n.umod(this.m);return o===n?o.clone():o},$.prototype.convertFrom=function(n){var o=n.clone();return o.red=null,o},s.mont=function(n){return new ue(n)},E(ue,$),ue.prototype.convertTo=function(n){return this.imod(n.ushln(this.shift))},ue.prototype.convertFrom=function(n){var o=this.imod(n.mul(this.rinv));return o.red=null,o},ue.prototype.imul=function(n,o){if(n.isZero()||o.isZero())return n.words[0]=0,n.length=1,n;var h=n.imul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.mul=function(n,o){if(n.isZero()||o.isZero())return new s(0)._forceRed(this);var h=n.mul(o),d=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),y=h.isub(d).iushrn(this.shift),L=y;return y.cmp(this.m)>=0?L=y.isub(this.m):y.cmpn(0)<0&&(L=y.iadd(this.m)),L._forceRed(this)},ue.prototype.invm=function(n){return this.imod(n._invmp(this.m).mul(this.r2))._forceRed(this)}})(Ve=m.nmd(Ve),this)},9674:(Ve,X,m)=>{var e=m(5752),t=m(2096),_=m(464),E=m(6807),s=m(6661),D=m(145),u=m(630),k=m(9708).Buffer;Ve.exports=function(M,z,I){var W;W=M.padding?M.padding:I?1:4;var ae,Z=e(M),j=Z.modulus.byteLength();if(z.length>j||new E(z).cmp(Z.modulus)>=0)throw new Error("decryption error");ae=I?u(new E(z),Z):s(z,Z);var re=k.alloc(j-ae.length);if(ae=k.concat([re,ae],j),4===W)return function p(P,M){var z=P.modulus.byteLength(),I=D("sha1").update(k.alloc(0)).digest(),W=I.length;if(0!==M[0])throw new Error("decryption error");var Z=M.slice(1,W+1),j=M.slice(W+1),ae=_(Z,t(j,W)),re=_(j,t(ae,z-W-1));if(function A(P,M){P=k.from(P),M=k.from(M);var z=0,I=P.length;P.length!==M.length&&(z++,I=Math.min(P.length,M.length));for(var W=-1;++W=M.length){Z++;break}var j=M.slice(2,W-1);if(("0002"!==I.toString("hex")&&!z||"0001"!==I.toString("hex")&&z)&&Z++,j.length<8&&Z++,Z)throw new Error("decryption error");return M.slice(W)}(0,ae,I);if(3===W)return ae;throw new Error("unknown padding")}},3653:(Ve,X,m)=>{var e=m(5752),t=m(1186),_=m(145),E=m(2096),s=m(464),D=m(6807),u=m(630),k=m(6661),p=m(9708).Buffer;Ve.exports=function(z,I,W){var Z;Z=z.padding?z.padding:W?1:4;var ae,j=e(z);if(4===Z)ae=function S(M,z){var I=M.modulus.byteLength(),W=z.length,Z=_("sha1").update(p.alloc(0)).digest(),j=Z.length,ae=2*j;if(W>I-ae-2)throw new Error("message too long");var re=p.alloc(I-W-ae-2),pe=I-j-1,le=t(j),ve=s(p.concat([Z,re,p.alloc(1,1),z],pe),E(le,pe)),de=s(le,E(ve,j));return new D(p.concat([p.alloc(1),de,ve],I))}(j,I);else if(1===Z)ae=function A(M,z,I){var j,W=z.length,Z=M.modulus.byteLength();if(W>Z-11)throw new Error("message too long");return j=I?p.alloc(Z-W-3,255):function P(M){for(var j,z=p.allocUnsafe(M),I=0,W=t(2*M),Z=0;I=0)throw new Error("data too long for modulus")}return W?k(ae,j):u(ae,j)}},630:(Ve,X,m)=>{var e=m(6807),t=m(9708).Buffer;Ve.exports=function _(E,s){return t.from(E.toRed(e.mont(s.modulus)).redPow(new e(s.publicExponent)).fromRed().toArray())}},464:Ve=>{Ve.exports=function(m,e){for(var t=m.length,_=-1;++_{const e=m(5704),t=m(9102),_=m(9326),E=m(226);function s(D,u,k,p,S){const A=[].slice.call(arguments,1),P=A.length,M="function"==typeof A[P-1];if(!M&&!e())throw new Error("Callback required as last argument");if(!M){if(P<1)throw new Error("Too few arguments provided");return 1===P?(k=u,u=p=void 0):2===P&&!u.getContext&&(p=k,k=u,u=void 0),new Promise(function(z,I){try{const W=t.create(k,p);z(D(W,u,p))}catch(W){I(W)}})}if(P<2)throw new Error("Too few arguments provided");2===P?(S=k,k=u,u=p=void 0):3===P&&(u.getContext&&typeof S>"u"?(S=p,p=void 0):(S=p,p=k,k=u,u=void 0));try{const z=t.create(k,p);S(null,D(z,u,p))}catch(z){S(z)}}X.create=t.create,X.toCanvas=s.bind(null,_.render),X.toDataURL=s.bind(null,_.renderToDataURL),X.toString=s.bind(null,function(D,u,k){return E.render(D,k)})},5704:Ve=>{Ve.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},8298:(Ve,X,m)=>{const e=m(2230).getSymbolSize;X.getRowColCoords=function(_){if(1===_)return[];const E=Math.floor(_/7)+2,s=e(_),D=145===s?26:2*Math.ceil((s-13)/(2*E-2)),u=[s-7];for(let k=1;k{const e=m(4059),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function _(E){this.mode=e.ALPHANUMERIC,this.data=E}_.getBitsLength=function(s){return 11*Math.floor(s/2)+s%2*6},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(s){let D;for(D=0;D+2<=this.data.length;D+=2){let u=45*t.indexOf(this.data[D]);u+=t.indexOf(this.data[D+1]),s.put(u,11)}this.data.length%2&&s.put(t.indexOf(this.data[D]),6)},Ve.exports=_},7701:Ve=>{function X(){this.buffer=[],this.length=0}X.prototype={get:function(m){const e=Math.floor(m/8);return 1==(this.buffer[e]>>>7-m%8&1)},put:function(m,e){for(let t=0;t>>e-t-1&1))},getLengthInBits:function(){return this.length},putBit:function(m){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),m&&(this.buffer[e]|=128>>>this.length%8),this.length++}},Ve.exports=X},9088:Ve=>{function X(m){if(!m||m<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=m,this.data=new Uint8Array(m*m),this.reservedBit=new Uint8Array(m*m)}X.prototype.set=function(m,e,t,_){const E=m*this.size+e;this.data[E]=t,_&&(this.reservedBit[E]=!0)},X.prototype.get=function(m,e){return this.data[m*this.size+e]},X.prototype.xor=function(m,e,t){this.data[m*this.size+e]^=t},X.prototype.isReserved=function(m,e){return this.reservedBit[m*this.size+e]},Ve.exports=X},6323:(Ve,X,m)=>{const e=m(6236),t=m(4059);function _(E){this.mode=t.BYTE,"string"==typeof E&&(E=e(E)),this.data=new Uint8Array(E)}_.getBitsLength=function(s){return 8*s},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(E){for(let s=0,D=this.data.length;s{const e=m(5448),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],_=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];X.getBlocksCount=function(s,D){switch(D){case e.L:return t[4*(s-1)+0];case e.M:return t[4*(s-1)+1];case e.Q:return t[4*(s-1)+2];case e.H:return t[4*(s-1)+3];default:return}},X.getTotalCodewordsCount=function(s,D){switch(D){case e.L:return _[4*(s-1)+0];case e.M:return _[4*(s-1)+1];case e.Q:return _[4*(s-1)+2];case e.H:return _[4*(s-1)+3];default:return}}},5448:(Ve,X)=>{X.L={bit:1},X.M={bit:0},X.Q={bit:3},X.H={bit:2},X.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4},X.from=function(t,_){if(X.isValid(t))return t;try{return function m(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return X.L;case"m":case"medium":return X.M;case"q":case"quartile":return X.Q;case"h":case"high":return X.H;default:throw new Error("Unknown EC Level: "+e)}}(t)}catch{return _}}},2903:(Ve,X,m)=>{const e=m(2230).getSymbolSize;X.getPositions=function(E){const s=e(E);return[[0,0],[s-7,0],[0,s-7]]}},6327:(Ve,X,m)=>{const e=m(2230),E=e.getBCHDigit(1335);X.getEncodedBits=function(D,u){const k=D.bit<<3|u;let p=k<<10;for(;e.getBCHDigit(p)-E>=0;)p^=1335<{const m=new Uint8Array(512),e=new Uint8Array(256);(function(){let _=1;for(let E=0;E<255;E++)m[E]=_,e[_]=E,_<<=1,256&_&&(_^=285);for(let E=255;E<512;E++)m[E]=m[E-255]})(),X.log=function(_){if(_<1)throw new Error("log("+_+")");return e[_]},X.exp=function(_){return m[_]},X.mul=function(_,E){return 0===_||0===E?0:m[e[_]+e[E]]}},5134:(Ve,X,m)=>{const e=m(4059),t=m(2230);function _(E){this.mode=e.KANJI,this.data=E}_.getBitsLength=function(s){return 13*s},_.prototype.getLength=function(){return this.data.length},_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)},_.prototype.write=function(E){let s;for(s=0;s=33088&&D<=40956)D-=33088;else{if(!(D>=57408&&D<=60351))throw new Error("Invalid SJIS character: "+this.data[s]+"\nMake sure your charset is UTF-8");D-=49472}D=192*(D>>>8&255)+(255&D),E.put(D,13)}},Ve.exports=_},6485:(Ve,X)=>{X.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const m_N1=3,m_N2=3,m_N3=40,m_N4=10;function e(t,_,E){switch(t){case X.Patterns.PATTERN000:return(_+E)%2==0;case X.Patterns.PATTERN001:return _%2==0;case X.Patterns.PATTERN010:return E%3==0;case X.Patterns.PATTERN011:return(_+E)%3==0;case X.Patterns.PATTERN100:return(Math.floor(_/2)+Math.floor(E/3))%2==0;case X.Patterns.PATTERN101:return _*E%2+_*E%3==0;case X.Patterns.PATTERN110:return(_*E%2+_*E%3)%2==0;case X.Patterns.PATTERN111:return(_*E%3+(_+E)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}X.isValid=function(_){return null!=_&&""!==_&&!isNaN(_)&&_>=0&&_<=7},X.from=function(_){return X.isValid(_)?parseInt(_,10):void 0},X.getPenaltyN1=function(_){const E=_.size;let s=0,D=0,u=0,k=null,p=null;for(let S=0;S=5&&(s+=m_N1+(D-5)),k=P,D=1),P=_.get(A,S),P===p?u++:(u>=5&&(s+=m_N1+(u-5)),p=P,u=1)}D>=5&&(s+=m_N1+(D-5)),u>=5&&(s+=m_N1+(u-5))}return s},X.getPenaltyN2=function(_){const E=_.size;let s=0;for(let D=0;D=10&&(1488===D||93===D)&&s++,u=u<<1&2047|_.get(p,k),p>=10&&(1488===u||93===u)&&s++}return s*m_N3},X.getPenaltyN4=function(_){let E=0;const s=_.data.length;for(let u=0;u{const e=m(6859),t=m(7526);X.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},X.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},X.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},X.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},X.MIXED={bit:-1},X.getCharCountIndicator=function(s,D){if(!s.ccBits)throw new Error("Invalid mode: "+s);if(!e.isValid(D))throw new Error("Invalid version: "+D);return D>=1&&D<10?s.ccBits[0]:D<27?s.ccBits[1]:s.ccBits[2]},X.getBestModeForData=function(s){return t.testNumeric(s)?X.NUMERIC:t.testAlphanumeric(s)?X.ALPHANUMERIC:t.testKanji(s)?X.KANJI:X.BYTE},X.toString=function(s){if(s&&s.id)return s.id;throw new Error("Invalid mode")},X.isValid=function(s){return s&&s.bit&&s.ccBits},X.from=function(s,D){if(X.isValid(s))return s;try{return function _(E){if("string"!=typeof E)throw new Error("Param is not a string");switch(E.toLowerCase()){case"numeric":return X.NUMERIC;case"alphanumeric":return X.ALPHANUMERIC;case"kanji":return X.KANJI;case"byte":return X.BYTE;default:throw new Error("Unknown mode: "+E)}}(s)}catch{return D}}},9782:(Ve,X,m)=>{const e=m(4059);function t(_){this.mode=e.NUMERIC,this.data=_.toString()}t.getBitsLength=function(E){return 10*Math.floor(E/3)+(E%3?E%3*3+1:0)},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(E){let s,D,u;for(s=0;s+3<=this.data.length;s+=3)D=this.data.substr(s,3),u=parseInt(D,10),E.put(u,10);const k=this.data.length-s;k>0&&(D=this.data.substr(s),u=parseInt(D,10),E.put(u,3*k+1))},Ve.exports=t},1845:(Ve,X,m)=>{const e=m(9240);X.mul=function(_,E){const s=new Uint8Array(_.length+E.length-1);for(let D=0;D<_.length;D++)for(let u=0;u=0;){const D=s[0];for(let k=0;k{const e=m(2230),t=m(5448),_=m(7701),E=m(9088),s=m(8298),D=m(2903),u=m(6485),k=m(1690),p=m(3035),S=m(8421),A=m(6327),P=m(4059),M=m(2149);function j(ve,de,$){const ue=ve.size,w=A.getEncodedBits(de,$);let n,o;for(n=0;n<15;n++)o=1==(w>>n&1),n<6?ve.set(n,8,o,!0):n<8?ve.set(n+1,8,o,!0):ve.set(ue-15+n,8,o,!0),n<8?ve.set(8,ue-n-1,o,!0):n<9?ve.set(8,15-n-1+1,o,!0):ve.set(8,15-n-1,o,!0);ve.set(ue-8,8,1,!0)}function re(ve,de,$){const ue=new _;$.forEach(function(d){ue.put(d.mode.bit,4),ue.put(d.getLength(),P.getCharCountIndicator(d.mode,ve)),d.write(ue)});const o=8*(e.getSymbolTotalCodewords(ve)-k.getTotalCodewordsCount(ve,de));for(ue.getLengthInBits()+4<=o&&ue.put(0,4);ue.getLengthInBits()%8!=0;)ue.putBit(0);const h=(o-ue.getLengthInBits())/8;for(let d=0;d=0&&h<=6&&(0===d||6===d)||d>=0&&d<=6&&(0===h||6===h)||h>=2&&h<=4&&d>=2&&d<=4?ve.set(n+h,o+d,!0,!0):ve.set(n+h,o+d,!1,!0))}}(d,de),function I(ve){const de=ve.size;for(let $=8;$=7&&function Z(ve,de){const $=ve.size,ue=S.getEncodedBits(de);let w,n,o;for(let h=0;h<18;h++)w=Math.floor(h/3),n=h%3+$-8-3,o=1==(ue>>h&1),ve.set(w,n,o,!0),ve.set(n,w,o,!0)}(d,de),function ae(ve,de){const $=ve.size;let ue=-1,w=$-1,n=7,o=0;for(let h=$-1;h>0;h-=2)for(6===h&&h--;;){for(let d=0;d<2;d++)if(!ve.isReserved(w,h-d)){let y=!1;o>>n&1)),ve.set(w,h-d,y),n--,-1===n&&(o++,n=7)}if(w+=ue,w<0||$<=w){w-=ue,ue=-ue;break}}}(d,o),isNaN(ue)&&(ue=u.getBestMask(d,j.bind(null,d,$))),u.applyMask(ue,d),j(d,$,ue),{modules:d,version:de,errorCorrectionLevel:$,maskPattern:ue,segments:w}}X.create=function(de,$){if(typeof de>"u"||""===de)throw new Error("No input text");let w,n,ue=t.M;return typeof $<"u"&&(ue=t.from($.errorCorrectionLevel,t.M),w=S.from($.version),n=u.from($.maskPattern),$.toSJISFunc&&e.setToSJISFunction($.toSJISFunc)),le(de,w,ue,n)}},3035:(Ve,X,m)=>{const e=m(1845);function t(_){this.genPoly=void 0,this.degree=_,this.degree&&this.initialize(this.degree)}t.prototype.initialize=function(E){this.degree=E,this.genPoly=e.generateECPolynomial(this.degree)},t.prototype.encode=function(E){if(!this.genPoly)throw new Error("Encoder not initialized");const s=new Uint8Array(E.length+this.degree);s.set(E);const D=e.mod(s,this.genPoly),u=this.degree-D.length;if(u>0){const k=new Uint8Array(this.degree);return k.set(D,u),k}return D},Ve.exports=t},7526:(Ve,X)=>{const m="[0-9]+";let t="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";t=t.replace(/u/g,"\\u");const _="(?:(?![A-Z0-9 $%*+\\-./:]|"+t+")(?:.|[\r\n]))+";X.KANJI=new RegExp(t,"g"),X.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),X.BYTE=new RegExp(_,"g"),X.NUMERIC=new RegExp(m,"g"),X.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const E=new RegExp("^"+t+"$"),s=new RegExp("^"+m+"$"),D=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");X.testKanji=function(k){return E.test(k)},X.testNumeric=function(k){return s.test(k)},X.testAlphanumeric=function(k){return D.test(k)}},2149:(Ve,X,m)=>{const e=m(4059),t=m(9782),_=m(9321),E=m(6323),s=m(5134),D=m(7526),u=m(2230),k=m(6348);function p(Z){return unescape(encodeURIComponent(Z)).length}function S(Z,j,ae){const re=[];let pe;for(;null!==(pe=Z.exec(ae));)re.push({data:pe[0],index:pe.index,mode:j,length:pe[0].length});return re}function A(Z){const j=S(D.NUMERIC,e.NUMERIC,Z),ae=S(D.ALPHANUMERIC,e.ALPHANUMERIC,Z);let re,pe;return u.isKanjiModeEnabled()?(re=S(D.BYTE,e.BYTE,Z),pe=S(D.KANJI,e.KANJI,Z)):(re=S(D.BYTE_KANJI,e.BYTE,Z),pe=[]),j.concat(ae,re,pe).sort(function(ve,de){return ve.index-de.index}).map(function(ve){return{data:ve.data,mode:ve.mode,length:ve.length}})}function P(Z,j){switch(j){case e.NUMERIC:return t.getBitsLength(Z);case e.ALPHANUMERIC:return _.getBitsLength(Z);case e.KANJI:return s.getBitsLength(Z);case e.BYTE:return E.getBitsLength(Z)}}function W(Z,j){let ae;const re=e.getBestModeForData(Z);if(ae=e.from(j,re),ae!==e.BYTE&&ae.bit=0?j[j.length-1]:null;return re&&re.mode===ae.mode?(j[j.length-1].data+=ae.data,j):(j.push(ae),j)},[])}(de))},X.rawSplit=function(j){return X.fromArray(A(j,u.isKanjiModeEnabled()))}},2230:(Ve,X)=>{let m;const e=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];X.getSymbolSize=function(_){if(!_)throw new Error('"version" cannot be null or undefined');if(_<1||_>40)throw new Error('"version" should be in range from 1 to 40');return 4*_+17},X.getSymbolTotalCodewords=function(_){return e[_]},X.getBCHDigit=function(t){let _=0;for(;0!==t;)_++,t>>>=1;return _},X.setToSJISFunction=function(_){if("function"!=typeof _)throw new Error('"toSJISFunc" is not a valid function.');m=_},X.isKanjiModeEnabled=function(){return typeof m<"u"},X.toSJIS=function(_){return m(_)}},6859:(Ve,X)=>{X.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},8421:(Ve,X,m)=>{const e=m(2230),t=m(1690),_=m(5448),E=m(4059),s=m(6859),u=e.getBCHDigit(7973);function p(P,M){return E.getCharCountIndicator(P,M)+4}function S(P,M){let z=0;return P.forEach(function(I){const W=p(I.mode,M);z+=W+I.getBitsLength()}),z}X.from=function(M,z){return s.isValid(M)?parseInt(M,10):z},X.getCapacity=function(M,z,I){if(!s.isValid(M))throw new Error("Invalid QR Code version");typeof I>"u"&&(I=E.BYTE);const j=8*(e.getSymbolTotalCodewords(M)-t.getTotalCodewordsCount(M,z));if(I===E.MIXED)return j;const ae=j-p(I,M);switch(I){case E.NUMERIC:return Math.floor(ae/10*3);case E.ALPHANUMERIC:return Math.floor(ae/11*2);case E.KANJI:return Math.floor(ae/13);case E.BYTE:default:return Math.floor(ae/8)}},X.getBestVersionForData=function(M,z){let I;const W=_.from(z,_.M);if(Array.isArray(M)){if(M.length>1)return function A(P,M){for(let z=1;z<=40;z++)if(S(P,z)<=X.getCapacity(z,M,E.MIXED))return z}(M,W);if(0===M.length)return 1;I=M[0]}else I=M;return function k(P,M,z){for(let I=1;I<=40;I++)if(M<=X.getCapacity(I,z,P))return I}(I.mode,I.getLength(),W)},X.getEncodedBits=function(M){if(!s.isValid(M)||M<7)throw new Error("Invalid QR Code version");let z=M<<12;for(;e.getBCHDigit(z)-u>=0;)z^=7973<{const e=m(3239);X.render=function(s,D,u){let k=u,p=D;typeof k>"u"&&(!D||!D.getContext)&&(k=D,D=void 0),D||(p=function _(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}()),k=e.getOptions(k);const S=e.getImageWidth(s.modules.size,k),A=p.getContext("2d"),P=A.createImageData(S,S);return e.qrToImageData(P.data,s,k),function t(E,s,D){E.clearRect(0,0,s.width,s.height),s.style||(s.style={}),s.height=D,s.width=D,s.style.height=D+"px",s.style.width=D+"px"}(A,p,S),A.putImageData(P,0,0),p},X.renderToDataURL=function(s,D,u){let k=u;typeof k>"u"&&(!D||!D.getContext)&&(k=D,D=void 0),k||(k={});const p=X.render(s,D,k),S=k.type||"image/png",A=k.rendererOpts||{};return p.toDataURL(S,A.quality)}},226:(Ve,X,m)=>{const e=m(3239);function t(s,D){const u=s.a/255,k=D+'="'+s.hex+'"';return u<1?k+" "+D+'-opacity="'+u.toFixed(2).slice(1)+'"':k}function _(s,D,u){let k=s+D;return typeof u<"u"&&(k+=" "+u),k}X.render=function(D,u,k){const p=e.getOptions(u),S=D.modules.size,A=D.modules.data,P=S+2*p.margin,M=p.color.light.a?"':"",z="0&&M>0&&s[P-1]||(k+=S?_("M",M+u,.5+z+u):_("m",p,0),p=0,S=!1),M+1',I='viewBox="0 0 '+P+" "+P+'"',Z=''+M+z+"\n";return"function"==typeof k&&k(null,Z),Z}},3239:(Ve,X)=>{function m(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);(3===t.length||4===t.length)&&(t=Array.prototype.concat.apply([],t.map(function(E){return[E,E]}))),6===t.length&&t.push("F","F");const _=parseInt(t.join(""),16);return{r:_>>24&255,g:_>>16&255,b:_>>8&255,a:255&_,hex:"#"+t.slice(0,6).join("")}}X.getOptions=function(t){t||(t={}),t.color||(t.color={});const _=typeof t.margin>"u"||null===t.margin||t.margin<0?4:t.margin,E=t.width&&t.width>=21?t.width:void 0,s=t.scale||4;return{width:E,scale:E?4:s,margin:_,color:{dark:m(t.color.dark||"#000000ff"),light:m(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},X.getScale=function(t,_){return _.width&&_.width>=t+2*_.margin?_.width/(t+2*_.margin):_.scale},X.getImageWidth=function(t,_){const E=X.getScale(t,_);return Math.floor((t+2*_.margin)*E)},X.qrToImageData=function(t,_,E){const s=_.modules.size,D=_.modules.data,u=X.getScale(s,E),k=Math.floor((s+2*E.margin)*u),p=E.margin*u,S=[E.color.light,E.color.dark];for(let A=0;A=p&&P>=p&&A{"use strict";var e=65536;var E=m(9708).Buffer,s=global.crypto||global.msCrypto;s&&s.getRandomValues?Ve.exports=function D(u,k){if(u>4294967295)throw new RangeError("requested too many random bytes");var p=E.allocUnsafe(u);if(u>0)if(u>e)for(var S=0;S{"use strict";function e(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var t=m(9708),_=m(1186),E=t.Buffer,s=t.kMaxLength,D=global.crypto||global.msCrypto,u=Math.pow(2,32)-1;function k(M,z){if("number"!=typeof M||M!=M)throw new TypeError("offset must be a number");if(M>u||M<0)throw new TypeError("offset must be a uint32");if(M>s||M>z)throw new RangeError("offset out of range")}function p(M,z,I){if("number"!=typeof M||M!=M)throw new TypeError("size must be a number");if(M>u||M<0)throw new TypeError("size must be a uint32");if(M+z>I||M>s)throw new RangeError("buffer too small")}function A(M,z,I,W){if(process.browser){var Z=M.buffer,j=new Uint8Array(Z,z,I);return D.getRandomValues(j),W?void process.nextTick(function(){W(null,M)}):M}if(!W)return _(I).copy(M,z),M;_(I,function(re,pe){if(re)return W(re);pe.copy(M,z),W(null,M)})}D&&D.getRandomValues||!process.browser?(X.randomFill=function S(M,z,I,W){if(!(E.isBuffer(M)||M instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof z)W=z,z=0,I=M.length;else if("function"==typeof I)W=I,I=M.length-z;else if("function"!=typeof W)throw new TypeError('"cb" argument must be a function');return k(z,M.length),p(I,z,M.length),A(M,z,I,W)},X.randomFillSync=function P(M,z,I){if(typeof z>"u"&&(z=0),!(E.isBuffer(M)||M instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return k(z,M.length),void 0===I&&(I=M.length-z),p(I,z,M.length),A(M,z,I)}):(X.randomFill=e,X.randomFillSync=e)},7446:Ve=>{"use strict";var m={};function e(D,u,k){k||(k=Error);var S=function(A){function P(M,z,I){return A.call(this,function p(A,P,M){return"string"==typeof u?u:u(A,P,M)}(M,z,I))||this}return function X(D,u){D.prototype=Object.create(u.prototype),D.prototype.constructor=D,D.__proto__=u}(P,A),P}(k);S.prototype.name=k.name,S.prototype.code=D,m[D]=S}function t(D,u){if(Array.isArray(D)){var k=D.length;return D=D.map(function(p){return String(p)}),k>2?"one of ".concat(u," ").concat(D.slice(0,k-1).join(", "),", or ")+D[k-1]:2===k?"one of ".concat(u," ").concat(D[0]," or ").concat(D[1]):"of ".concat(u," ").concat(D[0])}return"of ".concat(u," ").concat(String(D))}e("ERR_INVALID_OPT_VALUE",function(D,u){return'The value "'+u+'" is invalid for option "'+D+'"'},TypeError),e("ERR_INVALID_ARG_TYPE",function(D,u,k){var p,S;if("string"==typeof u&&function _(D,u,k){return D.substr(!k||k<0?0:+k,u.length)===u}(u,"not ")?(p="must not be",u=u.replace(/^not /,"")):p="must be",function E(D,u,k){return(void 0===k||k>D.length)&&(k=D.length),D.substring(k-u.length,k)===u}(D," argument"))S="The ".concat(D," ").concat(p," ").concat(t(u,"type"));else{var A=function s(D,u,k){return"number"!=typeof k&&(k=0),!(k+u.length>D.length)&&-1!==D.indexOf(u,k)}(D,".")?"property":"argument";S='The "'.concat(D,'" ').concat(A," ").concat(p," ").concat(t(u,"type"))}return S+=". Received type ".concat(typeof k)},TypeError),e("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),e("ERR_METHOD_NOT_IMPLEMENTED",function(D){return"The "+D+" method is not implemented"}),e("ERR_STREAM_PREMATURE_CLOSE","Premature close"),e("ERR_STREAM_DESTROYED",function(D){return"Cannot call "+D+" after a stream was destroyed"}),e("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),e("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),e("ERR_STREAM_WRITE_AFTER_END","write after end"),e("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),e("ERR_UNKNOWN_ENCODING",function(D){return"Unknown encoding: "+D},TypeError),e("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ve.exports.q=m},9800:(Ve,X,m)=>{"use strict";var e=Object.keys||function(S){var A=[];for(var P in S)A.push(P);return A};Ve.exports=u;var t=m(1396),_=m(1120);m(5035)(u,t);for(var E=e(_.prototype),s=0;s{"use strict";Ve.exports=t;var e=m(8157);function t(_){if(!(this instanceof t))return new t(_);e.call(this,_)}m(5035)(t,e),t.prototype._transform=function(_,E,s){s(null,_)}},1396:(Ve,X,m)=>{"use strict";var e;Ve.exports=w,w.ReadableState=ue;m(3358).EventEmitter;var _=function(et,ut){return et.listeners(ut).length},E=m(8431),s=m(3195).Buffer,D=global.Uint8Array||function(){};var S,p=m(4616);S=p&&p.debuglog?p.debuglog("stream"):function(){};var re,pe,le,A=m(350),P=m(5923),z=m(1561).getHighWaterMark,I=m(7446).q,W=I.ERR_INVALID_ARG_TYPE,Z=I.ERR_STREAM_PUSH_AFTER_EOF,j=I.ERR_METHOD_NOT_IMPLEMENTED,ae=I.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;m(5035)(w,E);var ve=P.errorOrDestroy,de=["error","close","destroy","pause","resume"];function ue(ge,et,ut){e=e||m(9800),ge=ge||{},"boolean"!=typeof ut&&(ut=et instanceof e),this.objectMode=!!ge.objectMode,ut&&(this.objectMode=this.objectMode||!!ge.readableObjectMode),this.highWaterMark=z(this,ge,"readableHighWaterMark",ut),this.buffer=new A,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==ge.emitClose,this.autoDestroy=!!ge.autoDestroy,this.destroyed=!1,this.defaultEncoding=ge.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,ge.encoding&&(re||(re=m(4547).s),this.decoder=new re(ge.encoding),this.encoding=ge.encoding)}function w(ge){if(e=e||m(9800),!(this instanceof w))return new w(ge);var et=this instanceof e;this._readableState=new ue(ge,this,et),this.readable=!0,ge&&("function"==typeof ge.read&&(this._read=ge.read),"function"==typeof ge.destroy&&(this._destroy=ge.destroy)),E.call(this)}function n(ge,et,ut,Le,De){S("readableAddChunk",et);var fe,ne=ge._readableState;if(null===et)ne.reading=!1,function B(ge,et){if(S("onEofChunk"),!et.ended){if(et.decoder){var ut=et.decoder.end();ut&&ut.length&&(et.buffer.push(ut),et.length+=et.objectMode?1:ut.length)}et.ended=!0,et.sync?v(ge):(et.needReadable=!1,et.emittedReadable||(et.emittedReadable=!0,a(ge)))}}(ge,ne);else if(De||(fe=function h(ge,et){var ut;return!function k(ge){return s.isBuffer(ge)||ge instanceof D}(et)&&"string"!=typeof et&&void 0!==et&&!ge.objectMode&&(ut=new W("chunk",["string","Buffer","Uint8Array"],et)),ut}(ne,et)),fe)ve(ge,fe);else if(ne.objectMode||et&&et.length>0)if("string"!=typeof et&&!ne.objectMode&&Object.getPrototypeOf(et)!==s.prototype&&(et=function u(ge){return s.from(ge)}(et)),Le)ne.endEmitted?ve(ge,new ae):o(ge,ne,et,!0);else if(ne.ended)ve(ge,new Z);else{if(ne.destroyed)return!1;ne.reading=!1,ne.decoder&&!ut?(et=ne.decoder.write(et),ne.objectMode||0!==et.length?o(ge,ne,et,!1):C(ge,ne)):o(ge,ne,et,!1)}else Le||(ne.reading=!1,C(ge,ne));return!ne.ended&&(ne.lengthet.highWaterMark&&(et.highWaterMark=function y(ge){return ge>=d?ge=d:(ge--,ge|=ge>>>1,ge|=ge>>>2,ge|=ge>>>4,ge|=ge>>>8,ge|=ge>>>16,ge++),ge}(ge)),ge<=et.length?ge:et.ended?et.length:(et.needReadable=!0,0))}function v(ge){var et=ge._readableState;S("emitReadable",et.needReadable,et.emittedReadable),et.needReadable=!1,et.emittedReadable||(S("emitReadable",et.flowing),et.emittedReadable=!0,process.nextTick(a,ge))}function a(ge){var et=ge._readableState;S("emitReadable_",et.destroyed,et.length,et.ended),!et.destroyed&&(et.length||et.ended)&&(ge.emit("readable"),et.emittedReadable=!1),et.needReadable=!et.flowing&&!et.ended&&et.length<=et.highWaterMark,je(ge)}function C(ge,et){et.readingMore||(et.readingMore=!0,process.nextTick(N,ge,et))}function N(ge,et){for(;!et.reading&&!et.ended&&(et.length0,et.resumeScheduled&&!et.paused?et.flowing=!0:ge.listenerCount("data")>0&&ge.resume()}function Fe(ge){S("readable nexttick read 0"),ge.read(0)}function Ge(ge,et){S("resume",et.reading),et.reading||ge.read(0),et.resumeScheduled=!1,ge.emit("resume"),je(ge),et.flowing&&!et.reading&&ge.read(0)}function je(ge){var et=ge._readableState;for(S("flow",et.flowing);et.flowing&&null!==ge.read(););}function We(ge,et){return 0===et.length?null:(et.objectMode?ut=et.buffer.shift():!ge||ge>=et.length?(ut=et.decoder?et.buffer.join(""):1===et.buffer.length?et.buffer.first():et.buffer.concat(et.length),et.buffer.clear()):ut=et.buffer.consume(ge,et.decoder),ut);var ut}function be(ge){var et=ge._readableState;S("endReadable",et.endEmitted),et.endEmitted||(et.ended=!0,process.nextTick(Ye,et,ge))}function Ye(ge,et){if(S("endReadableNT",ge.endEmitted,ge.length),!ge.endEmitted&&0===ge.length&&(ge.endEmitted=!0,et.readable=!1,et.emit("end"),ge.autoDestroy)){var ut=et._writableState;(!ut||ut.autoDestroy&&ut.finished)&&et.destroy()}}function Ie(ge,et){for(var ut=0,Le=ge.length;ut=et.highWaterMark:et.length>0)||et.ended))return S("read: emitReadable",et.length,et.ended),0===et.length&&et.ended?be(this):v(this),null;if(0===(ge=L(ge,et))&&et.ended)return 0===et.length&&be(this),null;var De,Le=et.needReadable;return S("need readable",Le),(0===et.length||et.length-ge0?We(ge,et):null)?(et.needReadable=et.length<=et.highWaterMark,ge=0):(et.length-=ge,et.awaitDrain=0),0===et.length&&(et.ended||(et.needReadable=!0),ut!==ge&&et.ended&&be(this)),null!==De&&this.emit("data",De),De},w.prototype._read=function(ge){ve(this,new j("_read()"))},w.prototype.pipe=function(ge,et){var ut=this,Le=this._readableState;switch(Le.pipesCount){case 0:Le.pipes=ge;break;case 1:Le.pipes=[Le.pipes,ge];break;default:Le.pipes.push(ge)}Le.pipesCount+=1,S("pipe count=%d opts=%j",Le.pipesCount,et);var ne=(!et||!1!==et.end)&&ge!==process.stdout&&ge!==process.stderr?ee:Ct;function fe(un,Nt){S("onunpipe"),un===ut&&Nt&&!1===Nt.hasUnpiped&&(Nt.hasUnpiped=!0,function Oe(){S("cleanup"),ge.removeListener("close",pt),ge.removeListener("finish",it),ge.removeListener("drain",H),ge.removeListener("error",oe),ge.removeListener("unpipe",fe),ut.removeListener("end",ee),ut.removeListener("end",Ct),ut.removeListener("data",Re),q=!0,Le.awaitDrain&&(!ge._writableState||ge._writableState.needDrain)&&H()}())}function ee(){S("onend"),ge.end()}Le.endEmitted?process.nextTick(ne):ut.once("end",ne),ge.on("unpipe",fe);var H=function F(ge){return function(){var ut=ge._readableState;S("pipeOnDrain",ut.awaitDrain),ut.awaitDrain&&ut.awaitDrain--,0===ut.awaitDrain&&_(ge,"data")&&(ut.flowing=!0,je(ge))}}(ut);ge.on("drain",H);var q=!1;function Re(un){S("ondata");var Nt=ge.write(un);S("dest.write",Nt),!1===Nt&&((1===Le.pipesCount&&Le.pipes===ge||Le.pipesCount>1&&-1!==Ie(Le.pipes,ge))&&!q&&(S("false write response, pause",Le.awaitDrain),Le.awaitDrain++),ut.pause())}function oe(un){S("onerror",un),Ct(),ge.removeListener("error",oe),0===_(ge,"error")&&ve(ge,un)}function pt(){ge.removeListener("finish",it),Ct()}function it(){S("onfinish"),ge.removeListener("close",pt),Ct()}function Ct(){S("unpipe"),ut.unpipe(ge)}return ut.on("data",Re),function $(ge,et,ut){if("function"==typeof ge.prependListener)return ge.prependListener(et,ut);ge._events&&ge._events[et]?Array.isArray(ge._events[et])?ge._events[et].unshift(ut):ge._events[et]=[ut,ge._events[et]]:ge.on(et,ut)}(ge,"error",oe),ge.once("close",pt),ge.once("finish",it),ge.emit("pipe",ut),Le.flowing||(S("pipe resume"),ut.resume()),ge},w.prototype.unpipe=function(ge){var et=this._readableState,ut={hasUnpiped:!1};if(0===et.pipesCount)return this;if(1===et.pipesCount)return ge&&ge!==et.pipes||(ge||(ge=et.pipes),et.pipes=null,et.pipesCount=0,et.flowing=!1,ge&&ge.emit("unpipe",this,ut)),this;if(!ge){var Le=et.pipes,De=et.pipesCount;et.pipes=null,et.pipesCount=0,et.flowing=!1;for(var ne=0;ne0,!1!==Le.flowing&&this.resume()):"readable"===ge&&!Le.endEmitted&&!Le.readableListening&&(Le.readableListening=Le.needReadable=!0,Le.flowing=!1,Le.emittedReadable=!1,S("on readable",Le.length,Le.reading),Le.length?v(this):Le.reading||process.nextTick(Fe,this)),ut},w.prototype.addListener=w.prototype.on,w.prototype.removeListener=function(ge,et){var ut=E.prototype.removeListener.call(this,ge,et);return"readable"===ge&&process.nextTick(J,this),ut},w.prototype.removeAllListeners=function(ge){var et=E.prototype.removeAllListeners.apply(this,arguments);return("readable"===ge||void 0===ge)&&process.nextTick(J,this),et},w.prototype.resume=function(){var ge=this._readableState;return ge.flowing||(S("resume"),ge.flowing=!ge.readableListening,function ke(ge,et){et.resumeScheduled||(et.resumeScheduled=!0,process.nextTick(Ge,ge,et))}(this,ge)),ge.paused=!1,this},w.prototype.pause=function(){return S("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(S("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},w.prototype.wrap=function(ge){var et=this,ut=this._readableState,Le=!1;for(var De in ge.on("end",function(){if(S("wrapped end"),ut.decoder&&!ut.ended){var fe=ut.decoder.end();fe&&fe.length&&et.push(fe)}et.push(null)}),ge.on("data",function(fe){(S("wrapped data"),ut.decoder&&(fe=ut.decoder.write(fe)),ut.objectMode&&null==fe||!(ut.objectMode||fe&&fe.length))||(et.push(fe)||(Le=!0,ge.pause()))}),ge)void 0===this[De]&&"function"==typeof ge[De]&&(this[De]=function(ee){return function(){return ge[ee].apply(ge,arguments)}}(De));for(var ne=0;ne{"use strict";Ve.exports=k;var e=m(7446).q,t=e.ERR_METHOD_NOT_IMPLEMENTED,_=e.ERR_MULTIPLE_CALLBACK,E=e.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=e.ERR_TRANSFORM_WITH_LENGTH_0,D=m(9800);function u(A,P){var M=this._transformState;M.transforming=!1;var z=M.writecb;if(null===z)return this.emit("error",new _);M.writechunk=null,M.writecb=null,null!=P&&this.push(P),z(A);var I=this._readableState;I.reading=!1,(I.needReadable||I.length{"use strict";function t(je){var We=this;this.next=null,this.entry=null,this.finish=function(){!function Ge(je,We,be){var Ye=je.entry;for(je.entry=null;Ye;){var Ie=Ye.callback;We.pendingcb--,Ie(be),Ye=Ye.next}We.corkedRequestsFree.next=je}(We,je)}}var _;Ve.exports=ue,ue.WritableState=de;var E={deprecate:m(8059)},s=m(8431),D=m(3195).Buffer,u=global.Uint8Array||function(){};var $,S=m(5923),P=m(1561).getHighWaterMark,M=m(7446).q,z=M.ERR_INVALID_ARG_TYPE,I=M.ERR_METHOD_NOT_IMPLEMENTED,W=M.ERR_MULTIPLE_CALLBACK,Z=M.ERR_STREAM_CANNOT_PIPE,j=M.ERR_STREAM_DESTROYED,ae=M.ERR_STREAM_NULL_VALUES,re=M.ERR_STREAM_WRITE_AFTER_END,pe=M.ERR_UNKNOWN_ENCODING,le=S.errorOrDestroy;function ve(){}function de(je,We,be){_=_||m(9800),je=je||{},"boolean"!=typeof be&&(be=We instanceof _),this.objectMode=!!je.objectMode,be&&(this.objectMode=this.objectMode||!!je.writableObjectMode),this.highWaterMark=P(this,je,"writableHighWaterMark",be),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Ye=!1===je.decodeStrings;this.decodeStrings=!Ye,this.defaultEncoding=je.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Ie){!function B(je,We){var be=je._writableState,Ye=be.sync,Ie=be.writecb;if("function"!=typeof Ie)throw new W;if(function L(je){je.writing=!1,je.writecb=null,je.length-=je.writelen,je.writelen=0}(be),We)!function y(je,We,be,Ye,Ie){--We.pendingcb,be?(process.nextTick(Ie,Ye),process.nextTick(Fe,je,We),je._writableState.errorEmitted=!0,le(je,Ye)):(Ie(Ye),je._writableState.errorEmitted=!0,le(je,Ye),Fe(je,We))}(je,be,Ye,We,Ie);else{var ge=N(be)||je.destroyed;!ge&&!be.corked&&!be.bufferProcessing&&be.bufferedRequest&&C(je,be),Ye?process.nextTick(v,je,be,ge,Ie):v(je,be,ge,Ie)}}(We,Ie)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==je.emitClose,this.autoDestroy=!!je.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t(this)}function ue(je){var We=this instanceof(_=_||m(9800));if(!We&&!$.call(ue,this))return new ue(je);this._writableState=new de(je,this,We),this.writable=!0,je&&("function"==typeof je.write&&(this._write=je.write),"function"==typeof je.writev&&(this._writev=je.writev),"function"==typeof je.destroy&&(this._destroy=je.destroy),"function"==typeof je.final&&(this._final=je.final)),s.call(this)}function d(je,We,be,Ye,Ie,ge,et){We.writelen=Ye,We.writecb=et,We.writing=!0,We.sync=!0,We.destroyed?We.onwrite(new j("write")):be?je._writev(Ie,We.onwrite):je._write(Ie,ge,We.onwrite),We.sync=!1}function v(je,We,be,Ye){be||function a(je,We){0===We.length&&We.needDrain&&(We.needDrain=!1,je.emit("drain"))}(je,We),We.pendingcb--,Ye(),Fe(je,We)}function C(je,We){We.bufferProcessing=!0;var be=We.bufferedRequest;if(je._writev&&be&&be.next){var Ye=We.bufferedRequestCount,Ie=new Array(Ye),ge=We.corkedRequestsFree;ge.entry=be;for(var et=0,ut=!0;be;)Ie[et]=be,be.isBuf||(ut=!1),be=be.next,et+=1;Ie.allBuffers=ut,d(je,We,!0,We.length,Ie,"",ge.finish),We.pendingcb++,We.lastBufferedRequest=null,ge.next?(We.corkedRequestsFree=ge.next,ge.next=null):We.corkedRequestsFree=new t(We),We.bufferedRequestCount=0}else{for(;be;){var Le=be.chunk,De=be.encoding,ne=be.callback;if(d(je,We,!1,We.objectMode?1:Le.length,Le,De,ne),be=be.next,We.bufferedRequestCount--,We.writing)break}null===be&&(We.lastBufferedRequest=null)}We.bufferedRequest=be,We.bufferProcessing=!1}function N(je){return je.ending&&0===je.length&&null===je.bufferedRequest&&!je.finished&&!je.writing}function F(je,We){je._final(function(be){We.pendingcb--,be&&le(je,be),We.prefinished=!0,je.emit("prefinish"),Fe(je,We)})}function Fe(je,We){var be=N(We);if(be&&(function J(je,We){!We.prefinished&&!We.finalCalled&&("function"!=typeof je._final||We.destroyed?(We.prefinished=!0,je.emit("prefinish")):(We.pendingcb++,We.finalCalled=!0,process.nextTick(F,je,We)))}(je,We),0===We.pendingcb&&(We.finished=!0,je.emit("finish"),We.autoDestroy))){var Ye=je._readableState;(!Ye||Ye.autoDestroy&&Ye.endEmitted)&&je.destroy()}return be}m(5035)(ue,s),de.prototype.getBuffer=function(){for(var We=this.bufferedRequest,be=[];We;)be.push(We),We=We.next;return be},function(){try{Object.defineProperty(de.prototype,"buffer",{get:E.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(ue,Symbol.hasInstance,{value:function(We){return!!$.call(this,We)||this===ue&&(We&&We._writableState instanceof de)}})):$=function(We){return We instanceof this},ue.prototype.pipe=function(){le(this,new Z)},ue.prototype.write=function(je,We,be){var Ye=this._writableState,Ie=!1,ge=!Ye.objectMode&&function p(je){return D.isBuffer(je)||je instanceof u}(je);return ge&&!D.isBuffer(je)&&(je=function k(je){return D.from(je)}(je)),"function"==typeof We&&(be=We,We=null),ge?We="buffer":We||(We=Ye.defaultEncoding),"function"!=typeof be&&(be=ve),Ye.ending?function w(je,We){var be=new re;le(je,be),process.nextTick(We,be)}(this,be):(ge||function n(je,We,be,Ye){var Ie;return null===be?Ie=new ae:"string"!=typeof be&&!We.objectMode&&(Ie=new z("chunk",["string","Buffer"],be)),!Ie||(le(je,Ie),process.nextTick(Ye,Ie),!1)}(this,Ye,je,be))&&(Ye.pendingcb++,Ie=function h(je,We,be,Ye,Ie,ge){if(!be){var et=function o(je,We,be){return!je.objectMode&&!1!==je.decodeStrings&&"string"==typeof We&&(We=D.from(We,be)),We}(We,Ye,Ie);Ye!==et&&(be=!0,Ie="buffer",Ye=et)}var ut=We.objectMode?1:Ye.length;We.length+=ut;var Le=We.length-1))throw new pe(We);return this._writableState.defaultEncoding=We,this},Object.defineProperty(ue.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(ue.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),ue.prototype._write=function(je,We,be){be(new I("_write()"))},ue.prototype._writev=null,ue.prototype.end=function(je,We,be){var Ye=this._writableState;return"function"==typeof je?(be=je,je=null,We=null):"function"==typeof We&&(be=We,We=null),null!=je&&this.write(je,We),Ye.corked&&(Ye.corked=1,this.uncork()),Ye.ending||function ke(je,We,be){We.ending=!0,Fe(je,We),be&&(We.finished?process.nextTick(be):je.once("finish",be)),We.ended=!0,je.writable=!1}(this,Ye,be),this},Object.defineProperty(ue.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(ue.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(We){!this._writableState||(this._writableState.destroyed=We)}}),ue.prototype.destroy=S.destroy,ue.prototype._undestroy=S.undestroy,ue.prototype._destroy=function(je,We){We(je)}},2325:(Ve,X,m)=>{"use strict";var e;function t(j,ae,re){return ae in j?Object.defineProperty(j,ae,{value:re,enumerable:!0,configurable:!0,writable:!0}):j[ae]=re,j}var _=m(7722),E=Symbol("lastResolve"),s=Symbol("lastReject"),D=Symbol("error"),u=Symbol("ended"),k=Symbol("lastPromise"),p=Symbol("handlePromise"),S=Symbol("stream");function A(j,ae){return{value:j,done:ae}}function P(j){var ae=j[E];if(null!==ae){var re=j[S].read();null!==re&&(j[k]=null,j[E]=null,j[s]=null,ae(A(re,!1)))}}function M(j){process.nextTick(P,j)}var I=Object.getPrototypeOf(function(){}),W=Object.setPrototypeOf((t(e={get stream(){return this[S]},next:function(){var ae=this,re=this[D];if(null!==re)return Promise.reject(re);if(this[u])return Promise.resolve(A(void 0,!0));if(this[S].destroyed)return new Promise(function(de,$){process.nextTick(function(){ae[D]?$(ae[D]):de(A(void 0,!0))})});var le,pe=this[k];if(pe)le=new Promise(function z(j,ae){return function(re,pe){j.then(function(){ae[u]?re(A(void 0,!0)):ae[p](re,pe)},pe)}}(pe,this));else{var ve=this[S].read();if(null!==ve)return Promise.resolve(A(ve,!1));le=new Promise(this[p])}return this[k]=le,le}},Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var ae=this;return new Promise(function(re,pe){ae[S].destroy(null,function(le){le?pe(le):re(A(void 0,!0))})})}),e),I);Ve.exports=function(ae){var re,pe=Object.create(W,(t(re={},S,{value:ae,writable:!0}),t(re,E,{value:null,writable:!0}),t(re,s,{value:null,writable:!0}),t(re,D,{value:null,writable:!0}),t(re,u,{value:ae._readableState.endEmitted,writable:!0}),t(re,p,{value:function(ve,de){var $=pe[S].read();$?(pe[k]=null,pe[E]=null,pe[s]=null,ve(A($,!1))):(pe[E]=ve,pe[s]=de)},writable:!0}),re));return pe[k]=null,_(ae,function(le){if(le&&"ERR_STREAM_PREMATURE_CLOSE"!==le.code){var ve=pe[s];return null!==ve&&(pe[k]=null,pe[E]=null,pe[s]=null,ve(le)),void(pe[D]=le)}var de=pe[E];null!==de&&(pe[k]=null,pe[E]=null,pe[s]=null,de(A(void 0,!0))),pe[u]=!0}),ae.on("readable",M.bind(null,pe)),pe}},350:(Ve,X,m)=>{"use strict";function e(M,z){var I=Object.keys(M);if(Object.getOwnPropertySymbols){var W=Object.getOwnPropertySymbols(M);z&&(W=W.filter(function(Z){return Object.getOwnPropertyDescriptor(M,Z).enumerable})),I.push.apply(I,W)}return I}function _(M,z,I){return z in M?Object.defineProperty(M,z,{value:I,enumerable:!0,configurable:!0,writable:!0}):M[z]=I,M}function s(M,z){for(var I=0;I0?this.tail.next=W:this.head=W,this.tail=W,++this.length}},{key:"unshift",value:function(I){var W={data:I,next:this.head};0===this.length&&(this.tail=W),this.head=W,++this.length}},{key:"shift",value:function(){if(0!==this.length){var I=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,I}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(I){if(0===this.length)return"";for(var W=this.head,Z=""+W.data;W=W.next;)Z+=I+W.data;return Z}},{key:"concat",value:function(I){if(0===this.length)return k.alloc(0);for(var W=k.allocUnsafe(I>>>0),Z=this.head,j=0;Z;)P(Z.data,W,j),j+=Z.data.length,Z=Z.next;return W}},{key:"consume",value:function(I,W){var Z;return Iae.length?ae.length:I;if(re===ae.length?j+=ae:j+=ae.slice(0,I),0===(I-=re)){re===ae.length?(++Z,W.next?this.head=W.next:this.head=this.tail=null):(this.head=W,W.data=ae.slice(re));break}++Z}return this.length-=Z,j}},{key:"_getBuffer",value:function(I){var W=k.allocUnsafe(I),Z=this.head,j=1;for(Z.data.copy(W),I-=Z.data.length;Z=Z.next;){var ae=Z.data,re=I>ae.length?ae.length:I;if(ae.copy(W,W.length-I,0,re),0===(I-=re)){re===ae.length?(++j,Z.next?this.head=Z.next:this.head=this.tail=null):(this.head=Z,Z.data=ae.slice(re));break}++j}return this.length-=j,W}},{key:A,value:function(I,W){return S(this,function t(M){for(var z=1;z{"use strict";function m(s,D){_(s,D),e(s)}function e(s){s._writableState&&!s._writableState.emitClose||s._readableState&&!s._readableState.emitClose||s.emit("close")}function _(s,D){s.emit("error",D)}Ve.exports={destroy:function X(s,D){var u=this,k=this._readableState&&this._readableState.destroyed,p=this._writableState&&this._writableState.destroyed;return k||p?(D?D(s):s&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(_,this,s)):process.nextTick(_,this,s)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(s||null,function(S){!D&&S?u._writableState?u._writableState.errorEmitted?process.nextTick(e,u):(u._writableState.errorEmitted=!0,process.nextTick(m,u,S)):process.nextTick(m,u,S):D?(process.nextTick(e,u),D(S)):process.nextTick(e,u)}),this)},undestroy:function t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function E(s,D){var u=s._readableState,k=s._writableState;u&&u.autoDestroy||k&&k.autoDestroy?s.destroy(D):s.emit("error",D)}}},7722:(Ve,X,m)=>{"use strict";var e=m(7446).q.ERR_STREAM_PREMATURE_CLOSE;function _(){}Ve.exports=function s(D,u,k){if("function"==typeof u)return s(D,null,u);u||(u={}),k=function t(D){var u=!1;return function(){if(!u){u=!0;for(var k=arguments.length,p=new Array(k),S=0;S{Ve.exports=function(){throw new Error("Readable.from is not available in the browser")}},8096:(Ve,X,m)=>{"use strict";var e;var _=m(7446).q,E=_.ERR_MISSING_ARGS,s=_.ERR_STREAM_DESTROYED;function D(M){if(M)throw M}function k(M,z,I,W){W=function t(M){var z=!1;return function(){z||(z=!0,M.apply(void 0,arguments))}}(W);var Z=!1;M.on("close",function(){Z=!0}),void 0===e&&(e=m(7722)),e(M,{readable:z,writable:I},function(ae){if(ae)return W(ae);Z=!0,W()});var j=!1;return function(ae){if(!Z&&!j){if(j=!0,function u(M){return M.setHeader&&"function"==typeof M.abort}(M))return M.abort();if("function"==typeof M.destroy)return M.destroy();W(ae||new s("pipe"))}}}function p(M){M()}function S(M,z){return M.pipe(z)}function A(M){return M.length&&"function"==typeof M[M.length-1]?M.pop():D}Ve.exports=function P(){for(var M=arguments.length,z=new Array(M),I=0;I0,function(ve){Z||(Z=ve),ve&&j.forEach(p),!pe&&(j.forEach(p),W(Z))})});return z.reduce(S)}},1561:(Ve,X,m)=>{"use strict";var e=m(7446).q.ERR_INVALID_OPT_VALUE;Ve.exports={getHighWaterMark:function _(E,s,D,u){var k=function t(E,s,D){return null!=E.highWaterMark?E.highWaterMark:s?E[D]:null}(s,u,D);if(null!=k){if(!isFinite(k)||Math.floor(k)!==k||k<0)throw new e(u?D:"highWaterMark",k);return Math.floor(k)}return E.objectMode?16:16384}}},8431:(Ve,X,m)=>{Ve.exports=m(3358).EventEmitter},9697:(Ve,X,m)=>{(X=Ve.exports=m(1396)).Stream=X,X.Readable=X,X.Writable=m(1120),X.Duplex=m(9800),X.Transform=m(8157),X.PassThrough=m(1908),X.finished=m(7722),X.pipeline=m(8096)},5351:(Ve,X,m)=>{"use strict";var e=m(3195).Buffer,t=m(5035),_=m(3817),E=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],D=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],k=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],p=[0,1518500249,1859775393,2400959708,2840853838],S=[1352829926,1548603684,1836072691,2053994217,0];function A(){_.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function P(j,ae){return j<>>32-ae}function M(j,ae,re,pe,le,ve,de,$){return P(j+(ae^re^pe)+ve+de|0,$)+le|0}function z(j,ae,re,pe,le,ve,de,$){return P(j+(ae&re|~ae&pe)+ve+de|0,$)+le|0}function I(j,ae,re,pe,le,ve,de,$){return P(j+((ae|~re)^pe)+ve+de|0,$)+le|0}function W(j,ae,re,pe,le,ve,de,$){return P(j+(ae&pe|re&~pe)+ve+de|0,$)+le|0}function Z(j,ae,re,pe,le,ve,de,$){return P(j+(ae^(re|~pe))+ve+de|0,$)+le|0}t(A,_),A.prototype._update=function(){for(var j=E,ae=0;ae<16;++ae)j[ae]=this._block.readInt32LE(4*ae);for(var re=0|this._a,pe=0|this._b,le=0|this._c,ve=0|this._d,de=0|this._e,$=0|this._a,ue=0|this._b,w=0|this._c,n=0|this._d,o=0|this._e,h=0;h<80;h+=1){var d,y;h<16?(d=M(re,pe,le,ve,de,j[s[h]],p[0],u[h]),y=Z($,ue,w,n,o,j[D[h]],S[0],k[h])):h<32?(d=z(re,pe,le,ve,de,j[s[h]],p[1],u[h]),y=W($,ue,w,n,o,j[D[h]],S[1],k[h])):h<48?(d=I(re,pe,le,ve,de,j[s[h]],p[2],u[h]),y=I($,ue,w,n,o,j[D[h]],S[2],k[h])):h<64?(d=W(re,pe,le,ve,de,j[s[h]],p[3],u[h]),y=z($,ue,w,n,o,j[D[h]],S[3],k[h])):(d=Z(re,pe,le,ve,de,j[s[h]],p[4],u[h]),y=M($,ue,w,n,o,j[D[h]],S[4],k[h])),re=de,de=ve,ve=P(le,10),le=pe,pe=d,$=o,o=n,n=P(w,10),w=ue,ue=y}var L=this._b+le+n|0;this._b=this._c+ve+o|0,this._c=this._d+de+$|0,this._d=this._e+re+ue|0,this._e=this._a+pe+w|0,this._a=L},A.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var j=e.alloc?e.alloc(20):new e(20);return j.writeInt32LE(this._a,0),j.writeInt32LE(this._b,4),j.writeInt32LE(this._c,8),j.writeInt32LE(this._d,12),j.writeInt32LE(this._e,16),j},Ve.exports=A},6317:(Ve,X,m)=>{"use strict";m.d(X,{X:()=>t});var e=m(253);class t extends e.x{constructor(E){super(),this._value=E}get value(){return this.getValue()}_subscribe(E){const s=super._subscribe(E);return!s.closed&&E.next(this._value),s}getValue(){const{hasError:E,thrownError:s,_value:D}=this;if(E)throw s;return this._throwIfClosed(),D}next(E){super.next(this._value=E)}}},833:(Ve,X,m)=>{"use strict";m.d(X,{y:()=>k});var e=m(5463),t=m(7714),_=m(4585),E=m(629),s=m(9057),D=m(2971),u=m(2309);class k{constructor(M){M&&(this._subscribe=M)}lift(M){const z=new k;return z.source=this,z.operator=M,z}subscribe(M,z,I){const W=function A(P){return P&&P instanceof e.Lv||function S(P){return P&&(0,D.m)(P.next)&&(0,D.m)(P.error)&&(0,D.m)(P.complete)}(P)&&(0,t.Nn)(P)}(M)?M:new e.Hp(M,z,I);return(0,u.x)(()=>{const{operator:Z,source:j}=this;W.add(Z?Z.call(W,j):j?this._subscribe(W):this._trySubscribe(W))}),W}_trySubscribe(M){try{return this._subscribe(M)}catch(z){M.error(z)}}forEach(M,z){return new(z=p(z))((I,W)=>{const Z=new e.Hp({next:j=>{try{M(j)}catch(ae){W(ae),Z.unsubscribe()}},error:W,complete:I});this.subscribe(Z)})}_subscribe(M){var z;return null===(z=this.source)||void 0===z?void 0:z.subscribe(M)}[_.L](){return this}pipe(...M){return(0,E.U)(M)(this)}toPromise(M){return new(M=p(M))((z,I)=>{let W;this.subscribe(Z=>W=Z,Z=>I(Z),()=>z(W))})}}function p(P){var M;return null!==(M=P??s.v.Promise)&&void 0!==M?M:Promise}k.create=P=>new k(P)},6067:(Ve,X,m)=>{"use strict";m.d(X,{t:()=>_});var e=m(253),t=m(7654);class _ extends e.x{constructor(s=1/0,D=1/0,u=t.l){super(),this._bufferSize=s,this._windowTime=D,this._timestampProvider=u,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=D===1/0,this._bufferSize=Math.max(1,s),this._windowTime=Math.max(1,D)}next(s){const{isStopped:D,_buffer:u,_infiniteTimeWindow:k,_timestampProvider:p,_windowTime:S}=this;D||(u.push(s),!k&&u.push(p.now()+S)),this._trimBuffer(),super.next(s)}_subscribe(s){this._throwIfClosed(),this._trimBuffer();const D=this._innerSubscribe(s),{_infiniteTimeWindow:u,_buffer:k}=this,p=k.slice();for(let S=0;S{"use strict";m.d(X,{u:()=>k,x:()=>u});var e=m(833),t=m(7714);const E=(0,m(7543).d)(p=>function(){p(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var s=m(9663),D=m(2309);class u extends e.y{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(S){const A=new k(this,this);return A.operator=S,A}_throwIfClosed(){if(this.closed)throw new E}next(S){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const A of this.currentObservers)A.next(S)}})}error(S){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=S;const{observers:A}=this;for(;A.length;)A.shift().error(S)}})}complete(){(0,D.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:S}=this;for(;S.length;)S.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var S;return(null===(S=this.observers)||void 0===S?void 0:S.length)>0}_trySubscribe(S){return this._throwIfClosed(),super._trySubscribe(S)}_subscribe(S){return this._throwIfClosed(),this._checkFinalizedStatuses(S),this._innerSubscribe(S)}_innerSubscribe(S){const{hasError:A,isStopped:P,observers:M}=this;return A||P?t.Lc:(this.currentObservers=null,M.push(S),new t.w0(()=>{this.currentObservers=null,(0,s.P)(M,S)}))}_checkFinalizedStatuses(S){const{hasError:A,thrownError:P,isStopped:M}=this;A?S.error(P):M&&S.complete()}asObservable(){const S=new e.y;return S.source=this,S}}u.create=(p,S)=>new k(p,S);class k extends u{constructor(S,A){super(),this.destination=S,this.source=A}next(S){var A,P;null===(P=null===(A=this.destination)||void 0===A?void 0:A.next)||void 0===P||P.call(A,S)}error(S){var A,P;null===(P=null===(A=this.destination)||void 0===A?void 0:A.error)||void 0===P||P.call(A,S)}complete(){var S,A;null===(A=null===(S=this.destination)||void 0===S?void 0:S.complete)||void 0===A||A.call(S)}_subscribe(S){var A,P;return null!==(P=null===(A=this.source)||void 0===A?void 0:A.subscribe(S))&&void 0!==P?P:t.Lc}}},5463:(Ve,X,m)=>{"use strict";m.d(X,{Hp:()=>W,Lv:()=>P});var e=m(2971),t=m(7714),_=m(9057),E=m(4709),s=m(9635);const D=p("C",void 0,void 0);function p(pe,le,ve){return{kind:pe,value:le,error:ve}}var S=m(3542),A=m(2309);class P extends t.w0{constructor(le){super(),this.isStopped=!1,le?(this.destination=le,(0,t.Nn)(le)&&le.add(this)):this.destination=re}static create(le,ve,de){return new W(le,ve,de)}next(le){this.isStopped?ae(function k(pe){return p("N",pe,void 0)}(le),this):this._next(le)}error(le){this.isStopped?ae(function u(pe){return p("E",void 0,pe)}(le),this):(this.isStopped=!0,this._error(le))}complete(){this.isStopped?ae(D,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(le){this.destination.next(le)}_error(le){try{this.destination.error(le)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const M=Function.prototype.bind;function z(pe,le){return M.call(pe,le)}class I{constructor(le){this.partialObserver=le}next(le){const{partialObserver:ve}=this;if(ve.next)try{ve.next(le)}catch(de){Z(de)}}error(le){const{partialObserver:ve}=this;if(ve.error)try{ve.error(le)}catch(de){Z(de)}else Z(le)}complete(){const{partialObserver:le}=this;if(le.complete)try{le.complete()}catch(ve){Z(ve)}}}class W extends P{constructor(le,ve,de){let $;if(super(),(0,e.m)(le)||!le)$={next:le??void 0,error:ve??void 0,complete:de??void 0};else{let ue;this&&_.v.useDeprecatedNextContext?(ue=Object.create(le),ue.unsubscribe=()=>this.unsubscribe(),$={next:le.next&&z(le.next,ue),error:le.error&&z(le.error,ue),complete:le.complete&&z(le.complete,ue)}):$=le}this.destination=new I($)}}function Z(pe){_.v.useDeprecatedSynchronousErrorHandling?(0,A.O)(pe):(0,E.h)(pe)}function ae(pe,le){const{onStoppedNotification:ve}=_.v;ve&&S.z.setTimeout(()=>ve(pe,le))}const re={closed:!0,next:s.Z,error:function j(pe){throw pe},complete:s.Z}},7714:(Ve,X,m)=>{"use strict";m.d(X,{Lc:()=>D,w0:()=>s,Nn:()=>u});var e=m(2971);const _=(0,m(7543).d)(p=>function(A){p(this),this.message=A?`${A.length} errors occurred during unsubscription:\n${A.map((P,M)=>`${M+1}) ${P.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=A});var E=m(9663);class s{constructor(S){this.initialTeardown=S,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let S;if(!this.closed){this.closed=!0;const{_parentage:A}=this;if(A)if(this._parentage=null,Array.isArray(A))for(const z of A)z.remove(this);else A.remove(this);const{initialTeardown:P}=this;if((0,e.m)(P))try{P()}catch(z){S=z instanceof _?z.errors:[z]}const{_finalizers:M}=this;if(M){this._finalizers=null;for(const z of M)try{k(z)}catch(I){S=S??[],I instanceof _?S=[...S,...I.errors]:S.push(I)}}if(S)throw new _(S)}}add(S){var A;if(S&&S!==this)if(this.closed)k(S);else{if(S instanceof s){if(S.closed||S._hasParent(this))return;S._addParent(this)}(this._finalizers=null!==(A=this._finalizers)&&void 0!==A?A:[]).push(S)}}_hasParent(S){const{_parentage:A}=this;return A===S||Array.isArray(A)&&A.includes(S)}_addParent(S){const{_parentage:A}=this;this._parentage=Array.isArray(A)?(A.push(S),A):A?[A,S]:S}_removeParent(S){const{_parentage:A}=this;A===S?this._parentage=null:Array.isArray(A)&&(0,E.P)(A,S)}remove(S){const{_finalizers:A}=this;A&&(0,E.P)(A,S),S instanceof s&&S._removeParent(this)}}s.EMPTY=(()=>{const p=new s;return p.closed=!0,p})();const D=s.EMPTY;function u(p){return p instanceof s||p&&"closed"in p&&(0,e.m)(p.remove)&&(0,e.m)(p.add)&&(0,e.m)(p.unsubscribe)}function k(p){(0,e.m)(p)?p():p.unsubscribe()}},9057:(Ve,X,m)=>{"use strict";m.d(X,{v:()=>e});const e={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},3932:(Ve,X,m)=>{"use strict";m.d(X,{c:()=>D});var e=m(833),t=m(7714),_=m(6074),E=m(3945),s=m(1944);class D extends e.y{constructor(k,p){super(),this.source=k,this.subjectFactory=p,this._subject=null,this._refCount=0,this._connection=null,(0,s.A)(k)&&(this.lift=k.lift)}_subscribe(k){return this.getSubject().subscribe(k)}getSubject(){const k=this._subject;return(!k||k.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:k}=this;this._subject=this._connection=null,k?.unsubscribe()}connect(){let k=this._connection;if(!k){k=this._connection=new t.w0;const p=this.getSubject();k.add(this.source.subscribe((0,E.x)(p,void 0,()=>{this._teardown(),p.complete()},S=>{this._teardown(),p.error(S)},()=>this._teardown()))),k.closed&&(this._connection=null,k=t.w0.EMPTY)}return k}refCount(){return(0,_.x)()(this)}}},6562:(Ve,X,m)=>{"use strict";m.d(X,{a:()=>S});var e=m(833),t=m(5756),_=m(7400),E=m(9173),s=m(8385),D=m(420),u=m(1054),k=m(3945),p=m(1817);function S(...M){const z=(0,D.yG)(M),I=(0,D.jO)(M),{args:W,keys:Z}=(0,t.D)(M);if(0===W.length)return(0,_.D)([],z);const j=new e.y(function A(M,z,I=E.y){return W=>{P(z,()=>{const{length:Z}=M,j=new Array(Z);let ae=Z,re=Z;for(let pe=0;pe{const le=(0,_.D)(M[pe],z);let ve=!1;le.subscribe((0,k.x)(W,de=>{j[pe]=de,ve||(ve=!0,re--),re||W.next(I(j.slice()))},()=>{--ae||W.complete()}))},W)},W)}}(W,z,Z?ae=>(0,u.n)(Z,ae):E.y));return I?j.pipe((0,s.Z)(I)):j}function P(M,z,I){M?(0,p.f)(I,M,z):z()}},9319:(Ve,X,m)=>{"use strict";m.d(X,{z:()=>s});var e=m(1308);var _=m(420),E=m(7400);function s(...D){return function t(){return(0,e.J)(1)}()((0,E.D)(D,(0,_.yG)(D)))}},1954:(Ve,X,m)=>{"use strict";m.d(X,{P:()=>_});var e=m(833),t=m(4987);function _(E){return new e.y(s=>{(0,t.Xf)(E()).subscribe(s)})}},591:(Ve,X,m)=>{"use strict";m.d(X,{E:()=>t});const t=new(m(833).y)(s=>s.complete())},1640:(Ve,X,m)=>{"use strict";m.d(X,{D:()=>k});var e=m(833),t=m(5756),_=m(4987),E=m(420),s=m(3945),D=m(8385),u=m(1054);function k(...p){const S=(0,E.jO)(p),{args:A,keys:P}=(0,t.D)(p),M=new e.y(z=>{const{length:I}=A;if(!I)return void z.complete();const W=new Array(I);let Z=I,j=I;for(let ae=0;ae{re||(re=!0,j--),W[ae]=pe},()=>Z--,void 0,()=>{(!Z||!re)&&(j||z.next(P?(0,u.n)(P,W):W),z.complete())}))}});return S?M.pipe((0,D.Z)(S)):M}},7400:(Ve,X,m)=>{"use strict";m.d(X,{D:()=>ve});var e=m(4987),t=m(8728),_=m(1944);function E(de,$=0){return(0,_.e)((ue,w)=>{w.add(de.schedule(()=>ue.subscribe(w),$))})}var u=m(833);var p=m(7321),S=m(2971),A=m(1817);function M(de,$){if(!de)throw new Error("Iterable cannot be null");return new u.y(ue=>{(0,A.f)(ue,$,()=>{const w=de[Symbol.asyncIterator]();(0,A.f)(ue,$,()=>{w.next().then(n=>{n.done?ue.complete():ue.next(n.value)})},0,!0)})})}var z=m(1331),I=m(9548),W=m(9806),Z=m(3433),j=m(470),ae=m(7785),re=m(181);function le(de,$){if(null!=de){if((0,z.c)(de))return function s(de,$){return(0,e.Xf)(de).pipe(E($),(0,t.Q)($))}(de,$);if((0,W.z)(de))return function k(de,$){return new u.y(ue=>{let w=0;return $.schedule(function(){w===de.length?ue.complete():(ue.next(de[w++]),ue.closed||this.schedule())})})}(de,$);if((0,I.t)(de))return function D(de,$){return(0,e.Xf)(de).pipe(E($),(0,t.Q)($))}(de,$);if((0,j.D)(de))return M(de,$);if((0,Z.T)(de))return function P(de,$){return new u.y(ue=>{let w;return(0,A.f)(ue,$,()=>{w=de[p.h](),(0,A.f)(ue,$,()=>{let n,o;try{({value:n,done:o}=w.next())}catch(h){return void ue.error(h)}o?ue.complete():ue.next(n)},0,!0)}),()=>(0,S.m)(w?.return)&&w.return()})}(de,$);if((0,re.L)(de))return function pe(de,$){return M((0,re.Q)(de),$)}(de,$)}throw(0,ae.z)(de)}function ve(de,$){return $?le(de,$):(0,e.Xf)(de)}},3280:(Ve,X,m)=>{"use strict";m.d(X,{R:()=>S});var e=m(4987),t=m(833),_=m(9525),E=m(9806),s=m(2971),D=m(8385);const u=["addListener","removeListener"],k=["addEventListener","removeEventListener"],p=["on","off"];function S(I,W,Z,j){if((0,s.m)(Z)&&(j=Z,Z=void 0),j)return S(I,W,Z).pipe((0,D.Z)(j));const[ae,re]=function z(I){return(0,s.m)(I.addEventListener)&&(0,s.m)(I.removeEventListener)}(I)?k.map(pe=>le=>I[pe](W,le,Z)):function P(I){return(0,s.m)(I.addListener)&&(0,s.m)(I.removeListener)}(I)?u.map(A(I,W)):function M(I){return(0,s.m)(I.on)&&(0,s.m)(I.off)}(I)?p.map(A(I,W)):[];if(!ae&&(0,E.z)(I))return(0,_.z)(pe=>S(pe,W,Z))((0,e.Xf)(I));if(!ae)throw new TypeError("Invalid event target");return new t.y(pe=>{const le=(...ve)=>pe.next(1re(le)})}function A(I,W){return Z=>j=>I[Z](W,j)}},4987:(Ve,X,m)=>{"use strict";m.d(X,{Xf:()=>M});var e=m(4929),t=m(9806),_=m(9548),E=m(833),s=m(1331),D=m(470),u=m(7785),k=m(3433),p=m(181),S=m(2971),A=m(4709),P=m(4585);function M(pe){if(pe instanceof E.y)return pe;if(null!=pe){if((0,s.c)(pe))return function z(pe){return new E.y(le=>{const ve=pe[P.L]();if((0,S.m)(ve.subscribe))return ve.subscribe(le);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(pe);if((0,t.z)(pe))return function I(pe){return new E.y(le=>{for(let ve=0;ve{pe.then(ve=>{le.closed||(le.next(ve),le.complete())},ve=>le.error(ve)).then(null,A.h)})}(pe);if((0,D.D)(pe))return j(pe);if((0,k.T)(pe))return function Z(pe){return new E.y(le=>{for(const ve of pe)if(le.next(ve),le.closed)return;le.complete()})}(pe);if((0,p.L)(pe))return function ae(pe){return j((0,p.Q)(pe))}(pe)}throw(0,u.z)(pe)}function j(pe){return new E.y(le=>{(function re(pe,le){var ve,de,$,ue;return(0,e.mG)(this,void 0,void 0,function*(){try{for(ve=(0,e.KL)(pe);!(de=yield ve.next()).done;){const w=de.value;if(le.next(w),le.closed)return}}catch(w){$={error:w}}finally{try{de&&!de.done&&(ue=ve.return)&&(yield ue.call(ve))}finally{if($)throw $.error}}le.complete()})})(pe,le).catch(ve=>le.error(ve))})}},6646:(Ve,X,m)=>{"use strict";m.d(X,{T:()=>D});var e=m(1308),t=m(4987),_=m(591),E=m(420),s=m(7400);function D(...u){const k=(0,E.yG)(u),p=(0,E._6)(u,1/0),S=u;return S.length?1===S.length?(0,t.Xf)(S[0]):(0,e.J)(p)((0,s.D)(S,k)):_.E}},745:(Ve,X,m)=>{"use strict";m.d(X,{of:()=>_});var e=m(420),t=m(7400);function _(...E){const s=(0,e.yG)(E);return(0,t.D)(E,s)}},5474:(Ve,X,m)=>{"use strict";m.d(X,{_:()=>_});var e=m(833),t=m(2971);function _(E,s){const D=(0,t.m)(E)?E:()=>E,u=k=>k.error(D());return new e.y(s?k=>s.schedule(u,0,k):u)}},8947:(Ve,X,m)=>{"use strict";m.d(X,{H:()=>s});var e=m(833),t=m(6936),_=m(9867),E=m(7885);function s(D=0,u,k=t.P){let p=-1;return null!=u&&((0,_.K)(u)?k=u:p=u),new e.y(S=>{let A=(0,E.q)(D)?+D-k.now():D;A<0&&(A=0);let P=0;return k.schedule(function(){S.closed||(S.next(P++),0<=p?this.schedule(void 0,p):S.complete())},A)})}},3945:(Ve,X,m)=>{"use strict";m.d(X,{Q:()=>_,x:()=>t});var e=m(5463);function t(E,s,D,u,k){return new _(E,s,D,u,k)}class _ extends e.Lv{constructor(s,D,u,k,p,S){super(s),this.onFinalize=p,this.shouldUnsubscribe=S,this._next=D?function(A){try{D(A)}catch(P){s.error(P)}}:super._next,this._error=k?function(A){try{k(A)}catch(P){s.error(P)}finally{this.unsubscribe()}}:super._error,this._complete=u?function(){try{u()}catch(A){s.error(A)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var s;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:D}=this;super.unsubscribe(),!D&&(null===(s=this.onFinalize)||void 0===s||s.call(this))}}}},9211:(Ve,X,m)=>{"use strict";m.d(X,{e:()=>u});var e=m(6936),t=m(1944),_=m(4987),E=m(3945);var D=m(8947);function u(k,p=e.z){return function s(k){return(0,t.e)((p,S)=>{let A=!1,P=null,M=null,z=!1;const I=()=>{if(M?.unsubscribe(),M=null,A){A=!1;const Z=P;P=null,S.next(Z)}z&&S.complete()},W=()=>{M=null,z&&S.complete()};p.subscribe((0,E.x)(S,Z=>{A=!0,P=Z,M||(0,_.Xf)(k(Z)).subscribe(M=(0,E.x)(S,I,W))},()=>{z=!0,(!A||!M||M.closed)&&S.complete()}))})}(()=>(0,D.H)(k,p))}},3158:(Ve,X,m)=>{"use strict";m.d(X,{K:()=>E});var e=m(4987),t=m(3945),_=m(1944);function E(s){return(0,_.e)((D,u)=>{let S,k=null,p=!1;k=D.subscribe((0,t.x)(u,void 0,void 0,A=>{S=(0,e.Xf)(s(A,E(s)(D))),k?(k.unsubscribe(),k=null,S.subscribe(u)):p=!0})),p&&(k.unsubscribe(),k=null,S.subscribe(u))})}},3853:(Ve,X,m)=>{"use strict";m.d(X,{b:()=>_});var e=m(9525),t=m(2971);function _(E,s){return(0,t.m)(s)?(0,e.z)(E,s,1):(0,e.z)(E,1)}},1989:(Ve,X,m)=>{"use strict";m.d(X,{b:()=>E});var e=m(6936),t=m(1944),_=m(3945);function E(s,D=e.z){return(0,t.e)((u,k)=>{let p=null,S=null,A=null;const P=()=>{if(p){p.unsubscribe(),p=null;const z=S;S=null,k.next(z)}};function M(){const z=A+s,I=D.now();if(I{S=z,A=D.now(),p||(p=D.schedule(M,s),k.add(p))},()=>{P(),k.complete()},void 0,()=>{S=p=null}))})}},4744:(Ve,X,m)=>{"use strict";m.d(X,{d:()=>_});var e=m(1944),t=m(3945);function _(E){return(0,e.e)((s,D)=>{let u=!1;s.subscribe((0,t.x)(D,k=>{u=!0,D.next(k)},()=>{u||D.next(E),D.complete()}))})}},6234:(Ve,X,m)=>{"use strict";m.d(X,{g:()=>p});var e=m(6936),t=m(9319),_=m(9295),E=m(23),s=m(73),D=m(9525);function u(S,A){return A?P=>(0,t.z)(A.pipe((0,_.q)(1),(0,E.l)()),P.pipe(u(S))):(0,D.z)((P,M)=>S(P,M).pipe((0,_.q)(1),(0,s.h)(P)))}var k=m(8947);function p(S,A=e.z){const P=(0,k.H)(S,A);return u(()=>P)}},8977:(Ve,X,m)=>{"use strict";m.d(X,{x:()=>E});var e=m(9173),t=m(1944),_=m(3945);function E(D,u=e.y){return D=D??s,(0,t.e)((k,p)=>{let S,A=!0;k.subscribe((0,_.x)(p,P=>{const M=u(P);(A||!D(S,M))&&(A=!1,S=M,p.next(P))}))})}function s(D,u){return D===u}},116:(Ve,X,m)=>{"use strict";m.d(X,{h:()=>_});var e=m(1944),t=m(3945);function _(E,s){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>E.call(s,p,k++)&&u.next(p)))})}},2313:(Ve,X,m)=>{"use strict";m.d(X,{x:()=>t});var e=m(1944);function t(_){return(0,e.e)((E,s)=>{try{E.subscribe(s)}finally{s.add(_)}})}},155:(Ve,X,m)=>{"use strict";m.d(X,{P:()=>u});var e=m(4423),t=m(116),_=m(9295),E=m(4744),s=m(7354),D=m(9173);function u(k,p){const S=arguments.length>=2;return A=>A.pipe(k?(0,t.h)((P,M)=>k(P,M,A)):D.y,(0,_.q)(1),S?(0,E.d)(p):(0,s.T)(()=>new e.K))}},23:(Ve,X,m)=>{"use strict";m.d(X,{l:()=>E});var e=m(1944),t=m(3945),_=m(9635);function E(){return(0,e.e)((s,D)=>{s.subscribe((0,t.x)(D,_.Z))})}},635:(Ve,X,m)=>{"use strict";m.d(X,{U:()=>_});var e=m(1944),t=m(3945);function _(E,s){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>{u.next(E.call(s,p,k++))}))})}},73:(Ve,X,m)=>{"use strict";m.d(X,{h:()=>t});var e=m(635);function t(_){return(0,e.U)(()=>_)}},1308:(Ve,X,m)=>{"use strict";m.d(X,{J:()=>_});var e=m(9525),t=m(9173);function _(E=1/0){return(0,e.z)(t.y,E)}},9525:(Ve,X,m)=>{"use strict";m.d(X,{z:()=>k});var e=m(635),t=m(4987),_=m(1944),E=m(1817),s=m(3945);var u=m(2971);function k(p,S,A=1/0){return(0,u.m)(S)?k((P,M)=>(0,e.U)((z,I)=>S(P,z,M,I))((0,t.Xf)(p(P,M))),A):("number"==typeof S&&(A=S),(0,_.e)((P,M)=>function D(p,S,A,P,M,z,I,W){const Z=[];let j=0,ae=0,re=!1;const pe=()=>{re&&!Z.length&&!j&&S.complete()},le=de=>j{z&&S.next(de),j++;let $=!1;(0,t.Xf)(A(de,ae++)).subscribe((0,s.x)(S,ue=>{M?.(ue),z?le(ue):S.next(ue)},()=>{$=!0},void 0,()=>{if($)try{for(j--;Z.length&&jve(ue)):ve(ue)}pe()}catch(ue){S.error(ue)}}))};return p.subscribe((0,s.x)(S,le,()=>{re=!0,pe()})),()=>{W?.()}}(P,M,p,A)))}},8728:(Ve,X,m)=>{"use strict";m.d(X,{Q:()=>E});var e=m(1817),t=m(1944),_=m(3945);function E(s,D=0){return(0,t.e)((u,k)=>{u.subscribe((0,_.x)(k,p=>(0,e.f)(k,s,()=>k.next(p),D),()=>(0,e.f)(k,s,()=>k.complete(),D),p=>(0,e.f)(k,s,()=>k.error(p),D)))})}},6074:(Ve,X,m)=>{"use strict";m.d(X,{x:()=>_});var e=m(1944),t=m(3945);function _(){return(0,e.e)((E,s)=>{let D=null;E._refCount++;const u=(0,t.x)(s,void 0,void 0,void 0,()=>{if(!E||E._refCount<=0||0<--E._refCount)return void(D=null);const k=E._connection,p=D;D=null,k&&(!p||k===p)&&k.unsubscribe(),s.unsubscribe()});E.subscribe(u),u.closed||(D=E.connect())})}},4351:(Ve,X,m)=>{"use strict";m.d(X,{R:()=>E});var e=m(1944),t=m(3945);function _(s,D,u,k,p){return(S,A)=>{let P=u,M=D,z=0;S.subscribe((0,t.x)(A,I=>{const W=z++;M=P?s(M,I,W):(P=!0,I),k&&A.next(M)},p&&(()=>{P&&A.next(M),A.complete()})))}}function E(s,D){return(0,e.e)(_(s,D,arguments.length>=2,!0))}},1203:(Ve,X,m)=>{"use strict";m.d(X,{B:()=>s});var e=m(4987),t=m(253),_=m(5463),E=m(1944);function s(u={}){const{connector:k=(()=>new t.x),resetOnError:p=!0,resetOnComplete:S=!0,resetOnRefCountZero:A=!0}=u;return P=>{let M,z,I,W=0,Z=!1,j=!1;const ae=()=>{z?.unsubscribe(),z=void 0},re=()=>{ae(),M=I=void 0,Z=j=!1},pe=()=>{const le=M;re(),le?.unsubscribe()};return(0,E.e)((le,ve)=>{W++,!j&&!Z&&ae();const de=I=I??k();ve.add(()=>{W--,0===W&&!j&&!Z&&(z=D(pe,A))}),de.subscribe(ve),!M&&W>0&&(M=new _.Hp({next:$=>de.next($),error:$=>{j=!0,ae(),z=D(re,p,$),de.error($)},complete:()=>{Z=!0,ae(),z=D(re,S),de.complete()}}),(0,e.Xf)(le).subscribe(M))})(P)}}function D(u,k,...p){if(!0===k)return void u();if(!1===k)return;const S=new _.Hp({next:()=>{S.unsubscribe(),u()}});return k(...p).subscribe(S)}},7260:(Ve,X,m)=>{"use strict";m.d(X,{T:()=>t});var e=m(116);function t(_){return(0,e.h)((E,s)=>_<=s)}},4874:(Ve,X,m)=>{"use strict";m.d(X,{O:()=>E});var e=m(9319),t=m(420),_=m(1944);function E(...s){const D=(0,t.yG)(s);return(0,_.e)((u,k)=>{(D?(0,e.z)(s,u,D):(0,e.z)(s,u)).subscribe(k)})}},2673:(Ve,X,m)=>{"use strict";m.d(X,{w:()=>E});var e=m(4987),t=m(1944),_=m(3945);function E(s,D){return(0,t.e)((u,k)=>{let p=null,S=0,A=!1;const P=()=>A&&!p&&k.complete();u.subscribe((0,_.x)(k,M=>{p?.unsubscribe();let z=0;const I=S++;(0,e.Xf)(s(M,I)).subscribe(p=(0,_.x)(k,W=>k.next(D?D(M,W,I,z++):W),()=>{p=null,P()}))},()=>{A=!0,P()}))})}},9295:(Ve,X,m)=>{"use strict";m.d(X,{q:()=>E});var e=m(591),t=m(1944),_=m(3945);function E(s){return s<=0?()=>e.E:(0,t.e)((D,u)=>{let k=0;D.subscribe((0,_.x)(u,p=>{++k<=s&&(u.next(p),s<=k&&u.complete())}))})}},8951:(Ve,X,m)=>{"use strict";m.d(X,{R:()=>s});var e=m(1944),t=m(3945),_=m(4987),E=m(9635);function s(D){return(0,e.e)((u,k)=>{(0,_.Xf)(D).subscribe((0,t.x)(k,()=>k.complete(),E.Z)),!k.closed&&u.subscribe(k)})}},2566:(Ve,X,m)=>{"use strict";m.d(X,{o:()=>_});var e=m(1944),t=m(3945);function _(E,s=!1){return(0,e.e)((D,u)=>{let k=0;D.subscribe((0,t.x)(u,p=>{const S=E(p,k++);(S||s)&&u.next(p),!S&&u.complete()}))})}},9337:(Ve,X,m)=>{"use strict";m.d(X,{b:()=>s});var e=m(2971),t=m(1944),_=m(3945),E=m(9173);function s(D,u,k){const p=(0,e.m)(D)||u||k?{next:D,error:u,complete:k}:D;return p?(0,t.e)((S,A)=>{var P;null===(P=p.subscribe)||void 0===P||P.call(p);let M=!0;S.subscribe((0,_.x)(A,z=>{var I;null===(I=p.next)||void 0===I||I.call(p,z),A.next(z)},()=>{var z;M=!1,null===(z=p.complete)||void 0===z||z.call(p),A.complete()},z=>{var I;M=!1,null===(I=p.error)||void 0===I||I.call(p,z),A.error(z)},()=>{var z,I;M&&(null===(z=p.unsubscribe)||void 0===z||z.call(p)),null===(I=p.finalize)||void 0===I||I.call(p)}))}):E.y}},7354:(Ve,X,m)=>{"use strict";m.d(X,{T:()=>E});var e=m(4423),t=m(1944),_=m(3945);function E(D=s){return(0,t.e)((u,k)=>{let p=!1;u.subscribe((0,_.x)(k,S=>{p=!0,k.next(S)},()=>p?k.complete():k.error(D())))})}function s(){return new e.K}},7580:(Ve,X,m)=>{"use strict";m.d(X,{V:()=>p});var e=m(6936),t=m(7885),_=m(1944),E=m(4987),s=m(7543),D=m(3945),u=m(1817);const k=(0,s.d)(A=>function(M=null){A(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=M});function p(A,P){const{first:M,each:z,with:I=S,scheduler:W=P??e.z,meta:Z=null}=(0,t.q)(A)?{first:A}:"number"==typeof A?{each:A}:A;if(null==M&&null==z)throw new TypeError("No timeout provided.");return(0,_.e)((j,ae)=>{let re,pe,le=null,ve=0;const de=$=>{pe=(0,u.f)(ae,W,()=>{try{re.unsubscribe(),(0,E.Xf)(I({meta:Z,lastValue:le,seen:ve})).subscribe(ae)}catch(ue){ae.error(ue)}},$)};re=j.subscribe((0,D.x)(ae,$=>{pe?.unsubscribe(),ve++,ae.next(le=$),z>0&&de(z)},void 0,void 0,()=>{pe?.closed||pe?.unsubscribe(),le=null})),!ve&&de(null!=M?"number"==typeof M?M:+M-W.now():z)})}function S(A){throw new k(A)}},538:(Ve,X,m)=>{"use strict";m.d(X,{M:()=>u});var e=m(1944),t=m(3945),_=m(4987),E=m(9173),s=m(9635),D=m(420);function u(...k){const p=(0,D.jO)(k);return(0,e.e)((S,A)=>{const P=k.length,M=new Array(P);let z=k.map(()=>!1),I=!1;for(let W=0;W{M[W]=Z,!I&&!z[W]&&(z[W]=!0,(I=z.every(E.y))&&(z=null))},s.Z));S.subscribe((0,t.x)(A,W=>{if(I){const Z=[W,...M];A.next(p?p(...Z):Z)}}))})}},5417:(Ve,X,m)=>{"use strict";m.d(X,{o:()=>s});var e=m(7714);class t extends e.w0{constructor(u,k){super()}schedule(u,k=0){return this}}const _={setInterval(D,u,...k){const{delegate:p}=_;return p?.setInterval?p.setInterval(D,u,...k):setInterval(D,u,...k)},clearInterval(D){const{delegate:u}=_;return(u?.clearInterval||clearInterval)(D)},delegate:void 0};var E=m(9663);class s extends t{constructor(u,k){super(u,k),this.scheduler=u,this.work=k,this.pending=!1}schedule(u,k=0){var p;if(this.closed)return this;this.state=u;const S=this.id,A=this.scheduler;return null!=S&&(this.id=this.recycleAsyncId(A,S,k)),this.pending=!0,this.delay=k,this.id=null!==(p=this.id)&&void 0!==p?p:this.requestAsyncId(A,this.id,k),this}requestAsyncId(u,k,p=0){return _.setInterval(u.flush.bind(u,this),p)}recycleAsyncId(u,k,p=0){if(null!=p&&this.delay===p&&!1===this.pending)return k;null!=k&&_.clearInterval(k)}execute(u,k){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const p=this._execute(u,k);if(p)return p;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(u,k){let S,p=!1;try{this.work(u)}catch(A){p=!0,S=A||new Error("Scheduled action threw falsy error")}if(p)return this.unsubscribe(),S}unsubscribe(){if(!this.closed){const{id:u,scheduler:k}=this,{actions:p}=k;this.work=this.state=this.scheduler=null,this.pending=!1,(0,E.P)(p,this),null!=u&&(this.id=this.recycleAsyncId(k,u,null)),this.delay=null,super.unsubscribe()}}}},1010:(Ve,X,m)=>{"use strict";m.d(X,{v:()=>_});var e=m(7654);class t{constructor(s,D=t.now){this.schedulerActionCtor=s,this.now=D}schedule(s,D=0,u){return new this.schedulerActionCtor(this,s).schedule(u,D)}}t.now=e.l.now;class _ extends t{constructor(s,D=t.now){super(s,D),this.actions=[],this._active=!1}flush(s){const{actions:D}=this;if(this._active)return void D.push(s);let u;this._active=!0;do{if(u=s.execute(s.state,s.delay))break}while(s=D.shift());if(this._active=!1,u){for(;s=D.shift();)s.unsubscribe();throw u}}}},3888:(Ve,X,m)=>{"use strict";m.d(X,{E:()=>z});var e=m(5417);let _,t=1;const E={};function s(W){return W in E&&(delete E[W],!0)}const D={setImmediate(W){const Z=t++;return E[Z]=!0,_||(_=Promise.resolve()),_.then(()=>s(Z)&&W()),Z},clearImmediate(W){s(W)}},{setImmediate:k,clearImmediate:p}=D,S={setImmediate(...W){const{delegate:Z}=S;return(Z?.setImmediate||k)(...W)},clearImmediate(W){const{delegate:Z}=S;return(Z?.clearImmediate||p)(W)},delegate:void 0};class A extends e.o{constructor(Z,j){super(Z,j),this.scheduler=Z,this.work=j}requestAsyncId(Z,j,ae=0){return null!==ae&&ae>0?super.requestAsyncId(Z,j,ae):(Z.actions.push(this),Z._scheduled||(Z._scheduled=S.setImmediate(Z.flush.bind(Z,void 0))))}recycleAsyncId(Z,j,ae=0){var re;if(null!=ae?ae>0:this.delay>0)return super.recycleAsyncId(Z,j,ae);const{actions:pe}=Z;null!=j&&(null===(re=pe[pe.length-1])||void 0===re?void 0:re.id)!==j&&(S.clearImmediate(j),Z._scheduled=void 0)}}var P=m(1010);class M extends P.v{flush(Z){this._active=!0;const j=this._scheduled;this._scheduled=void 0;const{actions:ae}=this;let re;Z=Z||ae.shift();do{if(re=Z.execute(Z.state,Z.delay))break}while((Z=ae[0])&&Z.id===j&&ae.shift());if(this._active=!1,re){for(;(Z=ae[0])&&Z.id===j&&ae.shift();)Z.unsubscribe();throw re}}}const z=new M(A)},6936:(Ve,X,m)=>{"use strict";m.d(X,{P:()=>E,z:()=>_});var e=m(5417);const _=new(m(1010).v)(e.o),E=_},7654:(Ve,X,m)=>{"use strict";m.d(X,{l:()=>e});const e={now:()=>(e.delegate||Date).now(),delegate:void 0}},4915:(Ve,X,m)=>{"use strict";m.d(X,{N:()=>s});var e=m(5417);class t extends e.o{constructor(k,p){super(k,p),this.scheduler=k,this.work=p}schedule(k,p=0){return p>0?super.schedule(k,p):(this.delay=p,this.state=k,this.scheduler.flush(this),this)}execute(k,p){return p>0||this.closed?super.execute(k,p):this._execute(k,p)}requestAsyncId(k,p,S=0){return null!=S&&S>0||null==S&&this.delay>0?super.requestAsyncId(k,p,S):(k.flush(this),0)}}var _=m(1010);class E extends _.v{}const s=new E(t)},3542:(Ve,X,m)=>{"use strict";m.d(X,{z:()=>e});const e={setTimeout(t,_,...E){const{delegate:s}=e;return s?.setTimeout?s.setTimeout(t,_,...E):setTimeout(t,_,...E)},clearTimeout(t){const{delegate:_}=e;return(_?.clearTimeout||clearTimeout)(t)},delegate:void 0}},7321:(Ve,X,m)=>{"use strict";m.d(X,{h:()=>t});const t=function e(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},4585:(Ve,X,m)=>{"use strict";m.d(X,{L:()=>e});const e="function"==typeof Symbol&&Symbol.observable||"@@observable"},4423:(Ve,X,m)=>{"use strict";m.d(X,{K:()=>t});const t=(0,m(7543).d)(_=>function(){_(this),this.name="EmptyError",this.message="no elements in sequence"})},420:(Ve,X,m)=>{"use strict";m.d(X,{_6:()=>D,jO:()=>E,yG:()=>s});var e=m(2971),t=m(9867);function _(u){return u[u.length-1]}function E(u){return(0,e.m)(_(u))?u.pop():void 0}function s(u){return(0,t.K)(_(u))?u.pop():void 0}function D(u,k){return"number"==typeof _(u)?u.pop():k}},5756:(Ve,X,m)=>{"use strict";m.d(X,{D:()=>s});const{isArray:e}=Array,{getPrototypeOf:t,prototype:_,keys:E}=Object;function s(u){if(1===u.length){const k=u[0];if(e(k))return{args:k,keys:null};if(function D(u){return u&&"object"==typeof u&&t(u)===_}(k)){const p=E(k);return{args:p.map(S=>k[S]),keys:p}}}return{args:u,keys:null}}},9663:(Ve,X,m)=>{"use strict";function e(t,_){if(t){const E=t.indexOf(_);0<=E&&t.splice(E,1)}}m.d(X,{P:()=>e})},7543:(Ve,X,m)=>{"use strict";function e(t){const E=t(s=>{Error.call(s),s.stack=(new Error).stack});return E.prototype=Object.create(Error.prototype),E.prototype.constructor=E,E}m.d(X,{d:()=>e})},1054:(Ve,X,m)=>{"use strict";function e(t,_){return t.reduce((E,s,D)=>(E[s]=_[D],E),{})}m.d(X,{n:()=>e})},2309:(Ve,X,m)=>{"use strict";m.d(X,{O:()=>E,x:()=>_});var e=m(9057);let t=null;function _(s){if(e.v.useDeprecatedSynchronousErrorHandling){const D=!t;if(D&&(t={errorThrown:!1,error:null}),s(),D){const{errorThrown:u,error:k}=t;if(t=null,u)throw k}}else s()}function E(s){e.v.useDeprecatedSynchronousErrorHandling&&t&&(t.errorThrown=!0,t.error=s)}},1817:(Ve,X,m)=>{"use strict";function e(t,_,E,s=0,D=!1){const u=_.schedule(function(){E(),D?t.add(this.schedule(null,s)):this.unsubscribe()},s);if(t.add(u),!D)return u}m.d(X,{f:()=>e})},9173:(Ve,X,m)=>{"use strict";function e(t){return t}m.d(X,{y:()=>e})},9806:(Ve,X,m)=>{"use strict";m.d(X,{z:()=>e});const e=t=>t&&"number"==typeof t.length&&"function"!=typeof t},470:(Ve,X,m)=>{"use strict";m.d(X,{D:()=>t});var e=m(2971);function t(_){return Symbol.asyncIterator&&(0,e.m)(_?.[Symbol.asyncIterator])}},7885:(Ve,X,m)=>{"use strict";function e(t){return t instanceof Date&&!isNaN(t)}m.d(X,{q:()=>e})},2971:(Ve,X,m)=>{"use strict";function e(t){return"function"==typeof t}m.d(X,{m:()=>e})},1331:(Ve,X,m)=>{"use strict";m.d(X,{c:()=>_});var e=m(4585),t=m(2971);function _(E){return(0,t.m)(E[e.L])}},3433:(Ve,X,m)=>{"use strict";m.d(X,{T:()=>_});var e=m(7321),t=m(2971);function _(E){return(0,t.m)(E?.[e.h])}},4437:(Ve,X,m)=>{"use strict";m.d(X,{b:()=>_});var e=m(833),t=m(2971);function _(E){return!!E&&(E instanceof e.y||(0,t.m)(E.lift)&&(0,t.m)(E.subscribe))}},9548:(Ve,X,m)=>{"use strict";m.d(X,{t:()=>t});var e=m(2971);function t(_){return(0,e.m)(_?.then)}},181:(Ve,X,m)=>{"use strict";m.d(X,{L:()=>E,Q:()=>_});var e=m(4929),t=m(2971);function _(s){return(0,e.FC)(this,arguments,function*(){const u=s.getReader();try{for(;;){const{value:k,done:p}=yield(0,e.qq)(u.read());if(p)return yield(0,e.qq)(void 0);yield yield(0,e.qq)(k)}}finally{u.releaseLock()}})}function E(s){return(0,t.m)(s?.getReader)}},9867:(Ve,X,m)=>{"use strict";m.d(X,{K:()=>t});var e=m(2971);function t(_){return _&&(0,e.m)(_.schedule)}},1944:(Ve,X,m)=>{"use strict";m.d(X,{A:()=>t,e:()=>_});var e=m(2971);function t(E){return(0,e.m)(E?.lift)}function _(E){return s=>{if(t(s))return s.lift(function(D){try{return E(D,this)}catch(u){this.error(u)}});throw new TypeError("Unable to lift unknown Observable type")}}},8385:(Ve,X,m)=>{"use strict";m.d(X,{Z:()=>E});var e=m(635);const{isArray:t}=Array;function E(s){return(0,e.U)(D=>function _(s,D){return t(D)?s(...D):s(D)}(s,D))}},9635:(Ve,X,m)=>{"use strict";function e(){}m.d(X,{Z:()=>e})},629:(Ve,X,m)=>{"use strict";m.d(X,{U:()=>_,z:()=>t});var e=m(9173);function t(...E){return _(E)}function _(E){return 0===E.length?e.y:1===E.length?E[0]:function(D){return E.reduce((u,k)=>k(u),D)}}},4709:(Ve,X,m)=>{"use strict";m.d(X,{h:()=>_});var e=m(9057),t=m(3542);function _(E){t.z.setTimeout(()=>{const{onUnhandledError:s}=e.v;if(!s)throw E;s(E)})}},7785:(Ve,X,m)=>{"use strict";function e(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}m.d(X,{z:()=>e})},9708:(Ve,X,m)=>{var e=m(3195),t=e.Buffer;function _(s,D){for(var u in s)D[u]=s[u]}function E(s,D,u){return t(s,D,u)}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?Ve.exports=e:(_(e,X),X.Buffer=E),E.prototype=Object.create(t.prototype),_(t,E),E.from=function(s,D,u){if("number"==typeof s)throw new TypeError("Argument must not be a number");return t(s,D,u)},E.alloc=function(s,D,u){if("number"!=typeof s)throw new TypeError("Argument must be a number");var k=t(s);return void 0!==D?"string"==typeof u?k.fill(D,u):k.fill(D):k.fill(0),k},E.allocUnsafe=function(s){if("number"!=typeof s)throw new TypeError("Argument must be a number");return t(s)},E.allocUnsafeSlow=function(s){if("number"!=typeof s)throw new TypeError("Argument must be a number");return e.SlowBuffer(s)}},4421:(Ve,X,m)=>{"use strict";var E,e=m(3195),t=e.Buffer,_={};for(E in e)!e.hasOwnProperty(E)||"SlowBuffer"===E||"Buffer"===E||(_[E]=e[E]);var s=_.Buffer={};for(E in t)!t.hasOwnProperty(E)||"allocUnsafe"===E||"allocUnsafeSlow"===E||(s[E]=t[E]);if(_.Buffer.prototype=t.prototype,(!s.from||s.from===Uint8Array.from)&&(s.from=function(D,u,k){if("number"==typeof D)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof D);if(D&&typeof D.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof D);return t(D,u,k)}),s.alloc||(s.alloc=function(D,u,k){if("number"!=typeof D)throw new TypeError('The "size" argument must be of type number. Received type '+typeof D);if(D<0||D>=2*(1<<30))throw new RangeError('The value "'+D+'" is invalid for option "size"');var p=t(D);return u&&0!==u.length?"string"==typeof k?p.fill(u,k):p.fill(u):p.fill(0),p}),!_.kStringMaxLength)try{_.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}_.constants||(_.constants={MAX_LENGTH:_.kMaxLength},_.kStringMaxLength&&(_.constants.MAX_STRING_LENGTH=_.kStringMaxLength)),Ve.exports=_},2443:(Ve,X,m)=>{var e=m(9708).Buffer;function t(_,E){this._block=e.alloc(_),this._finalSize=E,this._blockSize=_,this._len=0}t.prototype.update=function(_,E){"string"==typeof _&&(E=E||"utf8",_=e.from(_,E));for(var s=this._block,D=this._blockSize,u=_.length,k=this._len,p=0;p=this._finalSize&&(this._update(this._block),this._block.fill(0));var s=8*this._len;if(s<=4294967295)this._block.writeUInt32BE(s,this._blockSize-4);else{var D=(4294967295&s)>>>0,u=(s-D)/4294967296;this._block.writeUInt32BE(u,this._blockSize-8),this._block.writeUInt32BE(D,this._blockSize-4)}this._update(this._block);var k=this._hash();return _?k.toString(_):k},t.prototype._update=function(){throw new Error("_update must be implemented by subclass")},Ve.exports=t},1001:(Ve,X,m)=>{var e=Ve.exports=function(_){_=_.toLowerCase();var E=e[_];if(!E)throw new Error(_+" is not supported (we accept pull requests)");return new E};e.sha=m(6216),e.sha1=m(442),e.sha224=m(3843),e.sha256=m(4507),e.sha384=m(8660),e.sha512=m(3544)},6216:(Ve,X,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(S){return S<<5|S>>>27}function k(S){return S<<30|S>>>2}function p(S,A,P,M){return 0===S?A&P|~A&M:2===S?A&P|A&M|P&M:A^P^M}e(D,t),D.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},D.prototype._update=function(S){for(var A=this._w,P=0|this._a,M=0|this._b,z=0|this._c,I=0|this._d,W=0|this._e,Z=0;Z<16;++Z)A[Z]=S.readInt32BE(4*Z);for(;Z<80;++Z)A[Z]=A[Z-3]^A[Z-8]^A[Z-14]^A[Z-16];for(var j=0;j<80;++j){var ae=~~(j/20),re=u(P)+p(ae,M,z,I)+W+A[j]+E[ae]|0;W=I,I=z,z=k(M),M=P,P=re}this._a=P+this._a|0,this._b=M+this._b|0,this._c=z+this._c|0,this._d=I+this._d|0,this._e=W+this._e|0},D.prototype._hash=function(){var S=_.allocUnsafe(20);return S.writeInt32BE(0|this._a,0),S.writeInt32BE(0|this._b,4),S.writeInt32BE(0|this._c,8),S.writeInt32BE(0|this._d,12),S.writeInt32BE(0|this._e,16),S},Ve.exports=D},442:(Ve,X,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(A){return A<<1|A>>>31}function k(A){return A<<5|A>>>27}function p(A){return A<<30|A>>>2}function S(A,P,M,z){return 0===A?P&M|~P&z:2===A?P&M|P&z|M&z:P^M^z}e(D,t),D.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},D.prototype._update=function(A){for(var P=this._w,M=0|this._a,z=0|this._b,I=0|this._c,W=0|this._d,Z=0|this._e,j=0;j<16;++j)P[j]=A.readInt32BE(4*j);for(;j<80;++j)P[j]=u(P[j-3]^P[j-8]^P[j-14]^P[j-16]);for(var ae=0;ae<80;++ae){var re=~~(ae/20),pe=k(M)+S(re,z,I,W)+Z+P[ae]+E[re]|0;Z=W,W=I,I=p(z),z=M,M=pe}this._a=M+this._a|0,this._b=z+this._b|0,this._c=I+this._c|0,this._d=W+this._d|0,this._e=Z+this._e|0},D.prototype._hash=function(){var A=_.allocUnsafe(20);return A.writeInt32BE(0|this._a,0),A.writeInt32BE(0|this._b,4),A.writeInt32BE(0|this._c,8),A.writeInt32BE(0|this._d,12),A.writeInt32BE(0|this._e,16),A},Ve.exports=D},3843:(Ve,X,m)=>{var e=m(5035),t=m(4507),_=m(2443),E=m(9708).Buffer,s=new Array(64);function D(){this.init(),this._w=s,_.call(this,64,56)}e(D,t),D.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},D.prototype._hash=function(){var u=E.allocUnsafe(28);return u.writeInt32BE(this._a,0),u.writeInt32BE(this._b,4),u.writeInt32BE(this._c,8),u.writeInt32BE(this._d,12),u.writeInt32BE(this._e,16),u.writeInt32BE(this._f,20),u.writeInt32BE(this._g,24),u},Ve.exports=D},4507:(Ve,X,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function D(){this.init(),this._w=s,t.call(this,64,56)}function u(M,z,I){return I^M&(z^I)}function k(M,z,I){return M&z|I&(M|z)}function p(M){return(M>>>2|M<<30)^(M>>>13|M<<19)^(M>>>22|M<<10)}function S(M){return(M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7)}function A(M){return(M>>>7|M<<25)^(M>>>18|M<<14)^M>>>3}function P(M){return(M>>>17|M<<15)^(M>>>19|M<<13)^M>>>10}e(D,t),D.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},D.prototype._update=function(M){for(var z=this._w,I=0|this._a,W=0|this._b,Z=0|this._c,j=0|this._d,ae=0|this._e,re=0|this._f,pe=0|this._g,le=0|this._h,ve=0;ve<16;++ve)z[ve]=M.readInt32BE(4*ve);for(;ve<64;++ve)z[ve]=P(z[ve-2])+z[ve-7]+A(z[ve-15])+z[ve-16]|0;for(var de=0;de<64;++de){var $=le+S(ae)+u(ae,re,pe)+E[de]+z[de]|0,ue=p(I)+k(I,W,Z)|0;le=pe,pe=re,re=ae,ae=j+$|0,j=Z,Z=W,W=I,I=$+ue|0}this._a=I+this._a|0,this._b=W+this._b|0,this._c=Z+this._c|0,this._d=j+this._d|0,this._e=ae+this._e|0,this._f=re+this._f|0,this._g=pe+this._g|0,this._h=le+this._h|0},D.prototype._hash=function(){var M=_.allocUnsafe(32);return M.writeInt32BE(this._a,0),M.writeInt32BE(this._b,4),M.writeInt32BE(this._c,8),M.writeInt32BE(this._d,12),M.writeInt32BE(this._e,16),M.writeInt32BE(this._f,20),M.writeInt32BE(this._g,24),M.writeInt32BE(this._h,28),M},Ve.exports=D},8660:(Ve,X,m)=>{var e=m(5035),t=m(3544),_=m(2443),E=m(9708).Buffer,s=new Array(160);function D(){this.init(),this._w=s,_.call(this,128,112)}e(D,t),D.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},D.prototype._hash=function(){var u=E.allocUnsafe(48);function k(p,S,A){u.writeInt32BE(p,A),u.writeInt32BE(S,A+4)}return k(this._ah,this._al,0),k(this._bh,this._bl,8),k(this._ch,this._cl,16),k(this._dh,this._dl,24),k(this._eh,this._el,32),k(this._fh,this._fl,40),u},Ve.exports=D},3544:(Ve,X,m)=>{var e=m(5035),t=m(2443),_=m(9708).Buffer,E=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function D(){this.init(),this._w=s,t.call(this,128,112)}function u(W,Z,j){return j^W&(Z^j)}function k(W,Z,j){return W&Z|j&(W|Z)}function p(W,Z){return(W>>>28|Z<<4)^(Z>>>2|W<<30)^(Z>>>7|W<<25)}function S(W,Z){return(W>>>14|Z<<18)^(W>>>18|Z<<14)^(Z>>>9|W<<23)}function A(W,Z){return(W>>>1|Z<<31)^(W>>>8|Z<<24)^W>>>7}function P(W,Z){return(W>>>1|Z<<31)^(W>>>8|Z<<24)^(W>>>7|Z<<25)}function M(W,Z){return(W>>>19|Z<<13)^(Z>>>29|W<<3)^W>>>6}function z(W,Z){return(W>>>19|Z<<13)^(Z>>>29|W<<3)^(W>>>6|Z<<26)}function I(W,Z){return W>>>0>>0?1:0}e(D,t),D.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},D.prototype._update=function(W){for(var Z=this._w,j=0|this._ah,ae=0|this._bh,re=0|this._ch,pe=0|this._dh,le=0|this._eh,ve=0|this._fh,de=0|this._gh,$=0|this._hh,ue=0|this._al,w=0|this._bl,n=0|this._cl,o=0|this._dl,h=0|this._el,d=0|this._fl,y=0|this._gl,L=0|this._hl,B=0;B<32;B+=2)Z[B]=W.readInt32BE(4*B),Z[B+1]=W.readInt32BE(4*B+4);for(;B<160;B+=2){var v=Z[B-30],a=Z[B-30+1],C=A(v,a),N=P(a,v),F=M(v=Z[B-4],a=Z[B-4+1]),J=z(a,v),Fe=Z[B-14],ke=Z[B-14+1],Ge=Z[B-32],je=Z[B-32+1],We=N+ke|0,be=C+Fe+I(We,N)|0;be=(be=be+F+I(We=We+J|0,J)|0)+Ge+I(We=We+je|0,je)|0,Z[B]=be,Z[B+1]=We}for(var Ye=0;Ye<160;Ye+=2){be=Z[Ye],We=Z[Ye+1];var Ie=k(j,ae,re),ge=k(ue,w,n),et=p(j,ue),ut=p(ue,j),Le=S(le,h),De=S(h,le),ne=E[Ye],fe=E[Ye+1],ee=u(le,ve,de),H=u(h,d,y),q=L+De|0,Oe=$+Le+I(q,L)|0;Oe=(Oe=(Oe=Oe+ee+I(q=q+H|0,H)|0)+ne+I(q=q+fe|0,fe)|0)+be+I(q=q+We|0,We)|0;var Re=ut+ge|0,oe=et+Ie+I(Re,ut)|0;$=de,L=y,de=ve,y=d,ve=le,d=h,le=pe+Oe+I(h=o+q|0,o)|0,pe=re,o=n,re=ae,n=w,ae=j,w=ue,j=Oe+oe+I(ue=q+Re|0,q)|0}this._al=this._al+ue|0,this._bl=this._bl+w|0,this._cl=this._cl+n|0,this._dl=this._dl+o|0,this._el=this._el+h|0,this._fl=this._fl+d|0,this._gl=this._gl+y|0,this._hl=this._hl+L|0,this._ah=this._ah+j+I(this._al,ue)|0,this._bh=this._bh+ae+I(this._bl,w)|0,this._ch=this._ch+re+I(this._cl,n)|0,this._dh=this._dh+pe+I(this._dl,o)|0,this._eh=this._eh+le+I(this._el,h)|0,this._fh=this._fh+ve+I(this._fl,d)|0,this._gh=this._gh+de+I(this._gl,y)|0,this._hh=this._hh+$+I(this._hl,L)|0},D.prototype._hash=function(){var W=_.allocUnsafe(64);function Z(j,ae,re){W.writeInt32BE(j,re),W.writeInt32BE(ae,re+4)}return Z(this._ah,this._al,0),Z(this._bh,this._bl,8),Z(this._ch,this._cl,16),Z(this._dh,this._dl,24),Z(this._eh,this._el,32),Z(this._fh,this._fl,40),Z(this._gh,this._gl,48),Z(this._hh,this._hl,56),W},Ve.exports=D},9591:function(Ve,X,m){!function(e){"use strict";var t={};Ve.exports?(t.bytesToHex=m(4123).bytesToHex,t.convertString=m(4056),Ve.exports=k):(t.bytesToHex=e.convertHex.bytesToHex,t.convertString=e.convertString,e.sha256=k);var _=[];!function(){function p(M){for(var z=Math.sqrt(M),I=2;I<=z;I++)if(!(M%I))return!1;return!0}for(var A=2,P=0;P<64;)p(A)&&(_[P]=4294967296*((M=Math.pow(A,1/3))-(0|M))|0,P++),A++;var M}();var D=[],u=function(p,S,A){for(var P=p[0],M=p[1],z=p[2],I=p[3],W=p[4],Z=p[5],j=p[6],ae=p[7],re=0;re<64;re++){if(re<16)D[re]=0|S[A+re];else{var pe=D[re-15],le=(pe<<25|pe>>>7)^(pe<<14|pe>>>18)^pe>>>3,ve=D[re-2],de=(ve<<15|ve>>>17)^(ve<<13|ve>>>19)^ve>>>10;D[re]=le+D[re-7]+de+D[re-16]}var ue=P&M^P&z^M&z,w=(P<<30|P>>>2)^(P<<19|P>>>13)^(P<<10|P>>>22),o=ae+((W<<26|W>>>6)^(W<<21|W>>>11)^(W<<7|W>>>25))+(W&Z^~W&j)+_[re]+D[re];ae=j,j=Z,Z=W,W=I+o|0,I=z,z=M,M=P,P=o+(w+ue)|0}p[0]=p[0]+P|0,p[1]=p[1]+M|0,p[2]=p[2]+z|0,p[3]=p[3]+I|0,p[4]=p[4]+W|0,p[5]=p[5]+Z|0,p[6]=p[6]+j|0,p[7]=p[7]+ae|0};function k(p,S){p.constructor===String&&(p=t.convertString.UTF8.stringToBytes(p));var A=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],P=function(p){for(var S=[],A=0,P=0;A>>5]|=p[A]<<24-P%32;return S}(p),M=8*p.length;P[M>>5]|=128<<24-M%32,P[15+(M+64>>9<<4)]=M;for(var z=0;z>>5]>>>24-A%32&255);return S}(A);return S&&S.asBytes?I:S&&S.asString?t.convertString.bytesToString(I):t.bytesToHex(I)}k.x2=function(p,S){return k(k(p,{asBytes:!0}),S)}}(this)},9046:(Ve,X,m)=>{"use strict";const e=Symbol.prototype.valueOf,t=m(8220);Ve.exports=function _(p,S){switch(t(p)){case"array":return p.slice();case"object":return Object.assign({},p);case"date":return new p.constructor(Number(p));case"map":return new Map(p);case"set":return new Set(p);case"buffer":return function u(p){const S=p.length,A=Buffer.allocUnsafe?Buffer.allocUnsafe(S):Buffer.from(S);return p.copy(A),A}(p);case"symbol":return function k(p){return e?Object(e.call(p)):{}}(p);case"arraybuffer":return function s(p){const S=new p.constructor(p.byteLength);return new Uint8Array(S).set(new Uint8Array(p)),S}(p);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return function D(p,S){return new p.constructor(p.buffer,p.byteOffset,p.length)}(p);case"regexp":return function E(p){const S=void 0!==p.flags?p.flags:/\w+$/.exec(p)||void 0,A=new p.constructor(p.source,S);return A.lastIndex=p.lastIndex,A}(p);case"error":return Object.create(p);default:return p}}},574:(Ve,X,m)=>{Ve.exports=_;var e=m(3358).EventEmitter;function _(){e.call(this)}m(5035)(_,e),_.Readable=m(1396),_.Writable=m(1120),_.Duplex=m(9800),_.Transform=m(8157),_.PassThrough=m(1908),_.finished=m(7722),_.pipeline=m(8096),_.Stream=_,_.prototype.pipe=function(E,s){var D=this;function u(z){E.writable&&!1===E.write(z)&&D.pause&&D.pause()}function k(){D.readable&&D.resume&&D.resume()}D.on("data",u),E.on("drain",k),!E._isStdio&&(!s||!1!==s.end)&&(D.on("end",S),D.on("close",A));var p=!1;function S(){p||(p=!0,E.end())}function A(){p||(p=!0,"function"==typeof E.destroy&&E.destroy())}function P(z){if(M(),0===e.listenerCount(this,"error"))throw z}function M(){D.removeListener("data",u),E.removeListener("drain",k),D.removeListener("end",S),D.removeListener("close",A),D.removeListener("error",P),E.removeListener("error",P),D.removeListener("end",M),D.removeListener("close",M),E.removeListener("close",M)}return D.on("error",P),E.on("error",P),D.on("end",M),D.on("close",M),E.on("close",M),E.emit("pipe",D),E}},4547:(Ve,X,m)=>{"use strict";var e=m(9708).Buffer,t=e.isEncoding||function(j){switch((j=""+j)&&j.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(j){var ae;switch(this.encoding=function E(j){var ae=function _(j){if(!j)return"utf8";for(var ae;;)switch(j){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return j;default:if(ae)return;j=(""+j).toLowerCase(),ae=!0}}(j);if("string"!=typeof ae&&(e.isEncoding===t||!t(j)))throw new Error("Unknown encoding: "+j);return ae||j}(j),this.encoding){case"utf16le":this.text=P,this.end=M,ae=4;break;case"utf8":this.fillLast=p,ae=4;break;case"base64":this.text=z,this.end=I,ae=3;break;default:return this.write=W,void(this.end=Z)}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(ae)}function D(j){return j<=127?0:j>>5==6?2:j>>4==14?3:j>>3==30?4:j>>6==2?-1:-2}function p(j){var ae=this.lastTotal-this.lastNeed,re=function k(j,ae,re){if(128!=(192&ae[0]))return j.lastNeed=0,"\ufffd";if(j.lastNeed>1&&ae.length>1){if(128!=(192&ae[1]))return j.lastNeed=1,"\ufffd";if(j.lastNeed>2&&ae.length>2&&128!=(192&ae[2]))return j.lastNeed=2,"\ufffd"}}(this,j);return void 0!==re?re:this.lastNeed<=j.length?(j.copy(this.lastChar,ae,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(j.copy(this.lastChar,ae,0,j.length),void(this.lastNeed-=j.length))}function P(j,ae){if((j.length-ae)%2==0){var re=j.toString("utf16le",ae);if(re){var pe=re.charCodeAt(re.length-1);if(pe>=55296&&pe<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=j[j.length-2],this.lastChar[1]=j[j.length-1],re.slice(0,-1)}return re}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=j[j.length-1],j.toString("utf16le",ae,j.length-1)}function M(j){var ae=j&&j.length?this.write(j):"";if(this.lastNeed){var re=this.lastTotal-this.lastNeed;return ae+this.lastChar.toString("utf16le",0,re)}return ae}function z(j,ae){var re=(j.length-ae)%3;return 0===re?j.toString("base64",ae):(this.lastNeed=3-re,this.lastTotal=3,1===re?this.lastChar[0]=j[j.length-1]:(this.lastChar[0]=j[j.length-2],this.lastChar[1]=j[j.length-1]),j.toString("base64",ae,j.length-re))}function I(j){var ae=j&&j.length?this.write(j):"";return this.lastNeed?ae+this.lastChar.toString("base64",0,3-this.lastNeed):ae}function W(j){return j.toString(this.encoding)}function Z(j){return j&&j.length?this.write(j):""}X.s=s,s.prototype.write=function(j){if(0===j.length)return"";var ae,re;if(this.lastNeed){if(void 0===(ae=this.fillLast(j)))return"";re=this.lastNeed,this.lastNeed=0}else re=0;return re=0?(le>0&&(j.lastNeed=le-1),le):--pe=0?(le>0&&(j.lastNeed=le-2),le):--pe=0?(le>0&&(2===le?le=0:j.lastNeed=le-3),le):0}(this,j,ae);if(!this.lastNeed)return j.toString("utf8",ae);this.lastTotal=re;var pe=j.length-(re-this.lastNeed);return j.copy(this.lastChar,0,pe),j.toString("utf8",ae,pe)},s.prototype.fillLast=function(j){if(this.lastNeed<=j.length)return j.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);j.copy(this.lastChar,this.lastTotal-this.lastNeed,0,j.length),this.lastNeed-=j.length}},917:(Ve,X,m)=>{var e=m(1546);X.encode=e.encode,X.decode=e.decode},1546:(Ve,X)=>{"use strict";var e=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];X.encode=function(_){Buffer.isBuffer(_)||(_=new Buffer(_));for(var E=0,s=0,D=0,u=0,k=new Buffer(8*function t(_){var E=Math.floor(_.length/5);return _.length%5==0?E:E+1}(_));E<_.length;){var p=_[E];D>3?(u=(u=p&255>>D)<<(D=(D+5)%8)|(E+1<_.length?_[E+1]:0)>>8-D,E++):(u=p>>8-(D+5)&31,0===(D=(D+5)%8)&&E++),k[s]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(u),s++}for(E=s;E>>(E=(E+5)%8),k[u]=D,u++,D=255&s<<8-E)}return k.slice(0,u)}},8059:Ve=>{function m(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}Ve.exports=function X(e,t){if(m("noDeprecation"))return e;var _=!1;return function E(){if(!_){if(m("throwDeprecation"))throw new Error(t);m("traceDeprecation")?console.trace(t):console.warn(t),_=!0}return e.apply(this,arguments)}}},4929:(Ve,X,m)=>{"use strict";m.d(X,{FC:()=>j,KL:()=>re,gn:()=>s,mG:()=>k,qq:()=>Z});function s(n,o,h,d){var B,y=arguments.length,L=y<3?o:null===d?d=Object.getOwnPropertyDescriptor(o,h):d;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)L=Reflect.decorate(n,o,h,d);else for(var v=n.length-1;v>=0;v--)(B=n[v])&&(L=(y<3?B(L):y>3?B(o,h,L):B(o,h))||L);return y>3&&L&&Object.defineProperty(o,h,L),L}function k(n,o,h,d){return new(h||(h=Promise))(function(L,B){function v(N){try{C(d.next(N))}catch(F){B(F)}}function a(N){try{C(d.throw(N))}catch(F){B(F)}}function C(N){N.done?L(N.value):function y(L){return L instanceof h?L:new h(function(B){B(L)})}(N.value).then(v,a)}C((d=d.apply(n,o||[])).next())})}Object.create;function P(n){var o="function"==typeof Symbol&&Symbol.iterator,h=o&&n[o],d=0;if(h)return h.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&d>=n.length&&(n=void 0),{value:n&&n[d++],done:!n}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")}function Z(n){return this instanceof Z?(this.v=n,this):new Z(n)}function j(n,o,h){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var y,d=h.apply(n,o||[]),L=[];return y={},B("next"),B("throw"),B("return"),y[Symbol.asyncIterator]=function(){return this},y;function B(J){d[J]&&(y[J]=function(Fe){return new Promise(function(ke,Ge){L.push([J,Fe,ke,Ge])>1||v(J,Fe)})})}function v(J,Fe){try{!function a(J){J.value instanceof Z?Promise.resolve(J.value.v).then(C,N):F(L[0][2],J)}(d[J](Fe))}catch(ke){F(L[0][3],ke)}}function C(J){v("next",J)}function N(J){v("throw",J)}function F(J,Fe){J(Fe),L.shift(),L.length&&v(L[0][0],L[0][1])}}function re(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var h,o=n[Symbol.asyncIterator];return o?o.call(n):(n=P(n),h={},d("next"),d("throw"),d("return"),h[Symbol.asyncIterator]=function(){return this},h);function d(L){h[L]=n[L]&&function(B){return new Promise(function(v,a){(function y(L,B,v,a){Promise.resolve(a).then(function(C){L({value:C,done:v})},B)})(v,a,(B=n[L](B)).done,B.value)})}}}Object.create},950:()=>{},6601:()=>{},8623:()=>{},7748:()=>{},5568:()=>{},6619:()=>{},7108:()=>{},2361:()=>{},4616:()=>{},4851:(Ve,X,m)=>{"use strict";m.d(X,{F4:()=>S,IO:()=>I,LC:()=>t,SB:()=>p,X$:()=>E,ZE:()=>ae,ZN:()=>j,_j:()=>e,eR:()=>A,jt:()=>s,k1:()=>re,l3:()=>_,oB:()=>k,pV:()=>M,ru:()=>D,vP:()=>u});class e{}class t{}const _="*";function E(pe,le){return{type:7,name:pe,definitions:le,options:{}}}function s(pe,le=null){return{type:4,styles:le,timings:pe}}function D(pe,le=null){return{type:3,steps:pe,options:le}}function u(pe,le=null){return{type:2,steps:pe,options:le}}function k(pe){return{type:6,styles:pe,offset:null}}function p(pe,le,ve){return{type:0,name:pe,styles:le,options:ve}}function S(pe){return{type:5,steps:pe}}function A(pe,le,ve=null){return{type:1,expr:pe,animation:le,options:ve}}function M(pe=null){return{type:9,options:pe}}function I(pe,le,ve=null){return{type:11,selector:pe,animation:le,options:ve}}function Z(pe){Promise.resolve().then(pe)}class j{constructor(le=0,ve=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=le+ve}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(le=>le()),this._onDoneFns=[])}onStart(le){this._originalOnStartFns.push(le),this._onStartFns.push(le)}onDone(le){this._originalOnDoneFns.push(le),this._onDoneFns.push(le)}onDestroy(le){this._onDestroyFns.push(le)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){Z(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(le=>le()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(le=>le()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(le){this._position=this.totalTime?le*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(le){const ve="start"==le?this._onStartFns:this._onDoneFns;ve.forEach(de=>de()),ve.length=0}}class ae{constructor(le){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=le;let ve=0,de=0,$=0;const ue=this.players.length;0==ue?Z(()=>this._onFinish()):this.players.forEach(w=>{w.onDone(()=>{++ve==ue&&this._onFinish()}),w.onDestroy(()=>{++de==ue&&this._onDestroy()}),w.onStart(()=>{++$==ue&&this._onStart()})}),this.totalTime=this.players.reduce((w,n)=>Math.max(w,n.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(le=>le()),this._onDoneFns=[])}init(){this.players.forEach(le=>le.init())}onStart(le){this._onStartFns.push(le)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(le=>le()),this._onStartFns=[])}onDone(le){this._onDoneFns.push(le)}onDestroy(le){this._onDestroyFns.push(le)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(le=>le.play())}pause(){this.players.forEach(le=>le.pause())}restart(){this.players.forEach(le=>le.restart())}finish(){this._onFinish(),this.players.forEach(le=>le.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(le=>le.destroy()),this._onDestroyFns.forEach(le=>le()),this._onDestroyFns=[])}reset(){this.players.forEach(le=>le.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(le){const ve=le*this.totalTime;this.players.forEach(de=>{const $=de.totalTime?Math.min(1,ve/de.totalTime):1;de.setPosition($)})}getPosition(){const le=this.players.reduce((ve,de)=>null===ve||de.totalTime>ve.totalTime?de:ve,null);return null!=le?le.getPosition():0}beforeDestroy(){this.players.forEach(le=>{le.beforeDestroy&&le.beforeDestroy()})}triggerCallback(le){const ve="start"==le?this._onStartFns:this._onDoneFns;ve.forEach(de=>de()),ve.length=0}}const re="!"},4218:(Ve,X,m)=>{"use strict";m.d(X,{$s:()=>n,Em:()=>L,Kd:()=>zt,X6:()=>ee,ic:()=>v,kH:()=>an,mK:()=>et,qV:()=>ge,qm:()=>gt,rt:()=>At,s1:()=>y,tE:()=>In,yG:()=>H});var e=m(4666),t=m(2560),_=m(9107),E=m(253),s=m(7714),D=m(6317),u=m(745),k=m(8456),p=m(9337),S=m(1989),A=m(116),P=m(635),M=m(9295),z=m(7260),I=m(8977),W=m(8951),Z=m(8971),j=m(3773),ae=m(3278);function ve(we,Y){return(we.getAttribute(Y)||"").match(/\S+/g)||[]}const $="cdk-describedby-message",ue="cdk-describedby-host";let w=0;class n{constructor(Y,te){this._platform=te,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+w++,this._document=Y,this._id=(0,t.f3M)(t.AFp)+"-"+w++}describe(Y,te,xe){if(!this._canBeDescribed(Y,te))return;const ze=o(te,xe);"string"!=typeof te?(h(te,this._id),this._messageRegistry.set(ze,{messageElement:te,referenceCount:0})):this._messageRegistry.has(ze)||this._createMessageElement(te,xe),this._isElementDescribedByMessage(Y,ze)||this._addMessageReference(Y,ze)}removeDescription(Y,te,xe){if(!te||!this._isElementNode(Y))return;const ze=o(te,xe);if(this._isElementDescribedByMessage(Y,ze)&&this._removeMessageReference(Y,ze),"string"==typeof te){const _t=this._messageRegistry.get(ze);_t&&0===_t.referenceCount&&this._deleteMessageElement(ze)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const Y=this._document.querySelectorAll(`[${ue}="${this._id}"]`);for(let te=0;te0!=xe.indexOf($));Y.setAttribute("aria-describedby",te.join(" "))}_addMessageReference(Y,te){const xe=this._messageRegistry.get(te);(function pe(we,Y,te){const xe=ve(we,Y);xe.some(ze=>ze.trim()==te.trim())||(xe.push(te.trim()),we.setAttribute(Y,xe.join(" ")))})(Y,"aria-describedby",xe.messageElement.id),Y.setAttribute(ue,this._id),xe.referenceCount++}_removeMessageReference(Y,te){const xe=this._messageRegistry.get(te);xe.referenceCount--,function le(we,Y,te){const ze=ve(we,Y).filter(_t=>_t!=te.trim());ze.length?we.setAttribute(Y,ze.join(" ")):we.removeAttribute(Y)}(Y,"aria-describedby",xe.messageElement.id),Y.removeAttribute(ue)}_isElementDescribedByMessage(Y,te){const xe=ve(Y,"aria-describedby"),ze=this._messageRegistry.get(te),_t=ze&&ze.messageElement.id;return!!_t&&-1!=xe.indexOf(_t)}_canBeDescribed(Y,te){if(!this._isElementNode(Y))return!1;if(te&&"object"==typeof te)return!0;const xe=null==te?"":`${te}`.trim(),ze=Y.getAttribute("aria-label");return!!xe&&(!ze||ze.trim()!==xe)}_isElementNode(Y){return Y.nodeType===this._document.ELEMENT_NODE}}function o(we,Y){return"string"==typeof we?`${Y||""}/${we}`:we}function h(we,Y){we.id||(we.id=`${$}-${Y}-${w++}`)}n.\u0275fac=function(Y){return new(Y||n)(t.LFG(e.K0),t.LFG(_.t4))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"});class d{constructor(Y){this._items=Y,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new E.x,this._typeaheadSubscription=s.w0.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=te=>te.disabled,this._pressedLetters=[],this.tabOut=new E.x,this.change=new E.x,Y instanceof t.n_E&&(this._itemChangesSubscription=Y.changes.subscribe(te=>{if(this._activeItem){const ze=te.toArray().indexOf(this._activeItem);ze>-1&&ze!==this._activeItemIndex&&(this._activeItemIndex=ze)}}))}skipPredicate(Y){return this._skipPredicateFn=Y,this}withWrap(Y=!0){return this._wrap=Y,this}withVerticalOrientation(Y=!0){return this._vertical=Y,this}withHorizontalOrientation(Y){return this._horizontal=Y,this}withAllowedModifierKeys(Y){return this._allowedModifierKeys=Y,this}withTypeAhead(Y=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe((0,p.b)(te=>this._pressedLetters.push(te)),(0,S.b)(Y),(0,A.h)(()=>this._pressedLetters.length>0),(0,P.U)(()=>this._pressedLetters.join(""))).subscribe(te=>{const xe=this._getItemsArray();for(let ze=1;ze!Y[_t]||this._allowedModifierKeys.indexOf(_t)>-1);switch(te){case k.Mf:return void this.tabOut.next();case k.JH:if(this._vertical&&ze){this.setNextItemActive();break}return;case k.LH:if(this._vertical&&ze){this.setPreviousItemActive();break}return;case k.SV:if(this._horizontal&&ze){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case k.oh:if(this._horizontal&&ze){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case k.Sd:if(this._homeAndEnd&&ze){this.setFirstItemActive();break}return;case k.uR:if(this._homeAndEnd&&ze){this.setLastItemActive();break}return;case k.Ku:if(this._pageUpAndDown.enabled&&ze){const _t=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(_t>0?_t:0,1);break}return;case k.VM:if(this._pageUpAndDown.enabled&&ze){const _t=this._activeItemIndex+this._pageUpAndDown.delta,ct=this._getItemsArray().length;this._setActiveItemByIndex(_t=k.A&&te<=k.Z||te>=k.xE&&te<=k.aO)&&this._letterKeyStream.next(String.fromCharCode(te))))}this._pressedLetters=[],Y.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(Y){const te=this._getItemsArray(),xe="number"==typeof Y?Y:te.indexOf(Y),ze=te[xe];this._activeItem=ze??null,this._activeItemIndex=xe}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(Y){this._wrap?this._setActiveInWrapMode(Y):this._setActiveInDefaultMode(Y)}_setActiveInWrapMode(Y){const te=this._getItemsArray();for(let xe=1;xe<=te.length;xe++){const ze=(this._activeItemIndex+Y*xe+te.length)%te.length,_t=te[ze];if(!this._skipPredicateFn(_t))return void this.setActiveItem(ze)}}_setActiveInDefaultMode(Y){this._setActiveItemByIndex(this._activeItemIndex+Y,Y)}_setActiveItemByIndex(Y,te){const xe=this._getItemsArray();if(xe[Y]){for(;this._skipPredicateFn(xe[Y]);)if(!xe[Y+=te])return;this.setActiveItem(Y)}}_getItemsArray(){return this._items instanceof t.n_E?this._items.toArray():this._items}}class y extends d{setActiveItem(Y){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(Y),this.activeItem&&this.activeItem.setActiveStyles()}}class L extends d{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(Y){return this._origin=Y,this}setActiveItem(Y){super.setActiveItem(Y),this.activeItem&&this.activeItem.focus(this._origin)}}class v{constructor(Y){this._platform=Y}isDisabled(Y){return Y.hasAttribute("disabled")}isVisible(Y){return function C(we){return!!(we.offsetWidth||we.offsetHeight||"function"==typeof we.getClientRects&&we.getClientRects().length)}(Y)&&"visible"===getComputedStyle(Y).visibility}isTabbable(Y){if(!this._platform.isBrowser)return!1;const te=function a(we){try{return we.frameElement}catch{return null}}(function Ye(we){return we.ownerDocument&&we.ownerDocument.defaultView||window}(Y));if(te&&(-1===je(te)||!this.isVisible(te)))return!1;let xe=Y.nodeName.toLowerCase(),ze=je(Y);return Y.hasAttribute("contenteditable")?-1!==ze:!("iframe"===xe||"object"===xe||this._platform.WEBKIT&&this._platform.IOS&&!function We(we){let Y=we.nodeName.toLowerCase(),te="input"===Y&&we.type;return"text"===te||"password"===te||"select"===Y||"textarea"===Y}(Y))&&("audio"===xe?!!Y.hasAttribute("controls")&&-1!==ze:"video"===xe?-1!==ze&&(null!==ze||(this._platform.FIREFOX||Y.hasAttribute("controls"))):Y.tabIndex>=0)}isFocusable(Y,te){return function be(we){return!function F(we){return function Fe(we){return"input"==we.nodeName.toLowerCase()}(we)&&"hidden"==we.type}(we)&&(function N(we){let Y=we.nodeName.toLowerCase();return"input"===Y||"select"===Y||"button"===Y||"textarea"===Y}(we)||function J(we){return function ke(we){return"a"==we.nodeName.toLowerCase()}(we)&&we.hasAttribute("href")}(we)||we.hasAttribute("contenteditable")||Ge(we))}(Y)&&!this.isDisabled(Y)&&(te?.ignoreVisibility||this.isVisible(Y))}}function Ge(we){if(!we.hasAttribute("tabindex")||void 0===we.tabIndex)return!1;let Y=we.getAttribute("tabindex");return!(!Y||isNaN(parseInt(Y,10)))}function je(we){if(!Ge(we))return null;const Y=parseInt(we.getAttribute("tabindex")||"",10);return isNaN(Y)?-1:Y}v.\u0275fac=function(Y){return new(Y||v)(t.LFG(_.t4))},v.\u0275prov=t.Yz7({token:v,factory:v.\u0275fac,providedIn:"root"});class Ie{constructor(Y,te,xe,ze,_t=!1){this._element=Y,this._checker=te,this._ngZone=xe,this._document=ze,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,_t||this.attachAnchors()}get enabled(){return this._enabled}set enabled(Y){this._enabled=Y,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(Y,this._startAnchor),this._toggleAnchorTabIndex(Y,this._endAnchor))}destroy(){const Y=this._startAnchor,te=this._endAnchor;Y&&(Y.removeEventListener("focus",this.startAnchorListener),Y.remove()),te&&(te.removeEventListener("focus",this.endAnchorListener),te.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(Y){return new Promise(te=>{this._executeOnStable(()=>te(this.focusInitialElement(Y)))})}focusFirstTabbableElementWhenReady(Y){return new Promise(te=>{this._executeOnStable(()=>te(this.focusFirstTabbableElement(Y)))})}focusLastTabbableElementWhenReady(Y){return new Promise(te=>{this._executeOnStable(()=>te(this.focusLastTabbableElement(Y)))})}_getRegionBoundary(Y){const te=this._element.querySelectorAll(`[cdk-focus-region-${Y}], [cdkFocusRegion${Y}], [cdk-focus-${Y}]`);return"start"==Y?te.length?te[0]:this._getFirstTabbableElement(this._element):te.length?te[te.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(Y){const te=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(te){if(!this._checker.isFocusable(te)){const xe=this._getFirstTabbableElement(te);return xe?.focus(Y),!!xe}return te.focus(Y),!0}return this.focusFirstTabbableElement(Y)}focusFirstTabbableElement(Y){const te=this._getRegionBoundary("start");return te&&te.focus(Y),!!te}focusLastTabbableElement(Y){const te=this._getRegionBoundary("end");return te&&te.focus(Y),!!te}hasAttached(){return this._hasAttached}_getFirstTabbableElement(Y){if(this._checker.isFocusable(Y)&&this._checker.isTabbable(Y))return Y;const te=Y.children;for(let xe=0;xe=0;xe--){const ze=te[xe].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(te[xe]):null;if(ze)return ze}return null}_createAnchor(){const Y=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,Y),Y.classList.add("cdk-visually-hidden"),Y.classList.add("cdk-focus-trap-anchor"),Y.setAttribute("aria-hidden","true"),Y}_toggleAnchorTabIndex(Y,te){Y?te.setAttribute("tabindex","0"):te.removeAttribute("tabindex")}toggleAnchors(Y){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(Y,this._startAnchor),this._toggleAnchorTabIndex(Y,this._endAnchor))}_executeOnStable(Y){this._ngZone.isStable?Y():this._ngZone.onStable.pipe((0,M.q)(1)).subscribe(Y)}}class ge{constructor(Y,te,xe){this._checker=Y,this._ngZone=te,this._document=xe}create(Y,te=!1){return new Ie(Y,this._checker,this._ngZone,this._document,te)}}ge.\u0275fac=function(Y){return new(Y||ge)(t.LFG(v),t.LFG(t.R0b),t.LFG(e.K0))},ge.\u0275prov=t.Yz7({token:ge,factory:ge.\u0275fac,providedIn:"root"});class et{constructor(Y,te,xe){this._elementRef=Y,this._focusTrapFactory=te,this._previouslyFocusedElement=null,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}get enabled(){return this.focusTrap.enabled}set enabled(Y){this.focusTrap.enabled=(0,Z.Ig)(Y)}get autoCapture(){return this._autoCapture}set autoCapture(Y){this._autoCapture=(0,Z.Ig)(Y)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(Y){const te=Y.autoCapture;te&&!te.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=(0,_.ht)(),this.focusTrap.focusInitialElementWhenReady()}}et.\u0275fac=function(Y){return new(Y||et)(t.Y36(t.SBq),t.Y36(ge),t.Y36(e.K0))},et.\u0275dir=t.lG2({type:et,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:["cdkTrapFocus","enabled"],autoCapture:["cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["cdkTrapFocus"],features:[t.TTD]});class ut extends Ie{constructor(Y,te,xe,ze,_t,ct,Ue){super(Y,te,xe,ze,Ue.defer),this._focusTrapManager=_t,this._inertStrategy=ct,this._focusTrapManager.register(this)}get enabled(){return this._enabled}set enabled(Y){this._enabled=Y,this._enabled?this._focusTrapManager.register(this):this._focusTrapManager.deregister(this)}destroy(){this._focusTrapManager.deregister(this),super.destroy()}_enable(){this._inertStrategy.preventFocus(this),this.toggleAnchors(!0)}_disable(){this._inertStrategy.allowFocus(this),this.toggleAnchors(!1)}}const Le=new t.OlP("FOCUS_TRAP_INERT_STRATEGY");class De{constructor(){this._listener=null}preventFocus(Y){this._listener&&Y._document.removeEventListener("focus",this._listener,!0),this._listener=te=>this._trapFocus(Y,te),Y._ngZone.runOutsideAngular(()=>{Y._document.addEventListener("focus",this._listener,!0)})}allowFocus(Y){!this._listener||(Y._document.removeEventListener("focus",this._listener,!0),this._listener=null)}_trapFocus(Y,te){const xe=te.target,ze=Y._element;xe&&!ze.contains(xe)&&!xe.closest?.("div.cdk-overlay-pane")&&setTimeout(()=>{Y.enabled&&!ze.contains(Y._document.activeElement)&&Y.focusFirstTabbableElement()})}}class ne{constructor(){this._focusTrapStack=[]}register(Y){this._focusTrapStack=this._focusTrapStack.filter(xe=>xe!==Y);let te=this._focusTrapStack;te.length&&te[te.length-1]._disable(),te.push(Y),Y._enable()}deregister(Y){Y._disable();const te=this._focusTrapStack,xe=te.indexOf(Y);-1!==xe&&(te.splice(xe,1),te.length&&te[te.length-1]._enable())}}ne.\u0275fac=function(Y){return new(Y||ne)},ne.\u0275prov=t.Yz7({token:ne,factory:ne.\u0275fac,providedIn:"root"});class fe{constructor(Y,te,xe,ze,_t){this._checker=Y,this._ngZone=te,this._focusTrapManager=xe,this._document=ze,this._inertStrategy=_t||new De}create(Y,te={defer:!1}){let xe;return xe="boolean"==typeof te?{defer:te}:te,new ut(Y,this._checker,this._ngZone,this._document,this._focusTrapManager,this._inertStrategy,xe)}}function ee(we){return 0===we.buttons||0===we.offsetX&&0===we.offsetY}function H(we){const Y=we.touches&&we.touches[0]||we.changedTouches&&we.changedTouches[0];return!(!Y||-1!==Y.identifier||null!=Y.radiusX&&1!==Y.radiusX||null!=Y.radiusY&&1!==Y.radiusY)}fe.\u0275fac=function(Y){return new(Y||fe)(t.LFG(v),t.LFG(t.R0b),t.LFG(ne),t.LFG(e.K0),t.LFG(Le,8))},fe.\u0275prov=t.Yz7({token:fe,factory:fe.\u0275fac,providedIn:"root"});const q=new t.OlP("cdk-input-modality-detector-options"),Oe={ignoreKeys:[k.zL,k.jx,k.b2,k.MW,k.JU]},oe=(0,_.i$)({passive:!0,capture:!0});class pt{constructor(Y,te,xe,ze){this._platform=Y,this._mostRecentTarget=null,this._modality=new D.X(null),this._lastTouchMs=0,this._onKeydown=_t=>{this._options?.ignoreKeys?.some(ct=>ct===_t.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=(0,_.sA)(_t))},this._onMousedown=_t=>{Date.now()-this._lastTouchMs<650||(this._modality.next(ee(_t)?"keyboard":"mouse"),this._mostRecentTarget=(0,_.sA)(_t))},this._onTouchstart=_t=>{H(_t)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=(0,_.sA)(_t))},this._options={...Oe,...ze},this.modalityDetected=this._modality.pipe((0,z.T)(1)),this.modalityChanged=this.modalityDetected.pipe((0,I.x)()),Y.isBrowser&&te.runOutsideAngular(()=>{xe.addEventListener("keydown",this._onKeydown,oe),xe.addEventListener("mousedown",this._onMousedown,oe),xe.addEventListener("touchstart",this._onTouchstart,oe)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,oe),document.removeEventListener("mousedown",this._onMousedown,oe),document.removeEventListener("touchstart",this._onTouchstart,oe))}}pt.\u0275fac=function(Y){return new(Y||pt)(t.LFG(_.t4),t.LFG(t.R0b),t.LFG(e.K0),t.LFG(q,8))},pt.\u0275prov=t.Yz7({token:pt,factory:pt.\u0275fac,providedIn:"root"});const it=new t.OlP("liveAnnouncerElement",{providedIn:"root",factory:function Ct(){return null}});const un=new t.OlP("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Nt=0;class zt{constructor(Y,te,xe,ze){this._ngZone=te,this._defaultOptions=ze,this._document=xe,this._liveElement=Y||this._createLiveElement()}announce(Y,...te){const xe=this._defaultOptions;let ze,_t;return 1===te.length&&"number"==typeof te[0]?_t=te[0]:[ze,_t]=te,this.clear(),clearTimeout(this._previousTimeout),ze||(ze=xe&&xe.politeness?xe.politeness:"polite"),null==_t&&xe&&(_t=xe.duration),this._liveElement.setAttribute("aria-live",ze),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(ct=>this._currentResolve=ct)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=Y,"number"==typeof _t&&(this._previousTimeout=setTimeout(()=>this.clear(),_t)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const Y="cdk-live-announcer-element",te=this._document.getElementsByClassName(Y),xe=this._document.createElement("div");for(let ze=0;ze .cdk-overlay-container [aria-modal="true"]');for(let xe=0;xethis._contentObserver.observe(this._elementRef).subscribe(()=>{const te=this._elementRef.nativeElement.textContent;te!==this._previousAnnouncedText&&(this._liveAnnouncer.announce(te,this._politeness,this.duration),this._previousAnnouncedText=te)})))}ngOnDestroy(){this._subscription&&this._subscription.unsubscribe()}}yn.\u0275fac=function(Y){return new(Y||yn)(t.Y36(t.SBq),t.Y36(zt),t.Y36(j.yq),t.Y36(t.R0b))},yn.\u0275dir=t.lG2({type:yn,selectors:[["","cdkAriaLive",""]],inputs:{politeness:["cdkAriaLive","politeness"],duration:["cdkAriaLiveDuration","duration"]},exportAs:["cdkAriaLive"]});const Jt=new t.OlP("cdk-focus-monitor-default-options"),Gt=(0,_.i$)({passive:!0,capture:!0});class In{constructor(Y,te,xe,ze,_t){this._ngZone=Y,this._platform=te,this._inputModalityDetector=xe,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new E.x,this._rootNodeFocusAndBlurListener=ct=>{for(let Me=(0,_.sA)(ct);Me;Me=Me.parentElement)"focus"===ct.type?this._onFocus(ct,Me):this._onBlur(ct,Me)},this._document=ze,this._detectionMode=_t?.detectionMode||0}monitor(Y,te=!1){const xe=(0,Z.fI)(Y);if(!this._platform.isBrowser||1!==xe.nodeType)return(0,u.of)(null);const ze=(0,_.kV)(xe)||this._getDocument(),_t=this._elementInfo.get(xe);if(_t)return te&&(_t.checkChildren=!0),_t.subject;const ct={checkChildren:te,subject:new E.x,rootNode:ze};return this._elementInfo.set(xe,ct),this._registerGlobalListeners(ct),ct.subject}stopMonitoring(Y){const te=(0,Z.fI)(Y),xe=this._elementInfo.get(te);xe&&(xe.subject.complete(),this._setClasses(te),this._elementInfo.delete(te),this._removeGlobalListeners(xe))}focusVia(Y,te,xe){const ze=(0,Z.fI)(Y);ze===this._getDocument().activeElement?this._getClosestElementsInfo(ze).forEach(([ct,Ue])=>this._originChanged(ct,te,Ue)):(this._setOrigin(te),"function"==typeof ze.focus&&ze.focus(xe))}ngOnDestroy(){this._elementInfo.forEach((Y,te)=>this.stopMonitoring(te))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(Y){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(Y)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:Y&&this._isLastInteractionFromInputLabel(Y)?"mouse":"program"}_shouldBeAttributedToTouch(Y){return 1===this._detectionMode||!!Y?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(Y,te){Y.classList.toggle("cdk-focused",!!te),Y.classList.toggle("cdk-touch-focused","touch"===te),Y.classList.toggle("cdk-keyboard-focused","keyboard"===te),Y.classList.toggle("cdk-mouse-focused","mouse"===te),Y.classList.toggle("cdk-program-focused","program"===te)}_setOrigin(Y,te=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=Y,this._originFromTouchInteraction="touch"===Y&&te,0===this._detectionMode){clearTimeout(this._originTimeoutId);const xe=this._originFromTouchInteraction?650:1;this._originTimeoutId=setTimeout(()=>this._origin=null,xe)}})}_onFocus(Y,te){const xe=this._elementInfo.get(te),ze=(0,_.sA)(Y);!xe||!xe.checkChildren&&te!==ze||this._originChanged(te,this._getFocusOrigin(ze),xe)}_onBlur(Y,te){const xe=this._elementInfo.get(te);!xe||xe.checkChildren&&Y.relatedTarget instanceof Node&&te.contains(Y.relatedTarget)||(this._setClasses(te),this._emitOrigin(xe,null))}_emitOrigin(Y,te){Y.subject.observers.length&&this._ngZone.run(()=>Y.subject.next(te))}_registerGlobalListeners(Y){if(!this._platform.isBrowser)return;const te=Y.rootNode,xe=this._rootNodeFocusListenerCount.get(te)||0;xe||this._ngZone.runOutsideAngular(()=>{te.addEventListener("focus",this._rootNodeFocusAndBlurListener,Gt),te.addEventListener("blur",this._rootNodeFocusAndBlurListener,Gt)}),this._rootNodeFocusListenerCount.set(te,xe+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe((0,W.R)(this._stopInputModalityDetector)).subscribe(ze=>{this._setOrigin(ze,!0)}))}_removeGlobalListeners(Y){const te=Y.rootNode;if(this._rootNodeFocusListenerCount.has(te)){const xe=this._rootNodeFocusListenerCount.get(te);xe>1?this._rootNodeFocusListenerCount.set(te,xe-1):(te.removeEventListener("focus",this._rootNodeFocusAndBlurListener,Gt),te.removeEventListener("blur",this._rootNodeFocusAndBlurListener,Gt),this._rootNodeFocusListenerCount.delete(te))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(Y,te,xe){this._setClasses(Y,te),this._emitOrigin(xe,te),this._lastFocusOrigin=te}_getClosestElementsInfo(Y){const te=[];return this._elementInfo.forEach((xe,ze)=>{(ze===Y||xe.checkChildren&&ze.contains(Y))&&te.push([ze,xe])}),te}_isLastInteractionFromInputLabel(Y){const{_mostRecentTarget:te,mostRecentModality:xe}=this._inputModalityDetector;if("mouse"!==xe||!te||te===Y||"INPUT"!==Y.nodeName&&"TEXTAREA"!==Y.nodeName||Y.disabled)return!1;const ze=Y.labels;if(ze)for(let _t=0;_t{this._focusOrigin=te,this.cdkFocusChange.emit(te)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}an.\u0275fac=function(Y){return new(Y||an)(t.Y36(t.SBq),t.Y36(In))},an.\u0275dir=t.lG2({type:an,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]});const tn="cdk-high-contrast-black-on-white",pn="cdk-high-contrast-white-on-black",nt="cdk-high-contrast-active";class gt{constructor(Y,te){this._platform=Y,this._document=te,this._breakpointSubscription=(0,t.f3M)(ae.Yg).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const Y=this._document.createElement("div");Y.style.backgroundColor="rgb(1,2,3)",Y.style.position="absolute",this._document.body.appendChild(Y);const te=this._document.defaultView||window,xe=te&&te.getComputedStyle?te.getComputedStyle(Y):null,ze=(xe&&xe.backgroundColor||"").replace(/ /g,"");switch(Y.remove(),ze){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const Y=this._document.body.classList;Y.remove(nt,tn,pn),this._hasCheckedHighContrastMode=!0;const te=this.getHighContrastMode();1===te?Y.add(nt,tn):2===te&&Y.add(nt,pn)}}}gt.\u0275fac=function(Y){return new(Y||gt)(t.LFG(_.t4),t.LFG(e.K0))},gt.\u0275prov=t.Yz7({token:gt,factory:gt.\u0275fac,providedIn:"root"});class At{constructor(Y){Y._applyBodyHighContrastModeCssClasses()}}At.\u0275fac=function(Y){return new(Y||At)(t.LFG(gt))},At.\u0275mod=t.oAB({type:At}),At.\u0275inj=t.cJS({imports:[j.Q8]})},2867:(Ve,X,m)=>{"use strict";m.d(X,{Is:()=>u,vT:()=>p});var e=m(2560),t=m(4666);const _=new e.OlP("cdk-dir-doc",{providedIn:"root",factory:function E(){return(0,e.f3M)(t.K0)}});const s=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function D(S){const A=S?.toLowerCase()||"";return"auto"===A&&typeof navigator<"u"&&navigator?.language?s.test(navigator.language)?"rtl":"ltr":"rtl"===A?"rtl":"ltr"}class u{constructor(A){if(this.value="ltr",this.change=new e.vpe,A){const P=A.body?A.body.dir:null,M=A.documentElement?A.documentElement.dir:null;this.value=D(P||M||"ltr")}}ngOnDestroy(){this.change.complete()}}u.\u0275fac=function(A){return new(A||u)(e.LFG(_,8))},u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k{constructor(){this._dir="ltr",this._isInitialized=!1,this.change=new e.vpe}get dir(){return this._dir}set dir(A){const P=this._dir;this._dir=D(A),this._rawDir=A,P!==this._dir&&this._isInitialized&&this.change.emit(this._dir)}get value(){return this.dir}ngAfterContentInit(){this._isInitialized=!0}ngOnDestroy(){this.change.complete()}}k.\u0275fac=function(A){return new(A||k)},k.\u0275dir=e.lG2({type:k,selectors:[["","dir",""]],hostVars:1,hostBindings:function(A,P){2&A&&e.uIk("dir",P._rawDir)},inputs:{dir:"dir"},outputs:{change:"dirChange"},exportAs:["dir"],features:[e._Bn([{provide:u,useExisting:k}])]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=e.oAB({type:p}),p.\u0275inj=e.cJS({})},8971:(Ve,X,m)=>{"use strict";m.d(X,{Eq:()=>s,HM:()=>D,Ig:()=>t,du:()=>k,fI:()=>u,su:()=>_,t6:()=>E});var e=m(2560);function t(p){return null!=p&&"false"!=`${p}`}function _(p,S=0){return E(p)?Number(p):S}function E(p){return!isNaN(parseFloat(p))&&!isNaN(Number(p))}function s(p){return Array.isArray(p)?p:[p]}function D(p){return null==p?"":"string"==typeof p?p:`${p}px`}function u(p){return p instanceof e.SBq?p.nativeElement:p}function k(p,S=/\s+/){const A=[];if(null!=p){const P=Array.isArray(p)?p:`${p}`.split(S);for(const M of P){const z=`${M}`.trim();z&&A.push(z)}}return A}},1755:(Ve,X,m)=>{"use strict";m.d(X,{A8:()=>M,Ov:()=>A,P3:()=>k,Z9:()=>u,eX:()=>S,k:()=>z,o2:()=>D,yy:()=>p});var e=m(3932),t=m(4437),_=m(745),E=m(253),s=m(2560);class D{}function u(I){return I&&"function"==typeof I.connect&&!(I instanceof e.c)}class k extends D{constructor(W){super(),this._data=W}connect(){return(0,t.b)(this._data)?this._data:(0,_.of)(this._data)}disconnect(){}}class p{applyChanges(W,Z,j,ae,re){W.forEachOperation((pe,le,ve)=>{let de,$;if(null==pe.previousIndex){const ue=j(pe,le,ve);de=Z.createEmbeddedView(ue.templateRef,ue.context,ue.index),$=1}else null==ve?(Z.remove(le),$=3):(de=Z.get(le),Z.move(de,ve),$=2);re&&re({context:de?.context,operation:$,record:pe})})}detach(){}}class S{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(W,Z,j,ae,re){W.forEachOperation((pe,le,ve)=>{let de,$;if(null==pe.previousIndex){const ue=()=>j(pe,le,ve);de=this._insertView(ue,ve,Z,ae(pe)),$=de?1:0}else null==ve?(this._detachAndCacheView(le,Z),$=3):(de=this._moveView(le,ve,Z,ae(pe)),$=2);re&&re({context:de?.context,operation:$,record:pe})})}detach(){for(const W of this._viewCache)W.destroy();this._viewCache=[]}_insertView(W,Z,j,ae){const re=this._insertViewFromCache(Z,j);if(re)return void(re.context.$implicit=ae);const pe=W();return j.createEmbeddedView(pe.templateRef,pe.context,pe.index)}_detachAndCacheView(W,Z){const j=Z.detach(W);this._maybeCacheView(j,Z)}_moveView(W,Z,j,ae){const re=j.get(W);return j.move(re,Z),re.context.$implicit=ae,re}_maybeCacheView(W,Z){if(this._viewCache.lengththis._markSelected(re)):this._markSelected(Z[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...W){this._verifyValueAssignment(W),W.forEach(j=>this._markSelected(j));const Z=this._hasQueuedChanges();return this._emitChangeEvent(),Z}deselect(...W){this._verifyValueAssignment(W),W.forEach(j=>this._unmarkSelected(j));const Z=this._hasQueuedChanges();return this._emitChangeEvent(),Z}setSelection(...W){this._verifyValueAssignment(W);const Z=this.selected,j=new Set(W);W.forEach(re=>this._markSelected(re)),Z.filter(re=>!j.has(re)).forEach(re=>this._unmarkSelected(re));const ae=this._hasQueuedChanges();return this._emitChangeEvent(),ae}toggle(W){return this.isSelected(W)?this.deselect(W):this.select(W)}clear(W=!0){this._unmarkAll();const Z=this._hasQueuedChanges();return W&&this._emitChangeEvent(),Z}isSelected(W){if(this.compareWith){for(const Z of this._selection)if(this.compareWith(Z,W))return!0;return!1}return this._selection.has(W)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(W){this._multiple&&this.selected&&this._selected.sort(W)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(W){this.isSelected(W)||(this._multiple||this._unmarkAll(),this.isSelected(W)||this._selection.add(W),this._emitChanges&&this._selectedToEmit.push(W))}_unmarkSelected(W){this.isSelected(W)&&(this._selection.delete(W),this._emitChanges&&this._deselectedToEmit.push(W))}_unmarkAll(){this.isEmpty()||this._selection.forEach(W=>this._unmarkSelected(W))}_verifyValueAssignment(W){W.length>1&&this._multiple}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}}class M{constructor(){this._listeners=[]}notify(W,Z){for(let j of this._listeners)j(W,Z)}listen(W){return this._listeners.push(W),()=>{this._listeners=this._listeners.filter(Z=>W!==Z)}}ngOnDestroy(){this._listeners=[]}}M.\u0275fac=function(W){return new(W||M)},M.\u0275prov=s.Yz7({token:M,factory:M.\u0275fac,providedIn:"root"});const z=new s.OlP("_ViewRepeater")},8456:(Ve,X,m)=>{"use strict";m.d(X,{A:()=>F,JH:()=>re,JU:()=>D,K5:()=>s,Ku:()=>M,LH:()=>j,L_:()=>P,MW:()=>un,Mf:()=>_,SV:()=>ae,Sd:()=>W,VM:()=>z,Vb:()=>gn,Z:()=>Ct,ZH:()=>t,aO:()=>B,b2:()=>en,hY:()=>A,jx:()=>u,oh:()=>Z,uR:()=>I,xE:()=>$,yY:()=>de,zL:()=>k});const t=8,_=9,s=13,D=16,u=17,k=18,A=27,P=32,M=33,z=34,I=35,W=36,Z=37,j=38,ae=39,re=40,de=46,$=48,B=57,F=65,Ct=90,un=91,en=224;function gn(Qn,...Ei){return Ei.length?Ei.some(ha=>Qn[ha]):Qn.altKey||Qn.shiftKey||Qn.ctrlKey||Qn.metaKey}},3278:(Ve,X,m)=>{"use strict";m.d(X,{Yg:()=>re,u3:()=>le,xu:()=>z});var e=m(2560),t=m(8971),_=m(253),E=m(6562),s=m(9319),D=m(833),u=m(9295),k=m(7260),p=m(1989),S=m(635),A=m(4874),P=m(8951),M=m(9107);class z{}z.\u0275fac=function(de){return new(de||z)},z.\u0275mod=e.oAB({type:z}),z.\u0275inj=e.cJS({});const I=new Set;let W;class Z{constructor(de){this._platform=de,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):ae}matchMedia(de){return(this._platform.WEBKIT||this._platform.BLINK)&&function j(ve){if(!I.has(ve))try{W||(W=document.createElement("style"),W.setAttribute("type","text/css"),document.head.appendChild(W)),W.sheet&&(W.sheet.insertRule(`@media ${ve} {body{ }}`,0),I.add(ve))}catch(de){console.error(de)}}(de),this._matchMedia(de)}}function ae(ve){return{matches:"all"===ve||""===ve,media:ve,addListener:()=>{},removeListener:()=>{}}}Z.\u0275fac=function(de){return new(de||Z)(e.LFG(M.t4))},Z.\u0275prov=e.Yz7({token:Z,factory:Z.\u0275fac,providedIn:"root"});class re{constructor(de,$){this._mediaMatcher=de,this._zone=$,this._queries=new Map,this._destroySubject=new _.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(de){return pe((0,t.Eq)(de)).some(ue=>this._registerQuery(ue).mql.matches)}observe(de){const ue=pe((0,t.Eq)(de)).map(n=>this._registerQuery(n).observable);let w=(0,E.a)(ue);return w=(0,s.z)(w.pipe((0,u.q)(1)),w.pipe((0,k.T)(1),(0,p.b)(0))),w.pipe((0,S.U)(n=>{const o={matches:!1,breakpoints:{}};return n.forEach(({matches:h,query:d})=>{o.matches=o.matches||h,o.breakpoints[d]=h}),o}))}_registerQuery(de){if(this._queries.has(de))return this._queries.get(de);const $=this._mediaMatcher.matchMedia(de),w={observable:new D.y(n=>{const o=h=>this._zone.run(()=>n.next(h));return $.addListener(o),()=>{$.removeListener(o)}}).pipe((0,A.O)($),(0,S.U)(({matches:n})=>({query:de,matches:n})),(0,P.R)(this._destroySubject)),mql:$};return this._queries.set(de,w),w}}function pe(ve){return ve.map(de=>de.split(",")).reduce((de,$)=>de.concat($)).map(de=>de.trim())}re.\u0275fac=function(de){return new(de||re)(e.LFG(Z),e.LFG(e.R0b))},re.\u0275prov=e.Yz7({token:re,factory:re.\u0275fac,providedIn:"root"});const le={XSmall:"(max-width: 599.98px)",Small:"(min-width: 600px) and (max-width: 959.98px)",Medium:"(min-width: 960px) and (max-width: 1279.98px)",Large:"(min-width: 1280px) and (max-width: 1919.98px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599.98px) and (orientation: portrait), (max-width: 959.98px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599.98px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959.98px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"}},3773:(Ve,X,m)=>{"use strict";m.d(X,{Q8:()=>p,wD:()=>k,yq:()=>u});var e=m(8971),t=m(2560),_=m(833),E=m(253),s=m(1989);class D{create(A){return typeof MutationObserver>"u"?null:new MutationObserver(A)}}D.\u0275fac=function(A){return new(A||D)},D.\u0275prov=t.Yz7({token:D,factory:D.\u0275fac,providedIn:"root"});class u{constructor(A){this._mutationObserverFactory=A,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((A,P)=>this._cleanupObserver(P))}observe(A){const P=(0,e.fI)(A);return new _.y(M=>{const I=this._observeElement(P).subscribe(M);return()=>{I.unsubscribe(),this._unobserveElement(P)}})}_observeElement(A){if(this._observedElements.has(A))this._observedElements.get(A).count++;else{const P=new E.x,M=this._mutationObserverFactory.create(z=>P.next(z));M&&M.observe(A,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(A,{observer:M,stream:P,count:1})}return this._observedElements.get(A).stream}_unobserveElement(A){this._observedElements.has(A)&&(this._observedElements.get(A).count--,this._observedElements.get(A).count||this._cleanupObserver(A))}_cleanupObserver(A){if(this._observedElements.has(A)){const{observer:P,stream:M}=this._observedElements.get(A);P&&P.disconnect(),M.complete(),this._observedElements.delete(A)}}}u.\u0275fac=function(A){return new(A||u)(t.LFG(D))},u.\u0275prov=t.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k{constructor(A,P,M){this._contentObserver=A,this._elementRef=P,this._ngZone=M,this.event=new t.vpe,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(A){this._disabled=(0,e.Ig)(A),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(A){this._debounce=(0,e.su)(A),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const A=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?A.pipe((0,s.b)(this.debounce)):A).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}k.\u0275fac=function(A){return new(A||k)(t.Y36(u),t.Y36(t.SBq),t.Y36(t.R0b))},k.\u0275dir=t.lG2({type:k,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=t.oAB({type:p}),p.\u0275inj=t.cJS({providers:[D]})},5895:(Ve,X,m)=>{"use strict";m.d(X,{Iu:()=>B,U8:()=>ne,X_:()=>de,Xj:()=>L,_G:()=>C,aV:()=>Ye,pI:()=>ut,xu:()=>et});var e=m(1494),t=m(4666),_=m(2560),E=m(8971),s=m(9107),D=m(2867),u=m(7520),k=m(253),p=m(7714),S=m(6646),A=m(9295),P=m(8951),M=m(2566),z=m(8456);const I=(0,s.Mq)();class W{constructor(H,q){this._viewportRuler=H,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=q}attach(){}enable(){if(this._canBeEnabled()){const H=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=H.style.left||"",this._previousHTMLStyles.top=H.style.top||"",H.style.left=(0,E.HM)(-this._previousScrollPosition.left),H.style.top=(0,E.HM)(-this._previousScrollPosition.top),H.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const H=this._document.documentElement,q=this._document.body,Oe=H.style,Re=q.style,oe=Oe.scrollBehavior||"",pt=Re.scrollBehavior||"";this._isEnabled=!1,Oe.left=this._previousHTMLStyles.left,Oe.top=this._previousHTMLStyles.top,H.classList.remove("cdk-global-scrollblock"),I&&(Oe.scrollBehavior=Re.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),I&&(Oe.scrollBehavior=oe,Re.scrollBehavior=pt)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const q=this._document.body,Oe=this._viewportRuler.getViewportSize();return q.scrollHeight>Oe.height||q.scrollWidth>Oe.width}}class j{constructor(H,q,Oe,Re){this._scrollDispatcher=H,this._ngZone=q,this._viewportRuler=Oe,this._config=Re,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(H){this._overlayRef,this._overlayRef=H}enable(){if(this._scrollSubscription)return;const H=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=H.subscribe(()=>{const q=this._viewportRuler.getViewportScrollPosition().top;Math.abs(q-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=H.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ae{enable(){}disable(){}attach(){}}function re(ee,H){return H.some(q=>{const Oe=ee.bottomq.bottom,oe=ee.rightq.right;return Oe||Re||oe||pt})}function pe(ee,H){return H.some(q=>{const Oe=ee.topq.bottom,oe=ee.leftq.right;return Oe||Re||oe||pt})}class le{constructor(H,q,Oe,Re){this._scrollDispatcher=H,this._viewportRuler=q,this._ngZone=Oe,this._config=Re,this._scrollSubscription=null}attach(H){this._overlayRef,this._overlayRef=H}enable(){if(!this._scrollSubscription){const H=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(H).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const q=this._overlayRef.overlayElement.getBoundingClientRect(),{width:Oe,height:Re}=this._viewportRuler.getViewportSize();re(q,[{width:Oe,height:Re,bottom:Re,right:Oe,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class ve{constructor(H,q,Oe,Re){this._scrollDispatcher=H,this._viewportRuler=q,this._ngZone=Oe,this.noop=()=>new ae,this.close=oe=>new j(this._scrollDispatcher,this._ngZone,this._viewportRuler,oe),this.block=()=>new W(this._viewportRuler,this._document),this.reposition=oe=>new le(this._scrollDispatcher,this._viewportRuler,this._ngZone,oe),this._document=Re}}ve.\u0275fac=function(H){return new(H||ve)(_.LFG(e.mF),_.LFG(e.rL),_.LFG(_.R0b),_.LFG(t.K0))},ve.\u0275prov=_.Yz7({token:ve,factory:ve.\u0275fac,providedIn:"root"});class de{constructor(H){if(this.scrollStrategy=new ae,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,H){const q=Object.keys(H);for(const Oe of q)void 0!==H[Oe]&&(this[Oe]=H[Oe])}}}class w{constructor(H,q){this.connectionPair=H,this.scrollableViewProperties=q}}class h{constructor(H){this._attachedOverlays=[],this._document=H}ngOnDestroy(){this.detach()}add(H){this.remove(H),this._attachedOverlays.push(H)}remove(H){const q=this._attachedOverlays.indexOf(H);q>-1&&this._attachedOverlays.splice(q,1),0===this._attachedOverlays.length&&this.detach()}}h.\u0275fac=function(H){return new(H||h)(_.LFG(t.K0))},h.\u0275prov=_.Yz7({token:h,factory:h.\u0275fac,providedIn:"root"});class d extends h{constructor(H,q){super(H),this._ngZone=q,this._keydownListener=Oe=>{const Re=this._attachedOverlays;for(let oe=Re.length-1;oe>-1;oe--)if(Re[oe]._keydownEvents.observers.length>0){const pt=Re[oe]._keydownEvents;this._ngZone?this._ngZone.run(()=>pt.next(Oe)):pt.next(Oe);break}}}add(H){super.add(H),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}d.\u0275fac=function(H){return new(H||d)(_.LFG(t.K0),_.LFG(_.R0b,8))},d.\u0275prov=_.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"});class y extends h{constructor(H,q,Oe){super(H),this._platform=q,this._ngZone=Oe,this._cursorStyleIsSet=!1,this._pointerDownListener=Re=>{this._pointerDownEventTarget=(0,s.sA)(Re)},this._clickListener=Re=>{const oe=(0,s.sA)(Re),pt="click"===Re.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:oe;this._pointerDownEventTarget=null;const it=this._attachedOverlays.slice();for(let Ct=it.length-1;Ct>-1;Ct--){const un=it[Ct];if(un._outsidePointerEvents.observers.length<1||!un.hasAttached())continue;if(un.overlayElement.contains(oe)||un.overlayElement.contains(pt))break;const Nt=un._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>Nt.next(Re)):Nt.next(Re)}}}add(H){if(super.add(H),!this._isAttached){const q=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(q)):this._addEventListeners(q),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=q.style.cursor,q.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const H=this._document.body;H.removeEventListener("pointerdown",this._pointerDownListener,!0),H.removeEventListener("click",this._clickListener,!0),H.removeEventListener("auxclick",this._clickListener,!0),H.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(H.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(H){H.addEventListener("pointerdown",this._pointerDownListener,!0),H.addEventListener("click",this._clickListener,!0),H.addEventListener("auxclick",this._clickListener,!0),H.addEventListener("contextmenu",this._clickListener,!0)}}y.\u0275fac=function(H){return new(H||y)(_.LFG(t.K0),_.LFG(s.t4),_.LFG(_.R0b,8))},y.\u0275prov=_.Yz7({token:y,factory:y.\u0275fac,providedIn:"root"});class L{constructor(H,q){this._platform=q,this._document=H}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const H="cdk-overlay-container";if(this._platform.isBrowser||(0,s.Oy)()){const Oe=this._document.querySelectorAll(`.${H}[platform="server"], .${H}[platform="test"]`);for(let Re=0;Rethis._backdropClick.next(zt),this._backdropTransitionendHandler=zt=>{this._disposeBackdrop(zt.target)},this._keydownEvents=new k.x,this._outsidePointerEvents=new k.x,Re.scrollStrategy&&(this._scrollStrategy=Re.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=Re.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(H){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const q=this._portalOutlet.attach(H);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe((0,A.q)(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof q?.onDestroy&&q.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),q}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const H=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),H}dispose(){const H=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,H&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(H){H!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=H,this.hasAttached()&&(H.attach(this),this.updatePosition()))}updateSize(H){this._config={...this._config,...H},this._updateElementSize()}setDirection(H){this._config={...this._config,direction:H},this._updateElementDirection()}addPanelClass(H){this._pane&&this._toggleClasses(this._pane,H,!0)}removePanelClass(H){this._pane&&this._toggleClasses(this._pane,H,!1)}getDirection(){const H=this._config.direction;return H?"string"==typeof H?H:H.value:"ltr"}updateScrollStrategy(H){H!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=H,this.hasAttached()&&(H.attach(this),H.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const H=this._pane.style;H.width=(0,E.HM)(this._config.width),H.height=(0,E.HM)(this._config.height),H.minWidth=(0,E.HM)(this._config.minWidth),H.minHeight=(0,E.HM)(this._config.minHeight),H.maxWidth=(0,E.HM)(this._config.maxWidth),H.maxHeight=(0,E.HM)(this._config.maxHeight)}_togglePointerEvents(H){this._pane.style.pointerEvents=H?"":"none"}_attachBackdrop(){const H="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(H)})}):this._backdropElement.classList.add(H)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const H=this._backdropElement;if(H){if(this._animationsDisabled)return void this._disposeBackdrop(H);H.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{H.addEventListener("transitionend",this._backdropTransitionendHandler)}),H.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(H)},500))}}_toggleClasses(H,q,Oe){const Re=(0,E.Eq)(q||[]).filter(oe=>!!oe);Re.length&&(Oe?H.classList.add(...Re):H.classList.remove(...Re))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const H=this._ngZone.onStable.pipe((0,P.R)((0,S.T)(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),H.unsubscribe())})})}_disposeScrollStrategy(){const H=this._scrollStrategy;H&&(H.disable(),H.detach&&H.detach())}_disposeBackdrop(H){H&&(H.removeEventListener("click",this._backdropClickHandler),H.removeEventListener("transitionend",this._backdropTransitionendHandler),H.remove(),this._backdropElement===H&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const v="cdk-overlay-connected-position-bounding-box",a=/([A-Za-z%]+)$/;class C{constructor(H,q,Oe,Re,oe){this._viewportRuler=q,this._document=Oe,this._platform=Re,this._overlayContainer=oe,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new k.x,this._resizeSubscription=p.w0.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(H)}get positions(){return this._preferredPositions}attach(H){this._overlayRef&&this._overlayRef,this._validatePositions(),H.hostElement.classList.add(v),this._overlayRef=H,this._boundingBox=H.hostElement,this._pane=H.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const H=this._originRect,q=this._overlayRect,Oe=this._viewportRect,Re=this._containerRect,oe=[];let pt;for(let it of this._preferredPositions){let Ct=this._getOriginPoint(H,Re,it),un=this._getOverlayPoint(Ct,q,it),Nt=this._getOverlayFit(un,q,Oe,it);if(Nt.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(it,Ct);this._canFitWithFlexibleDimensions(Nt,un,Oe)?oe.push({position:it,origin:Ct,overlayRect:q,boundingBoxRect:this._calculateBoundingBoxRect(Ct,it)}):(!pt||pt.overlayFit.visibleAreaCt&&(Ct=Nt,it=un)}return this._isPushed=!1,void this._applyPosition(it.position,it.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(pt.position,pt.originPoint);this._applyPosition(pt.position,pt.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&N(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(v),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const H=this._lastPosition;if(H){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const q=this._getOriginPoint(this._originRect,this._containerRect,H);this._applyPosition(H,q)}else this.apply()}withScrollableContainers(H){return this._scrollables=H,this}withPositions(H){return this._preferredPositions=H,-1===H.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(H){return this._viewportMargin=H,this}withFlexibleDimensions(H=!0){return this._hasFlexibleDimensions=H,this}withGrowAfterOpen(H=!0){return this._growAfterOpen=H,this}withPush(H=!0){return this._canPush=H,this}withLockedPosition(H=!0){return this._positionLocked=H,this}setOrigin(H){return this._origin=H,this}withDefaultOffsetX(H){return this._offsetX=H,this}withDefaultOffsetY(H){return this._offsetY=H,this}withTransformOriginOn(H){return this._transformOriginSelector=H,this}_getOriginPoint(H,q,Oe){let Re,oe;if("center"==Oe.originX)Re=H.left+H.width/2;else{const pt=this._isRtl()?H.right:H.left,it=this._isRtl()?H.left:H.right;Re="start"==Oe.originX?pt:it}return q.left<0&&(Re-=q.left),oe="center"==Oe.originY?H.top+H.height/2:"top"==Oe.originY?H.top:H.bottom,q.top<0&&(oe-=q.top),{x:Re,y:oe}}_getOverlayPoint(H,q,Oe){let Re,oe;return Re="center"==Oe.overlayX?-q.width/2:"start"===Oe.overlayX?this._isRtl()?-q.width:0:this._isRtl()?0:-q.width,oe="center"==Oe.overlayY?-q.height/2:"top"==Oe.overlayY?0:-q.height,{x:H.x+Re,y:H.y+oe}}_getOverlayFit(H,q,Oe,Re){const oe=J(q);let{x:pt,y:it}=H,Ct=this._getOffset(Re,"x"),un=this._getOffset(Re,"y");Ct&&(pt+=Ct),un&&(it+=un);let Nt=0-pt,zt=pt+oe.width-Oe.width,yn=0-it,Jt=it+oe.height-Oe.height,Gt=this._subtractOverflows(oe.width,Nt,zt),In=this._subtractOverflows(oe.height,yn,Jt),an=Gt*In;return{visibleArea:an,isCompletelyWithinViewport:oe.width*oe.height===an,fitsInViewportVertically:In===oe.height,fitsInViewportHorizontally:Gt==oe.width}}_canFitWithFlexibleDimensions(H,q,Oe){if(this._hasFlexibleDimensions){const Re=Oe.bottom-q.y,oe=Oe.right-q.x,pt=F(this._overlayRef.getConfig().minHeight),it=F(this._overlayRef.getConfig().minWidth),Ct=H.fitsInViewportVertically||null!=pt&&pt<=Re,un=H.fitsInViewportHorizontally||null!=it&&it<=oe;return Ct&&un}return!1}_pushOverlayOnScreen(H,q,Oe){if(this._previousPushAmount&&this._positionLocked)return{x:H.x+this._previousPushAmount.x,y:H.y+this._previousPushAmount.y};const Re=J(q),oe=this._viewportRect,pt=Math.max(H.x+Re.width-oe.width,0),it=Math.max(H.y+Re.height-oe.height,0),Ct=Math.max(oe.top-Oe.top-H.y,0),un=Math.max(oe.left-Oe.left-H.x,0);let Nt=0,zt=0;return Nt=Re.width<=oe.width?un||-pt:H.xGt&&!this._isInitialRender&&!this._growAfterOpen&&(pt=H.y-Gt/2)}const Ct="start"===q.overlayX&&!Re||"end"===q.overlayX&ℜlet Nt,zt,yn;if("end"===q.overlayX&&!Re||"start"===q.overlayX&&Re)yn=Oe.width-H.x+this._viewportMargin,Nt=H.x-this._viewportMargin;else if(Ct)zt=H.x,Nt=Oe.right-H.x;else{const Jt=Math.min(Oe.right-H.x+Oe.left,H.x),Gt=this._lastBoundingBoxSize.width;Nt=2*Jt,zt=H.x-Jt,Nt>Gt&&!this._isInitialRender&&!this._growAfterOpen&&(zt=H.x-Gt/2)}return{top:pt,left:zt,bottom:it,right:yn,width:Nt,height:oe}}_setBoundingBoxStyles(H,q){const Oe=this._calculateBoundingBoxRect(H,q);!this._isInitialRender&&!this._growAfterOpen&&(Oe.height=Math.min(Oe.height,this._lastBoundingBoxSize.height),Oe.width=Math.min(Oe.width,this._lastBoundingBoxSize.width));const Re={};if(this._hasExactPosition())Re.top=Re.left="0",Re.bottom=Re.right=Re.maxHeight=Re.maxWidth="",Re.width=Re.height="100%";else{const oe=this._overlayRef.getConfig().maxHeight,pt=this._overlayRef.getConfig().maxWidth;Re.height=(0,E.HM)(Oe.height),Re.top=(0,E.HM)(Oe.top),Re.bottom=(0,E.HM)(Oe.bottom),Re.width=(0,E.HM)(Oe.width),Re.left=(0,E.HM)(Oe.left),Re.right=(0,E.HM)(Oe.right),"center"===q.overlayX?Re.alignItems="center":Re.alignItems="end"===q.overlayX?"flex-end":"flex-start","center"===q.overlayY?Re.justifyContent="center":Re.justifyContent="bottom"===q.overlayY?"flex-end":"flex-start",oe&&(Re.maxHeight=(0,E.HM)(oe)),pt&&(Re.maxWidth=(0,E.HM)(pt))}this._lastBoundingBoxSize=Oe,N(this._boundingBox.style,Re)}_resetBoundingBoxStyles(){N(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){N(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(H,q){const Oe={},Re=this._hasExactPosition(),oe=this._hasFlexibleDimensions,pt=this._overlayRef.getConfig();if(Re){const Nt=this._viewportRuler.getViewportScrollPosition();N(Oe,this._getExactOverlayY(q,H,Nt)),N(Oe,this._getExactOverlayX(q,H,Nt))}else Oe.position="static";let it="",Ct=this._getOffset(q,"x"),un=this._getOffset(q,"y");Ct&&(it+=`translateX(${Ct}px) `),un&&(it+=`translateY(${un}px)`),Oe.transform=it.trim(),pt.maxHeight&&(Re?Oe.maxHeight=(0,E.HM)(pt.maxHeight):oe&&(Oe.maxHeight="")),pt.maxWidth&&(Re?Oe.maxWidth=(0,E.HM)(pt.maxWidth):oe&&(Oe.maxWidth="")),N(this._pane.style,Oe)}_getExactOverlayY(H,q,Oe){let Re={top:"",bottom:""},oe=this._getOverlayPoint(q,this._overlayRect,H);if(this._isPushed&&(oe=this._pushOverlayOnScreen(oe,this._overlayRect,Oe)),"bottom"===H.overlayY){const pt=this._document.documentElement.clientHeight;Re.bottom=pt-(oe.y+this._overlayRect.height)+"px"}else Re.top=(0,E.HM)(oe.y);return Re}_getExactOverlayX(H,q,Oe){let pt,Re={left:"",right:""},oe=this._getOverlayPoint(q,this._overlayRect,H);if(this._isPushed&&(oe=this._pushOverlayOnScreen(oe,this._overlayRect,Oe)),pt=this._isRtl()?"end"===H.overlayX?"left":"right":"end"===H.overlayX?"right":"left","right"===pt){const it=this._document.documentElement.clientWidth;Re.right=it-(oe.x+this._overlayRect.width)+"px"}else Re.left=(0,E.HM)(oe.x);return Re}_getScrollVisibility(){const H=this._getOriginRect(),q=this._pane.getBoundingClientRect(),Oe=this._scrollables.map(Re=>Re.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:pe(H,Oe),isOriginOutsideView:re(H,Oe),isOverlayClipped:pe(q,Oe),isOverlayOutsideView:re(q,Oe)}}_subtractOverflows(H,...q){return q.reduce((Oe,Re)=>Oe-Math.max(Re,0),H)}_getNarrowedViewportRect(){const H=this._document.documentElement.clientWidth,q=this._document.documentElement.clientHeight,Oe=this._viewportRuler.getViewportScrollPosition();return{top:Oe.top+this._viewportMargin,left:Oe.left+this._viewportMargin,right:Oe.left+H-this._viewportMargin,bottom:Oe.top+q-this._viewportMargin,width:H-2*this._viewportMargin,height:q-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(H,q){return"x"===q?null==H.offsetX?this._offsetX:H.offsetX:null==H.offsetY?this._offsetY:H.offsetY}_validatePositions(){}_addPanelClasses(H){this._pane&&(0,E.Eq)(H).forEach(q=>{""!==q&&-1===this._appliedPanelClasses.indexOf(q)&&(this._appliedPanelClasses.push(q),this._pane.classList.add(q))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(H=>{this._pane.classList.remove(H)}),this._appliedPanelClasses=[])}_getOriginRect(){const H=this._origin;if(H instanceof _.SBq)return H.nativeElement.getBoundingClientRect();if(H instanceof Element)return H.getBoundingClientRect();const q=H.width||0,Oe=H.height||0;return{top:H.y,bottom:H.y+Oe,left:H.x,right:H.x+q,height:Oe,width:q}}}function N(ee,H){for(let q in H)H.hasOwnProperty(q)&&(ee[q]=H[q]);return ee}function F(ee){if("number"!=typeof ee&&null!=ee){const[H,q]=ee.split(a);return q&&"px"!==q?null:parseFloat(H)}return ee||null}function J(ee){return{top:Math.floor(ee.top),right:Math.floor(ee.right),bottom:Math.floor(ee.bottom),left:Math.floor(ee.left),width:Math.floor(ee.width),height:Math.floor(ee.height)}}const Ge="cdk-global-overlay-wrapper";class je{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(H){const q=H.getConfig();this._overlayRef=H,this._width&&!q.width&&H.updateSize({width:this._width}),this._height&&!q.height&&H.updateSize({height:this._height}),H.hostElement.classList.add(Ge),this._isDisposed=!1}top(H=""){return this._bottomOffset="",this._topOffset=H,this._alignItems="flex-start",this}left(H=""){return this._xOffset=H,this._xPosition="left",this}bottom(H=""){return this._topOffset="",this._bottomOffset=H,this._alignItems="flex-end",this}right(H=""){return this._xOffset=H,this._xPosition="right",this}start(H=""){return this._xOffset=H,this._xPosition="start",this}end(H=""){return this._xOffset=H,this._xPosition="end",this}width(H=""){return this._overlayRef?this._overlayRef.updateSize({width:H}):this._width=H,this}height(H=""){return this._overlayRef?this._overlayRef.updateSize({height:H}):this._height=H,this}centerHorizontally(H=""){return this.left(H),this._xPosition="center",this}centerVertically(H=""){return this.top(H),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const H=this._overlayRef.overlayElement.style,q=this._overlayRef.hostElement.style,Oe=this._overlayRef.getConfig(),{width:Re,height:oe,maxWidth:pt,maxHeight:it}=Oe,Ct=!("100%"!==Re&&"100vw"!==Re||pt&&"100%"!==pt&&"100vw"!==pt),un=!("100%"!==oe&&"100vh"!==oe||it&&"100%"!==it&&"100vh"!==it),Nt=this._xPosition,zt=this._xOffset,yn="rtl"===this._overlayRef.getConfig().direction;let Jt="",Gt="",In="";Ct?In="flex-start":"center"===Nt?(In="center",yn?Gt=zt:Jt=zt):yn?"left"===Nt||"end"===Nt?(In="flex-end",Jt=zt):("right"===Nt||"start"===Nt)&&(In="flex-start",Gt=zt):"left"===Nt||"start"===Nt?(In="flex-start",Jt=zt):("right"===Nt||"end"===Nt)&&(In="flex-end",Gt=zt),H.position=this._cssPosition,H.marginLeft=Ct?"0":Jt,H.marginTop=un?"0":this._topOffset,H.marginBottom=this._bottomOffset,H.marginRight=Ct?"0":Gt,q.justifyContent=In,q.alignItems=un?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const H=this._overlayRef.overlayElement.style,q=this._overlayRef.hostElement,Oe=q.style;q.classList.remove(Ge),Oe.justifyContent=Oe.alignItems=H.marginTop=H.marginBottom=H.marginLeft=H.marginRight=H.position="",this._overlayRef=null,this._isDisposed=!0}}class We{constructor(H,q,Oe,Re){this._viewportRuler=H,this._document=q,this._platform=Oe,this._overlayContainer=Re}global(){return new je}flexibleConnectedTo(H){return new C(H,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}We.\u0275fac=function(H){return new(H||We)(_.LFG(e.rL),_.LFG(t.K0),_.LFG(s.t4),_.LFG(L))},We.\u0275prov=_.Yz7({token:We,factory:We.\u0275fac,providedIn:"root"});let be=0;class Ye{constructor(H,q,Oe,Re,oe,pt,it,Ct,un,Nt,zt,yn){this.scrollStrategies=H,this._overlayContainer=q,this._componentFactoryResolver=Oe,this._positionBuilder=Re,this._keyboardDispatcher=oe,this._injector=pt,this._ngZone=it,this._document=Ct,this._directionality=un,this._location=Nt,this._outsideClickDispatcher=zt,this._animationsModuleType=yn}create(H){const q=this._createHostElement(),Oe=this._createPaneElement(q),Re=this._createPortalOutlet(Oe),oe=new de(H);return oe.direction=oe.direction||this._directionality.value,new B(Re,q,Oe,oe,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(H){const q=this._document.createElement("div");return q.id="cdk-overlay-"+be++,q.classList.add("cdk-overlay-pane"),H.appendChild(q),q}_createHostElement(){const H=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(H),H}_createPortalOutlet(H){return this._appRef||(this._appRef=this._injector.get(_.z2F)),new u.u0(H,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}Ye.\u0275fac=function(H){return new(H||Ye)(_.LFG(ve),_.LFG(L),_.LFG(_._Vd),_.LFG(We),_.LFG(d),_.LFG(_.zs3),_.LFG(_.R0b),_.LFG(t.K0),_.LFG(D.Is),_.LFG(t.Ye),_.LFG(y),_.LFG(_.QbO,8))},Ye.\u0275prov=_.Yz7({token:Ye,factory:Ye.\u0275fac,providedIn:"root"});const Ie=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],ge=new _.OlP("cdk-connected-overlay-scroll-strategy");class et{constructor(H){this.elementRef=H}}et.\u0275fac=function(H){return new(H||et)(_.Y36(_.SBq))},et.\u0275dir=_.lG2({type:et,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]});class ut{constructor(H,q,Oe,Re,oe){this._overlay=H,this._dir=oe,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=p.w0.EMPTY,this._attachSubscription=p.w0.EMPTY,this._detachSubscription=p.w0.EMPTY,this._positionSubscription=p.w0.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new _.vpe,this.positionChange=new _.vpe,this.attach=new _.vpe,this.detach=new _.vpe,this.overlayKeydown=new _.vpe,this.overlayOutsideClick=new _.vpe,this._templatePortal=new u.UE(q,Oe),this._scrollStrategyFactory=Re,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(H){this._offsetX=H,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(H){this._offsetY=H,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(H){this._hasBackdrop=(0,E.Ig)(H)}get lockPosition(){return this._lockPosition}set lockPosition(H){this._lockPosition=(0,E.Ig)(H)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(H){this._flexibleDimensions=(0,E.Ig)(H)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(H){this._growAfterOpen=(0,E.Ig)(H)}get push(){return this._push}set push(H){this._push=(0,E.Ig)(H)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(H){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),H.origin&&this.open&&this._position.apply()),H.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Ie);const H=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=H.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=H.detachments().subscribe(()=>this.detach.emit()),H.keydownEvents().subscribe(q=>{this.overlayKeydown.next(q),q.keyCode===z.hY&&!this.disableClose&&!(0,z.Vb)(q)&&(q.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(q=>{this.overlayOutsideClick.next(q)})}_buildConfig(){const H=this._position=this.positionStrategy||this._createPositionStrategy(),q=new de({direction:this._dir,positionStrategy:H,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(q.width=this.width),(this.height||0===this.height)&&(q.height=this.height),(this.minWidth||0===this.minWidth)&&(q.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(q.minHeight=this.minHeight),this.backdropClass&&(q.backdropClass=this.backdropClass),this.panelClass&&(q.panelClass=this.panelClass),q}_updatePositionStrategy(H){const q=this.positions.map(Oe=>({originX:Oe.originX,originY:Oe.originY,overlayX:Oe.overlayX,overlayY:Oe.overlayY,offsetX:Oe.offsetX||this.offsetX,offsetY:Oe.offsetY||this.offsetY,panelClass:Oe.panelClass||void 0}));return H.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(q).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const H=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(H),H}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof et?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(H=>{this.backdropClick.emit(H)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe((0,M.o)(()=>this.positionChange.observers.length>0)).subscribe(H=>{this.positionChange.emit(H),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}ut.\u0275fac=function(H){return new(H||ut)(_.Y36(Ye),_.Y36(_.Rgc),_.Y36(_.s_b),_.Y36(ge),_.Y36(D.Is,8))},ut.\u0275dir=_.lG2({type:ut,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[_.TTD]});const De={provide:ge,deps:[Ye],useFactory:function Le(ee){return()=>ee.scrollStrategies.reposition()}};class ne{}ne.\u0275fac=function(H){return new(H||ne)},ne.\u0275mod=_.oAB({type:ne}),ne.\u0275inj=_.cJS({providers:[Ye,De],imports:[D.vT,u.eL,e.Cl,e.Cl]});class fe extends L{constructor(H,q){super(H,q)}ngOnDestroy(){super.ngOnDestroy(),this._fullScreenEventName&&this._fullScreenListener&&this._document.removeEventListener(this._fullScreenEventName,this._fullScreenListener)}_createContainer(){super._createContainer(),this._adjustParentForFullscreenChange(),this._addFullscreenChangeListener(()=>this._adjustParentForFullscreenChange())}_adjustParentForFullscreenChange(){this._containerElement&&(this.getFullscreenElement()||this._document.body).appendChild(this._containerElement)}_addFullscreenChangeListener(H){const q=this._getEventName();q&&(this._fullScreenListener&&this._document.removeEventListener(q,this._fullScreenListener),this._document.addEventListener(q,H),this._fullScreenListener=H)}_getEventName(){if(!this._fullScreenEventName){const H=this._document;H.fullscreenEnabled?this._fullScreenEventName="fullscreenchange":H.webkitFullscreenEnabled?this._fullScreenEventName="webkitfullscreenchange":H.mozFullScreenEnabled?this._fullScreenEventName="mozfullscreenchange":H.msFullscreenEnabled&&(this._fullScreenEventName="MSFullscreenChange")}return this._fullScreenEventName}getFullscreenElement(){const H=this._document;return H.fullscreenElement||H.webkitFullscreenElement||H.mozFullScreenElement||H.msFullscreenElement||null}}fe.\u0275fac=function(H){return new(H||fe)(_.LFG(t.K0),_.LFG(s.t4))},fe.\u0275prov=_.Yz7({token:fe,factory:fe.\u0275fac,providedIn:"root"})},9107:(Ve,X,m)=>{"use strict";m.d(X,{Mq:()=>z,Oy:()=>pe,_i:()=>I,ht:()=>ae,i$:()=>A,kV:()=>j,qK:()=>k,sA:()=>re,t4:()=>E});var e=m(2560),t=m(4666);let _,D;try{_=typeof Intl<"u"&&Intl.v8BreakIterator}catch{_=!1}class E{constructor(ve){this._platformId=ve,this.isBrowser=this._platformId?(0,t.NF)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!_)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}E.\u0275fac=function(ve){return new(ve||E)(e.LFG(e.Lbi))},E.\u0275prov=e.Yz7({token:E,factory:E.\u0275fac,providedIn:"root"});class s{}s.\u0275fac=function(ve){return new(ve||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({});const u=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function k(){if(D)return D;if("object"!=typeof document||!document)return D=new Set(u),D;let le=document.createElement("input");return D=new Set(u.filter(ve=>(le.setAttribute("type",ve),le.type===ve))),D}let p,P,M,W;function A(le){return function S(){if(null==p&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>p=!0}))}finally{p=p||!1}return p}()?le:!!le.capture}function z(){if(null==M){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return M=!1,M;if("scrollBehavior"in document.documentElement.style)M=!0;else{const le=Element.prototype.scrollTo;M=!!le&&!/\{\s*\[native code\]\s*\}/.test(le.toString())}}return M}function I(){if("object"!=typeof document||!document)return 0;if(null==P){const le=document.createElement("div"),ve=le.style;le.dir="rtl",ve.width="1px",ve.overflow="auto",ve.visibility="hidden",ve.pointerEvents="none",ve.position="absolute";const de=document.createElement("div"),$=de.style;$.width="2px",$.height="1px",le.appendChild(de),document.body.appendChild(le),P=0,0===le.scrollLeft&&(le.scrollLeft=1,P=0===le.scrollLeft?1:2),le.remove()}return P}function j(le){if(function Z(){if(null==W){const le=typeof document<"u"?document.head:null;W=!(!le||!le.createShadowRoot&&!le.attachShadow)}return W}()){const ve=le.getRootNode?le.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&ve instanceof ShadowRoot)return ve}return null}function ae(){let le=typeof document<"u"&&document?document.activeElement:null;for(;le&&le.shadowRoot;){const ve=le.shadowRoot.activeElement;if(ve===le)break;le=ve}return le}function re(le){return le.composedPath?le.composedPath()[0]:le.target}function pe(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}},7520:(Ve,X,m)=>{"use strict";m.d(X,{C5:()=>S,Pl:()=>ae,UE:()=>A,eL:()=>pe,en:()=>M,ig:()=>Z,u0:()=>I});var e=m(2560),t=m(4666);class p{attach(de){return this._attachedHost=de,de.attach(this)}detach(){let de=this._attachedHost;null!=de&&(this._attachedHost=null,de.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(de){this._attachedHost=de}}class S extends p{constructor(de,$,ue,w,n){super(),this.component=de,this.viewContainerRef=$,this.injector=ue,this.componentFactoryResolver=w,this.projectableNodes=n}}class A extends p{constructor(de,$,ue,w){super(),this.templateRef=de,this.viewContainerRef=$,this.context=ue,this.injector=w}get origin(){return this.templateRef.elementRef}attach(de,$=this.context){return this.context=$,super.attach(de)}detach(){return this.context=void 0,super.detach()}}class P extends p{constructor(de){super(),this.element=de instanceof e.SBq?de.nativeElement:de}}class M{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(de){return de instanceof S?(this._attachedPortal=de,this.attachComponentPortal(de)):de instanceof A?(this._attachedPortal=de,this.attachTemplatePortal(de)):this.attachDomPortal&&de instanceof P?(this._attachedPortal=de,this.attachDomPortal(de)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(de){this._disposeFn=de}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class I extends M{constructor(de,$,ue,w,n){super(),this.outletElement=de,this._componentFactoryResolver=$,this._appRef=ue,this._defaultInjector=w,this.attachDomPortal=o=>{this._document;const h=o.element;h.parentNode;const d=this._document.createComment("dom-portal");h.parentNode.insertBefore(d,h),this.outletElement.appendChild(h),this._attachedPortal=o,super.setDisposeFn(()=>{d.parentNode&&d.parentNode.replaceChild(h,d)})},this._document=n}attachComponentPortal(de){const ue=(de.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(de.component);let w;return de.viewContainerRef?(w=de.viewContainerRef.createComponent(ue,de.viewContainerRef.length,de.injector||de.viewContainerRef.injector,de.projectableNodes||void 0),this.setDisposeFn(()=>w.destroy())):(w=ue.create(de.injector||this._defaultInjector||e.zs3.NULL),this._appRef.attachView(w.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(w.hostView),w.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(w)),this._attachedPortal=de,w}attachTemplatePortal(de){let $=de.viewContainerRef,ue=$.createEmbeddedView(de.templateRef,de.context,{injector:de.injector});return ue.rootNodes.forEach(w=>this.outletElement.appendChild(w)),ue.detectChanges(),this.setDisposeFn(()=>{let w=$.indexOf(ue);-1!==w&&$.remove(w)}),this._attachedPortal=de,ue}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(de){return de.hostView.rootNodes[0]}}class Z extends A{constructor(de,$){super(de,$)}}Z.\u0275fac=function(de){return new(de||Z)(e.Y36(e.Rgc),e.Y36(e.s_b))},Z.\u0275dir=e.lG2({type:Z,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[e.qOj]});class j extends Z{}j.\u0275fac=function(){let ve;return function($){return(ve||(ve=e.n5z(j)))($||j)}}(),j.\u0275dir=e.lG2({type:j,selectors:[["","cdk-portal",""],["","portal",""]],exportAs:["cdkPortal"],features:[e._Bn([{provide:Z,useExisting:j}]),e.qOj]});class ae extends M{constructor(de,$,ue){super(),this._componentFactoryResolver=de,this._viewContainerRef=$,this._isInitialized=!1,this.attached=new e.vpe,this.attachDomPortal=w=>{this._document;const n=w.element;n.parentNode;const o=this._document.createComment("dom-portal");w.setAttachedHost(this),n.parentNode.insertBefore(o,n),this._getRootNode().appendChild(n),this._attachedPortal=w,super.setDisposeFn(()=>{o.parentNode&&o.parentNode.replaceChild(n,o)})},this._document=ue}get portal(){return this._attachedPortal}set portal(de){this.hasAttached()&&!de&&!this._isInitialized||(this.hasAttached()&&super.detach(),de&&super.attach(de),this._attachedPortal=de||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(de){de.setAttachedHost(this);const $=null!=de.viewContainerRef?de.viewContainerRef:this._viewContainerRef,w=(de.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(de.component),n=$.createComponent(w,$.length,de.injector||$.injector,de.projectableNodes||void 0);return $!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=de,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(de){de.setAttachedHost(this);const $=this._viewContainerRef.createEmbeddedView(de.templateRef,de.context,{injector:de.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=de,this._attachedRef=$,this.attached.emit($),$}_getRootNode(){const de=this._viewContainerRef.element.nativeElement;return de.nodeType===de.ELEMENT_NODE?de:de.parentNode}}ae.\u0275fac=function(de){return new(de||ae)(e.Y36(e._Vd),e.Y36(e.s_b),e.Y36(t.K0))},ae.\u0275dir=e.lG2({type:ae,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[e.qOj]});class re extends ae{}re.\u0275fac=function(){let ve;return function($){return(ve||(ve=e.n5z(re)))($||re)}}(),re.\u0275dir=e.lG2({type:re,selectors:[["","cdkPortalHost",""],["","portalHost",""]],inputs:{portal:["cdkPortalHost","portal"]},exportAs:["cdkPortalHost"],features:[e._Bn([{provide:ae,useExisting:re}]),e.qOj]});class pe{}pe.\u0275fac=function(de){return new(de||pe)},pe.\u0275mod=e.oAB({type:pe}),pe.\u0275inj=e.cJS({})},1494:(Ve,X,m)=>{"use strict";m.d(X,{PQ:()=>Fe,ZD:()=>De,mF:()=>J,Cl:()=>ne,rL:()=>Ge});var e=m(8971),t=m(2560),_=m(253),E=m(745),s=m(833),D=m(3280),u=m(5417),k=m(7714);const p={schedule(fe){let ee=requestAnimationFrame,H=cancelAnimationFrame;const{delegate:q}=p;q&&(ee=q.requestAnimationFrame,H=q.cancelAnimationFrame);const Oe=ee(Re=>{H=void 0,fe(Re)});return new k.w0(()=>H?.(Oe))},requestAnimationFrame(...fe){const{delegate:ee}=p;return(ee?.requestAnimationFrame||requestAnimationFrame)(...fe)},cancelAnimationFrame(...fe){const{delegate:ee}=p;return(ee?.cancelAnimationFrame||cancelAnimationFrame)(...fe)},delegate:void 0};class S extends u.o{constructor(ee,H){super(ee,H),this.scheduler=ee,this.work=H}requestAsyncId(ee,H,q=0){return null!==q&&q>0?super.requestAsyncId(ee,H,q):(ee.actions.push(this),ee._scheduled||(ee._scheduled=p.requestAnimationFrame(()=>ee.flush(void 0))))}recycleAsyncId(ee,H,q=0){var Oe;if(null!=q?q>0:this.delay>0)return super.recycleAsyncId(ee,H,q);const{actions:Re}=ee;null!=H&&(null===(Oe=Re[Re.length-1])||void 0===Oe?void 0:Oe.id)!==H&&(p.cancelAnimationFrame(H),ee._scheduled=void 0)}}var A=m(1010);class P extends A.v{flush(ee){this._active=!0;const H=this._scheduled;this._scheduled=void 0;const{actions:q}=this;let Oe;ee=ee||q.shift();do{if(Oe=ee.execute(ee.state,ee.delay))break}while((ee=q[0])&&ee.id===H&&q.shift());if(this._active=!1,Oe){for(;(ee=q[0])&&ee.id===H&&q.shift();)ee.unsubscribe();throw Oe}}}const M=new P(S);var I=m(3888),W=m(4437),Z=m(8977),j=m(9211),ae=m(116),re=m(8951),pe=m(4874),le=m(1944),ve=m(3945);var $=m(2673),ue=m(6067),w=m(1203);var o=m(9107),h=m(4666),d=m(2867),y=m(1755);const L=["contentWrapper"],v=new t.OlP("VIRTUAL_SCROLL_STRATEGY");class a{constructor(ee,H,q){this._scrolledIndexChange=new _.x,this.scrolledIndexChange=this._scrolledIndexChange.pipe((0,Z.x)()),this._viewport=null,this._itemSize=ee,this._minBufferPx=H,this._maxBufferPx=q}attach(ee){this._viewport=ee,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(ee,H,q){this._itemSize=ee,this._minBufferPx=H,this._maxBufferPx=q,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(ee,H){this._viewport&&this._viewport.scrollToOffset(ee*this._itemSize,H)}_updateTotalContentSize(){!this._viewport||this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;const ee=this._viewport.getRenderedRange(),H={start:ee.start,end:ee.end},q=this._viewport.getViewportSize(),Oe=this._viewport.getDataLength();let Re=this._viewport.measureScrollOffset(),oe=this._itemSize>0?Re/this._itemSize:0;if(H.end>Oe){const it=Math.ceil(q/this._itemSize),Ct=Math.max(0,Math.min(oe,Oe-it));oe!=Ct&&(oe=Ct,Re=Ct*this._itemSize,H.start=Math.floor(oe)),H.end=Math.max(0,Math.min(Oe,H.start+it))}const pt=Re-H.start*this._itemSize;if(pt0&&(H.end=Math.min(Oe,H.end+Ct),H.start=Math.max(0,Math.floor(oe-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(H),this._viewport.setRenderedContentOffset(this._itemSize*H.start),this._scrolledIndexChange.next(Math.floor(oe))}}class N{constructor(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new a(this.itemSize,this.minBufferPx,this.maxBufferPx)}get itemSize(){return this._itemSize}set itemSize(ee){this._itemSize=(0,e.su)(ee)}get minBufferPx(){return this._minBufferPx}set minBufferPx(ee){this._minBufferPx=(0,e.su)(ee)}get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(ee){this._maxBufferPx=(0,e.su)(ee)}ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}}N.\u0275fac=function(ee){return new(ee||N)},N.\u0275dir=t.lG2({type:N,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[t._Bn([{provide:v,useFactory:function C(fe){return fe._scrollStrategy},deps:[(0,t.Gpc)(()=>N)]}]),t.TTD]});class J{constructor(ee,H,q){this._ngZone=ee,this._platform=H,this._scrolled=new _.x,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=q}register(ee){this.scrollContainers.has(ee)||this.scrollContainers.set(ee,ee.elementScrolled().subscribe(()=>this._scrolled.next(ee)))}deregister(ee){const H=this.scrollContainers.get(ee);H&&(H.unsubscribe(),this.scrollContainers.delete(ee))}scrolled(ee=20){return this._platform.isBrowser?new s.y(H=>{this._globalSubscription||this._addGlobalListener();const q=ee>0?this._scrolled.pipe((0,j.e)(ee)).subscribe(H):this._scrolled.subscribe(H);return this._scrolledCount++,()=>{q.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):(0,E.of)()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((ee,H)=>this.deregister(H)),this._scrolled.complete()}ancestorScrolled(ee,H){const q=this.getAncestorScrollContainers(ee);return this.scrolled(H).pipe((0,ae.h)(Oe=>!Oe||q.indexOf(Oe)>-1))}getAncestorScrollContainers(ee){const H=[];return this.scrollContainers.forEach((q,Oe)=>{this._scrollableContainsElement(Oe,ee)&&H.push(Oe)}),H}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(ee,H){let q=(0,e.fI)(H),Oe=ee.getElementRef().nativeElement;do{if(q==Oe)return!0}while(q=q.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{const ee=this._getWindow();return(0,D.R)(ee.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}J.\u0275fac=function(ee){return new(ee||J)(t.LFG(t.R0b),t.LFG(o.t4),t.LFG(h.K0,8))},J.\u0275prov=t.Yz7({token:J,factory:J.\u0275fac,providedIn:"root"});class Fe{constructor(ee,H,q,Oe){this.elementRef=ee,this.scrollDispatcher=H,this.ngZone=q,this.dir=Oe,this._destroyed=new _.x,this._elementScrolled=new s.y(Re=>this.ngZone.runOutsideAngular(()=>(0,D.R)(this.elementRef.nativeElement,"scroll").pipe((0,re.R)(this._destroyed)).subscribe(Re)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(ee){const H=this.elementRef.nativeElement,q=this.dir&&"rtl"==this.dir.value;null==ee.left&&(ee.left=q?ee.end:ee.start),null==ee.right&&(ee.right=q?ee.start:ee.end),null!=ee.bottom&&(ee.top=H.scrollHeight-H.clientHeight-ee.bottom),q&&0!=(0,o._i)()?(null!=ee.left&&(ee.right=H.scrollWidth-H.clientWidth-ee.left),2==(0,o._i)()?ee.left=ee.right:1==(0,o._i)()&&(ee.left=ee.right?-ee.right:ee.right)):null!=ee.right&&(ee.left=H.scrollWidth-H.clientWidth-ee.right),this._applyScrollToOptions(ee)}_applyScrollToOptions(ee){const H=this.elementRef.nativeElement;(0,o.Mq)()?H.scrollTo(ee):(null!=ee.top&&(H.scrollTop=ee.top),null!=ee.left&&(H.scrollLeft=ee.left))}measureScrollOffset(ee){const H="left",q="right",Oe=this.elementRef.nativeElement;if("top"==ee)return Oe.scrollTop;if("bottom"==ee)return Oe.scrollHeight-Oe.clientHeight-Oe.scrollTop;const Re=this.dir&&"rtl"==this.dir.value;return"start"==ee?ee=Re?q:H:"end"==ee&&(ee=Re?H:q),Re&&2==(0,o._i)()?ee==H?Oe.scrollWidth-Oe.clientWidth-Oe.scrollLeft:Oe.scrollLeft:Re&&1==(0,o._i)()?ee==H?Oe.scrollLeft+Oe.scrollWidth-Oe.clientWidth:-Oe.scrollLeft:ee==H?Oe.scrollLeft:Oe.scrollWidth-Oe.clientWidth-Oe.scrollLeft}}Fe.\u0275fac=function(ee){return new(ee||Fe)(t.Y36(t.SBq),t.Y36(J),t.Y36(t.R0b),t.Y36(d.Is,8))},Fe.\u0275dir=t.lG2({type:Fe,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]});class Ge{constructor(ee,H,q){this._platform=ee,this._change=new _.x,this._changeListener=Oe=>{this._change.next(Oe)},this._document=q,H.runOutsideAngular(()=>{if(ee.isBrowser){const Oe=this._getWindow();Oe.addEventListener("resize",this._changeListener),Oe.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const ee=this._getWindow();ee.removeEventListener("resize",this._changeListener),ee.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const ee={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),ee}getViewportRect(){const ee=this.getViewportScrollPosition(),{width:H,height:q}=this.getViewportSize();return{top:ee.top,left:ee.left,bottom:ee.top+q,right:ee.left+H,height:q,width:H}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const ee=this._document,H=this._getWindow(),q=ee.documentElement,Oe=q.getBoundingClientRect();return{top:-Oe.top||ee.body.scrollTop||H.scrollY||q.scrollTop||0,left:-Oe.left||ee.body.scrollLeft||H.scrollX||q.scrollLeft||0}}change(ee=20){return ee>0?this._change.pipe((0,j.e)(ee)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const ee=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:ee.innerWidth,height:ee.innerHeight}:{width:0,height:0}}}Ge.\u0275fac=function(ee){return new(ee||Ge)(t.LFG(o.t4),t.LFG(t.R0b),t.LFG(h.K0,8))},Ge.\u0275prov=t.Yz7({token:Ge,factory:Ge.\u0275fac,providedIn:"root"});const je=new t.OlP("VIRTUAL_SCROLLABLE");class We extends Fe{constructor(ee,H,q,Oe){super(ee,H,q,Oe)}measureViewportSize(ee){const H=this.elementRef.nativeElement;return"horizontal"===ee?H.clientWidth:H.clientHeight}}We.\u0275fac=function(ee){return new(ee||We)(t.Y36(t.SBq),t.Y36(J),t.Y36(t.R0b),t.Y36(d.Is,8))},We.\u0275dir=t.lG2({type:We,features:[t.qOj]});const Ye=typeof requestAnimationFrame<"u"?M:I.E;class Ie extends We{constructor(ee,H,q,Oe,Re,oe,pt,it){super(ee,oe,q,Re),this.elementRef=ee,this._changeDetectorRef=H,this._scrollStrategy=Oe,this.scrollable=it,this._platform=(0,t.f3M)(o.t4),this._detachedSubject=new _.x,this._renderedRangeSubject=new _.x,this._orientation="vertical",this._appendOnly=!1,this.scrolledIndexChange=new s.y(Ct=>this._scrollStrategy.scrolledIndexChange.subscribe(un=>Promise.resolve().then(()=>this.ngZone.run(()=>Ct.next(un))))),this.renderedRangeStream=this._renderedRangeSubject,this._totalContentSize=0,this._totalContentWidth="",this._totalContentHeight="",this._renderedRange={start:0,end:0},this._dataLength=0,this._viewportSize=0,this._renderedContentOffset=0,this._renderedContentOffsetNeedsRewrite=!1,this._isChangeDetectionPending=!1,this._runAfterChangeDetection=[],this._viewportChanges=k.w0.EMPTY,this._viewportChanges=pt.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this)}get orientation(){return this._orientation}set orientation(ee){this._orientation!==ee&&(this._orientation=ee,this._calculateSpacerSize())}get appendOnly(){return this._appendOnly}set appendOnly(ee){this._appendOnly=(0,e.Ig)(ee)}ngOnInit(){!this._platform.isBrowser||(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe((0,pe.O)(null),(0,j.e)(0,Ye)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),super.ngOnDestroy()}attach(ee){this._forOf,this.ngZone.runOutsideAngular(()=>{this._forOf=ee,this._forOf.dataStream.pipe((0,re.R)(this._detachedSubject)).subscribe(H=>{const q=H.length;q!==this._dataLength&&(this._dataLength=q,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]}setTotalContentSize(ee){this._totalContentSize!==ee&&(this._totalContentSize=ee,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(ee){(function be(fe,ee){return fe.start==ee.start&&fe.end==ee.end})(this._renderedRange,ee)||(this.appendOnly&&(ee={start:0,end:Math.max(this._renderedRange.end,ee.end)}),this._renderedRangeSubject.next(this._renderedRange=ee),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(ee,H="to-start"){ee=this.appendOnly&&"to-start"===H?0:ee;const q=this.dir&&"rtl"==this.dir.value,Oe="horizontal"==this.orientation,Re=Oe?"X":"Y";let pt=`translate${Re}(${Number((Oe&&q?-1:1)*ee)}px)`;this._renderedContentOffset=ee,"to-end"===H&&(pt+=` translate${Re}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=pt&&(this._renderedContentTransform=pt,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(ee,H="auto"){const q={behavior:H};"horizontal"===this.orientation?q.start=ee:q.top=ee,this.scrollable.scrollTo(q)}scrollToIndex(ee,H="auto"){this._scrollStrategy.scrollToIndex(ee,H)}measureScrollOffset(ee){let H;return H=this.scrollable==this?q=>super.measureScrollOffset(q):q=>this.scrollable.measureScrollOffset(q),Math.max(0,H(ee??("horizontal"===this.orientation?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(ee){let H;const q="left",Re="rtl"==this.dir?.value;H="start"==ee?Re?"right":q:"end"==ee?Re?q:"right":ee||("horizontal"===this.orientation?"left":"top");const oe=this.scrollable.measureBoundingClientRectWithScrollOffset(H);return this.elementRef.nativeElement.getBoundingClientRect()[H]-oe}measureRenderedContentSize(){const ee=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?ee.offsetWidth:ee.offsetHeight}measureRangeSize(ee){return this._forOf?this._forOf.measureRangeSize(ee,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(ee){ee&&this._runAfterChangeDetection.push(ee),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._doChangeDetection()})))}_doChangeDetection(){this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run(()=>this._changeDetectorRef.markForCheck());const ee=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(const H of ee)H()}_calculateSpacerSize(){this._totalContentHeight="horizontal"===this.orientation?"":`${this._totalContentSize}px`,this._totalContentWidth="horizontal"===this.orientation?`${this._totalContentSize}px`:""}}function ge(fe,ee,H){const q=H;if(!q.getBoundingClientRect)return 0;const Oe=q.getBoundingClientRect();return"horizontal"===fe?"start"===ee?Oe.left:Oe.right:"start"===ee?Oe.top:Oe.bottom}Ie.\u0275fac=function(ee){return new(ee||Ie)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(t.R0b),t.Y36(v,8),t.Y36(d.Is,8),t.Y36(J),t.Y36(Ge),t.Y36(je,8))},Ie.\u0275cmp=t.Xpm({type:Ie,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(ee,H){if(1&ee&&t.Gf(L,7),2&ee){let q;t.iGM(q=t.CRH())&&(H._contentWrapper=q.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(ee,H){2&ee&&t.ekj("cdk-virtual-scroll-orientation-horizontal","horizontal"===H.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==H.orientation)},inputs:{orientation:"orientation",appendOnly:"appendOnly"},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[t._Bn([{provide:Fe,useFactory:(fe,ee)=>fe||ee,deps:[[new t.FiY,new t.tBr(je)],Ie]}]),t.qOj],ngContentSelectors:["*"],decls:4,vars:4,consts:[[1,"cdk-virtual-scroll-content-wrapper"],["contentWrapper",""],[1,"cdk-virtual-scroll-spacer"]],template:function(ee,H){1&ee&&(t.F$t(),t.TgZ(0,"div",0,1),t.Hsn(2),t.qZA(),t._UZ(3,"div",2)),2&ee&&(t.xp6(3),t.Udp("width",H._totalContentWidth)("height",H._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"],encapsulation:2,changeDetection:0});class et{constructor(ee,H,q,Oe,Re,oe){this._viewContainerRef=ee,this._template=H,this._differs=q,this._viewRepeater=Oe,this._viewport=Re,this.viewChange=new _.x,this._dataSourceChanges=new _.x,this.dataStream=this._dataSourceChanges.pipe((0,pe.O)(null),function de(){return(0,le.e)((fe,ee)=>{let H,q=!1;fe.subscribe((0,ve.x)(ee,Oe=>{const Re=H;H=Oe,q&&ee.next([Re,Oe]),q=!0}))})}(),(0,$.w)(([pt,it])=>this._changeDataSource(pt,it)),function n(fe,ee,H){let q,Oe=!1;return fe&&"object"==typeof fe?({bufferSize:q=1/0,windowTime:ee=1/0,refCount:Oe=!1,scheduler:H}=fe):q=fe??1/0,(0,w.B)({connector:()=>new ue.t(q,ee,H),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:Oe})}(1)),this._differ=null,this._needsUpdate=!1,this._destroyed=new _.x,this.dataStream.subscribe(pt=>{this._data=pt,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe((0,re.R)(this._destroyed)).subscribe(pt=>{this._renderedRange=pt,this.viewChange.observers.length&&oe.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(ee){this._cdkVirtualForOf=ee,(0,y.Z9)(ee)?this._dataSourceChanges.next(ee):this._dataSourceChanges.next(new y.P3((0,W.b)(ee)?ee:Array.from(ee||[])))}get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(ee){this._needsUpdate=!0,this._cdkVirtualForTrackBy=ee?(H,q)=>ee(H+(this._renderedRange?this._renderedRange.start:0),q):void 0}set cdkVirtualForTemplate(ee){ee&&(this._needsUpdate=!0,this._template=ee)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(ee){this._viewRepeater.viewCacheSize=(0,e.su)(ee)}measureRangeSize(ee,H){if(ee.start>=ee.end)return 0;ee.start-1;pt--){const it=this._viewContainerRef.get(pt+q);if(it&&it.rootNodes.length){oe=it.rootNodes[it.rootNodes.length-1];break}}return Re&&oe?ge(H,"end",oe)-ge(H,"start",Re):0}ngDoCheck(){if(this._differ&&this._needsUpdate){const ee=this._differ.diff(this._renderedItems);ee?this._applyChanges(ee):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){!this._renderedRange||(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((ee,H)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(ee,H):H)),this._needsUpdate=!0)}_changeDataSource(ee,H){return ee&&ee.disconnect(this),this._needsUpdate=!0,H?H.connect(this):(0,E.of)()}_updateContext(){const ee=this._data.length;let H=this._viewContainerRef.length;for(;H--;){const q=this._viewContainerRef.get(H);q.context.index=this._renderedRange.start+H,q.context.count=ee,this._updateComputedContextProperties(q.context),q.detectChanges()}}_applyChanges(ee){this._viewRepeater.applyChanges(ee,this._viewContainerRef,(Oe,Re,oe)=>this._getEmbeddedViewArgs(Oe,oe),Oe=>Oe.item),ee.forEachIdentityChange(Oe=>{this._viewContainerRef.get(Oe.currentIndex).context.$implicit=Oe.item});const H=this._data.length;let q=this._viewContainerRef.length;for(;q--;){const Oe=this._viewContainerRef.get(q);Oe.context.index=this._renderedRange.start+q,Oe.context.count=H,this._updateComputedContextProperties(Oe.context)}}_updateComputedContextProperties(ee){ee.first=0===ee.index,ee.last=ee.index===ee.count-1,ee.even=ee.index%2==0,ee.odd=!ee.even}_getEmbeddedViewArgs(ee,H){return{templateRef:this._template,context:{$implicit:ee.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:H}}}et.\u0275fac=function(ee){return new(ee||et)(t.Y36(t.s_b),t.Y36(t.Rgc),t.Y36(t.ZZ4),t.Y36(y.k),t.Y36(Ie,4),t.Y36(t.R0b))},et.\u0275dir=t.lG2({type:et,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},features:[t._Bn([{provide:y.k,useClass:y.eX}])]});class ut extends We{constructor(ee,H,q,Oe){super(ee,H,q,Oe)}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]-this.measureScrollOffset(ee)}}ut.\u0275fac=function(ee){return new(ee||ut)(t.Y36(t.SBq),t.Y36(J),t.Y36(t.R0b),t.Y36(d.Is,8))},ut.\u0275dir=t.lG2({type:ut,selectors:[["","cdkVirtualScrollingElement",""]],hostAttrs:[1,"cdk-virtual-scrollable"],features:[t._Bn([{provide:je,useExisting:ut}]),t.qOj]});class Le extends We{constructor(ee,H,q){super(new t.SBq(document.documentElement),ee,H,q),this._elementScrolled=new s.y(Oe=>this.ngZone.runOutsideAngular(()=>(0,D.R)(document,"scroll").pipe((0,re.R)(this._destroyed)).subscribe(Oe)))}measureBoundingClientRectWithScrollOffset(ee){return this.getElementRef().nativeElement.getBoundingClientRect()[ee]}}Le.\u0275fac=function(ee){return new(ee||Le)(t.Y36(J),t.Y36(t.R0b),t.Y36(d.Is,8))},Le.\u0275dir=t.lG2({type:Le,selectors:[["cdk-virtual-scroll-viewport","scrollWindow",""]],features:[t._Bn([{provide:je,useExisting:Le}]),t.qOj]});class De{}De.\u0275fac=function(ee){return new(ee||De)},De.\u0275mod=t.oAB({type:De}),De.\u0275inj=t.cJS({});class ne{}ne.\u0275fac=function(ee){return new(ee||ne)},ne.\u0275mod=t.oAB({type:ne}),ne.\u0275inj=t.cJS({imports:[d.vT,De,d.vT,De]})},1861:(Ve,X,m)=>{"use strict";m.d(X,{B8:()=>re,KL:()=>M,U5:()=>ve,be:()=>ae,gx:()=>j,po:()=>le,st:()=>pe,u6:()=>z});var e=m(4218),t=m(2867),_=m(8971),E=m(8456),s=m(2560),D=m(9107),u=m(253),k=m(745),p=m(4874),S=m(8951);function A(de,$){1&de&&s.Hsn(0)}class M{constructor($){this._elementRef=$}focus(){this._elementRef.nativeElement.focus()}}M.\u0275fac=function($){return new($||M)(s.Y36(s.SBq))},M.\u0275dir=s.lG2({type:M,selectors:[["","cdkStepHeader",""]],hostAttrs:["role","tab"]});class z{constructor($){this.template=$}}z.\u0275fac=function($){return new($||z)(s.Y36(s.Rgc))},z.\u0275dir=s.lG2({type:z,selectors:[["","cdkStepLabel",""]]});let I=0;const Z_NUMBER="number",Z_EDIT="edit",Z_DONE="done",Z_ERROR="error",j=new s.OlP("STEPPER_GLOBAL_OPTIONS");class ae{constructor($,ue){this._stepper=$,this.interacted=!1,this.interactedStream=new s.vpe,this._editable=!0,this._optional=!1,this._completedOverride=null,this._customError=null,this._stepperOptions=ue||{},this._displayDefaultIndicatorType=!1!==this._stepperOptions.displayDefaultIndicatorType}get editable(){return this._editable}set editable($){this._editable=(0,_.Ig)($)}get optional(){return this._optional}set optional($){this._optional=(0,_.Ig)($)}get completed(){return null==this._completedOverride?this._getDefaultCompleted():this._completedOverride}set completed($){this._completedOverride=(0,_.Ig)($)}_getDefaultCompleted(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted}get hasError(){return null==this._customError?this._getDefaultError():this._customError}set hasError($){this._customError=(0,_.Ig)($)}_getDefaultError(){return this.stepControl&&this.stepControl.invalid&&this.interacted}select(){this._stepper.selected=this}reset(){this.interacted=!1,null!=this._completedOverride&&(this._completedOverride=!1),null!=this._customError&&(this._customError=!1),this.stepControl&&this.stepControl.reset()}ngOnChanges(){this._stepper._stateChanged()}_markAsInteracted(){this.interacted||(this.interacted=!0,this.interactedStream.emit(this))}_showError(){return this._stepperOptions.showError??null!=this._customError}}ae.\u0275fac=function($){return new($||ae)(s.Y36((0,s.Gpc)(()=>re)),s.Y36(j,8))},ae.\u0275cmp=s.Xpm({type:ae,selectors:[["cdk-step"]],contentQueries:function($,ue,w){if(1&$&&s.Suo(w,z,5),2&$){let n;s.iGM(n=s.CRH())&&(ue.stepLabel=n.first)}},viewQuery:function($,ue){if(1&$&&s.Gf(s.Rgc,7),2&$){let w;s.iGM(w=s.CRH())&&(ue.content=w.first)}},inputs:{stepControl:"stepControl",label:"label",errorMessage:"errorMessage",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],state:"state",editable:"editable",optional:"optional",completed:"completed",hasError:"hasError"},outputs:{interactedStream:"interacted"},exportAs:["cdkStep"],features:[s.TTD],ngContentSelectors:["*"],decls:1,vars:0,template:function($,ue){1&$&&(s.F$t(),s.YNc(0,A,1,0,"ng-template"))},encapsulation:2,changeDetection:0});class re{constructor($,ue,w){this._dir=$,this._changeDetectorRef=ue,this._elementRef=w,this._destroyed=new u.x,this.steps=new s.n_E,this._sortedHeaders=new s.n_E,this._linear=!1,this._selectedIndex=0,this.selectionChange=new s.vpe,this._orientation="horizontal",this._groupId=I++}get linear(){return this._linear}set linear($){this._linear=(0,_.Ig)($)}get selectedIndex(){return this._selectedIndex}set selectedIndex($){const ue=(0,_.su)($);this.steps&&this._steps?(this._isValidIndex(ue),this.selected?._markAsInteracted(),this._selectedIndex!==ue&&!this._anyControlsInvalidOrPending(ue)&&(ue>=this._selectedIndex||this.steps.toArray()[ue].editable)&&this._updateSelectedItemIndex(ue)):this._selectedIndex=ue}get selected(){return this.steps?this.steps.toArray()[this.selectedIndex]:void 0}set selected($){this.selectedIndex=$&&this.steps?this.steps.toArray().indexOf($):-1}get orientation(){return this._orientation}set orientation($){this._orientation=$,this._keyManager&&this._keyManager.withVerticalOrientation("vertical"===$)}ngAfterContentInit(){this._steps.changes.pipe((0,p.O)(this._steps),(0,S.R)(this._destroyed)).subscribe($=>{this.steps.reset($.filter(ue=>ue._stepper===this)),this.steps.notifyOnChanges()})}ngAfterViewInit(){this._stepHeader.changes.pipe((0,p.O)(this._stepHeader),(0,S.R)(this._destroyed)).subscribe($=>{this._sortedHeaders.reset($.toArray().sort((ue,w)=>ue._elementRef.nativeElement.compareDocumentPosition(w._elementRef.nativeElement)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),this._sortedHeaders.notifyOnChanges()}),this._keyManager=new e.Em(this._sortedHeaders).withWrap().withHomeAndEnd().withVerticalOrientation("vertical"===this._orientation),(this._dir?this._dir.change:(0,k.of)()).pipe((0,p.O)(this._layoutDirection()),(0,S.R)(this._destroyed)).subscribe($=>this._keyManager.withHorizontalOrientation($)),this._keyManager.updateActiveItem(this._selectedIndex),this.steps.changes.subscribe(()=>{this.selected||(this._selectedIndex=Math.max(this._selectedIndex-1,0))}),this._isValidIndex(this._selectedIndex)||(this._selectedIndex=0)}ngOnDestroy(){this._keyManager?.destroy(),this.steps.destroy(),this._sortedHeaders.destroy(),this._destroyed.next(),this._destroyed.complete()}next(){this.selectedIndex=Math.min(this._selectedIndex+1,this.steps.length-1)}previous(){this.selectedIndex=Math.max(this._selectedIndex-1,0)}reset(){this._updateSelectedItemIndex(0),this.steps.forEach($=>$.reset()),this._stateChanged()}_getStepLabelId($){return`cdk-step-label-${this._groupId}-${$}`}_getStepContentId($){return`cdk-step-content-${this._groupId}-${$}`}_stateChanged(){this._changeDetectorRef.markForCheck()}_getAnimationDirection($){const ue=$-this._selectedIndex;return ue<0?"rtl"===this._layoutDirection()?"next":"previous":ue>0?"rtl"===this._layoutDirection()?"previous":"next":"current"}_getIndicatorType($,ue=Z_NUMBER){const w=this.steps.toArray()[$],n=this._isCurrentStep($);return w._displayDefaultIndicatorType?this._getDefaultIndicatorLogic(w,n):this._getGuidelineLogic(w,n,ue)}_getDefaultIndicatorLogic($,ue){return $._showError()&&$.hasError&&!ue?Z_ERROR:!$.completed||ue?Z_NUMBER:$.editable?Z_EDIT:Z_DONE}_getGuidelineLogic($,ue,w=Z_NUMBER){return $._showError()&&$.hasError&&!ue?Z_ERROR:$.completed&&!ue?Z_DONE:$.completed&&ue?w:$.editable&&ue?Z_EDIT:w}_isCurrentStep($){return this._selectedIndex===$}_getFocusIndex(){return this._keyManager?this._keyManager.activeItemIndex:this._selectedIndex}_updateSelectedItemIndex($){const ue=this.steps.toArray();this.selectionChange.emit({selectedIndex:$,previouslySelectedIndex:this._selectedIndex,selectedStep:ue[$],previouslySelectedStep:ue[this._selectedIndex]}),this._containsFocus()?this._keyManager.setActiveItem($):this._keyManager.updateActiveItem($),this._selectedIndex=$,this._stateChanged()}_onKeydown($){const ue=(0,E.Vb)($),w=$.keyCode,n=this._keyManager;null==n.activeItemIndex||ue||w!==E.L_&&w!==E.K5?n.onKeydown($):(this.selectedIndex=n.activeItemIndex,$.preventDefault())}_anyControlsInvalidOrPending($){return!!(this._linear&&$>=0)&&this.steps.toArray().slice(0,$).some(ue=>{const w=ue.stepControl;return(w?w.invalid||w.pending||!ue.interacted:!ue.completed)&&!ue.optional&&!ue._completedOverride})}_layoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_containsFocus(){const $=this._elementRef.nativeElement,ue=(0,D.ht)();return $===ue||$.contains(ue)}_isValidIndex($){return $>-1&&(!this.steps||${"use strict";m.d(X,{HI:()=>I,Hs:()=>$,Ud:()=>d,VY:()=>z,XJ:()=>h,Xx:()=>n,_0:()=>de,cu:()=>W,nZ:()=>L,rO:()=>j});var e=m(1755),t=m(4437),_=m(253),E=m(6317),s=m(745),D=m(9295),u=m(116),k=m(8951),p=m(2560),S=m(8971),A=m(2867);class P{constructor(){this.expansionModel=new e.Ov(!0)}toggle(v){this.expansionModel.toggle(this._trackByValue(v))}expand(v){this.expansionModel.select(this._trackByValue(v))}collapse(v){this.expansionModel.deselect(this._trackByValue(v))}isExpanded(v){return this.expansionModel.isSelected(this._trackByValue(v))}toggleDescendants(v){this.expansionModel.isSelected(this._trackByValue(v))?this.collapseDescendants(v):this.expandDescendants(v)}collapseAll(){this.expansionModel.clear()}expandDescendants(v){let a=[v];a.push(...this.getDescendants(v)),this.expansionModel.select(...a.map(C=>this._trackByValue(C)))}collapseDescendants(v){let a=[v];a.push(...this.getDescendants(v)),this.expansionModel.deselect(...a.map(C=>this._trackByValue(C)))}_trackByValue(v){return this.trackBy?this.trackBy(v):v}}class z extends P{constructor(v,a){super(),this.getChildren=v,this.options=a,this.options&&(this.trackBy=this.options.trackBy)}expandAll(){this.expansionModel.clear();const v=this.dataNodes.reduce((a,C)=>[...a,...this.getDescendants(C),C],[]);this.expansionModel.select(...v.map(a=>this._trackByValue(a)))}getDescendants(v){const a=[];return this._getDescendants(a,v),a.splice(1)}_getDescendants(v,a){v.push(a);const C=this.getChildren(a);Array.isArray(C)?C.forEach(N=>this._getDescendants(v,N)):(0,t.b)(C)&&C.pipe((0,D.q)(1),(0,u.h)(Boolean)).subscribe(N=>{for(const F of N)this._getDescendants(v,F)})}}const I=new p.OlP("CDK_TREE_NODE_OUTLET_NODE");class W{constructor(v,a){this.viewContainer=v,this._node=a}}W.\u0275fac=function(v){return new(v||W)(p.Y36(p.s_b),p.Y36(I,8))},W.\u0275dir=p.lG2({type:W,selectors:[["","cdkTreeNodeOutlet",""]]});class Z{constructor(v){this.$implicit=v}}class j{constructor(v){this.template=v}}j.\u0275fac=function(v){return new(v||j)(p.Y36(p.Rgc))},j.\u0275dir=p.lG2({type:j,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:["cdkTreeNodeDefWhen","when"]}});class de{constructor(v,a){this._differs=v,this._changeDetectorRef=a,this._onDestroy=new _.x,this._levels=new Map,this.viewChange=new E.X({start:0,end:Number.MAX_VALUE})}get dataSource(){return this._dataSource}set dataSource(v){this._dataSource!==v&&this._switchDataSource(v)}ngOnInit(){this._dataDiffer=this._differs.find([]).create(this.trackBy),this.treeControl}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null)}ngAfterContentChecked(){const v=this._nodeDefs.filter(a=>!a.when);v.length,this._defaultNodeDef=v[0],this.dataSource&&this._nodeDefs&&!this._dataSubscription&&this._observeRenderChanges()}_switchDataSource(v){this._dataSource&&"function"==typeof this._dataSource.disconnect&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),v||this._nodeOutlet.viewContainer.clear(),this._dataSource=v,this._nodeDefs&&this._observeRenderChanges()}_observeRenderChanges(){let v;(0,e.Z9)(this._dataSource)?v=this._dataSource.connect(this):(0,t.b)(this._dataSource)?v=this._dataSource:Array.isArray(this._dataSource)&&(v=(0,s.of)(this._dataSource)),v&&(this._dataSubscription=v.pipe((0,k.R)(this._onDestroy)).subscribe(a=>this.renderNodeChanges(a)))}renderNodeChanges(v,a=this._dataDiffer,C=this._nodeOutlet.viewContainer,N){const F=a.diff(v);!F||(F.forEachOperation((J,Fe,ke)=>{if(null==J.previousIndex)this.insertNode(v[ke],ke,C,N);else if(null==ke)C.remove(Fe),this._levels.delete(J.item);else{const Ge=C.get(Fe);C.move(Ge,ke)}}),this._changeDetectorRef.detectChanges())}_getNodeDef(v,a){if(1===this._nodeDefs.length)return this._nodeDefs.first;return this._nodeDefs.find(N=>N.when&&N.when(a,v))||this._defaultNodeDef}insertNode(v,a,C,N){const F=this._getNodeDef(v,a),J=new Z(v);this.treeControl.getLevel?J.level=this.treeControl.getLevel(v):typeof N<"u"&&this._levels.has(N)?J.level=this._levels.get(N)+1:J.level=0,this._levels.set(v,J.level),(C||this._nodeOutlet.viewContainer).createEmbeddedView(F.template,J,a),$.mostRecentTreeNode&&($.mostRecentTreeNode.data=v)}}de.\u0275fac=function(v){return new(v||de)(p.Y36(p.ZZ4),p.Y36(p.sBO))},de.\u0275cmp=p.Xpm({type:de,selectors:[["cdk-tree"]],contentQueries:function(v,a,C){if(1&v&&p.Suo(C,j,5),2&v){let N;p.iGM(N=p.CRH())&&(a._nodeDefs=N)}},viewQuery:function(v,a){if(1&v&&p.Gf(W,7),2&v){let C;p.iGM(C=p.CRH())&&(a._nodeOutlet=C.first)}},hostAttrs:["role","tree",1,"cdk-tree"],inputs:{dataSource:"dataSource",treeControl:"treeControl",trackBy:"trackBy"},exportAs:["cdkTree"],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(v,a){1&v&&p.GkF(0,0)},dependencies:[W],encapsulation:2});class ${constructor(v,a){this._elementRef=v,this._tree=a,this._destroyed=new _.x,this._dataChanges=new _.x,$.mostRecentTreeNode=this,this.role="treeitem"}get role(){return"treeitem"}set role(v){this._elementRef.nativeElement.setAttribute("role",v)}get data(){return this._data}set data(v){v!==this._data&&(this._data=v,this._setRoleFromData(),this._dataChanges.next())}get isExpanded(){return this._tree.treeControl.isExpanded(this._data)}get level(){return this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._data):this._parentNodeAriaLevel}ngOnInit(){this._parentNodeAriaLevel=function ue(B){let v=B.parentElement;for(;v&&!w(v);)v=v.parentElement;return v?v.classList.contains("cdk-nested-tree-node")?(0,S.su)(v.getAttribute("aria-level")):0:-1}(this._elementRef.nativeElement),this._elementRef.nativeElement.setAttribute("aria-level",`${this.level+1}`)}ngOnDestroy(){$.mostRecentTreeNode===this&&($.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}_setRoleFromData(){!this._tree.treeControl.isExpandable&&this._tree.treeControl.getChildren,this.role="treeitem"}}function w(B){const v=B.classList;return!(!v?.contains("cdk-nested-tree-node")&&!v?.contains("cdk-tree"))}$.mostRecentTreeNode=null,$.\u0275fac=function(v){return new(v||$)(p.Y36(p.SBq),p.Y36(de))},$.\u0275dir=p.lG2({type:$,selectors:[["cdk-tree-node"]],hostAttrs:[1,"cdk-tree-node"],hostVars:1,hostBindings:function(v,a){2&v&&p.uIk("aria-expanded",a.isExpanded)},inputs:{role:"role"},exportAs:["cdkTreeNode"]});class n extends ${constructor(v,a,C){super(v,a),this._differs=C}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy),this._tree.treeControl.getChildren;const v=this._tree.treeControl.getChildren(this.data);Array.isArray(v)?this.updateChildrenNodes(v):(0,t.b)(v)&&v.pipe((0,k.R)(this._destroyed)).subscribe(a=>this.updateChildrenNodes(a)),this.nodeOutlet.changes.pipe((0,k.R)(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){super.ngOnInit()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(v){const a=this._getNodeOutlet();if(v&&(this._children=v),a&&this._children){const C=a.viewContainer;this._tree.renderNodeChanges(this._children,this._dataDiffer,C,this._data)}else this._dataDiffer.diff([])}_clear(){const v=this._getNodeOutlet();v&&(v.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){const v=this.nodeOutlet;return v&&v.find(a=>!a._node||a._node===this)}}n.\u0275fac=function(v){return new(v||n)(p.Y36(p.SBq),p.Y36(de),p.Y36(p.ZZ4))},n.\u0275dir=p.lG2({type:n,selectors:[["cdk-nested-tree-node"]],contentQueries:function(v,a,C){if(1&v&&p.Suo(C,W,5),2&v){let N;p.iGM(N=p.CRH())&&(a.nodeOutlet=N)}},hostAttrs:[1,"cdk-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["cdkNestedTreeNode"],features:[p._Bn([{provide:$,useExisting:n},{provide:I,useExisting:n}]),p.qOj]});const o=/([A-Za-z%]+)$/;class h{constructor(v,a,C,N){this._treeNode=v,this._tree=a,this._element=C,this._dir=N,this._destroyed=new _.x,this.indentUnits="px",this._indent=40,this._setPadding(),N&&N.change.pipe((0,k.R)(this._destroyed)).subscribe(()=>this._setPadding(!0)),v._dataChanges.subscribe(()=>this._setPadding())}get level(){return this._level}set level(v){this._setLevelInput(v)}get indent(){return this._indent}set indent(v){this._setIndentInput(v)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_paddingIndent(){const v=this._treeNode.data&&this._tree.treeControl.getLevel?this._tree.treeControl.getLevel(this._treeNode.data):null,a=null==this._level?v:this._level;return"number"==typeof a?`${a*this._indent}${this.indentUnits}`:null}_setPadding(v=!1){const a=this._paddingIndent();if(a!==this._currentPadding||v){const C=this._element.nativeElement,N=this._dir&&"rtl"===this._dir.value?"paddingRight":"paddingLeft",F="paddingLeft"===N?"paddingRight":"paddingLeft";C.style[N]=a||"",C.style[F]="",this._currentPadding=a}}_setLevelInput(v){this._level=(0,S.su)(v,null),this._setPadding()}_setIndentInput(v){let a=v,C="px";if("string"==typeof v){const N=v.split(o);a=N[0],C=N[1]||C}this.indentUnits=C,this._indent=(0,S.su)(a),this._setPadding()}}h.\u0275fac=function(v){return new(v||h)(p.Y36($),p.Y36(de),p.Y36(p.SBq),p.Y36(A.Is,8))},h.\u0275dir=p.lG2({type:h,selectors:[["","cdkTreeNodePadding",""]],inputs:{level:["cdkTreeNodePadding","level"],indent:["cdkTreeNodePaddingIndent","indent"]}});class d{constructor(v,a){this._tree=v,this._treeNode=a,this._recursive=!1}get recursive(){return this._recursive}set recursive(v){this._recursive=(0,S.Ig)(v)}_toggle(v){this.recursive?this._tree.treeControl.toggleDescendants(this._treeNode.data):this._tree.treeControl.toggle(this._treeNode.data),v.stopPropagation()}}d.\u0275fac=function(v){return new(v||d)(p.Y36(de),p.Y36($))},d.\u0275dir=p.lG2({type:d,selectors:[["","cdkTreeNodeToggle",""]],hostBindings:function(v,a){1&v&&p.NdJ("click",function(N){return a._toggle(N)})},inputs:{recursive:["cdkTreeNodeToggleRecursive","recursive"]}});class L{}L.\u0275fac=function(v){return new(v||L)},L.\u0275mod=p.oAB({type:L}),L.\u0275inj=p.cJS({})},4666:(Ve,X,m)=>{"use strict";m.d(X,{Do:()=>re,ED:()=>Za,EM:()=>Oa,HT:()=>s,JF:()=>yr,JJ:()=>is,K0:()=>u,Mx:()=>Wn,NF:()=>nr,Nd:()=>za,O5:()=>Qn,OU:()=>Ua,Ov:()=>Di,PC:()=>ln,PM:()=>Pr,RF:()=>qi,S$:()=>Z,Ts:()=>ra,V_:()=>S,Ye:()=>pe,b0:()=>ae,bD:()=>vr,ez:()=>Ca,gd:()=>Ha,i8:()=>Ji,mk:()=>ti,n9:()=>Zi,q:()=>_,rS:()=>Yi,sg:()=>hn,tP:()=>En,uU:()=>Sa,w_:()=>D});var e=m(2560);let t=null;function _(){return t}function s(Ne){t||(t=Ne)}class D{}const u=new e.OlP("DocumentToken");class k{historyGo(he){throw new Error("Not implemented")}}k.\u0275fac=function(he){return new(he||k)},k.\u0275prov=e.Yz7({token:k,factory:function(){return function p(){return(0,e.LFG)(A)}()},providedIn:"platform"});const S=new e.OlP("Location Initialized");class A extends k{constructor(he){super(),this._doc=he,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return _().getBaseHref(this._doc)}onPopState(he){const st=_().getGlobalEventTarget(this._doc,"window");return st.addEventListener("popstate",he,!1),()=>st.removeEventListener("popstate",he)}onHashChange(he){const st=_().getGlobalEventTarget(this._doc,"window");return st.addEventListener("hashchange",he,!1),()=>st.removeEventListener("hashchange",he)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(he){this.location.pathname=he}pushState(he,st,Ot){P()?this._history.pushState(he,st,Ot):this.location.hash=Ot}replaceState(he,st,Ot){P()?this._history.replaceState(he,st,Ot):this.location.hash=Ot}forward(){this._history.forward()}back(){this._history.back()}historyGo(he=0){this._history.go(he)}getState(){return this._history.state}}function P(){return!!window.history.pushState}function z(Ne,he){if(0==Ne.length)return he;if(0==he.length)return Ne;let st=0;return Ne.endsWith("/")&&st++,he.startsWith("/")&&st++,2==st?Ne+he.substring(1):1==st?Ne+he:Ne+"/"+he}function I(Ne){const he=Ne.match(/#|\?|$/),st=he&&he.index||Ne.length,Ot=st-("/"===Ne[st-1]?1:0);return Ne.slice(0,Ot)+Ne.slice(st)}function W(Ne){return Ne&&"?"!==Ne[0]?"?"+Ne:Ne}A.\u0275fac=function(he){return new(he||A)(e.LFG(u))},A.\u0275prov=e.Yz7({token:A,factory:function(){return function M(){return new A((0,e.LFG)(u))}()},providedIn:"platform"});class Z{historyGo(he){throw new Error("Not implemented")}}Z.\u0275fac=function(he){return new(he||Z)},Z.\u0275prov=e.Yz7({token:Z,factory:function(){return(0,e.f3M)(ae)},providedIn:"root"});const j=new e.OlP("appBaseHref");class ae extends Z{constructor(he,st){super(),this._platformLocation=he,this._removeListenerFns=[],this._baseHref=st??this._platformLocation.getBaseHrefFromDOM()??(0,e.f3M)(u).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(he){this._removeListenerFns.push(this._platformLocation.onPopState(he),this._platformLocation.onHashChange(he))}getBaseHref(){return this._baseHref}prepareExternalUrl(he){return z(this._baseHref,he)}path(he=!1){const st=this._platformLocation.pathname+W(this._platformLocation.search),Ot=this._platformLocation.hash;return Ot&&he?`${st}${Ot}`:st}pushState(he,st,Ot,Vt){const fn=this.prepareExternalUrl(Ot+W(Vt));this._platformLocation.pushState(he,st,fn)}replaceState(he,st,Ot,Vt){const fn=this.prepareExternalUrl(Ot+W(Vt));this._platformLocation.replaceState(he,st,fn)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(he=0){this._platformLocation.historyGo?.(he)}}ae.\u0275fac=function(he){return new(he||ae)(e.LFG(k),e.LFG(j,8))},ae.\u0275prov=e.Yz7({token:ae,factory:ae.\u0275fac,providedIn:"root"});class re extends Z{constructor(he,st){super(),this._platformLocation=he,this._baseHref="",this._removeListenerFns=[],null!=st&&(this._baseHref=st)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(he){this._removeListenerFns.push(this._platformLocation.onPopState(he),this._platformLocation.onHashChange(he))}getBaseHref(){return this._baseHref}path(he=!1){let st=this._platformLocation.hash;return null==st&&(st="#"),st.length>0?st.substring(1):st}prepareExternalUrl(he){const st=z(this._baseHref,he);return st.length>0?"#"+st:st}pushState(he,st,Ot,Vt){let fn=this.prepareExternalUrl(Ot+W(Vt));0==fn.length&&(fn=this._platformLocation.pathname),this._platformLocation.pushState(he,st,fn)}replaceState(he,st,Ot,Vt){let fn=this.prepareExternalUrl(Ot+W(Vt));0==fn.length&&(fn=this._platformLocation.pathname),this._platformLocation.replaceState(he,st,fn)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(he=0){this._platformLocation.historyGo?.(he)}}re.\u0275fac=function(he){return new(he||re)(e.LFG(k),e.LFG(j,8))},re.\u0275prov=e.Yz7({token:re,factory:re.\u0275fac});class pe{constructor(he){this._subject=new e.vpe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=he;const st=this._locationStrategy.getBaseHref();this._baseHref=I(de(st)),this._locationStrategy.onPopState(Ot=>{this._subject.emit({url:this.path(!0),pop:!0,state:Ot.state,type:Ot.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(he=!1){return this.normalize(this._locationStrategy.path(he))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(he,st=""){return this.path()==this.normalize(he+W(st))}normalize(he){return pe.stripTrailingSlash(function ve(Ne,he){return Ne&&he.startsWith(Ne)?he.substring(Ne.length):he}(this._baseHref,de(he)))}prepareExternalUrl(he){return he&&"/"!==he[0]&&(he="/"+he),this._locationStrategy.prepareExternalUrl(he)}go(he,st="",Ot=null){this._locationStrategy.pushState(Ot,"",he,st),this._notifyUrlChangeListeners(this.prepareExternalUrl(he+W(st)),Ot)}replaceState(he,st="",Ot=null){this._locationStrategy.replaceState(Ot,"",he,st),this._notifyUrlChangeListeners(this.prepareExternalUrl(he+W(st)),Ot)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(he=0){this._locationStrategy.historyGo?.(he)}onUrlChange(he){return this._urlChangeListeners.push(he),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(st=>{this._notifyUrlChangeListeners(st.url,st.state)})),()=>{const st=this._urlChangeListeners.indexOf(he);this._urlChangeListeners.splice(st,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(he="",st){this._urlChangeListeners.forEach(Ot=>Ot(he,st))}subscribe(he,st,Ot){return this._subject.subscribe({next:he,error:st,complete:Ot})}}function de(Ne){return Ne.replace(/\/index.html$/,"")}pe.normalizeQueryParams=W,pe.joinWithSlash=z,pe.stripTrailingSlash=I,pe.\u0275fac=function(he){return new(he||pe)(e.LFG(Z))},pe.\u0275prov=e.Yz7({token:pe,factory:function(){return function le(){return new pe((0,e.LFG)(Z))}()},providedIn:"root"});const $={ADP:[void 0,void 0,0],AFN:[void 0,"\u060b",0],ALL:[void 0,void 0,0],AMD:[void 0,"\u058f",2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],AZN:[void 0,"\u20bc"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"\u09f3"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,void 0,2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN\xa5","\xa5"],COP:[void 0,"$",2],CRC:[void 0,"\u20a1",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"K\u010d",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E\xa3"],ESP:[void 0,"\u20a7",0],EUR:["\u20ac"],FJD:[void 0,"$"],FKP:[void 0,"\xa3"],GBP:["\xa3"],GEL:[void 0,"\u20be"],GHS:[void 0,"GH\u20b5"],GIP:[void 0,"\xa3"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["\u20aa"],INR:["\u20b9"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["\xa5",void 0,0],KHR:[void 0,"\u17db"],KMF:[void 0,"CF",0],KPW:[void 0,"\u20a9",0],KRW:["\u20a9",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"\u20b8"],LAK:[void 0,"\u20ad",0],LBP:[void 0,"L\xa3",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"\u20ae",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"\u20a6"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:["\u20b1"],PKR:[void 0,"Rs",2],PLN:[void 0,"z\u0142"],PYG:[void 0,"\u20b2",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"\u20bd"],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"\xa3"],SLE:[void 0,void 0,2],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"\xa3"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"\xa3",0],THB:[void 0,"\u0e3f"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"\u20ba"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"\u20b4"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["\u20ab",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["F\u202fCFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["\xa4"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};var ue,Ne,w,n,o,h,d,y;function J(Ne,he){return ne((0,e.cg1)(Ne)[e.wAp.DateFormat],he)}function Fe(Ne,he){return ne((0,e.cg1)(Ne)[e.wAp.TimeFormat],he)}function ke(Ne,he){return ne((0,e.cg1)(Ne)[e.wAp.DateTimeFormat],he)}function Ge(Ne,he){const st=(0,e.cg1)(Ne),Ot=st[e.wAp.NumberSymbols][he];if(typeof Ot>"u"){if(he===d.CurrencyDecimal)return st[e.wAp.NumberSymbols][d.Decimal];if(he===d.CurrencyGroup)return st[e.wAp.NumberSymbols][d.Group]}return Ot}function je(Ne,he){return(0,e.cg1)(Ne)[e.wAp.NumberFormats][he]}(Ne=ue||(ue={}))[Ne.Decimal=0]="Decimal",Ne[Ne.Percent=1]="Percent",Ne[Ne.Currency=2]="Currency",Ne[Ne.Scientific=3]="Scientific",function(Ne){Ne[Ne.Zero=0]="Zero",Ne[Ne.One=1]="One",Ne[Ne.Two=2]="Two",Ne[Ne.Few=3]="Few",Ne[Ne.Many=4]="Many",Ne[Ne.Other=5]="Other"}(w||(w={})),function(Ne){Ne[Ne.Format=0]="Format",Ne[Ne.Standalone=1]="Standalone"}(n||(n={})),function(Ne){Ne[Ne.Narrow=0]="Narrow",Ne[Ne.Abbreviated=1]="Abbreviated",Ne[Ne.Wide=2]="Wide",Ne[Ne.Short=3]="Short"}(o||(o={})),function(Ne){Ne[Ne.Short=0]="Short",Ne[Ne.Medium=1]="Medium",Ne[Ne.Long=2]="Long",Ne[Ne.Full=3]="Full"}(h||(h={})),function(Ne){Ne[Ne.Decimal=0]="Decimal",Ne[Ne.Group=1]="Group",Ne[Ne.List=2]="List",Ne[Ne.PercentSign=3]="PercentSign",Ne[Ne.PlusSign=4]="PlusSign",Ne[Ne.MinusSign=5]="MinusSign",Ne[Ne.Exponential=6]="Exponential",Ne[Ne.SuperscriptingExponent=7]="SuperscriptingExponent",Ne[Ne.PerMille=8]="PerMille",Ne[Ne.Infinity=9]="Infinity",Ne[Ne.NaN=10]="NaN",Ne[Ne.TimeSeparator=11]="TimeSeparator",Ne[Ne.CurrencyDecimal=12]="CurrencyDecimal",Ne[Ne.CurrencyGroup=13]="CurrencyGroup"}(d||(d={})),function(Ne){Ne[Ne.Sunday=0]="Sunday",Ne[Ne.Monday=1]="Monday",Ne[Ne.Tuesday=2]="Tuesday",Ne[Ne.Wednesday=3]="Wednesday",Ne[Ne.Thursday=4]="Thursday",Ne[Ne.Friday=5]="Friday",Ne[Ne.Saturday=6]="Saturday"}(y||(y={}));const ge=e.kL8;function et(Ne){if(!Ne[e.wAp.ExtraData])throw new Error(`Missing extra locale data for the locale "${Ne[e.wAp.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function ne(Ne,he){for(let st=he;st>-1;st--)if(typeof Ne[st]<"u")return Ne[st];throw new Error("Locale data API: locale data undefined")}function fe(Ne){const[he,st]=Ne.split(":");return{hours:+he,minutes:+st}}function ee(Ne,he,st="en"){const Ot=function Ie(Ne){return(0,e.cg1)(Ne)[e.wAp.Currencies]}(st)[Ne]||$[Ne]||[],Vt=Ot[1];return"narrow"===he&&"string"==typeof Vt?Vt:Ot[0]||Ne}const Oe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Re={},oe=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var pt,it,Ct;function un(Ne,he,st,Ot){let Vt=function Ce(Ne){if(Ut(Ne))return Ne;if("number"==typeof Ne&&!isNaN(Ne))return new Date(Ne);if("string"==typeof Ne){if(Ne=Ne.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(Ne)){const[Vt,fn=1,Un=1]=Ne.split("-").map(Xe=>+Xe);return Nt(Vt,fn-1,Un)}const st=parseFloat(Ne);if(!isNaN(Ne-st))return new Date(st);let Ot;if(Ot=Ne.match(Oe))return function Je(Ne){const he=new Date(0);let st=0,Ot=0;const Vt=Ne[8]?he.setUTCFullYear:he.setFullYear,fn=Ne[8]?he.setUTCHours:he.setHours;Ne[9]&&(st=Number(Ne[9]+Ne[10]),Ot=Number(Ne[9]+Ne[11])),Vt.call(he,Number(Ne[1]),Number(Ne[2])-1,Number(Ne[3]));const Un=Number(Ne[4]||0)-st,Xe=Number(Ne[5]||0)-Ot,rt=Number(Ne[6]||0),yt=Math.floor(1e3*parseFloat("0."+(Ne[7]||0)));return fn.call(he,Un,Xe,rt,yt),he}(Ot)}const he=new Date(Ne);if(!Ut(he))throw new Error(`Unable to convert "${Ne}" into a date`);return he}(Ne);he=zt(st,he)||he;let Xe,Un=[];for(;he;){if(Xe=oe.exec(he),!Xe){Un.push(he);break}{Un=Un.concat(Xe.slice(1));const Pt=Un.pop();if(!Pt)break;he=Pt}}let rt=Vt.getTimezoneOffset();Ot&&(rt=ct(Ot,rt),Vt=function Me(Ne,he,st){const Ot=st?-1:1,Vt=Ne.getTimezoneOffset(),fn=ct(he,Vt);return function Ue(Ne,he){return(Ne=new Date(Ne.getTime())).setMinutes(Ne.getMinutes()+he),Ne}(Ne,Ot*(fn-Vt))}(Vt,Ot,!0));let yt="";return Un.forEach(Pt=>{const Qe=function _t(Ne){if(ze[Ne])return ze[Ne];let he;switch(Ne){case"G":case"GG":case"GGG":he=tn(Ct.Eras,o.Abbreviated);break;case"GGGG":he=tn(Ct.Eras,o.Wide);break;case"GGGGG":he=tn(Ct.Eras,o.Narrow);break;case"y":he=In(it.FullYear,1,0,!1,!0);break;case"yy":he=In(it.FullYear,2,0,!0,!0);break;case"yyy":he=In(it.FullYear,3,0,!1,!0);break;case"yyyy":he=In(it.FullYear,4,0,!1,!0);break;case"Y":he=xe(1);break;case"YY":he=xe(2,!0);break;case"YYY":he=xe(3);break;case"YYYY":he=xe(4);break;case"M":case"L":he=In(it.Month,1,1);break;case"MM":case"LL":he=In(it.Month,2,1);break;case"MMM":he=tn(Ct.Months,o.Abbreviated);break;case"MMMM":he=tn(Ct.Months,o.Wide);break;case"MMMMM":he=tn(Ct.Months,o.Narrow);break;case"LLL":he=tn(Ct.Months,o.Abbreviated,n.Standalone);break;case"LLLL":he=tn(Ct.Months,o.Wide,n.Standalone);break;case"LLLLL":he=tn(Ct.Months,o.Narrow,n.Standalone);break;case"w":he=te(1);break;case"ww":he=te(2);break;case"W":he=te(1,!0);break;case"d":he=In(it.Date,1);break;case"dd":he=In(it.Date,2);break;case"c":case"cc":he=In(it.Day,1);break;case"ccc":he=tn(Ct.Days,o.Abbreviated,n.Standalone);break;case"cccc":he=tn(Ct.Days,o.Wide,n.Standalone);break;case"ccccc":he=tn(Ct.Days,o.Narrow,n.Standalone);break;case"cccccc":he=tn(Ct.Days,o.Short,n.Standalone);break;case"E":case"EE":case"EEE":he=tn(Ct.Days,o.Abbreviated);break;case"EEEE":he=tn(Ct.Days,o.Wide);break;case"EEEEE":he=tn(Ct.Days,o.Narrow);break;case"EEEEEE":he=tn(Ct.Days,o.Short);break;case"a":case"aa":case"aaa":he=tn(Ct.DayPeriods,o.Abbreviated);break;case"aaaa":he=tn(Ct.DayPeriods,o.Wide);break;case"aaaaa":he=tn(Ct.DayPeriods,o.Narrow);break;case"b":case"bb":case"bbb":he=tn(Ct.DayPeriods,o.Abbreviated,n.Standalone,!0);break;case"bbbb":he=tn(Ct.DayPeriods,o.Wide,n.Standalone,!0);break;case"bbbbb":he=tn(Ct.DayPeriods,o.Narrow,n.Standalone,!0);break;case"B":case"BB":case"BBB":he=tn(Ct.DayPeriods,o.Abbreviated,n.Format,!0);break;case"BBBB":he=tn(Ct.DayPeriods,o.Wide,n.Format,!0);break;case"BBBBB":he=tn(Ct.DayPeriods,o.Narrow,n.Format,!0);break;case"h":he=In(it.Hours,1,-12);break;case"hh":he=In(it.Hours,2,-12);break;case"H":he=In(it.Hours,1);break;case"HH":he=In(it.Hours,2);break;case"m":he=In(it.Minutes,1);break;case"mm":he=In(it.Minutes,2);break;case"s":he=In(it.Seconds,1);break;case"ss":he=In(it.Seconds,2);break;case"S":he=In(it.FractionalSeconds,1);break;case"SS":he=In(it.FractionalSeconds,2);break;case"SSS":he=In(it.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":he=nt(pt.Short);break;case"ZZZZZ":he=nt(pt.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":he=nt(pt.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":he=nt(pt.Long);break;default:return null}return ze[Ne]=he,he}(Pt);yt+=Qe?Qe(Vt,st,rt):"''"===Pt?"'":Pt.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),yt}function Nt(Ne,he,st){const Ot=new Date(0);return Ot.setFullYear(Ne,he,st),Ot.setHours(0,0,0),Ot}function zt(Ne,he){const st=function L(Ne){return(0,e.cg1)(Ne)[e.wAp.LocaleId]}(Ne);if(Re[st]=Re[st]||{},Re[st][he])return Re[st][he];let Ot="";switch(he){case"shortDate":Ot=J(Ne,h.Short);break;case"mediumDate":Ot=J(Ne,h.Medium);break;case"longDate":Ot=J(Ne,h.Long);break;case"fullDate":Ot=J(Ne,h.Full);break;case"shortTime":Ot=Fe(Ne,h.Short);break;case"mediumTime":Ot=Fe(Ne,h.Medium);break;case"longTime":Ot=Fe(Ne,h.Long);break;case"fullTime":Ot=Fe(Ne,h.Full);break;case"short":const Vt=zt(Ne,"shortTime"),fn=zt(Ne,"shortDate");Ot=yn(ke(Ne,h.Short),[Vt,fn]);break;case"medium":const Un=zt(Ne,"mediumTime"),Xe=zt(Ne,"mediumDate");Ot=yn(ke(Ne,h.Medium),[Un,Xe]);break;case"long":const rt=zt(Ne,"longTime"),yt=zt(Ne,"longDate");Ot=yn(ke(Ne,h.Long),[rt,yt]);break;case"full":const Pt=zt(Ne,"fullTime"),Qe=zt(Ne,"fullDate");Ot=yn(ke(Ne,h.Full),[Pt,Qe])}return Ot&&(Re[st][he]=Ot),Ot}function yn(Ne,he){return he&&(Ne=Ne.replace(/\{([^}]+)}/g,function(st,Ot){return null!=he&&Ot in he?he[Ot]:st})),Ne}function Jt(Ne,he,st="-",Ot,Vt){let fn="";(Ne<0||Vt&&Ne<=0)&&(Vt?Ne=1-Ne:(Ne=-Ne,fn=st));let Un=String(Ne);for(;Un.length0||Xe>-st)&&(Xe+=st),Ne===it.Hours)0===Xe&&-12===st&&(Xe=12);else if(Ne===it.FractionalSeconds)return function Gt(Ne,he){return Jt(Ne,3).substring(0,he)}(Xe,he);const rt=Ge(Un,d.MinusSign);return Jt(Xe,he,rt,Ot,Vt)}}function tn(Ne,he,st=n.Format,Ot=!1){return function(Vt,fn){return function pn(Ne,he,st,Ot,Vt,fn){switch(st){case Ct.Months:return function a(Ne,he,st){const Ot=(0,e.cg1)(Ne),fn=ne([Ot[e.wAp.MonthsFormat],Ot[e.wAp.MonthsStandalone]],he);return ne(fn,st)}(he,Vt,Ot)[Ne.getMonth()];case Ct.Days:return function v(Ne,he,st){const Ot=(0,e.cg1)(Ne),fn=ne([Ot[e.wAp.DaysFormat],Ot[e.wAp.DaysStandalone]],he);return ne(fn,st)}(he,Vt,Ot)[Ne.getDay()];case Ct.DayPeriods:const Un=Ne.getHours(),Xe=Ne.getMinutes();if(fn){const yt=function ut(Ne){const he=(0,e.cg1)(Ne);return et(he),(he[e.wAp.ExtraData][2]||[]).map(Ot=>"string"==typeof Ot?fe(Ot):[fe(Ot[0]),fe(Ot[1])])}(he),Pt=function Le(Ne,he,st){const Ot=(0,e.cg1)(Ne);et(Ot);const fn=ne([Ot[e.wAp.ExtraData][0],Ot[e.wAp.ExtraData][1]],he)||[];return ne(fn,st)||[]}(he,Vt,Ot),Qe=yt.findIndex(Qt=>{if(Array.isArray(Qt)){const[sn,qt]=Qt,An=Un>=sn.hours&&Xe>=sn.minutes,Sn=Un0?Math.floor(Vt/60):Math.ceil(Vt/60);switch(Ne){case pt.Short:return(Vt>=0?"+":"")+Jt(Un,2,fn)+Jt(Math.abs(Vt%60),2,fn);case pt.ShortGMT:return"GMT"+(Vt>=0?"+":"")+Jt(Un,1,fn);case pt.Long:return"GMT"+(Vt>=0?"+":"")+Jt(Un,2,fn)+":"+Jt(Math.abs(Vt%60),2,fn);case pt.Extended:return 0===Ot?"Z":(Vt>=0?"+":"")+Jt(Un,2,fn)+":"+Jt(Math.abs(Vt%60),2,fn);default:throw new Error(`Unknown zone width "${Ne}"`)}}}!function(Ne){Ne[Ne.Short=0]="Short",Ne[Ne.ShortGMT=1]="ShortGMT",Ne[Ne.Long=2]="Long",Ne[Ne.Extended=3]="Extended"}(pt||(pt={})),function(Ne){Ne[Ne.FullYear=0]="FullYear",Ne[Ne.Month=1]="Month",Ne[Ne.Date=2]="Date",Ne[Ne.Hours=3]="Hours",Ne[Ne.Minutes=4]="Minutes",Ne[Ne.Seconds=5]="Seconds",Ne[Ne.FractionalSeconds=6]="FractionalSeconds",Ne[Ne.Day=7]="Day"}(it||(it={})),function(Ne){Ne[Ne.DayPeriods=0]="DayPeriods",Ne[Ne.Days=1]="Days",Ne[Ne.Months=2]="Months",Ne[Ne.Eras=3]="Eras"}(Ct||(Ct={}));function Y(Ne){return Nt(Ne.getFullYear(),Ne.getMonth(),Ne.getDate()+(4-Ne.getDay()))}function te(Ne,he=!1){return function(st,Ot){let Vt;if(he){const fn=new Date(st.getFullYear(),st.getMonth(),1).getDay()-1,Un=st.getDate();Vt=1+Math.floor((Un+fn)/7)}else{const fn=Y(st),Un=function we(Ne){const he=Nt(Ne,0,1).getDay();return Nt(Ne,0,1+(he<=4?4:11)-he)}(fn.getFullYear()),Xe=fn.getTime()-Un.getTime();Vt=1+Math.round(Xe/6048e5)}return Jt(Vt,Ne,Ge(Ot,d.MinusSign))}}function xe(Ne,he=!1){return function(st,Ot){return Jt(Y(st).getFullYear(),Ne,Ge(Ot,d.MinusSign),he)}}const ze={};function ct(Ne,he){Ne=Ne.replace(/:/g,"");const st=Date.parse("Jan 01, 1970 00:00:00 "+Ne)/6e4;return isNaN(st)?he:st}function Ut(Ne){return Ne instanceof Date&&!isNaN(Ne.valueOf())}const Dt=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function zn(Ne,he,st,Ot,Vt,fn,Un=!1){let Xe="",rt=!1;if(isFinite(Ne)){let yt=function ht(Ne){let Ot,Vt,fn,Un,Xe,he=Math.abs(Ne)+"",st=0;for((Vt=he.indexOf("."))>-1&&(he=he.replace(".","")),(fn=he.search(/e/i))>0?(Vt<0&&(Vt=fn),Vt+=+he.slice(fn+1),he=he.substring(0,fn)):Vt<0&&(Vt=he.length),fn=0;"0"===he.charAt(fn);fn++);if(fn===(Xe=he.length))Ot=[0],Vt=1;else{for(Xe--;"0"===he.charAt(Xe);)Xe--;for(Vt-=fn,Ot=[],Un=0;fn<=Xe;fn++,Un++)Ot[Un]=Number(he.charAt(fn))}return Vt>22&&(Ot=Ot.splice(0,21),st=Vt-1,Vt=1),{digits:Ot,exponent:st,integerLen:Vt}}(Ne);Un&&(yt=function Be(Ne){if(0===Ne.digits[0])return Ne;const he=Ne.digits.length-Ne.integerLen;return Ne.exponent?Ne.exponent+=2:(0===he?Ne.digits.push(0,0):1===he&&Ne.digits.push(0),Ne.integerLen+=2),Ne}(yt));let Pt=he.minInt,Qe=he.minFrac,Qt=he.maxFrac;if(fn){const oi=fn.match(Dt);if(null===oi)throw new Error(`${fn} is not a valid digit info`);const xi=oi[1],Si=oi[3],ur=oi[5];null!=xi&&(Pt=Ae(xi)),null!=Si&&(Qe=Ae(Si)),null!=ur?Qt=Ae(ur):null!=Si&&Qe>Qt&&(Qt=Qe)}!function se(Ne,he,st){if(he>st)throw new Error(`The minimum number of digits after fraction (${he}) is higher than the maximum (${st}).`);let Ot=Ne.digits,Vt=Ot.length-Ne.integerLen;const fn=Math.min(Math.max(he,Vt),st);let Un=fn+Ne.integerLen,Xe=Ot[Un];if(Un>0){Ot.splice(Math.max(Ne.integerLen,Un));for(let Qe=Un;Qe=5)if(Un-1<0){for(let Qe=0;Qe>Un;Qe--)Ot.unshift(0),Ne.integerLen++;Ot.unshift(1),Ne.integerLen++}else Ot[Un-1]++;for(;Vt=yt?qt.pop():rt=!1),Qt>=10?1:0},0);Pt&&(Ot.unshift(Pt),Ne.integerLen++)}(yt,Qe,Qt);let sn=yt.digits,qt=yt.integerLen;const An=yt.exponent;let Sn=[];for(rt=sn.every(oi=>!oi);qt0?Sn=sn.splice(qt,sn.length):(Sn=sn,sn=[0]);const Jn=[];for(sn.length>=he.lgSize&&Jn.unshift(sn.splice(-he.lgSize,sn.length).join(""));sn.length>he.gSize;)Jn.unshift(sn.splice(-he.gSize,sn.length).join(""));sn.length&&Jn.unshift(sn.join("")),Xe=Jn.join(Ge(st,Ot)),Sn.length&&(Xe+=Ge(st,Vt)+Sn.join("")),An&&(Xe+=Ge(st,d.Exponential)+"+"+An)}else Xe=Ge(st,d.Infinity);return Xe=Ne<0&&!rt?he.negPre+Xe+he.negSuf:he.posPre+Xe+he.posSuf,Xe}function Tn(Ne,he,st,Ot,Vt){const Un=Ze(je(he,ue.Currency),Ge(he,d.MinusSign));return Un.minFrac=function q(Ne){let he;const st=$[Ne];return st&&(he=st[2]),"number"==typeof he?he:2}(Ot),Un.maxFrac=Un.minFrac,zn(Ne,Un,he,d.CurrencyGroup,d.CurrencyDecimal,Vt).replace("\xa4",st).replace("\xa4","").trim()}function Ze(Ne,he="-"){const st={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},Ot=Ne.split(";"),Vt=Ot[0],fn=Ot[1],Un=-1!==Vt.indexOf(".")?Vt.split("."):[Vt.substring(0,Vt.lastIndexOf("0")+1),Vt.substring(Vt.lastIndexOf("0")+1)],Xe=Un[0],rt=Un[1]||"";st.posPre=Xe.substring(0,Xe.indexOf("#"));for(let Pt=0;Pt-1||(Vt=st.getPluralCategory(Ne,Ot),he.indexOf(Vt)>-1))return Vt;if(he.indexOf("other")>-1)return"other";throw new Error(`No plural message found for value "${Ne}"`)}ft.\u0275fac=function(he){return new(he||ft)},ft.\u0275prov=e.Yz7({token:ft,factory:function(he){let st=null;return he?st=new he:(Ot=e.LFG(e.soG),st=new nn(Ot)),st;var Ot},providedIn:"root"});class nn extends ft{constructor(he){super(),this.locale=he}getPluralCategory(he,st){switch(ge(st||this.locale)(he)){case w.Zero:return"zero";case w.One:return"one";case w.Two:return"two";case w.Few:return"few";case w.Many:return"many";default:return"other"}}}function Wn(Ne,he){he=encodeURIComponent(he);for(const st of Ne.split(";")){const Ot=st.indexOf("="),[Vt,fn]=-1==Ot?[st,""]:[st.slice(0,Ot),st.slice(Ot+1)];if(Vt.trim()===he)return decodeURIComponent(fn)}return null}nn.\u0275fac=function(he){return new(he||nn)(e.LFG(e.soG))},nn.\u0275prov=e.Yz7({token:nn,factory:nn.\u0275fac});class ti{constructor(he,st,Ot,Vt){this._iterableDiffers=he,this._keyValueDiffers=st,this._ngEl=Ot,this._renderer=Vt,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(he){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof he?he.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(he){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof he?he.split(/\s+/):he,this._rawClass&&((0,e.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const he=this._iterableDiffer.diff(this._rawClass);he&&this._applyIterableChanges(he)}else if(this._keyValueDiffer){const he=this._keyValueDiffer.diff(this._rawClass);he&&this._applyKeyValueChanges(he)}}_applyKeyValueChanges(he){he.forEachAddedItem(st=>this._toggleClass(st.key,st.currentValue)),he.forEachChangedItem(st=>this._toggleClass(st.key,st.currentValue)),he.forEachRemovedItem(st=>{st.previousValue&&this._toggleClass(st.key,!1)})}_applyIterableChanges(he){he.forEachAddedItem(st=>{if("string"!=typeof st.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,e.AaK)(st.item)}`);this._toggleClass(st.item,!0)}),he.forEachRemovedItem(st=>this._toggleClass(st.item,!1))}_applyClasses(he){he&&(Array.isArray(he)||he instanceof Set?he.forEach(st=>this._toggleClass(st,!0)):Object.keys(he).forEach(st=>this._toggleClass(st,!!he[st])))}_removeClasses(he){he&&(Array.isArray(he)||he instanceof Set?he.forEach(st=>this._toggleClass(st,!1)):Object.keys(he).forEach(st=>this._toggleClass(st,!1)))}_toggleClass(he,st){(he=he.trim())&&he.split(/\s+/g).forEach(Ot=>{st?this._renderer.addClass(this._ngEl.nativeElement,Ot):this._renderer.removeClass(this._ngEl.nativeElement,Ot)})}}ti.\u0275fac=function(he){return new(he||ti)(e.Y36(e.ZZ4),e.Y36(e.aQg),e.Y36(e.SBq),e.Y36(e.Qsj))},ti.\u0275dir=e.lG2({type:ti,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0});class Mn{constructor(he){this._viewContainerRef=he,this.ngComponentOutlet=null}ngOnChanges(he){const{_viewContainerRef:st,ngComponentOutletNgModule:Ot,ngComponentOutletNgModuleFactory:Vt}=this;if(st.clear(),this._componentRef=void 0,this.ngComponentOutlet){const fn=this.ngComponentOutletInjector||st.parentInjector;(he.ngComponentOutletNgModule||he.ngComponentOutletNgModuleFactory)&&(this._moduleRef&&this._moduleRef.destroy(),this._moduleRef=Ot?(0,e.Lck)(Ot,Ln(fn)):Vt?Vt.create(Ln(fn)):void 0),this._componentRef=st.createComponent(this.ngComponentOutlet,{index:st.length,injector:fn,ngModuleRef:this._moduleRef,projectableNodes:this.ngComponentOutletContent})}}ngOnDestroy(){this._moduleRef&&this._moduleRef.destroy()}}function Ln(Ne){return Ne.get(e.h0i).injector}Mn.\u0275fac=function(he){return new(he||Mn)(e.Y36(e.s_b))},Mn.\u0275dir=e.lG2({type:Mn,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModule:"ngComponentOutletNgModule",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},standalone:!0,features:[e.TTD]});class rn{constructor(he,st,Ot,Vt){this.$implicit=he,this.ngForOf=st,this.index=Ot,this.count=Vt}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class hn{constructor(he,st,Ot){this._viewContainer=he,this._template=st,this._differs=Ot,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(he){this._ngForOf=he,this._ngForOfDirty=!0}set ngForTrackBy(he){this._trackByFn=he}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(he){he&&(this._template=he)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const he=this._ngForOf;!this._differ&&he&&(this._differ=this._differs.find(he).create(this.ngForTrackBy))}if(this._differ){const he=this._differ.diff(this._ngForOf);he&&this._applyChanges(he)}}_applyChanges(he){const st=this._viewContainer;he.forEachOperation((Ot,Vt,fn)=>{if(null==Ot.previousIndex)st.createEmbeddedView(this._template,new rn(Ot.item,this._ngForOf,-1,-1),null===fn?void 0:fn);else if(null==fn)st.remove(null===Vt?void 0:Vt);else if(null!==Vt){const Un=st.get(Vt);st.move(Un,fn),en(Un,Ot)}});for(let Ot=0,Vt=st.length;Ot{en(st.get(Ot.currentIndex),Ot)})}static ngTemplateContextGuard(he,st){return!0}}function en(Ne,he){Ne.context.$implicit=he.item}hn.\u0275fac=function(he){return new(he||hn)(e.Y36(e.s_b),e.Y36(e.Rgc),e.Y36(e.ZZ4))},hn.\u0275dir=e.lG2({type:hn,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0});class Qn{constructor(he,st){this._viewContainer=he,this._context=new Ei,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=st}set ngIf(he){this._context.$implicit=this._context.ngIf=he,this._updateView()}set ngIfThen(he){ha("ngIfThen",he),this._thenTemplateRef=he,this._thenViewRef=null,this._updateView()}set ngIfElse(he){ha("ngIfElse",he),this._elseTemplateRef=he,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(he,st){return!0}}Qn.\u0275fac=function(he){return new(he||Qn)(e.Y36(e.s_b),e.Y36(e.Rgc))},Qn.\u0275dir=e.lG2({type:Qn,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0});class Ei{constructor(){this.$implicit=null,this.ngIf=null}}function ha(Ne,he){if(he&&!he.createEmbeddedView)throw new Error(`${Ne} must be a TemplateRef, but received '${(0,e.AaK)(he)}'.`)}class mi{constructor(he,st){this._viewContainerRef=he,this._templateRef=st,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(he){he&&!this._created?this.create():!he&&this._created&&this.destroy()}}class qi{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(he){this._ngSwitch=he,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(he){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(he)}_matchCase(he){const st=he==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||st,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),st}_updateDefaultCases(he){if(this._defaultViews&&he!==this._defaultUsed){this._defaultUsed=he;for(let st=0;stthis._setStyle(st.key,null)),he.forEachAddedItem(st=>this._setStyle(st.key,st.currentValue)),he.forEachChangedItem(st=>this._setStyle(st.key,st.currentValue))}}ln.\u0275fac=function(he){return new(he||ln)(e.Y36(e.SBq),e.Y36(e.aQg),e.Y36(e.Qsj))},ln.\u0275dir=e.lG2({type:ln,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0});class En{constructor(he){this._viewContainerRef=he,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(he){if(he.ngTemplateOutlet||he.ngTemplateOutletInjector){const st=this._viewContainerRef;if(this._viewRef&&st.remove(st.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:Ot,ngTemplateOutletContext:Vt,ngTemplateOutletInjector:fn}=this;this._viewRef=st.createEmbeddedView(Ot,Vt,fn?{injector:fn}:void 0)}else this._viewRef=null}else this._viewRef&&he.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}En.\u0275fac=function(he){return new(he||En)(e.Y36(e.s_b))},En.\u0275dir=e.lG2({type:En,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[e.TTD]});function Nn(Ne,he){return new e.vHH(2100,!1)}const Ii=new class aa{createSubscription(he,st){return he.then(st,Ot=>{throw Ot})}dispose(he){}},ea=new class li{createSubscription(he,st){return he.subscribe({next:st,error:Ot=>{throw Ot}})}dispose(he){he.unsubscribe()}};class Di{constructor(he){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=he}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(he){return this._obj?he!==this._obj?(this._dispose(),this.transform(he)):this._latestValue:(he&&this._subscribe(he),this._latestValue)}_subscribe(he){this._obj=he,this._strategy=this._selectStrategy(he),this._subscription=this._strategy.createSubscription(he,st=>this._updateLatestValue(he,st))}_selectStrategy(he){if((0,e.QGY)(he))return Ii;if((0,e.F4k)(he))return ea;throw Nn()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(he,st){he===this._obj&&(this._latestValue=st,this._ref.markForCheck())}}Di.\u0275fac=function(he){return new(he||Di)(e.Y36(e.sBO,16))},Di.\u0275pipe=e.Yjl({name:"async",type:Di,pure:!1,standalone:!0});class Ji{transform(he){if(null==he)return null;if("string"!=typeof he)throw Nn();return he.toLowerCase()}}Ji.\u0275fac=function(he){return new(he||Ji)},Ji.\u0275pipe=e.Yjl({name:"lowercase",type:Ji,pure:!0,standalone:!0});const ka=/(?:[0-9A-Za-z\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\u0560-\u0588\u05D0-\u05EA\u05EF-\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\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\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\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\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\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\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\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\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-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\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\u2183\u2184\u2C00-\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\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\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-\uAB69\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\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\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-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\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\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\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]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\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-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g;class Yi{transform(he){if(null==he)return null;if("string"!=typeof he)throw Nn();return he.replace(ka,st=>st[0].toUpperCase()+st.slice(1).toLowerCase())}}Yi.\u0275fac=function(he){return new(he||Yi)},Yi.\u0275pipe=e.Yjl({name:"titlecase",type:Yi,pure:!0,standalone:!0});class Ha{transform(he){if(null==he)return null;if("string"!=typeof he)throw Nn();return he.toUpperCase()}}Ha.\u0275fac=function(he){return new(he||Ha)},Ha.\u0275pipe=e.Yjl({name:"uppercase",type:Ha,pure:!0,standalone:!0});const La=new e.OlP("DATE_PIPE_DEFAULT_TIMEZONE"),gr=new e.OlP("DATE_PIPE_DEFAULT_OPTIONS");class Sa{constructor(he,st,Ot){this.locale=he,this.defaultTimezone=st,this.defaultOptions=Ot}transform(he,st,Ot,Vt){if(null==he||""===he||he!=he)return null;try{const fn=st??this.defaultOptions?.dateFormat??"mediumDate",Un=Ot??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return un(he,fn,Vt||this.locale,Un)}catch(fn){throw Nn(0,fn.message)}}}Sa.\u0275fac=function(he){return new(he||Sa)(e.Y36(e.soG,16),e.Y36(La,24),e.Y36(gr,24))},Sa.\u0275pipe=e.Yjl({name:"date",type:Sa,pure:!0,standalone:!0});const fa=/#/g;class Ki{constructor(he){this._localization=he}transform(he,st,Ot){if(null==he)return"";if("object"!=typeof st||null===st)throw Nn();return st[Lt(he,Object.keys(st),this._localization,Ot)].replace(fa,he.toString())}}Ki.\u0275fac=function(he){return new(he||Ki)(e.Y36(ft,16))},Ki.\u0275pipe=e.Yjl({name:"i18nPlural",type:Ki,pure:!0,standalone:!0});class xa{transform(he,st){if(null==he)return"";if("object"!=typeof st||"string"!=typeof he)throw Nn();return st.hasOwnProperty(he)?st[he]:st.hasOwnProperty("other")?st.other:""}}xa.\u0275fac=function(he){return new(he||xa)},xa.\u0275pipe=e.Yjl({name:"i18nSelect",type:xa,pure:!0,standalone:!0});class ra{transform(he){return JSON.stringify(he,null,2)}}ra.\u0275fac=function(he){return new(he||ra)},ra.\u0275pipe=e.Yjl({name:"json",type:ra,pure:!1,standalone:!0});class za{constructor(he){this.differs=he,this.keyValues=[],this.compareFn=js}transform(he,st=js){if(!he||!(he instanceof Map)&&"object"!=typeof he)return null;this.differ||(this.differ=this.differs.find(he).create());const Ot=this.differ.diff(he),Vt=st!==this.compareFn;return Ot&&(this.keyValues=[],Ot.forEachItem(fn=>{this.keyValues.push(function fo(Ne,he){return{key:Ne,value:he}}(fn.key,fn.currentValue))})),(Ot||Vt)&&(this.keyValues.sort(st),this.compareFn=st),this.keyValues}}function js(Ne,he){const st=Ne.key,Ot=he.key;if(st===Ot)return 0;if(void 0===st)return 1;if(void 0===Ot)return-1;if(null===st)return 1;if(null===Ot)return-1;if("string"==typeof st&&"string"==typeof Ot)return stnew Ss((0,e.LFG)(u),window)});class Ss{constructor(he,st){this.document=he,this.window=st,this.offset=()=>[0,0]}setOffset(he){Array.isArray(he)?this.offset=()=>he:this.offset=he}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(he){this.supportsScrolling()&&this.window.scrollTo(he[0],he[1])}scrollToAnchor(he){if(!this.supportsScrolling())return;const st=function Os(Ne,he){const st=Ne.getElementById(he)||Ne.getElementsByName(he)[0];if(st)return st;if("function"==typeof Ne.createTreeWalker&&Ne.body&&(Ne.body.createShadowRoot||Ne.body.attachShadow)){const Ot=Ne.createTreeWalker(Ne.body,NodeFilter.SHOW_ELEMENT);let Vt=Ot.currentNode;for(;Vt;){const fn=Vt.shadowRoot;if(fn){const Un=fn.getElementById(he)||fn.querySelector(`[name="${he}"]`);if(Un)return Un}Vt=Ot.nextNode()}}return null}(this.document,he);st&&(this.scrollToElement(st),st.focus())}setHistoryScrollRestoration(he){if(this.supportScrollRestoration()){const st=this.window.history;st&&st.scrollRestoration&&(st.scrollRestoration=he)}}scrollToElement(he){const st=he.getBoundingClientRect(),Ot=st.left+this.window.pageXOffset,Vt=st.top+this.window.pageYOffset,fn=this.offset();this.window.scrollTo(Ot-fn[0],Vt-fn[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const he=Ja(this.window.history)||Ja(Object.getPrototypeOf(this.window.history));return!(!he||!he.writable&&!he.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function Ja(Ne){return Object.getOwnPropertyDescriptor(Ne,"scrollRestoration")}class yr{}function sa(Ne,he){return ir(Ne)?new URL(Ne):new URL(Ne,he.location.href)}function ir(Ne){return/^https?:\/\//.test(Ne)}function br(Ne){return ir(Ne)?new URL(Ne).hostname:Ne}function Va(Ne){return Ne.startsWith("/")?Ne.slice(1):Ne}const dn=Ne=>Ne.src,xt=new e.OlP("ImageLoader",{providedIn:"root",factory:()=>dn});function Bt(Ne,he){return function(Ot){return function as(Ne){if("string"!=typeof Ne||""===Ne.trim())return!1;try{return new URL(Ne),!0}catch{return!1}}(Ot)||function Fn(Ne,he){throw new e.vHH(2959,!1)}(),Ot=function kr(Ne){return Ne.endsWith("/")?Ne.slice(0,-1):Ne}(Ot),[{provide:xt,useValue:Un=>(ir(Un.src)&&function ri(Ne,he){throw new e.vHH(2959,!1)}(0,Un.src),Ne(Ot,{...Un,src:Va(Un.src)}))}]}}Bt(function Xi(Ne,he){let st="format=auto";return he.width&&(st+=`,width=${he.width}`),`${Ne}/cdn-cgi/image/${st}/${he.src}`});Bt(function Rr(Ne,he){let st="f_auto,q_auto";return he.width&&(st+=`,w_${he.width}`),`${Ne}/image/upload/${st}/${he.src}`});Bt(function Ps(Ne,he){let st="tr:q-auto";return he.width&&(st+=`,w-${he.width}`),`${Ne}/${st}/${he.src}`});Bt(function Pn(Ne,he){const st=new URL(`${Ne}/${he.src}`);return st.searchParams.set("auto","format"),he.width&&st.searchParams.set("w",he.width.toString()),st.href});function Ti(Ne,he=!0){return`The NgOptimizedImage directive ${he?`(activated on an element with the \`ngSrc="${Ne}"\`) `:""}has detected that`}function rr(Ne){throw new e.vHH(2958,`Unexpected invocation of the ${Ne} in the prod mode. Please make sure that the prod mode is enabled for production builds.`)}class gs{constructor(){this.images=new Map,this.alreadyWarned=new Set,this.window=null,this.observer=null,rr("LCP checker");const he=(0,e.f3M)(u).defaultView;typeof he<"u"&&typeof PerformanceObserver<"u"&&(this.window=he,this.observer=this.initPerformanceObserver())}initPerformanceObserver(){const he=new PerformanceObserver(st=>{const Ot=st.getEntries();if(0===Ot.length)return;const fn=Ot[Ot.length-1].element?.src??"";fn.startsWith("data:")||fn.startsWith("blob:")||this.images.get(fn)&&!this.alreadyWarned.has(fn)&&(this.alreadyWarned.add(fn),function Oo(Ne){const he=Ti(Ne);console.warn((0,e.kuF)(2955,`${he} this image is the Largest Contentful Paint (LCP) element but was not marked "priority". This image should be marked "priority" in order to prioritize its loading. To fix this, add the "priority" attribute.`))}(fn))});return he.observe({type:"largest-contentful-paint",buffered:!0}),he}registerImage(he,st){!this.observer||this.images.set(sa(he,this.window).href,st)}unregisterImage(he){!this.observer||this.images.delete(sa(he,this.window).href)}ngOnDestroy(){!this.observer||(this.observer.disconnect(),this.images.clear(),this.alreadyWarned.clear())}}gs.\u0275fac=function(he){return new(he||gs)},gs.\u0275prov=e.Yz7({token:gs,factory:gs.\u0275fac,providedIn:"root"});const $s=new Set(["localhost","127.0.0.1","0.0.0.0"]),kl=new e.OlP("PRECONNECT_CHECK_BLOCKLIST");class po{constructor(){this.document=(0,e.f3M)(u),this.preconnectLinks=null,this.alreadySeen=new Set,this.window=null,this.blocklist=new Set($s),rr("preconnect link checker");const he=this.document.defaultView;typeof he<"u"&&(this.window=he);const st=(0,e.f3M)(kl,{optional:!0});st&&this.populateBlocklist(st)}populateBlocklist(he){Array.isArray(he)?kn(he,st=>{this.blocklist.add(br(st))}):this.blocklist.add(br(he))}assertPreconnect(he,st){if(!this.window)return;const Ot=sa(he,this.window);this.blocklist.has(Ot.hostname)||this.alreadySeen.has(Ot.origin)||(this.alreadySeen.add(Ot.origin),this.preconnectLinks||(this.preconnectLinks=this.queryPreconnectLinks()),this.preconnectLinks.has(Ot.origin)||console.warn((0,e.kuF)(2956,`${Ti(st)} there is no preconnect tag present for this image. Preconnecting to the origin(s) that serve priority images ensures that these images are delivered as soon as possible. To fix this, please add the following element into the of the document:\n `)))}queryPreconnectLinks(){const he=new Set,Ot=Array.from(this.document.querySelectorAll("link[rel=preconnect]"));for(let Vt of Ot){const fn=sa(Vt.href,this.window);he.add(fn.origin)}return he}ngOnDestroy(){this.preconnectLinks?.clear(),this.alreadySeen.clear()}}function kn(Ne,he){for(let st of Ne)Array.isArray(st)?kn(st,he):he(st)}po.\u0275fac=function(he){return new(he||po)},po.\u0275prov=e.Yz7({token:po,factory:po.\u0275fac,providedIn:"root"});const eo=new e.OlP("NG_OPTIMIZED_PRELOADED_IMAGES",{providedIn:"root",factory:()=>new Set});class sr{constructor(){this.preloadedImages=(0,e.f3M)(eo),this.document=(0,e.f3M)(u)}createPreloadLinkTag(he,st,Ot,Vt){if(this.preloadedImages.has(st))return;this.preloadedImages.add(st);const fn=he.createElement("link");he.setAttribute(fn,"as","image"),he.setAttribute(fn,"href",st),he.setAttribute(fn,"rel","preload"),he.setAttribute(fn,"fetchpriority","high"),Vt&&he.setAttribute(fn,"imageSizes",Vt),Ot&&he.setAttribute(fn,"imageSrcset",Ot),he.appendChild(this.document.head,fn)}}sr.\u0275fac=function(he){return new(he||sr)},sr.\u0275prov=e.Yz7({token:sr,factory:sr.\u0275fac,providedIn:"root"});const Br=/^((\s*\d+w\s*(,|$)){1,})$/,Hn=[1,2],Wa={breakpoints:[16,32,48,64,96,128,256,384,640,750,828,1080,1200,1920,2048,3840]},ss=new e.OlP("ImageConfig",{providedIn:"root",factory:()=>Wa});class zs{constructor(){this.imageLoader=(0,e.f3M)(xt),this.config=function Po(Ne){let he={};return Ne.breakpoints&&(he.breakpoints=Ne.breakpoints.sort((st,Ot)=>st-Ot)),Object.assign({},Wa,Ne,he)}((0,e.f3M)(ss)),this.renderer=(0,e.f3M)(e.Qsj),this.imgElement=(0,e.f3M)(e.SBq).nativeElement,this.injector=(0,e.f3M)(e.zs3),this.isServer=Pr((0,e.f3M)(e.Lbi)),this.preloadLinkChecker=(0,e.f3M)(sr),this.lcpObserver=null,this._renderedSrc=null,this._priority=!1,this._disableOptimizedSrcset=!1,this._fill=!1}set width(he){this._width=to(he)}get width(){return this._width}set height(he){this._height=to(he)}get height(){return this._height}set priority(he){this._priority=Yr(he)}get priority(){return this._priority}set disableOptimizedSrcset(he){this._disableOptimizedSrcset=Yr(he)}get disableOptimizedSrcset(){return this._disableOptimizedSrcset}set fill(he){this._fill=Yr(he)}get fill(){return this._fill}ngOnInit(){this.setHostAttributes()}setHostAttributes(){this.fill?this.sizes||(this.sizes="100vw"):(this.setHostAttribute("width",this.width.toString()),this.setHostAttribute("height",this.height.toString())),this.setHostAttribute("loading",this.getLoadingBehavior()),this.setHostAttribute("fetchpriority",this.getFetchPriority());const he=this.getRewrittenSrc();let st;this.setHostAttribute("src",he),this.sizes&&this.setHostAttribute("sizes",this.sizes),this.ngSrcset?st=this.getRewrittenSrcset():!this._disableOptimizedSrcset&&!this.srcset&&this.imageLoader!==dn&&(st=this.getAutomaticSrcset()),st&&this.setHostAttribute("srcset",st),this.isServer&&this.priority&&this.preloadLinkChecker.createPreloadLinkTag(this.renderer,he,st,this.sizes)}ngOnChanges(he){}getLoadingBehavior(){return this.priority||void 0===this.loading?this.priority?"eager":"lazy":this.loading}getFetchPriority(){return this.priority?"high":"auto"}getRewrittenSrc(){if(!this._renderedSrc){const he={src:this.ngSrc};this._renderedSrc=this.imageLoader(he)}return this._renderedSrc}getRewrittenSrcset(){const he=Br.test(this.ngSrcset);return this.ngSrcset.split(",").filter(Ot=>""!==Ot).map(Ot=>{Ot=Ot.trim();const Vt=he?parseFloat(Ot):parseFloat(Ot)*this.width;return`${this.imageLoader({src:this.ngSrc,width:Vt})} ${Ot}`}).join(", ")}getAutomaticSrcset(){return this.sizes?this.getResponsiveSrcset():this.getFixedSrcset()}getResponsiveSrcset(){const{breakpoints:he}=this.config;let st=he;return"100vw"===this.sizes?.trim()&&(st=he.filter(Vt=>Vt>=640)),st.map(Vt=>`${this.imageLoader({src:this.ngSrc,width:Vt})} ${Vt}w`).join(", ")}getFixedSrcset(){return Hn.map(st=>`${this.imageLoader({src:this.ngSrc,width:this.width*st})} ${st}x`).join(", ")}ngOnDestroy(){}setHostAttribute(he,st){this.renderer.setAttribute(this.imgElement,he,st)}}function to(Ne){return"string"==typeof Ne?parseInt(Ne,10):Ne}function Yr(Ne){return null!=Ne&&"false"!=`${Ne}`}zs.\u0275fac=function(he){return new(he||zs)},zs.\u0275dir=e.lG2({type:zs,selectors:[["img","ngSrc",""]],hostVars:8,hostBindings:function(he,st){2&he&&e.Udp("position",st.fill?"absolute":null)("width",st.fill?"100%":null)("height",st.fill?"100%":null)("inset",st.fill?"0px":null)},inputs:{ngSrc:"ngSrc",ngSrcset:"ngSrcset",sizes:"sizes",width:"width",height:"height",loading:"loading",priority:"priority",disableOptimizedSrcset:"disableOptimizedSrcset",fill:"fill",src:"src",srcset:"srcset"},standalone:!0,features:[e.TTD]})},8987:(Ve,X,m)=>{"use strict";m.d(X,{JF:()=>nt,LE:()=>j,TP:()=>C,eN:()=>L});var e=m(4666),t=m(2560),_=m(745),E=m(833),s=m(3853),D=m(116),u=m(635);class k{}class p{}class S{constructor(Y){this.normalizedNames=new Map,this.lazyUpdate=null,Y?this.lazyInit="string"==typeof Y?()=>{this.headers=new Map,Y.split("\n").forEach(te=>{const xe=te.indexOf(":");if(xe>0){const ze=te.slice(0,xe),_t=ze.toLowerCase(),ct=te.slice(xe+1).trim();this.maybeSetNormalizedName(ze,_t),this.headers.has(_t)?this.headers.get(_t).push(ct):this.headers.set(_t,[ct])}})}:()=>{this.headers=new Map,Object.keys(Y).forEach(te=>{let xe=Y[te];const ze=te.toLowerCase();"string"==typeof xe&&(xe=[xe]),xe.length>0&&(this.headers.set(ze,xe),this.maybeSetNormalizedName(te,ze))})}:this.headers=new Map}has(Y){return this.init(),this.headers.has(Y.toLowerCase())}get(Y){this.init();const te=this.headers.get(Y.toLowerCase());return te&&te.length>0?te[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(Y){return this.init(),this.headers.get(Y.toLowerCase())||null}append(Y,te){return this.clone({name:Y,value:te,op:"a"})}set(Y,te){return this.clone({name:Y,value:te,op:"s"})}delete(Y,te){return this.clone({name:Y,value:te,op:"d"})}maybeSetNormalizedName(Y,te){this.normalizedNames.has(te)||this.normalizedNames.set(te,Y)}init(){this.lazyInit&&(this.lazyInit instanceof S?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(Y=>this.applyUpdate(Y)),this.lazyUpdate=null))}copyFrom(Y){Y.init(),Array.from(Y.headers.keys()).forEach(te=>{this.headers.set(te,Y.headers.get(te)),this.normalizedNames.set(te,Y.normalizedNames.get(te))})}clone(Y){const te=new S;return te.lazyInit=this.lazyInit&&this.lazyInit instanceof S?this.lazyInit:this,te.lazyUpdate=(this.lazyUpdate||[]).concat([Y]),te}applyUpdate(Y){const te=Y.name.toLowerCase();switch(Y.op){case"a":case"s":let xe=Y.value;if("string"==typeof xe&&(xe=[xe]),0===xe.length)return;this.maybeSetNormalizedName(Y.name,te);const ze=("a"===Y.op?this.headers.get(te):void 0)||[];ze.push(...xe),this.headers.set(te,ze);break;case"d":const _t=Y.value;if(_t){let ct=this.headers.get(te);if(!ct)return;ct=ct.filter(Ue=>-1===_t.indexOf(Ue)),0===ct.length?(this.headers.delete(te),this.normalizedNames.delete(te)):this.headers.set(te,ct)}else this.headers.delete(te),this.normalizedNames.delete(te)}}forEach(Y){this.init(),Array.from(this.normalizedNames.keys()).forEach(te=>Y(this.normalizedNames.get(te),this.headers.get(te)))}}class P{encodeKey(Y){return W(Y)}encodeValue(Y){return W(Y)}decodeKey(Y){return decodeURIComponent(Y)}decodeValue(Y){return decodeURIComponent(Y)}}const z=/%(\d[a-f0-9])/gi,I={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function W(we){return encodeURIComponent(we).replace(z,(Y,te)=>I[te]??Y)}function Z(we){return`${we}`}class j{constructor(Y={}){if(this.updates=null,this.cloneFrom=null,this.encoder=Y.encoder||new P,Y.fromString){if(Y.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function M(we,Y){const te=new Map;return we.length>0&&we.replace(/^\?/,"").split("&").forEach(ze=>{const _t=ze.indexOf("="),[ct,Ue]=-1==_t?[Y.decodeKey(ze),""]:[Y.decodeKey(ze.slice(0,_t)),Y.decodeValue(ze.slice(_t+1))],Me=te.get(ct)||[];Me.push(Ue),te.set(ct,Me)}),te}(Y.fromString,this.encoder)}else Y.fromObject?(this.map=new Map,Object.keys(Y.fromObject).forEach(te=>{const xe=Y.fromObject[te],ze=Array.isArray(xe)?xe.map(Z):[Z(xe)];this.map.set(te,ze)})):this.map=null}has(Y){return this.init(),this.map.has(Y)}get(Y){this.init();const te=this.map.get(Y);return te?te[0]:null}getAll(Y){return this.init(),this.map.get(Y)||null}keys(){return this.init(),Array.from(this.map.keys())}append(Y,te){return this.clone({param:Y,value:te,op:"a"})}appendAll(Y){const te=[];return Object.keys(Y).forEach(xe=>{const ze=Y[xe];Array.isArray(ze)?ze.forEach(_t=>{te.push({param:xe,value:_t,op:"a"})}):te.push({param:xe,value:ze,op:"a"})}),this.clone(te)}set(Y,te){return this.clone({param:Y,value:te,op:"s"})}delete(Y,te){return this.clone({param:Y,value:te,op:"d"})}toString(){return this.init(),this.keys().map(Y=>{const te=this.encoder.encodeKey(Y);return this.map.get(Y).map(xe=>te+"="+this.encoder.encodeValue(xe)).join("&")}).filter(Y=>""!==Y).join("&")}clone(Y){const te=new j({encoder:this.encoder});return te.cloneFrom=this.cloneFrom||this,te.updates=(this.updates||[]).concat(Y),te}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(Y=>this.map.set(Y,this.cloneFrom.map.get(Y))),this.updates.forEach(Y=>{switch(Y.op){case"a":case"s":const te=("a"===Y.op?this.map.get(Y.param):void 0)||[];te.push(Z(Y.value)),this.map.set(Y.param,te);break;case"d":if(void 0===Y.value){this.map.delete(Y.param);break}{let xe=this.map.get(Y.param)||[];const ze=xe.indexOf(Z(Y.value));-1!==ze&&xe.splice(ze,1),xe.length>0?this.map.set(Y.param,xe):this.map.delete(Y.param)}}}),this.cloneFrom=this.updates=null)}}class re{constructor(){this.map=new Map}set(Y,te){return this.map.set(Y,te),this}get(Y){return this.map.has(Y)||this.map.set(Y,Y.defaultValue()),this.map.get(Y)}delete(Y){return this.map.delete(Y),this}has(Y){return this.map.has(Y)}keys(){return this.map.keys()}}function le(we){return typeof ArrayBuffer<"u"&&we instanceof ArrayBuffer}function ve(we){return typeof Blob<"u"&&we instanceof Blob}function de(we){return typeof FormData<"u"&&we instanceof FormData}class ue{constructor(Y,te,xe,ze){let _t;if(this.url=te,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=Y.toUpperCase(),function pe(we){switch(we){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||ze?(this.body=void 0!==xe?xe:null,_t=ze):_t=xe,_t&&(this.reportProgress=!!_t.reportProgress,this.withCredentials=!!_t.withCredentials,_t.responseType&&(this.responseType=_t.responseType),_t.headers&&(this.headers=_t.headers),_t.context&&(this.context=_t.context),_t.params&&(this.params=_t.params)),this.headers||(this.headers=new S),this.context||(this.context=new re),this.params){const ct=this.params.toString();if(0===ct.length)this.urlWithParams=te;else{const Ue=te.indexOf("?"),Me=-1===Ue?"?":UeUt.set(Dt,Y.setHeaders[Dt]),Me)),Y.setParams&&(Ce=Object.keys(Y.setParams).reduce((Ut,Dt)=>Ut.set(Dt,Y.setParams[Dt]),Ce)),new ue(te,xe,_t,{params:Ce,headers:Me,context:Je,reportProgress:Ue,responseType:ze,withCredentials:ct})}}var w,we;(we=w||(w={}))[we.Sent=0]="Sent",we[we.UploadProgress=1]="UploadProgress",we[we.ResponseHeader=2]="ResponseHeader",we[we.DownloadProgress=3]="DownloadProgress",we[we.Response=4]="Response",we[we.User=5]="User";class n{constructor(Y,te=200,xe="OK"){this.headers=Y.headers||new S,this.status=void 0!==Y.status?Y.status:te,this.statusText=Y.statusText||xe,this.url=Y.url||null,this.ok=this.status>=200&&this.status<300}}class o extends n{constructor(Y={}){super(Y),this.type=w.ResponseHeader}clone(Y={}){return new o({headers:Y.headers||this.headers,status:void 0!==Y.status?Y.status:this.status,statusText:Y.statusText||this.statusText,url:Y.url||this.url||void 0})}}class h extends n{constructor(Y={}){super(Y),this.type=w.Response,this.body=void 0!==Y.body?Y.body:null}clone(Y={}){return new h({body:void 0!==Y.body?Y.body:this.body,headers:Y.headers||this.headers,status:void 0!==Y.status?Y.status:this.status,statusText:Y.statusText||this.statusText,url:Y.url||this.url||void 0})}}class d extends n{constructor(Y){super(Y,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${Y.url||"(unknown url)"}`:this.message=`Http failure response for ${Y.url||"(unknown url)"}: ${Y.status} ${Y.statusText}`,this.error=Y.error||null}}function y(we,Y){return{body:Y,headers:we.headers,context:we.context,observe:we.observe,params:we.params,reportProgress:we.reportProgress,responseType:we.responseType,withCredentials:we.withCredentials}}class L{constructor(Y){this.handler=Y}request(Y,te,xe={}){let ze;if(Y instanceof ue)ze=Y;else{let Ue,Me;Ue=xe.headers instanceof S?xe.headers:new S(xe.headers),xe.params&&(Me=xe.params instanceof j?xe.params:new j({fromObject:xe.params})),ze=new ue(Y,te,void 0!==xe.body?xe.body:null,{headers:Ue,context:xe.context,params:Me,reportProgress:xe.reportProgress,responseType:xe.responseType||"json",withCredentials:xe.withCredentials})}const _t=(0,_.of)(ze).pipe((0,s.b)(Ue=>this.handler.handle(Ue)));if(Y instanceof ue||"events"===xe.observe)return _t;const ct=_t.pipe((0,D.h)(Ue=>Ue instanceof h));switch(xe.observe||"body"){case"body":switch(ze.responseType){case"arraybuffer":return ct.pipe((0,u.U)(Ue=>{if(null!==Ue.body&&!(Ue.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Ue.body}));case"blob":return ct.pipe((0,u.U)(Ue=>{if(null!==Ue.body&&!(Ue.body instanceof Blob))throw new Error("Response is not a Blob.");return Ue.body}));case"text":return ct.pipe((0,u.U)(Ue=>{if(null!==Ue.body&&"string"!=typeof Ue.body)throw new Error("Response is not a string.");return Ue.body}));default:return ct.pipe((0,u.U)(Ue=>Ue.body))}case"response":return ct;default:throw new Error(`Unreachable: unhandled observe type ${xe.observe}}`)}}delete(Y,te={}){return this.request("DELETE",Y,te)}get(Y,te={}){return this.request("GET",Y,te)}head(Y,te={}){return this.request("HEAD",Y,te)}jsonp(Y,te){return this.request("JSONP",Y,{params:(new j).append(te,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(Y,te={}){return this.request("OPTIONS",Y,te)}patch(Y,te,xe={}){return this.request("PATCH",Y,y(xe,te))}post(Y,te,xe={}){return this.request("POST",Y,y(xe,te))}put(Y,te,xe={}){return this.request("PUT",Y,y(xe,te))}}function B(we,Y){return Y(we)}function v(we,Y){return(te,xe)=>Y.intercept(te,{handle:ze=>we(ze,xe)})}L.\u0275fac=function(Y){return new(Y||L)(t.LFG(k))},L.\u0275prov=t.Yz7({token:L,factory:L.\u0275fac});const C=new t.OlP("HTTP_INTERCEPTORS"),N=new t.OlP("HTTP_INTERCEPTOR_FNS");function F(){let we=null;return(Y,te)=>(null===we&&(we=((0,t.f3M)(C,{optional:!0})??[]).reduceRight(v,B)),we(Y,te))}class J extends k{constructor(Y,te){super(),this.backend=Y,this.injector=te,this.chain=null}handle(Y){if(null===this.chain){const te=Array.from(new Set(this.injector.get(N)));this.chain=te.reduceRight((xe,ze)=>function a(we,Y,te){return(xe,ze)=>te.runInContext(()=>Y(xe,_t=>we(_t,ze)))}(xe,ze,this.injector),B)}return this.chain(Y,te=>this.backend.handle(te))}}J.\u0275fac=function(Y){return new(Y||J)(t.LFG(p),t.LFG(t.lqb))},J.\u0275prov=t.Yz7({token:J,factory:J.\u0275fac});let ke,Fe=0;class Ye{}function Ie(){return"object"==typeof window?window:{}}class ge{constructor(Y,te){this.callbackMap=Y,this.document=te,this.resolvedPromise=Promise.resolve()}nextCallback(){return"ng_jsonp_callback_"+Fe++}handle(Y){if("JSONP"!==Y.method)throw new Error("JSONP requests must use JSONP request method.");if("json"!==Y.responseType)throw new Error("JSONP requests must use Json response type.");if(Y.headers.keys().length>0)throw new Error("JSONP requests do not support headers.");return new E.y(te=>{const xe=this.nextCallback(),ze=Y.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/,`=${xe}$1`),_t=this.document.createElement("script");_t.src=ze;let ct=null,Ue=!1;this.callbackMap[xe]=Ut=>{delete this.callbackMap[xe],ct=Ut,Ue=!0};const Me=()=>{_t.parentNode&&_t.parentNode.removeChild(_t),delete this.callbackMap[xe]};return _t.addEventListener("load",Ut=>{this.resolvedPromise.then(()=>{Me(),Ue?(te.next(new h({body:ct,status:200,statusText:"OK",url:ze})),te.complete()):te.error(new d({url:ze,status:0,statusText:"JSONP Error",error:new Error("JSONP injected script did not invoke callback.")}))})}),_t.addEventListener("error",Ut=>{Me(),te.error(new d({error:Ut,status:0,statusText:"JSONP Error",url:ze}))}),this.document.body.appendChild(_t),te.next({type:w.Sent}),()=>{Ue||this.removeListeners(_t),Me()}})}removeListeners(Y){ke||(ke=this.document.implementation.createHTMLDocument()),ke.adoptNode(Y)}}function et(we,Y){return"JSONP"===we.method?(0,t.f3M)(ge).handle(we):Y(we)}ge.\u0275fac=function(Y){return new(Y||ge)(t.LFG(Ye),t.LFG(e.K0))},ge.\u0275prov=t.Yz7({token:ge,factory:ge.\u0275fac});class ut{constructor(Y){this.injector=Y}intercept(Y,te){return this.injector.runInContext(()=>et(Y,xe=>te.handle(xe)))}}ut.\u0275fac=function(Y){return new(Y||ut)(t.LFG(t.lqb))},ut.\u0275prov=t.Yz7({token:ut,factory:ut.\u0275fac});const Le=/^\)\]\}',?\n/;class ne{constructor(Y){this.xhrFactory=Y}handle(Y){if("JSONP"===Y.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new E.y(te=>{const xe=this.xhrFactory.build();if(xe.open(Y.method,Y.urlWithParams),Y.withCredentials&&(xe.withCredentials=!0),Y.headers.forEach((Dt,Tt)=>xe.setRequestHeader(Dt,Tt.join(","))),Y.headers.has("Accept")||xe.setRequestHeader("Accept","application/json, text/plain, */*"),!Y.headers.has("Content-Type")){const Dt=Y.detectContentTypeHeader();null!==Dt&&xe.setRequestHeader("Content-Type",Dt)}if(Y.responseType){const Dt=Y.responseType.toLowerCase();xe.responseType="json"!==Dt?Dt:"text"}const ze=Y.serializeBody();let _t=null;const ct=()=>{if(null!==_t)return _t;const Dt=xe.statusText||"OK",Tt=new S(xe.getAllResponseHeaders()),Ht=function De(we){return"responseURL"in we&&we.responseURL?we.responseURL:/^X-Request-URL:/m.test(we.getAllResponseHeaders())?we.getResponseHeader("X-Request-URL"):null}(xe)||Y.url;return _t=new o({headers:Tt,status:xe.status,statusText:Dt,url:Ht}),_t},Ue=()=>{let{headers:Dt,status:Tt,statusText:Ht,url:He}=ct(),$e=null;204!==Tt&&($e=typeof xe.response>"u"?xe.responseText:xe.response),0===Tt&&(Tt=$e?200:0);let $t=Tt>=200&&Tt<300;if("json"===Y.responseType&&"string"==typeof $e){const Rt=$e;$e=$e.replace(Le,"");try{$e=""!==$e?JSON.parse($e):null}catch(Xt){$e=Rt,$t&&($t=!1,$e={error:Xt,text:$e})}}$t?(te.next(new h({body:$e,headers:Dt,status:Tt,statusText:Ht,url:He||void 0})),te.complete()):te.error(new d({error:$e,headers:Dt,status:Tt,statusText:Ht,url:He||void 0}))},Me=Dt=>{const{url:Tt}=ct(),Ht=new d({error:Dt,status:xe.status||0,statusText:xe.statusText||"Unknown Error",url:Tt||void 0});te.error(Ht)};let Ce=!1;const Je=Dt=>{Ce||(te.next(ct()),Ce=!0);let Tt={type:w.DownloadProgress,loaded:Dt.loaded};Dt.lengthComputable&&(Tt.total=Dt.total),"text"===Y.responseType&&!!xe.responseText&&(Tt.partialText=xe.responseText),te.next(Tt)},Ut=Dt=>{let Tt={type:w.UploadProgress,loaded:Dt.loaded};Dt.lengthComputable&&(Tt.total=Dt.total),te.next(Tt)};return xe.addEventListener("load",Ue),xe.addEventListener("error",Me),xe.addEventListener("timeout",Me),xe.addEventListener("abort",Me),Y.reportProgress&&(xe.addEventListener("progress",Je),null!==ze&&xe.upload&&xe.upload.addEventListener("progress",Ut)),xe.send(ze),te.next({type:w.Sent}),()=>{xe.removeEventListener("error",Me),xe.removeEventListener("abort",Me),xe.removeEventListener("load",Ue),xe.removeEventListener("timeout",Me),Y.reportProgress&&(xe.removeEventListener("progress",Je),null!==ze&&xe.upload&&xe.upload.removeEventListener("progress",Ut)),xe.readyState!==xe.DONE&&xe.abort()}})}}ne.\u0275fac=function(Y){return new(Y||ne)(t.LFG(e.JF))},ne.\u0275prov=t.Yz7({token:ne,factory:ne.\u0275fac});const fe=new t.OlP("XSRF_ENABLED"),ee="XSRF-TOKEN",H=new t.OlP("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>ee}),q="X-XSRF-TOKEN",Oe=new t.OlP("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>q});class Re{}class oe{constructor(Y,te,xe){this.doc=Y,this.platform=te,this.cookieName=xe,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const Y=this.doc.cookie||"";return Y!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,e.Mx)(Y,this.cookieName),this.lastCookieString=Y),this.lastToken}}function pt(we,Y){const te=we.url.toLowerCase();if(!(0,t.f3M)(fe)||"GET"===we.method||"HEAD"===we.method||te.startsWith("http://")||te.startsWith("https://"))return Y(we);const xe=(0,t.f3M)(Re).getToken(),ze=(0,t.f3M)(Oe);return null!=xe&&!we.headers.has(ze)&&(we=we.clone({headers:we.headers.set(ze,xe)})),Y(we)}oe.\u0275fac=function(Y){return new(Y||oe)(t.LFG(e.K0),t.LFG(t.Lbi),t.LFG(H))},oe.\u0275prov=t.Yz7({token:oe,factory:oe.\u0275fac});class it{constructor(Y){this.injector=Y}intercept(Y,te){return this.injector.runInContext(()=>pt(Y,xe=>te.handle(xe)))}}var Ct;function un(we,Y){return{\u0275kind:we,\u0275providers:Y}}it.\u0275fac=function(Y){return new(Y||it)(t.LFG(t.lqb))},it.\u0275prov=t.Yz7({token:it,factory:it.\u0275fac}),function(we){we[we.Interceptors=0]="Interceptors",we[we.LegacyInterceptors=1]="LegacyInterceptors",we[we.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",we[we.NoXsrfProtection=3]="NoXsrfProtection",we[we.JsonpSupport=4]="JsonpSupport",we[we.RequestsMadeViaParent=5]="RequestsMadeViaParent"}(Ct||(Ct={}));const yn=new t.OlP("LEGACY_INTERCEPTOR_FN");function Gt({cookieName:we,headerName:Y}){const te=[];return void 0!==we&&te.push({provide:H,useValue:we}),void 0!==Y&&te.push({provide:Oe,useValue:Y}),un(Ct.CustomXsrfConfiguration,te)}class pn{static disable(){return{ngModule:pn,providers:[un(Ct.NoXsrfProtection,[{provide:fe,useValue:!1}]).\u0275providers]}}static withOptions(Y={}){return{ngModule:pn,providers:Gt(Y).\u0275providers}}}pn.\u0275fac=function(Y){return new(Y||pn)},pn.\u0275mod=t.oAB({type:pn}),pn.\u0275inj=t.cJS({providers:[it,{provide:C,useExisting:it,multi:!0},{provide:Re,useClass:oe},Gt({cookieName:ee,headerName:q}).\u0275providers,{provide:fe,useValue:!0}]});class nt{}nt.\u0275fac=function(Y){return new(Y||nt)},nt.\u0275mod=t.oAB({type:nt}),nt.\u0275inj=t.cJS({providers:[function Nt(...we){const Y=[L,ne,J,{provide:k,useExisting:J},{provide:p,useExisting:ne},{provide:N,useValue:pt,multi:!0},{provide:fe,useValue:!0},{provide:Re,useClass:oe}];for(const te of we)Y.push(...te.\u0275providers);return(0,t.MR2)(Y)}(function Jt(){return un(Ct.LegacyInterceptors,[{provide:yn,useFactory:F},{provide:N,useExisting:yn,multi:!0}])}(),Gt({cookieName:ee,headerName:q}))]});class gt{}gt.\u0275fac=function(Y){return new(Y||gt)},gt.\u0275mod=t.oAB({type:gt}),gt.\u0275inj=t.cJS({providers:[function an(){return un(Ct.JsonpSupport,[ge,{provide:Ye,useFactory:Ie},{provide:N,useValue:et,multi:!0}])}().\u0275providers]})},2560:(Ve,X,m)=>{"use strict";m.d(X,{$8M:()=>yl,$Z:()=>Ih,AA_:()=>d3,AFp:()=>Cm,ALo:()=>H_,AaK:()=>k,AcB:()=>ie,AsE:()=>tu,BQk:()=>Vh,CHM:()=>eo,CRH:()=>em,CZH:()=>w2,CqO:()=>Wf,D6c:()=>x8,DdM:()=>L_,Dn7:()=>U_,DyG:()=>Rn,E6H:()=>vm,EJc:()=>zg,EiD:()=>nh,EpF:()=>v4,F$t:()=>x4,F4k:()=>Vf,FYo:()=>hd,FiY:()=>B2,G48:()=>Hm,GSi:()=>kt,Gf:()=>J_,GfV:()=>dh,GkF:()=>g4,Gpc:()=>A,Gre:()=>Zs,HOy:()=>y1,Hsn:()=>Qf,IIB:()=>Rg,Ikx:()=>Ds,JOm:()=>z2,JVY:()=>T0,JZr:()=>W,Jf7:()=>K0,KtG:()=>sr,L6J:()=>bm,L6k:()=>k3,LAX:()=>ju,LFG:()=>gt,LVF:()=>Ng,Lbi:()=>wp,Lck:()=>_s,MAs:()=>f4,MGl:()=>Gh,MMx:()=>Ol,MR2:()=>s1,NdJ:()=>Kh,O4$:()=>Ot,OlP:()=>va,Oqu:()=>Oc,P3R:()=>P0,PXZ:()=>$g,PiD:()=>qc,Q6J:()=>p4,QGY:()=>Wh,QP$:()=>Bn,QbO:()=>Fg,Qsj:()=>U0,R0b:()=>sc,RDi:()=>S3,Rgc:()=>t3,SBq:()=>Ac,Sil:()=>o3,Suo:()=>$_,TTD:()=>Ja,TgZ:()=>eu,Tol:()=>O4,Udp:()=>S4,VKq:()=>S_,W1O:()=>G6,WFA:()=>y4,WLB:()=>vp,X6Q:()=>r8,XFs:()=>ee,Xek:()=>gm,Xpm:()=>zn,Xts:()=>er,Y36:()=>wc,YKP:()=>Pa,YNc:()=>Uf,Yjl:()=>Ae,Yz7:()=>Ge,Z0I:()=>Ye,ZZ4:()=>I1,_Bn:()=>Vr,_UZ:()=>m4,_Vd:()=>d1,_c5:()=>b8,_uU:()=>es,aQ5:()=>Ee,aQg:()=>L1,ahi:()=>B1,c2e:()=>_u,cJS:()=>We,cg1:()=>Sd,d8E:()=>fr,dDg:()=>l3,dqk:()=>pt,eBb:()=>R3,eFA:()=>o_,ekj:()=>Ri,eoX:()=>mu,f3M:()=>we,g9A:()=>Em,h0i:()=>ua,hGG:()=>c3,hYB:()=>M4,hij:()=>wl,i9L:()=>at,iGM:()=>i3,ifc:()=>Ut,ip1:()=>xm,jDz:()=>Pl,kEZ:()=>O_,kL8:()=>au,kcU:()=>fn,kuF:()=>j,lG2:()=>se,lcZ:()=>z_,lnq:()=>Gs,lqb:()=>tl,lri:()=>Sm,mCW:()=>td,n4l:()=>Me,n5z:()=>jo,n_E:()=>bp,oAB:()=>Ze,oJD:()=>L0,oxw:()=>Zf,pB0:()=>qu,pfw:()=>Bg,q3G:()=>el,qLn:()=>El,qOj:()=>o4,qZA:()=>Uh,qzn:()=>Cc,rWj:()=>Om,r_U:()=>ym,s9C:()=>C4,sBO:()=>d_,sIi:()=>J0,s_b:()=>H4,soG:()=>Ip,tBr:()=>jc,tb:()=>Dm,tp0:()=>bl,uIk:()=>u4,vHH:()=>Z,vR:()=>qe,vpe:()=>w1,wA2:()=>kg,wAp:()=>Ll,xi3:()=>B6,xp6:()=>md,ynx:()=>Td,z2F:()=>L2,z3N:()=>Jo,zSh:()=>da,zlt:()=>I_,zs3:()=>xn});var e=m(253),t=m(7714),_=m(833),E=m(6646),s=m(1203);function D(l){for(let c in l)if(l[c]===D)return c;throw Error("Could not find renamed property on target object.")}function u(l,c){for(const g in c)c.hasOwnProperty(g)&&!l.hasOwnProperty(g)&&(l[g]=c[g])}function k(l){if("string"==typeof l)return l;if(Array.isArray(l))return"["+l.map(k).join(", ")+"]";if(null==l)return""+l;if(l.overriddenName)return`${l.overriddenName}`;if(l.name)return`${l.name}`;const c=l.toString();if(null==c)return""+c;const g=c.indexOf("\n");return-1===g?c:c.substring(0,g)}function p(l,c){return null==l||""===l?null===c?"":c:null==c||""===c?l:l+" "+c}const S=D({__forward_ref__:D});function A(l){return l.__forward_ref__=A,l.toString=function(){return k(this())},l}function P(l){return M(l)?l():l}function M(l){return"function"==typeof l&&l.hasOwnProperty(S)&&l.__forward_ref__===A}function z(l){return l&&!!l.\u0275providers}const W="https://g.co/ng/security#xss";class Z extends Error{constructor(c,g){super(j(c,g)),this.code=c}}function j(l,c){return`NG0${Math.abs(l)}${c?": "+c.trim():""}`}function ae(l){return"string"==typeof l?l:null==l?"":String(l)}function re(l){return"function"==typeof l?l.name||l.toString():"object"==typeof l&&null!=l&&"function"==typeof l.type?l.type.name||l.type.toString():ae(l)}function de(l,c){throw new Z(-201,!1)}function o(l,c,g){l!=c&&F(g,l,c,"==")}function N(l,c){null==l&&F(c,l,null,"!=")}function F(l,c,g,O){throw new Error(`ASSERTION ERROR: ${l}`+(null==O?"":` [Expected=> ${g} ${O} ${c} <=Actual]`))}function Ge(l){return{token:l.token,providedIn:l.providedIn||null,factory:l.factory,value:void 0}}function We(l){return{providers:l.providers||[],imports:l.imports||[]}}function be(l){return Ie(l,Le)||Ie(l,ne)}function Ye(l){return null!==be(l)}function Ie(l,c){return l.hasOwnProperty(c)?l[c]:null}function ut(l){return l&&(l.hasOwnProperty(De)||l.hasOwnProperty(fe))?l[De]:null}const Le=D({\u0275prov:D}),De=D({\u0275inj:D}),ne=D({ngInjectableDef:D}),fe=D({ngInjectorDef:D});var ee,l;let H;function Oe(l){const c=H;return H=l,c}function Re(l,c,g){const O=be(l);return O&&"root"==O.providedIn?void 0===O.value?O.value=O.factory():O.value:g&ee.Optional?null:void 0!==c?c:void de(k(l))}(l=ee||(ee={}))[l.Default=0]="Default",l[l.Host=1]="Host",l[l.Self=2]="Self",l[l.SkipSelf=4]="SkipSelf",l[l.Optional=8]="Optional";const pt=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)();const Nt={},zt="__NG_DI_FLAG__",yn="ngTempTokenPath",Gt=/\n/gm,an="__source";let tn;function pn(l){const c=tn;return tn=l,c}function nt(l,c=ee.Default){if(void 0===tn)throw new Z(-203,!1);return null===tn?Re(l,void 0,c):tn.get(l,c&ee.Optional?null:void 0,c)}function gt(l,c=ee.Default){return(function q(){return H}()||nt)(P(l),c)}function At(l){throw new Z(202,!1)}function we(l,c=ee.Default){return gt(l,Y(c))}function Y(l){return typeof l>"u"||"number"==typeof l?l:0|(l.optional&&8)|(l.host&&1)|(l.self&&2)|(l.skipSelf&&4)}function te(l){const c=[];for(let g=0;g ");else if("object"==typeof c){let G=[];for(let ce in c)if(c.hasOwnProperty(ce)){let Se=c[ce];G.push(ce+":"+("string"==typeof Se?JSON.stringify(Se):k(Se)))}U=`{${G.join(", ")}}`}return`${g}${O?"("+O+")":""}[${U}]: ${l.replace(Gt,"\n ")}`}("\n"+l.message,U,g,O),l.ngTokenPath=U,l[yn]=null,l}function Ue(l){return{toString:l}.toString()}var Me,Ce,Ut;!function(l){l[l.OnPush=0]="OnPush",l[l.Default=1]="Default"}(Me||(Me={})),function(l){l[l.CheckOnce=0]="CheckOnce",l[l.Checked=1]="Checked",l[l.CheckAlways=2]="CheckAlways",l[l.Detached=3]="Detached",l[l.Errored=4]="Errored",l[l.Destroyed=5]="Destroyed"}(Ce||(Ce={})),function(l){l[l.Emulated=0]="Emulated",l[l.None=2]="None",l[l.ShadowDom=3]="ShadowDom"}(Ut||(Ut={}));const Dt={},Tt=[],Ht=D({\u0275cmp:D}),He=D({\u0275dir:D}),$e=D({\u0275pipe:D}),$t=D({\u0275mod:D}),Rt=D({\u0275fac:D}),Xt=D({__NG_ELEMENT_ID__:D});let Vn=0;function zn(l){return Ue(()=>{const c=l.type,g=!0===l.standalone,O={},U={type:c,providersResolver:null,decls:l.decls,vars:l.vars,factory:null,template:l.template||null,consts:l.consts||null,ngContentSelectors:l.ngContentSelectors,hostBindings:l.hostBindings||null,hostVars:l.hostVars||0,hostAttrs:l.hostAttrs||null,contentQueries:l.contentQueries||null,declaredInputs:O,inputs:null,outputs:null,exportAs:l.exportAs||null,onPush:l.changeDetection===Me.OnPush,directiveDefs:null,pipeDefs:null,standalone:g,dependencies:g&&l.dependencies||null,getStandaloneInjector:null,selectors:l.selectors||Tt,viewQuery:l.viewQuery||null,features:l.features||null,data:l.data||{},encapsulation:l.encapsulation||Ut.Emulated,id:"c"+Vn++,styles:l.styles||Tt,_:null,setInput:null,schemas:l.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},G=l.dependencies,ce=l.features;return U.inputs=ht(l.inputs,O),U.outputs=ht(l.outputs),ce&&ce.forEach(Se=>Se(U)),U.directiveDefs=G?()=>("function"==typeof G?G():G).map(Yn).filter(Mt):null,U.pipeDefs=G?()=>("function"==typeof G?G():G).map(nn).filter(Mt):null,U})}function Tn(l,c,g){const O=l.\u0275cmp;O.directiveDefs=()=>("function"==typeof c?c():c).map(Yn),O.pipeDefs=()=>("function"==typeof g?g():g).map(nn)}function Yn(l){return ft(l)||Lt(l)}function Mt(l){return null!==l}function Ze(l){return Ue(()=>({type:l.type,bootstrap:l.bootstrap||Tt,declarations:l.declarations||Tt,imports:l.imports||Tt,exports:l.exports||Tt,transitiveCompileScopes:null,schemas:l.schemas||null,id:l.id||null}))}function Be(l,c){return Ue(()=>{const g=Wn(l,!0);g.declarations=c.declarations||Tt,g.imports=c.imports||Tt,g.exports=c.exports||Tt})}function ht(l,c){if(null==l)return Dt;const g={};for(const O in l)if(l.hasOwnProperty(O)){let U=l[O],G=U;Array.isArray(U)&&(G=U[1],U=U[0]),g[U]=O,c&&(c[U]=G)}return g}const se=zn;function Ae(l){return{type:l.type,name:l.name,factory:null,pure:!1!==l.pure,standalone:!0===l.standalone,onDestroy:l.type.prototype.ngOnDestroy||null}}function ft(l){return l[Ht]||null}function Lt(l){return l[He]||null}function nn(l){return l[$e]||null}function Bn(l){const c=ft(l)||Lt(l)||nn(l);return null!==c&&c.standalone}function Wn(l,c){const g=l[$t]||null;if(!g&&!0===c)throw new Error(`Type ${k(l)} does not have '\u0275mod' property.`);return g}function Hi(l){return Array.isArray(l)&&"object"==typeof l[1]}function La(l){return Array.isArray(l)&&!0===l[1]}function gr(l){return 0!=(4&l.flags)}function Sa(l){return l.componentOffset>-1}function fa(l){return 1==(1&l.flags)}function Ki(l){return null!==l.template}function xa(l){return 0!=(256&l[2])}function Oa(l,c){return l.hasOwnProperty(Rt)?l[Rt]:null}class Ss{constructor(c,g,O){this.previousValue=c,this.currentValue=g,this.firstChange=O}isFirstChange(){return this.firstChange}}function Ja(){return Os}function Os(l){return l.type.prototype.ngOnChanges&&(l.setInput=yr),$a}function $a(){const l=ir(this),c=l?.current;if(c){const g=l.previous;if(g===Dt)l.previous=c;else for(let O in c)g[O]=c[O];l.current=null,this.ngOnChanges(c)}}function yr(l,c,g,O){const U=this.declaredInputs[g],G=ir(l)||function br(l,c){return l[sa]=c}(l,{previous:Dt,current:null}),ce=G.current||(G.current={}),Se=G.previous,Ke=Se[U];ce[U]=new Ss(Ke&&Ke.currentValue,c,Se===Dt),l[O]=c}Ja.ngInherit=!0;const sa="__ngSimpleChanges__";function ir(l){return l[sa]||null}let as=null;const Va=function(l,c,g){as?.(l,c,g)},Bt="math";function Bi(l){for(;Array.isArray(l);)l=l[0];return l}function la(l,c){return Bi(c[l])}function Li(l,c){return Bi(c[l.index])}function Rr(l,c){return l.data[c]}function Zr(l,c){return l[c]}function ca(l,c){const g=c[l];return Hi(g)?g:g[0]}function ar(l){return 64==(64&l[2])}function bt(l,c){return null==c?null:l[c]}function ye(l){l[18]=0}function dt(l,c){l[5]+=c;let g=l,O=l[3];for(;null!==O&&(1===c&&1===g[5]||-1===c&&0===g[5]);)O[5]+=c,g=O,O=O[3]}const Yt={lFrame:ul(null),bindingsEnabled:!0};function $s(){return Yt.bindingsEnabled}function kl(){Yt.bindingsEnabled=!0}function po(){Yt.bindingsEnabled=!1}function kn(){return Yt.lFrame.lView}function Ui(){return Yt.lFrame.tView}function eo(l){return Yt.lFrame.contextLView=l,l[8]}function sr(l){return Yt.lFrame.contextLView=null,l}function Ra(){let l=Br();for(;null!==l&&64===l.type;)l=l.parent;return l}function Br(){return Yt.lFrame.currentTNode}function _o(){const l=Yt.lFrame,c=l.currentTNode;return l.isParent?c:c.parent}function Ba(l,c){const g=Yt.lFrame;g.currentTNode=l,g.isParent=c}function $i(){return Yt.lFrame.isParent}function Hn(){Yt.lFrame.isParent=!1}function Wa(){const l=Yt.lFrame;let c=l.bindingRootIndex;return-1===c&&(c=l.bindingRootIndex=l.tView.bindingStartIndex),c}function ss(){return Yt.lFrame.bindingIndex}function zs(l){return Yt.lFrame.bindingIndex=l}function to(){return Yt.lFrame.bindingIndex++}function Yr(l){const c=Yt.lFrame,g=c.bindingIndex;return c.bindingIndex=c.bindingIndex+l,g}function Vc(l){Yt.lFrame.inI18n=l}function Wc(l,c){const g=Yt.lFrame;g.bindingIndex=g.bindingRootIndex=l,Rl(c)}function Rl(l){Yt.lFrame.currentDirectiveIndex=l}function Go(l){const c=Yt.lFrame.currentDirectiveIndex;return-1===c?null:l[c]}function Zo(){return Yt.lFrame.currentQueryIndex}function ko(l){Yt.lFrame.currentQueryIndex=l}function xr(l){const c=l[1];return 2===c.type?c.declTNode:1===c.type?l[6]:null}function Ro(l,c,g){if(g&ee.SkipSelf){let U=c,G=l;for(;(U=U.parent,null===U&&!(g&ee.Host))&&(U=xr(G),!(null===U||(G=G[15],10&U.type))););if(null===U)return!1;c=U,l=G}const O=Yt.lFrame=ui();return O.currentTNode=c,O.lView=l,!0}function Yo(l){const c=ui(),g=l[1];Yt.lFrame=c,c.currentTNode=g.firstChild,c.lView=l,c.tView=g,c.contextLView=l,c.bindingIndex=g.bindingStartIndex,c.inI18n=!1}function ui(){const l=Yt.lFrame,c=null===l?null:l.child;return null===c?ul(l):c}function ul(l){const c={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:l,child:null,inI18n:!1};return null!==l&&(l.child=c),c}function oc(){const l=Yt.lFrame;return Yt.lFrame=l.parent,l.currentTNode=null,l.lView=null,l}const ys=oc;function ks(){const l=oc();l.isParent=!0,l.tView=null,l.selectedIndex=-1,l.contextLView=null,l.elementDepthCount=0,l.currentDirectiveIndex=-1,l.currentNamespace=null,l.bindingRootIndex=-1,l.bindingIndex=-1,l.currentQueryIndex=0}function no(l){return(Yt.lFrame.contextLView=function os(l,c){for(;l>0;)c=c[15],l--;return c}(l,Yt.lFrame.contextLView))[8]}function Ne(){return Yt.lFrame.selectedIndex}function he(l){Yt.lFrame.selectedIndex=l}function st(){const l=Yt.lFrame;return Rr(l.tView,l.selectedIndex)}function Ot(){Yt.lFrame.currentNamespace="svg"}function Vt(){Yt.lFrame.currentNamespace=Bt}function fn(){!function Un(){Yt.lFrame.currentNamespace=null}()}function yt(l,c){for(let g=c.directiveStart,O=c.directiveEnd;g=O)break}else c[Ke]<0&&(l[18]+=65536),(Se>11>16&&(3&l[2])===c){l[2]+=2048,Va(4,Se,G);try{G.call(Se)}finally{Va(5,Se,G)}}}else{Va(4,Se,G);try{G.call(Se)}finally{Va(5,Se,G)}}}class Sn{constructor(c,g,O){this.factory=c,this.resolving=!1,this.canSeeViewProviders=g,this.injectImpl=O}}function Ka(l,c,g){let O=0;for(;Oc){ce=G-1;break}}}for(;G>16}(l),O=c;for(;g>0;)O=O[15],g--;return O}let Dr=!0;function lc(l){const c=Dr;return Dr=l,c}let S1=0;const or={};function Mo(l,c){const g=Bl(l,c);if(-1!==g)return g;const O=c[1];O.firstCreatePass&&(l.injectorIndex=c.length,vo(O.data,l),vo(c,null),vo(O.blueprint,null));const U=ml(l,c),G=l.injectorIndex;if(Er(U)){const ce=bs(U),Se=hl(U,c),Ke=Se[1].data;for(let ot=0;ot<8;ot++)c[G+ot]=Se[ce+ot]|Ke[ce+ot]}return c[G+8]=U,G}function vo(l,c){l.push(0,0,0,0,0,0,0,0,c)}function Bl(l,c){return-1===l.injectorIndex||l.parent&&l.parent.injectorIndex===l.injectorIndex||null===c[l.injectorIndex+8]?-1:l.injectorIndex}function ml(l,c){if(l.parent&&-1!==l.parent.injectorIndex)return l.parent.injectorIndex;let g=0,O=null,U=c;for(;null!==U;){if(O=P2(U),null===O)return-1;if(g++,U=U[15],-1!==O.injectorIndex)return O.injectorIndex|g<<16}return-1}function O1(l,c,g){!function _l(l,c,g){let O;"string"==typeof g?O=g.charCodeAt(0)||0:g.hasOwnProperty(Xt)&&(O=g[Xt]),null==O&&(O=g[Xt]=S1++);const U=255&O,G=1<>5)]|=G}(l,c,g)}function gl(l,c,g){if(g&ee.Optional||void 0!==l)return l;de()}function cc(l,c,g,O){if(g&ee.Optional&&void 0===O&&(O=null),0==(g&(ee.Self|ee.Host))){const U=l[9],G=Oe(void 0);try{return U?U.get(c,O,g&ee.Optional):Re(c,O,g&ee.Optional)}finally{Oe(G)}}return gl(O,0,g)}function O2(l,c,g,O=ee.Default,U){if(null!==l){if(1024&c[2]){const ce=function Ar(l,c,g,O,U){let G=l,ce=c;for(;null!==G&&null!==ce&&1024&ce[2]&&!(256&ce[2]);){const Se=k1(G,ce,g,O|ee.Self,or);if(Se!==or)return Se;let Ke=G.parent;if(!Ke){const ot=ce[21];if(ot){const wt=ot.get(g,or,O);if(wt!==or)return wt}Ke=P2(ce),ce=ce[15]}G=Ke}return U}(l,c,g,O,or);if(ce!==or)return ce}const G=k1(l,c,g,O,or);if(G!==or)return G}return cc(c,g,O,U)}function k1(l,c,g,O,U){const G=function dc(l){if("string"==typeof l)return l.charCodeAt(0)||0;const c=l.hasOwnProperty(Xt)?l[Xt]:void 0;return"number"==typeof c?c>=0?255&c:Eo:c}(g);if("function"==typeof G){if(!Ro(c,l,O))return O&ee.Host?gl(U,0,O):cc(c,g,O,U);try{const ce=G(O);if(null!=ce||O&ee.Optional)return ce;de()}finally{ys()}}else if("number"==typeof G){let ce=null,Se=Bl(l,c),Ke=-1,ot=O&ee.Host?c[16][6]:null;for((-1===Se||O&ee.SkipSelf)&&(Ke=-1===Se?ml(l,c):c[Se+8],-1!==Ke&&Gc(O,!1)?(ce=c[1],Se=bs(Ke),c=hl(Ke,c)):Se=-1);-1!==Se;){const wt=c[1];if(R1(G,Se,wt.data)){const Kt=Qo(Se,c,g,ce,O,ot);if(Kt!==or)return Kt}Ke=c[Se+8],-1!==Ke&&Gc(O,c[1].data[Se+8]===ot)&&R1(G,Se,c)?(ce=wt,Se=bs(Ke),c=hl(Ke,c)):Se=-1}}return U}function Qo(l,c,g,O,U,G){const ce=c[1],Se=ce.data[l+8],wt=io(Se,ce,g,null==O?Sa(Se)&&Dr:O!=ce&&0!=(3&Se.type),U&ee.Host&&G===Se);return null!==wt?vl(c,ce,wt,Se):or}function io(l,c,g,O,U){const G=l.providerIndexes,ce=c.data,Se=1048575&G,Ke=l.directiveStart,ot=l.directiveEnd,wt=G>>20,cn=U?Se+wt:ot;for(let bn=O?Se:Se+wt;bn=Ke&&On.type===g)return bn}if(U){const bn=ce[Ke];if(bn&&Ki(bn)&&bn.type===g)return Ke}return null}function vl(l,c,g,O){let U=l[g];const G=c.data;if(function Jn(l){return l instanceof Sn}(U)){const ce=U;ce.resolving&&function pe(l,c){const g=c?`. Dependency path: ${c.join(" > ")} > ${l}`:"";throw new Z(-200,`Circular dependency in DI detected for ${l}${g}`)}(re(G[g]));const Se=lc(ce.canSeeViewProviders);ce.resolving=!0;const Ke=ce.injectImpl?Oe(ce.injectImpl):null;Ro(l,O,ee.Default);try{U=l[g]=ce.factory(void 0,G,l,O),c.firstCreatePass&&g>=O.directiveStart&&function rt(l,c,g){const{ngOnChanges:O,ngOnInit:U,ngDoCheck:G}=c.type.prototype;if(O){const ce=Os(c);(g.preOrderHooks||(g.preOrderHooks=[])).push(l,ce),(g.preOrderCheckHooks||(g.preOrderCheckHooks=[])).push(l,ce)}U&&(g.preOrderHooks||(g.preOrderHooks=[])).push(0-l,U),G&&((g.preOrderHooks||(g.preOrderHooks=[])).push(l,G),(g.preOrderCheckHooks||(g.preOrderCheckHooks=[])).push(l,G))}(g,G[g],c)}finally{null!==Ke&&Oe(Ke),lc(Se),ce.resolving=!1,ys()}}return U}function R1(l,c,g){const O=1<>5)]&O)}function Gc(l,c){return!(l&ee.Self||l&ee.Host&&c)}class ao{constructor(c,g){this._tNode=c,this._lView=g}get(c,g,O){return O2(this._tNode,this._lView,c,Y(O),g)}}function Eo(){return new ao(Ra(),kn())}function jo(l){return Ue(()=>{const c=l.prototype.constructor,g=c[Rt]||Nr(c),O=Object.prototype;let U=Object.getPrototypeOf(l.prototype).constructor;for(;U&&U!==O;){const G=U[Rt]||Nr(U);if(G&&G!==g)return G;U=Object.getPrototypeOf(U)}return G=>new G})}function Nr(l){return M(l)?()=>{const c=Nr(P(l));return c&&c()}:Oa(l)}function P2(l){const c=l[1],g=c.type;return 2===g?c.declTNode:1===g?l[6]:null}function yl(l){return function P1(l,c){if("class"===c)return l.classes;if("style"===c)return l.styles;const g=l.attrs;if(g){const O=g.length;let U=0;for(;U{const G=Zc(c);function ce(...Se){if(this instanceof ce)return G.call(this,...Se),this;const Ke=new ce(...Se);return function(wt){return U&&U(wt,...Se),(wt.hasOwnProperty(Bo)?wt[Bo]:Object.defineProperty(wt,Bo,{value:[]})[Bo]).push(Ke),O&&O(wt),wt}}return g&&(ce.prototype=Object.create(g.prototype)),ce.prototype.ngMetadataName=l,ce.annotationCls=ce,ce})}function Zc(l){return function(...g){if(l){const O=l(...g);for(const U in O)this[U]=O[U]}}}function Do(l,c,g){return Ue(()=>{const O=Zc(c);function U(...G){if(this instanceof U)return O.apply(this,G),this;const ce=new U(...G);return Se.annotation=ce,Se;function Se(Ke,ot,wt){const Kt=Ke.hasOwnProperty(ro)?Ke[ro]:Object.defineProperty(Ke,ro,{value:[]})[ro];for(;Kt.length<=wt;)Kt.push(null);return(Kt[wt]=Kt[wt]||[]).push(ce),Ke}}return g&&(U.prototype=Object.create(g.prototype)),U.prototype.ngMetadataName=l,U.annotationCls=U,U})}function qo(l,c,g,O){return Ue(()=>{const U=Zc(c);function G(...ce){if(this instanceof G)return U.apply(this,ce),this;const Se=new G(...ce);return function Ke(ot,wt){const Kt=ot.constructor,cn=Kt.hasOwnProperty(Rs)?Kt[Rs]:Object.defineProperty(Kt,Rs,{value:{}})[Rs];cn[wt]=cn.hasOwnProperty(wt)&&cn[wt]||[],cn[wt].unshift(Se),O&&O(ot,wt,...ce)}}return g&&(G.prototype=Object.create(g.prototype)),G.prototype.ngMetadataName=l,G.annotationCls=G,G})}const B1=Do("Attribute",l=>({attributeName:l,__NG_ELEMENT_ID__:()=>yl(l)}));class va{constructor(c,g){this._desc=c,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof g?this.__NG_ELEMENT_ID__=g:void 0!==g&&(this.\u0275prov=Ge({token:this,providedIn:g.providedIn||"root",factory:g.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}new va("AnalyzeForEntryComponents");class Te{}const ie=qo("ContentChildren",(l,c={})=>({selector:l,first:!1,isViewQuery:!1,descendants:!1,emitDistinctChangesOnly:true,...c}),Te),Ee=qo("ContentChild",(l,c={})=>({selector:l,first:!0,isViewQuery:!1,descendants:!0,...c}),Te),qe=qo("ViewChildren",(l,c={})=>({selector:l,first:!1,isViewQuery:!0,descendants:!0,emitDistinctChangesOnly:true,...c}),Te),at=qo("ViewChild",(l,c)=>({selector:l,first:!0,isViewQuery:!0,descendants:!0,...c}),Te);var mt,Wt,mn;function Dn(l){const c=pt.ng;if(c&&c.\u0275compilerFacade)return c.\u0275compilerFacade;throw new Error("JIT compiler unavailable")}!function(l){l[l.Directive=0]="Directive",l[l.Component=1]="Component",l[l.Injectable=2]="Injectable",l[l.Pipe=3]="Pipe",l[l.NgModule=4]="NgModule"}(mt||(mt={})),function(l){l[l.Directive=0]="Directive",l[l.Pipe=1]="Pipe",l[l.NgModule=2]="NgModule"}(Wt||(Wt={})),function(l){l[l.Emulated=0]="Emulated",l[l.None=2]="None",l[l.ShadowDom=3]="ShadowDom"}(mn||(mn={}));const Rn=Function;function di(l){return"function"==typeof l}function zi(l,c){void 0===c&&(c=l);for(let g=0;gArray.isArray(g)?Fr(g,c):c(g))}function so(l,c,g){c>=l.length?l.push(g):l.splice(c,0,g)}function ds(l,c){return c>=l.length-1?l.pop():l.splice(c,1)[0]}function Us(l,c){const g=[];for(let O=0;O=0?l[1|O]=g:(O=~O,function uc(l,c,g,O){let U=l.length;if(U==c)l.push(g,O);else if(1===U)l.push(O,l[0]),l[0]=g;else{for(U--,l.push(l[U-1],l[U]);U>c;){const G=U-2;l[U]=l[G],U--}l[c]=g,l[c+1]=O}}(l,O,c,g)),O}function Nl(l,c){const g=lr(l,c);if(g>=0)return l[1|g]}function lr(l,c){return R2(l,c,1)}function R2(l,c,g){let O=0,U=l.length>>g;for(;U!==O;){const G=O+(U-O>>1),ce=l[G<c?U=G:O=G+1}return~(U<new c(...g)}_zipTypesAndAnnotations(c,g){let O;O=Us(typeof c>"u"?g.length:c.length);for(let U=0;U"u"?O[U]=[]:c[U]&&c[U]!=Object?O[U]=[c[U]]:O[U]=[],g&&null!=g[U]&&(O[U]=O[U].concat(g[U]));return O}_ownParameters(c,g){if(function bu(l){return $d.test(l)||K4.test(l)||e0.test(l)&&!Hl.test(l)}(c.toString()))return null;if(c.parameters&&c.parameters!==g.parameters)return c.parameters;const U=c.ctorParameters;if(U&&U!==g.ctorParameters){const Se="function"==typeof U?U():U,Ke=Se.map(wt=>wt&&wt.type),ot=Se.map(wt=>wt&&Cu(wt.decorators));return this._zipTypesAndAnnotations(Ke,ot)}const G=c.hasOwnProperty(ro)&&c[ro],ce=this._reflect&&this._reflect.getOwnMetadata&&this._reflect.getOwnMetadata("design:paramtypes",c);return ce||G?this._zipTypesAndAnnotations(ce,G):Us(c.length)}parameters(c){if(!di(c))return[];const g=N1(c);let O=this._ownParameters(c,g);return!O&&g!==Object&&(O=this.parameters(g)),O||[]}_ownAnnotations(c,g){if(c.annotations&&c.annotations!==g.annotations){let O=c.annotations;return"function"==typeof O&&O.annotations&&(O=O.annotations),O}return c.decorators&&c.decorators!==g.decorators?Cu(c.decorators):c.hasOwnProperty(Bo)?c[Bo]:null}annotations(c){if(!di(c))return[];const g=N1(c),O=this._ownAnnotations(c,g)||[];return(g!==Object?this.annotations(g):[]).concat(O)}_ownPropMetadata(c,g){if(c.propMetadata&&c.propMetadata!==g.propMetadata){let O=c.propMetadata;return"function"==typeof O&&O.propMetadata&&(O=O.propMetadata),O}if(c.propDecorators&&c.propDecorators!==g.propDecorators){const O=c.propDecorators,U={};return Object.keys(O).forEach(G=>{U[G]=Cu(O[G])}),U}return c.hasOwnProperty(Rs)?c[Rs]:null}propMetadata(c){if(!di(c))return{};const g=N1(c),O={};if(g!==Object){const G=this.propMetadata(g);Object.keys(G).forEach(ce=>{O[ce]=G[ce]})}const U=this._ownPropMetadata(c,g);return U&&Object.keys(U).forEach(G=>{const ce=[];O.hasOwnProperty(G)&&ce.push(...O[G]),ce.push(...U[G]),O[G]=ce}),O}ownPropMetadata(c){return di(c)&&this._ownPropMetadata(c,N1(c))||{}}hasLifecycleHook(c,g){return c instanceof Rn&&g in c.prototype}}function Cu(l){return l?l.map(c=>new(0,c.type.annotationCls)(...c.args?c.args:[])):[]}function N1(l){const c=l.prototype?Object.getPrototypeOf(l.prototype):null;return(c?c.constructor:null)||Object}const jc=xe(Do("Inject",l=>({token:l})),-1),B2=xe(Do("Optional"),8),qc=xe(Do("Self"),2),bl=xe(Do("SkipSelf"),4),d3=xe(Do("Host"),1);let zl=null;function Ul(){return zl=zl||new xu}function hc(l){return Mu(Ul().parameters(l))}function Mu(l){return l.map(c=>function u3(l){const c={token:null,attribute:null,host:!1,optional:!1,self:!1,skipSelf:!1};if(Array.isArray(l)&&l.length>0)for(let g=0;g|^->||--!>|)/;function v3(l){return l.replace(j4,c=>c.replace(q4,"\u200b$1\u200b"))}const U2=new Map;let s0=0;const W2="__ngContext__";function us(l,c){Hi(c)?(l[W2]=c[20],function V2(l){U2.set(l[20],l)}(c)):l[W2]=c}let o0;function K2(l,c){return o0(l,c)}function yo(l){const c=l[3];return La(c)?c[3]:c}function c0(l){return e1(l[13])}function d0(l){return e1(l[4])}function e1(l){for(;null!==l&&!La(l);)l=l[4];return l}function Zl(l,c,g,O,U){if(null!=O){let G,ce=!1;La(O)?G=O:Hi(O)&&(ce=!0,O=O[0]);const Se=Bi(O);0===l&&null!==g?null==U?_0(c,g,Se):Yl(c,g,Se,U||null,!0):1===l&&null!==g?Yl(c,g,Se,U||null,!0):2===l?y0(c,Se,ce):3===l&&c.destroyNode(Se),null!=G&&function Wu(l,c,g,O,U){const G=g[7],ce=Bi(g);G!==ce&&Zl(c,l,O,G,U);for(let Se=10;Se0&&(g[U-1][4]=c),O0&&(l[g-1][4]=O[4]);const G=ds(l,10+c);!function C3(l,c){i1(l,c,c[11],2,null,null),c[0]=null,c[6]=null}(O[1],O);const ce=G[19];null!==ce&&ce.detachView(G[1]),O[3]=null,O[4]=null,O[2]&=-65}return O}function Ru(l,c){if(!(128&c[2])){const g=c[11];g.destroyNode&&i1(l,c,g,3,null,null),function t1(l){let c=l[13];if(!c)return p0(l[1],l);for(;c;){let g=null;if(Hi(c))g=c[13];else{const O=c[10];O&&(g=O)}if(!g){for(;c&&!c[4]&&c!==l;)Hi(c)&&p0(c[1],c),c=c[3];null===c&&(c=l),Hi(c)&&p0(c[1],c),g=c&&c[4]}c=g}}(c)}}function p0(l,c){if(!(128&c[2])){c[2]&=-65,c[2]|=128,function V1(l,c){let g;if(null!=l&&null!=(g=l.destroyHooks))for(let O=0;O=0?O[U=ce]():O[U=-ce].unsubscribe(),G+=2}else{const ce=O[U=g[G+1]];g[G].call(ce)}if(null!==O){for(let G=U+1;G-1){const{encapsulation:G}=l.data[O.directiveStart+U];if(G===Ut.None||G===Ut.Emulated)return null}return Li(O,g)}}function Yl(l,c,g,O,U){l.insertBefore(c,g,O,U)}function _0(l,c,g){l.appendChild(c,g)}function Fu(l,c,g,O,U){null!==O?Yl(l,c,g,O,U):_0(l,c,g)}function Q2(l,c){return l.parentNode(c)}function zu(l,c,g){return m0(l,c,g)}function Uu(l,c,g){return 40&l.type?Li(l,g):null}let g0,X2,J2,Xo,m0=Uu;function v0(l,c){m0=l,g0=c}function j2(l,c,g,O){const U=Bu(l,O,c),G=c[11],Se=zu(O.parent||c[6],O,c);if(null!=U)if(Array.isArray(g))for(let Ke=0;Kel,createScript:l=>l,createScriptURL:l=>l})}catch{}return X2}function Fo(l){return M0()?.createHTML(l)||l}function bc(l,c,g){const O=kn(),U=st(),G=Li(U,O);if(2===U.type&&"iframe"===c.toLowerCase()){const ce=G;ce.src="",ce.srcdoc=Fo(""),y0(O[11],ce);throw new Z(-910,!1)}return l}function S3(l){J2=l}function Zu(){return void 0!==J2?J2:typeof document<"u"?document:void 0}function D0(){if(void 0===Xo&&(Xo=null,pt.trustedTypes))try{Xo=pt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:l=>l,createScript:l=>l,createScriptURL:l=>l})}catch{}return Xo}function $2(l){return D0()?.createHTML(l)||l}function Yu(l){return D0()?.createScript(l)||l}function A0(l){return D0()?.createScriptURL(l)||l}class xc{constructor(c){this.changingThisBreaksApplicationSecurity=c}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${W})`}}class ef extends xc{getTypeName(){return"HTML"}}class tf extends xc{getTypeName(){return"Style"}}class Qu extends xc{getTypeName(){return"Script"}}class O3 extends xc{getTypeName(){return"URL"}}class P3 extends xc{getTypeName(){return"ResourceURL"}}function Jo(l){return l instanceof xc?l.changingThisBreaksApplicationSecurity:l}function Cc(l,c){const g=function Mc(l){return l instanceof xc&&l.getTypeName()||null}(l);if(null!=g&&g!==c){if("ResourceURL"===g&&"URL"===c)return!0;throw new Error(`Required a safe ${c}, got a ${g} (see ${W})`)}return g===c}function T0(l){return new ef(l)}function k3(l){return new tf(l)}function R3(l){return new Qu(l)}function ju(l){return new O3(l)}function qu(l){return new P3(l)}function ed(l){const c=new W1(l);return function B3(){try{return!!(new window.DOMParser).parseFromString(Fo(""),"text/html")}catch{return!1}}()?new Xu(c):c}class Xu{constructor(c){this.inertDocumentHelper=c}getInertBodyElement(c){c=""+c;try{const g=(new window.DOMParser).parseFromString(Fo(c),"text/html").body;return null===g?this.inertDocumentHelper.getInertBodyElement(c):(g.removeChild(g.firstChild),g)}catch{return null}}}class W1{constructor(c){if(this.defaultDoc=c,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const g=this.inertDocument.createElement("html");this.inertDocument.appendChild(g);const O=this.inertDocument.createElement("body");g.appendChild(O)}}getInertBodyElement(c){const g=this.inertDocument.createElement("template");if("content"in g)return g.innerHTML=Fo(c),g;const O=this.inertDocument.createElement("body");return O.innerHTML=Fo(c),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(O),O}stripCustomNsAttrs(c){const g=c.attributes;for(let U=g.length-1;0"),!0}endElement(c){const g=c.nodeName.toLowerCase();jl.hasOwnProperty(g)&&!Ql.hasOwnProperty(g)&&(this.buf.push(""))}chars(c){this.buf.push(I0(c))}checkClobberedElement(c,g){if(g&&(c.compareDocumentPosition(g)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${c.outerHTML}`);return g}}const Z1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,z3=/([^\#-~ |!])/g;function I0(l){return l.replace(/&/g,"&").replace(Z1,function(c){return"&#"+(1024*(c.charCodeAt(0)-55296)+(c.charCodeAt(1)-56320)+65536)+";"}).replace(z3,function(c){return"&#"+c.charCodeAt(0)+";"}).replace(//g,">")}let ad;function nh(l,c){let g=null;try{ad=ad||ed(l);let O=c?String(c):"";g=ad.getInertBodyElement(O);let U=5,G=O;do{if(0===U)throw new Error("Failed to sanitize html because the input is unstable");U--,O=G,G=g.innerHTML,g=ad.getInertBodyElement(O)}while(O!==G);return Fo((new th).sanitizeChildren(ih(g)||g))}finally{if(g){const O=ih(g)||g;for(;O.firstChild;)O.removeChild(O.firstChild)}}}function ih(l){return"content"in l&&function wr(l){return l.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===l.nodeName}(l)?l.content:null}var el;function L0(l){const c=Cl();return c?$2(c.sanitize(el.HTML,l)||""):Cc(l,"HTML")?$2(Jo(l)):nh(Zu(),ae(l))}function rd(l){const c=Cl();return c?c.sanitize(el.STYLE,l)||"":Cc(l,"Style")?Jo(l):ae(l)}function ah(l){const c=Cl();return c?c.sanitize(el.URL,l)||"":Cc(l,"URL")?Jo(l):td(ae(l))}function S0(l){const c=Cl();if(c)return A0(c.sanitize(el.RESOURCE_URL,l)||"");if(Cc(l,"ResourceURL"))return A0(Jo(l));throw new Z(904,!1)}function sd(l){const c=Cl();if(c)return Yu(c.sanitize(el.SCRIPT,l)||"");if(Cc(l,"Script"))return Yu(Jo(l));throw new Z(905,!1)}function rh(l){return Fo(l[0])}function Ga(l){return function E0(l){return M0()?.createScriptURL(l)||l}(l[0])}function P0(l,c,g){return function O0(l,c){return"src"===c&&("embed"===l||"frame"===l||"iframe"===l||"media"===l||"script"===l)||"href"===c&&("base"===l||"link"===l)?S0:ah}(c,g)(l)}function Cl(){const l=kn();return l&&l[12]}!function(l){l[l.NONE=0]="NONE",l[l.HTML=1]="HTML",l[l.STYLE=2]="STYLE",l[l.SCRIPT=3]="SCRIPT",l[l.URL=4]="URL",l[l.RESOURCE_URL=5]="RESOURCE_URL"}(el||(el={}));const er=new va("ENVIRONMENT_INITIALIZER"),r1=new va("INJECTOR",-1),Q1=new va("INJECTOR_DEF_TYPES");class k0{get(c,g=Nt){if(g===Nt){const O=new Error(`NullInjectorError: No provider for ${k(c)}!`);throw O.name="NullInjectorError",O}return g}}function s1(l){return{\u0275providers:l}}function R0(...l){return{\u0275providers:sh(!0,l),\u0275fromNgModule:!0}}function sh(l,...c){const g=[],O=new Set;let U;return Fr(c,G=>{const ce=G;o1(ce,g,[],O)&&(U||(U=[]),U.push(ce))}),void 0!==U&&B0(U,g),g}function B0(l,c){for(let g=0;g{c.push(G)})}}function o1(l,c,g,O){if(!(l=P(l)))return!1;let U=null,G=ut(l);const ce=!G&&ft(l);if(G||ce){if(ce&&!ce.standalone)return!1;U=l}else{const Ke=l.ngModule;if(G=ut(Ke),!G)return!1;U=Ke}const Se=O.has(U);if(ce){if(Se)return!1;if(O.add(U),ce.dependencies){const Ke="function"==typeof ce.dependencies?ce.dependencies():ce.dependencies;for(const ot of Ke)o1(ot,c,g,O)}}else{if(!G)return!1;{if(null!=G.imports&&!Se){let ot;O.add(U);try{Fr(G.imports,wt=>{o1(wt,c,g,O)&&(ot||(ot=[]),ot.push(wt))})}finally{}void 0!==ot&&B0(ot,c)}if(!Se){const ot=Oa(U)||(()=>new U);c.push({provide:U,useFactory:ot,deps:Tt},{provide:Q1,useValue:U,multi:!0},{provide:er,useValue:()=>gt(U),multi:!0})}const Ke=G.providers;if(null!=Ke&&!Se){Ml(Ke,wt=>{c.push(wt)})}}}return U!==l&&void 0!==l.providers}function Ml(l,c){for(let g of l)z(g)&&(g=g.\u0275providers),Array.isArray(g)?Ml(g,c):c(g)}const U3=D({provide:String,useValue:D});function j1(l){return null!==l&&"object"==typeof l&&U3 in l}function F0(l){return!(!l||!l.useExisting)}function od(l){return!(!l||!l.useFactory)}function l1(l){return"function"==typeof l}const da=new va("Set Injector scope."),q1={},Ec={};let ld;function ql(){return void 0===ld&&(ld=new k0),ld}class tl{}class Xl extends tl{constructor(c,g,O,U){super(),this.parent=g,this.source=O,this.scopes=U,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,c1(c,ce=>this.processProvider(ce)),this.records.set(r1,Jl(void 0,this)),U.has("environment")&&this.records.set(tl,Jl(void 0,this));const G=this.records.get(da);null!=G&&"string"==typeof G.value&&this.scopes.add(G.value),this.injectorDefTypes=new Set(this.get(Q1.multi,Tt,ee.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const c of this._ngOnDestroyHooks)c.ngOnDestroy();for(const c of this._onDestroyHooks)c()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(c){this._onDestroyHooks.push(c)}runInContext(c){this.assertNotDestroyed();const g=pn(this),O=Oe(void 0);try{return c()}finally{pn(g),Oe(O)}}get(c,g=Nt,O=ee.Default){this.assertNotDestroyed(),O=Y(O);const U=pn(this),G=Oe(void 0);try{if(!(O&ee.SkipSelf)){let Se=this.records.get(c);if(void 0===Se){const Ke=function xo(l){return"function"==typeof l||"object"==typeof l&&l instanceof va}(c)&&be(c);Se=Ke&&this.injectableDefInScope(Ke)?Jl(cd(c),q1):null,this.records.set(c,Se)}if(null!=Se)return this.hydrate(c,Se)}const ce=O&ee.Self?ql():this.parent;return g=O&ee.Optional&&g===Nt?null:g,ce.get(c,g)}catch(ce){if("NullInjectorError"===ce.name){if((ce[yn]=ce[yn]||[]).unshift(k(c)),U)throw ce;return _t(ce,c,"R3InjectorError",this.source)}throw ce}finally{Oe(G),pn(U)}}resolveInjectorInitializers(){const c=pn(this),g=Oe(void 0);try{const O=this.get(er.multi,Tt,ee.Self);for(const U of O)U()}finally{pn(c),Oe(g)}}toString(){const c=[],g=this.records;for(const O of g.keys())c.push(k(O));return`R3Injector[${c.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Z(205,!1)}processProvider(c){let g=l1(c=P(c))?c:P(c&&c.provide);const O=function Dc(l){if(j1(l))return Jl(void 0,l.useValue);return Jl(dd(l),q1)}(c);if(l1(c)||!0!==c.multi){this.records.get(g)}else{let U=this.records.get(g);U||(U=Jl(void 0,q1,!0),U.factory=()=>te(U.multi),this.records.set(g,U)),g=c,U.multi.push(c)}this.records.set(g,O)}hydrate(c,g){return g.value===q1&&(g.value=Ec,g.value=g.factory()),"object"==typeof g.value&&g.value&&function Vs(l){return null!==l&&"object"==typeof l&&"function"==typeof l.ngOnDestroy}(g.value)&&this._ngOnDestroyHooks.add(g.value),g.value}injectableDefInScope(c){if(!c.providedIn)return!1;const g=P(c.providedIn);return"string"==typeof g?"any"===g||this.scopes.has(g):this.injectorDefTypes.has(g)}}function cd(l){const c=be(l),g=null!==c?c.factory:Oa(l);if(null!==g)return g;if(l instanceof va)throw new Z(204,!1);if(l instanceof Function)return function Xr(l){const c=l.length;if(c>0){Us(c,"?");throw new Z(204,!1)}const g=function ge(l){const c=l&&(l[Le]||l[ne]);if(c){const g=function et(l){if(l.hasOwnProperty("name"))return l.name;const c=(""+l).match(/^function\s*([^\s(]+)/);return null===c?"":c[1]}(l);return console.warn(`DEPRECATED: DI is instantiating a token "${g}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${g}" class.`),c}return null}(l);return null!==g?()=>g.factory(l):()=>new l}(l);throw new Z(204,!1)}function dd(l,c,g){let O;if(l1(l)){const U=P(l);return Oa(U)||cd(U)}if(j1(l))O=()=>P(l.useValue);else if(od(l))O=()=>l.useFactory(...te(l.deps||[]));else if(F0(l))O=()=>gt(P(l.useExisting));else{const U=P(l&&(l.useClass||l.provide));if(!function bo(l){return!!l.deps}(l))return Oa(U)||cd(U);O=()=>new U(...te(l.deps))}return O}function Jl(l,c,g=!1){return{factory:l,value:c,multi:g?[]:void 0}}function c1(l,c){for(const g of l)Array.isArray(g)?c1(g,c):g&&z(g)?c1(g.\u0275providers,c):c(g)}class Ho{}class X1{}const z0="ngComponent";class lh{resolveComponentFactory(c){throw function oh(l){const c=Error(`No component factory found for ${k(l)}. Did you add it to @NgModule.entryComponents?`);return c[z0]=l,c}(c)}}class d1{}function u1(l,c){return new Ac(Li(l,c))}d1.NULL=new lh;class Ac{constructor(c){this.nativeElement=c}}function ud(l){return l instanceof Ac?l.nativeElement:l}Ac.__NG_ELEMENT_ID__=function V3(){return u1(Ra(),kn())};class hd{}class U0{}U0.__NG_ELEMENT_ID__=()=>function ch(){const l=kn(),g=ca(Ra().index,l);return(Hi(g)?g:l)[11]}();class fd{}fd.\u0275prov=Ge({token:fd,providedIn:"root",factory:()=>null});class dh{constructor(c){this.full=c,this.major=c.split(".")[0],this.minor=c.split(".")[1],this.patch=c.split(".").slice(2).join(".")}}const V0=new dh("15.0.2"),pd={},J1="ngOriginalError";function W0(l){return l[J1]}class El{constructor(){this._console=console}handleError(c){const g=this._findOriginalError(c);this._console.error("ERROR",c),g&&this._console.error("ORIGINAL ERROR",g)}_findOriginalError(c){let g=c&&W0(c);for(;g&&W0(g);)g=W0(g);return g||null}}function K0(l){return l.ownerDocument.defaultView}function $1(l){return l.ownerDocument}function af(l){return l.ownerDocument.body}function nl(l){return l instanceof Function?l():l}function mh(l,c,g){let O=l.length;for(;;){const U=l.indexOf(c,g);if(-1===U)return U;if(0===U||l.charCodeAt(U-1)<=32){const G=c.length;if(U+G===O||l.charCodeAt(U+G)<=32)return U}g=U+1}}const Dl="ng-template";function t2(l,c,g){let O=0;for(;OG?"":U[Kt+1].toLowerCase();const bn=8&O?cn:null;if(bn&&-1!==mh(bn,ot,0)||2&O&&ot!==cn){if(Ao(O))return!1;ce=!0}}}}else{if(!ce&&!Ao(O)&&!Ao(Ke))return!1;if(ce&&Ao(Ke))continue;ce=!1,O=Ke|1&O}}return Ao(O)||ce}function Ao(l){return 0==(1&l)}function vh(l,c,g,O){if(null===c)return-1;let U=0;if(O||!g){let G=!1;for(;U-1)for(g++;g0?'="'+Se+'"':"")+"]"}else 8&O?U+="."+ce:4&O&&(U+=" "+ce);else""!==U&&!Ao(ce)&&(c+=Z0(G,U),U=""),O=ce,G=G||!Ao(O);g++}return""!==U&&(c+=Z0(G,U)),c}const Vi={};function md(l){Dh(Ui(),kn(),Ne()+l,!1)}function Dh(l,c,g,O){if(!O)if(3==(3&c[2])){const G=l.preOrderCheckHooks;null!==G&&Pt(c,G,g)}else{const G=l.preOrderHooks;null!==G&&Qe(c,G,0,g)}he(g)}const gd={\u0275\u0275defineInjectable:Ge,\u0275\u0275defineInjector:We,\u0275\u0275inject:gt,\u0275\u0275invalidFactoryDep:At,resolveForwardRef:P};function n2(l,c){let g=null,O=null;l.hasOwnProperty(Le)||Object.defineProperty(l,Le,{get:()=>(null===g&&(g=Dn().compileInjectable(gd,`ng:///${l.name}/\u0275prov.js`,function tt(l,c){const g=c||{providedIn:null},O={name:l.name,type:l,typeArgumentCount:0,providedIn:g.providedIn};return(T(g)||V(g))&&void 0!==g.deps&&(O.deps=Mu(g.deps)),T(g)?O.useClass=g.useClass:function x(l){return K in l}(g)?O.useValue=g.useValue:V(g)?O.useFactory=g.useFactory:function me(l){return void 0!==l.useExisting}(g)&&(O.useExisting=g.useExisting),O}(l,c))),g)}),l.hasOwnProperty(Rt)||Object.defineProperty(l,Rt,{get:()=>{if(null===O){const U=Dn();O=U.compileFactory(gd,`ng:///${l.name}/\u0275fac.js`,{name:l.name,type:l,typeArgumentCount:0,deps:hc(l),target:U.FactoryTarget.Injectable})}return O},configurable:!0})}const K=D({provide:String,useValue:D});function T(l){return void 0!==l.useClass}function V(l){return void 0!==l.useFactory}const kt=cs("Injectable",void 0,void 0,void 0,(l,c)=>n2(l,c));function jt(l,c=null,g=null,O){const U=on(l,c,g,O);return U.resolveInjectorInitializers(),U}function on(l,c=null,g=null,O,U=new Set){const G=[g||Tt,R0(l)];return O=O||("object"==typeof l?void 0:k(l)),new Xl(G,c||ql(),O||null,U)}class xn{static create(c,g){if(Array.isArray(c))return jt({name:""},g,c,"");{const O=c.name??"";return jt({name:O},c.parent,c.providers,O)}}}function Xn(l){return l.length>1?" ("+function fi(l){const c=[];for(let g=0;g-1)return c.push(l[g]),c;c.push(l[g])}return c}(l.slice().reverse()).map(O=>k(O.token)).join(" -> ")+")":""}function Pi(l,c,g,O){const U=[c],G=g(U),ce=O?function uh(l,c){const g=`${l} caused by: ${c instanceof Error?c.message:c}`,O=Error(g);return O[J1]=c,O}(G,O):Error(G);return ce.addKey=Ni,ce.keys=U,ce.injectors=[l],ce.constructResolvingMessage=g,ce[J1]=O,ce}function Ni(l,c){this.injectors.push(l),this.keys.push(c),this.message=this.constructResolvingMessage(this.keys)}function Jr(l,c){const g=[];for(let O=0,U=c.length;Ogt(r1)}),xn.__NG_ELEMENT_ID__=-1;class lo{constructor(c,g){if(this.token=c,this.id=g,!c)throw new Z(208,!1);this.displayName=k(this.token)}static get(c){return Ms.get(P(c))}static get numberOfKeys(){return Ms.numberOfKeys}}const Ms=new class il{constructor(){this._allKeys=new Map}get(c){if(c instanceof lo)return c;if(this._allKeys.has(c))return this._allKeys.get(c);const g=new lo(c,lo.numberOfKeys);return this._allKeys.set(c,g),g}get numberOfKeys(){return this._allKeys.size}};class To{constructor(c,g,O){this.key=c,this.optional=g,this.visibility=O}static fromKey(c){return new To(c,!1,null)}}const al=[];class zo{constructor(c,g,O){this.key=c,this.resolvedFactories=g,this.multiProvider=O,this.resolvedFactory=this.resolvedFactories[0]}}class Ah{constructor(c,g){this.factory=c,this.dependencies=g}}function h1(l){let c,g;if(l.useClass){const O=P(l.useClass);c=Ul().factory(O),g=ki(O)}else l.useExisting?(c=O=>O,g=[To.fromKey(lo.get(l.useExisting))]):l.useFactory?(c=l.useFactory,g=function wi(l,c){if(c){const g=c.map(O=>[O]);return c.map(O=>_a(l,O,g))}return ki(l)}(l.useFactory,l.deps)):(c=()=>l.useValue,g=al);return new Ah(c,g)}function Tc(l){return new zo(lo.get(l.provide),[h1(l)],l.multi||!1)}function Th(l){const O=function wh(l,c){for(let g=0;g{if(g instanceof Rn)c.push({provide:g,useClass:g});else if(g&&"object"==typeof g&&void 0!==g.provide)c.push(g);else{if(!Array.isArray(g))throw function Ia(l){return Error(`Invalid provider - only instances of Provider and Type are allowed, got: ${l}`)}(g);vi(g,c)}}),c}function ki(l){const c=Ul().parameters(l);if(!c)return[];if(c.some(g=>null==g))throw Jr(l,c);return c.map(g=>_a(l,g,c))}function _a(l,c,g){let O=null,U=!1;if(!Array.isArray(c))return Tr(c instanceof jc?c.token:c,U,null);let G=null;for(let ce=0;ce=this._providers.length)throw function Ns(l){return Error(`Index ${l} is out-of-bounds.`)}(c);return this._providers[c]}_new(c){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function Oi(l,c){return Pi(l,c,function(g){return`Cannot instantiate cyclic dependency!${Xn(g)}`})}(this,c.key);return this._instantiateProvider(c)}_getMaxNumberOfObjects(){return this.objs.length}_instantiateProvider(c){if(c.multiProvider){const g=[];for(let O=0;Othis._getByReflectiveDependency(ce))}catch(ce){throw ce.addKey&&ce.addKey(this,c.key),ce}try{G=O(...U)}catch(ce){throw function na(l,c,g,O){return Pi(l,O,function(U){const G=k(U[0].token);return`${c.message}: Error during instantiation of ${G}!${Xn(U)}.`},c)}(this,ce,ce.stack,c.key)}return G}_getByReflectiveDependency(c){return this._getByKey(c.key,c.visibility,c.optional?null:Nt)}_getByKey(c,g,O){return c===Co.INJECTOR_KEY?this:g instanceof qc?this._getByKeySelf(c,O):this._getByKeyDefault(c,O,g)}_getObjByKeyId(c){for(let g=0;g' "'+g.key.displayName+'" ').join(", ")}])`}toString(){return this.displayName}}function wc(l,c=ee.Default){const g=kn();if(null===g)return gt(l,c);return O2(Ra(),g,P(l),c)}function Ih(){throw new Error("invalid")}function Al(l,c){const g=l.contentQueries;if(null!==g)for(let O=0;O22&&Dh(l,c,22,!1),Va(ce?2:0,U),g(O,U)}finally{he(G),Va(ce?3:1,U)}}function Q0(l,c,g){if(gr(c)){const O=c.directiveStart,U=c.directiveEnd;for(let G=O;G0;){const g=l[--c];if("number"==typeof g&&g<0)return g}return 0})(ce)!=Se&&ce.push(Se),ce.push(g,O,G)}}(l,c,O,Y0(l,g,U.hostVars,Vi),U)}function Qp(l,c,g){const O=Li(c,l),U=J3(g),G=l[10],ce=kh(l,f1(l,U,null,g.onPush?32:16,O,c,G,G.createRenderer(O,g),null,null,null));l[c.index]=ce}function ec(l,c,g,O,U,G){const ce=Li(l,c);n4(c[11],ce,G,l.value,g,O,U)}function n4(l,c,g,O,U,G,ce){if(null==G)l.removeAttribute(c,U,g);else{const Se=null==ce?ae(G):ce(G,O||"",U);l.setAttribute(c,U,Se,g)}}function mf(l,c,g,O,U,G){const ce=G[c];if(null!==ce){const Se=O.setInput;for(let Ke=0;Ke0&&Ph(g)}}function Ph(l){for(let O=c0(l);null!==O;O=d0(O))for(let U=10;U0&&Ph(G)}const g=l[1].components;if(null!==g)for(let O=0;O0&&Ph(U)}}function Jp(l,c){const g=ca(c,l),O=g[1];(function $p(l,c){for(let g=c.length;g-1&&(Y2(c,O),ds(g,O))}this._attachedToViewContainer=!1}Ru(this._lView[1],this._lView)}onDestroy(c){e4(this._lView[1],this._lView,null,c)}markForCheck(){Rh(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Bh(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Z(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function M3(l,c){i1(l,c,c[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(c){if(this._attachedToViewContainer)throw new Z(902,!1);this._appRef=c}}class bf extends j0{constructor(c){super(c),this._view=c}detectChanges(){const c=this._view;Bh(c[1],c,c[8],!1)}checkNoChanges(){}get context(){return null}}class xf extends d1{constructor(c){super(),this.ngModule=c}resolveComponentFactory(c){const g=ft(c);return new q0(g,this.ngModule)}}function Cf(l){const c=[];for(let g in l)if(l.hasOwnProperty(g)){const O=l[g];c.push({propName:O,templateName:g})}return c}class Mf{constructor(c,g){this.injector=c,this.parentInjector=g}get(c,g,O){O=Y(O);const U=this.injector.get(c,pd,O);return U!==pd||g===pd?U:this.parentInjector.get(c,g,O)}}class q0 extends X1{constructor(c,g){super(),this.componentDef=c,this.ngModule=g,this.componentType=c.type,this.selector=function Mh(l){return l.map(Q3).join(",")}(c.selectors),this.ngContentSelectors=c.ngContentSelectors?c.ngContentSelectors:[],this.isBoundToModule=!!g}get inputs(){return Cf(this.componentDef.inputs)}get outputs(){return Cf(this.componentDef.outputs)}create(c,g,O,U){let G=(U=U||this.ngModule)instanceof tl?U:U?.injector;G&&null!==this.componentDef.getStandaloneInjector&&(G=this.componentDef.getStandaloneInjector(G)||G);const ce=G?new Mf(c,G):c,Se=ce.get(hd,null);if(null===Se)throw new Z(407,!1);const Ke=ce.get(fd,null),ot=Se.createRenderer(null,this.componentDef),wt=this.componentDef.selectors[0][0]||"div",Kt=O?function Fp(l,c,g){const O=g===Ut.ShadowDom;return l.selectRootElement(c,O)}(ot,O,this.componentDef.encapsulation):Z2(ot,wt,function t6(l){const c=l.toLowerCase();return"svg"===c?"svg":"math"===c?Bt:null}(wt)),cn=this.componentDef.onPush?288:272,bn=$3(0,null,null,1,0,null,null,null,null,null),On=f1(null,bn,null,cn,null,null,Se,ot,Ke,ce,null);let ii,hi;Yo(On);try{const Mi=this.componentDef;let Fi,Kn=null;Mi.findHostDirectiveDefs?(Fi=[],Kn=new Map,Mi.findHostDirectiveDefs(Mi,Fi,Kn),Fi.push(Mi)):Fi=[Mi];const ji=function n6(l,c){const g=l[1],O=22;return l[O]=c,vd(g,O,2,"#host",null)}(On,Kt),Kr=function i6(l,c,g,O,U,G,ce,Se){const Ke=U[1];!function a6(l,c,g,O){for(const U of l)c.mergedAttrs=Na(c.mergedAttrs,U.hostAttrs);null!==c.mergedAttrs&&(Nh(c,c.mergedAttrs,!0),null!==g&&Ku(O,g,c))}(O,l,c,ce);const ot=G.createRenderer(c,g),wt=f1(U,J3(g),null,g.onPush?32:16,U[l.index],l,G,ot,Se||null,null,null);return Ke.firstCreatePass&&Ya(Ke,l,O.length-1),kh(U,wt),U[l.index]=wt}(ji,Kt,Mi,Fi,On,Se,ot);hi=Rr(bn,22),Kt&&function r6(l,c,g,O){if(O)Ka(l,g,["ng-version",V0.full]);else{const{attrs:U,classes:G}=function Eh(l){const c=[],g=[];let O=1,U=2;for(;O0&&C0(l,g,G.join(" "))}}(ot,Mi,Kt,O),void 0!==g&&function Af(l,c,g){const O=l.projection=[];for(let U=0;U=0;O--){const U=l[O];U.hostVars=c+=U.hostVars,U.hostAttrs=Na(U.hostAttrs,g=Na(g,U.hostAttrs))}}(O)}function l4(l){return l===Dt?{}:l===Tt?[]:l}function c4(l,c){const g=l.viewQuery;l.viewQuery=g?(O,U)=>{c(O,U),g(O,U)}:c}function o6(l,c){const g=l.contentQueries;l.contentQueries=g?(O,U,G)=>{c(O,U,G),g(O,U,G)}:c}function l6(l,c){const g=l.hostBindings;l.hostBindings=g?(O,U)=>{c(O,U),g(O,U)}:c}const c6=["providersResolver"],If=["template","decls","consts","vars","onPush","ngContentSelectors","styles","encapsulation","schemas"];function d6(l){let g,c=Tf(l.type);g=Ki(l)?c.\u0275cmp:c.\u0275dir;const O=l;for(const U of c6)O[U]=g[U];if(Ki(g))for(const U of If)O[U]=g[U]}function u6(l){return c=>{c.findHostDirectiveDefs=Lf,c.hostDirectives=(Array.isArray(l)?l:l()).map(g=>"function"==typeof g?{directive:P(g),inputs:Dt,outputs:Dt}:{directive:P(g.directive),inputs:Sf(g.inputs),outputs:Sf(g.outputs)})}}function Lf(l,c,g){if(null!==l.hostDirectives)for(const O of l.hostDirectives){const U=Lt(O.directive);Of(U.declaredInputs,O.inputs),Lf(U,c,g),g.set(U,O),c.push(U)}}function Sf(l){if(void 0===l||0===l.length)return Dt;const c={};for(let g=0;gce(Bi(ji[O.index])):O.index;let Kn=null;if(!ce&&Se&&(Kn=function x6(l,c,g,O){const U=l.cleanup;if(null!=U)for(let G=0;GKe?Se[Ke]:null}"string"==typeof ce&&(G+=2)}return null}(l,c,U,O.index)),null!==Kn){(Kn.__ngLastListenerFn__||Kn).__ngNextListenerFn__=G,Kn.__ngLastListenerFn__=G,cn=!1}else{G=Gf(O,c,wt,G,!1);const ji=g.listen(hi,U,G);Kt.push(G,ji),ot&&ot.push(U,Fi,Mi,Mi+1)}}else G=Gf(O,c,wt,G,!1);const bn=O.outputs;let On;if(cn&&null!==bn&&(On=bn[U])){const ii=On.length;if(ii)for(let hi=0;hi-1?ca(l.index,c):c);let Ke=Kf(c,g,O,ce),ot=G.__ngNextListenerFn__;for(;ot;)Ke=Kf(c,g,ot,ce)&&Ke,ot=ot.__ngNextListenerFn__;return U&&!1===Ke&&(ce.preventDefault(),ce.returnValue=!1),Ke}}function Zf(l=1){return no(l)}function Yf(l,c){let g=null;const O=function yh(l){const c=l.attrs;if(null!=c){const g=c.indexOf(5);if(0==(1&g))return c[g+1]}return null}(l);for(let U=0;U>17&32767}function w4(l){return 2|l}function g1(l){return(131068&l)>>2}function I4(l,c){return-131069&l|c<<2}function Yh(l){return 1|l}function $f(l,c,g,O,U,G){let ce=G?c.classBindings:c.styleBindings,Se=m1(ce),Ke=g1(ce);l[O]=g;let wt,ot=!1;if(Array.isArray(g)){const Kt=g;wt=Kt[1],(null===wt||lr(Kt,wt)>0)&&(ot=!0)}else wt=g;if(U)if(0!==Ke){const cn=m1(l[Se+1]);l[O+1]=Zh(cn,Se),0!==cn&&(l[cn+1]=I4(l[cn+1],O)),l[Se+1]=function T4(l,c){return 131071&l|c<<17}(l[Se+1],O)}else l[O+1]=Zh(Se,0),0!==Se&&(l[Se+1]=I4(l[Se+1],O)),Se=O;else l[O+1]=Zh(Ke,0),0===Se?Se=O:l[Ke+1]=I4(l[Ke+1],O),Ke=O;ot&&(l[O+1]=w4(l[O+1])),ep(l,wt,O,!0,G),ep(l,wt,O,!1,G),function E6(l,c,g,O,U){const G=U?l.residualClasses:l.residualStyles;null!=G&&"string"==typeof c&&lr(G,c)>=0&&(g[O+1]=Yh(g[O+1]))}(c,wt,l,O,G),ce=Zh(Se,Ke),G?c.classBindings=ce:c.styleBindings=ce}function ep(l,c,g,O,U){const G=l[g+1],ce=null===c;let Se=O?m1(G):g1(G),Ke=!1;for(;0!==Se&&(!1===Ke||ce);){const ot=l[Se],wt=l[Se+1];D6(ot,c)&&(Ke=!0,l[Se+1]=O?Yh(wt):w4(wt)),Se=O?m1(wt):g1(wt)}Ke&&(l[g+1]=O?w4(G):Yh(G))}function D6(l,c){return null===l||null==c||(Array.isArray(l)?l[1]:l)===c||!(!Array.isArray(l)||"string"!=typeof c)&&lr(l,c)>=0}const Hr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function tp(l){return l.substring(Hr.key,Hr.keyEnd)}function A6(l){return l.substring(Hr.value,Hr.valueEnd)}function np(l,c){const g=Hr.textEnd;return g===c?-1:(c=Hr.keyEnd=function w6(l,c,g){for(;c32;)c++;return c}(l,Hr.key=c,g),wd(l,c,g))}function ap(l,c){const g=Hr.textEnd;let O=Hr.key=wd(l,c,g);return g===O?-1:(O=Hr.keyEnd=function I6(l,c,g){let O;for(;c=65&&(-33&O)<=90||O>=48&&O<=57);)c++;return c}(l,O,g),O=sp(l,O,g,58),O=Hr.value=wd(l,O,g),O=Hr.valueEnd=function L6(l,c,g){let O=-1,U=-1,G=-1,ce=c,Se=ce;for(;ce32&&(Se=ce),G=U,U=O,O=-33&Ke}return Se}(l,O,g),sp(l,O,g,59))}function rp(l){Hr.key=0,Hr.keyEnd=0,Hr.value=0,Hr.valueEnd=0,Hr.textEnd=l.length}function wd(l,c,g){for(;c=0;g=ap(c,g))v1(l,tp(c),A6(c))}function O4(l){sl(Cs,zr,l,!0)}function zr(l,c){for(let g=function T6(l){return rp(l),np(l,wd(l,0,Hr.textEnd))}(c);g>=0;g=np(c,g))Cs(l,tp(c),!0)}function uo(l,c,g,O){const U=kn(),G=Ui(),ce=Yr(2);if(G.firstUpdatePass&&Vo(G,l,ce,O),c!==Vi&&Ws(U,ce,c)){Qa(G,G.data[Ne()],U,U[11],l,U[ce+1]=function S6(l,c){return null==l||("string"==typeof c?l+=c:"object"==typeof l&&(l=k(Jo(l)))),l}(c,g),O,ce)}}function sl(l,c,g,O){const U=Ui(),G=Yr(2);U.firstUpdatePass&&Vo(U,null,G,O);const ce=kn();if(g!==Vi&&Ws(ce,G,g)){const Se=U.data[Ne()];if(ja(Se,O)&&!lp(U,G)){let Ke=O?Se.classesWithoutHost:Se.stylesWithoutHost;null!==Ke&&(g=p(Ke,g||"")),_4(U,Se,ce,g,O)}else!function Id(l,c,g,O,U,G,ce,Se){U===Vi&&(U=Tt);let Ke=0,ot=0,wt=0=l.expandoStartIndex}function Vo(l,c,g,O){const U=l.data;if(null===U[g+1]){const G=U[Ne()],ce=lp(l,g);ja(G,O)&&null===c&&!ce&&(c=!1),c=function Lc(l,c,g,O){const U=Go(l);let G=O?c.residualClasses:c.residualStyles;if(null===U)0===(O?c.classBindings:c.styleBindings)&&(g=Ur(g=Sc(null,l,c,g,O),c.attrs,O),G=null);else{const ce=c.directiveStylingLast;if(-1===ce||l[ce]!==U)if(g=Sc(U,l,c,g,O),null===G){let Ke=function hr(l,c,g){const O=g?c.classBindings:c.styleBindings;if(0!==g1(O))return l[m1(O)]}(l,c,O);void 0!==Ke&&Array.isArray(Ke)&&(Ke=Sc(null,l,c,Ke[1],O),Ke=Ur(Ke,c.attrs,O),function s2(l,c,g,O){const U=g?c.classBindings:c.styleBindings;l[m1(U)]=O}(l,c,O,Ke))}else G=function Cn(l,c,g){let O;const U=c.directiveEnd;for(let G=1+c.directiveStylingLast;G0;){const Ke=l[U],ot=Array.isArray(Ke),wt=ot?Ke[1]:Ke,Kt=null===wt;let cn=g[U+1];cn===Vi&&(cn=Kt?Tt:void 0);let bn=Kt?Nl(cn,O):wt===O?cn:void 0;if(ot&&!l2(bn)&&(bn=Nl(Ke,O)),l2(bn)&&(Se=bn,ce))return Se;const On=l[U+1];U=ce?m1(On):g1(On)}if(null!==c){let Ke=G?c.residualClasses:c.residualStyles;null!=Ke&&(Se=Nl(Ke,O))}return Se}function l2(l){return void 0!==l}function ja(l,c){return 0!=(l.flags&(c?8:16))}function es(l,c=""){const g=kn(),O=Ui(),U=l+22,G=O.firstCreatePass?vd(O,U,1,c,null):O.data[U],ce=g[U]=h0(g[11],c);j2(O,g,ce,G),Ba(G,!1)}function Oc(l){return wl("",l,""),Oc}function wl(l,c,g){const O=kn(),U=bd(O,l,c,g);return U!==Vi&&Ic(O,Ne(),U),wl}function tu(l,c,g,O,U){const G=kn(),ce=xd(G,l,c,g,O,U);return ce!==Vi&&Ic(G,Ne(),ce),tu}function Gs(l,c,g,O,U,G,ce){const Se=kn(),Ke=_1(Se,l,c,g,O,U,G,ce);return Ke!==Vi&&Ic(Se,Ne(),Ke),Gs}function y1(l,c,g,O,U,G,ce,Se,Ke){const ot=kn(),wt=Cd(ot,l,c,g,O,U,G,ce,Se,Ke);return wt!==Vi&&Ic(ot,Ne(),wt),y1}function ps(l,c,g,O,U,G,ce,Se,Ke,ot,wt){const Kt=kn(),cn=Md(Kt,l,c,g,O,U,G,ce,Se,Ke,ot,wt);return cn!==Vi&&Ic(Kt,Ne(),cn),ps}function ol(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn){const bn=kn(),On=Ed(bn,l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn);return On!==Vi&&Ic(bn,Ne(),On),ol}function b1(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On){const ii=kn(),hi=Dd(ii,l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On);return hi!==Vi&&Ic(ii,Ne(),hi),b1}function ts(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi){const Mi=kn(),Fi=Ad(Mi,l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi);return Fi!==Vi&&Ic(Mi,Ne(),Fi),ts}function x1(l){const c=kn(),g=r2(c,l);return g!==Vi&&Ic(c,Ne(),g),x1}function Zs(l,c,g){sl(Cs,zr,bd(kn(),l,c,g),!0)}function c2(l,c,g,O,U){sl(Cs,zr,xd(kn(),l,c,g,O,U),!0)}function ho(l,c,g,O,U,G,ce){sl(Cs,zr,_1(kn(),l,c,g,O,U,G,ce),!0)}function d2(l,c,g,O,U,G,ce,Se,Ke){sl(Cs,zr,Cd(kn(),l,c,g,O,U,G,ce,Se,Ke),!0)}function cp(l,c,g,O,U,G,ce,Se,Ke,ot,wt){sl(Cs,zr,Md(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt),!0)}function Ys(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn){sl(Cs,zr,Ed(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn),!0)}function Fa(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On){sl(Cs,zr,Dd(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On),!0)}function ll(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi){sl(Cs,zr,Ad(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi),!0)}function C1(l){sl(Cs,zr,r2(kn(),l),!0)}function u2(l,c,g){Ks(bd(kn(),l,c,g))}function Pc(l,c,g,O,U){Ks(xd(kn(),l,c,g,O,U))}function Ld(l,c,g,O,U,G,ce){Ks(_1(kn(),l,c,g,O,U,G,ce))}function nu(l,c,g,O,U,G,ce,Se,Ke){Ks(Cd(kn(),l,c,g,O,U,G,ce,Se,Ke))}function h2(l,c,g,O,U,G,ce,Se,Ke,ot,wt){Ks(Md(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt))}function M1(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn){Ks(Ed(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn))}function f2(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On){Ks(Dd(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On))}function P4(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi){Ks(Ad(kn(),l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi))}function dp(l){Ks(r2(kn(),l))}function Qh(l,c,g,O,U){return uo(l,bd(kn(),c,g,O),U,!1),Qh}function kc(l,c,g,O,U,G,ce){return uo(l,xd(kn(),c,g,O,U,G),ce,!1),kc}function jh(l,c,g,O,U,G,ce,Se,Ke){return uo(l,_1(kn(),c,g,O,U,G,ce,Se),Ke,!1),jh}function qh(l,c,g,O,U,G,ce,Se,Ke,ot,wt){return uo(l,Cd(kn(),c,g,O,U,G,ce,Se,Ke,ot),wt,!1),qh}function Xh(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn){return uo(l,Md(kn(),c,g,O,U,G,ce,Se,Ke,ot,wt,Kt),cn,!1),Xh}function tc(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On){return uo(l,Ed(kn(),c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn),On,!1),tc}function Il(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi){return uo(l,Dd(kn(),c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii),hi,!1),Il}function p2(l,c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi,Mi,Fi){return uo(l,Ad(kn(),c,g,O,U,G,ce,Se,Ke,ot,wt,Kt,cn,bn,On,ii,hi,Mi),Fi,!1),p2}function up(l,c,g){return uo(l,r2(kn(),c),g,!1),up}function Ds(l,c,g){const O=kn();if(Ws(O,to(),c)){Uo(Ui(),st(),O,l,c,O[11],g,!0)}return Ds}function fr(l,c,g){const O=kn();if(Ws(O,to(),c)){const G=Ui(),ce=st();Uo(G,ce,O,l,c,vf(Go(G.data),ce,O),g,!0)}return fr}const E1=void 0;var iu=["en",[["a","p"],["AM","PM"],E1],[["AM","PM"],E1,E1],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],E1,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],E1,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",E1,"{1} 'at' {0}",E1],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function Lr(l){const g=Math.floor(Math.abs(l)),O=l.toString().replace(/^[^.]*\.?/,"").length;return 1===g&&0===O?1:5}];let Io={};function Sd(l){const c=function ru(l){return l.toLowerCase().replace(/_/g,"-")}(l);let g=Rc(c);if(g)return g;const O=c.split("-")[0];if(g=Rc(O),g)return g;if("en"===O)return iu;throw new Z(701,!1)}function au(l){return Sd(l)[Ll.PluralCase]}function Rc(l){return l in Io||(Io[l]=pt.ng&&pt.ng.common&&pt.ng.common.locales&&pt.ng.common.locales[l]),Io[l]}var Ll;!function(l){l[l.LocaleId=0]="LocaleId",l[l.DayPeriodsFormat=1]="DayPeriodsFormat",l[l.DayPeriodsStandalone=2]="DayPeriodsStandalone",l[l.DaysFormat=3]="DaysFormat",l[l.DaysStandalone=4]="DaysStandalone",l[l.MonthsFormat=5]="MonthsFormat",l[l.MonthsStandalone=6]="MonthsStandalone",l[l.Eras=7]="Eras",l[l.FirstDayOfWeek=8]="FirstDayOfWeek",l[l.WeekendRange=9]="WeekendRange",l[l.DateFormat=10]="DateFormat",l[l.TimeFormat=11]="TimeFormat",l[l.DateTimeFormat=12]="DateTimeFormat",l[l.NumberSymbols=13]="NumberSymbols",l[l.NumberFormats=14]="NumberFormats",l[l.CurrencyCode=15]="CurrencyCode",l[l.CurrencySymbol=16]="CurrencySymbol",l[l.CurrencyName=17]="CurrencyName",l[l.Currencies=18]="Currencies",l[l.Directionality=19]="Directionality",l[l.PluralCase=20]="PluralCase",l[l.ExtraData=21]="ExtraData"}(Ll||(Ll={}));const Od=["zero","one","two","few","many"];const pr="en-US",Bc={marker:"element"},Wo={marker:"ICU"};var As;!function(l){l[l.SHIFT=2]="SHIFT",l[l.APPEND_EAGERLY=1]="APPEND_EAGERLY",l[l.COMMENT=2]="COMMENT"}(As||(As={}));let Pd=pr;function kd(l){N(l,"Expected localeId to be defined"),"string"==typeof l&&(Pd=l.toLowerCase().replace(/_/g,"-"))}function m2(l,c,g){const O=c.insertBeforeIndex,U=Array.isArray(O)?O[0]:O;return null===U?Uu(l,0,g):Bi(g[U])}function g2(l,c,g,O,U){const G=c.insertBeforeIndex;if(Array.isArray(G)){let ce=O,Se=null;if(3&c.type||(Se=ce,ce=U),null!==ce&&-1===c.componentOffset)for(let Ke=1;Ke1)for(let g=l.length-2;g>=0;g--){const O=l[g];Rd(O)||y2(O,c)&&null===Bd(O)&&su(O,c.index)}}function Rd(l){return!(64&l.type)}function y2(l,c){return Rd(c)||l.index>c.index}function Bd(l){const c=l.insertBeforeIndex;return Array.isArray(c)?c[0]:c}function su(l,c){const g=l.insertBeforeIndex;Array.isArray(g)?g[0]=c:(v0(m2,g2),l.insertBeforeIndex=c)}function nc(l,c){const g=l.data[c];return null===g||"string"==typeof g?null:g.hasOwnProperty("currentCaseLViewIndex")?g:g.value}function k4(l,c,g){const O=Lh(l,g,64,null,null);return v2(c,O),O}function D1(l,c){const g=c[l.currentCaseLViewIndex];return null===g?g:g<0?~g:g}function b2(l){return l>>>17}function x2(l){return(131070&l)>>>1}let Fc=0,ic=0;function A1(l,c,g,O){const U=g[11];let ce,G=null;for(let Se=0;Se>>1,bn=c[++Se],On=c[++Se];n4(U,la(cn,g),null,null,bn,On,null)}else switch(Ke){case Wo:const ot=c[++Se],wt=c[++Se];if(null===g[wt]){us(g[wt]=x3(U,ot),g)}break;case Bc:const Kt=c[++Se],cn=c[++Se];if(null===g[cn]){us(g[cn]=Z2(U,Kt,null),g)}}}}function E2(l,c,g,O,U){for(let G=0;G>>2;switch(3&wt){case 1:const cn=g[++ot],bn=g[++ot],On=l.data[Kt];"string"==typeof On?n4(c[11],c[Kt],null,On,cn,Ke,bn):Uo(l,On,c,cn,Ke,c[11],bn,!1);break;case 0:const ii=c[Kt];null!==ii&&yc(c[11],ii,Ke);break;case 2:pp(l,nc(l,Kt),c,Ke);break;case 3:Hd(l,nc(l,Kt),O,c)}}}}else{const Ke=g[G+1];if(Ke>0&&3==(3&Ke)){const wt=nc(l,Ke>>>2);c[wt.currentCaseLViewIndex]<0&&Hd(l,wt,O,c)}}G+=Se}}function Hd(l,c,g,O){let U=O[c.currentCaseLViewIndex];if(null!==U){let G=Fc;U<0&&(U=O[c.currentCaseLViewIndex]=~U,G=-1),E2(l,O,c.update[U],g,G)}}function pp(l,c,g,O){const U=function T1(l,c){let g=l.cases.indexOf(c);if(-1===g)switch(l.type){case 1:{const O=function _2(l,c){const g=au(c)(parseInt(l,10)),O=Od[g];return void 0!==O?O:"other"}(c,function Nc(){return Pd}());g=l.cases.indexOf(O),-1===g&&"other"!==O&&(g=l.cases.indexOf("other"));break}case 0:g=l.cases.indexOf("other")}return-1===g?null:g}(c,O);if(D1(c,g)!==U&&(zd(l,c,g),g[c.currentCaseLViewIndex]=null===U?null:~U,null!==U)){const ce=g[c.anchorIdx];ce&&A1(l,c.create[U],g,ce)}}function zd(l,c,g){let O=D1(c,g);if(null!==O){const U=c.remove[O];for(let G=0;G0){const Se=la(ce,g);null!==Se&&y0(g[11],Se)}else zd(l,nc(l,~ce),g)}}}function Ud(){const l=[];let g,O,c=-1;function G(Se,Ke){c=0;const ot=D1(Se,Ke);O=null!==ot?Se.remove[ot]:Tt}function ce(){if(c0)return g[Se];{l.push(c,O);const Ke=~Se;return G(g[1].data[Ke],g),ce()}}return 0===l.length?null:(O=l.pop(),c=l.pop(),ce())}return function U(Se,Ke){for(g=Ke;l.length;)l.pop();return G(Se.value,Ke),ce}}const Sl=/\ufffd(\d+):?\d*\ufffd/gi,Wd=/({\s*\ufffd\d+:?\d*\ufffd\s*,\s*\S{6}\s*,[\s\S]*})/gi,_p=/\ufffd(\d+)\ufffd/,R4=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,w_=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,mp=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,gp=/\uE500/g;function uu(l,c,g,O,U,G){const ce=_o(),Se=[],Ke=[],ot=[[]];U=function fu(l,c){if(function hu(l){return-1===l}(c))return Yd(l);{const g=l.indexOf(`:${c}\ufffd`)+2+c.toString().length,O=l.search(new RegExp(`\ufffd\\/\\*\\d+:${c}\ufffd`));return Yd(l.substring(g,O))}}(U,G);const wt=function du(l){return l.replace(gp," ")}(U).split(mp);for(let Kt=0;Ktg.length&&g.push(Ke)}return{type:O,mainBinding:U,cases:c,values:g}}function B4(l){if(!l)return[];let c=0;const g=[],O=[],U=/[{}]/g;let G;for(U.lastIndex=0;G=U.exec(l);){const Se=G.index;if("}"==G[0]){if(g.pop(),0==g.length){const Ke=l.substring(c,Se);R4.test(Ke)?O.push(jd(Ke)):O.push(Ke),c=Se+1}}else{if(0==g.length){const Ke=l.substring(c,Se);O.push(Ke),c=Se+1}g.push("{")}}const ce=l.substring(c);return O.push(ce),O}function qd(l,c,g,O,U,G,ce,Se){const Ke=[],ot=[],wt=[];c.cases.push(G),c.create.push(Ke),c.remove.push(ot),c.update.push(wt);const cn=ed(Zu()).getInertBodyElement(ce),bn=ih(cn)||cn;return bn?k6(l,c,g,O,Ke,ot,wt,bn,U,Se,0):0}function k6(l,c,g,O,U,G,ce,Se,Ke,ot,wt){let Kt=0,cn=Se.firstChild;for(;cn;){const bn=Y0(l,g,1,null);switch(cn.nodeType){case Node.ELEMENT_NODE:const On=cn,ii=On.tagName.toLowerCase();if(jl.hasOwnProperty(ii)){R(U,Bc,ii,Ke,bn),l.data[bn]=ii;const Kn=On.attributes;for(let ji=0;ji>>As.SHIFT;let Kt=l[wt];null===Kt&&(Kt=l[wt]=Ke?U.createComment(Se):h0(U,Se)),ot&&null!==g&&Yl(U,g,Kt,O,!1)}})(U,Ke.create,wt,Kt),Vc(!0)}function _n(){Vc(!1)}function jn(l,c,g){Zn(l,c,g),_n()}function ni(l,c){const g=Ui();!function Gd(l,c,g){const U=Ra().index,G=[];if(l.firstCreatePass&&null===l.data[c]){for(let ce=0;ce0){const O=l.data[g];E2(l,c,Array.isArray(O)?O:O.update,ss()-ic-1,Fc)}Fc=0,ic=0}(Ui(),kn(),l+22)}function gi(l,c={}){return function wn(l,c={}){let g=l;if(Pe.test(l)){const O={},U=[0];g=g.replace(lt,(G,ce,Se)=>{const Ke=ce||Se,ot=O[Ke]||[];if(ot.length||(Ke.split("|").forEach(ii=>{const hi=ii.match(vn),Mi=hi?parseInt(hi[1],10):0,Fi=St.test(ii);ot.push([Mi,Fi,ii])}),O[Ke]=ot),!ot.length)throw new Error(`i18n postprocess: unmatched placeholder - ${Ke}`);const wt=U[U.length-1];let Kt=0;for(let ii=0;iic.hasOwnProperty(G)?`${U}${c[G]}${Ke}`:O),g=g.replace(Et,(O,U)=>c.hasOwnProperty(U)?c[U]:O),g=g.replace(Zt,(O,U)=>{if(c.hasOwnProperty(U)){const G=c[U];if(!G.length)throw new Error(`i18n postprocess: unmatched ICU - ${O} with key: ${U}`);return G.shift()}return O})),g}(l,c)}function Da(l,c,g,O,U){if(l=P(l),Array.isArray(l))for(let G=0;G>20;if(l1(l)||!l.multi){const bn=new Sn(Ke,U,wc),On=ma(Se,c,U?wt:wt+cn,Kt);-1===On?(O1(Mo(ot,ce),G,Se),ia(G,l,c.length),c.push(Se),ot.directiveStart++,ot.directiveEnd++,U&&(ot.providerIndexes+=1048576),g.push(bn),ce.push(bn)):(g[On]=bn,ce[On]=bn)}else{const bn=ma(Se,c,wt+cn,Kt),On=ma(Se,c,wt,wt+cn),ii=bn>=0&&g[bn],hi=On>=0&&g[On];if(U&&!hi||!U&&!ii){O1(Mo(ot,ce),G,Se);const Mi=function ba(l,c,g,O,U){const G=new Sn(l,g,wc);return G.multi=[],G.index=c,G.componentProviders=0,qa(G,U,O&&!g),G}(U?Ai:yi,g.length,U,O,Ke);!U&&hi&&(g[On].providerFactory=Mi),ia(G,l,c.length,0),c.push(Se),ot.directiveStart++,ot.directiveEnd++,U&&(ot.providerIndexes+=1048576),g.push(Mi),ce.push(Mi)}else{ia(G,l,bn>-1?bn:On,qa(g[U?On:bn],Ke,!U&&O))}!U&&O&&hi&&g[On].componentProviders++}}}function ia(l,c,g,O){const U=l1(c),G=function H0(l){return!!l.useClass}(c);if(U||G){const Ke=(G?P(c.useClass):c).prototype.ngOnDestroy;if(Ke){const ot=l.destroyHooks||(l.destroyHooks=[]);if(!U&&c.multi){const wt=ot.indexOf(g);-1===wt?ot.push(g,[O,Ke]):ot[wt+1].push(O,Ke)}else ot.push(g,Ke)}}}function qa(l,c,g){return g&&l.componentProviders++,l.multi.push(c)-1}function ma(l,c,g,O){for(let U=g;U{g.providersResolver=(O,U)=>function ci(l,c,g){const O=Ui();if(O.firstCreatePass){const U=Ki(l);Da(g,O.data,O.blueprint,U,!0),Da(c,O.data,O.blueprint,U,!1)}}(O,U?U(l):l,c)}}class ua{}class Pa{}function _s(l,c){return new _r(l,c??null)}class _r extends ua{constructor(c,g){super(),this._parent=g,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new xf(this);const O=Wn(c);this._bootstrapComponents=nl(O.bootstrap),this._r3Injector=on(c,g,[{provide:ua,useValue:this},{provide:d1,useValue:this.componentFactoryResolver}],k(c),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(c)}get injector(){return this._r3Injector}destroy(){const c=this._r3Injector;!c.destroyed&&c.destroy(),this.destroyCbs.forEach(g=>g()),this.destroyCbs=null}onDestroy(c){this.destroyCbs.push(c)}}class tr extends Pa{constructor(c){super(),this.moduleType=c}create(c){return new _r(this.moduleType,c)}}class dr extends ua{constructor(c,g,O){super(),this.componentFactoryResolver=new xf(this),this.instance=null;const U=new Xl([...c,{provide:ua,useValue:this},{provide:d1,useValue:this.componentFactoryResolver}],g||ql(),O,new Set(["environment"]));this.injector=U,U.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(c){this.injector.onDestroy(c)}}function Ol(l,c,g=null){return new dr(l,c,g).injector}class Ts{constructor(c){this._injector=c,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(c){if(!c.standalone)return null;if(!this.cachedInjectors.has(c.id)){const g=sh(0,c.type),O=g.length>0?Ol([g],this._injector,`Standalone[${c.type.name}]`):null;this.cachedInjectors.set(c.id,O)}return this.cachedInjectors.get(c.id)}ngOnDestroy(){try{for(const c of this.cachedInjectors.values())null!==c&&c.destroy()}finally{this.cachedInjectors.clear()}}}function Pl(l){l.getStandaloneInjector=c=>c.get(Ts).getOrCreateStandaloneInjector(l)}function I_(l,c,g,O){return Ue(()=>{const U=l;null!==c&&(U.hasOwnProperty("decorators")&&void 0!==U.decorators?U.decorators.push(...c):U.decorators=c),null!==g&&(U.ctorParameters=g),null!==O&&(U.hasOwnProperty("propDecorators")&&void 0!==U.propDecorators?U.propDecorators={...U.propDecorators,...O}:U.propDecorators=O)})}function L_(l,c,g){const O=Wa()+l,U=kn();return U[O]===Vi?Tl(U,O,g?c.call(g):c()):$0(U,O)}function S_(l,c,g,O){return R_(kn(),Wa(),l,c,g,O)}function vp(l,c,g,O,U){return R6(kn(),Wa(),l,c,g,O,U)}function O_(l,c,g,O,U,G){return B_(kn(),Wa(),l,c,g,O,U,G)}function tg(l,c,g,O,U,G,ce){return N_(kn(),Wa(),l,c,g,O,U,G,ce)}function ng(l,c,g,O,U,G,ce,Se){const Ke=Wa()+l,ot=kn(),wt=rl(ot,Ke,g,O,U,G);return Ws(ot,Ke+4,ce)||wt?Tl(ot,Ke+5,Se?c.call(Se,g,O,U,G,ce):c(g,O,U,G,ce)):$0(ot,Ke+5)}function P_(l,c,g,O,U,G,ce,Se,Ke){const ot=Wa()+l,wt=kn(),Kt=rl(wt,ot,g,O,U,G);return p1(wt,ot+4,ce,Se)||Kt?Tl(wt,ot+6,Ke?c.call(Ke,g,O,U,G,ce,Se):c(g,O,U,G,ce,Se)):$0(wt,ot+6)}function k_(l,c,g,O,U,G,ce,Se,Ke,ot){const wt=Wa()+l,Kt=kn();let cn=rl(Kt,wt,g,O,U,G);return Hh(Kt,wt+4,ce,Se,Ke)||cn?Tl(Kt,wt+7,ot?c.call(ot,g,O,U,G,ce,Se,Ke):c(g,O,U,G,ce,Se,Ke)):$0(Kt,wt+7)}function ig(l,c,g,O,U,G,ce,Se,Ke,ot,wt){const Kt=Wa()+l,cn=kn(),bn=rl(cn,Kt,g,O,U,G);return rl(cn,Kt+4,ce,Se,Ke,ot)||bn?Tl(cn,Kt+8,wt?c.call(wt,g,O,U,G,ce,Se,Ke,ot):c(g,O,U,G,ce,Se,Ke,ot)):$0(cn,Kt+8)}function ag(l,c,g,O){return F_(kn(),Wa(),l,c,g,O)}function N4(l,c){const g=l[c];return g===Vi?void 0:g}function R_(l,c,g,O,U,G){const ce=c+g;return Ws(l,ce,U)?Tl(l,ce+1,G?O.call(G,U):O(U)):N4(l,ce+1)}function R6(l,c,g,O,U,G,ce){const Se=c+g;return p1(l,Se,U,G)?Tl(l,Se+2,ce?O.call(ce,U,G):O(U,G)):N4(l,Se+2)}function B_(l,c,g,O,U,G,ce,Se){const Ke=c+g;return Hh(l,Ke,U,G,ce)?Tl(l,Ke+3,Se?O.call(Se,U,G,ce):O(U,G,ce)):N4(l,Ke+3)}function N_(l,c,g,O,U,G,ce,Se,Ke){const ot=c+g;return rl(l,ot,U,G,ce,Se)?Tl(l,ot+4,Ke?O.call(Ke,U,G,ce,Se):O(U,G,ce,Se)):N4(l,ot+4)}function F_(l,c,g,O,U,G){let ce=c+g,Se=!1;for(let Ke=0;Ke=0;g--){const O=c[g];if(l===O.name)return O}}(c,g.pipeRegistry),g.data[U]=O,O.onDestroy&&(g.destroyHooks||(g.destroyHooks=[])).push(U,O.onDestroy)):O=g.data[U];const G=O.factory||(O.factory=Oa(O.type)),ce=Oe(wc);try{const Se=lc(!1),Ke=G();return lc(Se),function v6(l,c,g,O){g>=l.data.length&&(l.data[g]=null,l.blueprint[g]=null),c[g]=O}(g,kn(),U,Ke),Ke}finally{Oe(ce)}}function z_(l,c,g){const O=l+22,U=kn(),G=Zr(U,O);return F4(U,O)?R_(U,Wa(),c,G.transform,g,G):G.transform(g)}function B6(l,c,g,O){const U=l+22,G=kn(),ce=Zr(G,U);return F4(G,U)?R6(G,Wa(),c,ce.transform,g,O,ce):ce.transform(g,O)}function U_(l,c,g,O,U){const G=l+22,ce=kn(),Se=Zr(ce,G);return F4(ce,G)?B_(ce,Wa(),c,Se.transform,g,O,U,Se):Se.transform(g,O,U)}function sg(l,c,g,O,U,G){const ce=l+22,Se=kn(),Ke=Zr(Se,ce);return F4(Se,ce)?N_(Se,Wa(),c,Ke.transform,g,O,U,G,Ke):Ke.transform(g,O,U,G)}function V_(l,c,g){const O=l+22,U=kn(),G=Zr(U,O);return F4(U,O)?F_(U,Wa(),c,G.transform,g,G):G.transform.apply(G,g)}function F4(l,c){return l[1].data[c].pure}Ts.\u0275prov=Ge({token:Ts,providedIn:"environment",factory:()=>new Ts(gt(tl))});class W_ extends e.x{constructor(c=!1){super(),this.__isAsync=c}emit(c){super.next(c)}subscribe(c,g,O){let U=c,G=g||(()=>null),ce=O;if(c&&"object"==typeof c){const Ke=c;U=Ke.next?.bind(Ke),G=Ke.error?.bind(Ke),ce=Ke.complete?.bind(Ke)}this.__isAsync&&(G=yp(G),U&&(U=yp(U)),ce&&(ce=yp(ce)));const Se=super.subscribe({next:U,error:G,complete:ce});return c instanceof t.w0&&c.add(Se),Se}}function yp(l){return c=>{setTimeout(l,void 0,c)}}const w1=W_;function K_(){return this._results[a2()]()}class bp{constructor(c=!1){this._emitDistinctChangesOnly=c,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const g=a2(),O=bp.prototype;O[g]||(O[g]=K_)}get changes(){return this._changes||(this._changes=new w1)}get(c){return this._results[c]}map(c){return this._results.map(c)}filter(c){return this._results.filter(c)}find(c){return this._results.find(c)}reduce(c,g){return this._results.reduce(c,g)}forEach(c){this._results.forEach(c)}some(c){return this._results.some(c)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(c,g){const O=this;O.dirty=!1;const U=zi(c);(this._changesDetected=!function Ea(l,c,g){if(l.length!==c.length)return!1;for(let O=0;O0;)this.remove(this.length-1)}get(c){const g=Y_(this._lContainer);return null!==g&&g[c]||null}get length(){return this._lContainer.length-10}createEmbeddedView(c,g,O){let U,G;"number"==typeof O?U=O:null!=O&&(U=O.index,G=O.injector);const ce=c.createEmbeddedView(g||{},G);return this.insert(ce,U),ce}createComponent(c,g,O,U,G){const ce=c&&!di(c);let Se;if(ce)Se=g;else{const Kt=g||{};Se=Kt.index,O=Kt.injector,U=Kt.projectableNodes,G=Kt.environmentInjector||Kt.ngModuleRef}const Ke=ce?c:new q0(ft(c)),ot=O||this.parentInjector;if(!G&&null==Ke.ngModule){const cn=(ce?ot:this.parentInjector).get(tl,null);cn&&(G=cn)}const wt=Ke.create(ot,U,void 0,G);return this.insert(wt.hostView,Se),wt}insert(c,g){const O=c._lView,U=O[1];if(function Ps(l){return La(l[3])}(O)){const wt=this.indexOf(c);if(-1!==wt)this.detach(wt);else{const Kt=O[3],cn=new Z_(Kt,Kt[6],Kt[3]);cn.detach(cn.indexOf(c))}}const G=this._adjustIndex(g),ce=this._lContainer;E3(U,O,ce,G);const Se=q2(G,ce),Ke=O[11],ot=Q2(Ke,ce[7]);return null!==ot&&function ku(l,c,g,O,U,G){O[0]=U,O[6]=c,i1(l,O,g,1,U,G)}(U,ce[6],Ke,O,ot,Se),c.attachToViewContainerRef(),so(N6(ce),G,c),c}move(c,g){return this.insert(c,g)}indexOf(c){const g=Y_(this._lContainer);return null!==g?g.indexOf(c):-1}remove(c){const g=this._adjustIndex(c,-1),O=Y2(this._lContainer,g);O&&(ds(N6(this._lContainer),g),Ru(O[1],O))}detach(c){const g=this._adjustIndex(c,-1),O=Y2(this._lContainer,g);return O&&null!=ds(N6(this._lContainer),g)?new j0(O):null}_adjustIndex(c,g=0){return c??this.length+g}};function Y_(l){return l[8]}function N6(l){return l[8]||(l[8]=[])}function Q_(l,c){let g;const O=c[l.index];if(La(O))g=O;else{let U;if(8&l.type)U=Bi(O);else{const G=c[11];U=G.createComment("");const ce=Li(l,c);Yl(G,Q2(G,ce),U,function A3(l,c){return l.nextSibling(c)}(G,ce),!1)}c[l.index]=g=i4(O,c,U,l),kh(c,g)}return new Z_(g,l,c)}class F6{constructor(c){this.queryList=c,this.matches=null}clone(){return new F6(this.queryList)}setDirty(){this.queryList.setDirty()}}class H6{constructor(c=[]){this.queries=c}createEmbeddedView(c){const g=c.queries;if(null!==g){const O=null!==c.contentQueries?c.contentQueries[0]:g.length,U=[];for(let G=0;G0)O.push(ce[Se/2]);else{const ot=G[Se+1],wt=c[-Ke];for(let Kt=10;Kt(null===U&&(U=Dn().compileNgModule(So,`ng:///${l.name}/\u0275mod.js`,{type:l,bootstrap:zi(c.bootstrap||Tt).map(P),declarations:O.map(P),imports:zi(c.imports||Tt).map(P).map(Q6),exports:zi(c.exports||Tt).map(P).map(Q6),schemas:c.schemas?zi(c.schemas):null,id:c.id||null}),U.schemas||(U.schemas=[])),U)});let G=null;Object.defineProperty(l,Rt,{get:()=>{if(null===G){const Se=Dn();G=Se.compileFactory(So,`ng:///${l.name}/\u0275fac.js`,{name:l.name,type:l,deps:hc(l),target:Se.FactoryTarget.NgModule,typeArgumentCount:0})}return G},configurable:!1});let ce=null;Object.defineProperty(l,De,{get:()=>{if(null===ce){const Se={name:l.name,type:l,providers:c.providers||Tt,imports:[(c.imports||Tt).map(P),(c.exports||Tt).map(P)]};ce=Dn().compileInjector(So,`ng:///${l.name}/\u0275inj.js`,Se)}return ce},configurable:!1})})(l,c),void 0!==c.id&&Wl(l,c.id),function yg(l,c){r3.push({moduleType:l,ngModule:c})}(l,c)}function Mg(l,c){const g=zi(c.declarations||Tt),O=s3(l);g.forEach(U=>{if((U=P(U)).hasOwnProperty(Ht)){Y6(ft(U),O)}else!U.hasOwnProperty(He)&&!U.hasOwnProperty($e)&&(U.ngSelectorScope=l)})}function Y6(l,c){l.directiveDefs=()=>Array.from(c.compilation.directives).map(g=>g.hasOwnProperty(Ht)?ft(g):Lt(g)).filter(g=>!!g),l.pipeDefs=()=>Array.from(c.compilation.pipes).map(g=>nn(g)),l.schemas=c.schemas,l.tView=null}function s3(l){if(rm(l))return function Eg(l){const c=Wn(l,!0);if(null!==c.transitiveCompileScopes)return c.transitiveCompileScopes;const g={schemas:c.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return nl(c.imports).forEach(O=>{const U=s3(O);U.exported.directives.forEach(G=>g.compilation.directives.add(G)),U.exported.pipes.forEach(G=>g.compilation.pipes.add(G))}),nl(c.declarations).forEach(O=>{nn(O)?g.compilation.pipes.add(O):g.compilation.directives.add(O)}),nl(c.exports).forEach(O=>{const U=O;if(rm(U)){const G=s3(U);G.exported.directives.forEach(ce=>{g.compilation.directives.add(ce),g.exported.directives.add(ce)}),G.exported.pipes.forEach(ce=>{g.compilation.pipes.add(ce),g.exported.pipes.add(ce)})}else nn(U)?g.exported.pipes.add(U):g.exported.directives.add(U)}),c.transitiveCompileScopes=g,g}(l);if(Bn(l)){if(null!==(ft(l)||Lt(l)))return{schemas:null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set([l]),pipes:new Set}};if(null!==nn(l))return{schemas:null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set([l])}}}throw new Error(`${l.name} does not have a module def (\u0275mod property)`)}function Q6(l){return am(l)?l.ngModule:l}let j6=0;function Dg(l,c){let g=null;(function G4(l,c){h3(c)&&(xl.set(l,c),F1.add(l))})(l,c),um(l,c),Object.defineProperty(l,Ht,{get:()=>{if(null===g){const O=Dn();if(h3(c)){const ot=[`Component '${l.name}' is not resolved:`];throw c.templateUrl&&ot.push(` - templateUrl: ${c.templateUrl}`),c.styleUrls&&c.styleUrls.length&&ot.push(` - styleUrls: ${JSON.stringify(c.styleUrls)}`),ot.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(ot.join("\n"))}const U=function gg(){return a3}();let G=c.preserveWhitespaces;void 0===G&&(G=null!==U&&void 0!==U.preserveWhitespaces&&U.preserveWhitespaces);let ce=c.encapsulation;void 0===ce&&(ce=null!==U&&void 0!==U.defaultEncapsulation?U.defaultEncapsulation:Ut.Emulated);const Se=c.templateUrl||`ng:///${l.name}/template.html`,Ke={...q6(l,c),typeSourceSpan:O.createParseSourceSpan("Component",l.name,Se),template:c.template||"",preserveWhitespaces:G,styles:c.styles||Tt,animations:c.animations,declarations:[],changeDetection:c.changeDetection,encapsulation:ce,interpolation:c.interpolation,viewProviders:c.viewProviders||null,isStandalone:!!c.standalone};j6++;try{if(Ke.usesInheritance&&X6(l),g=O.compileComponent(So,Se,Ke),c.standalone){const ot=zi(c.imports||Tt),{directiveDefs:wt,pipeDefs:Kt}=function Tg(l,c){let g=null,O=null;return{directiveDefs:()=>{if(null===g){g=[ft(l)];const ce=new Set;for(const Se of c){const Ke=P(Se);if(!ce.has(Ke))if(ce.add(Ke),Wn(Ke)){const ot=s3(Ke);for(const wt of ot.exported.directives){const Kt=ft(wt)||Lt(wt);Kt&&!ce.has(wt)&&(ce.add(wt),g.push(Kt))}}else{const ot=ft(Ke)||Lt(Ke);ot&&g.push(ot)}}}return g},pipeDefs:()=>{if(null===O){O=[];const ce=new Set;for(const Se of c){const Ke=P(Se);if(!ce.has(Ke))if(ce.add(Ke),Wn(Ke)){const ot=s3(Ke);for(const wt of ot.exported.pipes){const Kt=nn(wt);Kt&&!ce.has(wt)&&(ce.add(wt),O.push(Kt))}}else{const ot=nn(Ke);ot&&O.push(ot)}}}return O}}}(l,ot);g.directiveDefs=wt,g.pipeDefs=Kt,g.dependencies=()=>ot.map(P)}}finally{j6--}if(0===j6&&function bg(){if(!xp){xp=!0;try{for(let l=r3.length-1;l>=0;l--){const{moduleType:c,ngModule:g}=r3[l];g.declarations&&g.declarations.every(sm)&&(r3.splice(l,1),Mg(c,g))}}finally{xp=!1}}}(),function Dp(l){return void 0!==l.ngSelectorScope}(l)){const ot=s3(l.ngSelectorScope);Y6(g,ot)}if(c.schemas){if(!c.standalone)throw new Error(`The 'schemas' was specified for the ${re(l)} but is only valid on a component that is standalone.`);g.schemas=c.schemas}else c.standalone&&(g.schemas=[])}return g},configurable:!1})}function cm(l,c){let g=null;um(l,c||{}),Object.defineProperty(l,He,{get:()=>{if(null===g){const O=dm(l,c||{});g=Dn().compileDirective(So,O.sourceMapUrl,O.metadata)}return g},configurable:!1})}function dm(l,c){const g=l&&l.name,O=`ng:///${g}/\u0275dir.js`,U=Dn(),G=q6(l,c);return G.typeSourceSpan=U.createParseSourceSpan("Directive",g,O),G.usesInheritance&&X6(l),{metadata:G,sourceMapUrl:O}}function um(l,c){let g=null;Object.defineProperty(l,Rt,{get:()=>{if(null===g){const O=dm(l,c),U=Dn();g=U.compileFactory(So,`ng:///${l.name}/\u0275fac.js`,{name:O.metadata.name,type:O.metadata.type,typeArgumentCount:0,deps:hc(l),target:U.FactoryTarget.Directive})}return g},configurable:!1})}function hm(l){return Object.getPrototypeOf(l.prototype)===Object.prototype}function q6(l,c){const g=Ul(),O=g.ownPropMetadata(l);return{name:l.name,type:l,selector:void 0!==c.selector?c.selector:null,host:c.host||Dt,propMetadata:O,inputs:c.inputs||Tt,outputs:c.outputs||Tt,queries:fm(l,O,pm),lifecycle:{usesOnChanges:g.hasLifecycleHook(l,"ngOnChanges")},typeSourceSpan:null,usesInheritance:!hm(l),exportAs:Lg(c.exportAs),providers:c.providers||null,viewQueries:fm(l,O,J6),isStandalone:!!c.standalone,hostDirectives:c.hostDirectives?.map(U=>"function"==typeof U?{directive:U}:U)||null}}function X6(l){const c=Object.prototype;let g=Object.getPrototypeOf(l.prototype).constructor;for(;g&&g!==c;)!Lt(g)&&!ft(g)&&Og(g)&&cm(g,null),g=Object.getPrototypeOf(g)}function wg(l){return"string"==typeof l?mm(l):P(l)}function Ig(l,c){return{propertyName:l,predicate:wg(c.selector),descendants:c.descendants,first:c.first,read:c.read?c.read:null,static:!!c.static,emitDistinctChangesOnly:!!c.emitDistinctChangesOnly}}function fm(l,c,g){const O=[];for(const U in c)if(c.hasOwnProperty(U)){const G=c[U];G.forEach(ce=>{if(g(ce)){if(!ce.selector)throw new Error(`Can't construct a query for the property "${U}" of "${re(l)}" since the query selector wasn't defined.`);if(G.some(_m))throw new Error("Cannot combine @Input decorators with query decorators");O.push(Ig(U,ce))}})}return O}function Lg(l){return void 0===l?null:mm(l)}function pm(l){const c=l.ngMetadataName;return"ContentChild"===c||"ContentChildren"===c}function J6(l){const c=l.ngMetadataName;return"ViewChild"===c||"ViewChildren"===c}function _m(l){return"Input"===l.ngMetadataName}function mm(l){return l.split(",").map(c=>c.trim())}const Sg=["ngOnChanges","ngOnInit","ngOnDestroy","ngDoCheck","ngAfterViewInit","ngAfterViewChecked","ngAfterContentInit","ngAfterContentChecked"];function Og(l){const c=Ul();if(Sg.some(O=>c.hasLifecycleHook(l,O)))return!0;const g=c.propMetadata(l);for(const O in g){const U=g[O];for(let G=0;Gl,void 0,void 0,(l,c)=>cm(l,c)),kg=cs("Component",(l={})=>({changeDetection:Me.Default,...l}),gm,void 0,(l,c)=>Dg(l,c)),vm=cs("Pipe",l=>({pure:!0,...l}),void 0,void 0,(l,c)=>function Pg(l,c){let g=null,O=null;Object.defineProperty(l,Rt,{get:()=>{if(null===O){const U=$6(l,c),G=Dn(U.type);O=G.compileFactory(So,`ng:///${U.name}/\u0275fac.js`,{name:U.name,type:U.type,typeArgumentCount:0,deps:hc(l),target:G.FactoryTarget.Pipe})}return O},configurable:!1}),Object.defineProperty(l,$e,{get:()=>{if(null===g){const U=$6(l,c);g=Dn(U.type).compilePipe(So,`ng:///${U.name}/\u0275pipe.js`,U)}return g},configurable:!1})}(l,c)),Rg=qo("Input",l=>({bindingPropertyName:l})),ym=qo("Output",l=>({bindingPropertyName:l})),Bg=qo("HostBinding",l=>({hostPropertyName:l})),bm=qo("HostListener",(l,c)=>({eventName:l,args:c})),Ng=cs("NgModule",l=>l,void 0,void 0,(l,c)=>Z6(l,c));function Ap(...l){}const xm=new va("Application Initializer");class w2{constructor(c){this.appInits=c,this.resolve=Ap,this.reject=Ap,this.initialized=!1,this.done=!1,this.donePromise=new Promise((g,O)=>{this.resolve=g,this.reject=O})}runInitializers(){if(this.initialized)return;const c=[],g=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let O=0;O{U.subscribe({complete:ce,error:Se})});c.push(G)}}Promise.all(c).then(()=>{g()}).catch(O=>{this.reject(O)}),0===c.length&&g(),this.initialized=!0}}w2.\u0275fac=function(c){return new(c||w2)(gt(xm,8))},w2.\u0275prov=Ge({token:w2,factory:w2.\u0275fac,providedIn:"root"});const Cm=new va("AppId",{providedIn:"root",factory:Mm});function Mm(){return`${Tp()}${Tp()}${Tp()}`}function Tp(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Em=new va("Platform Initializer"),wp=new va("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Dm=new va("appBootstrapListener"),Fg=(new va("Application Packages Root URL"),new va("AnimationModuleType"));class _u{log(c){console.log(c)}warn(c){console.warn(c)}}_u.\u0275fac=function(c){return new(c||_u)},_u.\u0275prov=Ge({token:_u,factory:_u.\u0275fac,providedIn:"platform"});const Ip=new va("LocaleId",{providedIn:"root",factory:()=>we(Ip,ee.Optional|ee.SkipSelf)||function Hg(){return typeof $localize<"u"&&$localize.locale||pr}()}),zg=new va("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"});new va("Translations"),new va("TranslationsFormat");var Am;!function(l){l[l.Error=0]="Error",l[l.Warning=1]="Warning",l[l.Ignore=2]="Ignore"}(Am||(Am={}));class Vg{constructor(c,g){this.ngModuleFactory=c,this.componentFactories=g}}class o3{compileModuleSync(c){return new tr(c)}compileModuleAsync(c){return Promise.resolve(this.compileModuleSync(c))}compileModuleAndAllComponentsSync(c){const g=this.compileModuleSync(c),U=nl(Wn(c).declarations).reduce((G,ce)=>{const Se=ft(ce);return Se&&G.push(new q0(Se)),G},[]);return new Vg(g,U)}compileModuleAndAllComponentsAsync(c){return Promise.resolve(this.compileModuleAndAllComponentsSync(c))}clearCache(){}clearCacheFor(c){}getModuleId(c){}}o3.\u0275fac=function(c){return new(c||o3)},o3.\u0275prov=Ge({token:o3,factory:o3.\u0275fac,providedIn:"root"});new va("compilerOptions");const Kg=Promise.resolve(0);function t_(l){typeof Zone>"u"?Kg.then(()=>{l&&l.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",l)}class sc{constructor({enableLongStackTrace:c=!1,shouldCoalesceEventChangeDetection:g=!1,shouldCoalesceRunChangeDetection:O=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new w1(!1),this.onMicrotaskEmpty=new w1(!1),this.onStable=new w1(!1),this.onError=new w1(!1),typeof Zone>"u")throw new Z(908,!1);Zone.assertZonePatched();const U=this;U._nesting=0,U._outer=U._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(U._inner=U._inner.fork(new Zone.TaskTrackingZoneSpec)),c&&Zone.longStackTraceZoneSpec&&(U._inner=U._inner.fork(Zone.longStackTraceZoneSpec)),U.shouldCoalesceEventChangeDetection=!O&&g,U.shouldCoalesceRunChangeDetection=O,U.lastRequestAnimationFrameId=-1,U.nativeRequestAnimationFrame=function Gg(){let l=pt.requestAnimationFrame,c=pt.cancelAnimationFrame;if(typeof Zone<"u"&&l&&c){const g=l[Zone.__symbol__("OriginalDelegate")];g&&(l=g);const O=c[Zone.__symbol__("OriginalDelegate")];O&&(c=O)}return{nativeRequestAnimationFrame:l,nativeCancelAnimationFrame:c}}().nativeRequestAnimationFrame,function Qg(l){const c=()=>{!function Im(l){l.isCheckStableRunning||-1!==l.lastRequestAnimationFrameId||(l.lastRequestAnimationFrameId=l.nativeRequestAnimationFrame.call(pt,()=>{l.fakeTopEventTask||(l.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{l.lastRequestAnimationFrameId=-1,i_(l),l.isCheckStableRunning=!0,n_(l),l.isCheckStableRunning=!1},void 0,()=>{},()=>{})),l.fakeTopEventTask.invoke()}),i_(l))}(l)};l._inner=l._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(g,O,U,G,ce,Se)=>{try{return Lm(l),g.invokeTask(U,G,ce,Se)}finally{(l.shouldCoalesceEventChangeDetection&&"eventTask"===G.type||l.shouldCoalesceRunChangeDetection)&&c(),a_(l)}},onInvoke:(g,O,U,G,ce,Se,Ke)=>{try{return Lm(l),g.invoke(U,G,ce,Se,Ke)}finally{l.shouldCoalesceRunChangeDetection&&c(),a_(l)}},onHasTask:(g,O,U,G)=>{g.hasTask(U,G),O===U&&("microTask"==G.change?(l._hasPendingMicrotasks=G.microTask,i_(l),n_(l)):"macroTask"==G.change&&(l.hasPendingMacrotasks=G.macroTask))},onHandleError:(g,O,U,G)=>(g.handleError(U,G),l.runOutsideAngular(()=>l.onError.emit(G)),!1)})}(U)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!sc.isInAngularZone())throw new Z(909,!1)}static assertNotInAngularZone(){if(sc.isInAngularZone())throw new Z(909,!1)}run(c,g,O){return this._inner.run(c,g,O)}runTask(c,g,O,U){const G=this._inner,ce=G.scheduleEventTask("NgZoneEvent: "+U,c,Yg,Ap,Ap);try{return G.runTask(ce,g,O)}finally{G.cancelTask(ce)}}runGuarded(c,g,O){return this._inner.runGuarded(c,g,O)}runOutsideAngular(c){return this._outer.run(c)}}const Yg={};function n_(l){if(0==l._nesting&&!l.hasPendingMicrotasks&&!l.isStable)try{l._nesting++,l.onMicrotaskEmpty.emit(null)}finally{if(l._nesting--,!l.hasPendingMicrotasks)try{l.runOutsideAngular(()=>l.onStable.emit(null))}finally{l.isStable=!0}}}function i_(l){l._hasPendingMicrotasks||(l.shouldCoalesceEventChangeDetection||l.shouldCoalesceRunChangeDetection)&&-1!==l.lastRequestAnimationFrameId?l.hasPendingMicrotasks=!0:l.hasPendingMicrotasks=!1}function Lm(l){l._nesting++,l.isStable&&(l.isStable=!1,l.onUnstable.emit(null))}function a_(l){l._nesting--,n_(l)}class jg{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new w1,this.onMicrotaskEmpty=new w1,this.onStable=new w1,this.onError=new w1}run(c,g,O){return c.apply(g,O)}runGuarded(c,g,O){return c.apply(g,O)}runOutsideAngular(c){return c()}runTask(c,g,O,U){return c.apply(g,O)}}const Sm=new va(""),Om=new va("");class l3{constructor(c,g,O){this._ngZone=c,this.registry=g,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,r_||(function Pm(l){r_=l}(O),O.addToWindow(g)),this._watchAngularEvents(),c.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{sc.assertNotInAngularZone(),t_(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())t_(()=>{for(;0!==this._callbacks.length;){let c=this._callbacks.pop();clearTimeout(c.timeoutId),c.doneCb(this._didWork)}this._didWork=!1});else{let c=this.getPendingTasks();this._callbacks=this._callbacks.filter(g=>!g.updateCb||!g.updateCb(c)||(clearTimeout(g.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(c=>({source:c.source,creationLocation:c.creationLocation,data:c.data})):[]}addCallback(c,g,O){let U=-1;g&&g>0&&(U=setTimeout(()=>{this._callbacks=this._callbacks.filter(G=>G.timeoutId!==U),c(this._didWork,this.getPendingTasks())},g)),this._callbacks.push({doneCb:c,timeoutId:U,updateCb:O})}whenStable(c,g,O){if(O&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(c,g,O),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(c){this.registry.registerApplication(c,this)}unregisterApplication(c){this.registry.unregisterApplication(c)}findProviders(c,g,O){return[]}}l3.\u0275fac=function(c){return new(c||l3)(gt(sc),gt(mu),gt(Om))},l3.\u0275prov=Ge({token:l3,factory:l3.\u0275fac});class mu{constructor(){this._applications=new Map}registerApplication(c,g){this._applications.set(c,g)}unregisterApplication(c){this._applications.delete(c)}unregisterAllApplications(){this._applications.clear()}getTestability(c){return this._applications.get(c)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(c,g=!0){return r_?.findTestabilityInTree(this,c,g)??null}}let r_;mu.\u0275fac=function(c){return new(c||mu)},mu.\u0275prov=Ge({token:mu,factory:mu.\u0275fac,providedIn:"platform"});let Xd=null;const km=new va("AllowMultipleToken"),s_=new va("PlatformDestroyListeners"),I2=!1;class $g{constructor(c,g){this.name=c,this.token=g}}function Rm(l){const c=l.get(Em,null);c&&c.forEach(g=>g())}function o_(l,c,g=[]){const O=`Platform: ${c}`,U=new va(O);return(G=[])=>{let ce=U4();if(!ce||ce.injector.get(km,!1)){const Se=[...g,...G,{provide:U,useValue:!0}];l?l(Se):function e8(l){if(Xd&&!Xd.get(km,!1))throw new Z(400,!1);Xd=l;const c=l.get(gu);return Rm(l),c}(l_(Se,O))}return function i8(l){const c=U4();if(!c)throw new Z(401,!1);return c}()}}function l_(l=[],c){return xn.create({name:c,providers:[{provide:da,useValue:"platform"},{provide:s_,useValue:new Set([()=>Xd=null])},...l]})}function U4(){return Xd?.get(gu)??null}class gu{constructor(c){this._injector=c,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(c,g){const O=Nm(g?.ngZone,Bm(g)),U=[{provide:sc,useValue:O}];return O.run(()=>{const G=xn.create({providers:U,parent:this.injector,name:c.moduleType.name}),ce=c.create(G),Se=ce.injector.get(El,null);if(!Se)throw new Z(402,!1);return O.runOutsideAngular(()=>{const Ke=O.onError.subscribe({next:ot=>{Se.handleError(ot)}});ce.onDestroy(()=>{Sp(this._modules,ce),Ke.unsubscribe()})}),Fm(Se,O,()=>{const Ke=ce.injector.get(w2);return Ke.runInitializers(),Ke.donePromise.then(()=>(kd(ce.injector.get(Ip,pr)||pr),this._moduleDoBootstrap(ce),ce))})})}bootstrapModule(c,g=[]){const O=Lp({},g);return function qg(l,c,g){const O=new tr(g);return Promise.resolve(O)}(this.injector,0,c).then(U=>this.bootstrapModuleFactory(U,O))}_moduleDoBootstrap(c){const g=c.injector.get(L2);if(c._bootstrapComponents.length>0)c._bootstrapComponents.forEach(O=>g.bootstrap(O));else{if(!c.instance.ngDoBootstrap)throw new Z(403,!1);c.instance.ngDoBootstrap(g)}this._modules.push(c)}onDestroy(c){this._destroyListeners.push(c)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Z(404,!1);this._modules.slice().forEach(g=>g.destroy()),this._destroyListeners.forEach(g=>g());const c=this._injector.get(s_,null);c&&(c.forEach(g=>g()),c.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}function Bm(l){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!l||!l.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!l||!l.ngZoneRunCoalescing)||!1}}function Nm(l,c){let g;return g="noop"===l?new jg:("zone.js"===l?void 0:l)||new sc(c),g}function Fm(l,c,g){try{const O=g();return Wh(O)?O.catch(U=>{throw c.runOutsideAngular(()=>l.handleError(U)),U}):O}catch(O){throw c.runOutsideAngular(()=>l.handleError(O)),O}}function Lp(l,c){return l=Array.isArray(c)?c.reduce(Lp,l):{...l,...c}}gu.\u0275fac=function(c){return new(c||gu)(gt(xn))},gu.\u0275prov=Ge({token:gu,factory:gu.\u0275fac,providedIn:"platform"});class L2{constructor(c,g,O){this._zone=c,this._injector=g,this._exceptionHandler=O,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const U=new _.y(ce=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{ce.next(this._stable),ce.complete()})}),G=new _.y(ce=>{let Se;this._zone.runOutsideAngular(()=>{Se=this._zone.onStable.subscribe(()=>{sc.assertNotInAngularZone(),t_(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,ce.next(!0))})})});const Ke=this._zone.onUnstable.subscribe(()=>{sc.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{ce.next(!1)}))});return()=>{Se.unsubscribe(),Ke.unsubscribe()}});this.isStable=(0,E.T)(U,G.pipe((0,s.B)()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(c,g){const O=c instanceof X1;if(!this._injector.get(w2).done){!O&&Bn(c);throw new Z(405,I2)}let G;G=O?c:this._injector.get(d1).resolveComponentFactory(c),this.componentTypes.push(G.componentType);const ce=function Jg(l){return l.isBoundToModule}(G)?void 0:this._injector.get(ua),Se=g||G.selector,Ke=G.create(xn.NULL,[],Se,ce),ot=Ke.location.nativeElement,wt=Ke.injector.get(Sm,null);return wt?.registerApplication(ot),Ke.onDestroy(()=>{this.detachView(Ke.hostView),Sp(this.components,Ke),wt?.unregisterApplication(ot)}),this._loadComponent(Ke),Ke}tick(){if(this._runningTick)throw new Z(101,!1);try{this._runningTick=!0;for(let c of this._views)c.detectChanges()}catch(c){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(c))}finally{this._runningTick=!1}}attachView(c){const g=c;this._views.push(g),g.attachToAppRef(this)}detachView(c){const g=c;Sp(this._views,g),g.detachFromAppRef()}_loadComponent(c){this.attachView(c.hostView),this.tick(),this.components.push(c),this._injector.get(Dm,[]).concat(this._bootstrapListeners).forEach(O=>O(c))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(c=>c()),this._views.slice().forEach(c=>c.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(c){return this._destroyListeners.push(c),()=>Sp(this._destroyListeners,c)}destroy(){if(this._destroyed)throw new Z(406,!1);const c=this._injector;c.destroy&&!c.destroyed&&c.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}function Sp(l,c){const g=l.indexOf(c);g>-1&&l.splice(g,1)}function r8(){return!1}function Hm(){}L2.\u0275fac=function(c){return new(c||L2)(gt(sc),gt(tl),gt(El))},L2.\u0275prov=Ge({token:L2,factory:L2.\u0275fac,providedIn:"root"});class d_{}d_.__NG_ELEMENT_ID__=function o8(l){return function l8(l,c,g){if(Sa(l)&&!g){const O=ca(l.index,c);return new j0(O,O)}if(47&l.type){const O=c[16];return new j0(O,c)}return null}(Ra(),kn(),16==(16&l))};class p_{constructor(){}supports(c){return J0(c)}create(c){return new p8(c)}}const f8=(l,c)=>c;class p8{constructor(c){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=c||f8}forEachItem(c){let g;for(g=this._itHead;null!==g;g=g._next)c(g)}forEachOperation(c){let g=this._itHead,O=this._removalsHead,U=0,G=null;for(;g||O;){const ce=!O||g&&g.currentIndex{ce=this._trackByFn(U,Se),null!==g&&Object.is(g.trackById,ce)?(O&&(g=this._verifyReinsertion(g,Se,ce,U)),Object.is(g.item,Se)||this._addIdentityChange(g,Se)):(g=this._mismatch(g,Se,ce,U),O=!0),g=g._next,U++}),this.length=U;return this._truncate(g),this.collection=c,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let c;for(c=this._previousItHead=this._itHead;null!==c;c=c._next)c._nextPrevious=c._next;for(c=this._additionsHead;null!==c;c=c._nextAdded)c.previousIndex=c.currentIndex;for(this._additionsHead=this._additionsTail=null,c=this._movesHead;null!==c;c=c._nextMoved)c.previousIndex=c.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(c,g,O,U){let G;return null===c?G=this._itTail:(G=c._prev,this._remove(c)),null!==(c=null===this._unlinkedRecords?null:this._unlinkedRecords.get(O,null))?(Object.is(c.item,g)||this._addIdentityChange(c,g),this._reinsertAfter(c,G,U)):null!==(c=null===this._linkedRecords?null:this._linkedRecords.get(O,U))?(Object.is(c.item,g)||this._addIdentityChange(c,g),this._moveAfter(c,G,U)):c=this._addAfter(new Wm(g,O),G,U),c}_verifyReinsertion(c,g,O,U){let G=null===this._unlinkedRecords?null:this._unlinkedRecords.get(O,null);return null!==G?c=this._reinsertAfter(G,c._prev,U):c.currentIndex!=U&&(c.currentIndex=U,this._addToMoves(c,U)),c}_truncate(c){for(;null!==c;){const g=c._next;this._addToRemovals(this._unlink(c)),c=g}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(c,g,O){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(c);const U=c._prevRemoved,G=c._nextRemoved;return null===U?this._removalsHead=G:U._nextRemoved=G,null===G?this._removalsTail=U:G._prevRemoved=U,this._insertAfter(c,g,O),this._addToMoves(c,O),c}_moveAfter(c,g,O){return this._unlink(c),this._insertAfter(c,g,O),this._addToMoves(c,O),c}_addAfter(c,g,O){return this._insertAfter(c,g,O),null===this._additionsTail?this._additionsTail=this._additionsHead=c:this._additionsTail=this._additionsTail._nextAdded=c,c}_insertAfter(c,g,O){const U=null===g?this._itHead:g._next;return c._next=U,c._prev=g,null===U?this._itTail=c:U._prev=c,null===g?this._itHead=c:g._next=c,null===this._linkedRecords&&(this._linkedRecords=new Km),this._linkedRecords.put(c),c.currentIndex=O,c}_remove(c){return this._addToRemovals(this._unlink(c))}_unlink(c){null!==this._linkedRecords&&this._linkedRecords.remove(c);const g=c._prev,O=c._next;return null===g?this._itHead=O:g._next=O,null===O?this._itTail=g:O._prev=g,c}_addToMoves(c,g){return c.previousIndex===g||(null===this._movesTail?this._movesTail=this._movesHead=c:this._movesTail=this._movesTail._nextMoved=c),c}_addToRemovals(c){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Km),this._unlinkedRecords.put(c),c.currentIndex=null,c._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=c,c._prevRemoved=null):(c._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=c),c}_addIdentityChange(c,g){return c.item=g,null===this._identityChangesTail?this._identityChangesTail=this._identityChangesHead=c:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=c,c}}class Wm{constructor(c,g){this.item=c,this.trackById=g,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class _8{constructor(){this._head=null,this._tail=null}add(c){null===this._head?(this._head=this._tail=c,c._nextDup=null,c._prevDup=null):(this._tail._nextDup=c,c._prevDup=this._tail,c._nextDup=null,this._tail=c)}get(c,g){let O;for(O=this._head;null!==O;O=O._nextDup)if((null===g||g<=O.currentIndex)&&Object.is(O.trackById,c))return O;return null}remove(c){const g=c._prevDup,O=c._nextDup;return null===g?this._head=O:g._nextDup=O,null===O?this._tail=g:O._prevDup=g,null===this._head}}class Km{constructor(){this.map=new Map}put(c){const g=c.trackById;let O=this.map.get(g);O||(O=new _8,this.map.set(g,O)),O.add(c)}get(c,g){const O=c,U=this.map.get(O);return U?U.get(c,g):null}remove(c){const g=c.trackById;return this.map.get(g).remove(c)&&this.map.delete(g),c}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Gm(l,c,g){const O=l.previousIndex;if(null===O)return O;let U=0;return g&&O{if(g&&g.key===U)this._maybeAddToChanges(g,O),this._appendAfter=g,g=g._next;else{const G=this._getOrCreateRecordForKey(U,O);g=this._insertBeforeOrAppend(g,G)}}),g){g._prev&&(g._prev._next=null),this._removalsHead=g;for(let O=g;null!==O;O=O._nextRemoved)O===this._mapHead&&(this._mapHead=null),this._records.delete(O.key),O._nextRemoved=O._next,O.previousValue=O.currentValue,O.currentValue=null,O._prev=null,O._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(c,g){if(c){const O=c._prev;return g._next=c,g._prev=O,c._prev=g,O&&(O._next=g),c===this._mapHead&&(this._mapHead=g),this._appendAfter=c,c}return this._appendAfter?(this._appendAfter._next=g,g._prev=this._appendAfter):this._mapHead=g,this._appendAfter=g,null}_getOrCreateRecordForKey(c,g){if(this._records.has(c)){const U=this._records.get(c);this._maybeAddToChanges(U,g);const G=U._prev,ce=U._next;return G&&(G._next=ce),ce&&(ce._prev=G),U._next=null,U._prev=null,U}const O=new g8(c);return this._records.set(c,O),O.currentValue=g,this._addToAdditions(O),O}_reset(){if(this.isDirty){let c;for(this._previousMapHead=this._mapHead,c=this._previousMapHead;null!==c;c=c._next)c._nextPrevious=c._next;for(c=this._changesHead;null!==c;c=c._nextChanged)c.previousValue=c.currentValue;for(c=this._additionsHead;null!=c;c=c._nextAdded)c.previousValue=c.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(c,g){Object.is(g,c.currentValue)||(c.previousValue=c.currentValue,c.currentValue=g,this._addToChanges(c))}_addToAdditions(c){null===this._additionsHead?this._additionsHead=this._additionsTail=c:(this._additionsTail._nextAdded=c,this._additionsTail=c)}_addToChanges(c){null===this._changesHead?this._changesHead=this._changesTail=c:(this._changesTail._nextChanged=c,this._changesTail=c)}_forEach(c,g){c instanceof Map?c.forEach(g):Object.keys(c).forEach(O=>g(c[O],O))}}class g8{constructor(c){this.key=c,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Ym(){return new I1([new p_])}class I1{constructor(c){this.factories=c}static create(c,g){if(null!=g){const O=g.factories.slice();c=c.concat(O)}return new I1(c)}static extend(c){return{provide:I1,useFactory:g=>I1.create(c,g||Ym()),deps:[[I1,new bl,new B2]]}}find(c){const g=this.factories.find(O=>O.supports(c));if(null!=g)return g;throw new Z(901,!1)}}function Qm(){return new L1([new Zm])}I1.\u0275prov=Ge({token:I1,providedIn:"root",factory:Ym});class L1{constructor(c){this.factories=c}static create(c,g){if(g){const O=g.factories.slice();c=c.concat(O)}return new L1(c)}static extend(c){return{provide:L1,useFactory:g=>L1.create(c,g||Qm()),deps:[[L1,new bl,new B2]]}}find(c){const g=this.factories.find(O=>O.supports(c));if(g)return g;throw new Z(901,!1)}}L1.\u0275prov=Ge({token:L1,providedIn:"root",factory:Qm});const y8=[new Zm],__=[new p_],b8=(new I1(__),new L1(y8),o_(null,"core",[]));class c3{constructor(c){}}function x8(l){return"boolean"==typeof l?l:null!=l&&"false"!==l}c3.\u0275fac=function(c){return new(c||c3)(gt(L2))},c3.\u0275mod=Ze({type:c3}),c3.\u0275inj=We({})},7200:(Ve,X,m)=>{"use strict";function e(S){for(let A in S){let P=S[A]??"";switch(A){case"display":S.display="flex"===P?["-webkit-flex","flex"]:"inline-flex"===P?["-webkit-inline-flex","inline-flex"]:P;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":S["-webkit-"+A]=P;break;case"flex-direction":S["-webkit-flex-direction"]=P,S["flex-direction"]=P;break;case"order":S.order=S["-webkit-"+A]=isNaN(+P)?"0":P}}return S}m.d(X,{Ar:()=>E,GK:()=>e,iQ:()=>_,kt:()=>p,tj:()=>D});const t="inline",_=["row","column","row-reverse","column-reverse"];function E(S){let[A,P,M]=s(S);return function k(S,A=null,P=!1){return{display:P?"inline-flex":"flex","box-sizing":"border-box","flex-direction":S,"flex-wrap":A||null}}(A,P,M)}function s(S){S=S?.toLowerCase()??"";let[A,P,M]=S.split(" ");return _.find(z=>z===A)||(A=_[0]),P===t&&(P=M!==t?M:"",M=t),[A,u(P),!!M]}function D(S){let[A]=s(S);return A.indexOf("row")>-1}function u(S){if(S)switch(S.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":S="wrap-reverse";break;case"no":case"none":case"nowrap":S="nowrap";break;default:S="wrap"}return S}function p(S,...A){if(null==S)throw TypeError("Cannot convert undefined or null to object");for(let P of A)if(null!=P)for(let M in P)P.hasOwnProperty(M)&&(S[M]=P[M]);return S}},4658:(Ve,X,m)=>{"use strict";m.d(X,{Bs:()=>n,FL:()=>we,IR:()=>le,Ot:()=>nt,QI:()=>h,RK:()=>d,WU:()=>ue,g5:()=>$,iR:()=>Nt,wY:()=>w,yB:()=>Ct});var e=m(2560),t=m(4666),_=m(6317),E=m(833),s=m(6646),D=m(253),u=m(3888),k=m(745),p=m(3280),S=m(7200),A=m(116),P=m(9337),M=m(1989),z=m(2673),I=m(635),W=m(8977),Z=m(8951),j=m(9295);const re={provide:e.tb,useFactory:function ae(Y,te){return()=>{if((0,t.NF)(te)){const xe=Array.from(Y.querySelectorAll(`[class*=${pe}]`)),ze=/\bflex-layout-.+?\b/g;xe.forEach(_t=>{_t.classList.contains(`${pe}ssr`)&&_t.parentNode?_t.parentNode.removeChild(_t):_t.className.replace(ze,"")})}}},deps:[t.K0,e.Lbi],multi:!0},pe="flex-layout-";class le{}le.\u0275fac=function(te){return new(te||le)},le.\u0275mod=e.oAB({type:le}),le.\u0275inj=e.cJS({providers:[re]});class ve{constructor(te=!1,xe="all",ze="",_t="",ct=0){this.matches=te,this.mediaQuery=xe,this.mqAlias=ze,this.suffix=_t,this.priority=ct,this.property=""}clone(){return new ve(this.matches,this.mediaQuery,this.mqAlias,this.suffix)}}class de{constructor(){this.stylesheet=new Map}addStyleToElement(te,xe,ze){const _t=this.stylesheet.get(te);_t?_t.set(xe,ze):this.stylesheet.set(te,new Map([[xe,ze]]))}clearStyles(){this.stylesheet.clear()}getStyleForElement(te,xe){const ze=this.stylesheet.get(te);let _t="";if(ze){const ct=ze.get(xe);("number"==typeof ct||"string"==typeof ct)&&(_t=ct+"")}return _t}}de.\u0275fac=function(te){return new(te||de)},de.\u0275prov=e.Yz7({token:de,factory:de.\u0275fac,providedIn:"root"});const $={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[],multiplier:void 0,defaultUnit:"px",detectLayoutDisplay:!1},ue=new e.OlP("Flex Layout token, config options for the library",{providedIn:"root",factory:()=>$}),w=new e.OlP("FlexLayoutServerLoaded",{providedIn:"root",factory:()=>!1}),n=new e.OlP("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:()=>null});function o(Y,te){return Y=Y?.clone()??new ve,te&&(Y.mqAlias=te.alias,Y.mediaQuery=te.mediaQuery,Y.suffix=te.suffix,Y.priority=te.priority),Y}class h{constructor(){this.shouldCache=!0}sideEffect(te,xe,ze){}}class d{constructor(te,xe,ze,_t){this._serverStylesheet=te,this._serverModuleLoaded=xe,this._platformId=ze,this.layoutConfig=_t}applyStyleToElement(te,xe,ze=null){let _t={};"string"==typeof xe&&(_t[xe]=ze,xe=_t),_t=this.layoutConfig.disableVendorPrefixes?xe:(0,S.GK)(xe),this._applyMultiValueStyleToElement(_t,te)}applyStyleToElements(te,xe=[]){const ze=this.layoutConfig.disableVendorPrefixes?te:(0,S.GK)(te);xe.forEach(_t=>{this._applyMultiValueStyleToElement(ze,_t)})}getFlowDirection(te){const xe="flex-direction";let ze=this.lookupStyle(te,xe);return[ze||"row",this.lookupInlineStyle(te,xe)||(0,t.PM)(this._platformId)&&this._serverModuleLoaded?ze:""]}hasWrap(te){return"wrap"===this.lookupStyle(te,"flex-wrap")}lookupAttributeValue(te,xe){return te.getAttribute(xe)??""}lookupInlineStyle(te,xe){return(0,t.NF)(this._platformId)?te.style.getPropertyValue(xe):function y(Y,te){return v(Y)[te]??""}(te,xe)}lookupStyle(te,xe,ze=!1){let _t="";return te&&((_t=this.lookupInlineStyle(te,xe))||((0,t.NF)(this._platformId)?ze||(_t=getComputedStyle(te).getPropertyValue(xe)):this._serverModuleLoaded&&(_t=this._serverStylesheet.getStyleForElement(te,xe)))),_t?_t.trim():""}_applyMultiValueStyleToElement(te,xe){Object.keys(te).sort().forEach(ze=>{const _t=te[ze],ct=Array.isArray(_t)?_t:[_t];ct.sort();for(let Ue of ct)Ue=Ue?Ue+"":"",(0,t.NF)(this._platformId)||!this._serverModuleLoaded?(0,t.NF)(this._platformId)?xe.style.setProperty(ze,Ue):L(xe,ze,Ue):this._serverStylesheet.addStyleToElement(xe,ze,Ue)})}}function L(Y,te,xe){te=te.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const ze=v(Y);ze[te]=xe??"",function B(Y,te){let xe="";for(const ze in te)te[ze]&&(xe+=`${ze}:${te[ze]};`);Y.setAttribute("style",xe)}(Y,ze)}function v(Y){const te={},xe=Y.getAttribute("style");if(xe){const ze=xe.split(/;+/g);for(let _t=0;_t0){const Ue=ct.indexOf(":");if(-1===Ue)throw new Error(`Invalid CSS style: ${ct}`);te[ct.substr(0,Ue).trim()]=ct.substr(Ue+1).trim()}}}return te}function a(Y,te){const xe=Y&&Y.priority||0;return(te&&te.priority||0)-xe}function C(Y,te){return(Y.priority||0)-(te.priority||0)}d.\u0275fac=function(te){return new(te||d)(e.LFG(de),e.LFG(w),e.LFG(e.Lbi),e.LFG(ue))},d.\u0275prov=e.Yz7({token:d,factory:d.\u0275fac,providedIn:"root"});class N{constructor(te,xe,ze){this._zone=te,this._platformId=xe,this._document=ze,this.source=new _.X(new ve(!0)),this.registry=new Map,this.pendingRemoveListenerFns=[],this._observable$=this.source.asObservable()}get activations(){const te=[];return this.registry.forEach((xe,ze)=>{xe.matches&&te.push(ze)}),te}isActive(te){return this.registry.get(te)?.matches??this.registerQuery(te).some(ze=>ze.matches)}observe(te,xe=!1){if(te&&te.length){const ze=this._observable$.pipe((0,A.h)(ct=>!xe||te.indexOf(ct.mediaQuery)>-1)),_t=new E.y(ct=>{const Ue=this.registerQuery(te);if(Ue.length){const Me=Ue.pop();Ue.forEach(Ce=>{ct.next(Ce)}),this.source.next(Me)}ct.complete()});return(0,s.T)(_t,ze)}return this._observable$}registerQuery(te){const xe=Array.isArray(te)?te:[te],ze=[];return function J(Y,te){const xe=Y.filter(ze=>!F[ze]);if(xe.length>0){const ze=xe.join(", ");try{const _t=te.createElement("style");if(_t.setAttribute("type","text/css"),!_t.styleSheet){const ct=`\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ${ze} {.fx-query-test{ }}\n`;_t.appendChild(te.createTextNode(ct))}te.head.appendChild(_t),xe.forEach(ct=>F[ct]=_t)}catch(_t){console.error(_t)}}}(xe,this._document),xe.forEach(_t=>{const ct=Me=>{this._zone.run(()=>this.source.next(new ve(Me.matches,_t)))};let Ue=this.registry.get(_t);Ue||(Ue=this.buildMQL(_t),Ue.addListener(ct),this.pendingRemoveListenerFns.push(()=>Ue.removeListener(ct)),this.registry.set(_t,Ue)),Ue.matches&&ze.push(new ve(!0,_t))}),ze}ngOnDestroy(){let te;for(;te=this.pendingRemoveListenerFns.pop();)te()}buildMQL(te){return function ke(Y,te){return te&&window.matchMedia("all").addListener?window.matchMedia(Y):function Fe(Y){const te=new EventTarget;return te.matches="all"===Y||""===Y,te.media=Y,te.addListener=()=>{},te.removeListener=()=>{},te.addEventListener=()=>{},te.dispatchEvent=()=>!1,te.onchange=null,te}(Y)}(te,(0,t.NF)(this._platformId))}}N.\u0275fac=function(te){return new(te||N)(e.LFG(e.R0b),e.LFG(e.Lbi),e.LFG(t.K0))},N.\u0275prov=e.Yz7({token:N,factory:N.\u0275fac,providedIn:"root"});const F={};const Ge=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.98px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.98px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.98px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.98px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.98px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.98px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.98px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.98px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.98px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],je="(orientation: portrait) and (max-width: 599.98px)",We="(orientation: landscape) and (max-width: 959.98px)",be="(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)",Ye="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)",Ie="(orientation: portrait) and (min-width: 840px)",ge="(orientation: landscape) and (min-width: 1280px)",et={HANDSET:`${je}, ${We}`,TABLET:`${be} , ${Ye}`,WEB:`${Ie}, ${ge} `,HANDSET_PORTRAIT:`${je}`,TABLET_PORTRAIT:`${be} `,WEB_PORTRAIT:`${Ie}`,HANDSET_LANDSCAPE:`${We}`,TABLET_LANDSCAPE:`${Ye}`,WEB_LANDSCAPE:`${ge}`},ut=[{alias:"handset",priority:2e3,mediaQuery:et.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:et.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:et.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:et.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:et.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:et.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:et.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:et.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:et.WEB_PORTRAIT,overlapping:!0}],Le=/(\.|-|_)/g;function De(Y){let te=Y.length>0?Y.charAt(0):"",xe=Y.length>1?Y.slice(1):"";return te.toUpperCase()+xe}function fe(Y){return Y.forEach(te=>{te.suffix||(te.suffix=function ne(Y){return Y.replace(Le,"|").split("|").map(De).join("")}(te.alias),te.overlapping=!!te.overlapping)}),Y}const H=new e.OlP("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:()=>{const Y=(0,e.f3M)(n),te=(0,e.f3M)(ue),xe=[].concat.apply([],(Y||[]).map(_t=>Array.isArray(_t)?_t:[_t]));return function ee(Y,te=[]){const xe={};return Y.forEach(ze=>{xe[ze.alias]=ze}),te.forEach(ze=>{xe[ze.alias]?(0,S.kt)(xe[ze.alias],ze):xe[ze.alias]=ze}),fe(Object.keys(xe).map(ze=>xe[ze]))}((te.disableDefaultBps?[]:Ge).concat(te.addOrientationBps?ut:[]),xe)}});class q{constructor(te){this.findByMap=new Map,this.items=[...te].sort(C)}findByAlias(te){return te?this.findWithPredicate(te,xe=>xe.alias===te):null}findByQuery(te){return this.findWithPredicate(te,xe=>xe.mediaQuery===te)}get overlappings(){return this.items.filter(te=>te.overlapping)}get aliases(){return this.items.map(te=>te.alias)}get suffixes(){return this.items.map(te=>te?.suffix??"")}findWithPredicate(te,xe){let ze=this.findByMap.get(te);return ze||(ze=this.items.find(xe)??null,this.findByMap.set(te,ze)),ze??null}}q.\u0275fac=function(te){return new(te||q)(e.LFG(H))},q.\u0275prov=e.Yz7({token:q,factory:q.\u0275fac,providedIn:"root"});const Oe="print",Re={alias:Oe,mediaQuery:Oe,priority:1e3};class oe{constructor(te,xe,ze){this.breakpoints=te,this.layoutConfig=xe,this._document=ze,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.formerActivations=null,this.isPrinting=!1,this.queue=new pt,this.deactivations=[]}withPrintQuery(te){return[...te,Oe]}isPrintEvent(te){return te.mediaQuery.startsWith(Oe)}get printAlias(){return[...this.layoutConfig.printWithBreakpoints??[]]}get printBreakPoints(){return this.printAlias.map(te=>this.breakpoints.findByAlias(te)).filter(te=>null!==te)}getEventBreakpoints({mediaQuery:te}){const xe=this.breakpoints.findByQuery(te);return(xe?[...this.printBreakPoints,xe]:this.printBreakPoints).sort(a)}updateEvent(te){let xe=this.breakpoints.findByQuery(te.mediaQuery);return this.isPrintEvent(te)&&(xe=this.getEventBreakpoints(te)[0],te.mediaQuery=xe?.mediaQuery??""),o(te,xe)}registerBeforeAfterPrintHooks(te){if(!this._document.defaultView||this.registeredBeforeAfterPrintHooks)return;this.registeredBeforeAfterPrintHooks=!0;const xe=()=>{this.isPrinting||(this.isPrintingBeforeAfterEvent=!0,this.startPrinting(te,this.getEventBreakpoints(new ve(!0,Oe))),te.updateStyles())},ze=()=>{this.isPrintingBeforeAfterEvent=!1,this.isPrinting&&(this.stopPrinting(te),te.updateStyles())};this._document.defaultView.addEventListener("beforeprint",xe),this._document.defaultView.addEventListener("afterprint",ze),this.beforePrintEventListeners.push(xe),this.afterPrintEventListeners.push(ze)}interceptEvents(te){return xe=>{this.isPrintEvent(xe)?xe.matches&&!this.isPrinting?(this.startPrinting(te,this.getEventBreakpoints(xe)),te.updateStyles()):!xe.matches&&this.isPrinting&&!this.isPrintingBeforeAfterEvent&&(this.stopPrinting(te),te.updateStyles()):this.collectActivations(te,xe)}}blockPropagation(){return te=>!(this.isPrinting||this.isPrintEvent(te))}startPrinting(te,xe){this.isPrinting=!0,this.formerActivations=te.activatedBreakpoints,te.activatedBreakpoints=this.queue.addPrintBreakpoints(xe)}stopPrinting(te){te.activatedBreakpoints=this.deactivations,this.deactivations=[],this.formerActivations=null,this.queue.clear(),this.isPrinting=!1}collectActivations(te,xe){if(!this.isPrinting||this.isPrintingBeforeAfterEvent){if(!this.isPrintingBeforeAfterEvent)return void(this.deactivations=[]);if(!xe.matches){const ze=this.breakpoints.findByQuery(xe.mediaQuery);if(ze){const _t=this.formerActivations&&this.formerActivations.includes(ze),ct=!this.formerActivations&&te.activatedBreakpoints.includes(ze);(_t||ct)&&(this.deactivations.push(ze),this.deactivations.sort(a))}}}}ngOnDestroy(){this._document.defaultView&&(this.beforePrintEventListeners.forEach(te=>this._document.defaultView.removeEventListener("beforeprint",te)),this.afterPrintEventListeners.forEach(te=>this._document.defaultView.removeEventListener("afterprint",te)))}}oe.\u0275fac=function(te){return new(te||oe)(e.LFG(q),e.LFG(ue),e.LFG(t.K0))},oe.\u0275prov=e.Yz7({token:oe,factory:oe.\u0275fac,providedIn:"root"});class pt{constructor(){this.printBreakpoints=[]}addPrintBreakpoints(te){return te.push(Re),te.sort(a),te.forEach(xe=>this.addBreakpoint(xe)),this.printBreakpoints}addBreakpoint(te){te&&void 0===this.printBreakpoints.find(ze=>ze.mediaQuery===te.mediaQuery)&&(this.printBreakpoints=function it(Y){return Y?.mediaQuery.startsWith(Oe)??!1}(te)?[te,...this.printBreakpoints]:[...this.printBreakpoints,te])}clear(){this.printBreakpoints=[]}}class Ct{constructor(te,xe,ze){this.matchMedia=te,this.breakpoints=xe,this.hook=ze,this._useFallbacks=!0,this._activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new D.x,this.observeActivations()}get activatedAlias(){return this.activatedBreakpoints[0]?.alias??""}set activatedBreakpoints(te){this._activatedBreakpoints=[...te]}get activatedBreakpoints(){return[...this._activatedBreakpoints]}set useFallbacks(te){this._useFallbacks=te}onMediaChange(te){const xe=this.findByQuery(te.mediaQuery);if(xe){te=o(te,xe);const ze=this.activatedBreakpoints.indexOf(xe);te.matches&&-1===ze?(this._activatedBreakpoints.push(xe),this._activatedBreakpoints.sort(a),this.updateStyles()):!te.matches&&-1!==ze&&(this._activatedBreakpoints.splice(ze,1),this._activatedBreakpoints.sort(a),this.updateStyles())}}init(te,xe,ze,_t,ct=[]){un(this.updateMap,te,xe,ze),un(this.clearMap,te,xe,_t),this.buildElementKeyMap(te,xe),this.watchExtraTriggers(te,xe,ct)}getValue(te,xe,ze){const _t=this.elementMap.get(te);if(_t){const ct=void 0!==ze?_t.get(ze):this.getActivatedValues(_t,xe);if(ct)return ct.get(xe)}}hasValue(te,xe){const ze=this.elementMap.get(te);if(ze){const _t=this.getActivatedValues(ze,xe);if(_t)return void 0!==_t.get(xe)||!1}return!1}setValue(te,xe,ze,_t){let ct=this.elementMap.get(te);if(ct){const Me=(ct.get(_t)??new Map).set(xe,ze);ct.set(_t,Me),this.elementMap.set(te,ct)}else ct=(new Map).set(_t,(new Map).set(xe,ze)),this.elementMap.set(te,ct);const Ue=this.getValue(te,xe);void 0!==Ue&&this.updateElement(te,xe,Ue)}trackValue(te,xe){return this.subject.asObservable().pipe((0,A.h)(ze=>ze.element===te&&ze.key===xe))}updateStyles(){this.elementMap.forEach((te,xe)=>{const ze=new Set(this.elementKeyMap.get(xe));let _t=this.getActivatedValues(te);_t&&_t.forEach((ct,Ue)=>{this.updateElement(xe,Ue,ct),ze.delete(Ue)}),ze.forEach(ct=>{if(_t=this.getActivatedValues(te,ct),_t){const Ue=_t.get(ct);this.updateElement(xe,ct,Ue)}else this.clearElement(xe,ct)})})}clearElement(te,xe){const ze=this.clearMap.get(te);if(ze){const _t=ze.get(xe);_t&&(_t(),this.subject.next({element:te,key:xe,value:""}))}}updateElement(te,xe,ze){const _t=this.updateMap.get(te);if(_t){const ct=_t.get(xe);ct&&(ct(ze),this.subject.next({element:te,key:xe,value:ze}))}}releaseElement(te){const xe=this.watcherMap.get(te);xe&&(xe.forEach(_t=>_t.unsubscribe()),this.watcherMap.delete(te));const ze=this.elementMap.get(te);ze&&(ze.forEach((_t,ct)=>ze.delete(ct)),this.elementMap.delete(te))}triggerUpdate(te,xe){const ze=this.elementMap.get(te);if(ze){const _t=this.getActivatedValues(ze,xe);_t&&(xe?this.updateElement(te,xe,_t.get(xe)):_t.forEach((ct,Ue)=>this.updateElement(te,Ue,ct)))}}buildElementKeyMap(te,xe){let ze=this.elementKeyMap.get(te);ze||(ze=new Set,this.elementKeyMap.set(te,ze)),ze.add(xe)}watchExtraTriggers(te,xe,ze){if(ze&&ze.length){let _t=this.watcherMap.get(te);if(_t||(_t=new Map,this.watcherMap.set(te,_t)),!_t.get(xe)){const Ue=(0,s.T)(...ze).subscribe(()=>{const Me=this.getValue(te,xe);this.updateElement(te,xe,Me)});_t.set(xe,Ue)}}}findByQuery(te){return this.breakpoints.findByQuery(te)}getActivatedValues(te,xe){for(let _t=0;_txe.mediaQuery);this.hook.registerBeforeAfterPrintHooks(this),this.matchMedia.observe(this.hook.withPrintQuery(te)).pipe((0,P.b)(this.hook.interceptEvents(this)),(0,A.h)(this.hook.blockPropagation())).subscribe(this.onMediaChange.bind(this))}}function un(Y,te,xe,ze){if(void 0!==ze){const _t=Y.get(te)??new Map;_t.set(xe,ze),Y.set(te,_t)}}Ct.\u0275fac=function(te){return new(te||Ct)(e.LFG(N),e.LFG(q),e.LFG(oe))},Ct.\u0275prov=e.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"});class Nt{constructor(te,xe,ze,_t){this.elementRef=te,this.styleBuilder=xe,this.styler=ze,this.marshal=_t,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new D.x,this.styleCache=new Map}get parentElement(){return this.elementRef.nativeElement.parentElement}get nativeElement(){return this.elementRef.nativeElement}get activatedValue(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)}set activatedValue(te){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,te,this.marshal.activatedAlias)}ngOnChanges(te){Object.keys(te).forEach(xe=>{if(-1!==this.inputs.indexOf(xe)){const ze=xe.split(".").slice(1).join("."),_t=te[xe].currentValue;this.setValue(_t,ze)}})}ngOnDestroy(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)}init(te=[]){this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),te)}addStyles(te,xe){const ze=this.styleBuilder,_t=ze.shouldCache;let ct=this.styleCache.get(te);(!ct||!_t)&&(ct=ze.buildStyles(te,xe),_t&&this.styleCache.set(te,ct)),this.mru={...ct},this.applyStyleToElement(ct),ze.sideEffect(te,ct,xe)}clearStyles(){Object.keys(this.mru).forEach(te=>{this.mru[te]=""}),this.applyStyleToElement(this.mru),this.mru={},this.currentValue=void 0}triggerUpdate(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)}getFlexFlowDirection(te,xe=!1){if(te){const[ze,_t]=this.styler.getFlowDirection(te);if(!_t&&xe){const ct=(0,S.Ar)(ze),Ue=[te];this.styler.applyStyleToElements(ct,Ue)}return ze.trim()}return"row"}hasWrap(te){return this.styler.hasWrap(te)}applyStyleToElement(te,xe,ze=this.nativeElement){this.styler.applyStyleToElement(ze,te,xe)}setValue(te,xe){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,te,xe)}updateWithValue(te){this.currentValue!==te&&(this.addStyles(te),this.currentValue=te)}}Nt.\u0275fac=function(te){return new(te||Nt)(e.Y36(e.SBq),e.Y36(h),e.Y36(d),e.Y36(Ct))},Nt.\u0275dir=e.lG2({type:Nt,features:[e.TTD]});class zt extends N{constructor(te,xe,ze,_t){super(te,xe,ze),this._breakpoints=_t,this.autoRegisterQueries=!0,this.useOverlaps=!1}clearAll(){this.registry.forEach(te=>{te.destroy()}),this.registry.clear(),this.useOverlaps=!1}activate(te,xe=this.useOverlaps){return te=this._validateQuery(te),(xe||!this.isActive(te))&&(this._deactivateAll(),this._registerMediaQuery(te),this._activateWithOverlaps(te,xe)),this.hasActivated}_validateQuery(te){return this._breakpoints.findByAlias(te)?.mediaQuery??te}_activateWithOverlaps(te,xe){if(xe){const _t=this._breakpoints.findByQuery(te)?.alias??"unknown";switch(_t){case"lg":this._activateByAlias(["lt-xl"]);break;case"md":this._activateByAlias(["lt-xl","lt-lg"]);break;case"sm":this._activateByAlias(["lt-xl","lt-lg","lt-md"]);break;case"xs":this._activateByAlias(["lt-xl","lt-lg","lt-md","lt-sm"])}switch(_t){case"xl":this._activateByAlias(["gt-lg","gt-md","gt-sm","gt-xs"]);break;case"lg":this._activateByAlias(["gt-md","gt-sm","gt-xs"]);break;case"md":this._activateByAlias(["gt-sm","gt-xs"]);break;case"sm":this._activateByAlias(["gt-xs"])}}return this._activateByQuery(te)}_activateByAlias(te){te.forEach(ze=>{const _t=this._breakpoints.findByAlias(ze);this._activateByQuery(_t?.mediaQuery??ze)})}_activateByQuery(te){!this.registry.has(te)&&this.autoRegisterQueries&&this._registerMediaQuery(te);const xe=this.registry.get(te);return xe&&!this.isActive(te)&&this.registry.set(te,xe.activate()),this.hasActivated}_deactivateAll(){return this.registry.forEach(te=>{te.deactivate()}),this}_registerMediaQuery(te){!this.registry.has(te)&&this.autoRegisterQueries&&this.registerQuery(te)}buildMQL(te){return new yn(te)}get hasActivated(){return this.activations.length>0}}zt.\u0275fac=function(te){return new(te||zt)(e.LFG(e.R0b),e.LFG(e.Lbi),e.LFG(t.K0),e.LFG(q))},zt.\u0275prov=e.Yz7({token:zt,factory:zt.\u0275fac});class yn extends EventTarget{constructor(te){super(),this._mediaQuery=te,this._isActive=!1,this._listeners=[],this.onchange=null}get matches(){return this._isActive}get media(){return this._mediaQuery}destroy(){this.deactivate(),this._listeners=[]}activate(){return this._isActive||(this._isActive=!0,this._listeners.forEach(te=>{te.call(this,{matches:this.matches,media:this.media})})),this}deactivate(){return this._isActive&&(this._isActive=!1,this._listeners.forEach(te=>{te.call(this,{matches:this.matches,media:this.media})})),this}addListener(te){-1===this._listeners.indexOf(te)&&this._listeners.push(te),this._isActive&&te.call(this,{matches:this.matches,media:this.media})}removeListener(te){}dispatchEvent(te){return!1}}class In{constructor(te,xe,ze){this.breakpoints=te,this.matchMedia=xe,this.hook=ze,this.filterOverlaps=!1,this.destroyed$=new D.x,this._media$=this.watchActivations()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}asObservable(){return this._media$}isActive(te){return function tn(Y){return Y.flatMap(te=>te.split(",")).map(te=>te.trim())}(function Gt(Y){return Array.isArray(Y)?Y:[Y]}(te)).some(ze=>{const _t=function an(Y,te){return(te.findByAlias(Y)??te.findByQuery(Y))?.mediaQuery??null}(ze,this.breakpoints);return null!==_t&&this.matchMedia.isActive(_t)})}watchActivations(){const te=this.breakpoints.items.map(xe=>xe.mediaQuery);return this.buildObservable(te)}buildObservable(te){return this.matchMedia.observe(this.hook.withPrintQuery(te)).pipe((0,A.h)(ct=>ct.matches),(0,M.b)(0,u.E),(0,z.w)(ct=>(0,k.of)(this.findAllActivations())),(0,I.U)(ct=>this.filterOverlaps?ct.filter(Ue=>this.breakpoints.findByQuery(Ue.mediaQuery)?.overlapping??!0):ct),(0,A.h)(ct=>ct.filter(Me=>Me.mediaQuery.length>0).length>0),(0,W.x)((ct,Ue)=>{if(ct.length!==Ue.length)return!1;const Me=ct.map(Ut=>Ut.mediaQuery),Ce=new Set(Ue.map(Ut=>Ut.mediaQuery));return 0===new Set(Me.filter(Ut=>!Ce.has(Ut))).size}),(0,Z.R)(this.destroyed$))}findAllActivations(){return this.matchMedia.activations.map(ze=>new ve(!0,ze)).map(ze=>this.hook.isPrintEvent(ze)?this.hook.updateEvent(ze):ze).map(ze=>o(ze,this.breakpoints.findByQuery(ze.mediaQuery))).sort(a)}}In.\u0275fac=function(te){return new(te||In)(e.LFG(q),e.LFG(N),e.LFG(oe))},In.\u0275prov=e.Yz7({token:In,factory:In.\u0275fac,providedIn:"root"});class pn{constructor(te,xe,ze,_t,ct){this.breakpoints=te,this.matchMedia=xe,this.layoutConfig=ze,this._platformId=_t,this._document=ct,this.hasCachedRegistryMatches=!1,this.originalActivations=[],this.originalRegistry=new Map}activate(te){te=te.map(xe=>xe.trim()),this.saveActivations(),this.deactivateAll(),this.setActivations(te),this.prepareAutoRestore()}restore(){if(this.hasCachedRegistryMatches){const te=ze=>ze.mediaQuery,xe=this.originalActivations.map(te);try{this.deactivateAll(),this.restoreRegistryMatches(),this.setActivations(xe)}finally{this.originalActivations=[],this.resizeSubscription&&this.resizeSubscription.unsubscribe()}}}prepareAutoRestore(){if((0,t.NF)(this._platformId)&&this._document&&this.layoutConfig.mediaTriggerAutoRestore){const ze=(0,p.R)(window,"resize").pipe((0,j.q)(1));this.resizeSubscription=ze.subscribe(this.restore.bind(this))}}deactivateAll(){const te=this.currentActivations;this.forceRegistryMatches(te,!1),this.simulateMediaChanges(te,!1)}saveActivations(){if(!this.hasCachedRegistryMatches){const te=ze=>new ve(!0,ze),xe=ze=>o(ze,this.breakpoints.findByQuery(ze.mediaQuery));this.originalActivations=this.currentActivations.map(te).map(xe).sort(a),this.cacheRegistryMatches()}}setActivations(te){this.originalRegistry&&this.forceRegistryMatches(te,!0),this.simulateMediaChanges(te)}simulateMediaChanges(te,xe=!0){te.map(ct=>{const Ue=this.breakpoints,Me=Ue.findByAlias(ct)||Ue.findByQuery(ct);return Me?Me.mediaQuery:ct}).forEach(ct=>this.emitChangeEvent(xe,ct))}forceRegistryMatches(te,xe){const ze=new Map;te.forEach(_t=>{ze.set(_t,{matches:xe})}),this.matchMedia.registry=ze}cacheRegistryMatches(){const te=this.originalRegistry;te.clear(),this.matchMedia.registry.forEach((xe,ze)=>{te.set(ze,xe)}),this.hasCachedRegistryMatches=!0}restoreRegistryMatches(){const te=this.matchMedia.registry;te.clear(),this.originalRegistry.forEach((xe,ze)=>{te.set(ze,xe)}),this.originalRegistry.clear(),this.hasCachedRegistryMatches=!1}emitChangeEvent(te,xe){this.matchMedia.source.next(new ve(te,xe))}get currentActivations(){return this.matchMedia.activations}}function nt(Y,te="1",xe="1"){let ze=[te,xe,Y],_t=Y.indexOf("calc");if(_t>0){ze[2]=gt(Y.substring(_t).trim());let ct=Y.substr(0,_t).trim().split(" ");2==ct.length&&(ze[0]=ct[0],ze[1]=ct[1])}else if(0==_t)ze[2]=gt(Y.trim());else{let ct=Y.split(" ");ze=3===ct.length?ct:[te,xe,Y]}return ze}function gt(Y){return Y.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}pn.\u0275fac=function(te){return new(te||pn)(e.LFG(q),e.LFG(N),e.LFG(ue),e.LFG(e.Lbi),e.LFG(t.K0))},pn.\u0275prov=e.Yz7({token:pn,factory:pn.\u0275fac,providedIn:"root"});function we(Y,te){if(void 0===te)return Y;const xe=ze=>{const _t=+ze.slice(0,-"x".length);return Y.endsWith("x")&&!isNaN(_t)?`${_t*te.value}${te.unit}`:Y};return Y.includes(" ")?Y.split(" ").map(xe).join(" "):xe(Y)}},3704:(Ve,X,m)=>{"use strict";m.d(X,{Zl:()=>L,aT:()=>a,oO:()=>W});var e=m(2560),t=m(4658),_=m(4666),E=m(8971),s=m(8951),D=m(4497);class u extends t.QI{buildStyles(N){return{content:N?`url(${N})`:""}}}u.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(u)))(F||u)}}(),u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});class k extends t.iR{constructor(N,F,J,Fe,ke,Ge){super(N,F,J,Fe),this.platformId=ke,this.serverModuleLoaded=Ge,this.DIRECTIVE_KEY="img-src",this.defaultSrc="",this.styleCache=p,this.init(),this.setValue(this.nativeElement.getAttribute("src")||"",""),(0,_.PM)(this.platformId)&&this.serverModuleLoaded&&this.nativeElement.setAttribute("src","")}set src(N){this.defaultSrc=N,this.setValue(this.defaultSrc,"")}updateWithValue(N){const F=N||this.defaultSrc;(0,_.PM)(this.platformId)&&this.serverModuleLoaded?this.addStyles(F):this.nativeElement.setAttribute("src",F)}}k.\u0275fac=function(N){return new(N||k)(e.Y36(e.SBq),e.Y36(u),e.Y36(t.RK),e.Y36(t.yB),e.Y36(e.Lbi),e.Y36(t.wY))},k.\u0275dir=e.lG2({type:k,inputs:{src:"src"},features:[e.qOj]});const p=new Map,S=["src.xs","src.sm","src.md","src.lg","src.xl","src.lt-sm","src.lt-md","src.lt-lg","src.lt-xl","src.gt-xs","src.gt-sm","src.gt-md","src.gt-lg"];class P extends k{constructor(){super(...arguments),this.inputs=S}}P.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(P)))(F||P)}}(),P.\u0275dir=e.lG2({type:P,selectors:[["img","src.xs",""],["img","src.sm",""],["img","src.md",""],["img","src.lg",""],["img","src.xl",""],["img","src.lt-sm",""],["img","src.lt-md",""],["img","src.lt-lg",""],["img","src.lt-xl",""],["img","src.gt-xs",""],["img","src.gt-sm",""],["img","src.gt-md",""],["img","src.gt-lg",""]],inputs:{"src.xs":"src.xs","src.sm":"src.sm","src.md":"src.md","src.lg":"src.lg","src.xl":"src.xl","src.lt-sm":"src.lt-sm","src.lt-md":"src.lt-md","src.lt-lg":"src.lt-lg","src.lt-xl":"src.lt-xl","src.gt-xs":"src.gt-xs","src.gt-sm":"src.gt-sm","src.gt-md":"src.gt-md","src.gt-lg":"src.gt-lg"},features:[e.qOj]});class M extends t.iR{constructor(N,F,J,Fe,ke,Ge,je){super(N,null,F,J),this.ngClassInstance=je,this.DIRECTIVE_KEY="ngClass",this.ngClassInstance||(this.ngClassInstance=new _.mk(Fe,ke,N,Ge)),this.init(),this.setValue("","")}set klass(N){this.ngClassInstance.klass=N,this.setValue(N,"")}updateWithValue(N){this.ngClassInstance.ngClass=N,this.ngClassInstance.ngDoCheck()}ngDoCheck(){this.ngClassInstance.ngDoCheck()}}M.\u0275fac=function(N){return new(N||M)(e.Y36(e.SBq),e.Y36(t.RK),e.Y36(t.yB),e.Y36(e.ZZ4),e.Y36(e.aQg),e.Y36(e.Qsj),e.Y36(_.mk,10))},M.\u0275dir=e.lG2({type:M,inputs:{klass:["class","klass"]},features:[e.qOj]});const z=["ngClass","ngClass.xs","ngClass.sm","ngClass.md","ngClass.lg","ngClass.xl","ngClass.lt-sm","ngClass.lt-md","ngClass.lt-lg","ngClass.lt-xl","ngClass.gt-xs","ngClass.gt-sm","ngClass.gt-md","ngClass.gt-lg"];class W extends M{constructor(){super(...arguments),this.inputs=z}}W.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(W)))(F||W)}}(),W.\u0275dir=e.lG2({type:W,selectors:[["","ngClass",""],["","ngClass.xs",""],["","ngClass.sm",""],["","ngClass.md",""],["","ngClass.lg",""],["","ngClass.xl",""],["","ngClass.lt-sm",""],["","ngClass.lt-md",""],["","ngClass.lt-lg",""],["","ngClass.lt-xl",""],["","ngClass.gt-xs",""],["","ngClass.gt-sm",""],["","ngClass.gt-md",""],["","ngClass.gt-lg",""]],inputs:{ngClass:"ngClass","ngClass.xs":"ngClass.xs","ngClass.sm":"ngClass.sm","ngClass.md":"ngClass.md","ngClass.lg":"ngClass.lg","ngClass.xl":"ngClass.xl","ngClass.lt-sm":"ngClass.lt-sm","ngClass.lt-md":"ngClass.lt-md","ngClass.lt-lg":"ngClass.lt-lg","ngClass.lt-xl":"ngClass.lt-xl","ngClass.gt-xs":"ngClass.gt-xs","ngClass.gt-sm":"ngClass.gt-sm","ngClass.gt-md":"ngClass.gt-md","ngClass.gt-lg":"ngClass.gt-lg"},features:[e.qOj]});class Z extends t.QI{buildStyles(N,F){return{display:"true"===N?F.display||(F.isServer?"initial":""):"none"}}}Z.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(Z)))(F||Z)}}(),Z.\u0275prov=e.Yz7({token:Z,factory:Z.\u0275fac,providedIn:"root"});class j extends t.iR{constructor(N,F,J,Fe,ke,Ge,je){super(N,F,J,Fe),this.layoutConfig=ke,this.platformId=Ge,this.serverModuleLoaded=je,this.DIRECTIVE_KEY="show-hide",this.display="",this.hasLayout=!1,this.hasFlexChild=!1}ngAfterViewInit(){this.trackExtraTriggers();const N=Array.from(this.nativeElement.children);for(let J=0;J{if(-1!==this.inputs.indexOf(F)){const J=F.split("."),Fe=J.slice(1).join("."),ke=N[F].currentValue;let Ge=""===ke||0!==ke&&(0,E.Ig)(ke);"fxHide"===J[0]&&(Ge=!Ge),this.setValue(Ge,Fe)}})}trackExtraTriggers(){this.hasLayout=this.marshal.hasValue(this.nativeElement,"layout"),["layout","layout-align"].forEach(N=>{this.marshal.trackValue(this.nativeElement,N).pipe((0,s.R)(this.destroySubject)).subscribe(this.triggerUpdate.bind(this))})}getDisplayStyle(){return this.hasLayout||this.hasFlexChild&&this.layoutConfig.addFlexToParent?"flex":this.styler.lookupStyle(this.nativeElement,"display",!0)}updateWithValue(N=!0){if(""===N)return;const F=(0,_.PM)(this.platformId);this.addStyles(N?"true":"false",{display:this.display,isServer:F}),F&&this.serverModuleLoaded&&this.nativeElement.style.setProperty("display",""),this.marshal.triggerUpdate(this.parentElement,"layout-gap")}}j.\u0275fac=function(N){return new(N||j)(e.Y36(e.SBq),e.Y36(Z),e.Y36(t.RK),e.Y36(t.yB),e.Y36(t.WU),e.Y36(e.Lbi),e.Y36(t.wY))},j.\u0275dir=e.lG2({type:j,features:[e.qOj,e.TTD]});const ae=new WeakMap,re=["fxShow","fxShow.print","fxShow.xs","fxShow.sm","fxShow.md","fxShow.lg","fxShow.xl","fxShow.lt-sm","fxShow.lt-md","fxShow.lt-lg","fxShow.lt-xl","fxShow.gt-xs","fxShow.gt-sm","fxShow.gt-md","fxShow.gt-lg","fxHide","fxHide.print","fxHide.xs","fxHide.sm","fxHide.md","fxHide.lg","fxHide.xl","fxHide.lt-sm","fxHide.lt-md","fxHide.lt-lg","fxHide.lt-xl","fxHide.gt-xs","fxHide.gt-sm","fxHide.gt-md","fxHide.gt-lg"];class le extends j{constructor(){super(...arguments),this.inputs=re}}le.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(le)))(F||le)}}(),le.\u0275dir=e.lG2({type:le,selectors:[["","fxShow",""],["","fxShow.print",""],["","fxShow.xs",""],["","fxShow.sm",""],["","fxShow.md",""],["","fxShow.lg",""],["","fxShow.xl",""],["","fxShow.lt-sm",""],["","fxShow.lt-md",""],["","fxShow.lt-lg",""],["","fxShow.lt-xl",""],["","fxShow.gt-xs",""],["","fxShow.gt-sm",""],["","fxShow.gt-md",""],["","fxShow.gt-lg",""],["","fxHide",""],["","fxHide.print",""],["","fxHide.xs",""],["","fxHide.sm",""],["","fxHide.md",""],["","fxHide.lg",""],["","fxHide.xl",""],["","fxHide.lt-sm",""],["","fxHide.lt-md",""],["","fxHide.lt-lg",""],["","fxHide.lt-xl",""],["","fxHide.gt-xs",""],["","fxHide.gt-sm",""],["","fxHide.gt-md",""],["","fxHide.gt-lg",""]],inputs:{fxShow:"fxShow","fxShow.print":"fxShow.print","fxShow.xs":"fxShow.xs","fxShow.sm":"fxShow.sm","fxShow.md":"fxShow.md","fxShow.lg":"fxShow.lg","fxShow.xl":"fxShow.xl","fxShow.lt-sm":"fxShow.lt-sm","fxShow.lt-md":"fxShow.lt-md","fxShow.lt-lg":"fxShow.lt-lg","fxShow.lt-xl":"fxShow.lt-xl","fxShow.gt-xs":"fxShow.gt-xs","fxShow.gt-sm":"fxShow.gt-sm","fxShow.gt-md":"fxShow.gt-md","fxShow.gt-lg":"fxShow.gt-lg",fxHide:"fxHide","fxHide.print":"fxHide.print","fxHide.xs":"fxHide.xs","fxHide.sm":"fxHide.sm","fxHide.md":"fxHide.md","fxHide.lg":"fxHide.lg","fxHide.xl":"fxHide.xl","fxHide.lt-sm":"fxHide.lt-sm","fxHide.lt-md":"fxHide.lt-md","fxHide.lt-lg":"fxHide.lt-lg","fxHide.lt-xl":"fxHide.lt-xl","fxHide.gt-xs":"fxHide.gt-xs","fxHide.gt-sm":"fxHide.gt-sm","fxHide.gt-md":"fxHide.gt-md","fxHide.gt-lg":"fxHide.gt-lg"},features:[e.qOj]});class ve{constructor(N,F,J=!0){this.key=N,this.value=F,this.key=J?N.replace(/['"]/g,"").trim():N.trim(),this.value=J?F.replace(/['"]/g,"").trim():F.trim(),this.value=this.value.replace(/;/,"")}}function de(C){let N=typeof C;return"object"===N?C.constructor===Array?"array":C.constructor===Set?"set":"object":N}function w(C,N){let F=[];return"set"===de(C)?C.forEach(J=>F.push(J)):Object.keys(C).forEach(J=>{F.push(`${J}:${C[J]}`)}),function ue(C,N){return C.map(n).filter(J=>!!J).map(J=>(N&&(J.value=N(J.value)),J)).reduce(o,{})}(F,N)}function n(C){const[N,...F]=C.split(":");return new ve(N,F.join(":"))}function o(C,N){return N.key&&(C[N.key]=N.value),C}class h extends t.iR{constructor(N,F,J,Fe,ke,Ge,je,We,be){super(N,null,F,J),this.sanitizer=Fe,this.ngStyleInstance=je,this.DIRECTIVE_KEY="ngStyle",this.ngStyleInstance||(this.ngStyleInstance=new _.PC(N,ke,Ge)),this.init();const Ye=this.nativeElement.getAttribute("style")??"";this.fallbackStyles=this.buildStyleMap(Ye),this.isServer=We&&(0,_.PM)(be)}updateWithValue(N){const F=this.buildStyleMap(N);this.ngStyleInstance.ngStyle={...this.fallbackStyles,...F},this.isServer&&this.applyStyleToElement(F),this.ngStyleInstance.ngDoCheck()}clearStyles(){this.ngStyleInstance.ngStyle=this.fallbackStyles,this.ngStyleInstance.ngDoCheck()}buildStyleMap(N){const F=J=>this.sanitizer.sanitize(e.q3G.STYLE,J)??"";if(N)switch(de(N)){case"string":return B(function $(C,N=";"){return String(C).trim().split(N).map(F=>F.trim()).filter(F=>""!==F)}(N),F);case"array":return B(N,F);default:return w(N,F)}return{}}ngDoCheck(){this.ngStyleInstance.ngDoCheck()}}h.\u0275fac=function(N){return new(N||h)(e.Y36(e.SBq),e.Y36(t.RK),e.Y36(t.yB),e.Y36(D.H7),e.Y36(e.aQg),e.Y36(e.Qsj),e.Y36(_.PC,10),e.Y36(t.wY),e.Y36(e.Lbi))},h.\u0275dir=e.lG2({type:h,features:[e.qOj]});const d=["ngStyle","ngStyle.xs","ngStyle.sm","ngStyle.md","ngStyle.lg","ngStyle.xl","ngStyle.lt-sm","ngStyle.lt-md","ngStyle.lt-lg","ngStyle.lt-xl","ngStyle.gt-xs","ngStyle.gt-sm","ngStyle.gt-md","ngStyle.gt-lg"];class L extends h{constructor(){super(...arguments),this.inputs=d}}function B(C,N){return C.map(n).filter(J=>!!J).map(J=>(N&&(J.value=N(J.value)),J)).reduce(o,{})}L.\u0275fac=function(){let C;return function(F){return(C||(C=e.n5z(L)))(F||L)}}(),L.\u0275dir=e.lG2({type:L,selectors:[["","ngStyle",""],["","ngStyle.xs",""],["","ngStyle.sm",""],["","ngStyle.md",""],["","ngStyle.lg",""],["","ngStyle.xl",""],["","ngStyle.lt-sm",""],["","ngStyle.lt-md",""],["","ngStyle.lt-lg",""],["","ngStyle.lt-xl",""],["","ngStyle.gt-xs",""],["","ngStyle.gt-sm",""],["","ngStyle.gt-md",""],["","ngStyle.gt-lg",""]],inputs:{ngStyle:"ngStyle","ngStyle.xs":"ngStyle.xs","ngStyle.sm":"ngStyle.sm","ngStyle.md":"ngStyle.md","ngStyle.lg":"ngStyle.lg","ngStyle.xl":"ngStyle.xl","ngStyle.lt-sm":"ngStyle.lt-sm","ngStyle.lt-md":"ngStyle.lt-md","ngStyle.lt-lg":"ngStyle.lt-lg","ngStyle.lt-xl":"ngStyle.lt-xl","ngStyle.gt-xs":"ngStyle.gt-xs","ngStyle.gt-sm":"ngStyle.gt-sm","ngStyle.gt-md":"ngStyle.gt-md","ngStyle.gt-lg":"ngStyle.gt-lg"},features:[e.qOj]});class a{}a.\u0275fac=function(N){return new(N||a)},a.\u0275mod=e.oAB({type:a}),a.\u0275inj=e.cJS({imports:[t.IR]})},6722:(Ve,X,m)=>{"use strict";m.d(X,{Wh:()=>Nt,ae:()=>gt,xw:()=>A,yH:()=>y});var e=m(2560),t=m(2867),_=m(4658),E=m(7200),s=m(253),D=m(8951);class u extends _.QI{buildStyles(we,{display:Y}){const te=(0,E.Ar)(we);return{...te,display:"none"===Y?Y:te.display}}}u.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(u)))(Y||u)}}(),u.\u0275prov=e.Yz7({token:u,factory:u.\u0275fac,providedIn:"root"});const k=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"];class S extends _.iR{constructor(we,Y,te,xe,ze){super(we,te,Y,xe),this._config=ze,this.DIRECTIVE_KEY="layout",this.init()}updateWithValue(we){const te=this._config.detectLayoutDisplay?this.styler.lookupStyle(this.nativeElement,"display"):"";this.styleCache=P.get(te)??new Map,P.set(te,this.styleCache),this.currentValue!==we&&(this.addStyles(we,{display:te}),this.currentValue=we)}}S.\u0275fac=function(we){return new(we||S)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(u),e.Y36(_.yB),e.Y36(_.WU))},S.\u0275dir=e.lG2({type:S,features:[e.qOj]});class A extends S{constructor(){super(...arguments),this.inputs=k}}A.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(A)))(Y||A)}}(),A.\u0275dir=e.lG2({type:A,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[e.qOj]});const P=new Map,M={"margin-left":null,"margin-right":null,"margin-top":null,"margin-bottom":null};class z extends _.QI{constructor(we,Y){super(),this._styler=we,this._config=Y}buildStyles(we,Y){return we.endsWith(ve)?(we=we.slice(0,we.indexOf(ve)),function $(At,we){const[Y,te]=At.split(" "),ze=Me=>`-${Me}`;let _t="0px",ct=ze(te??Y),Ue="0px";return"rtl"===we?Ue=ze(Y):_t=ze(Y),{margin:`0px ${_t} ${ct} ${Ue}`}}(we=(0,_.FL)(we,this._config.multiplier),Y.directionality)):{}}sideEffect(we,Y,te){const xe=te.items;if(we.endsWith(ve)){we=we.slice(0,we.indexOf(ve));const ze=function de(At,we){const[Y,te]=At.split(" ");let ze="0px",ct="0px";return"rtl"===we?ct=Y:ze=Y,{padding:`0px ${ze} ${te??Y} ${ct}`}}(we=(0,_.FL)(we,this._config.multiplier),te.directionality);this._styler.applyStyleToElements(ze,te.items)}else{we=(0,_.FL)(we,this._config.multiplier),we=this.addFallbackUnit(we);const ze=xe.pop(),_t=function w(At,we){const Y=ue(we.directionality,we.layout),te={...M};return te[Y]=At,te}(we,te);this._styler.applyStyleToElements(_t,xe),this._styler.applyStyleToElements(M,[ze])}}addFallbackUnit(we){return isNaN(+we)?we:`${we}${this._config.defaultUnit}`}}z.\u0275fac=function(we){return new(we||z)(e.LFG(_.RK),e.LFG(_.WU))},z.\u0275prov=e.Yz7({token:z,factory:z.\u0275fac,providedIn:"root"});const I=["fxLayoutGap","fxLayoutGap.xs","fxLayoutGap.sm","fxLayoutGap.md","fxLayoutGap.lg","fxLayoutGap.xl","fxLayoutGap.lt-sm","fxLayoutGap.lt-md","fxLayoutGap.lt-lg","fxLayoutGap.lt-xl","fxLayoutGap.gt-xs","fxLayoutGap.gt-sm","fxLayoutGap.gt-md","fxLayoutGap.gt-lg"];class Z extends _.iR{constructor(we,Y,te,xe,ze,_t){super(we,ze,xe,_t),this.zone=Y,this.directionality=te,this.styleUtils=xe,this.layout="row",this.DIRECTIVE_KEY="layout-gap",this.observerSubject=new s.x;const ct=[this.directionality.change,this.observerSubject.asObservable()];this.init(ct),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}get childrenNodes(){const we=this.nativeElement.children,Y=[];for(let te=we.length;te--;)Y[te]=we[te];return Y}ngAfterContentInit(){this.buildChildObservable(),this.triggerUpdate()}ngOnDestroy(){super.ngOnDestroy(),this.observer&&this.observer.disconnect()}onLayoutChange(we){const te=we.value.split(" ");this.layout=te[0],E.iQ.find(xe=>xe===this.layout)||(this.layout="row"),this.triggerUpdate()}updateWithValue(we){const Y=this.childrenNodes.filter(te=>1===te.nodeType&&this.willDisplay(te)).sort((te,xe)=>{const ze=+this.styler.lookupStyle(te,"order"),_t=+this.styler.lookupStyle(xe,"order");return isNaN(ze)||isNaN(_t)||ze===_t?0:ze>_t?1:-1});if(Y.length>0){const te=this.directionality.value,xe=this.layout;"row"===xe&&"rtl"===te?this.styleCache=ae:"row"===xe&&"rtl"!==te?this.styleCache=pe:"column"===xe&&"rtl"===te?this.styleCache=re:"column"===xe&&"rtl"!==te&&(this.styleCache=le),this.addStyles(we,{directionality:te,items:Y,layout:xe})}}clearStyles(){const we=Object.keys(this.mru).length>0,Y=we?"padding":ue(this.directionality.value,this.layout);we&&super.clearStyles(),this.styleUtils.applyStyleToElements({[Y]:""},this.childrenNodes)}willDisplay(we){const Y=this.marshal.getValue(we,"show-hide");return!0===Y||void 0===Y&&"none"!==this.styleUtils.lookupStyle(we,"display")}buildChildObservable(){this.zone.runOutsideAngular(()=>{typeof MutationObserver<"u"&&(this.observer=new MutationObserver(we=>{we.some(te=>te.addedNodes&&te.addedNodes.length>0||te.removedNodes&&te.removedNodes.length>0)&&this.observerSubject.next()}),this.observer.observe(this.nativeElement,{childList:!0}))})}}Z.\u0275fac=function(we){return new(we||Z)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(t.Is),e.Y36(_.RK),e.Y36(z),e.Y36(_.yB))},Z.\u0275dir=e.lG2({type:Z,features:[e.qOj]});class j extends Z{constructor(){super(...arguments),this.inputs=I}}j.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(j)))(Y||j)}}(),j.\u0275dir=e.lG2({type:j,selectors:[["","fxLayoutGap",""],["","fxLayoutGap.xs",""],["","fxLayoutGap.sm",""],["","fxLayoutGap.md",""],["","fxLayoutGap.lg",""],["","fxLayoutGap.xl",""],["","fxLayoutGap.lt-sm",""],["","fxLayoutGap.lt-md",""],["","fxLayoutGap.lt-lg",""],["","fxLayoutGap.lt-xl",""],["","fxLayoutGap.gt-xs",""],["","fxLayoutGap.gt-sm",""],["","fxLayoutGap.gt-md",""],["","fxLayoutGap.gt-lg",""]],inputs:{fxLayoutGap:"fxLayoutGap","fxLayoutGap.xs":"fxLayoutGap.xs","fxLayoutGap.sm":"fxLayoutGap.sm","fxLayoutGap.md":"fxLayoutGap.md","fxLayoutGap.lg":"fxLayoutGap.lg","fxLayoutGap.xl":"fxLayoutGap.xl","fxLayoutGap.lt-sm":"fxLayoutGap.lt-sm","fxLayoutGap.lt-md":"fxLayoutGap.lt-md","fxLayoutGap.lt-lg":"fxLayoutGap.lt-lg","fxLayoutGap.lt-xl":"fxLayoutGap.lt-xl","fxLayoutGap.gt-xs":"fxLayoutGap.gt-xs","fxLayoutGap.gt-sm":"fxLayoutGap.gt-sm","fxLayoutGap.gt-md":"fxLayoutGap.gt-md","fxLayoutGap.gt-lg":"fxLayoutGap.gt-lg"},features:[e.qOj]});const ae=new Map,re=new Map,pe=new Map,le=new Map,ve=" grid";function ue(At,we){switch(we){case"column":return"margin-bottom";case"column-reverse":return"margin-top";case"row":default:return"rtl"===At?"margin-left":"margin-right";case"row-reverse":return"rtl"===At?"margin-right":"margin-left"}}class n extends _.QI{constructor(we){super(),this.layoutConfig=we}buildStyles(we,Y){let[te,xe,...ze]=we.split(" "),_t=ze.join(" ");const ct=Y.direction.indexOf("column")>-1?"column":"row",Ue=(0,E.tj)(ct)?"max-width":"max-height",Me=(0,E.tj)(ct)?"min-width":"min-height",Ce=String(_t).indexOf("calc")>-1,Je=Ce||"auto"===_t,Ut=String(_t).indexOf("%")>-1&&!Ce,Dt=String(_t).indexOf("px")>-1||String(_t).indexOf("rem")>-1||String(_t).indexOf("em")>-1||String(_t).indexOf("vw")>-1||String(_t).indexOf("vh")>-1;let Tt=Ce||Dt;te="0"==te?0:te,xe="0"==xe?0:xe;const Ht=!te&&!xe;let He={};const $e={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(_t||""){case"":const $t=!1!==this.layoutConfig.useColumnBasisZero;_t="row"===ct?"0%":$t?"0.000000001px":"auto";break;case"initial":case"nogrow":te=0,_t="auto";break;case"grow":_t="100%";break;case"noshrink":xe=0,_t="auto";break;case"auto":break;case"none":te=0,xe=0,_t="auto";break;default:!Tt&&!Ut&&!isNaN(_t)&&(_t+="%"),"0%"===_t&&(Tt=!0),"0px"===_t&&(_t="0%"),He=Ce?(0,E.kt)($e,{"flex-grow":te,"flex-shrink":xe,"flex-basis":Tt?_t:"100%"}):(0,E.kt)($e,{flex:`${te} ${xe} ${Tt?_t:"100%"}`})}return He.flex||He["flex-grow"]||(He=Ce?(0,E.kt)($e,{"flex-grow":te,"flex-shrink":xe,"flex-basis":_t}):(0,E.kt)($e,{flex:`${te} ${xe} ${_t}`})),"0%"!==_t&&"0px"!==_t&&"0.000000001px"!==_t&&"auto"!==_t&&(He[Me]=Ht||Tt&&te?_t:null,He[Ue]=Ht||!Je&&xe?_t:null),He[Me]||He[Ue]?Y.hasWrap&&(He[Ce?"flex-basis":"flex"]=He[Ue]?Ce?He[Ue]:`${te} ${xe} ${He[Ue]}`:Ce?He[Me]:`${te} ${xe} ${He[Me]}`):He=Ce?(0,E.kt)($e,{"flex-grow":te,"flex-shrink":xe,"flex-basis":_t}):(0,E.kt)($e,{flex:`${te} ${xe} ${_t}`}),(0,E.kt)(He,{"box-sizing":"border-box"})}}n.\u0275fac=function(we){return new(we||n)(e.LFG(_.WU))},n.\u0275prov=e.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"});const o=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"];class d extends _.iR{constructor(we,Y,te,xe,ze){super(we,xe,Y,ze),this.layoutConfig=te,this.marshal=ze,this.DIRECTIVE_KEY="flex",this.direction=void 0,this.wrap=void 0,this.flexGrow="1",this.flexShrink="1",this.init()}get shrink(){return this.flexShrink}set shrink(we){this.flexShrink=we||"1",this.triggerReflow()}get grow(){return this.flexGrow}set grow(we){this.flexGrow=we||"1",this.triggerReflow()}ngOnInit(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe((0,D.R)(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))}onLayoutChange(we){const te=we.value.split(" ");this.direction=te[0],this.wrap=void 0!==te[1]&&"wrap"===te[1],this.triggerUpdate()}updateWithValue(we){const Y=!1!==this.layoutConfig.addFlexToParent;void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,Y)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));const te=this.direction,xe=te.startsWith("row"),ze=this.wrap;xe&&ze?this.styleCache=v:xe&&!ze?this.styleCache=L:!xe&&ze?this.styleCache=a:!xe&&!ze&&(this.styleCache=B);const _t=String(we).replace(";",""),ct=(0,_.Ot)(_t,this.flexGrow,this.flexShrink);this.addStyles(ct.join(" "),{direction:te,hasWrap:ze})}triggerReflow(){const we=this.activatedValue;if(void 0!==we){const Y=(0,_.Ot)(we+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,Y.join(" "))}}}d.\u0275fac=function(we){return new(we||d)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(_.WU),e.Y36(n),e.Y36(_.yB))},d.\u0275dir=e.lG2({type:d,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[e.qOj]});class y extends d{constructor(){super(...arguments),this.inputs=o}}y.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(y)))(Y||y)}}(),y.\u0275dir=e.lG2({type:y,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[e.qOj]});const L=new Map,B=new Map,v=new Map,a=new Map;class C extends _.QI{buildStyles(we){return{order:we&&parseInt(we,10)||""}}}C.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(C)))(Y||C)}}(),C.\u0275prov=e.Yz7({token:C,factory:C.\u0275fac,providedIn:"root"});const N=["fxFlexOrder","fxFlexOrder.xs","fxFlexOrder.sm","fxFlexOrder.md","fxFlexOrder.lg","fxFlexOrder.xl","fxFlexOrder.lt-sm","fxFlexOrder.lt-md","fxFlexOrder.lt-lg","fxFlexOrder.lt-xl","fxFlexOrder.gt-xs","fxFlexOrder.gt-sm","fxFlexOrder.gt-md","fxFlexOrder.gt-lg"];class J extends _.iR{constructor(we,Y,te,xe){super(we,te,Y,xe),this.DIRECTIVE_KEY="flex-order",this.styleCache=Fe,this.init()}}J.\u0275fac=function(we){return new(we||J)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(C),e.Y36(_.yB))},J.\u0275dir=e.lG2({type:J,features:[e.qOj]});const Fe=new Map;class ke extends J{constructor(){super(...arguments),this.inputs=N}}ke.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(ke)))(Y||ke)}}(),ke.\u0275dir=e.lG2({type:ke,selectors:[["","fxFlexOrder",""],["","fxFlexOrder.xs",""],["","fxFlexOrder.sm",""],["","fxFlexOrder.md",""],["","fxFlexOrder.lg",""],["","fxFlexOrder.xl",""],["","fxFlexOrder.lt-sm",""],["","fxFlexOrder.lt-md",""],["","fxFlexOrder.lt-lg",""],["","fxFlexOrder.lt-xl",""],["","fxFlexOrder.gt-xs",""],["","fxFlexOrder.gt-sm",""],["","fxFlexOrder.gt-md",""],["","fxFlexOrder.gt-lg",""]],inputs:{fxFlexOrder:"fxFlexOrder","fxFlexOrder.xs":"fxFlexOrder.xs","fxFlexOrder.sm":"fxFlexOrder.sm","fxFlexOrder.md":"fxFlexOrder.md","fxFlexOrder.lg":"fxFlexOrder.lg","fxFlexOrder.xl":"fxFlexOrder.xl","fxFlexOrder.lt-sm":"fxFlexOrder.lt-sm","fxFlexOrder.lt-md":"fxFlexOrder.lt-md","fxFlexOrder.lt-lg":"fxFlexOrder.lt-lg","fxFlexOrder.lt-xl":"fxFlexOrder.lt-xl","fxFlexOrder.gt-xs":"fxFlexOrder.gt-xs","fxFlexOrder.gt-sm":"fxFlexOrder.gt-sm","fxFlexOrder.gt-md":"fxFlexOrder.gt-md","fxFlexOrder.gt-lg":"fxFlexOrder.gt-lg"},features:[e.qOj]});class Ge extends _.QI{constructor(we){super(),this._config=we}buildStyles(we,Y){we||(we="0"),we=(0,_.FL)(we,this._config.multiplier);const te=String(we).indexOf("%")>-1;!(String(we).indexOf("px")>-1)&&!te&&!isNaN(+we)&&(we=`${we}%`);const ze=Y.isRtl?"margin-right":"margin-left";return(0,E.tj)(Y.layout)?{[ze]:we}:{"margin-top":we}}}Ge.\u0275fac=function(we){return new(we||Ge)(e.LFG(_.WU))},Ge.\u0275prov=e.Yz7({token:Ge,factory:Ge.\u0275fac,providedIn:"root"});const je=["fxFlexOffset","fxFlexOffset.xs","fxFlexOffset.sm","fxFlexOffset.md","fxFlexOffset.lg","fxFlexOffset.xl","fxFlexOffset.lt-sm","fxFlexOffset.lt-md","fxFlexOffset.lt-lg","fxFlexOffset.lt-xl","fxFlexOffset.gt-xs","fxFlexOffset.gt-sm","fxFlexOffset.gt-md","fxFlexOffset.gt-lg"];class be extends _.iR{constructor(we,Y,te,xe,ze){super(we,te,ze,xe),this.directionality=Y,this.DIRECTIVE_KEY="flex-offset",this.init([this.directionality.change]),this.parentElement&&this.marshal.trackValue(this.parentElement,"layout-gap").pipe((0,D.R)(this.destroySubject)).subscribe(this.triggerUpdate.bind(this))}updateWithValue(we=""){const Y=this.getFlexFlowDirection(this.parentElement,!0),te="rtl"===this.directionality.value;"row"===Y&&te?this.styleCache=Ie:"row"!==Y||te?"column"===Y&&te?this.styleCache=ge:"column"===Y&&!te&&(this.styleCache=ut):this.styleCache=et,this.addStyles(we+"",{layout:Y,isRtl:te})}}be.\u0275fac=function(we){return new(we||be)(e.Y36(e.SBq),e.Y36(t.Is),e.Y36(Ge),e.Y36(_.yB),e.Y36(_.RK))},be.\u0275dir=e.lG2({type:be,features:[e.qOj]});class Ye extends be{constructor(){super(...arguments),this.inputs=je}}Ye.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(Ye)))(Y||Ye)}}(),Ye.\u0275dir=e.lG2({type:Ye,selectors:[["","fxFlexOffset",""],["","fxFlexOffset.xs",""],["","fxFlexOffset.sm",""],["","fxFlexOffset.md",""],["","fxFlexOffset.lg",""],["","fxFlexOffset.xl",""],["","fxFlexOffset.lt-sm",""],["","fxFlexOffset.lt-md",""],["","fxFlexOffset.lt-lg",""],["","fxFlexOffset.lt-xl",""],["","fxFlexOffset.gt-xs",""],["","fxFlexOffset.gt-sm",""],["","fxFlexOffset.gt-md",""],["","fxFlexOffset.gt-lg",""]],inputs:{fxFlexOffset:"fxFlexOffset","fxFlexOffset.xs":"fxFlexOffset.xs","fxFlexOffset.sm":"fxFlexOffset.sm","fxFlexOffset.md":"fxFlexOffset.md","fxFlexOffset.lg":"fxFlexOffset.lg","fxFlexOffset.xl":"fxFlexOffset.xl","fxFlexOffset.lt-sm":"fxFlexOffset.lt-sm","fxFlexOffset.lt-md":"fxFlexOffset.lt-md","fxFlexOffset.lt-lg":"fxFlexOffset.lt-lg","fxFlexOffset.lt-xl":"fxFlexOffset.lt-xl","fxFlexOffset.gt-xs":"fxFlexOffset.gt-xs","fxFlexOffset.gt-sm":"fxFlexOffset.gt-sm","fxFlexOffset.gt-md":"fxFlexOffset.gt-md","fxFlexOffset.gt-lg":"fxFlexOffset.gt-lg"},features:[e.qOj]});const Ie=new Map,ge=new Map,et=new Map,ut=new Map;class Le extends _.QI{buildStyles(we){const Y={};switch(we=we||"stretch"){case"start":Y["align-self"]="flex-start";break;case"end":Y["align-self"]="flex-end";break;default:Y["align-self"]=we}return Y}}Le.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(Le)))(Y||Le)}}(),Le.\u0275prov=e.Yz7({token:Le,factory:Le.\u0275fac,providedIn:"root"});const De=["fxFlexAlign","fxFlexAlign.xs","fxFlexAlign.sm","fxFlexAlign.md","fxFlexAlign.lg","fxFlexAlign.xl","fxFlexAlign.lt-sm","fxFlexAlign.lt-md","fxFlexAlign.lt-lg","fxFlexAlign.lt-xl","fxFlexAlign.gt-xs","fxFlexAlign.gt-sm","fxFlexAlign.gt-md","fxFlexAlign.gt-lg"];class fe extends _.iR{constructor(we,Y,te,xe){super(we,te,Y,xe),this.DIRECTIVE_KEY="flex-align",this.styleCache=ee,this.init()}}fe.\u0275fac=function(we){return new(we||fe)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(Le),e.Y36(_.yB))},fe.\u0275dir=e.lG2({type:fe,features:[e.qOj]});const ee=new Map;class H extends fe{constructor(){super(...arguments),this.inputs=De}}H.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(H)))(Y||H)}}(),H.\u0275dir=e.lG2({type:H,selectors:[["","fxFlexAlign",""],["","fxFlexAlign.xs",""],["","fxFlexAlign.sm",""],["","fxFlexAlign.md",""],["","fxFlexAlign.lg",""],["","fxFlexAlign.xl",""],["","fxFlexAlign.lt-sm",""],["","fxFlexAlign.lt-md",""],["","fxFlexAlign.lt-lg",""],["","fxFlexAlign.lt-xl",""],["","fxFlexAlign.gt-xs",""],["","fxFlexAlign.gt-sm",""],["","fxFlexAlign.gt-md",""],["","fxFlexAlign.gt-lg",""]],inputs:{fxFlexAlign:"fxFlexAlign","fxFlexAlign.xs":"fxFlexAlign.xs","fxFlexAlign.sm":"fxFlexAlign.sm","fxFlexAlign.md":"fxFlexAlign.md","fxFlexAlign.lg":"fxFlexAlign.lg","fxFlexAlign.xl":"fxFlexAlign.xl","fxFlexAlign.lt-sm":"fxFlexAlign.lt-sm","fxFlexAlign.lt-md":"fxFlexAlign.lt-md","fxFlexAlign.lt-lg":"fxFlexAlign.lt-lg","fxFlexAlign.lt-xl":"fxFlexAlign.lt-xl","fxFlexAlign.gt-xs":"fxFlexAlign.gt-xs","fxFlexAlign.gt-sm":"fxFlexAlign.gt-sm","fxFlexAlign.gt-md":"fxFlexAlign.gt-md","fxFlexAlign.gt-lg":"fxFlexAlign.gt-lg"},features:[e.qOj]});const q={margin:0,width:"100%",height:"100%","min-width":"100%","min-height":"100%"};class Oe extends _.QI{buildStyles(we){return q}}Oe.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(Oe)))(Y||Oe)}}(),Oe.\u0275prov=e.Yz7({token:Oe,factory:Oe.\u0275fac,providedIn:"root"});class Re extends _.iR{constructor(we,Y,te,xe){super(we,te,Y,xe),this.styleCache=oe,this.addStyles("")}}Re.\u0275fac=function(we){return new(we||Re)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(Oe),e.Y36(_.yB))},Re.\u0275dir=e.lG2({type:Re,selectors:[["","fxFill",""],["","fxFlexFill",""]],features:[e.qOj]});const oe=new Map;class pt extends _.QI{buildStyles(we,Y){const te={},[xe,ze]=we.split(" ");switch(xe){case"center":te["justify-content"]="center";break;case"space-around":te["justify-content"]="space-around";break;case"space-between":te["justify-content"]="space-between";break;case"space-evenly":te["justify-content"]="space-evenly";break;case"end":case"flex-end":te["justify-content"]="flex-end";break;default:te["justify-content"]="flex-start"}switch(ze){case"start":case"flex-start":te["align-items"]=te["align-content"]="flex-start";break;case"center":te["align-items"]=te["align-content"]="center";break;case"end":case"flex-end":te["align-items"]=te["align-content"]="flex-end";break;case"space-between":te["align-content"]="space-between",te["align-items"]="stretch";break;case"space-around":te["align-content"]="space-around",te["align-items"]="stretch";break;case"baseline":te["align-content"]="stretch",te["align-items"]="baseline";break;default:te["align-items"]=te["align-content"]="stretch"}return(0,E.kt)(te,{display:Y.inline?"inline-flex":"flex","flex-direction":Y.layout,"box-sizing":"border-box","max-width":"stretch"===ze?(0,E.tj)(Y.layout)?null:"100%":null,"max-height":"stretch"===ze&&(0,E.tj)(Y.layout)?"100%":null})}}pt.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(pt)))(Y||pt)}}(),pt.\u0275prov=e.Yz7({token:pt,factory:pt.\u0275fac,providedIn:"root"});const it=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"];class un extends _.iR{constructor(we,Y,te,xe){super(we,te,Y,xe),this.DIRECTIVE_KEY="layout-align",this.layout="row",this.inline=!1,this.init(),this.marshal.trackValue(this.nativeElement,"layout").pipe((0,D.R)(this.destroySubject)).subscribe(this.onLayoutChange.bind(this))}updateWithValue(we){const Y=this.layout||"row",te=this.inline;"row"===Y&&te?this.styleCache=In:"row"!==Y||te?"row-reverse"===Y&&te?this.styleCache=tn:"row-reverse"!==Y||te?"column"===Y&&te?this.styleCache=an:"column"!==Y||te?"column-reverse"===Y&&te?this.styleCache=pn:"column-reverse"===Y&&!te&&(this.styleCache=Gt):this.styleCache=yn:this.styleCache=Jt:this.styleCache=zt,this.addStyles(we,{layout:Y,inline:te})}onLayoutChange(we){const Y=we.value.split(" ");this.layout=Y[0],this.inline=we.value.includes("inline"),E.iQ.find(te=>te===this.layout)||(this.layout="row"),this.triggerUpdate()}}un.\u0275fac=function(we){return new(we||un)(e.Y36(e.SBq),e.Y36(_.RK),e.Y36(pt),e.Y36(_.yB))},un.\u0275dir=e.lG2({type:un,features:[e.qOj]});class Nt extends un{constructor(){super(...arguments),this.inputs=it}}Nt.\u0275fac=function(){let At;return function(Y){return(At||(At=e.n5z(Nt)))(Y||Nt)}}(),Nt.\u0275dir=e.lG2({type:Nt,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[e.qOj]});const zt=new Map,yn=new Map,Jt=new Map,Gt=new Map,In=new Map,an=new Map,tn=new Map,pn=new Map;class gt{}gt.\u0275fac=function(we){return new(we||gt)},gt.\u0275mod=e.oAB({type:gt}),gt.\u0275inj=e.cJS({imports:[_.IR,t.vT]})},2508:(Ve,X,m)=>{"use strict";m.d(X,{Cf:()=>j,F:()=>en,Fd:()=>Oa,Fj:()=>z,JJ:()=>ne,JL:()=>fe,JU:()=>k,On:()=>Nn,Q7:()=>yr,QS:()=>ar,UX:()=>la,Zs:()=>sa,_Y:()=>li,a5:()=>et,gN:()=>ge,kI:()=>pe,oH:()=>Sa,p4:()=>ha,qQ:()=>Ja,sg:()=>Ki,u:()=>Qi,u5:()=>oa,wV:()=>Ii});var e=m(2560),t=m(4666),_=m(7400),E=m(1640),s=m(635);class D{constructor(ye,dt){this._renderer=ye,this._elementRef=dt,this.onChange=Yt=>{},this.onTouched=()=>{}}setProperty(ye,dt){this._renderer.setProperty(this._elementRef.nativeElement,ye,dt)}registerOnTouched(ye){this.onTouched=ye}registerOnChange(ye){this.onChange=ye}setDisabledState(ye){this.setProperty("disabled",ye)}}D.\u0275fac=function(ye){return new(ye||D)(e.Y36(e.Qsj),e.Y36(e.SBq))},D.\u0275dir=e.lG2({type:D});class u extends D{}u.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(u)))(dt||u)}}(),u.\u0275dir=e.lG2({type:u,features:[e.qOj]});const k=new e.OlP("NgValueAccessor"),p={provide:k,useExisting:(0,e.Gpc)(()=>S),multi:!0};class S extends u{writeValue(ye){this.setProperty("checked",ye)}}S.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(S)))(dt||S)}}(),S.\u0275dir=e.lG2({type:S,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("change",function(Pn){return dt.onChange(Pn.target.checked)})("blur",function(){return dt.onTouched()})},features:[e._Bn([p]),e.qOj]});const A={provide:k,useExisting:(0,e.Gpc)(()=>z),multi:!0};const M=new e.OlP("CompositionEventMode");class z extends D{constructor(ye,dt,Yt){super(ye,dt),this._compositionMode=Yt,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function P(){const bt=(0,t.q)()?(0,t.q)().getUserAgent():"";return/android (\d+)/.test(bt.toLowerCase())}())}writeValue(ye){const dt=ye??"";this.setProperty("value",dt)}_handleInput(ye){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(ye)}_compositionStart(){this._composing=!0}_compositionEnd(ye){this._composing=!1,this._compositionMode&&this.onChange(ye)}}z.\u0275fac=function(ye){return new(ye||z)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(M,8))},z.\u0275dir=e.lG2({type:z,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("input",function(Pn){return dt._handleInput(Pn.target.value)})("blur",function(){return dt.onTouched()})("compositionstart",function(){return dt._compositionStart()})("compositionend",function(Pn){return dt._compositionEnd(Pn.target.value)})},features:[e._Bn([A]),e.qOj]});function W(bt){return null==bt||("string"==typeof bt||Array.isArray(bt))&&0===bt.length}function Z(bt){return null!=bt&&"number"==typeof bt.length}const j=new e.OlP("NgValidators"),ae=new e.OlP("NgAsyncValidators"),re=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class pe{static min(ye){return le(ye)}static max(ye){return ve(ye)}static required(ye){return de(ye)}static requiredTrue(ye){return $(ye)}static email(ye){return ue(ye)}static minLength(ye){return w(ye)}static maxLength(ye){return n(ye)}static pattern(ye){return o(ye)}static nullValidator(ye){return null}static compose(ye){return C(ye)}static composeAsync(ye){return F(ye)}}function le(bt){return ye=>{if(W(ye.value)||W(bt))return null;const dt=parseFloat(ye.value);return!isNaN(dt)&&dt{if(W(ye.value)||W(bt))return null;const dt=parseFloat(ye.value);return!isNaN(dt)&&dt>bt?{max:{max:bt,actual:ye.value}}:null}}function de(bt){return W(bt.value)?{required:!0}:null}function $(bt){return!0===bt.value?null:{required:!0}}function ue(bt){return W(bt.value)||re.test(bt.value)?null:{email:!0}}function w(bt){return ye=>W(ye.value)||!Z(ye.value)?null:ye.value.lengthZ(ye.value)&&ye.value.length>bt?{maxlength:{requiredLength:bt,actualLength:ye.value.length}}:null}function o(bt){if(!bt)return h;let ye,dt;return"string"==typeof bt?(dt="","^"!==bt.charAt(0)&&(dt+="^"),dt+=bt,"$"!==bt.charAt(bt.length-1)&&(dt+="$"),ye=new RegExp(dt)):(dt=bt.toString(),ye=bt),Yt=>{if(W(Yt.value))return null;const Pn=Yt.value;return ye.test(Pn)?null:{pattern:{requiredPattern:dt,actualValue:Pn}}}}function h(bt){return null}function d(bt){return null!=bt}function y(bt){const ye=(0,e.QGY)(bt)?(0,_.D)(bt):bt;return ye}function L(bt){let ye={};return bt.forEach(dt=>{ye=null!=dt?{...ye,...dt}:ye}),0===Object.keys(ye).length?null:ye}function B(bt,ye){return ye.map(dt=>dt(bt))}function a(bt){return bt.map(ye=>function v(bt){return!bt.validate}(ye)?ye:dt=>ye.validate(dt))}function C(bt){if(!bt)return null;const ye=bt.filter(d);return 0==ye.length?null:function(dt){return L(B(dt,ye))}}function N(bt){return null!=bt?C(a(bt)):null}function F(bt){if(!bt)return null;const ye=bt.filter(d);return 0==ye.length?null:function(dt){const Yt=B(dt,ye).map(y);return(0,E.D)(Yt).pipe((0,s.U)(L))}}function J(bt){return null!=bt?F(a(bt)):null}function Fe(bt,ye){return null===bt?[ye]:Array.isArray(bt)?[...bt,ye]:[bt,ye]}function ke(bt){return bt._rawValidators}function Ge(bt){return bt._rawAsyncValidators}function je(bt){return bt?Array.isArray(bt)?bt:[bt]:[]}function We(bt,ye){return Array.isArray(bt)?bt.includes(ye):bt===ye}function be(bt,ye){const dt=je(ye);return je(bt).forEach(Pn=>{We(dt,Pn)||dt.push(Pn)}),dt}function Ye(bt,ye){return je(ye).filter(dt=>!We(bt,dt))}class Ie{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(ye){this._rawValidators=ye||[],this._composedValidatorFn=N(this._rawValidators)}_setAsyncValidators(ye){this._rawAsyncValidators=ye||[],this._composedAsyncValidatorFn=J(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(ye){this._onDestroyCallbacks.push(ye)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(ye=>ye()),this._onDestroyCallbacks=[]}reset(ye){this.control&&this.control.reset(ye)}hasError(ye,dt){return!!this.control&&this.control.hasError(ye,dt)}getError(ye,dt){return this.control?this.control.getError(ye,dt):null}}class ge extends Ie{get formDirective(){return null}get path(){return null}}class et extends Ie{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ut{constructor(ye){this._cd=ye}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}class ne extends ut{constructor(ye){super(ye)}}ne.\u0275fac=function(ye){return new(ye||ne)(e.Y36(et,2))},ne.\u0275dir=e.lG2({type:ne,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(ye,dt){2&ye&&e.ekj("ng-untouched",dt.isUntouched)("ng-touched",dt.isTouched)("ng-pristine",dt.isPristine)("ng-dirty",dt.isDirty)("ng-valid",dt.isValid)("ng-invalid",dt.isInvalid)("ng-pending",dt.isPending)},features:[e.qOj]});class fe extends ut{constructor(ye){super(ye)}}fe.\u0275fac=function(ye){return new(ye||fe)(e.Y36(ge,10))},fe.\u0275dir=e.lG2({type:fe,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(ye,dt){2&ye&&e.ekj("ng-untouched",dt.isUntouched)("ng-touched",dt.isTouched)("ng-pristine",dt.isPristine)("ng-dirty",dt.isDirty)("ng-valid",dt.isValid)("ng-invalid",dt.isInvalid)("ng-pending",dt.isPending)("ng-submitted",dt.isSubmitted)},features:[e.qOj]});const pn="VALID",nt="INVALID",gt="PENDING",At="DISABLED";function we(bt){return(ze(bt)?bt.validators:bt)||null}function te(bt,ye){return(ze(ye)?ye.asyncValidators:bt)||null}function ze(bt){return null!=bt&&!Array.isArray(bt)&&"object"==typeof bt}function _t(bt,ye,dt){const Yt=bt.controls;if(!(ye?Object.keys(Yt):Yt).length)throw new e.vHH(1e3,"");if(!Yt[dt])throw new e.vHH(1001,"")}function ct(bt,ye,dt){bt._forEachChild((Yt,Pn)=>{if(void 0===dt[Pn])throw new e.vHH(1002,"")})}class Ue{constructor(ye,dt){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(ye),this._assignAsyncValidators(dt)}get validator(){return this._composedValidatorFn}set validator(ye){this._rawValidators=this._composedValidatorFn=ye}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(ye){this._rawAsyncValidators=this._composedAsyncValidatorFn=ye}get parent(){return this._parent}get valid(){return this.status===pn}get invalid(){return this.status===nt}get pending(){return this.status==gt}get disabled(){return this.status===At}get enabled(){return this.status!==At}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(ye){this._assignValidators(ye)}setAsyncValidators(ye){this._assignAsyncValidators(ye)}addValidators(ye){this.setValidators(be(ye,this._rawValidators))}addAsyncValidators(ye){this.setAsyncValidators(be(ye,this._rawAsyncValidators))}removeValidators(ye){this.setValidators(Ye(ye,this._rawValidators))}removeAsyncValidators(ye){this.setAsyncValidators(Ye(ye,this._rawAsyncValidators))}hasValidator(ye){return We(this._rawValidators,ye)}hasAsyncValidator(ye){return We(this._rawAsyncValidators,ye)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(ye={}){this.touched=!0,this._parent&&!ye.onlySelf&&this._parent.markAsTouched(ye)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(ye=>ye.markAllAsTouched())}markAsUntouched(ye={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(dt=>{dt.markAsUntouched({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}markAsDirty(ye={}){this.pristine=!1,this._parent&&!ye.onlySelf&&this._parent.markAsDirty(ye)}markAsPristine(ye={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(dt=>{dt.markAsPristine({onlySelf:!0})}),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}markAsPending(ye={}){this.status=gt,!1!==ye.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!ye.onlySelf&&this._parent.markAsPending(ye)}disable(ye={}){const dt=this._parentMarkedDirty(ye.onlySelf);this.status=At,this.errors=null,this._forEachChild(Yt=>{Yt.disable({...ye,onlySelf:!0})}),this._updateValue(),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...ye,skipPristineCheck:dt}),this._onDisabledChange.forEach(Yt=>Yt(!0))}enable(ye={}){const dt=this._parentMarkedDirty(ye.onlySelf);this.status=pn,this._forEachChild(Yt=>{Yt.enable({...ye,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent}),this._updateAncestors({...ye,skipPristineCheck:dt}),this._onDisabledChange.forEach(Yt=>Yt(!1))}_updateAncestors(ye){this._parent&&!ye.onlySelf&&(this._parent.updateValueAndValidity(ye),ye.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(ye){this._parent=ye}getRawValue(){return this.value}updateValueAndValidity(ye={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===pn||this.status===gt)&&this._runAsyncValidator(ye.emitEvent)),!1!==ye.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!ye.onlySelf&&this._parent.updateValueAndValidity(ye)}_updateTreeValidity(ye={emitEvent:!0}){this._forEachChild(dt=>dt._updateTreeValidity(ye)),this.updateValueAndValidity({onlySelf:!0,emitEvent:ye.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?At:pn}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(ye){if(this.asyncValidator){this.status=gt,this._hasOwnPendingAsyncValidator=!0;const dt=y(this.asyncValidator(this));this._asyncValidationSubscription=dt.subscribe(Yt=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(Yt,{emitEvent:ye})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(ye,dt={}){this.errors=ye,this._updateControlsErrors(!1!==dt.emitEvent)}get(ye){let dt=ye;return null==dt||(Array.isArray(dt)||(dt=dt.split(".")),0===dt.length)?null:dt.reduce((Yt,Pn)=>Yt&&Yt._find(Pn),this)}getError(ye,dt){const Yt=dt?this.get(dt):this;return Yt&&Yt.errors?Yt.errors[ye]:null}hasError(ye,dt){return!!this.getError(ye,dt)}get root(){let ye=this;for(;ye._parent;)ye=ye._parent;return ye}_updateControlsErrors(ye){this.status=this._calculateStatus(),ye&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(ye)}_initObservables(){this.valueChanges=new e.vpe,this.statusChanges=new e.vpe}_calculateStatus(){return this._allControlsDisabled()?At:this.errors?nt:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(gt)?gt:this._anyControlsHaveStatus(nt)?nt:pn}_anyControlsHaveStatus(ye){return this._anyControls(dt=>dt.status===ye)}_anyControlsDirty(){return this._anyControls(ye=>ye.dirty)}_anyControlsTouched(){return this._anyControls(ye=>ye.touched)}_updatePristine(ye={}){this.pristine=!this._anyControlsDirty(),this._parent&&!ye.onlySelf&&this._parent._updatePristine(ye)}_updateTouched(ye={}){this.touched=this._anyControlsTouched(),this._parent&&!ye.onlySelf&&this._parent._updateTouched(ye)}_registerOnCollectionChange(ye){this._onCollectionChange=ye}_setUpdateStrategy(ye){ze(ye)&&null!=ye.updateOn&&(this._updateOn=ye.updateOn)}_parentMarkedDirty(ye){const dt=this._parent&&this._parent.dirty;return!ye&&!!dt&&!this._parent._anyControlsDirty()}_find(ye){return null}_assignValidators(ye){this._rawValidators=Array.isArray(ye)?ye.slice():ye,this._composedValidatorFn=function Y(bt){return Array.isArray(bt)?N(bt):bt||null}(this._rawValidators)}_assignAsyncValidators(ye){this._rawAsyncValidators=Array.isArray(ye)?ye.slice():ye,this._composedAsyncValidatorFn=function xe(bt){return Array.isArray(bt)?J(bt):bt||null}(this._rawAsyncValidators)}}class Me extends Ue{constructor(ye,dt,Yt){super(we(dt),te(Yt,dt)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(dt),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(ye,dt){return this.controls[ye]?this.controls[ye]:(this.controls[ye]=dt,dt.setParent(this),dt._registerOnCollectionChange(this._onCollectionChange),dt)}addControl(ye,dt,Yt={}){this.registerControl(ye,dt),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}removeControl(ye,dt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],this.updateValueAndValidity({emitEvent:dt.emitEvent}),this._onCollectionChange()}setControl(ye,dt,Yt={}){this.controls[ye]&&this.controls[ye]._registerOnCollectionChange(()=>{}),delete this.controls[ye],dt&&this.registerControl(ye,dt),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}contains(ye){return this.controls.hasOwnProperty(ye)&&this.controls[ye].enabled}setValue(ye,dt={}){ct(this,0,ye),Object.keys(ye).forEach(Yt=>{_t(this,!0,Yt),this.controls[Yt].setValue(ye[Yt],{onlySelf:!0,emitEvent:dt.emitEvent})}),this.updateValueAndValidity(dt)}patchValue(ye,dt={}){null!=ye&&(Object.keys(ye).forEach(Yt=>{const Pn=this.controls[Yt];Pn&&Pn.patchValue(ye[Yt],{onlySelf:!0,emitEvent:dt.emitEvent})}),this.updateValueAndValidity(dt))}reset(ye={},dt={}){this._forEachChild((Yt,Pn)=>{Yt.reset(ye[Pn],{onlySelf:!0,emitEvent:dt.emitEvent})}),this._updatePristine(dt),this._updateTouched(dt),this.updateValueAndValidity(dt)}getRawValue(){return this._reduceChildren({},(ye,dt,Yt)=>(ye[Yt]=dt.getRawValue(),ye))}_syncPendingControls(){let ye=this._reduceChildren(!1,(dt,Yt)=>!!Yt._syncPendingControls()||dt);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_forEachChild(ye){Object.keys(this.controls).forEach(dt=>{const Yt=this.controls[dt];Yt&&ye(Yt,dt)})}_setUpControls(){this._forEachChild(ye=>{ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(ye){for(const[dt,Yt]of Object.entries(this.controls))if(this.contains(dt)&&ye(Yt))return!0;return!1}_reduceValue(){return this._reduceChildren({},(dt,Yt,Pn)=>((Yt.enabled||this.disabled)&&(dt[Pn]=Yt.value),dt))}_reduceChildren(ye,dt){let Yt=ye;return this._forEachChild((Pn,Ti)=>{Yt=dt(Yt,Pn,Ti)}),Yt}_allControlsDisabled(){for(const ye of Object.keys(this.controls))if(this.controls[ye].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(ye){return this.controls.hasOwnProperty(ye)?this.controls[ye]:null}}class Ut extends Me{}const Tt=new e.OlP("CallSetDisabledState",{providedIn:"root",factory:()=>Ht}),Ht="always";function He(bt,ye){return[...ye.path,bt]}function $e(bt,ye,dt=Ht){Vn(bt,ye),ye.valueAccessor.writeValue(bt.value),(bt.disabled||"always"===dt)&&ye.valueAccessor.setDisabledState?.(bt.disabled),function Tn(bt,ye){ye.valueAccessor.registerOnChange(dt=>{bt._pendingValue=dt,bt._pendingChange=!0,bt._pendingDirty=!0,"change"===bt.updateOn&&Mt(bt,ye)})}(bt,ye),function Ze(bt,ye){const dt=(Yt,Pn)=>{ye.valueAccessor.writeValue(Yt),Pn&&ye.viewToModelUpdate(Yt)};bt.registerOnChange(dt),ye._registerOnDestroy(()=>{bt._unregisterOnChange(dt)})}(bt,ye),function Yn(bt,ye){ye.valueAccessor.registerOnTouched(()=>{bt._pendingTouched=!0,"blur"===bt.updateOn&&bt._pendingChange&&Mt(bt,ye),"submit"!==bt.updateOn&&bt.markAsTouched()})}(bt,ye),function Xt(bt,ye){if(ye.valueAccessor.setDisabledState){const dt=Yt=>{ye.valueAccessor.setDisabledState(Yt)};bt.registerOnDisabledChange(dt),ye._registerOnDestroy(()=>{bt._unregisterOnDisabledChange(dt)})}}(bt,ye)}function $t(bt,ye,dt=!0){const Yt=()=>{};ye.valueAccessor&&(ye.valueAccessor.registerOnChange(Yt),ye.valueAccessor.registerOnTouched(Yt)),zn(bt,ye),bt&&(ye._invokeOnDestroyCallbacks(),bt._registerOnCollectionChange(()=>{}))}function Rt(bt,ye){bt.forEach(dt=>{dt.registerOnValidatorChange&&dt.registerOnValidatorChange(ye)})}function Vn(bt,ye){const dt=ke(bt);null!==ye.validator?bt.setValidators(Fe(dt,ye.validator)):"function"==typeof dt&&bt.setValidators([dt]);const Yt=Ge(bt);null!==ye.asyncValidator?bt.setAsyncValidators(Fe(Yt,ye.asyncValidator)):"function"==typeof Yt&&bt.setAsyncValidators([Yt]);const Pn=()=>bt.updateValueAndValidity();Rt(ye._rawValidators,Pn),Rt(ye._rawAsyncValidators,Pn)}function zn(bt,ye){let dt=!1;if(null!==bt){if(null!==ye.validator){const Pn=ke(bt);if(Array.isArray(Pn)&&Pn.length>0){const Ti=Pn.filter(rr=>rr!==ye.validator);Ti.length!==Pn.length&&(dt=!0,bt.setValidators(Ti))}}if(null!==ye.asyncValidator){const Pn=Ge(bt);if(Array.isArray(Pn)&&Pn.length>0){const Ti=Pn.filter(rr=>rr!==ye.asyncValidator);Ti.length!==Pn.length&&(dt=!0,bt.setAsyncValidators(Ti))}}}const Yt=()=>{};return Rt(ye._rawValidators,Yt),Rt(ye._rawAsyncValidators,Yt),dt}function Mt(bt,ye){bt._pendingDirty&&bt.markAsDirty(),bt.setValue(bt._pendingValue,{emitModelToViewChange:!1}),ye.viewToModelUpdate(bt._pendingValue),bt._pendingChange=!1}function Be(bt,ye){Vn(bt,ye)}function Bn(bt,ye){if(!bt.hasOwnProperty("model"))return!1;const dt=bt.model;return!!dt.isFirstChange()||!Object.is(ye,dt.currentValue)}function ti(bt,ye){bt._syncPendingControls(),ye.forEach(dt=>{const Yt=dt.control;"submit"===Yt.updateOn&&Yt._pendingChange&&(dt.viewToModelUpdate(Yt._pendingValue),Yt._pendingChange=!1)})}function Mn(bt,ye){if(!ye)return null;let dt,Yt,Pn;return Array.isArray(ye),ye.forEach(Ti=>{Ti.constructor===z?dt=Ti:function Wn(bt){return Object.getPrototypeOf(bt.constructor)===u}(Ti)?Yt=Ti:Pn=Ti}),Pn||Yt||dt||null}const rn={provide:ge,useExisting:(0,e.Gpc)(()=>en)},hn=Promise.resolve();class en extends ge{constructor(ye,dt,Yt){super(),this.callSetDisabledState=Yt,this.submitted=!1,this._directives=new Set,this.ngSubmit=new e.vpe,this.form=new Me({},N(ye),J(dt))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(ye){hn.then(()=>{const dt=this._findContainer(ye.path);ye.control=dt.registerControl(ye.name,ye.control),$e(ye.control,ye,this.callSetDisabledState),ye.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(ye)})}getControl(ye){return this.form.get(ye.path)}removeControl(ye){hn.then(()=>{const dt=this._findContainer(ye.path);dt&&dt.removeControl(ye.name),this._directives.delete(ye)})}addFormGroup(ye){hn.then(()=>{const dt=this._findContainer(ye.path),Yt=new Me({});Be(Yt,ye),dt.registerControl(ye.name,Yt),Yt.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(ye){hn.then(()=>{const dt=this._findContainer(ye.path);dt&&dt.removeControl(ye.name)})}getFormGroup(ye){return this.form.get(ye.path)}updateModel(ye,dt){hn.then(()=>{this.form.get(ye.path).setValue(dt)})}setValue(ye){this.control.setValue(ye)}onSubmit(ye){return this.submitted=!0,ti(this.form,this._directives),this.ngSubmit.emit(ye),"dialog"===ye?.target?.method}onReset(){this.resetForm()}resetForm(ye){this.form.reset(ye),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(ye){return ye.pop(),ye.length?this.form.get(ye):this.form}}function gn(bt,ye){const dt=bt.indexOf(ye);dt>-1&&bt.splice(dt,1)}function Qn(bt){return"object"==typeof bt&&null!==bt&&2===Object.keys(bt).length&&"value"in bt&&"disabled"in bt}en.\u0275fac=function(ye){return new(ye||en)(e.Y36(j,10),e.Y36(ae,10),e.Y36(Tt,8))},en.\u0275dir=e.lG2({type:en,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("submit",function(Pn){return dt.onSubmit(Pn)})("reset",function(){return dt.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[e._Bn([rn]),e.qOj]});const Ei=class extends Ue{constructor(ye=null,dt,Yt){super(we(dt),te(Yt,dt)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(ye),this._setUpdateStrategy(dt),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ze(dt)&&(dt.nonNullable||dt.initialValueIsDefault)&&(Qn(ye)?this.defaultValue=ye.value:this.defaultValue=ye)}setValue(ye,dt={}){this.value=this._pendingValue=ye,this._onChange.length&&!1!==dt.emitModelToViewChange&&this._onChange.forEach(Yt=>Yt(this.value,!1!==dt.emitViewToModelChange)),this.updateValueAndValidity(dt)}patchValue(ye,dt={}){this.setValue(ye,dt)}reset(ye=this.defaultValue,dt={}){this._applyFormState(ye),this.markAsPristine(dt),this.markAsUntouched(dt),this.setValue(this.value,dt),this._pendingChange=!1}_updateValue(){}_anyControls(ye){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(ye){this._onChange.push(ye)}_unregisterOnChange(ye){gn(this._onChange,ye)}registerOnDisabledChange(ye){this._onDisabledChange.push(ye)}_unregisterOnDisabledChange(ye){gn(this._onDisabledChange,ye)}_forEachChild(ye){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}_applyFormState(ye){Qn(ye)?(this.value=this._pendingValue=ye.value,ye.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=ye}},ha=Ei;class qi extends ge{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}qi.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(qi)))(dt||qi)}}(),qi.\u0275dir=e.lG2({type:qi,features:[e.qOj]});const Ft={provide:ge,useExisting:(0,e.Gpc)(()=>ln)};class ln extends qi{constructor(ye,dt,Yt){super(),this._parent=ye,this._setValidators(dt),this._setAsyncValidators(Yt)}_checkParentType(){!(this._parent instanceof ln)&&this._parent}}ln.\u0275fac=function(ye){return new(ye||ln)(e.Y36(ge,5),e.Y36(j,10),e.Y36(ae,10))},ln.\u0275dir=e.lG2({type:ln,selectors:[["","ngModelGroup",""]],inputs:{name:["ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[e._Bn([Ft]),e.qOj]});const En={provide:et,useExisting:(0,e.Gpc)(()=>Nn)},qn=Promise.resolve();class Nn extends et{constructor(ye,dt,Yt,Pn,Ti,rr){super(),this._changeDetectorRef=Ti,this.callSetDisabledState=rr,this.control=new Ei,this._registered=!1,this.update=new e.vpe,this._parent=ye,this._setValidators(dt),this._setAsyncValidators(Yt),this.valueAccessor=Mn(0,Pn)}ngOnChanges(ye){if(this._checkForErrors(),!this._registered||"name"in ye){if(this._registered&&(this._checkName(),this.formDirective)){const dt=ye.name.previousValue;this.formDirective.removeControl({name:dt,path:this._getPath(dt)})}this._setUpControl()}"isDisabled"in ye&&this._updateDisabled(ye),Bn(ye,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(ye){this.viewModel=ye,this.update.emit(ye)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$e(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(ye){qn.then(()=>{this.control.setValue(ye,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(ye){const dt=ye.isDisabled.currentValue,Yt=0!==dt&&(0,e.D6c)(dt);qn.then(()=>{Yt&&!this.control.disabled?this.control.disable():!Yt&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(ye){return this._parent?He(ye,this._parent):[ye]}}Nn.\u0275fac=function(ye){return new(ye||Nn)(e.Y36(ge,9),e.Y36(j,10),e.Y36(ae,10),e.Y36(k,10),e.Y36(e.sBO,8),e.Y36(Tt,8))},Nn.\u0275dir=e.lG2({type:Nn,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[e._Bn([En]),e.qOj,e.TTD]});class li{}li.\u0275fac=function(ye){return new(ye||li)},li.\u0275dir=e.lG2({type:li,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]});const aa={provide:k,useExisting:(0,e.Gpc)(()=>Ii),multi:!0};class Ii extends u{writeValue(ye){const dt=ye??"";this.setProperty("value",dt)}registerOnChange(ye){this.onChange=dt=>{ye(""==dt?null:parseFloat(dt))}}}Ii.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Ii)))(dt||Ii)}}(),Ii.\u0275dir=e.lG2({type:Ii,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("input",function(Pn){return dt.onChange(Pn.target.value)})("blur",function(){return dt.onTouched()})},features:[e._Bn([aa]),e.qOj]});const ea={provide:k,useExisting:(0,e.Gpc)(()=>Yi),multi:!0};class Ji{}Ji.\u0275fac=function(ye){return new(ye||Ji)},Ji.\u0275mod=e.oAB({type:Ji}),Ji.\u0275inj=e.cJS({});class ka{constructor(){this._accessors=[]}add(ye,dt){this._accessors.push([ye,dt])}remove(ye){for(let dt=this._accessors.length-1;dt>=0;--dt)if(this._accessors[dt][1]===ye)return void this._accessors.splice(dt,1)}select(ye){this._accessors.forEach(dt=>{this._isSameGroup(dt,ye)&&dt[1]!==ye&&dt[1].fireUncheck(ye.value)})}_isSameGroup(ye,dt){return!!ye[0].control&&(ye[0]._parent===dt._control._parent&&ye[1].name===dt.name)}}ka.\u0275fac=function(ye){return new(ye||ka)},ka.\u0275prov=e.Yz7({token:ka,factory:ka.\u0275fac,providedIn:Ji});class Yi extends u{constructor(ye,dt,Yt,Pn){super(ye,dt),this._registry=Yt,this._injector=Pn,this.onChange=()=>{}}ngOnInit(){this._control=this._injector.get(et),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(ye){this._state=ye===this.value,this.setProperty("checked",this._state)}registerOnChange(ye){this._fn=ye,this.onChange=()=>{ye(this.value),this._registry.select(this)}}fireUncheck(ye){this.writeValue(ye)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}}Yi.\u0275fac=function(ye){return new(ye||Yi)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(ka),e.Y36(e.zs3))},Yi.\u0275dir=e.lG2({type:Yi,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("change",function(){return dt.onChange()})("blur",function(){return dt.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[e._Bn([ea]),e.qOj]});const Ha={provide:k,useExisting:(0,e.Gpc)(()=>Hi),multi:!0};class Hi extends u{writeValue(ye){this.setProperty("value",parseFloat(ye))}registerOnChange(ye){this.onChange=dt=>{ye(""==dt?null:parseFloat(dt))}}}Hi.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Hi)))(dt||Hi)}}(),Hi.\u0275dir=e.lG2({type:Hi,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("change",function(Pn){return dt.onChange(Pn.target.value)})("input",function(Pn){return dt.onChange(Pn.target.value)})("blur",function(){return dt.onTouched()})},features:[e._Bn([Ha]),e.qOj]});const La=new e.OlP("NgModelWithFormControlWarning"),gr={provide:et,useExisting:(0,e.Gpc)(()=>Sa)};class Sa extends et{constructor(ye,dt,Yt,Pn,Ti){super(),this._ngModelWarningConfig=Pn,this.callSetDisabledState=Ti,this.update=new e.vpe,this._ngModelWarningSent=!1,this._setValidators(ye),this._setAsyncValidators(dt),this.valueAccessor=Mn(0,Yt)}set isDisabled(ye){}ngOnChanges(ye){if(this._isControlChanged(ye)){const dt=ye.form.previousValue;dt&&$t(dt,this,!1),$e(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Bn(ye,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&$t(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(ye){this.viewModel=ye,this.update.emit(ye)}_isControlChanged(ye){return ye.hasOwnProperty("form")}}Sa._ngModelWarningSentOnce=!1,Sa.\u0275fac=function(ye){return new(ye||Sa)(e.Y36(j,10),e.Y36(ae,10),e.Y36(k,10),e.Y36(La,8),e.Y36(Tt,8))},Sa.\u0275dir=e.lG2({type:Sa,selectors:[["","formControl",""]],inputs:{form:["formControl","form"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[e._Bn([gr]),e.qOj,e.TTD]});const fa={provide:ge,useExisting:(0,e.Gpc)(()=>Ki)};class Ki extends ge{constructor(ye,dt,Yt){super(),this.callSetDisabledState=Yt,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new e.vpe,this._setValidators(ye),this._setAsyncValidators(dt)}ngOnChanges(ye){this._checkFormPresent(),ye.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(zn(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(ye){const dt=this.form.get(ye.path);return $e(dt,ye,this.callSetDisabledState),dt.updateValueAndValidity({emitEvent:!1}),this.directives.push(ye),dt}getControl(ye){return this.form.get(ye.path)}removeControl(ye){$t(ye.control||null,ye,!1),function Ln(bt,ye){const dt=bt.indexOf(ye);dt>-1&&bt.splice(dt,1)}(this.directives,ye)}addFormGroup(ye){this._setUpFormContainer(ye)}removeFormGroup(ye){this._cleanUpFormContainer(ye)}getFormGroup(ye){return this.form.get(ye.path)}addFormArray(ye){this._setUpFormContainer(ye)}removeFormArray(ye){this._cleanUpFormContainer(ye)}getFormArray(ye){return this.form.get(ye.path)}updateModel(ye,dt){this.form.get(ye.path).setValue(dt)}onSubmit(ye){return this.submitted=!0,ti(this.form,this.directives),this.ngSubmit.emit(ye),"dialog"===ye?.target?.method}onReset(){this.resetForm()}resetForm(ye){this.form.reset(ye),this.submitted=!1}_updateDomValue(){this.directives.forEach(ye=>{const dt=ye.control,Yt=this.form.get(ye.path);dt!==Yt&&($t(dt||null,ye),Yt instanceof Ei&&($e(Yt,ye,this.callSetDisabledState),ye.control=Yt))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(ye){const dt=this.form.get(ye.path);Be(dt,ye),dt.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(ye){if(this.form){const dt=this.form.get(ye.path);dt&&function ht(bt,ye){return zn(bt,ye)}(dt,ye)&&dt.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Vn(this.form,this),this._oldForm&&zn(this._oldForm,this)}_checkFormPresent(){this.form}}Ki.\u0275fac=function(ye){return new(ye||Ki)(e.Y36(j,10),e.Y36(ae,10),e.Y36(Tt,8))},Ki.\u0275dir=e.lG2({type:Ki,selectors:[["","formGroup",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("submit",function(Pn){return dt.onSubmit(Pn)})("reset",function(){return dt.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[e._Bn([fa]),e.qOj,e.TTD]});const xa={provide:ge,useExisting:(0,e.Gpc)(()=>ra)};class ra extends qi{constructor(ye,dt,Yt){super(),this._parent=ye,this._setValidators(dt),this._setAsyncValidators(Yt)}_checkParentType(){js(this._parent)}}ra.\u0275fac=function(ye){return new(ye||ra)(e.Y36(ge,13),e.Y36(j,10),e.Y36(ae,10))},ra.\u0275dir=e.lG2({type:ra,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[e._Bn([xa]),e.qOj]});const fo={provide:ge,useExisting:(0,e.Gpc)(()=>za)};class za extends ge{constructor(ye,dt,Yt){super(),this._parent=ye,this._setValidators(dt),this._setAsyncValidators(Yt)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){js(this._parent)}}function js(bt){return!(bt instanceof ra||bt instanceof Ki||bt instanceof za)}za.\u0275fac=function(ye){return new(ye||za)(e.Y36(ge,13),e.Y36(j,10),e.Y36(ae,10))},za.\u0275dir=e.lG2({type:za,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[e._Bn([fo]),e.qOj]});const is={provide:et,useExisting:(0,e.Gpc)(()=>Qi)};class Qi extends et{constructor(ye,dt,Yt,Pn,Ti){super(),this._ngModelWarningConfig=Ti,this._added=!1,this.update=new e.vpe,this._ngModelWarningSent=!1,this._parent=ye,this._setValidators(dt),this._setAsyncValidators(Yt),this.valueAccessor=Mn(0,Pn)}set isDisabled(ye){}ngOnChanges(ye){this._added||this._setUpControl(),Bn(ye,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(ye){this.viewModel=ye,this.update.emit(ye)}get path(){return He(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}Qi._ngModelWarningSentOnce=!1,Qi.\u0275fac=function(ye){return new(ye||Qi)(e.Y36(ge,13),e.Y36(j,10),e.Y36(ae,10),e.Y36(k,10),e.Y36(La,8))},Qi.\u0275dir=e.lG2({type:Qi,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[e._Bn([is]),e.qOj,e.TTD]});const Gr={provide:k,useExisting:(0,e.Gpc)(()=>Ua),multi:!0};function Ta(bt,ye){return null==bt?`${ye}`:(ye&&"object"==typeof ye&&(ye="Object"),`${bt}: ${ye}`.slice(0,50))}class Ua extends u{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(ye){this._compareWith=ye}writeValue(ye){this.value=ye;const Yt=Ta(this._getOptionId(ye),ye);this.setProperty("value",Yt)}registerOnChange(ye){this.onChange=dt=>{this.value=this._getOptionValue(dt),ye(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(ye){for(const dt of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(dt),ye))return dt;return null}_getOptionValue(ye){const dt=function Is(bt){return bt.split(":")[0]}(ye);return this._optionMap.has(dt)?this._optionMap.get(dt):ye}}Ua.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Ua)))(dt||Ua)}}(),Ua.\u0275dir=e.lG2({type:Ua,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(ye,dt){1&ye&&e.NdJ("change",function(Pn){return dt.onChange(Pn.target.value)})("blur",function(){return dt.onTouched()})},inputs:{compareWith:"compareWith"},features:[e._Bn([Gr]),e.qOj]});class Ls{constructor(ye,dt,Yt){this._element=ye,this._renderer=dt,this._select=Yt,this._select&&(this.id=this._select._registerOption())}set ngValue(ye){null!=this._select&&(this._select._optionMap.set(this.id,ye),this._setElementValue(Ta(this.id,ye)),this._select.writeValue(this._select.value))}set value(ye){this._setElementValue(ye),this._select&&this._select.writeValue(this._select.value)}_setElementValue(ye){this._renderer.setProperty(this._element.nativeElement,"value",ye)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}Ls.\u0275fac=function(ye){return new(ye||Ls)(e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(Ua,9))},Ls.\u0275dir=e.lG2({type:Ls,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}});const Ca={provide:k,useExisting:(0,e.Gpc)(()=>ms),multi:!0};function vr(bt,ye){return null==bt?`${ye}`:("string"==typeof ye&&(ye=`'${ye}'`),ye&&"object"==typeof ye&&(ye="Object"),`${bt}: ${ye}`.slice(0,50))}class ms extends u{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(ye){this._compareWith=ye}writeValue(ye){let dt;if(this.value=ye,Array.isArray(ye)){const Yt=ye.map(Pn=>this._getOptionId(Pn));dt=(Pn,Ti)=>{Pn._setSelected(Yt.indexOf(Ti.toString())>-1)}}else dt=(Yt,Pn)=>{Yt._setSelected(!1)};this._optionMap.forEach(dt)}registerOnChange(ye){this.onChange=dt=>{const Yt=[],Pn=dt.selectedOptions;if(void 0!==Pn){const Ti=Pn;for(let rr=0;rrOa),multi:!0};class Oa extends pa{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=ye=>Xs(ye),this.createValidator=ye=>ve(ye)}}Oa.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Oa)))(dt||Oa)}}(),Oa.\u0275dir=e.lG2({type:Oa,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("max",dt._enabled?dt.max:null)},inputs:{max:"max"},features:[e._Bn([Js]),e.qOj]});const Ss={provide:j,useExisting:(0,e.Gpc)(()=>Ja),multi:!0};class Ja extends pa{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=ye=>Xs(ye),this.createValidator=ye=>le(ye)}}Ja.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Ja)))(dt||Ja)}}(),Ja.\u0275dir=e.lG2({type:Ja,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("min",dt._enabled?dt.min:null)},inputs:{min:"min"},features:[e._Bn([Ss]),e.qOj]});const Os={provide:j,useExisting:(0,e.Gpc)(()=>yr),multi:!0},$a={provide:j,useExisting:(0,e.Gpc)(()=>sa),multi:!0};class yr extends pa{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=e.D6c,this.createValidator=ye=>de}enabled(ye){return ye}}yr.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(yr)))(dt||yr)}}(),yr.\u0275dir=e.lG2({type:yr,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("required",dt._enabled?"":null)},inputs:{required:"required"},features:[e._Bn([Os]),e.qOj]});class sa extends yr{constructor(){super(...arguments),this.createValidator=ye=>$}}sa.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(sa)))(dt||sa)}}(),sa.\u0275dir=e.lG2({type:sa,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("required",dt._enabled?"":null)},features:[e._Bn([$a]),e.qOj]});const ir={provide:j,useExisting:(0,e.Gpc)(()=>br),multi:!0};class br extends pa{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=e.D6c,this.createValidator=ye=>ue}enabled(ye){return ye}}br.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(br)))(dt||br)}}(),br.\u0275dir=e.lG2({type:br,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[e._Bn([ir]),e.qOj]});const as={provide:j,useExisting:(0,e.Gpc)(()=>kr),multi:!0};class kr extends pa{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=ye=>Pr(ye),this.createValidator=ye=>w(ye)}}kr.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(kr)))(dt||kr)}}(),kr.\u0275dir=e.lG2({type:kr,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("minlength",dt._enabled?dt.minlength:null)},inputs:{minlength:"minlength"},features:[e._Bn([as]),e.qOj]});const Va={provide:j,useExisting:(0,e.Gpc)(()=>dn),multi:!0};class dn extends pa{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=ye=>Pr(ye),this.createValidator=ye=>n(ye)}}dn.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(dn)))(dt||dn)}}(),dn.\u0275dir=e.lG2({type:dn,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("maxlength",dt._enabled?dt.maxlength:null)},inputs:{maxlength:"maxlength"},features:[e._Bn([Va]),e.qOj]});const xt={provide:j,useExisting:(0,e.Gpc)(()=>Bt),multi:!0};class Bt extends pa{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=ye=>ye,this.createValidator=ye=>o(ye)}}Bt.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(Bt)))(dt||Bt)}}(),Bt.\u0275dir=e.lG2({type:Bt,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(ye,dt){2&ye&&e.uIk("pattern",dt._enabled?dt.pattern:null)},inputs:{pattern:"pattern"},features:[e._Bn([xt]),e.qOj]});class Xi{}Xi.\u0275fac=function(ye){return new(ye||Xi)},Xi.\u0275mod=e.oAB({type:Xi}),Xi.\u0275inj=e.cJS({imports:[Ji]});class oa{static withConfig(ye){return{ngModule:oa,providers:[{provide:Tt,useValue:ye.callSetDisabledState??Ht}]}}}oa.\u0275fac=function(ye){return new(ye||oa)},oa.\u0275mod=e.oAB({type:oa}),oa.\u0275inj=e.cJS({imports:[Xi]});class la{static withConfig(ye){return{ngModule:la,providers:[{provide:La,useValue:ye.warnOnNgModelWithFormControl??"always"},{provide:Tt,useValue:ye.callSetDisabledState??Ht}]}}}la.\u0275fac=function(ye){return new(ye||la)},la.\u0275mod=e.oAB({type:la}),la.\u0275inj=e.cJS({imports:[Xi]});class Li extends Ue{constructor(ye,dt,Yt){super(we(dt),te(Yt,dt)),this.controls=ye,this._initObservables(),this._setUpdateStrategy(dt),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(ye){return this.controls[this._adjustIndex(ye)]}push(ye,dt={}){this.controls.push(ye),this._registerControl(ye),this.updateValueAndValidity({emitEvent:dt.emitEvent}),this._onCollectionChange()}insert(ye,dt,Yt={}){this.controls.splice(ye,0,dt),this._registerControl(dt),this.updateValueAndValidity({emitEvent:Yt.emitEvent})}removeAt(ye,dt={}){let Yt=this._adjustIndex(ye);Yt<0&&(Yt=0),this.controls[Yt]&&this.controls[Yt]._registerOnCollectionChange(()=>{}),this.controls.splice(Yt,1),this.updateValueAndValidity({emitEvent:dt.emitEvent})}setControl(ye,dt,Yt={}){let Pn=this._adjustIndex(ye);Pn<0&&(Pn=0),this.controls[Pn]&&this.controls[Pn]._registerOnCollectionChange(()=>{}),this.controls.splice(Pn,1),dt&&(this.controls.splice(Pn,0,dt),this._registerControl(dt)),this.updateValueAndValidity({emitEvent:Yt.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(ye,dt={}){ct(this,0,ye),ye.forEach((Yt,Pn)=>{_t(this,!1,Pn),this.at(Pn).setValue(Yt,{onlySelf:!0,emitEvent:dt.emitEvent})}),this.updateValueAndValidity(dt)}patchValue(ye,dt={}){null!=ye&&(ye.forEach((Yt,Pn)=>{this.at(Pn)&&this.at(Pn).patchValue(Yt,{onlySelf:!0,emitEvent:dt.emitEvent})}),this.updateValueAndValidity(dt))}reset(ye=[],dt={}){this._forEachChild((Yt,Pn)=>{Yt.reset(ye[Pn],{onlySelf:!0,emitEvent:dt.emitEvent})}),this._updatePristine(dt),this._updateTouched(dt),this.updateValueAndValidity(dt)}getRawValue(){return this.controls.map(ye=>ye.getRawValue())}clear(ye={}){this.controls.length<1||(this._forEachChild(dt=>dt._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:ye.emitEvent}))}_adjustIndex(ye){return ye<0?ye+this.length:ye}_syncPendingControls(){let ye=this.controls.reduce((dt,Yt)=>!!Yt._syncPendingControls()||dt,!1);return ye&&this.updateValueAndValidity({onlySelf:!0}),ye}_forEachChild(ye){this.controls.forEach((dt,Yt)=>{ye(dt,Yt)})}_updateValue(){this.value=this.controls.filter(ye=>ye.enabled||this.disabled).map(ye=>ye.value)}_anyControls(ye){return this.controls.some(dt=>dt.enabled&&ye(dt))}_setUpControls(){this._forEachChild(ye=>this._registerControl(ye))}_allControlsDisabled(){for(const ye of this.controls)if(ye.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(ye){ye.setParent(this),ye._registerOnCollectionChange(this._onCollectionChange)}_find(ye){return this.at(ye)??null}}function Zr(bt){return!!bt&&(void 0!==bt.asyncValidators||void 0!==bt.validators||void 0!==bt.updateOn)}class ca{constructor(){this.useNonNullable=!1}get nonNullable(){const ye=new ca;return ye.useNonNullable=!0,ye}group(ye,dt=null){const Yt=this._reduceControls(ye);let Pn={};return Zr(dt)?Pn=dt:null!==dt&&(Pn.validators=dt.validator,Pn.asyncValidators=dt.asyncValidator),new Me(Yt,Pn)}record(ye,dt=null){const Yt=this._reduceControls(ye);return new Ut(Yt,dt)}control(ye,dt,Yt){let Pn={};return this.useNonNullable?(Zr(dt)?Pn=dt:(Pn.validators=dt,Pn.asyncValidators=Yt),new Ei(ye,{...Pn,nonNullable:!0})):new Ei(ye,dt,Yt)}array(ye,dt,Yt){const Pn=ye.map(Ti=>this._createControl(Ti));return new Li(Pn,dt,Yt)}_reduceControls(ye){const dt={};return Object.keys(ye).forEach(Yt=>{dt[Yt]=this._createControl(ye[Yt])}),dt}_createControl(ye){if(ye instanceof Ei)return ye;if(ye instanceof Ue)return ye;if(Array.isArray(ye)){const dt=ye[0],Yt=ye.length>1?ye[1]:null,Pn=ye.length>2?ye[2]:null;return this.control(dt,Yt,Pn)}return this.control(ye)}}ca.\u0275fac=function(ye){return new(ye||ca)},ca.\u0275prov=e.Yz7({token:ca,factory:ca.\u0275fac,providedIn:la});class si{}si.\u0275fac=function(ye){return new(ye||si)},si.\u0275prov=e.Yz7({token:si,factory:function(){return(0,e.f3M)(ca).nonNullable},providedIn:la});class ar extends ca{group(ye,dt=null){return super.group(ye,dt)}control(ye,dt,Yt){return super.control(ye,dt,Yt)}array(ye,dt,Yt){return super.array(ye,dt,Yt)}}ar.\u0275fac=function(){let bt;return function(dt){return(bt||(bt=e.n5z(ar)))(dt||ar)}}(),ar.\u0275prov=e.Yz7({token:ar,factory:ar.\u0275fac,providedIn:la});new e.GfV("15.0.2")},8550:(Ve,X,m)=>{"use strict";m.d(X,{Bb:()=>be,XC:()=>a,ZL:()=>We});var e=m(4218),t=m(8971),_=m(9107),E=m(2560),s=m(207),D=m(7714),u=m(253),k=m(1954),p=m(6646),S=m(745),A=m(3280),P=m(4666),M=m(5895),z=m(1494),I=m(2867),W=m(8456),Z=m(7520),j=m(2508),ae=m(5074),re=m(4874),pe=m(2673),le=m(9295),ve=m(116),de=m(635),$=m(9337),ue=m(6234);const w=["panel"];function n(Ye,Ie){if(1&Ye&&(E.TgZ(0,"div",0,1),E.Hsn(2),E.qZA()),2&Ye){const ge=Ie.id,et=E.oxw();E.Q6J("id",et.id)("ngClass",et._classList),E.uIk("aria-label",et.ariaLabel||null)("aria-labelledby",et._getPanelAriaLabelledby(ge))}}let h=0;class d{constructor(Ie,ge){this.source=Ie,this.option=ge}}const y=(0,s.Kr)(class{}),L=new E.OlP("mat-autocomplete-default-options",{providedIn:"root",factory:function B(){return{autoActiveFirstOption:!1,autoSelectActiveOption:!1}}});class v extends y{constructor(Ie,ge,et,ut){super(),this._changeDetectorRef=Ie,this._elementRef=ge,this._activeOptionChanges=D.w0.EMPTY,this.showPanel=!1,this._isOpen=!1,this.displayWith=null,this.optionSelected=new E.vpe,this.opened=new E.vpe,this.closed=new E.vpe,this.optionActivated=new E.vpe,this._classList={},this.id="mat-autocomplete-"+h++,this.inertGroups=ut?.SAFARI||!1,this._autoActiveFirstOption=!!et.autoActiveFirstOption,this._autoSelectActiveOption=!!et.autoSelectActiveOption}get isOpen(){return this._isOpen&&this.showPanel}get autoActiveFirstOption(){return this._autoActiveFirstOption}set autoActiveFirstOption(Ie){this._autoActiveFirstOption=(0,t.Ig)(Ie)}get autoSelectActiveOption(){return this._autoSelectActiveOption}set autoSelectActiveOption(Ie){this._autoSelectActiveOption=(0,t.Ig)(Ie)}set classList(Ie){Ie&&Ie.length?this._classList=(0,t.du)(Ie).reduce((ge,et)=>(ge[et]=!0,ge),{}):this._classList={},this._setVisibilityClasses(this._classList),this._elementRef.nativeElement.className=""}ngAfterContentInit(){this._keyManager=new e.s1(this.options).withWrap(),this._activeOptionChanges=this._keyManager.change.subscribe(Ie=>{this.isOpen&&this.optionActivated.emit({source:this,option:this.options.toArray()[Ie]||null})}),this._setVisibility()}ngOnDestroy(){this._activeOptionChanges.unsubscribe()}_setScrollTop(Ie){this.panel&&(this.panel.nativeElement.scrollTop=Ie)}_getScrollTop(){return this.panel?this.panel.nativeElement.scrollTop:0}_setVisibility(){this.showPanel=!!this.options.length,this._setVisibilityClasses(this._classList),this._changeDetectorRef.markForCheck()}_emitSelectEvent(Ie){const ge=new d(this,Ie);this.optionSelected.emit(ge)}_getPanelAriaLabelledby(Ie){if(this.ariaLabel)return null;const ge=Ie?Ie+" ":"";return this.ariaLabelledby?ge+this.ariaLabelledby:Ie}_setVisibilityClasses(Ie){Ie[this._visibleClass]=this.showPanel,Ie[this._hiddenClass]=!this.showPanel}}v.\u0275fac=function(Ie){return new(Ie||v)(E.Y36(E.sBO),E.Y36(E.SBq),E.Y36(L),E.Y36(_.t4))},v.\u0275dir=E.lG2({type:v,viewQuery:function(Ie,ge){if(1&Ie&&(E.Gf(E.Rgc,7),E.Gf(w,5)),2&Ie){let et;E.iGM(et=E.CRH())&&(ge.template=et.first),E.iGM(et=E.CRH())&&(ge.panel=et.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],displayWith:"displayWith",autoActiveFirstOption:"autoActiveFirstOption",autoSelectActiveOption:"autoSelectActiveOption",panelWidth:"panelWidth",classList:["class","classList"]},outputs:{optionSelected:"optionSelected",opened:"opened",closed:"closed",optionActivated:"optionActivated"},features:[E.qOj]});class a extends v{constructor(){super(...arguments),this._visibleClass="mat-autocomplete-visible",this._hiddenClass="mat-autocomplete-hidden"}}a.\u0275fac=function(){let Ye;return function(ge){return(Ye||(Ye=E.n5z(a)))(ge||a)}}(),a.\u0275cmp=E.Xpm({type:a,selectors:[["mat-autocomplete"]],contentQueries:function(Ie,ge,et){if(1&Ie&&(E.Suo(et,s.K7,5),E.Suo(et,s.ey,5)),2&Ie){let ut;E.iGM(ut=E.CRH())&&(ge.optionGroups=ut),E.iGM(ut=E.CRH())&&(ge.options=ut)}},hostAttrs:[1,"mat-autocomplete"],inputs:{disableRipple:"disableRipple"},exportAs:["matAutocomplete"],features:[E._Bn([{provide:s.HF,useExisting:a}]),E.qOj],ngContentSelectors:["*"],decls:1,vars:0,consts:[["role","listbox",1,"mat-autocomplete-panel",3,"id","ngClass"],["panel",""]],template:function(Ie,ge){1&Ie&&(E.F$t(),E.YNc(0,n,3,4,"ng-template"))},dependencies:[P.mk],styles:[".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}mat-autocomplete{display:none}"],encapsulation:2,changeDetection:0});class C{constructor(Ie){this.elementRef=Ie}}C.\u0275fac=function(Ie){return new(Ie||C)(E.Y36(E.SBq))},C.\u0275dir=E.lG2({type:C});class N extends C{}N.\u0275fac=function(){let Ye;return function(ge){return(Ye||(Ye=E.n5z(N)))(ge||N)}}(),N.\u0275dir=E.lG2({type:N,selectors:[["","matAutocompleteOrigin",""]],exportAs:["matAutocompleteOrigin"],features:[E.qOj]});const F=new E.OlP("mat-autocomplete-scroll-strategy");const Fe={provide:F,deps:[M.aV],useFactory:function J(Ye){return()=>Ye.scrollStrategies.reposition()}},ke={provide:j.JU,useExisting:(0,E.Gpc)(()=>We),multi:!0};class je{constructor(Ie,ge,et,ut,Le,De,ne,fe,ee,H,q){this._element=Ie,this._overlay=ge,this._viewContainerRef=et,this._zone=ut,this._changeDetectorRef=Le,this._dir=ne,this._formField=fe,this._document=ee,this._viewportRuler=H,this._defaults=q,this._componentDestroyed=!1,this._autocompleteDisabled=!1,this._manuallyFloatingLabel=!1,this._viewportSubscription=D.w0.EMPTY,this._canOpenOnNextFocus=!0,this._closeKeyEventStream=new u.x,this._windowBlurHandler=()=>{this._canOpenOnNextFocus=this._document.activeElement!==this._element.nativeElement||this.panelOpen},this._onChange=()=>{},this._onTouched=()=>{},this.position="auto",this.autocompleteAttribute="off",this._overlayAttached=!1,this.optionSelections=(0,k.P)(()=>{const Oe=this.autocomplete?this.autocomplete.options:null;return Oe?Oe.changes.pipe((0,re.O)(Oe),(0,pe.w)(()=>(0,p.T)(...Oe.map(Re=>Re.onSelectionChange)))):this._zone.onStable.pipe((0,le.q)(1),(0,pe.w)(()=>this.optionSelections))}),this._scrollStrategy=De}get autocompleteDisabled(){return this._autocompleteDisabled}set autocompleteDisabled(Ie){this._autocompleteDisabled=(0,t.Ig)(Ie)}ngAfterViewInit(){const Ie=this._getWindow();typeof Ie<"u"&&this._zone.runOutsideAngular(()=>Ie.addEventListener("blur",this._windowBlurHandler))}ngOnChanges(Ie){Ie.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){const Ie=this._getWindow();typeof Ie<"u"&&Ie.removeEventListener("blur",this._windowBlurHandler),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}openPanel(){this._attachOverlay(),this._floatLabel()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._isOpen=this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._componentDestroyed||this._changeDetectorRef.detectChanges())}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return(0,p.T)(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe((0,ve.h)(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe((0,ve.h)(()=>this._overlayAttached)):(0,S.of)()).pipe((0,de.U)(Ie=>Ie instanceof s.rN?Ie:null))}get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return(0,p.T)((0,A.R)(this._document,"click"),(0,A.R)(this._document,"auxclick"),(0,A.R)(this._document,"touchend")).pipe((0,ve.h)(Ie=>{const ge=(0,_.sA)(Ie),et=this._formField?this._formField._elementRef.nativeElement:null,ut=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;return this._overlayAttached&&ge!==this._element.nativeElement&&this._document.activeElement!==this._element.nativeElement&&(!et||!et.contains(ge))&&(!ut||!ut.contains(ge))&&!!this._overlayRef&&!this._overlayRef.overlayElement.contains(ge)}))}writeValue(Ie){Promise.resolve(null).then(()=>this._assignOptionValue(Ie))}registerOnChange(Ie){this._onChange=Ie}registerOnTouched(Ie){this._onTouched=Ie}setDisabledState(Ie){this._element.nativeElement.disabled=Ie}_handleKeydown(Ie){const ge=Ie.keyCode,et=(0,W.Vb)(Ie);if(ge===W.hY&&!et&&Ie.preventDefault(),this.activeOption&&ge===W.K5&&this.panelOpen&&!et)this.activeOption._selectViaInteraction(),this._resetActiveItem(),Ie.preventDefault();else if(this.autocomplete){const ut=this.autocomplete._keyManager.activeItem,Le=ge===W.LH||ge===W.JH;ge===W.Mf||Le&&!et&&this.panelOpen?this.autocomplete._keyManager.onKeydown(Ie):Le&&this._canOpen()&&this.openPanel(),(Le||this.autocomplete._keyManager.activeItem!==ut)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._element.nativeElement.value),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this.activeOption.value)))}}_handleInput(Ie){let ge=Ie.target,et=ge.value;"number"===ge.type&&(et=""==et?null:parseFloat(et)),this._previousValue!==et&&(this._previousValue=et,this._pendingAutoselectedOption=null,this._onChange(et),this._canOpen()&&this._document.activeElement===Ie.target&&this.openPanel())}_handleFocus(){this._canOpenOnNextFocus?this._canOpen()&&(this._previousValue=this._element.nativeElement.value,this._attachOverlay(),this._floatLabel(!0)):this._canOpenOnNextFocus=!0}_handleClick(){this._canOpen()&&!this.panelOpen&&this.openPanel()}_floatLabel(Ie=!1){this._formField&&"auto"===this._formField.floatLabel&&(Ie?this._formField._animateAndLockLabel():this._formField.floatLabel="always",this._manuallyFloatingLabel=!0)}_resetLabel(){this._manuallyFloatingLabel&&(this._formField.floatLabel="auto",this._manuallyFloatingLabel=!1)}_subscribeToClosingActions(){const Ie=this._zone.onStable.pipe((0,le.q)(1)),ge=this.autocomplete.options.changes.pipe((0,$.b)(()=>this._positionStrategy.reapplyLastPosition()),(0,ue.g)(0));return(0,p.T)(Ie,ge).pipe((0,pe.w)(()=>(this._zone.run(()=>{const et=this.panelOpen;this._resetActiveItem(),this.autocomplete._setVisibility(),this._changeDetectorRef.detectChanges(),this.panelOpen&&this._overlayRef.updatePosition(),et!==this.panelOpen&&(this.panelOpen?this.autocomplete.opened.emit():this.autocomplete.closed.emit())}),this.panelClosingActions)),(0,le.q)(1)).subscribe(et=>this._setValueAndClose(et))}_destroyPanel(){this._overlayRef&&(this.closePanel(),this._overlayRef.dispose(),this._overlayRef=null)}_assignOptionValue(Ie){const ge=this.autocomplete&&this.autocomplete.displayWith?this.autocomplete.displayWith(Ie):Ie;this._updateNativeInputValue(ge??"")}_updateNativeInputValue(Ie){this._formField?this._formField._control.value=Ie:this._element.nativeElement.value=Ie,this._previousValue=Ie}_setValueAndClose(Ie){const ge=Ie?Ie.source:this._pendingAutoselectedOption;ge&&(this._clearPreviousSelectedOption(ge),this._assignOptionValue(ge.value),this._onChange(ge.value),this.autocomplete._emitSelectEvent(ge),this._element.nativeElement.focus()),this.closePanel()}_clearPreviousSelectedOption(Ie){this.autocomplete.options.forEach(ge=>{ge!==Ie&&ge.selected&&ge.deselect()})}_attachOverlay(){this.autocomplete;let Ie=this._overlayRef;Ie?(this._positionStrategy.setOrigin(this._getConnectedElement()),Ie.updateSize({width:this._getPanelWidth()})):(this._portal=new Z.UE(this.autocomplete.template,this._viewContainerRef,{id:this._formField?.getLabelId()}),Ie=this._overlay.create(this._getOverlayConfig()),this._overlayRef=Ie,this._handleOverlayEvents(Ie),this._viewportSubscription=this._viewportRuler.change().subscribe(()=>{this.panelOpen&&Ie&&Ie.updateSize({width:this._getPanelWidth()})})),Ie&&!Ie.hasAttached()&&(Ie.attach(this._portal),this._closingActionsSubscription=this._subscribeToClosingActions());const ge=this.panelOpen;this.autocomplete._setVisibility(),this.autocomplete._isOpen=this._overlayAttached=!0,this.panelOpen&&ge!==this.panelOpen&&this.autocomplete.opened.emit()}_getOverlayConfig(){return new M.X_({positionStrategy:this._getOverlayPosition(),scrollStrategy:this._scrollStrategy(),width:this._getPanelWidth(),direction:this._dir,panelClass:this._defaults?.overlayPanelClass})}_getOverlayPosition(){const Ie=this._overlay.position().flexibleConnectedTo(this._getConnectedElement()).withFlexibleDimensions(!1).withPush(!1);return this._setStrategyPositions(Ie),this._positionStrategy=Ie,Ie}_setStrategyPositions(Ie){const ge=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],et=this._aboveClass,ut=[{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:et},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:et}];let Le;Le="above"===this.position?ut:"below"===this.position?ge:[...ge,...ut],Ie.withPositions(Le)}_getConnectedElement(){return this.connectedTo?this.connectedTo.elementRef:this._formField?this._formField.getConnectedOverlayOrigin():this._element}_getPanelWidth(){return this.autocomplete.panelWidth||this._getHostWidth()}_getHostWidth(){return this._getConnectedElement().nativeElement.getBoundingClientRect().width}_resetActiveItem(){const Ie=this.autocomplete;Ie.autoActiveFirstOption?Ie._keyManager.setFirstItemActive():Ie._keyManager.setActiveItem(-1)}_canOpen(){const Ie=this._element.nativeElement;return!Ie.readOnly&&!Ie.disabled&&!this._autocompleteDisabled}_getWindow(){return this._document?.defaultView||window}_scrollToOption(Ie){const ge=this.autocomplete,et=(0,s.CB)(Ie,ge.options,ge.optionGroups);if(0===Ie&&1===et)ge._setScrollTop(0);else if(ge.panel){const ut=ge.options.toArray()[Ie];if(ut){const Le=ut._getHostElement(),De=(0,s.jH)(Le.offsetTop,Le.offsetHeight,ge._getScrollTop(),ge.panel.nativeElement.offsetHeight);ge._setScrollTop(De)}}}_handleOverlayEvents(Ie){Ie.keydownEvents().subscribe(ge=>{(ge.keyCode===W.hY&&!(0,W.Vb)(ge)||ge.keyCode===W.LH&&(0,W.Vb)(ge,"altKey"))&&(this._pendingAutoselectedOption&&(this._updateNativeInputValue(this._valueBeforeAutoSelection??""),this._pendingAutoselectedOption=null),this._closeKeyEventStream.next(),this._resetActiveItem(),ge.stopPropagation(),ge.preventDefault())}),Ie.outsidePointerEvents().subscribe()}}je.\u0275fac=function(Ie){return new(Ie||je)(E.Y36(E.SBq),E.Y36(M.aV),E.Y36(E.s_b),E.Y36(E.R0b),E.Y36(E.sBO),E.Y36(F),E.Y36(I.Is,8),E.Y36(ae.G_,9),E.Y36(P.K0,8),E.Y36(z.rL),E.Y36(L,8))},je.\u0275dir=E.lG2({type:je,inputs:{autocomplete:["matAutocomplete","autocomplete"],position:["matAutocompletePosition","position"],connectedTo:["matAutocompleteConnectedTo","connectedTo"],autocompleteAttribute:["autocomplete","autocompleteAttribute"],autocompleteDisabled:["matAutocompleteDisabled","autocompleteDisabled"]},features:[E.TTD]});class We extends je{constructor(){super(...arguments),this._aboveClass="mat-autocomplete-panel-above"}}We.\u0275fac=function(){let Ye;return function(ge){return(Ye||(Ye=E.n5z(We)))(ge||We)}}(),We.\u0275dir=E.lG2({type:We,selectors:[["input","matAutocomplete",""],["textarea","matAutocomplete",""]],hostAttrs:[1,"mat-autocomplete-trigger"],hostVars:7,hostBindings:function(Ie,ge){1&Ie&&E.NdJ("focusin",function(){return ge._handleFocus()})("blur",function(){return ge._onTouched()})("input",function(ut){return ge._handleInput(ut)})("keydown",function(ut){return ge._handleKeydown(ut)})("click",function(){return ge._handleClick()}),2&Ie&&E.uIk("autocomplete",ge.autocompleteAttribute)("role",ge.autocompleteDisabled?null:"combobox")("aria-autocomplete",ge.autocompleteDisabled?null:"list")("aria-activedescendant",ge.panelOpen&&ge.activeOption?ge.activeOption.id:null)("aria-expanded",ge.autocompleteDisabled?null:ge.panelOpen.toString())("aria-owns",ge.autocompleteDisabled||!ge.panelOpen||null==ge.autocomplete?null:ge.autocomplete.id)("aria-haspopup",ge.autocompleteDisabled?null:"listbox")},exportAs:["matAutocompleteTrigger"],features:[E._Bn([ke]),E.qOj]});class be{}be.\u0275fac=function(Ie){return new(Ie||be)},be.\u0275mod=E.oAB({type:be}),be.\u0275inj=E.cJS({providers:[Fe],imports:[M.U8,s.Ng,s.BQ,P.ez,z.ZD,s.Ng,s.BQ]})},3335:(Ve,X,m)=>{"use strict";m.d(X,{g:()=>p,k:()=>k});var e=m(2560),t=m(207),_=m(4218),E=m(8971);let s=0;const D=(0,t.Id)(class{}),u="mat-badge-content";class k extends D{constructor(A,P,M,z,I){super(),this._ngZone=A,this._elementRef=P,this._ariaDescriber=M,this._renderer=z,this._animationMode=I,this._color="primary",this._overlap=!0,this.position="above after",this.size="medium",this._id=s++,this._isInitialized=!1}get color(){return this._color}set color(A){this._setColor(A),this._color=A}get overlap(){return this._overlap}set overlap(A){this._overlap=(0,E.Ig)(A)}get content(){return this._content}set content(A){this._updateRenderedContent(A)}get description(){return this._description}set description(A){this._updateHostAriaDescription(A)}get hidden(){return this._hidden}set hidden(A){this._hidden=(0,E.Ig)(A)}isAbove(){return-1===this.position.indexOf("below")}isAfter(){return-1===this.position.indexOf("before")}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngOnDestroy(){this._renderer.destroyNode&&this._renderer.destroyNode(this._badgeElement),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_createBadgeElement(){const A=this._renderer.createElement("span"),P="mat-badge-active";return A.setAttribute("id",`mat-badge-content-${this._id}`),A.setAttribute("aria-hidden","true"),A.classList.add(u),"NoopAnimations"===this._animationMode&&A.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(A),"function"==typeof requestAnimationFrame&&"NoopAnimations"!==this._animationMode?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{A.classList.add(P)})}):A.classList.add(P),A}_updateRenderedContent(A){const P=`${A??""}`.trim();this._isInitialized&&P&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=P),this._content=P}_updateHostAriaDescription(A){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),A&&this._ariaDescriber.describe(this._elementRef.nativeElement,A),this._description=A}_setColor(A){const P=this._elementRef.nativeElement.classList;P.remove(`mat-badge-${this._color}`),A&&P.add(`mat-badge-${A}`)}_clearExistingBadges(){const A=this._elementRef.nativeElement.querySelectorAll(`:scope > .${u}`);for(const P of Array.from(A))P!==this._badgeElement&&P.remove()}}k.\u0275fac=function(A){return new(A||k)(e.Y36(e.R0b),e.Y36(e.SBq),e.Y36(_.$s),e.Y36(e.Qsj),e.Y36(e.QbO,8))},k.\u0275dir=e.lG2({type:k,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(A,P){2&A&&e.ekj("mat-badge-overlap",P.overlap)("mat-badge-above",P.isAbove())("mat-badge-below",!P.isAbove())("mat-badge-before",!P.isAfter())("mat-badge-after",P.isAfter())("mat-badge-small","small"===P.size)("mat-badge-medium","medium"===P.size)("mat-badge-large","large"===P.size)("mat-badge-hidden",P.hidden||!P.content)("mat-badge-disabled",P.disabled)},inputs:{disabled:["matBadgeDisabled","disabled"],color:["matBadgeColor","color"],overlap:["matBadgeOverlap","overlap"],position:["matBadgePosition","position"],content:["matBadge","content"],description:["matBadgeDescription","description"],size:["matBadgeSize","size"],hidden:["matBadgeHidden","hidden"]},features:[e.qOj]});class p{}p.\u0275fac=function(A){return new(A||p)},p.\u0275mod=e.oAB({type:p}),p.\u0275inj=e.cJS({imports:[_.rt,t.BQ,t.BQ]})},4522:(Ve,X,m)=>{"use strict";m.d(X,{lW:()=>S,ot:()=>P});var e=m(2560),t=m(207),_=m(4218);const E=["mat-button",""],s=["*"],k=["mat-button","mat-flat-button","mat-icon-button","mat-raised-button","mat-stroked-button","mat-mini-fab","mat-fab"],p=(0,t.pj)((0,t.Id)((0,t.Kr)(class{constructor(M){this._elementRef=M}})));class S extends p{constructor(z,I,W){super(z),this._focusMonitor=I,this._animationMode=W,this.isRoundButton=this._hasHostAttributes("mat-fab","mat-mini-fab"),this.isIconButton=this._hasHostAttributes("mat-icon-button");for(const Z of k)this._hasHostAttributes(Z)&&this._getHostElement().classList.add(Z);z.nativeElement.classList.add("mat-button-base"),this.isRoundButton&&(this.color="accent")}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(z,I){z?this._focusMonitor.focusVia(this._getHostElement(),z,I):this._getHostElement().focus(I)}_getHostElement(){return this._elementRef.nativeElement}_isRippleDisabled(){return this.disableRipple||this.disabled}_hasHostAttributes(...z){return z.some(I=>this._getHostElement().hasAttribute(I))}}S.\u0275fac=function(z){return new(z||S)(e.Y36(e.SBq),e.Y36(_.tE),e.Y36(e.QbO,8))},S.\u0275cmp=e.Xpm({type:S,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-icon-button",""],["button","mat-fab",""],["button","mat-mini-fab",""],["button","mat-stroked-button",""],["button","mat-flat-button",""]],viewQuery:function(z,I){if(1&z&&e.Gf(t.wG,5),2&z){let W;e.iGM(W=e.CRH())&&(I.ripple=W.first)}},hostAttrs:[1,"mat-focus-indicator"],hostVars:5,hostBindings:function(z,I){2&z&&(e.uIk("disabled",I.disabled||null),e.ekj("_mat-animation-noopable","NoopAnimations"===I._animationMode)("mat-button-disabled",I.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[e.qOj],attrs:E,ngContentSelectors:s,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(z,I){1&z&&(e.F$t(),e.TgZ(0,"span",0),e.Hsn(1),e.qZA(),e._UZ(2,"span",1)(3,"span",2)),2&z&&(e.xp6(2),e.ekj("mat-button-ripple-round",I.isRoundButton||I.isIconButton),e.Q6J("matRippleDisabled",I._isRippleDisabled())("matRippleCentered",I.isIconButton)("matRippleTrigger",I._getHostElement()))},dependencies:[t.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}.mat-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.mat-flat-button::before,.mat-raised-button::before,.mat-fab::before,.mat-mini-fab::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-stroked-button::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}"],encapsulation:2,changeDetection:0});class A extends S{constructor(z,I,W,Z){super(I,z,W),this._ngZone=Z,this._haltDisabledEvents=j=>{this.disabled&&(j.preventDefault(),j.stopImmediatePropagation())}}ngAfterViewInit(){super.ngAfterViewInit(),this._ngZone?this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}):this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}A.\u0275fac=function(z){return new(z||A)(e.Y36(_.tE),e.Y36(e.SBq),e.Y36(e.QbO,8),e.Y36(e.R0b,8))},A.\u0275cmp=e.Xpm({type:A,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-icon-button",""],["a","mat-fab",""],["a","mat-mini-fab",""],["a","mat-stroked-button",""],["a","mat-flat-button",""]],hostAttrs:[1,"mat-focus-indicator"],hostVars:7,hostBindings:function(z,I){2&z&&(e.uIk("tabindex",I.disabled?-1:I.tabIndex)("disabled",I.disabled||null)("aria-disabled",I.disabled.toString()),e.ekj("_mat-animation-noopable","NoopAnimations"===I._animationMode)("mat-button-disabled",I.disabled))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[e.qOj],attrs:E,ngContentSelectors:s,decls:4,vars:5,consts:[[1,"mat-button-wrapper"],["matRipple","",1,"mat-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-button-focus-overlay"]],template:function(z,I){1&z&&(e.F$t(),e.TgZ(0,"span",0),e.Hsn(1),e.qZA(),e._UZ(2,"span",1)(3,"span",2)),2&z&&(e.xp6(2),e.ekj("mat-button-ripple-round",I.isRoundButton||I.isIconButton),e.Q6J("matRippleDisabled",I._isRippleDisabled())("matRippleCentered",I.isIconButton)("matRippleTrigger",I._getHostElement()))},dependencies:[t.wG],styles:[".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}.mat-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.mat-flat-button::before,.mat-raised-button::before,.mat-fab::before,.mat-mini-fab::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-stroked-button::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}"],encapsulation:2,changeDetection:0});class P{}P.\u0275fac=function(z){return new(z||P)},P.\u0275mod=e.oAB({type:P}),P.\u0275inj=e.cJS({imports:[t.si,t.BQ,t.BQ]})},2156:(Ve,X,m)=>{"use strict";m.d(X,{$j:()=>A,QW:()=>ve,a8:()=>re,dk:()=>pe,dn:()=>p,n5:()=>S});var e=m(2560),t=m(207);const _=["*",[["mat-card-footer"]]],s=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],D=["[mat-card-avatar], [matCardAvatar]","mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","*"],u=[[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],[["img"]],"*"],k=["mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]","img","*"];class p{}p.\u0275fac=function($){return new($||p)},p.\u0275dir=e.lG2({type:p,selectors:[["mat-card-content"],["","mat-card-content",""],["","matCardContent",""]],hostAttrs:[1,"mat-card-content"]});class S{}S.\u0275fac=function($){return new($||S)},S.\u0275dir=e.lG2({type:S,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-card-title"]});class A{}A.\u0275fac=function($){return new($||A)},A.\u0275dir=e.lG2({type:A,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-card-subtitle"]});class P{constructor(){this.align="start"}}P.\u0275fac=function($){return new($||P)},P.\u0275dir=e.lG2({type:P,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-card-actions"],hostVars:2,hostBindings:function($,ue){2&$&&e.ekj("mat-card-actions-align-end","end"===ue.align)},inputs:{align:"align"},exportAs:["matCardActions"]});class M{}M.\u0275fac=function($){return new($||M)},M.\u0275dir=e.lG2({type:M,selectors:[["mat-card-footer"]],hostAttrs:[1,"mat-card-footer"]});class z{}z.\u0275fac=function($){return new($||z)},z.\u0275dir=e.lG2({type:z,selectors:[["","mat-card-image",""],["","matCardImage",""]],hostAttrs:[1,"mat-card-image"]});class I{}I.\u0275fac=function($){return new($||I)},I.\u0275dir=e.lG2({type:I,selectors:[["","mat-card-sm-image",""],["","matCardImageSmall",""]],hostAttrs:[1,"mat-card-sm-image"]});class W{}W.\u0275fac=function($){return new($||W)},W.\u0275dir=e.lG2({type:W,selectors:[["","mat-card-md-image",""],["","matCardImageMedium",""]],hostAttrs:[1,"mat-card-md-image"]});class Z{}Z.\u0275fac=function($){return new($||Z)},Z.\u0275dir=e.lG2({type:Z,selectors:[["","mat-card-lg-image",""],["","matCardImageLarge",""]],hostAttrs:[1,"mat-card-lg-image"]});class j{}j.\u0275fac=function($){return new($||j)},j.\u0275dir=e.lG2({type:j,selectors:[["","mat-card-xl-image",""],["","matCardImageXLarge",""]],hostAttrs:[1,"mat-card-xl-image"]});class ae{}ae.\u0275fac=function($){return new($||ae)},ae.\u0275dir=e.lG2({type:ae,selectors:[["","mat-card-avatar",""],["","matCardAvatar",""]],hostAttrs:[1,"mat-card-avatar"]});class re{constructor($){this._animationMode=$}}re.\u0275fac=function($){return new($||re)(e.Y36(e.QbO,8))},re.\u0275cmp=e.Xpm({type:re,selectors:[["mat-card"]],hostAttrs:[1,"mat-card","mat-focus-indicator"],hostVars:2,hostBindings:function($,ue){2&$&&e.ekj("_mat-animation-noopable","NoopAnimations"===ue._animationMode)},exportAs:["matCard"],ngContentSelectors:["*","mat-card-footer"],decls:2,vars:0,template:function($,ue){1&$&&(e.F$t(_),e.Hsn(0),e.Hsn(1,1))},styles:[".mat-card{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:block;position:relative;padding:16px;border-radius:4px}.mat-card._mat-animation-noopable{transition:none !important;animation:none !important}.mat-card>.mat-divider-horizontal{position:absolute;left:0;width:100%}[dir=rtl] .mat-card>.mat-divider-horizontal{left:auto;right:0}.mat-card>.mat-divider-horizontal.mat-divider-inset{position:static;margin:0}[dir=rtl] .mat-card>.mat-divider-horizontal.mat-divider-inset{margin-right:0}.cdk-high-contrast-active .mat-card{outline:solid 1px}.mat-card-actions,.mat-card-subtitle,.mat-card-content{display:block;margin-bottom:16px}.mat-card-title{display:block;margin-bottom:8px}.mat-card-actions{margin-left:-8px;margin-right:-8px;padding:8px 0}.mat-card-actions-align-end{display:flex;justify-content:flex-end}.mat-card-image{width:calc(100% + 32px);margin:0 -16px 16px -16px;display:block;overflow:hidden}.mat-card-image img{width:100%}.mat-card-footer{display:block;margin:0 -16px -16px -16px}.mat-card-actions .mat-button,.mat-card-actions .mat-raised-button,.mat-card-actions .mat-stroked-button{margin:0 8px}.mat-card-header{display:flex;flex-direction:row}.mat-card-header .mat-card-title{margin-bottom:12px}.mat-card-header-text{margin:0 16px}.mat-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.mat-card-title-group{display:flex;justify-content:space-between}.mat-card-sm-image{width:80px;height:80px}.mat-card-md-image{width:112px;height:112px}.mat-card-lg-image{width:152px;height:152px}.mat-card-xl-image{width:240px;height:240px;margin:-8px}.mat-card-title-group>.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}"],encapsulation:2,changeDetection:0});class pe{}pe.\u0275fac=function($){return new($||pe)},pe.\u0275cmp=e.Xpm({type:pe,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-card-header"],ngContentSelectors:D,decls:4,vars:0,consts:[[1,"mat-card-header-text"]],template:function($,ue){1&$&&(e.F$t(s),e.Hsn(0),e.TgZ(1,"div",0),e.Hsn(2,1),e.qZA(),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class le{}le.\u0275fac=function($){return new($||le)},le.\u0275cmp=e.Xpm({type:le,selectors:[["mat-card-title-group"]],hostAttrs:[1,"mat-card-title-group"],ngContentSelectors:k,decls:4,vars:0,template:function($,ue){1&$&&(e.F$t(u),e.TgZ(0,"div"),e.Hsn(1),e.qZA(),e.Hsn(2,1),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class ve{}ve.\u0275fac=function($){return new($||ve)},ve.\u0275mod=e.oAB({type:ve}),ve.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},4792:(Ve,X,m)=>{"use strict";m.d(X,{oG:()=>ae,p9:()=>ve});var e=m(4218),t=m(8971),_=m(2560),E=m(2508),s=m(207),D=m(3773);const u=["input"],k=["label"],p=function(de){return{enterDuration:de}},A=new _.OlP("mat-checkbox-default-options",{providedIn:"root",factory:P});function P(){return{color:"accent",clickAction:"check-indeterminate"}}let M=0;const z={color:"accent",clickAction:"check-indeterminate"},I={provide:E.JU,useExisting:(0,_.Gpc)(()=>ae),multi:!0};class W{}const Z=(0,s.sb)((0,s.pj)((0,s.Kr)((0,s.Id)(class{constructor(de){this._elementRef=de}}))));class j extends Z{constructor($,ue,w,n,o,h,d){super(ue),this._changeDetectorRef=w,this._ngZone=n,this._animationMode=h,this._options=d,this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new _.vpe,this.indeterminateChange=new _.vpe,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||z,this.color=this.defaultColor=this._options.color||z.color,this.tabIndex=parseInt(o)||0,this.id=this._uniqueId=`${$}${++M}`}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required($){this._required=(0,t.Ig)($)}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked($){const ue=(0,t.Ig)($);ue!=this.checked&&(this._checked=ue,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled($){const ue=(0,t.Ig)($);ue!==this.disabled&&(this._disabled=ue,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate($){const ue=$!=this._indeterminate;this._indeterminate=(0,t.Ig)($),ue&&(this._indeterminate?this._transitionCheckState(3):this._transitionCheckState(this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue($){this.checked=!!$}registerOnChange($){this._controlValueAccessorChangeFn=$}registerOnTouched($){this._onTouched=$}setDisabledState($){this.disabled=$}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState($){let ue=this._currentCheckState,w=this._getAnimationTargetElement();if(ue!==$&&w&&(this._currentAnimationClass&&w.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(ue,$),this._currentCheckState=$,this._currentAnimationClass.length>0)){w.classList.add(this._currentAnimationClass);const n=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{w.classList.remove(n)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const $=this._options?.clickAction;this.disabled||"noop"===$?!this.disabled&&"noop"===$&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==$&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}_onInteractionEvent($){$.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition($,ue){if("NoopAnimations"===this._animationMode)return"";switch($){case 0:if(1===ue)return this._animationClasses.uncheckedToChecked;if(3==ue)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case 2:return 1===ue?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case 1:return 2===ue?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case 3:return 1===ue?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate($){const ue=this._inputElement;ue&&(ue.nativeElement.indeterminate=$)}}j.\u0275fac=function($){_.$Z()},j.\u0275dir=_.lG2({type:j,viewQuery:function($,ue){if(1&$&&(_.Gf(u,5),_.Gf(k,5),_.Gf(s.wG,5)),2&$){let w;_.iGM(w=_.CRH())&&(ue._inputElement=w.first),_.iGM(w=_.CRH())&&(ue._labelElement=w.first),_.iGM(w=_.CRH())&&(ue.ripple=w.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},features:[_.qOj]});class ae extends j{constructor($,ue,w,n,o,h,d){super("mat-checkbox-",$,ue,n,o,h,d),this._focusMonitor=w,this._animationClasses={uncheckedToChecked:"mat-checkbox-anim-unchecked-checked",uncheckedToIndeterminate:"mat-checkbox-anim-unchecked-indeterminate",checkedToUnchecked:"mat-checkbox-anim-checked-unchecked",checkedToIndeterminate:"mat-checkbox-anim-checked-indeterminate",indeterminateToChecked:"mat-checkbox-anim-indeterminate-checked",indeterminateToUnchecked:"mat-checkbox-anim-indeterminate-unchecked"}}_createChangeEvent($){const ue=new W;return ue.source=this,ue.checked=$,ue}_getAnimationTargetElement(){return this._elementRef.nativeElement}ngAfterViewInit(){super.ngAfterViewInit(),this._focusMonitor.monitor(this._elementRef,!0).subscribe($=>{$||this._onBlur()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}_onInputClick($){$.stopPropagation(),super._handleInputClick()}focus($,ue){$?this._focusMonitor.focusVia(this._inputElement,$,ue):this._inputElement.nativeElement.focus(ue)}}ae.\u0275fac=function($){return new($||ae)(_.Y36(_.SBq),_.Y36(_.sBO),_.Y36(e.tE),_.Y36(_.R0b),_.$8M("tabindex"),_.Y36(_.QbO,8),_.Y36(A,8))},ae.\u0275cmp=_.Xpm({type:ae,selectors:[["mat-checkbox"]],hostAttrs:[1,"mat-checkbox"],hostVars:14,hostBindings:function($,ue){2&$&&(_.Ikx("id",ue.id),_.uIk("tabindex",null)("aria-label",null)("aria-labelledby",null),_.ekj("mat-checkbox-indeterminate",ue.indeterminate)("mat-checkbox-checked",ue.checked)("mat-checkbox-disabled",ue.disabled)("mat-checkbox-label-before","before"==ue.labelPosition)("_mat-animation-noopable","NoopAnimations"===ue._animationMode))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matCheckbox"],features:[_._Bn([I]),_.qOj],ngContentSelectors:["*"],decls:17,vars:21,consts:[[1,"mat-checkbox-layout"],["label",""],[1,"mat-checkbox-inner-container"],["type","checkbox",1,"mat-checkbox-input","cdk-visually-hidden",3,"id","required","checked","disabled","tabIndex","change","click"],["input",""],["matRipple","",1,"mat-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleRadius","matRippleCentered","matRippleAnimation"],[1,"mat-ripple-element","mat-checkbox-persistent-ripple"],[1,"mat-checkbox-frame"],[1,"mat-checkbox-background"],["version","1.1","focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mat-checkbox-checkmark"],["fill","none","stroke","white","d","M4.1,12.7 9,17.6 20.3,6.3",1,"mat-checkbox-checkmark-path"],[1,"mat-checkbox-mixedmark"],[1,"mat-checkbox-label",3,"cdkObserveContent"],["checkboxLabel",""],[2,"display","none"]],template:function($,ue){if(1&$&&(_.F$t(),_.TgZ(0,"label",0,1)(2,"span",2)(3,"input",3,4),_.NdJ("change",function(n){return ue._onInteractionEvent(n)})("click",function(n){return ue._onInputClick(n)}),_.qZA(),_.TgZ(5,"span",5),_._UZ(6,"span",6),_.qZA(),_._UZ(7,"span",7),_.TgZ(8,"span",8),_.O4$(),_.TgZ(9,"svg",9),_._UZ(10,"path",10),_.qZA(),_.kcU(),_._UZ(11,"span",11),_.qZA()(),_.TgZ(12,"span",12,13),_.NdJ("cdkObserveContent",function(){return ue._onLabelTextChange()}),_.TgZ(14,"span",14),_._uU(15,"\xa0"),_.qZA(),_.Hsn(16),_.qZA()()),2&$){const w=_.MAs(1),n=_.MAs(13);_.uIk("for",ue.inputId),_.xp6(2),_.ekj("mat-checkbox-inner-container-no-side-margin",!n.textContent||!n.textContent.trim()),_.xp6(1),_.Q6J("id",ue.inputId)("required",ue.required)("checked",ue.checked)("disabled",ue.disabled)("tabIndex",ue.tabIndex),_.uIk("value",ue.value)("name",ue.name)("aria-label",ue.ariaLabel||null)("aria-labelledby",ue.ariaLabelledby)("aria-checked",ue._getAriaChecked())("aria-describedby",ue.ariaDescribedby),_.xp6(2),_.Q6J("matRippleTrigger",w)("matRippleDisabled",ue._isRippleDisabled())("matRippleRadius",20)("matRippleCentered",!0)("matRippleAnimation",_.VKq(19,p,"NoopAnimations"===ue._animationMode?0:150))}},dependencies:[s.wG,D.wD],styles:['@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.mat-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:rgba(0,0,0,0);transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:rgba(0,0,0,0)}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-input:focus~.mat-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});const re={provide:E.Cf,useExisting:(0,_.Gpc)(()=>pe),multi:!0};class pe extends E.Zs{}pe.\u0275fac=function(){let de;return function(ue){return(de||(de=_.n5z(pe)))(ue||pe)}}(),pe.\u0275dir=_.lG2({type:pe,selectors:[["mat-checkbox","required","","formControlName",""],["mat-checkbox","required","","formControl",""],["mat-checkbox","required","","ngModel",""]],features:[_._Bn([re]),_.qOj]});class le{}le.\u0275fac=function($){return new($||le)},le.\u0275mod=_.oAB({type:le}),le.\u0275inj=_.cJS({});class ve{}ve.\u0275fac=function($){return new($||ve)},ve.\u0275mod=_.oAB({type:ve}),ve.\u0275inj=_.cJS({imports:[s.si,s.BQ,D.Q8,le,s.BQ,le]})},1169:(Ve,X,m)=>{"use strict";m.d(X,{HS:()=>ue,Hi:()=>a,qn:()=>y});var e=m(8456),t=m(2560),_=m(207),E=m(8971),s=m(9107),D=m(4666),u=m(253),k=m(6646),p=m(9295),S=m(8951),A=m(4874),P=m(4218),M=m(2867),z=m(1755),I=m(2508),W=m(5074);const ae=new t.OlP("MatChipRemove"),re=new t.OlP("MatChipAvatar"),pe=new t.OlP("MatChipTrailingIcon");const ve=(0,_.sb)((0,_.pj)((0,_.Kr)(class le{constructor(N){this._elementRef=N}}),"primary"),-1);class de{}de.\u0275fac=function(N){return new(N||de)},de.\u0275dir=t.lG2({type:de,selectors:[["mat-chip-avatar"],["","matChipAvatar",""]],hostAttrs:[1,"mat-chip-avatar"],features:[t._Bn([{provide:re,useExisting:de}])]});class ${}$.\u0275fac=function(N){return new(N||$)},$.\u0275dir=t.lG2({type:$,selectors:[["mat-chip-trailing-icon"],["","matChipTrailingIcon",""]],hostAttrs:[1,"mat-chip-trailing-icon"],features:[t._Bn([{provide:pe,useExisting:$}])]});class ue extends ve{constructor(N,F,J,Fe,ke,Ge,je,We){super(N),this._ngZone=F,this._changeDetectorRef=ke,this._hasFocus=!1,this.chipListSelectable=!0,this._chipListMultiple=!1,this._chipListDisabled=!1,this.role="option",this._selected=!1,this._selectable=!0,this._disabled=!1,this._removable=!0,this._onFocus=new u.x,this._onBlur=new u.x,this.selectionChange=new t.vpe,this.destroyed=new t.vpe,this.removed=new t.vpe,this._addHostClassName(),this._chipRippleTarget=Ge.createElement("div"),this._chipRippleTarget.classList.add("mat-chip-ripple"),this._elementRef.nativeElement.appendChild(this._chipRippleTarget),this._chipRipple=new _.IR(this,F,this._chipRippleTarget,J),this._chipRipple.setupTriggerEvents(N),this.rippleConfig=Fe||{},this._animationsDisabled="NoopAnimations"===je,this.tabIndex=null!=We&&parseInt(We)||-1}get rippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||!!this.rippleConfig.disabled}get selected(){return this._selected}set selected(N){const F=(0,E.Ig)(N);F!==this._selected&&(this._selected=F,this._dispatchSelectionChange())}get value(){return void 0!==this._value?this._value:this._elementRef.nativeElement.textContent}set value(N){this._value=N}get selectable(){return this._selectable&&this.chipListSelectable}set selectable(N){this._selectable=(0,E.Ig)(N)}get disabled(){return this._chipListDisabled||this._disabled}set disabled(N){this._disabled=(0,E.Ig)(N)}get removable(){return this._removable}set removable(N){this._removable=(0,E.Ig)(N)}get ariaSelected(){return this.selectable&&(this._chipListMultiple||this.selected)?this.selected.toString():null}_addHostClassName(){const N="mat-basic-chip",F=this._elementRef.nativeElement;F.hasAttribute(N)||F.tagName.toLowerCase()===N?F.classList.add(N):F.classList.add("mat-standard-chip")}ngOnDestroy(){this.destroyed.emit({chip:this}),this._chipRipple._removeTriggerEvents()}select(){this._selected||(this._selected=!0,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}deselect(){this._selected&&(this._selected=!1,this._dispatchSelectionChange(),this._changeDetectorRef.markForCheck())}selectViaInteraction(){this._selected||(this._selected=!0,this._dispatchSelectionChange(!0),this._changeDetectorRef.markForCheck())}toggleSelected(N=!1){return this._selected=!this.selected,this._dispatchSelectionChange(N),this._changeDetectorRef.markForCheck(),this.selected}focus(){this._hasFocus||(this._elementRef.nativeElement.focus(),this._onFocus.next({chip:this})),this._hasFocus=!0}remove(){this.removable&&this.removed.emit({chip:this})}_handleClick(N){this.disabled&&N.preventDefault()}_handleKeydown(N){if(!this.disabled)switch(N.keyCode){case e.yY:case e.ZH:this.remove(),N.preventDefault();break;case e.L_:this.selectable&&this.toggleSelected(!0),N.preventDefault()}}_blur(){this._ngZone.onStable.pipe((0,p.q)(1)).subscribe(()=>{this._ngZone.run(()=>{this._hasFocus=!1,this._onBlur.next({chip:this})})})}_dispatchSelectionChange(N=!1){this.selectionChange.emit({source:this,isUserInput:N,selected:this._selected})}}ue.\u0275fac=function(N){return new(N||ue)(t.Y36(t.SBq),t.Y36(t.R0b),t.Y36(s.t4),t.Y36(_.Y2,8),t.Y36(t.sBO),t.Y36(D.K0),t.Y36(t.QbO,8),t.$8M("tabindex"))},ue.\u0275dir=t.lG2({type:ue,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(N,F,J){if(1&N&&(t.Suo(J,re,5),t.Suo(J,pe,5),t.Suo(J,ae,5)),2&N){let Fe;t.iGM(Fe=t.CRH())&&(F.avatar=Fe.first),t.iGM(Fe=t.CRH())&&(F.trailingIcon=Fe.first),t.iGM(Fe=t.CRH())&&(F.removeIcon=Fe.first)}},hostAttrs:[1,"mat-chip","mat-focus-indicator"],hostVars:15,hostBindings:function(N,F){1&N&&t.NdJ("click",function(Fe){return F._handleClick(Fe)})("keydown",function(Fe){return F._handleKeydown(Fe)})("focus",function(){return F.focus()})("blur",function(){return F._blur()}),2&N&&(t.uIk("tabindex",F.disabled?null:F.tabIndex)("role",F.role)("disabled",F.disabled||null)("aria-disabled",F.disabled.toString())("aria-selected",F.ariaSelected),t.ekj("mat-chip-selected",F.selected)("mat-chip-with-avatar",F.avatar)("mat-chip-with-trailing-icon",F.trailingIcon||F.removeIcon)("mat-chip-disabled",F.disabled)("_mat-animation-noopable",F._animationsDisabled))},inputs:{color:"color",disableRipple:"disableRipple",tabIndex:"tabIndex",role:"role",selected:"selected",value:"value",selectable:"selectable",disabled:"disabled",removable:"removable"},outputs:{selectionChange:"selectionChange",destroyed:"destroyed",removed:"removed"},exportAs:["matChip"],features:[t.qOj]});class w{constructor(N,F){this._parentChip=N,"BUTTON"===F.nativeElement.nodeName&&F.nativeElement.setAttribute("type","button")}_handleClick(N){const F=this._parentChip;F.removable&&!F.disabled&&F.remove(),N.stopPropagation(),N.preventDefault()}}w.\u0275fac=function(N){return new(N||w)(t.Y36(ue),t.Y36(t.SBq))},w.\u0275dir=t.lG2({type:w,selectors:[["","matChipRemove",""]],hostAttrs:[1,"mat-chip-remove","mat-chip-trailing-icon"],hostBindings:function(N,F){1&N&&t.NdJ("click",function(Fe){return F._handleClick(Fe)})},features:[t._Bn([{provide:ae,useExisting:w}])]});const n=new t.OlP("mat-chips-default-options"),o=(0,_.FD)(class{constructor(C,N,F,J){this._defaultErrorStateMatcher=C,this._parentForm=N,this._parentFormGroup=F,this.ngControl=J,this.stateChanges=new u.x}});let h=0;class d{constructor(N,F){this.source=N,this.value=F}}class y extends o{constructor(N,F,J,Fe,ke,Ge,je){super(Ge,Fe,ke,je),this._elementRef=N,this._changeDetectorRef=F,this._dir=J,this.controlType="mat-chip-list",this._lastDestroyedChipIndex=null,this._destroyed=new u.x,this._uid="mat-chip-list-"+h++,this._tabIndex=0,this._userTabIndex=null,this._onTouched=()=>{},this._onChange=()=>{},this._multiple=!1,this._compareWith=(We,be)=>We===be,this._disabled=!1,this.ariaOrientation="horizontal",this._selectable=!0,this.change=new t.vpe,this.valueChange=new t.vpe,this.ngControl&&(this.ngControl.valueAccessor=this)}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get role(){return this._explicitRole?this._explicitRole:this.empty?null:"listbox"}set role(N){this._explicitRole=N}get multiple(){return this._multiple}set multiple(N){this._multiple=(0,E.Ig)(N),this._syncChipsState()}get compareWith(){return this._compareWith}set compareWith(N){this._compareWith=N,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(N){this.writeValue(N),this._value=N}get id(){return this._chipInput?this._chipInput.id:this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(I.kI.required)??!1}set required(N){this._required=(0,E.Ig)(N),this.stateChanges.next()}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(N){this._placeholder=N,this.stateChanges.next()}get focused(){return this._chipInput&&this._chipInput.focused||this._hasFocusedChip()}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this.chips||0===this.chips.length)}get shouldLabelFloat(){return!this.empty||this.focused}get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(N){this._disabled=(0,E.Ig)(N),this._syncChipsState()}get selectable(){return this._selectable}set selectable(N){this._selectable=(0,E.Ig)(N),this._syncChipsState()}set tabIndex(N){this._userTabIndex=N,this._tabIndex=N}get chipSelectionChanges(){return(0,k.T)(...this.chips.map(N=>N.selectionChange))}get chipFocusChanges(){return(0,k.T)(...this.chips.map(N=>N._onFocus))}get chipBlurChanges(){return(0,k.T)(...this.chips.map(N=>N._onBlur))}get chipRemoveChanges(){return(0,k.T)(...this.chips.map(N=>N.destroyed))}ngAfterContentInit(){this._keyManager=new P.Em(this.chips).withWrap().withVerticalOrientation().withHomeAndEnd().withHorizontalOrientation(this._dir?this._dir.value:"ltr"),this._dir&&this._dir.change.pipe((0,S.R)(this._destroyed)).subscribe(N=>this._keyManager.withHorizontalOrientation(N)),this._keyManager.tabOut.pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.chips.changes.pipe((0,A.O)(null),(0,S.R)(this._destroyed)).subscribe(()=>{(this.disabled||!this.selectable)&&Promise.resolve().then(()=>{this._syncChipsState()}),this._resetChips(),this._initializeSelection(),this._updateTabIndex(),this._updateFocusForDestroyedChips(),this.stateChanges.next()})}ngOnInit(){this._selectionModel=new z.Ov(this.multiple,void 0,!1),this.stateChanges.next()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==this._disabled&&(this.disabled=!!this.ngControl.disabled))}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this.stateChanges.complete(),this._dropSubscriptions()}registerInput(N){this._chipInput=N,this._elementRef.nativeElement.setAttribute("data-mat-chip-input",N.id)}setDescribedByIds(N){N.length?this._elementRef.nativeElement.setAttribute("aria-describedby",N.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(N){this.chips&&this._setSelectionByValue(N,!1)}registerOnChange(N){this._onChange=N}registerOnTouched(N){this._onTouched=N}setDisabledState(N){this.disabled=N,this.stateChanges.next()}onContainerClick(N){this._originatesFromChip(N)||this.focus()}focus(N){this.disabled||this._chipInput&&this._chipInput.focused||(this.chips.length>0?(this._keyManager.setFirstItemActive(),this.stateChanges.next()):(this._focusInput(N),this.stateChanges.next()))}_focusInput(N){this._chipInput&&this._chipInput.focus(N)}_keydown(N){const F=N.target;F&&F.classList.contains("mat-chip")&&(this._keyManager.onKeydown(N),this.stateChanges.next())}_updateTabIndex(){this._tabIndex=this._userTabIndex||(0===this.chips.length?-1:0)}_updateFocusForDestroyedChips(){if(null!=this._lastDestroyedChipIndex)if(this.chips.length){const N=Math.min(this._lastDestroyedChipIndex,this.chips.length-1);this._keyManager.setActiveItem(N)}else this.focus();this._lastDestroyedChipIndex=null}_isValidIndex(N){return N>=0&&NJ.deselect()),Array.isArray(N))N.forEach(J=>this._selectValue(J,F)),this._sortValues();else{const J=this._selectValue(N,F);J&&F&&this._keyManager.setActiveItem(J)}}_selectValue(N,F=!0){const J=this.chips.find(Fe=>null!=Fe.value&&this._compareWith(Fe.value,N));return J&&(F?J.selectViaInteraction():J.select(),this._selectionModel.select(J)),J}_initializeSelection(){Promise.resolve().then(()=>{(this.ngControl||this._value)&&(this._setSelectionByValue(this.ngControl?this.ngControl.value:this._value,!1),this.stateChanges.next())})}_clearSelection(N){this._selectionModel.clear(),this.chips.forEach(F=>{F!==N&&F.deselect()}),this.stateChanges.next()}_sortValues(){this._multiple&&(this._selectionModel.clear(),this.chips.forEach(N=>{N.selected&&this._selectionModel.select(N)}),this.stateChanges.next())}_propagateChanges(N){let F=null;F=Array.isArray(this.selected)?this.selected.map(J=>J.value):this.selected?this.selected.value:N,this._value=F,this.change.emit(new d(this,F)),this.valueChange.emit(F),this._onChange(F),this._changeDetectorRef.markForCheck()}_blur(){this._hasFocusedChip()||this._keyManager.setActiveItem(-1),this.disabled||(this._chipInput?setTimeout(()=>{this.focused||this._markAsTouched()}):this._markAsTouched())}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}_allowFocusEscape(){-1!==this._tabIndex&&(this._tabIndex=-1,setTimeout(()=>{this._tabIndex=this._userTabIndex||0,this._changeDetectorRef.markForCheck()}))}_resetChips(){this._dropSubscriptions(),this._listenToChipsFocus(),this._listenToChipsSelection(),this._listenToChipsRemoved()}_dropSubscriptions(){this._chipFocusSubscription&&(this._chipFocusSubscription.unsubscribe(),this._chipFocusSubscription=null),this._chipBlurSubscription&&(this._chipBlurSubscription.unsubscribe(),this._chipBlurSubscription=null),this._chipSelectionSubscription&&(this._chipSelectionSubscription.unsubscribe(),this._chipSelectionSubscription=null),this._chipRemoveSubscription&&(this._chipRemoveSubscription.unsubscribe(),this._chipRemoveSubscription=null)}_listenToChipsSelection(){this._chipSelectionSubscription=this.chipSelectionChanges.subscribe(N=>{N.source.selected?this._selectionModel.select(N.source):this._selectionModel.deselect(N.source),this.multiple||this.chips.forEach(F=>{!this._selectionModel.isSelected(F)&&F.selected&&F.deselect()}),N.isUserInput&&this._propagateChanges()})}_listenToChipsFocus(){this._chipFocusSubscription=this.chipFocusChanges.subscribe(N=>{let F=this.chips.toArray().indexOf(N.chip);this._isValidIndex(F)&&this._keyManager.updateActiveItem(F),this.stateChanges.next()}),this._chipBlurSubscription=this.chipBlurChanges.subscribe(()=>{this._blur(),this.stateChanges.next()})}_listenToChipsRemoved(){this._chipRemoveSubscription=this.chipRemoveChanges.subscribe(N=>{const F=N.chip,J=this.chips.toArray().indexOf(N.chip);this._isValidIndex(J)&&F._hasFocus&&(this._lastDestroyedChipIndex=J)})}_originatesFromChip(N){let F=N.target;for(;F&&F!==this._elementRef.nativeElement;){if(F.classList.contains("mat-chip"))return!0;F=F.parentElement}return!1}_hasFocusedChip(){return this.chips&&this.chips.some(N=>N._hasFocus)}_syncChipsState(){this.chips&&this.chips.forEach(N=>{N._chipListDisabled=this._disabled,N._chipListMultiple=this.multiple,N.chipListSelectable=this._selectable})}}y.\u0275fac=function(N){return new(N||y)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(M.Is,8),t.Y36(I.F,8),t.Y36(I.sg,8),t.Y36(_.rD),t.Y36(I.a5,10))},y.\u0275cmp=t.Xpm({type:y,selectors:[["mat-chip-list"]],contentQueries:function(N,F,J){if(1&N&&t.Suo(J,ue,5),2&N){let Fe;t.iGM(Fe=t.CRH())&&(F.chips=Fe)}},hostAttrs:[1,"mat-chip-list"],hostVars:14,hostBindings:function(N,F){1&N&&t.NdJ("focus",function(){return F.focus()})("blur",function(){return F._blur()})("keydown",function(Fe){return F._keydown(Fe)}),2&N&&(t.Ikx("id",F._uid),t.uIk("tabindex",F.disabled?null:F._tabIndex)("aria-required",F.role?F.required:null)("aria-disabled",F.disabled.toString())("aria-invalid",F.errorState)("aria-multiselectable",F.multiple)("role",F.role)("aria-orientation",F.ariaOrientation),t.ekj("mat-chip-list-disabled",F.disabled)("mat-chip-list-invalid",F.errorState)("mat-chip-list-required",F.required))},inputs:{role:"role",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],errorStateMatcher:"errorStateMatcher",multiple:"multiple",compareWith:"compareWith",value:"value",required:"required",placeholder:"placeholder",disabled:"disabled",ariaOrientation:["aria-orientation","ariaOrientation"],selectable:"selectable",tabIndex:"tabIndex"},outputs:{change:"change",valueChange:"valueChange"},exportAs:["matChipList"],features:[t._Bn([{provide:W.Eo,useExisting:y}]),t.qOj],ngContentSelectors:["*"],decls:2,vars:0,consts:[[1,"mat-chip-list-wrapper"]],template:function(N,F){1&N&&(t.F$t(),t.TgZ(0,"div",0),t.Hsn(1),t.qZA())},styles:['.mat-chip{position:relative;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none;-webkit-appearance:none;-moz-appearance:none}.mat-chip::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-standard-chip{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);display:inline-flex;padding:7px 12px;border-radius:16px;align-items:center;cursor:default;min-height:32px;height:1px}.mat-standard-chip._mat-animation-noopable{transition:none !important;animation:none !important}.mat-standard-chip .mat-chip-remove{border:none;-webkit-appearance:none;-moz-appearance:none;padding:0;background:none}.mat-standard-chip .mat-chip-remove.mat-icon,.mat-standard-chip .mat-chip-remove .mat-icon{width:18px;height:18px;font-size:18px}.mat-standard-chip::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;opacity:0;content:"";pointer-events:none;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-standard-chip:hover::after{opacity:.12}.mat-standard-chip:focus{outline:none}.mat-standard-chip:focus::after{opacity:.16}.cdk-high-contrast-active .mat-standard-chip{outline:solid 1px}.cdk-high-contrast-active .mat-standard-chip.mat-chip-selected{outline-width:3px}.mat-standard-chip.mat-chip-disabled::after{opacity:0}.mat-standard-chip.mat-chip-disabled .mat-chip-remove,.mat-standard-chip.mat-chip-disabled .mat-chip-trailing-icon{cursor:default}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar,.mat-standard-chip.mat-chip-with-avatar{padding-top:0;padding-bottom:0}.mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-right:8px;padding-left:0}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon.mat-chip-with-avatar{padding-left:8px;padding-right:0}.mat-standard-chip.mat-chip-with-trailing-icon{padding-top:7px;padding-bottom:7px;padding-right:8px;padding-left:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-trailing-icon{padding-left:8px;padding-right:12px}.mat-standard-chip.mat-chip-with-avatar{padding-left:0;padding-right:12px}[dir=rtl] .mat-standard-chip.mat-chip-with-avatar{padding-right:0;padding-left:12px}.mat-standard-chip .mat-chip-avatar{width:24px;height:24px;margin-right:8px;margin-left:4px}[dir=rtl] .mat-standard-chip .mat-chip-avatar{margin-left:8px;margin-right:4px}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{width:18px;height:18px;cursor:pointer}.mat-standard-chip .mat-chip-remove,.mat-standard-chip .mat-chip-trailing-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-standard-chip .mat-chip-remove,[dir=rtl] .mat-standard-chip .mat-chip-trailing-icon{margin-right:8px;margin-left:0}.mat-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit;overflow:hidden;transform:translateZ(0)}.mat-chip-list-wrapper{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:-4px}.mat-chip-list-wrapper input.mat-input-element,.mat-chip-list-wrapper .mat-standard-chip{margin:4px}.mat-chip-list-stacked .mat-chip-list-wrapper{flex-direction:column;align-items:flex-start}.mat-chip-list-stacked .mat-chip-list-wrapper .mat-standard-chip{width:100%}.mat-chip-avatar{border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden;object-fit:cover}input.mat-chip-input{width:150px;margin:4px;flex:1 0 150px}'],encapsulation:2,changeDetection:0});let L=0;class B{constructor(N,F){this._elementRef=N,this._defaultOptions=F,this.focused=!1,this._addOnBlur=!1,this.separatorKeyCodes=this._defaultOptions.separatorKeyCodes,this.chipEnd=new t.vpe,this.placeholder="",this.id="mat-chip-list-input-"+L++,this._disabled=!1,this.inputElement=this._elementRef.nativeElement}set chipList(N){N&&(this._chipList=N,this._chipList.registerInput(this))}get addOnBlur(){return this._addOnBlur}set addOnBlur(N){this._addOnBlur=(0,E.Ig)(N)}get disabled(){return this._disabled||this._chipList&&this._chipList.disabled}set disabled(N){this._disabled=(0,E.Ig)(N)}get empty(){return!this.inputElement.value}ngOnChanges(){this._chipList.stateChanges.next()}ngOnDestroy(){this.chipEnd.complete()}ngAfterContentInit(){this._focusLastChipOnBackspace=this.empty}_keydown(N){if(N){if(N.keyCode===e.Mf&&!(0,e.Vb)(N,"shiftKey")&&this._chipList._allowFocusEscape(),N.keyCode===e.ZH&&this._focusLastChipOnBackspace)return this._chipList._keyManager.setLastItemActive(),void N.preventDefault();this._focusLastChipOnBackspace=!1}this._emitChipEnd(N)}_keyup(N){!this._focusLastChipOnBackspace&&N.keyCode===e.ZH&&this.empty&&(this._focusLastChipOnBackspace=!0,N.preventDefault())}_blur(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipList.focused||this._chipList._blur(),this._chipList.stateChanges.next()}_focus(){this.focused=!0,this._focusLastChipOnBackspace=this.empty,this._chipList.stateChanges.next()}_emitChipEnd(N){!this.inputElement.value&&!!N&&this._chipList._keydown(N),(!N||this._isSeparatorKey(N))&&(this.chipEnd.emit({input:this.inputElement,value:this.inputElement.value,chipInput:this}),N?.preventDefault())}_onInput(){this._chipList.stateChanges.next()}focus(N){this.inputElement.focus(N)}clear(){this.inputElement.value="",this._focusLastChipOnBackspace=!0}_isSeparatorKey(N){return!(0,e.Vb)(N)&&new Set(this.separatorKeyCodes).has(N.keyCode)}}B.\u0275fac=function(N){return new(N||B)(t.Y36(t.SBq),t.Y36(n))},B.\u0275dir=t.lG2({type:B,selectors:[["input","matChipInputFor",""]],hostAttrs:[1,"mat-chip-input","mat-input-element"],hostVars:5,hostBindings:function(N,F){1&N&&t.NdJ("keydown",function(Fe){return F._keydown(Fe)})("keyup",function(Fe){return F._keyup(Fe)})("blur",function(){return F._blur()})("focus",function(){return F._focus()})("input",function(){return F._onInput()}),2&N&&(t.Ikx("id",F.id),t.uIk("disabled",F.disabled||null)("placeholder",F.placeholder||null)("aria-invalid",F._chipList&&F._chipList.ngControl?F._chipList.ngControl.invalid:null)("aria-required",F._chipList&&F._chipList.required||null))},inputs:{chipList:["matChipInputFor","chipList"],addOnBlur:["matChipInputAddOnBlur","addOnBlur"],separatorKeyCodes:["matChipInputSeparatorKeyCodes","separatorKeyCodes"],placeholder:"placeholder",id:"id",disabled:"disabled"},outputs:{chipEnd:"matChipInputTokenEnd"},exportAs:["matChipInput","matChipInputFor"],features:[t.TTD]});class a{}a.\u0275fac=function(N){return new(N||a)},a.\u0275mod=t.oAB({type:a}),a.\u0275inj=t.cJS({providers:[_.rD,{provide:n,useValue:{separatorKeyCodes:[e.K5]}}],imports:[_.BQ]})},207:(Ve,X,m)=>{"use strict";m.d(X,{yN:()=>j,mZ:()=>ae,_A:()=>B,rD:()=>Ge,sG:()=>v,Ad:()=>y,K7:()=>un,HF:()=>oe,Y2:()=>ee,BQ:()=>le,X2:()=>je,uc:()=>Ye,XK:()=>Fe,ey:()=>Gt,Ng:()=>tn,rN:()=>yn,nP:()=>Oe,us:()=>Re,wG:()=>H,si:()=>q,LF:()=>N,IR:()=>ne,CB:()=>In,jH:()=>an,pj:()=>w,Kr:()=>n,Id:()=>ue,FD:()=>h,dB:()=>d,sb:()=>o,E0:()=>We});var e=m(2560),t=m(4218),_=m(2867);new e.GfV("15.0.1");var s=m(4666),D=m(9107),u=m(8971),k=m(833),p=m(253),S=m(4874),A=m(8456);const P=["*",[["mat-option"],["ng-container"]]];function z(pn,nt){if(1&pn&&e._UZ(0,"mat-pseudo-checkbox",4),2&pn){const gt=e.oxw();e.Q6J("state",gt.selected?"checked":"unchecked")("disabled",gt.disabled)}}function I(pn,nt){if(1&pn&&(e.TgZ(0,"span",5),e._uU(1),e.qZA()),2&pn){const gt=e.oxw();e.xp6(1),e.hij("(",gt.group.label,")")}}new e.GfV("14.2.7");class j{}j.STANDARD_CURVE="cubic-bezier(0.4,0.0,0.2,1)",j.DECELERATION_CURVE="cubic-bezier(0.0,0.0,0.2,1)",j.ACCELERATION_CURVE="cubic-bezier(0.4,0.0,1,1)",j.SHARP_CURVE="cubic-bezier(0.4,0.0,0.6,1)";class ae{}ae.COMPLEX="375ms",ae.ENTERING="225ms",ae.EXITING="195ms";const pe=new e.OlP("mat-sanity-checks",{providedIn:"root",factory:function re(){return!0}});class le{constructor(nt,gt,At){this._sanityChecks=gt,this._document=At,this._hasDoneGlobalChecks=!1,nt._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(nt){return!(0,D.Oy)()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[nt])}}function ue(pn){return class extends pn{constructor(...nt){super(...nt),this._disabled=!1}get disabled(){return this._disabled}set disabled(nt){this._disabled=(0,u.Ig)(nt)}}}function w(pn,nt){return class extends pn{constructor(...gt){super(...gt),this.defaultColor=nt,this.color=nt}get color(){return this._color}set color(gt){const At=gt||this.defaultColor;At!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),At&&this._elementRef.nativeElement.classList.add(`mat-${At}`),this._color=At)}}}function n(pn){return class extends pn{constructor(...nt){super(...nt),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(nt){this._disableRipple=(0,u.Ig)(nt)}}}function o(pn,nt=0){return class extends pn{constructor(...gt){super(...gt),this._tabIndex=nt,this.defaultTabIndex=nt}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(gt){this._tabIndex=null!=gt?(0,u.su)(gt):this.defaultTabIndex}}}function h(pn){return class extends pn{constructor(...nt){super(...nt),this.errorState=!1}updateErrorState(){const nt=this.errorState,gt=this._parentFormGroup||this._parentForm,At=this.errorStateMatcher||this._defaultErrorStateMatcher,we=this.ngControl?this.ngControl.control:null,Y=At.isErrorState(we,gt);Y!==nt&&(this.errorState=Y,this.stateChanges.next())}}}function d(pn){return class extends pn{constructor(...nt){super(...nt),this._isInitialized=!1,this._pendingSubscribers=[],this.initialized=new k.y(gt=>{this._isInitialized?this._notifySubscriber(gt):this._pendingSubscribers.push(gt)})}_markInitialized(){this._isInitialized,this._isInitialized=!0,this._pendingSubscribers.forEach(this._notifySubscriber),this._pendingSubscribers=null}_notifySubscriber(nt){nt.next(),nt.complete()}}}le.\u0275fac=function(nt){return new(nt||le)(e.LFG(t.qm),e.LFG(pe,8),e.LFG(s.K0))},le.\u0275mod=e.oAB({type:le}),le.\u0275inj=e.cJS({imports:[_.vT,_.vT]});const y=new e.OlP("MAT_DATE_LOCALE",{providedIn:"root",factory:function L(){return(0,e.f3M)(e.soG)}});class B{constructor(){this._localeChanges=new p.x,this.localeChanges=this._localeChanges}getValidDateOrNull(nt){return this.isDateInstance(nt)&&this.isValid(nt)?nt:null}deserialize(nt){return null==nt||this.isDateInstance(nt)&&this.isValid(nt)?nt:this.invalid()}setLocale(nt){this.locale=nt,this._localeChanges.next()}compareDate(nt,gt){return this.getYear(nt)-this.getYear(gt)||this.getMonth(nt)-this.getMonth(gt)||this.getDate(nt)-this.getDate(gt)}sameDate(nt,gt){if(nt&>){let At=this.isValid(nt),we=this.isValid(gt);return At&&we?!this.compareDate(nt,gt):At==we}return nt==gt}clampDate(nt,gt,At){return gt&&this.compareDate(nt,gt)<0?gt:At&&this.compareDate(nt,At)>0?At:nt}}const v=new e.OlP("mat-date-formats"),a=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;function C(pn,nt){const gt=Array(pn);for(let At=0;Atthis._format(gt,new Date(2017,At,1)))}getDateNames(){const nt=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return C(31,gt=>this._format(nt,new Date(2017,0,gt+1)))}getDayOfWeekNames(nt){const gt=new Intl.DateTimeFormat(this.locale,{weekday:nt,timeZone:"utc"});return C(7,At=>this._format(gt,new Date(2017,0,At+1)))}getYearName(nt){const gt=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._format(gt,nt)}getFirstDayOfWeek(){return 0}getNumDaysInMonth(nt){return this.getDate(this._createDateWithOverflow(this.getYear(nt),this.getMonth(nt)+1,0))}clone(nt){return new Date(nt.getTime())}createDate(nt,gt,At){let we=this._createDateWithOverflow(nt,gt,At);return we.getMonth(),we}today(){return new Date}parse(nt,gt){return"number"==typeof nt?new Date(nt):nt?new Date(Date.parse(nt)):null}format(nt,gt){if(!this.isValid(nt))throw Error("NativeDateAdapter: Cannot format invalid date.");const At=new Intl.DateTimeFormat(this.locale,{...gt,timeZone:"utc"});return this._format(At,nt)}addCalendarYears(nt,gt){return this.addCalendarMonths(nt,12*gt)}addCalendarMonths(nt,gt){let At=this._createDateWithOverflow(this.getYear(nt),this.getMonth(nt)+gt,this.getDate(nt));return this.getMonth(At)!=((this.getMonth(nt)+gt)%12+12)%12&&(At=this._createDateWithOverflow(this.getYear(At),this.getMonth(At),0)),At}addCalendarDays(nt,gt){return this._createDateWithOverflow(this.getYear(nt),this.getMonth(nt),this.getDate(nt)+gt)}toIso8601(nt){return[nt.getUTCFullYear(),this._2digit(nt.getUTCMonth()+1),this._2digit(nt.getUTCDate())].join("-")}deserialize(nt){if("string"==typeof nt){if(!nt)return null;if(a.test(nt)){let gt=new Date(nt);if(this.isValid(gt))return gt}}return super.deserialize(nt)}isDateInstance(nt){return nt instanceof Date}isValid(nt){return!isNaN(nt.getTime())}invalid(){return new Date(NaN)}_createDateWithOverflow(nt,gt,At){const we=new Date;return we.setFullYear(nt,gt,At),we.setHours(0,0,0,0),we}_2digit(nt){return("00"+nt).slice(-2)}_format(nt,gt){const At=new Date;return At.setUTCFullYear(gt.getFullYear(),gt.getMonth(),gt.getDate()),At.setUTCHours(gt.getHours(),gt.getMinutes(),gt.getSeconds(),gt.getMilliseconds()),nt.format(At)}}N.\u0275fac=function(nt){return new(nt||N)(e.LFG(y,8),e.LFG(D.t4))},N.\u0275prov=e.Yz7({token:N,factory:N.\u0275fac});class J{}J.\u0275fac=function(nt){return new(nt||J)},J.\u0275mod=e.oAB({type:J}),J.\u0275inj=e.cJS({providers:[{provide:B,useClass:N}]});class Fe{}Fe.\u0275fac=function(nt){return new(nt||Fe)},Fe.\u0275mod=e.oAB({type:Fe}),Fe.\u0275inj=e.cJS({providers:[{provide:v,useValue:{parse:{dateInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"}}}}],imports:[J]});class ke{isErrorState(nt,gt){return!!(nt&&nt.invalid&&(nt.dirty||gt&>.submitted))}}ke.\u0275fac=function(nt){return new(nt||ke)},ke.\u0275prov=e.Yz7({token:ke,factory:ke.\u0275fac});class Ge{isErrorState(nt,gt){return!!(nt&&nt.invalid&&(nt.touched||gt&>.submitted))}}Ge.\u0275fac=function(nt){return new(nt||Ge)},Ge.\u0275prov=e.Yz7({token:Ge,factory:Ge.\u0275fac,providedIn:"root"});class je{}function We(pn,nt,gt="mat"){pn.changes.pipe((0,S.O)(pn)).subscribe(({length:At})=>{be(nt,`${gt}-2-line`,!1),be(nt,`${gt}-3-line`,!1),be(nt,`${gt}-multi-line`,!1),2===At||3===At?be(nt,`${gt}-${At}-line`,!0):At>3&&be(nt,`${gt}-multi-line`,!0)})}function be(pn,nt,gt){pn.nativeElement.classList.toggle(nt,gt)}je.\u0275fac=function(nt){return new(nt||je)},je.\u0275dir=e.lG2({type:je,selectors:[["","mat-line",""],["","matLine",""]],hostAttrs:[1,"mat-line"]});class Ye{}Ye.\u0275fac=function(nt){return new(nt||Ye)},Ye.\u0275mod=e.oAB({type:Ye}),Ye.\u0275inj=e.cJS({imports:[le,le]});class Ie{constructor(nt,gt,At,we=!1){this._renderer=nt,this.element=gt,this.config=At,this._animationForciblyDisabledThroughCss=we,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const ge={enterDuration:225,exitDuration:150},ut=(0,D.i$)({passive:!0}),Le=["mousedown","touchstart"],De=["mouseup","mouseleave","touchend","touchcancel"];class ne{constructor(nt,gt,At,we){this._target=nt,this._ngZone=gt,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,we.isBrowser&&(this._containerElement=(0,u.fI)(At))}fadeInRipple(nt,gt,At={}){const we=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),Y={...ge,...At.animation};At.centered&&(nt=we.left+we.width/2,gt=we.top+we.height/2);const te=At.radius||function fe(pn,nt,gt){const At=Math.max(Math.abs(pn-gt.left),Math.abs(pn-gt.right)),we=Math.max(Math.abs(nt-gt.top),Math.abs(nt-gt.bottom));return Math.sqrt(At*At+we*we)}(nt,gt,we),xe=nt-we.left,ze=gt-we.top,_t=Y.enterDuration,ct=document.createElement("div");ct.classList.add("mat-ripple-element"),ct.style.left=xe-te+"px",ct.style.top=ze-te+"px",ct.style.height=2*te+"px",ct.style.width=2*te+"px",null!=At.color&&(ct.style.backgroundColor=At.color),ct.style.transitionDuration=`${_t}ms`,this._containerElement.appendChild(ct);const Ue=window.getComputedStyle(ct),Me=Ue.transitionProperty,Ce=Ue.transitionDuration,Je="none"===Me||"0s"===Ce||"0s, 0s"===Ce,Ut=new Ie(this,ct,At,Je);ct.style.transform="scale3d(1, 1, 1)",Ut.state=0,At.persistent||(this._mostRecentTransientRipple=Ut);let Dt=null;return!Je&&(_t||Y.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const Tt=()=>this._finishRippleTransition(Ut),Ht=()=>this._destroyRipple(Ut);ct.addEventListener("transitionend",Tt),ct.addEventListener("transitioncancel",Ht),Dt={onTransitionEnd:Tt,onTransitionCancel:Ht}}),this._activeRipples.set(Ut,Dt),(Je||!_t)&&this._finishRippleTransition(Ut),Ut}fadeOutRipple(nt){if(2===nt.state||3===nt.state)return;const gt=nt.element,At={...ge,...nt.config.animation};gt.style.transitionDuration=`${At.exitDuration}ms`,gt.style.opacity="0",nt.state=2,(nt._animationForciblyDisabledThroughCss||!At.exitDuration)&&this._finishRippleTransition(nt)}fadeOutAll(){this._getActiveRipples().forEach(nt=>nt.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(nt=>{nt.config.persistent||nt.fadeOut()})}setupTriggerEvents(nt){const gt=(0,u.fI)(nt);!gt||gt===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=gt,this._registerEvents(Le))}handleEvent(nt){"mousedown"===nt.type?this._onMousedown(nt):"touchstart"===nt.type?this._onTouchStart(nt):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(De),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(nt){0===nt.state?this._startFadeOutTransition(nt):2===nt.state&&this._destroyRipple(nt)}_startFadeOutTransition(nt){const gt=nt===this._mostRecentTransientRipple,{persistent:At}=nt.config;nt.state=1,!At&&(!gt||!this._isPointerDown)&&nt.fadeOut()}_destroyRipple(nt){const gt=this._activeRipples.get(nt)??null;this._activeRipples.delete(nt),this._activeRipples.size||(this._containerRect=null),nt===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),nt.state=3,null!==gt&&(nt.element.removeEventListener("transitionend",gt.onTransitionEnd),nt.element.removeEventListener("transitioncancel",gt.onTransitionCancel)),nt.element.remove()}_onMousedown(nt){const gt=(0,t.X6)(nt),At=this._lastTouchStartEvent&&Date.now(){const gt=1===nt.state||nt.config.terminateOnPointerUp&&0===nt.state;!nt.config.persistent&>&&nt.fadeOut()}))}_registerEvents(nt){this._ngZone.runOutsideAngular(()=>{nt.forEach(gt=>{this._triggerElement.addEventListener(gt,this,ut)})})}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){this._triggerElement&&(Le.forEach(nt=>{this._triggerElement.removeEventListener(nt,this,ut)}),this._pointerUpEventsRegistered&&De.forEach(nt=>{this._triggerElement.removeEventListener(nt,this,ut)}))}}const ee=new e.OlP("mat-ripple-global-options");class H{constructor(nt,gt,At,we,Y){this._elementRef=nt,this._animationMode=Y,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=we||{},this._rippleRenderer=new ne(this,gt,nt,At)}get disabled(){return this._disabled}set disabled(nt){nt&&this.fadeOutAllNonPersistent(),this._disabled=nt,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(nt){this._trigger=nt,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(nt,gt=0,At){return"number"==typeof nt?this._rippleRenderer.fadeInRipple(nt,gt,{...this.rippleConfig,...At}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...nt})}}H.\u0275fac=function(nt){return new(nt||H)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(D.t4),e.Y36(ee,8),e.Y36(e.QbO,8))},H.\u0275dir=e.lG2({type:H,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(nt,gt){2&nt&&e.ekj("mat-ripple-unbounded",gt.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]});class q{}q.\u0275fac=function(nt){return new(nt||q)},q.\u0275mod=e.oAB({type:q}),q.\u0275inj=e.cJS({imports:[le,le]});class Oe{constructor(nt){this._animationMode=nt,this.state="unchecked",this.disabled=!1}}Oe.\u0275fac=function(nt){return new(nt||Oe)(e.Y36(e.QbO,8))},Oe.\u0275cmp=e.Xpm({type:Oe,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(nt,gt){2&nt&&e.ekj("mat-pseudo-checkbox-indeterminate","indeterminate"===gt.state)("mat-pseudo-checkbox-checked","checked"===gt.state)("mat-pseudo-checkbox-disabled",gt.disabled)("_mat-animation-noopable","NoopAnimations"===gt._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(nt,gt){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}'],encapsulation:2,changeDetection:0});class Re{}Re.\u0275fac=function(nt){return new(nt||Re)},Re.\u0275mod=e.oAB({type:Re}),Re.\u0275inj=e.cJS({imports:[le]});const oe=new e.OlP("MAT_OPTION_PARENT_COMPONENT"),pt=ue(class{});let it=0;class Ct extends pt{constructor(nt){super(),this._labelId="mat-optgroup-label-"+it++,this._inert=nt?.inertGroups??!1}}Ct.\u0275fac=function(nt){return new(nt||Ct)(e.Y36(oe,8))},Ct.\u0275dir=e.lG2({type:Ct,inputs:{label:"label"},features:[e.qOj]});const un=new e.OlP("MatOptgroup");class Nt extends Ct{}Nt.\u0275fac=function(){let pn;return function(gt){return(pn||(pn=e.n5z(Nt)))(gt||Nt)}}(),Nt.\u0275cmp=e.Xpm({type:Nt,selectors:[["mat-optgroup"]],hostAttrs:[1,"mat-optgroup"],hostVars:5,hostBindings:function(nt,gt){2&nt&&(e.uIk("role",gt._inert?null:"group")("aria-disabled",gt._inert?null:gt.disabled.toString())("aria-labelledby",gt._inert?null:gt._labelId),e.ekj("mat-optgroup-disabled",gt.disabled))},inputs:{disabled:"disabled"},exportAs:["matOptgroup"],features:[e._Bn([{provide:un,useExisting:Nt}]),e.qOj],ngContentSelectors:["*","mat-option, ng-container"],decls:4,vars:2,consts:[["aria-hidden","true",1,"mat-optgroup-label",3,"id"]],template:function(nt,gt){1&nt&&(e.F$t(P),e.TgZ(0,"span",0),e._uU(1),e.Hsn(2),e.qZA(),e.Hsn(3,1)),2&nt&&(e.Q6J("id",gt._labelId),e.xp6(1),e.hij("",gt.label," "))},styles:[".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"],encapsulation:2,changeDetection:0});let zt=0;class yn{constructor(nt,gt=!1){this.source=nt,this.isUserInput=gt}}class Jt{constructor(nt,gt,At,we){this._element=nt,this._changeDetectorRef=gt,this._parent=At,this.group=we,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+zt++,this.onSelectionChange=new e.vpe,this._stateChanges=new p.x}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(nt){this._disabled=(0,u.Ig)(nt)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._getHostElement().textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(nt,gt){const At=this._getHostElement();"function"==typeof At.focus&&At.focus(gt)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(nt){(nt.keyCode===A.K5||nt.keyCode===A.L_)&&!(0,A.Vb)(nt)&&(this._selectViaInteraction(),nt.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const nt=this.viewValue;nt!==this._mostRecentViewValue&&(this._mostRecentViewValue=nt,this._stateChanges.next())}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(nt=!1){this.onSelectionChange.emit(new yn(this,nt))}}Jt.\u0275fac=function(nt){e.$Z()},Jt.\u0275dir=e.lG2({type:Jt,inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}});class Gt extends Jt{constructor(nt,gt,At,we){super(nt,gt,At,we)}}function In(pn,nt,gt){if(gt.length){let At=nt.toArray(),we=gt.toArray(),Y=0;for(let te=0;tegt+At?Math.max(0,pn-At+nt):gt}Gt.\u0275fac=function(nt){return new(nt||Gt)(e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(oe,8),e.Y36(un,8))},Gt.\u0275cmp=e.Xpm({type:Gt,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(nt,gt){1&nt&&e.NdJ("click",function(){return gt._selectViaInteraction()})("keydown",function(we){return gt._handleKeydown(we)}),2&nt&&(e.Ikx("id",gt.id),e.uIk("tabindex",gt._getTabIndex())("aria-selected",gt._getAriaSelected())("aria-disabled",gt.disabled.toString()),e.ekj("mat-selected",gt.selected)("mat-option-multiple",gt.multiple)("mat-active",gt.active)("mat-option-disabled",gt.disabled))},exportAs:["matOption"],features:[e.qOj],ngContentSelectors:["*"],decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(nt,gt){1&nt&&(e.F$t(),e.YNc(0,z,1,2,"mat-pseudo-checkbox",0),e.TgZ(1,"span",1),e.Hsn(2),e.qZA(),e.YNc(3,I,2,1,"span",2),e._UZ(4,"div",3)),2&nt&&(e.Q6J("ngIf",gt.multiple),e.xp6(3),e.Q6J("ngIf",gt.group&>.group._inert),e.xp6(1),e.Q6J("matRippleTrigger",gt._getHostElement())("matRippleDisabled",gt.disabled||gt.disableRipple))},dependencies:[H,s.O5,Oe],styles:['.mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.mat-option.mat-active::before{content:""}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.cdk-high-contrast-active .mat-option.mat-selected:not(.mat-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-option.mat-selected:not(.mat-option-multiple)::after{right:auto;left:16px}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}'],encapsulation:2,changeDetection:0});class tn{}tn.\u0275fac=function(nt){return new(nt||tn)},tn.\u0275mod=e.oAB({type:tn}),tn.\u0275inj=e.cJS({imports:[q,s.ez,le,Re]})},2298:(Ve,X,m)=>{"use strict";m.d(X,{FA:()=>Be,Mq:()=>ct,hl:()=>Dt,nW:()=>Ht});var e=m(4218),t=m(5895),_=m(7520),E=m(4666),s=m(2560),D=m(4522),u=m(1494),k=m(207),p=m(253),S=m(7714),A=m(6646),P=m(745),M=m(8456),z=m(2867),I=m(9295),W=m(4874),Z=m(116),j=m(8971),ae=m(9107),re=m(4851),pe=m(2508),le=m(5074),ve=m(1267);function $(ht,se){if(1&ht&&(s.TgZ(0,"tr",2)(1,"td",3),s._uU(2),s.qZA()()),2&ht){const Ae=s.oxw();s.xp6(1),s.Udp("padding-top",Ae._cellPadding)("padding-bottom",Ae._cellPadding),s.uIk("colspan",Ae.numCols),s.xp6(1),s.hij(" ",Ae.label," ")}}function ue(ht,se){if(1&ht&&(s.TgZ(0,"td",3),s._uU(1),s.qZA()),2&ht){const Ae=s.oxw(2);s.Udp("padding-top",Ae._cellPadding)("padding-bottom",Ae._cellPadding),s.uIk("colspan",Ae._firstRowOffset),s.xp6(1),s.hij(" ",Ae._firstRowOffset>=Ae.labelMinRequiredCells?Ae.label:""," ")}}function w(ht,se){if(1&ht){const Ae=s.EpF();s.TgZ(0,"td",7)(1,"button",8),s.NdJ("click",function(Lt){const Bn=s.CHM(Ae).$implicit,Wn=s.oxw(2);return s.KtG(Wn._cellClicked(Bn,Lt))})("focus",function(Lt){const Bn=s.CHM(Ae).$implicit,Wn=s.oxw(2);return s.KtG(Wn._emitActiveDateChange(Bn,Lt))}),s.TgZ(2,"div",9),s._uU(3),s.qZA(),s._UZ(4,"div",10),s.qZA()()}if(2&ht){const Ae=se.$implicit,ft=se.index,Lt=s.oxw().index,nn=s.oxw();s.Udp("width",nn._cellWidth)("padding-top",nn._cellPadding)("padding-bottom",nn._cellPadding),s.uIk("data-mat-row",Lt)("data-mat-col",ft),s.xp6(1),s.ekj("mat-calendar-body-disabled",!Ae.enabled)("mat-calendar-body-active",nn._isActiveCell(Lt,ft))("mat-calendar-body-range-start",nn._isRangeStart(Ae.compareValue))("mat-calendar-body-range-end",nn._isRangeEnd(Ae.compareValue))("mat-calendar-body-in-range",nn._isInRange(Ae.compareValue))("mat-calendar-body-comparison-bridge-start",nn._isComparisonBridgeStart(Ae.compareValue,Lt,ft))("mat-calendar-body-comparison-bridge-end",nn._isComparisonBridgeEnd(Ae.compareValue,Lt,ft))("mat-calendar-body-comparison-start",nn._isComparisonStart(Ae.compareValue))("mat-calendar-body-comparison-end",nn._isComparisonEnd(Ae.compareValue))("mat-calendar-body-in-comparison-range",nn._isInComparisonRange(Ae.compareValue))("mat-calendar-body-preview-start",nn._isPreviewStart(Ae.compareValue))("mat-calendar-body-preview-end",nn._isPreviewEnd(Ae.compareValue))("mat-calendar-body-in-preview",nn._isInPreview(Ae.compareValue)),s.Q6J("ngClass",Ae.cssClasses)("tabindex",nn._isActiveCell(Lt,ft)?0:-1),s.uIk("aria-label",Ae.ariaLabel)("aria-disabled",!Ae.enabled||null)("aria-pressed",nn._isSelected(Ae.compareValue))("aria-current",nn.todayValue===Ae.compareValue?"date":null),s.xp6(1),s.ekj("mat-calendar-body-selected",nn._isSelected(Ae.compareValue))("mat-calendar-body-comparison-identical",nn._isComparisonIdentical(Ae.compareValue))("mat-calendar-body-today",nn.todayValue===Ae.compareValue),s.xp6(1),s.hij(" ",Ae.displayValue," ")}}function n(ht,se){if(1&ht&&(s.TgZ(0,"tr",4),s.YNc(1,ue,2,6,"td",5),s.YNc(2,w,5,47,"td",6),s.qZA()),2&ht){const Ae=se.$implicit,ft=se.index,Lt=s.oxw();s.xp6(1),s.Q6J("ngIf",0===ft&&Lt._firstRowOffset),s.xp6(1),s.Q6J("ngForOf",Ae)}}function o(ht,se){if(1&ht&&(s.TgZ(0,"th",5)(1,"span",6),s._uU(2),s.qZA(),s.TgZ(3,"span",7),s._uU(4),s.qZA()()),2&ht){const Ae=se.$implicit;s.xp6(2),s.Oqu(Ae.long),s.xp6(2),s.Oqu(Ae.narrow)}}const h=["*"];function d(ht,se){}function y(ht,se){if(1&ht){const Ae=s.EpF();s.TgZ(0,"mat-month-view",5),s.NdJ("activeDateChange",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("_userSelection",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn._dateSelected(Lt))}),s.qZA()}if(2&ht){const Ae=s.oxw();s.Q6J("activeDate",Ae.activeDate)("selected",Ae.selected)("dateFilter",Ae.dateFilter)("maxDate",Ae.maxDate)("minDate",Ae.minDate)("dateClass",Ae.dateClass)("comparisonStart",Ae.comparisonStart)("comparisonEnd",Ae.comparisonEnd)}}function L(ht,se){if(1&ht){const Ae=s.EpF();s.TgZ(0,"mat-year-view",6),s.NdJ("activeDateChange",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("monthSelected",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn._monthSelectedInYearView(Lt))})("selectedChange",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn._goToDateInView(Lt,"month"))}),s.qZA()}if(2&ht){const Ae=s.oxw();s.Q6J("activeDate",Ae.activeDate)("selected",Ae.selected)("dateFilter",Ae.dateFilter)("maxDate",Ae.maxDate)("minDate",Ae.minDate)("dateClass",Ae.dateClass)}}function B(ht,se){if(1&ht){const Ae=s.EpF();s.TgZ(0,"mat-multi-year-view",7),s.NdJ("activeDateChange",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn.activeDate=Lt)})("yearSelected",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn._yearSelectedInMultiYearView(Lt))})("selectedChange",function(Lt){s.CHM(Ae);const nn=s.oxw();return s.KtG(nn._goToDateInView(Lt,"year"))}),s.qZA()}if(2&ht){const Ae=s.oxw();s.Q6J("activeDate",Ae.activeDate)("selected",Ae.selected)("dateFilter",Ae.dateFilter)("maxDate",Ae.maxDate)("minDate",Ae.minDate)("dateClass",Ae.dateClass)}}function v(ht,se){}const a=["button"];function C(ht,se){1&ht&&(s.O4$(),s.TgZ(0,"svg",3),s._UZ(1,"path",4),s.qZA())}const N=[[["","matDatepickerToggleIcon",""]]],J=[[["input","matStartDate",""]],[["input","matEndDate",""]]];function ke(ht,se){1&ht&&(s.TgZ(0,"div",0),s.Hsn(1),s.qZA())}class je{constructor(){this.changes=new p.x,this.calendarLabel="Calendar",this.openCalendarLabel="Open calendar",this.closeCalendarLabel="Close calendar",this.prevMonthLabel="Previous month",this.nextMonthLabel="Next month",this.prevYearLabel="Previous year",this.nextYearLabel="Next year",this.prevMultiYearLabel="Previous 24 years",this.nextMultiYearLabel="Next 24 years",this.switchToMonthViewLabel="Choose date",this.switchToMultiYearViewLabel="Choose month and year",this.startDateLabel="Start date",this.endDateLabel="End date"}formatYearRange(se,Ae){return`${se} \u2013 ${Ae}`}formatYearRangeLabel(se,Ae){return`${se} to ${Ae}`}}je.\u0275fac=function(se){return new(se||je)},je.\u0275prov=s.Yz7({token:je,factory:je.\u0275fac,providedIn:"root"});class We{constructor(se,Ae,ft,Lt,nn={},Bn=se,Wn){this.value=se,this.displayValue=Ae,this.ariaLabel=ft,this.enabled=Lt,this.cssClasses=nn,this.compareValue=Bn,this.rawValue=Wn}}class be{constructor(se,Ae){this._elementRef=se,this._ngZone=Ae,this._focusActiveCellAfterViewChecked=!1,this.numCols=7,this.activeCell=0,this.isRange=!1,this.cellAspectRatio=1,this.previewStart=null,this.previewEnd=null,this.selectedValueChange=new s.vpe,this.previewChange=new s.vpe,this.activeDateChange=new s.vpe,this._enterHandler=ft=>{if(this._skipNextFocus&&"focus"===ft.type)this._skipNextFocus=!1;else if(ft.target&&this.isRange){const Lt=this._getCellFromElement(ft.target);Lt&&this._ngZone.run(()=>this.previewChange.emit({value:Lt.enabled?Lt:null,event:ft}))}},this._leaveHandler=ft=>{null!==this.previewEnd&&this.isRange&&ft.target&&this._getCellFromElement(ft.target)&&this._ngZone.run(()=>this.previewChange.emit({value:null,event:ft}))},Ae.runOutsideAngular(()=>{const ft=se.nativeElement;ft.addEventListener("mouseenter",this._enterHandler,!0),ft.addEventListener("focus",this._enterHandler,!0),ft.addEventListener("mouseleave",this._leaveHandler,!0),ft.addEventListener("blur",this._leaveHandler,!0)})}ngAfterViewChecked(){this._focusActiveCellAfterViewChecked&&(this._focusActiveCell(),this._focusActiveCellAfterViewChecked=!1)}_cellClicked(se,Ae){se.enabled&&this.selectedValueChange.emit({value:se.value,event:Ae})}_emitActiveDateChange(se,Ae){se.enabled&&this.activeDateChange.emit({value:se.value,event:Ae})}_isSelected(se){return this.startValue===se||this.endValue===se}ngOnChanges(se){const Ae=se.numCols,{rows:ft,numCols:Lt}=this;(se.rows||Ae)&&(this._firstRowOffset=ft&&ft.length&&ft[0].length?Lt-ft[0].length:0),(se.cellAspectRatio||Ae||!this._cellPadding)&&(this._cellPadding=50*this.cellAspectRatio/Lt+"%"),(Ae||!this._cellWidth)&&(this._cellWidth=100/Lt+"%")}ngOnDestroy(){const se=this._elementRef.nativeElement;se.removeEventListener("mouseenter",this._enterHandler,!0),se.removeEventListener("focus",this._enterHandler,!0),se.removeEventListener("mouseleave",this._leaveHandler,!0),se.removeEventListener("blur",this._leaveHandler,!0)}_isActiveCell(se,Ae){let ft=se*this.numCols+Ae;return se&&(ft-=this._firstRowOffset),ft==this.activeCell}_focusActiveCell(se=!0){this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,I.q)(1)).subscribe(()=>{setTimeout(()=>{const Ae=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");Ae&&(se||(this._skipNextFocus=!0),Ae.focus())})})})}_scheduleFocusActiveCellAfterViewChecked(){this._focusActiveCellAfterViewChecked=!0}_isRangeStart(se){return Ie(se,this.startValue,this.endValue)}_isRangeEnd(se){return ge(se,this.startValue,this.endValue)}_isInRange(se){return et(se,this.startValue,this.endValue,this.isRange)}_isComparisonStart(se){return Ie(se,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(se,Ae,ft){if(!this._isComparisonStart(se)||this._isRangeStart(se)||!this._isInRange(se))return!1;let Lt=this.rows[Ae][ft-1];if(!Lt){const nn=this.rows[Ae-1];Lt=nn&&nn[nn.length-1]}return Lt&&!this._isRangeEnd(Lt.compareValue)}_isComparisonBridgeEnd(se,Ae,ft){if(!this._isComparisonEnd(se)||this._isRangeEnd(se)||!this._isInRange(se))return!1;let Lt=this.rows[Ae][ft+1];if(!Lt){const nn=this.rows[Ae+1];Lt=nn&&nn[0]}return Lt&&!this._isRangeStart(Lt.compareValue)}_isComparisonEnd(se){return ge(se,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(se){return et(se,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(se){return this.comparisonStart===this.comparisonEnd&&se===this.comparisonStart}_isPreviewStart(se){return Ie(se,this.previewStart,this.previewEnd)}_isPreviewEnd(se){return ge(se,this.previewStart,this.previewEnd)}_isInPreview(se){return et(se,this.previewStart,this.previewEnd,this.isRange)}_getCellFromElement(se){let Ae;if(Ye(se)?Ae=se:Ye(se.parentNode)&&(Ae=se.parentNode),Ae){const ft=Ae.getAttribute("data-mat-row"),Lt=Ae.getAttribute("data-mat-col");if(ft&&Lt)return this.rows[parseInt(ft)][parseInt(Lt)]}return null}}function Ye(ht){return"TD"===ht.nodeName}function Ie(ht,se,Ae){return null!==Ae&&se!==Ae&&ht=se&&ht===Ae}function et(ht,se,Ae,ft){return ft&&null!==se&&null!==Ae&&se!==Ae&&ht>=se&&ht<=Ae}be.\u0275fac=function(se){return new(se||be)(s.Y36(s.SBq),s.Y36(s.R0b))},be.\u0275cmp=s.Xpm({type:be,selectors:[["","mat-calendar-body",""]],hostAttrs:[1,"mat-calendar-body"],inputs:{label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",previewStart:"previewStart",previewEnd:"previewEnd"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange",activeDateChange:"activeDateChange"},exportAs:["matCalendarBody"],features:[s.TTD],attrs:["mat-calendar-body",""],decls:2,vars:2,consts:[["aria-hidden","true",4,"ngIf"],["role","row",4,"ngFor","ngForOf"],["aria-hidden","true"],[1,"mat-calendar-body-label"],["role","row"],["class","mat-calendar-body-label",3,"paddingTop","paddingBottom",4,"ngIf"],["role","gridcell","class","mat-calendar-body-cell-container",3,"width","paddingTop","paddingBottom",4,"ngFor","ngForOf"],["role","gridcell",1,"mat-calendar-body-cell-container"],["type","button",1,"mat-calendar-body-cell",3,"ngClass","tabindex","click","focus"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],["aria-hidden","true",1,"mat-calendar-body-cell-preview"]],template:function(se,Ae){1&se&&(s.YNc(0,$,3,6,"tr",0),s.YNc(1,n,3,2,"tr",1)),2&se&&(s.Q6J("ngIf",Ae._firstRowOffset=0?Lt=se:(ft=se,Lt=null),new ut(ft,Lt)}createPreview(se,Ae){let ft=null,Lt=null;return Ae.start&&!Ae.end&&se&&(ft=Ae.start,Lt=se),new ut(ft,Lt)}}Re.\u0275fac=function(se){return new(se||Re)(s.LFG(k._A))},Re.\u0275prov=s.Yz7({token:Re,factory:Re.\u0275fac});const pt={provide:Oe,deps:[[new s.FiY,new s.tp0,Oe],k._A],useFactory:function oe(ht,se){return ht||new Re(se)}};class Ct{constructor(se,Ae,ft,Lt,nn){this._changeDetectorRef=se,this._dateFormats=Ae,this._dateAdapter=ft,this._dir=Lt,this._rangeStrategy=nn,this._rerenderSubscription=S.w0.EMPTY,this.selectedChange=new s.vpe,this._userSelection=new s.vpe,this.activeDateChange=new s.vpe,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(se){const Ae=this._activeDate,ft=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(ft,this.minDate,this.maxDate),this._hasSameMonthAndYear(Ae,this._activeDate)||this._init()}get selected(){return this._selected}set selected(se){this._selected=se instanceof ut?se:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se)),this._setRanges(this._selected)}get minDate(){return this._minDate}set minDate(se){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get maxDate(){return this._maxDate}set maxDate(se){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,W.O)(null)).subscribe(()=>this._init())}ngOnChanges(se){const Ae=se.comparisonStart||se.comparisonEnd;Ae&&!Ae.firstChange&&this._setRanges(this.selected)}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_dateSelected(se){const Ae=se.value,ft=this._getDateFromDayOfMonth(Ae);let Lt,nn;this._selected instanceof ut?(Lt=this._getDateInCurrentMonth(this._selected.start),nn=this._getDateInCurrentMonth(this._selected.end)):Lt=nn=this._getDateInCurrentMonth(this._selected),(Lt!==Ae||nn!==Ae)&&this.selectedChange.emit(ft),this._userSelection.emit({value:ft,event:se.event}),this._previewStart=this._previewEnd=null,this._changeDetectorRef.markForCheck()}_updateActiveDate(se){const Ae=se.value,ft=this._activeDate;this.activeDate=this._getDateFromDayOfMonth(Ae),this._dateAdapter.compareDate(ft,this.activeDate)&&this.activeDateChange.emit(this._activeDate)}_handleCalendarBodyKeydown(se){const Ae=this._activeDate,ft=this._isRtl();switch(se.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,ft?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,ft?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case M.Ku:this.activeDate=se.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case M.VM:this.activeDate=se.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case M.K5:case M.L_:return this._selectionKeyPressed=!0,void(this._canSelect(this._activeDate)&&se.preventDefault());case M.hY:return void(null!=this._previewEnd&&!(0,M.Vb)(se)&&(this._previewStart=this._previewEnd=null,this.selectedChange.emit(null),this._userSelection.emit({value:null,event:se}),se.preventDefault(),se.stopPropagation()));default:return}this._dateAdapter.compareDate(Ae,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),se.preventDefault()}_handleCalendarBodyKeyup(se){(se.keyCode===M.L_||se.keyCode===M.K5)&&(this._selectionKeyPressed&&this._canSelect(this._activeDate)&&this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:se}),this._selectionKeyPressed=!1)}_init(){this._setRanges(this.selected),this._todayDate=this._getCellCompareValue(this._dateAdapter.today()),this._monthLabel=this._dateFormats.display.monthLabel?this._dateAdapter.format(this.activeDate,this._dateFormats.display.monthLabel):this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();let se=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset=(7+this._dateAdapter.getDayOfWeek(se)-this._dateAdapter.getFirstDayOfWeek())%7,this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()}_focusActiveCell(se){this._matCalendarBody._focusActiveCell(se)}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_previewChanged({event:se,value:Ae}){if(this._rangeStrategy){const ft=Ae?Ae.rawValue:null,Lt=this._rangeStrategy.createPreview(ft,this.selected,se);this._previewStart=this._getCellCompareValue(Lt.start),this._previewEnd=this._getCellCompareValue(Lt.end),this._changeDetectorRef.detectChanges()}}_getDateFromDayOfMonth(se){return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),se)}_initWeekdays(){const se=this._dateAdapter.getFirstDayOfWeek(),Ae=this._dateAdapter.getDayOfWeekNames("narrow");let Lt=this._dateAdapter.getDayOfWeekNames("long").map((nn,Bn)=>({long:nn,narrow:Ae[Bn]}));this._weekdays=Lt.slice(se).concat(Lt.slice(0,se))}_createWeekCells(){const se=this._dateAdapter.getNumDaysInMonth(this.activeDate),Ae=this._dateAdapter.getDateNames();this._weeks=[[]];for(let ft=0,Lt=this._firstWeekOffset;ft=0)&&(!this.maxDate||this._dateAdapter.compareDate(se,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(se))}_getDateInCurrentMonth(se){return se&&this._hasSameMonthAndYear(se,this.activeDate)?this._dateAdapter.getDate(se):null}_hasSameMonthAndYear(se,Ae){return!(!se||!Ae||this._dateAdapter.getMonth(se)!=this._dateAdapter.getMonth(Ae)||this._dateAdapter.getYear(se)!=this._dateAdapter.getYear(Ae))}_getCellCompareValue(se){if(se){const Ae=this._dateAdapter.getYear(se),ft=this._dateAdapter.getMonth(se),Lt=this._dateAdapter.getDate(se);return new Date(Ae,ft,Lt).getTime()}return null}_isRtl(){return this._dir&&"rtl"===this._dir.value}_setRanges(se){se instanceof ut?(this._rangeStart=this._getCellCompareValue(se.start),this._rangeEnd=this._getCellCompareValue(se.end),this._isRange=!0):(this._rangeStart=this._rangeEnd=this._getCellCompareValue(se),this._isRange=!1),this._comparisonRangeStart=this._getCellCompareValue(this.comparisonStart),this._comparisonRangeEnd=this._getCellCompareValue(this.comparisonEnd)}_canSelect(se){return!this.dateFilter||this.dateFilter(se)}}Ct.\u0275fac=function(se){return new(se||Ct)(s.Y36(s.sBO),s.Y36(k.sG,8),s.Y36(k._A,8),s.Y36(z.Is,8),s.Y36(Oe,8))},Ct.\u0275cmp=s.Xpm({type:Ct,selectors:[["mat-month-view"]],viewQuery:function(se,Ae){if(1&se&&s.Gf(be,5),2&se){let ft;s.iGM(ft=s.CRH())&&(Ae._matCalendarBody=ft.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",_userSelection:"_userSelection",activeDateChange:"activeDateChange"},exportAs:["matMonthView"],features:[s.TTD],decls:7,vars:13,consts:[["role","grid",1,"mat-calendar-table"],[1,"mat-calendar-table-header"],["scope","col",4,"ngFor","ngForOf"],["aria-hidden","true","colspan","7",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"label","rows","todayValue","startValue","endValue","comparisonStart","comparisonEnd","previewStart","previewEnd","isRange","labelMinRequiredCells","activeCell","selectedValueChange","activeDateChange","previewChange","keyup","keydown"],["scope","col"],[1,"cdk-visually-hidden"],["aria-hidden","true"]],template:function(se,Ae){1&se&&(s.TgZ(0,"table",0)(1,"thead",1)(2,"tr"),s.YNc(3,o,5,2,"th",2),s.qZA(),s.TgZ(4,"tr"),s._UZ(5,"th",3),s.qZA()(),s.TgZ(6,"tbody",4),s.NdJ("selectedValueChange",function(Lt){return Ae._dateSelected(Lt)})("activeDateChange",function(Lt){return Ae._updateActiveDate(Lt)})("previewChange",function(Lt){return Ae._previewChanged(Lt)})("keyup",function(Lt){return Ae._handleCalendarBodyKeyup(Lt)})("keydown",function(Lt){return Ae._handleCalendarBodyKeydown(Lt)}),s.qZA()()),2&se&&(s.xp6(3),s.Q6J("ngForOf",Ae._weekdays),s.xp6(3),s.Q6J("label",Ae._monthLabel)("rows",Ae._weeks)("todayValue",Ae._todayDate)("startValue",Ae._rangeStart)("endValue",Ae._rangeEnd)("comparisonStart",Ae._comparisonRangeStart)("comparisonEnd",Ae._comparisonRangeEnd)("previewStart",Ae._previewStart)("previewEnd",Ae._previewEnd)("isRange",Ae._isRange)("labelMinRequiredCells",3)("activeCell",Ae._dateAdapter.getDate(Ae.activeDate)-1))},dependencies:[E.sg,be],encapsulation:2,changeDetection:0});class zt{constructor(se,Ae,ft){this._changeDetectorRef=se,this._dateAdapter=Ae,this._dir=ft,this._rerenderSubscription=S.w0.EMPTY,this.selectedChange=new s.vpe,this.yearSelected=new s.vpe,this.activeDateChange=new s.vpe,this._dateAdapter,this._activeDate=this._dateAdapter.today()}get activeDate(){return this._activeDate}set activeDate(se){let Ae=this._activeDate;const ft=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(ft,this.minDate,this.maxDate),yn(this._dateAdapter,Ae,this._activeDate,this.minDate,this.maxDate)||this._init()}get selected(){return this._selected}set selected(se){this._selected=se instanceof ut?se:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se)),this._setSelectedYear(se)}get minDate(){return this._minDate}set minDate(se){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get maxDate(){return this._maxDate}set maxDate(se){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe((0,W.O)(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_init(){this._todayYear=this._dateAdapter.getYear(this._dateAdapter.today());const Ae=this._dateAdapter.getYear(this._activeDate)-Jt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate);this._years=[];for(let ft=0,Lt=[];ft<24;ft++)Lt.push(Ae+ft),4==Lt.length&&(this._years.push(Lt.map(nn=>this._createCellForYear(nn))),Lt=[]);this._changeDetectorRef.markForCheck()}_yearSelected(se){const Ae=se.value,ft=this._dateAdapter.createDate(Ae,0,1),Lt=this._getDateFromYear(Ae);this.yearSelected.emit(ft),this.selectedChange.emit(Lt)}_updateActiveDate(se){const Ae=se.value,ft=this._activeDate;this.activeDate=this._getDateFromYear(Ae),this._dateAdapter.compareDate(ft,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(se){const Ae=this._activeDate,ft=this._isRtl();switch(se.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,ft?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,ft?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-4);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,4);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-Jt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,24-Jt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case M.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,se.altKey?-240:-24);break;case M.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,se.altKey?240:24);break;case M.K5:case M.L_:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(Ae,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked(),se.preventDefault()}_handleCalendarBodyKeyup(se){(se.keyCode===M.L_||se.keyCode===M.K5)&&(this._selectionKeyPressed&&this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:se}),this._selectionKeyPressed=!1)}_getActiveCell(){return Jt(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getDateFromYear(se){const Ae=this._dateAdapter.getMonth(this.activeDate),ft=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(se,Ae,1));return this._dateAdapter.createDate(se,Ae,Math.min(this._dateAdapter.getDate(this.activeDate),ft))}_createCellForYear(se){const Ae=this._dateAdapter.createDate(se,0,1),ft=this._dateAdapter.getYearName(Ae),Lt=this.dateClass?this.dateClass(Ae,"multi-year"):void 0;return new We(se,ft,ft,this._shouldEnableYear(se),Lt)}_shouldEnableYear(se){if(null==se||this.maxDate&&se>this._dateAdapter.getYear(this.maxDate)||this.minDate&&sethis._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_monthSelected(se){const Ae=se.value,ft=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),Ae,1);this.monthSelected.emit(ft);const Lt=this._getDateFromMonth(Ae);this.selectedChange.emit(Lt)}_updateActiveDate(se){const Ae=se.value,ft=this._activeDate;this.activeDate=this._getDateFromMonth(Ae),this._dateAdapter.compareDate(ft,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(se){const Ae=this._activeDate,ft=this._isRtl();switch(se.keyCode){case M.oh:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,ft?1:-1);break;case M.SV:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,ft?-1:1);break;case M.LH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case M.JH:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case M.Sd:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case M.uR:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case M.Ku:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,se.altKey?-10:-1);break;case M.VM:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,se.altKey?10:1);break;case M.K5:case M.L_:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(Ae,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),se.preventDefault()}_handleCalendarBodyKeyup(se){(se.keyCode===M.L_||se.keyCode===M.K5)&&(this._selectionKeyPressed&&this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:se}),this._selectionKeyPressed=!1)}_init(){this._setSelectedMonth(this.selected),this._todayMonth=this._getMonthInCurrentYear(this._dateAdapter.today()),this._yearLabel=this._dateAdapter.getYearName(this.activeDate);let se=this._dateAdapter.getMonthNames("short");this._months=[[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(Ae=>Ae.map(ft=>this._createCellForMonth(ft,se[ft]))),this._changeDetectorRef.markForCheck()}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getMonthInCurrentYear(se){return se&&this._dateAdapter.getYear(se)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(se):null}_getDateFromMonth(se){const Ae=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),se,1),ft=this._dateAdapter.getNumDaysInMonth(Ae);return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),se,Math.min(this._dateAdapter.getDate(this.activeDate),ft))}_createCellForMonth(se,Ae){const ft=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),se,1),Lt=this._dateAdapter.format(ft,this._dateFormats.display.monthYearA11yLabel),nn=this.dateClass?this.dateClass(ft,"year"):void 0;return new We(se,Ae.toLocaleUpperCase(),Lt,this._shouldEnableMonth(se),nn)}_shouldEnableMonth(se){const Ae=this._dateAdapter.getYear(this.activeDate);if(null==se||this._isYearAndMonthAfterMaxDate(Ae,se)||this._isYearAndMonthBeforeMinDate(Ae,se))return!1;if(!this.dateFilter)return!0;for(let Lt=this._dateAdapter.createDate(Ae,se,1);this._dateAdapter.getMonth(Lt)==se;Lt=this._dateAdapter.addCalendarDays(Lt,1))if(this.dateFilter(Lt))return!0;return!1}_isYearAndMonthAfterMaxDate(se,Ae){if(this.maxDate){const ft=this._dateAdapter.getYear(this.maxDate),Lt=this._dateAdapter.getMonth(this.maxDate);return se>ft||se===ft&&Ae>Lt}return!1}_isYearAndMonthBeforeMinDate(se,Ae){if(this.minDate){const ft=this._dateAdapter.getYear(this.minDate),Lt=this._dateAdapter.getMonth(this.minDate);return senn.markForCheck())}get periodButtonText(){if("month"==this.calendar.currentView)return this._dateAdapter.format(this.calendar.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase();if("year"==this.calendar.currentView)return this._dateAdapter.getYearName(this.calendar.activeDate);const Ae=this._dateAdapter.getYear(this.calendar.activeDate)-Jt(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),ft=Ae+24-1,Lt=this._dateAdapter.getYearName(this._dateAdapter.createDate(Ae,0,1)),nn=this._dateAdapter.getYearName(this._dateAdapter.createDate(ft,0,1));return this._intl.formatYearRange(Lt,nn)}get periodButtonLabel(){return"month"==this.calendar.currentView?this._intl.switchToMultiYearViewLabel:this._intl.switchToMonthViewLabel}get prevButtonLabel(){return{month:this._intl.prevMonthLabel,year:this._intl.prevYearLabel,"multi-year":this._intl.prevMultiYearLabel}[this.calendar.currentView]}get nextButtonLabel(){return{month:this._intl.nextMonthLabel,year:this._intl.nextYearLabel,"multi-year":this._intl.nextMultiYearLabel}[this.calendar.currentView]}currentPeriodClicked(){this.calendar.currentView="month"==this.calendar.currentView?"multi-year":"month"}previousClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?-1:-24)}nextClicked(){this.calendar.activeDate="month"==this.calendar.currentView?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,"year"==this.calendar.currentView?1:24)}previousEnabled(){return!this.calendar.minDate||(!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate))}nextEnabled(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)}_isSameView(se,Ae){return"month"==this.calendar.currentView?this._dateAdapter.getYear(se)==this._dateAdapter.getYear(Ae)&&this._dateAdapter.getMonth(se)==this._dateAdapter.getMonth(Ae):"year"==this.calendar.currentView?this._dateAdapter.getYear(se)==this._dateAdapter.getYear(Ae):yn(this._dateAdapter,se,Ae,this.calendar.minDate,this.calendar.maxDate)}}pn.\u0275fac=function(se){return new(se||pn)(s.Y36(je),s.Y36((0,s.Gpc)(()=>nt)),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(s.sBO))},pn.\u0275cmp=s.Xpm({type:pn,selectors:[["mat-calendar-header"]],exportAs:["matCalendarHeader"],ngContentSelectors:h,decls:11,vars:10,consts:[[1,"mat-calendar-header"],[1,"mat-calendar-controls"],["mat-button","","type","button","aria-live","polite",1,"mat-calendar-period-button",3,"click"],["viewBox","0 0 10 5","focusable","false",1,"mat-calendar-arrow"],["points","0,0 5,5 10,0"],[1,"mat-calendar-spacer"],["mat-icon-button","","type","button",1,"mat-calendar-previous-button",3,"disabled","click"],["mat-icon-button","","type","button",1,"mat-calendar-next-button",3,"disabled","click"]],template:function(se,Ae){1&se&&(s.F$t(),s.TgZ(0,"div",0)(1,"div",1)(2,"button",2),s.NdJ("click",function(){return Ae.currentPeriodClicked()}),s.TgZ(3,"span"),s._uU(4),s.qZA(),s.O4$(),s.TgZ(5,"svg",3),s._UZ(6,"polygon",4),s.qZA()(),s.kcU(),s._UZ(7,"div",5),s.Hsn(8),s.TgZ(9,"button",6),s.NdJ("click",function(){return Ae.previousClicked()}),s.qZA(),s.TgZ(10,"button",7),s.NdJ("click",function(){return Ae.nextClicked()}),s.qZA()()()),2&se&&(s.xp6(2),s.uIk("aria-label",Ae.periodButtonLabel)("aria-describedby",Ae._buttonDescriptionId),s.xp6(1),s.uIk("id",Ae._buttonDescriptionId),s.xp6(1),s.Oqu(Ae.periodButtonText),s.xp6(1),s.ekj("mat-calendar-invert","month"!==Ae.calendar.currentView),s.xp6(4),s.Q6J("disabled",!Ae.previousEnabled()),s.uIk("aria-label",Ae.prevButtonLabel),s.xp6(1),s.Q6J("disabled",!Ae.nextEnabled()),s.uIk("aria-label",Ae.nextButtonLabel))},dependencies:[D.lW],encapsulation:2,changeDetection:0});class nt{constructor(se,Ae,ft,Lt){this._dateAdapter=Ae,this._dateFormats=ft,this._changeDetectorRef=Lt,this._moveFocusOnNextTick=!1,this.startView="month",this.selectedChange=new s.vpe,this.yearSelected=new s.vpe,this.monthSelected=new s.vpe,this.viewChanged=new s.vpe(!0),this._userSelection=new s.vpe,this.stateChanges=new p.x,this._intlChanges=se.changes.subscribe(()=>{Lt.markForCheck(),this.stateChanges.next()})}get startAt(){return this._startAt}set startAt(se){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get selected(){return this._selected}set selected(se){this._selected=se instanceof ut?se:this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get minDate(){return this._minDate}set minDate(se){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get maxDate(){return this._maxDate}set maxDate(se){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get activeDate(){return this._clampedActiveDate}set activeDate(se){this._clampedActiveDate=this._dateAdapter.clampDate(se,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()}get currentView(){return this._currentView}set currentView(se){const Ae=this._currentView!==se?se:null;this._currentView=se,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck(),Ae&&this.viewChanged.emit(Ae)}ngAfterContentInit(){this._calendarHeaderPortal=new _.C5(this.headerComponent||pn),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView}ngAfterViewChecked(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())}ngOnDestroy(){this._intlChanges.unsubscribe(),this.stateChanges.complete()}ngOnChanges(se){const Ae=se.minDate&&!this._dateAdapter.sameDate(se.minDate.previousValue,se.minDate.currentValue)?se.minDate:void 0,ft=se.maxDate&&!this._dateAdapter.sameDate(se.maxDate.previousValue,se.maxDate.currentValue)?se.maxDate:void 0,Lt=Ae||ft||se.dateFilter;if(Lt&&!Lt.firstChange){const nn=this._getCurrentViewComponent();nn&&(this._changeDetectorRef.detectChanges(),nn._init())}this.stateChanges.next()}focusActiveCell(){this._getCurrentViewComponent()._focusActiveCell(!1)}updateTodaysDate(){this._getCurrentViewComponent()._init()}_dateSelected(se){const Ae=se.value;(this.selected instanceof ut||Ae&&!this._dateAdapter.sameDate(Ae,this.selected))&&this.selectedChange.emit(Ae),this._userSelection.emit(se)}_yearSelectedInMultiYearView(se){this.yearSelected.emit(se)}_monthSelectedInYearView(se){this.monthSelected.emit(se)}_goToDateInView(se,Ae){this.activeDate=se,this.currentView=Ae}_getCurrentViewComponent(){return this.monthView||this.yearView||this.multiYearView}}nt.\u0275fac=function(se){return new(se||nt)(s.Y36(je),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(s.sBO))},nt.\u0275cmp=s.Xpm({type:nt,selectors:[["mat-calendar"]],viewQuery:function(se,Ae){if(1&se&&(s.Gf(Ct,5),s.Gf(an,5),s.Gf(zt,5)),2&se){let ft;s.iGM(ft=s.CRH())&&(Ae.monthView=ft.first),s.iGM(ft=s.CRH())&&(Ae.yearView=ft.first),s.iGM(ft=s.CRH())&&(Ae.multiYearView=ft.first)}},hostAttrs:[1,"mat-calendar"],inputs:{headerComponent:"headerComponent",startAt:"startAt",startView:"startView",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",_userSelection:"_userSelection"},exportAs:["matCalendar"],features:[s._Bn([ee]),s.TTD],decls:5,vars:5,consts:[[3,"cdkPortalOutlet"],["cdkMonitorSubtreeFocus","","tabindex","-1",1,"mat-calendar-content",3,"ngSwitch"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange",4,"ngSwitchCase"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","activeDateChange","_userSelection"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","monthSelected","selectedChange"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","activeDateChange","yearSelected","selectedChange"]],template:function(se,Ae){1&se&&(s.YNc(0,d,0,0,"ng-template",0),s.TgZ(1,"div",1),s.YNc(2,y,1,8,"mat-month-view",2),s.YNc(3,L,1,6,"mat-year-view",3),s.YNc(4,B,1,6,"mat-multi-year-view",4),s.qZA()),2&se&&(s.Q6J("cdkPortalOutlet",Ae._calendarHeaderPortal),s.xp6(1),s.Q6J("ngSwitch",Ae.currentView),s.xp6(1),s.Q6J("ngSwitchCase","month"),s.xp6(1),s.Q6J("ngSwitchCase","year"),s.xp6(1),s.Q6J("ngSwitchCase","multi-year"))},dependencies:[E.RF,E.n9,e.kH,_.Pl,Ct,an,zt],styles:['.mat-calendar{display:block}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;margin:5% calc(4.7142857143% - 16px)}.mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:.04}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0}.mat-calendar-arrow{display:inline-block;width:10px;height:5px;margin:0 0 0 5px;vertical-align:middle}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.cdk-high-contrast-active .mat-calendar-arrow{fill:CanvasText}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:"";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px}.mat-calendar-body-cell-content::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)}.mat-calendar-body-cell:focus .mat-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0});const gt={transformPanel:(0,re.X$)("transformPanel",[(0,re.eR)("void => enter-dropdown",(0,re.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,re.F4)([(0,re.oB)({opacity:0,transform:"scale(1, 0.8)"}),(0,re.oB)({opacity:1,transform:"scale(1, 1)"})]))),(0,re.eR)("void => enter-dialog",(0,re.jt)("150ms cubic-bezier(0, 0, 0.2, 1)",(0,re.F4)([(0,re.oB)({opacity:0,transform:"scale(0.7)"}),(0,re.oB)({transform:"none",opacity:1})]))),(0,re.eR)("* => void",(0,re.jt)("100ms linear",(0,re.oB)({opacity:0})))]),fadeInCalendar:(0,re.X$)("fadeInCalendar",[(0,re.SB)("void",(0,re.oB)({opacity:0})),(0,re.SB)("enter",(0,re.oB)({opacity:1})),(0,re.eR)("void => *",(0,re.jt)("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])};let At=0;const we=new s.OlP("mat-datepicker-scroll-strategy");const te={provide:we,deps:[t.aV],useFactory:function Y(ht){return()=>ht.scrollStrategies.reposition()}},xe=(0,k.pj)(class{constructor(ht){this._elementRef=ht}});class ze extends xe{constructor(se,Ae,ft,Lt,nn,Bn){super(se),this._changeDetectorRef=Ae,this._globalModel=ft,this._dateAdapter=Lt,this._rangeSelectionStrategy=nn,this._subscriptions=new S.w0,this._animationDone=new p.x,this._actionsPortal=null,this._closeButtonText=Bn.closeCalendarLabel}ngOnInit(){this._animationState=this.datepicker.touchUi?"enter-dialog":"enter-dropdown"}ngAfterViewInit(){this._subscriptions.add(this.datepicker.stateChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})),this._calendar.focusActiveCell()}ngOnDestroy(){this._subscriptions.unsubscribe(),this._animationDone.complete()}_handleUserSelection(se){const Ae=this._model.selection,ft=se.value,Lt=Ae instanceof ut;if(Lt&&this._rangeSelectionStrategy){const nn=this._rangeSelectionStrategy.selectionFinished(ft,Ae,se.event);this._model.updateSelection(nn,this)}else ft&&(Lt||!this._dateAdapter.sameDate(ft,Ae))&&this._model.add(ft);(!this._model||this._model.isComplete())&&!this._actionsPortal&&this.datepicker.close()}_startExitAnimation(){this._animationState="void",this._changeDetectorRef.markForCheck()}_getSelected(){return this._model.selection}_applyPendingSelection(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)}_assignActions(se,Ae){this._model=se?this._globalModel.clone():this._globalModel,this._actionsPortal=se,Ae&&this._changeDetectorRef.detectChanges()}}ze.\u0275fac=function(se){return new(se||ze)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(Le),s.Y36(k._A),s.Y36(Oe,8),s.Y36(je))},ze.\u0275cmp=s.Xpm({type:ze,selectors:[["mat-datepicker-content"]],viewQuery:function(se,Ae){if(1&se&&s.Gf(nt,5),2&se){let ft;s.iGM(ft=s.CRH())&&(Ae._calendar=ft.first)}},hostAttrs:[1,"mat-datepicker-content"],hostVars:3,hostBindings:function(se,Ae){1&se&&s.WFA("@transformPanel.done",function(){return Ae._animationDone.next()}),2&se&&(s.d8E("@transformPanel",Ae._animationState),s.ekj("mat-datepicker-content-touch",Ae.datepicker.touchUi))},inputs:{color:"color"},exportAs:["matDatepickerContent"],features:[s.qOj],decls:5,vars:24,consts:[["cdkTrapFocus","","role","dialog",1,"mat-datepicker-content-container"],[3,"id","ngClass","startAt","startView","minDate","maxDate","dateFilter","headerComponent","selected","dateClass","comparisonStart","comparisonEnd","yearSelected","monthSelected","viewChanged","_userSelection"],[3,"cdkPortalOutlet"],["type","button","mat-raised-button","",1,"mat-datepicker-close-button",3,"color","focus","blur","click"]],template:function(se,Ae){if(1&se&&(s.TgZ(0,"div",0)(1,"mat-calendar",1),s.NdJ("yearSelected",function(Lt){return Ae.datepicker._selectYear(Lt)})("monthSelected",function(Lt){return Ae.datepicker._selectMonth(Lt)})("viewChanged",function(Lt){return Ae.datepicker._viewChanged(Lt)})("_userSelection",function(Lt){return Ae._handleUserSelection(Lt)}),s.qZA(),s.YNc(2,v,0,0,"ng-template",2),s.TgZ(3,"button",3),s.NdJ("focus",function(){return Ae._closeButtonFocused=!0})("blur",function(){return Ae._closeButtonFocused=!1})("click",function(){return Ae.datepicker.close()}),s._uU(4),s.qZA()()),2&se){let ft;s.ekj("mat-datepicker-content-container-with-custom-header",Ae.datepicker.calendarHeaderComponent)("mat-datepicker-content-container-with-actions",Ae._actionsPortal),s.uIk("aria-modal",!0)("aria-labelledby",null!==(ft=Ae._dialogLabelId)&&void 0!==ft?ft:void 0),s.xp6(1),s.Q6J("id",Ae.datepicker.id)("ngClass",Ae.datepicker.panelClass)("startAt",Ae.datepicker.startAt)("startView",Ae.datepicker.startView)("minDate",Ae.datepicker._getMinDate())("maxDate",Ae.datepicker._getMaxDate())("dateFilter",Ae.datepicker._getDateFilter())("headerComponent",Ae.datepicker.calendarHeaderComponent)("selected",Ae._getSelected())("dateClass",Ae.datepicker.dateClass)("comparisonStart",Ae.comparisonStart)("comparisonEnd",Ae.comparisonEnd)("@fadeInCalendar","enter"),s.xp6(1),s.Q6J("cdkPortalOutlet",Ae._actionsPortal),s.xp6(1),s.ekj("cdk-visually-hidden",!Ae._closeButtonFocused),s.Q6J("color",Ae.color||"primary"),s.xp6(1),s.Oqu(Ae._closeButtonText)}},dependencies:[E.mk,D.lW,e.mK,_.Pl,nt],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar{height:auto}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}"],encapsulation:2,data:{animation:[gt.transformPanel,gt.fadeInCalendar]},changeDetection:0});class _t{constructor(se,Ae,ft,Lt,nn,Bn,Wn){this._overlay=se,this._ngZone=Ae,this._viewContainerRef=ft,this._dateAdapter=nn,this._dir=Bn,this._model=Wn,this._inputStateChanges=S.w0.EMPTY,this._document=(0,s.f3M)(E.K0),this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this._restoreFocus=!0,this.yearSelected=new s.vpe,this.monthSelected=new s.vpe,this.viewChanged=new s.vpe(!0),this.openedStream=new s.vpe,this.closedStream=new s.vpe,this._opened=!1,this.id="mat-datepicker-"+At++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=`${this.id}-backdrop`,this.stateChanges=new p.x,this._dateAdapter,this._scrollStrategy=Lt}get startAt(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)}set startAt(se){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se))}get color(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)}set color(se){this._color=se}get touchUi(){return this._touchUi}set touchUi(se){this._touchUi=(0,j.Ig)(se)}get disabled(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled}set disabled(se){const Ae=(0,j.Ig)(se);Ae!==this._disabled&&(this._disabled=Ae,this.stateChanges.next(void 0))}get restoreFocus(){return this._restoreFocus}set restoreFocus(se){this._restoreFocus=(0,j.Ig)(se)}get panelClass(){return this._panelClass}set panelClass(se){this._panelClass=(0,j.du)(se)}get opened(){return this._opened}set opened(se){(0,j.Ig)(se)?this.open():this.close()}_getMinDate(){return this.datepickerInput&&this.datepickerInput.min}_getMaxDate(){return this.datepickerInput&&this.datepickerInput.max}_getDateFilter(){return this.datepickerInput&&this.datepickerInput.dateFilter}ngOnChanges(se){const Ae=se.xPosition||se.yPosition;if(Ae&&!Ae.firstChange&&this._overlayRef){const ft=this._overlayRef.getConfig().positionStrategy;ft instanceof t._G&&(this._setConnectedPositions(ft),this.opened&&this._overlayRef.updatePosition())}this.stateChanges.next(void 0)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()}select(se){this._model.add(se)}_selectYear(se){this.yearSelected.emit(se)}_selectMonth(se){this.monthSelected.emit(se)}_viewChanged(se){this.viewChanged.emit(se)}registerInput(se){return this.datepickerInput,this._inputStateChanges.unsubscribe(),this.datepickerInput=se,this._inputStateChanges=se.stateChanges.subscribe(()=>this.stateChanges.next(void 0)),this._model}registerActions(se){this._actionsPortal,this._actionsPortal=se,this._componentRef?.instance._assignActions(se,!0)}removeActions(se){se===this._actionsPortal&&(this._actionsPortal=null,this._componentRef?.instance._assignActions(null,!0))}open(){this._opened||this.disabled||(this.datepickerInput,this._focusedElementBeforeOpen=(0,ae.ht)(),this._openOverlay(),this._opened=!0,this.openedStream.emit())}close(){if(!this._opened)return;const se=this._restoreFocus&&this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus,Ae=()=>{this._opened&&(this._opened=!1,this.closedStream.emit())};if(this._componentRef){const{instance:ft,location:Lt}=this._componentRef;ft._startExitAnimation(),ft._animationDone.pipe((0,I.q)(1)).subscribe(()=>{const nn=this._document.activeElement;se&&(!nn||nn===this._document.activeElement||Lt.nativeElement.contains(nn))&&this._focusedElementBeforeOpen.focus(),this._focusedElementBeforeOpen=null,this._destroyOverlay()})}se?setTimeout(Ae):Ae()}_applyPendingSelection(){this._componentRef?.instance?._applyPendingSelection()}_forwardContentValues(se){se.datepicker=this,se.color=this.color,se._dialogLabelId=this.datepickerInput.getOverlayLabelId(),se._assignActions(this._actionsPortal,!1)}_openOverlay(){this._destroyOverlay();const se=this.touchUi,Ae=new _.C5(ze,this._viewContainerRef),ft=this._overlayRef=this._overlay.create(new t.X_({positionStrategy:se?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[se?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:se?this._overlay.scrollStrategies.block():this._scrollStrategy(),panelClass:"mat-datepicker-"+(se?"dialog":"popup")}));this._getCloseStream(ft).subscribe(Lt=>{Lt&&Lt.preventDefault(),this.close()}),ft.keydownEvents().subscribe(Lt=>{const nn=Lt.keyCode;(nn===M.LH||nn===M.JH||nn===M.oh||nn===M.SV||nn===M.Ku||nn===M.VM)&&Lt.preventDefault()}),this._componentRef=ft.attach(Ae),this._forwardContentValues(this._componentRef.instance),se||this._ngZone.onStable.pipe((0,I.q)(1)).subscribe(()=>ft.updatePosition())}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return this._overlay.position().global().centerHorizontally().centerVertically()}_getDropdownStrategy(){const se=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(se)}_setConnectedPositions(se){const Ae="end"===this.xPosition?"end":"start",ft="start"===Ae?"end":"start",Lt="above"===this.yPosition?"bottom":"top",nn="top"===Lt?"bottom":"top";return se.withPositions([{originX:Ae,originY:nn,overlayX:Ae,overlayY:Lt},{originX:Ae,originY:Lt,overlayX:Ae,overlayY:nn},{originX:ft,originY:nn,overlayX:ft,overlayY:Lt},{originX:ft,originY:Lt,overlayX:ft,overlayY:nn}])}_getCloseStream(se){return(0,A.T)(se.backdropClick(),se.detachments(),se.keydownEvents().pipe((0,Z.h)(Ae=>Ae.keyCode===M.hY&&!(0,M.Vb)(Ae)||this.datepickerInput&&(0,M.Vb)(Ae,"altKey")&&Ae.keyCode===M.LH)))}}_t.\u0275fac=function(se){return new(se||_t)(s.Y36(t.aV),s.Y36(s.R0b),s.Y36(s.s_b),s.Y36(we),s.Y36(k._A,8),s.Y36(z.Is,8),s.Y36(Le))},_t.\u0275dir=s.lG2({type:_t,inputs:{calendarHeaderComponent:"calendarHeaderComponent",startAt:"startAt",startView:"startView",color:"color",touchUi:"touchUi",disabled:"disabled",xPosition:"xPosition",yPosition:"yPosition",restoreFocus:"restoreFocus",dateClass:"dateClass",panelClass:"panelClass",opened:"opened"},outputs:{yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",openedStream:"opened",closedStream:"closed"},features:[s.TTD]});class ct extends _t{}ct.\u0275fac=function(){let ht;return function(Ae){return(ht||(ht=s.n5z(ct)))(Ae||ct)}}(),ct.\u0275cmp=s.Xpm({type:ct,selectors:[["mat-datepicker"]],exportAs:["matDatepicker"],features:[s._Bn([ee,{provide:_t,useExisting:ct}]),s.qOj],decls:0,vars:0,template:function(se,Ae){},encapsulation:2,changeDetection:0});class Ue{constructor(se,Ae){this.target=se,this.targetElement=Ae,this.value=this.target.value}}class Me{constructor(se,Ae,ft){this._elementRef=se,this._dateAdapter=Ae,this._dateFormats=ft,this.dateChange=new s.vpe,this.dateInput=new s.vpe,this.stateChanges=new p.x,this._onTouched=()=>{},this._validatorOnChange=()=>{},this._cvaOnChange=()=>{},this._valueChangesSubscription=S.w0.EMPTY,this._localeSubscription=S.w0.EMPTY,this._parseValidator=()=>this._lastValueValid?null:{matDatepickerParse:{text:this._elementRef.nativeElement.value}},this._filterValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value));return!nn||this._matchesFilter(nn)?null:{matDatepickerFilter:!0}},this._minValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value)),Bn=this._getMinDate();return!Bn||!nn||this._dateAdapter.compareDate(Bn,nn)<=0?null:{matDatepickerMin:{min:Bn,actual:nn}}},this._maxValidator=Lt=>{const nn=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Lt.value)),Bn=this._getMaxDate();return!Bn||!nn||this._dateAdapter.compareDate(Bn,nn)>=0?null:{matDatepickerMax:{max:Bn,actual:nn}}},this._lastValueValid=!1,this._localeSubscription=Ae.localeChanges.subscribe(()=>{this._assignValueProgrammatically(this.value)})}get value(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue}set value(se){this._assignValueProgrammatically(se)}get disabled(){return!!this._disabled||this._parentDisabled()}set disabled(se){const Ae=(0,j.Ig)(se),ft=this._elementRef.nativeElement;this._disabled!==Ae&&(this._disabled=Ae,this.stateChanges.next(void 0)),Ae&&this._isInitialized&&ft.blur&&ft.blur()}_getValidators(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]}_registerModel(se){this._model=se,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe(Ae=>{if(this._shouldHandleChangeEvent(Ae)){const ft=this._getValueFromModel(Ae.selection);this._lastValueValid=this._isValidValue(ft),this._cvaOnChange(ft),this._onTouched(),this._formatValue(ft),this.dateInput.emit(new Ue(this,this._elementRef.nativeElement)),this.dateChange.emit(new Ue(this,this._elementRef.nativeElement))}})}ngAfterViewInit(){this._isInitialized=!0}ngOnChanges(se){Ce(se,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()}registerOnValidatorChange(se){this._validatorOnChange=se}validate(se){return this._validator?this._validator(se):null}writeValue(se){this._assignValueProgrammatically(se)}registerOnChange(se){this._cvaOnChange=se}registerOnTouched(se){this._onTouched=se}setDisabledState(se){this.disabled=se}_onKeydown(se){se.altKey&&se.keyCode===M.JH&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),se.preventDefault())}_onInput(se){const Ae=this._lastValueValid;let ft=this._dateAdapter.parse(se,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(ft),ft=this._dateAdapter.getValidDateOrNull(ft);const Lt=!this._dateAdapter.sameDate(ft,this.value);!ft||Lt?this._cvaOnChange(ft):(se&&!this.value&&this._cvaOnChange(ft),Ae!==this._lastValueValid&&this._validatorOnChange()),Lt&&(this._assignValue(ft),this.dateInput.emit(new Ue(this,this._elementRef.nativeElement)))}_onChange(){this.dateChange.emit(new Ue(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}_formatValue(se){this._elementRef.nativeElement.value=null!=se?this._dateAdapter.format(se,this._dateFormats.display.dateInput):""}_assignValue(se){this._model?(this._assignValueToModel(se),this._pendingValue=null):this._pendingValue=se}_isValidValue(se){return!se||this._dateAdapter.isValid(se)}_parentDisabled(){return!1}_assignValueProgrammatically(se){se=this._dateAdapter.deserialize(se),this._lastValueValid=this._isValidValue(se),se=this._dateAdapter.getValidDateOrNull(se),this._assignValue(se),this._formatValue(se)}_matchesFilter(se){const Ae=this._getDateFilter();return!Ae||Ae(se)}}function Ce(ht,se){const Ae=Object.keys(ht);for(let ft of Ae){const{previousValue:Lt,currentValue:nn}=ht[ft];if(!se.isDateInstance(Lt)||!se.isDateInstance(nn))return!0;if(!se.sameDate(Lt,nn))return!0}return!1}Me.\u0275fac=function(se){return new(se||Me)(s.Y36(s.SBq),s.Y36(k._A,8),s.Y36(k.sG,8))},Me.\u0275dir=s.lG2({type:Me,inputs:{value:"value",disabled:"disabled"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s.TTD]});const Je={provide:pe.JU,useExisting:(0,s.Gpc)(()=>Dt),multi:!0},Ut={provide:pe.Cf,useExisting:(0,s.Gpc)(()=>Dt),multi:!0};class Dt extends Me{constructor(se,Ae,ft,Lt){super(se,Ae,ft),this._formField=Lt,this._closedSubscription=S.w0.EMPTY,this._validator=pe.kI.compose(super._getValidators())}set matDatepicker(se){se&&(this._datepicker=se,this._closedSubscription=se.closedStream.subscribe(()=>this._onTouched()),this._registerModel(se.registerInput(this)))}get min(){return this._min}set min(se){const Ae=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se));this._dateAdapter.sameDate(Ae,this._min)||(this._min=Ae,this._validatorOnChange())}get max(){return this._max}set max(se){const Ae=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se));this._dateAdapter.sameDate(Ae,this._max)||(this._max=Ae,this._validatorOnChange())}get dateFilter(){return this._dateFilter}set dateFilter(se){const Ae=this._matchesFilter(this.value);this._dateFilter=se,this._matchesFilter(this.value)!==Ae&&this._validatorOnChange()}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}getThemePalette(){return this._formField?this._formField.color:void 0}getStartValue(){return this.value}ngOnDestroy(){super.ngOnDestroy(),this._closedSubscription.unsubscribe()}_openPopup(){this._datepicker&&this._datepicker.open()}_getValueFromModel(se){return se}_assignValueToModel(se){this._model&&this._model.updateSelection(se,this)}_getMinDate(){return this._min}_getMaxDate(){return this._max}_getDateFilter(){return this._dateFilter}_shouldHandleChangeEvent(se){return se.source!==this}}Dt.\u0275fac=function(se){return new(se||Dt)(s.Y36(s.SBq),s.Y36(k._A,8),s.Y36(k.sG,8),s.Y36(le.G_,8))},Dt.\u0275dir=s.lG2({type:Dt,selectors:[["input","matDatepicker",""]],hostAttrs:[1,"mat-datepicker-input"],hostVars:6,hostBindings:function(se,Ae){1&se&&s.NdJ("input",function(Lt){return Ae._onInput(Lt.target.value)})("change",function(){return Ae._onChange()})("blur",function(){return Ae._onBlur()})("keydown",function(Lt){return Ae._onKeydown(Lt)}),2&se&&(s.Ikx("disabled",Ae.disabled),s.uIk("aria-haspopup",Ae._datepicker?"dialog":null)("aria-owns",(null==Ae._datepicker?null:Ae._datepicker.opened)&&Ae._datepicker.id||null)("min",Ae.min?Ae._dateAdapter.toIso8601(Ae.min):null)("max",Ae.max?Ae._dateAdapter.toIso8601(Ae.max):null)("data-mat-calendar",Ae._datepicker?Ae._datepicker.id:null))},inputs:{matDatepicker:"matDatepicker",min:"min",max:"max",dateFilter:["matDatepickerFilter","dateFilter"]},exportAs:["matDatepickerInput"],features:[s._Bn([Je,Ut,{provide:ve.Jk,useExisting:Dt}]),s.qOj]});class Tt{}Tt.\u0275fac=function(se){return new(se||Tt)},Tt.\u0275dir=s.lG2({type:Tt,selectors:[["","matDatepickerToggleIcon",""]]});class Ht{constructor(se,Ae,ft){this._intl=se,this._changeDetectorRef=Ae,this._stateChanges=S.w0.EMPTY;const Lt=Number(ft);this.tabIndex=Lt||0===Lt?Lt:null}get disabled(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled}set disabled(se){this._disabled=(0,j.Ig)(se)}ngOnChanges(se){se.datepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(se){this.datepicker&&!this.disabled&&(this.datepicker.open(),se.stopPropagation())}_watchStateChanges(){const se=this.datepicker?this.datepicker.stateChanges:(0,P.of)(),Ae=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:(0,P.of)(),ft=this.datepicker?(0,A.T)(this.datepicker.openedStream,this.datepicker.closedStream):(0,P.of)();this._stateChanges.unsubscribe(),this._stateChanges=(0,A.T)(this._intl.changes,se,Ae,ft).subscribe(()=>this._changeDetectorRef.markForCheck())}}Ht.\u0275fac=function(se){return new(se||Ht)(s.Y36(je),s.Y36(s.sBO),s.$8M("tabindex"))},Ht.\u0275cmp=s.Xpm({type:Ht,selectors:[["mat-datepicker-toggle"]],contentQueries:function(se,Ae,ft){if(1&se&&s.Suo(ft,Tt,5),2&se){let Lt;s.iGM(Lt=s.CRH())&&(Ae._customIcon=Lt.first)}},viewQuery:function(se,Ae){if(1&se&&s.Gf(a,5),2&se){let ft;s.iGM(ft=s.CRH())&&(Ae._button=ft.first)}},hostAttrs:[1,"mat-datepicker-toggle"],hostVars:8,hostBindings:function(se,Ae){1&se&&s.NdJ("click",function(Lt){return Ae._open(Lt)}),2&se&&(s.uIk("tabindex",null)("data-mat-calendar",Ae.datepicker?Ae.datepicker.id:null),s.ekj("mat-datepicker-toggle-active",Ae.datepicker&&Ae.datepicker.opened)("mat-accent",Ae.datepicker&&"accent"===Ae.datepicker.color)("mat-warn",Ae.datepicker&&"warn"===Ae.datepicker.color))},inputs:{datepicker:["for","datepicker"],tabIndex:"tabIndex",ariaLabel:["aria-label","ariaLabel"],disabled:"disabled",disableRipple:"disableRipple"},exportAs:["matDatepickerToggle"],features:[s.TTD],ngContentSelectors:["[matDatepickerToggleIcon]"],decls:4,vars:6,consts:[["mat-icon-button","","type","button",3,"disabled","disableRipple"],["button",""],["class","mat-datepicker-toggle-default-icon","viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",4,"ngIf"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false",1,"mat-datepicker-toggle-default-icon"],["d","M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"]],template:function(se,Ae){1&se&&(s.F$t(N),s.TgZ(0,"button",0,1),s.YNc(2,C,2,0,"svg",2),s.Hsn(3),s.qZA()),2&se&&(s.Q6J("disabled",Ae.disabled)("disableRipple",Ae.disableRipple),s.uIk("aria-haspopup",Ae.datepicker?"dialog":null)("aria-label",Ae.ariaLabel||Ae._intl.openCalendarLabel)("tabindex",Ae.disabled?-1:Ae.tabIndex),s.xp6(2),s.Q6J("ngIf",!Ae._customIcon))},dependencies:[E.O5,D.lW],styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}"],encapsulation:2,changeDetection:0});const He=new s.OlP("MAT_DATE_RANGE_INPUT_PARENT");class $e extends Me{constructor(se,Ae,ft,Lt,nn,Bn,Wn,ti){super(Ae,Wn,ti),this._rangeInput=se,this._elementRef=Ae,this._defaultErrorStateMatcher=ft,this._injector=Lt,this._parentForm=nn,this._parentFormGroup=Bn,this._dir=(0,s.f3M)(z.Is,s.XFs.Optional)}ngOnInit(){const se=this._injector.get(pe.a5,null,s.XFs.Self|s.XFs.Optional);se&&(this.ngControl=se)}ngDoCheck(){this.ngControl&&this.updateErrorState()}isEmpty(){return 0===this._elementRef.nativeElement.value.length}_getPlaceholder(){return this._elementRef.nativeElement.placeholder}focus(){this._elementRef.nativeElement.focus()}_onInput(se){super._onInput(se),this._rangeInput._handleChildValueChange()}_openPopup(){this._rangeInput._openDatepicker()}_getMinDate(){return this._rangeInput.min}_getMaxDate(){return this._rangeInput.max}_getDateFilter(){return this._rangeInput.dateFilter}_parentDisabled(){return this._rangeInput._groupDisabled}_shouldHandleChangeEvent({source:se}){return se!==this._rangeInput._startInput&&se!==this._rangeInput._endInput}_assignValueProgrammatically(se){super._assignValueProgrammatically(se),(this===this._rangeInput._startInput?this._rangeInput._endInput:this._rangeInput._startInput)?._validatorOnChange()}}$e.\u0275fac=function(se){return new(se||$e)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(pe.F,8),s.Y36(pe.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},$e.\u0275dir=s.lG2({type:$e,features:[s.qOj]});const $t=(0,k.FD)($e);class Rt extends $t{constructor(se,Ae,ft,Lt,nn,Bn,Wn,ti){super(se,Ae,ft,Lt,nn,Bn,Wn,ti),this._startValidator=Mn=>{const Ln=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Mn.value)),ai=this._model?this._model.selection.end:null;return!Ln||!ai||this._dateAdapter.compareDate(Ln,ai)<=0?null:{matStartDateInvalid:{end:ai,actual:Ln}}},this._validator=pe.kI.compose([...super._getValidators(),this._startValidator])}_getValueFromModel(se){return se.start}_shouldHandleChangeEvent(se){return!!super._shouldHandleChangeEvent(se)&&(se.oldValue?.start?!se.selection.start||!!this._dateAdapter.compareDate(se.oldValue.start,se.selection.start):!!se.selection.start)}_assignValueToModel(se){if(this._model){const Ae=new ut(se,this._model.selection.end);this._model.updateSelection(Ae,this)}}_formatValue(se){super._formatValue(se),this._rangeInput._handleChildValueChange()}getMirrorValue(){const se=this._elementRef.nativeElement,Ae=se.value;return Ae.length>0?Ae:se.placeholder}_onKeydown(se){const Ae=this._rangeInput._endInput,ft=this._elementRef.nativeElement,Lt="rtl"!==this._dir?.value;(se.keyCode===M.SV&&Lt||se.keyCode===M.oh&&!Lt)&&ft.selectionStart===ft.value.length&&ft.selectionEnd===ft.value.length?(se.preventDefault(),Ae._elementRef.nativeElement.setSelectionRange(0,0),Ae.focus()):super._onKeydown(se)}}Rt.\u0275fac=function(se){return new(se||Rt)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(pe.F,8),s.Y36(pe.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},Rt.\u0275dir=s.lG2({type:Rt,selectors:[["input","matStartDate",""]],hostAttrs:["type","text",1,"mat-start-date","mat-date-range-input-inner"],hostVars:6,hostBindings:function(se,Ae){1&se&&s.NdJ("input",function(Lt){return Ae._onInput(Lt.target.value)})("change",function(){return Ae._onChange()})("keydown",function(Lt){return Ae._onKeydown(Lt)})("blur",function(){return Ae._onBlur()}),2&se&&(s.Ikx("disabled",Ae.disabled),s.uIk("id",Ae._rangeInput.id)("aria-haspopup",Ae._rangeInput.rangePicker?"dialog":null)("aria-owns",(null==Ae._rangeInput.rangePicker?null:Ae._rangeInput.rangePicker.opened)&&Ae._rangeInput.rangePicker.id||null)("min",Ae._getMinDate()?Ae._dateAdapter.toIso8601(Ae._getMinDate()):null)("max",Ae._getMaxDate()?Ae._dateAdapter.toIso8601(Ae._getMaxDate()):null))},inputs:{errorStateMatcher:"errorStateMatcher"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s._Bn([{provide:pe.JU,useExisting:Rt,multi:!0},{provide:pe.Cf,useExisting:Rt,multi:!0}]),s.qOj]});class Xt extends $t{constructor(se,Ae,ft,Lt,nn,Bn,Wn,ti){super(se,Ae,ft,Lt,nn,Bn,Wn,ti),this._endValidator=Mn=>{const Ln=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(Mn.value)),ai=this._model?this._model.selection.start:null;return!Ln||!ai||this._dateAdapter.compareDate(Ln,ai)>=0?null:{matEndDateInvalid:{start:ai,actual:Ln}}},this._validator=pe.kI.compose([...super._getValidators(),this._endValidator])}_getValueFromModel(se){return se.end}_shouldHandleChangeEvent(se){return!!super._shouldHandleChangeEvent(se)&&(se.oldValue?.end?!se.selection.end||!!this._dateAdapter.compareDate(se.oldValue.end,se.selection.end):!!se.selection.end)}_assignValueToModel(se){if(this._model){const Ae=new ut(this._model.selection.start,se);this._model.updateSelection(Ae,this)}}_onKeydown(se){const Ae=this._rangeInput._startInput,ft=this._elementRef.nativeElement,Lt="rtl"!==this._dir?.value;if(se.keyCode!==M.ZH||ft.value)if((se.keyCode===M.oh&&Lt||se.keyCode===M.SV&&!Lt)&&0===ft.selectionStart&&0===ft.selectionEnd){se.preventDefault();const nn=Ae._elementRef.nativeElement.value.length;Ae._elementRef.nativeElement.setSelectionRange(nn,nn),Ae.focus()}else super._onKeydown(se);else Ae.focus()}}Xt.\u0275fac=function(se){return new(se||Xt)(s.Y36(He),s.Y36(s.SBq),s.Y36(k.rD),s.Y36(s.zs3),s.Y36(pe.F,8),s.Y36(pe.sg,8),s.Y36(k._A,8),s.Y36(k.sG,8))},Xt.\u0275dir=s.lG2({type:Xt,selectors:[["input","matEndDate",""]],hostAttrs:["type","text",1,"mat-end-date","mat-date-range-input-inner"],hostVars:5,hostBindings:function(se,Ae){1&se&&s.NdJ("input",function(Lt){return Ae._onInput(Lt.target.value)})("change",function(){return Ae._onChange()})("keydown",function(Lt){return Ae._onKeydown(Lt)})("blur",function(){return Ae._onBlur()}),2&se&&(s.Ikx("disabled",Ae.disabled),s.uIk("aria-haspopup",Ae._rangeInput.rangePicker?"dialog":null)("aria-owns",(null==Ae._rangeInput.rangePicker?null:Ae._rangeInput.rangePicker.opened)&&Ae._rangeInput.rangePicker.id||null)("min",Ae._getMinDate()?Ae._dateAdapter.toIso8601(Ae._getMinDate()):null)("max",Ae._getMaxDate()?Ae._dateAdapter.toIso8601(Ae._getMaxDate()):null))},inputs:{errorStateMatcher:"errorStateMatcher"},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[s._Bn([{provide:pe.JU,useExisting:Xt,multi:!0},{provide:pe.Cf,useExisting:Xt,multi:!0}]),s.qOj]});let Vn=0;class zn{constructor(se,Ae,ft,Lt,nn){if(this._changeDetectorRef=se,this._elementRef=Ae,this._dateAdapter=Lt,this._formField=nn,this._closedSubscription=S.w0.EMPTY,this.id="mat-date-range-input-"+Vn++,this.focused=!1,this.controlType="mat-date-range-input",this._groupDisabled=!1,this._ariaDescribedBy=null,this.separator="\u2013",this.comparisonStart=null,this.comparisonEnd=null,this.stateChanges=new p.x,nn?._elementRef.nativeElement.classList.contains("mat-mdc-form-field")){const Bn=Ae.nativeElement.classList;Bn.add("mat-mdc-input-element"),Bn.add("mat-mdc-form-field-input-control")}this.ngControl=ft}get value(){return this._model?this._model.selection:null}get shouldLabelFloat(){return this.focused||!this.empty}get placeholder(){const se=this._startInput?._getPlaceholder()||"",Ae=this._endInput?._getPlaceholder()||"";return se||Ae?`${se} ${this.separator} ${Ae}`:""}get rangePicker(){return this._rangePicker}set rangePicker(se){se&&(this._model=se.registerInput(this),this._rangePicker=se,this._closedSubscription.unsubscribe(),this._closedSubscription=se.closedStream.subscribe(()=>{this._startInput?._onTouched(),this._endInput?._onTouched()}),this._registerModel(this._model))}get required(){return!!this._required}set required(se){this._required=(0,j.Ig)(se)}get dateFilter(){return this._dateFilter}set dateFilter(se){const Ae=this._startInput,ft=this._endInput,Lt=Ae&&Ae._matchesFilter(Ae.value),nn=ft&&ft._matchesFilter(Ae.value);this._dateFilter=se,Ae&&Ae._matchesFilter(Ae.value)!==Lt&&Ae._validatorOnChange(),ft&&ft._matchesFilter(ft.value)!==nn&&ft._validatorOnChange()}get min(){return this._min}set min(se){const Ae=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se));this._dateAdapter.sameDate(Ae,this._min)||(this._min=Ae,this._revalidate())}get max(){return this._max}set max(se){const Ae=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(se));this._dateAdapter.sameDate(Ae,this._max)||(this._max=Ae,this._revalidate())}get disabled(){return this._startInput&&this._endInput?this._startInput.disabled&&this._endInput.disabled:this._groupDisabled}set disabled(se){const Ae=(0,j.Ig)(se);Ae!==this._groupDisabled&&(this._groupDisabled=Ae,this.stateChanges.next(void 0))}get errorState(){return!(!this._startInput||!this._endInput)&&(this._startInput.errorState||this._endInput.errorState)}get empty(){const se=!!this._startInput&&this._startInput.isEmpty(),Ae=!!this._endInput&&this._endInput.isEmpty();return se&&Ae}setDescribedByIds(se){this._ariaDescribedBy=se.length?se.join(" "):null}onContainerClick(){!this.focused&&!this.disabled&&(this._model&&this._model.selection.start?this._endInput.focus():this._startInput.focus())}ngAfterContentInit(){this._model&&this._registerModel(this._model),(0,A.T)(this._startInput.stateChanges,this._endInput.stateChanges).subscribe(()=>{this.stateChanges.next(void 0)})}ngOnChanges(se){Ce(se,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._closedSubscription.unsubscribe(),this.stateChanges.complete()}getStartValue(){return this.value?this.value.start:null}getThemePalette(){return this._formField?this._formField.color:void 0}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():null}_getInputMirrorValue(){return this._startInput?this._startInput.getMirrorValue():""}_shouldHidePlaceholders(){return!!this._startInput&&!this._startInput.isEmpty()}_handleChildValueChange(){this.stateChanges.next(void 0),this._changeDetectorRef.markForCheck()}_openDatepicker(){this._rangePicker&&this._rangePicker.open()}_shouldHideSeparator(){return(!this._formField||this._formField.getLabelId()&&!this._formField._shouldLabelFloat())&&this.empty}_getAriaLabelledby(){const se=this._formField;return se&&se._hasFloatingLabel()?se._labelId:null}_updateFocus(se){this.focused=null!==se,this.stateChanges.next()}_revalidate(){this._startInput&&this._startInput._validatorOnChange(),this._endInput&&this._endInput._validatorOnChange()}_registerModel(se){this._startInput&&this._startInput._registerModel(se),this._endInput&&this._endInput._registerModel(se)}}zn.\u0275fac=function(se){return new(se||zn)(s.Y36(s.sBO),s.Y36(s.SBq),s.Y36(pe.gN,10),s.Y36(k._A,8),s.Y36(le.G_,8))},zn.\u0275cmp=s.Xpm({type:zn,selectors:[["mat-date-range-input"]],contentQueries:function(se,Ae,ft){if(1&se&&(s.Suo(ft,Rt,5),s.Suo(ft,Xt,5)),2&se){let Lt;s.iGM(Lt=s.CRH())&&(Ae._startInput=Lt.first),s.iGM(Lt=s.CRH())&&(Ae._endInput=Lt.first)}},hostAttrs:["role","group",1,"mat-date-range-input"],hostVars:8,hostBindings:function(se,Ae){2&se&&(s.uIk("id",null)("aria-labelledby",Ae._getAriaLabelledby())("aria-describedby",Ae._ariaDescribedBy)("data-mat-calendar",Ae.rangePicker?Ae.rangePicker.id:null),s.ekj("mat-date-range-input-hide-placeholders",Ae._shouldHidePlaceholders())("mat-date-range-input-required",Ae.required))},inputs:{rangePicker:"rangePicker",required:"required",dateFilter:"dateFilter",min:"min",max:"max",disabled:"disabled",separator:"separator",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd"},exportAs:["matDateRangeInput"],features:[s._Bn([{provide:le.Eo,useExisting:zn},{provide:He,useExisting:zn}]),s.TTD],ngContentSelectors:["input[matStartDate]","input[matEndDate]"],decls:9,vars:4,consts:[["cdkMonitorSubtreeFocus","",1,"mat-date-range-input-container",3,"cdkFocusChange"],[1,"mat-date-range-input-start-wrapper"],["aria-hidden","true",1,"mat-date-range-input-mirror"],[1,"mat-date-range-input-separator"],[1,"mat-date-range-input-end-wrapper"]],template:function(se,Ae){1&se&&(s.F$t(J),s.TgZ(0,"div",0),s.NdJ("cdkFocusChange",function(Lt){return Ae._updateFocus(Lt)}),s.TgZ(1,"div",1),s.Hsn(2),s.TgZ(3,"span",2),s._uU(4),s.qZA()(),s.TgZ(5,"span",3),s._uU(6),s.qZA(),s.TgZ(7,"div",4),s.Hsn(8,1),s.qZA()()),2&se&&(s.xp6(4),s.Oqu(Ae._getInputMirrorValue()),s.xp6(1),s.ekj("mat-date-range-input-separator-hidden",Ae._shouldHideSeparator()),s.xp6(1),s.Oqu(Ae.separator))},dependencies:[e.kH],styles:[".mat-date-range-input{display:block;width:100%}.mat-date-range-input-container{display:flex;align-items:center}.mat-date-range-input-separator{transition:opacity 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);margin:0 4px}._mat-animation-noopable .mat-date-range-input-separator{transition:none}.mat-date-range-input-separator-hidden{-webkit-user-select:none;user-select:none;opacity:0;transition:none}.mat-date-range-input-inner{font:inherit;background:rgba(0,0,0,0);color:currentColor;border:none;outline:none;padding:0;margin:0;vertical-align:bottom;text-align:inherit;-webkit-appearance:none;width:100%}.mat-date-range-input-inner:-moz-ui-invalid{box-shadow:none}.mat-date-range-input-inner::placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-moz-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner::-webkit-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-date-range-input-inner:-ms-input-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::-moz-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-moz-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner::-webkit-input-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner::-webkit-input-placeholder{opacity:0}.mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{-webkit-user-select:none;user-select:none;color:rgba(0,0,0,0) !important;-webkit-text-fill-color:rgba(0,0,0,0);transition:none}.cdk-high-contrast-active .mat-form-field-hide-placeholder .mat-date-range-input-inner:-ms-input-placeholder,.cdk-high-contrast-active .mat-date-range-input-hide-placeholders .mat-date-range-input-inner:-ms-input-placeholder{opacity:0}._mat-animation-noopable .mat-date-range-input-inner::placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner::-moz-placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner::-webkit-input-placeholder{transition:none}._mat-animation-noopable .mat-date-range-input-inner:-ms-input-placeholder{transition:none}.mat-date-range-input-mirror{-webkit-user-select:none;user-select:none;visibility:hidden;white-space:nowrap;display:inline-block;min-width:2px}.mat-date-range-input-start-wrapper{position:relative;overflow:hidden;max-width:calc(50% - 4px)}.mat-date-range-input-start-wrapper .mat-date-range-input-inner{position:absolute;top:0;left:0}.mat-date-range-input-end-wrapper{flex-grow:1;max-width:calc(50% - 4px)}.mat-form-field-type-mat-date-range-input .mat-form-field-infix{width:200px}"],encapsulation:2,changeDetection:0});class Tn extends _t{_forwardContentValues(se){super._forwardContentValues(se);const Ae=this.datepickerInput;Ae&&(se.comparisonStart=Ae.comparisonStart,se.comparisonEnd=Ae.comparisonEnd)}}Tn.\u0275fac=function(){let ht;return function(Ae){return(ht||(ht=s.n5z(Tn)))(Ae||Tn)}}(),Tn.\u0275cmp=s.Xpm({type:Tn,selectors:[["mat-date-range-picker"]],exportAs:["matDateRangePicker"],features:[s._Bn([q,pt,{provide:_t,useExisting:Tn}]),s.qOj],decls:0,vars:0,template:function(se,Ae){},encapsulation:2,changeDetection:0});class Yn{constructor(se){this._datepicker=se}_applySelection(){this._datepicker._applyPendingSelection(),this._datepicker.close()}}Yn.\u0275fac=function(se){return new(se||Yn)(s.Y36(_t))},Yn.\u0275dir=s.lG2({type:Yn,selectors:[["","matDatepickerApply",""],["","matDateRangePickerApply",""]],hostBindings:function(se,Ae){1&se&&s.NdJ("click",function(){return Ae._applySelection()})}});class Mt{constructor(se){this._datepicker=se}}Mt.\u0275fac=function(se){return new(se||Mt)(s.Y36(_t))},Mt.\u0275dir=s.lG2({type:Mt,selectors:[["","matDatepickerCancel",""],["","matDateRangePickerCancel",""]],hostBindings:function(se,Ae){1&se&&s.NdJ("click",function(){return Ae._datepicker.close()})}});class Ze{constructor(se,Ae){this._datepicker=se,this._viewContainerRef=Ae}ngAfterViewInit(){this._portal=new _.UE(this._template,this._viewContainerRef),this._datepicker.registerActions(this._portal)}ngOnDestroy(){this._datepicker.removeActions(this._portal),this._portal&&this._portal.isAttached&&this._portal?.detach()}}Ze.\u0275fac=function(se){return new(se||Ze)(s.Y36(_t),s.Y36(s.s_b))},Ze.\u0275cmp=s.Xpm({type:Ze,selectors:[["mat-datepicker-actions"],["mat-date-range-picker-actions"]],viewQuery:function(se,Ae){if(1&se&&s.Gf(s.Rgc,5),2&se){let ft;s.iGM(ft=s.CRH())&&(Ae._template=ft.first)}},ngContentSelectors:h,decls:1,vars:0,consts:[[1,"mat-datepicker-actions"]],template:function(se,Ae){1&se&&(s.F$t(),s.YNc(0,ke,2,0,"ng-template"))},styles:[".mat-datepicker-actions{display:flex;justify-content:flex-end;align-items:center;padding:0 8px 8px 8px}.mat-datepicker-actions .mat-button-base+.mat-button-base{margin-left:8px}[dir=rtl] .mat-datepicker-actions .mat-button-base+.mat-button-base{margin-left:0;margin-right:8px}"],encapsulation:2,changeDetection:0});class Be{}Be.\u0275fac=function(se){return new(se||Be)},Be.\u0275mod=s.oAB({type:Be}),Be.\u0275inj=s.cJS({providers:[je,te],imports:[E.ez,D.ot,t.U8,e.rt,_.eL,k.BQ,u.ZD]})},640:(Ve,X,m)=>{"use strict";m.d(X,{WI:()=>J,Bq:()=>Fe,uw:()=>Ie,ZT:()=>et,Is:()=>fe,so:()=>N});var e=m(4218),t=m(5895),_=m(9107),E=m(7520),s=m(4666),D=m(2560),u=m(8456),k=m(253),p=m(1954),S=m(745),A=m(2867),P=m(4874);function M(ee,H){}class z{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0}}class W extends E.en{constructor(H,q,Oe,Re,oe,pt,it,Ct){super(),this._elementRef=H,this._focusTrapFactory=q,this._config=Re,this._interactivityChecker=oe,this._ngZone=pt,this._overlayRef=it,this._focusMonitor=Ct,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=un=>{this._portalOutlet.hasAttached();const Nt=this._portalOutlet.attachDomPortal(un);return this._contentAttached(),Nt},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=Oe}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(H){this._portalOutlet.hasAttached();const q=this._portalOutlet.attachComponentPortal(H);return this._contentAttached(),q}attachTemplatePortal(H){this._portalOutlet.hasAttached();const q=this._portalOutlet.attachTemplatePortal(H);return this._contentAttached(),q}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(H,q){this._interactivityChecker.isFocusable(H)||(H.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const Oe=()=>{H.removeEventListener("blur",Oe),H.removeEventListener("mousedown",Oe),H.removeAttribute("tabindex")};H.addEventListener("blur",Oe),H.addEventListener("mousedown",Oe)})),H.focus(q)}_focusByCssSelector(H,q){let Oe=this._elementRef.nativeElement.querySelector(H);Oe&&this._forceFocus(Oe,q)}_trapFocus(){const H=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||H.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(q=>{q||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const H=this._config.restoreFocus;let q=null;if("string"==typeof H?q=this._document.querySelector(H):"boolean"==typeof H?q=H?this._elementFocusedBeforeDialogWasOpened:null:H&&(q=H),this._config.restoreFocus&&q&&"function"==typeof q.focus){const Oe=(0,_.ht)(),Re=this._elementRef.nativeElement;(!Oe||Oe===this._document.body||Oe===Re||Re.contains(Oe))&&(this._focusMonitor?(this._focusMonitor.focusVia(q,this._closeInteractionType),this._closeInteractionType=null):q.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const H=this._elementRef.nativeElement,q=(0,_.ht)();return H===q||H.contains(q)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,_.ht)())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}W.\u0275fac=function(H){return new(H||W)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(z),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(e.tE))},W.\u0275cmp=D.Xpm({type:W,selectors:[["cdk-dialog-container"]],viewQuery:function(H,q){if(1&H&&D.Gf(E.Pl,7),2&H){let Oe;D.iGM(Oe=D.CRH())&&(q._portalOutlet=Oe.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(H,q){2&H&&D.uIk("id",q._config.id||null)("role",q._config.role)("aria-modal",q._config.ariaModal)("aria-labelledby",q._config.ariaLabel?null:q._ariaLabelledBy)("aria-label",q._config.ariaLabel)("aria-describedby",q._config.ariaDescribedBy||null)},features:[D.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(H,q){1&H&&D.YNc(0,M,0,0,"ng-template",0)},dependencies:[E.Pl],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2});class Z{constructor(H,q){this.overlayRef=H,this.config=q,this.closed=new k.x,this.disableClose=q.disableClose,this.backdropClick=H.backdropClick(),this.keydownEvents=H.keydownEvents(),this.outsidePointerEvents=H.outsidePointerEvents(),this.id=q.id,this.keydownEvents.subscribe(Oe=>{Oe.keyCode===u.hY&&!this.disableClose&&!(0,u.Vb)(Oe)&&(Oe.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})})}close(H,q){if(this.containerInstance){const Oe=this.closed;this.containerInstance._closeInteractionType=q?.focusOrigin||"program",this.overlayRef.dispose(),Oe.next(H),Oe.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(H="",q=""){return this.overlayRef.updateSize({width:H,height:q}),this}addPanelClass(H){return this.overlayRef.addPanelClass(H),this}removePanelClass(H){return this.overlayRef.removePanelClass(H),this}}const j=new D.OlP("DialogScrollStrategy"),ae=new D.OlP("DialogData"),re=new D.OlP("DefaultDialogConfig");const le={provide:j,deps:[t.aV],useFactory:function pe(ee){return()=>ee.scrollStrategies.block()}};let ve=0;class de{constructor(H,q,Oe,Re,oe,pt){this._overlay=H,this._injector=q,this._defaultOptions=Oe,this._parentDialog=Re,this._overlayContainer=oe,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new k.x,this._afterOpenedAtThisLevel=new k.x,this._ariaHiddenElements=new Map,this.afterAllClosed=(0,p.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,P.O)(void 0))),this._scrollStrategy=pt}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}open(H,q){(q={...this._defaultOptions||new z,...q}).id=q.id||"cdk-dialog-"+ve++,q.id&&this.getDialogById(q.id);const Re=this._getOverlayConfig(q),oe=this._overlay.create(Re),pt=new Z(oe,q),it=this._attachContainer(oe,pt,q);return pt.containerInstance=it,this._attachDialogContent(H,pt,it,q),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(pt),pt.closed.subscribe(()=>this._removeOpenDialog(pt,!0)),this.afterOpened.next(pt),pt}closeAll(){$(this.openDialogs,H=>H.close())}getDialogById(H){return this.openDialogs.find(q=>q.id===H)}ngOnDestroy(){$(this._openDialogsAtThisLevel,H=>{!1===H.config.closeOnDestroy&&this._removeOpenDialog(H,!1)}),$(this._openDialogsAtThisLevel,H=>H.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(H){const q=new t.X_({positionStrategy:H.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:H.scrollStrategy||this._scrollStrategy(),panelClass:H.panelClass,hasBackdrop:H.hasBackdrop,direction:H.direction,minWidth:H.minWidth,minHeight:H.minHeight,maxWidth:H.maxWidth,maxHeight:H.maxHeight,width:H.width,height:H.height,disposeOnNavigation:H.closeOnNavigation});return H.backdropClass&&(q.backdropClass=H.backdropClass),q}_attachContainer(H,q,Oe){const Re=Oe.injector||Oe.viewContainerRef?.injector,oe=[{provide:z,useValue:Oe},{provide:Z,useValue:q},{provide:t.Iu,useValue:H}];let pt;Oe.container?"function"==typeof Oe.container?pt=Oe.container:(pt=Oe.container.type,oe.push(...Oe.container.providers(Oe))):pt=W;const it=new E.C5(pt,Oe.viewContainerRef,D.zs3.create({parent:Re||this._injector,providers:oe}),Oe.componentFactoryResolver);return H.attach(it).instance}_attachDialogContent(H,q,Oe,Re){if(H instanceof D.Rgc){const oe=this._createInjector(Re,q,Oe,void 0);let pt={$implicit:Re.data,dialogRef:q};Re.templateContext&&(pt={...pt,..."function"==typeof Re.templateContext?Re.templateContext():Re.templateContext}),Oe.attachTemplatePortal(new E.UE(H,null,pt,oe))}else{const oe=this._createInjector(Re,q,Oe,this._injector),pt=Oe.attachComponentPortal(new E.C5(H,Re.viewContainerRef,oe,Re.componentFactoryResolver));q.componentInstance=pt.instance}}_createInjector(H,q,Oe,Re){const oe=H.injector||H.viewContainerRef?.injector,pt=[{provide:ae,useValue:H.data},{provide:Z,useValue:q}];return H.providers&&("function"==typeof H.providers?pt.push(...H.providers(q,H,Oe)):pt.push(...H.providers)),H.direction&&(!oe||!oe.get(A.Is,null,{optional:!0}))&&pt.push({provide:A.Is,useValue:{value:H.direction,change:(0,S.of)()}}),D.zs3.create({parent:oe||Re,providers:pt})}_removeOpenDialog(H,q){const Oe=this.openDialogs.indexOf(H);Oe>-1&&(this.openDialogs.splice(Oe,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((Re,oe)=>{Re?oe.setAttribute("aria-hidden",Re):oe.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),q&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const H=this._overlayContainer.getContainerElement();if(H.parentElement){const q=H.parentElement.children;for(let Oe=q.length-1;Oe>-1;Oe--){const Re=q[Oe];Re!==H&&"SCRIPT"!==Re.nodeName&&"STYLE"!==Re.nodeName&&!Re.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(Re,Re.getAttribute("aria-hidden")),Re.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const H=this._parentDialog;return H?H._getAfterAllClosed():this._afterAllClosedAtThisLevel}}function $(ee,H){let q=ee.length;for(;q--;)H(ee[q])}de.\u0275fac=function(H){return new(H||de)(D.LFG(t.aV),D.LFG(D.zs3),D.LFG(re,8),D.LFG(de,12),D.LFG(t.Xj),D.LFG(j))},de.\u0275prov=D.Yz7({token:de,factory:de.\u0275fac});class ue{}ue.\u0275fac=function(H){return new(H||ue)},ue.\u0275mod=D.oAB({type:ue}),ue.\u0275inj=D.cJS({providers:[de,le],imports:[t.U8,E.eL,e.rt,E.eL]});var w=m(207),n=m(6646),o=m(116),h=m(9295),d=m(4851);function y(ee,H){}const L={params:{enterAnimationDuration:"150ms",exitAnimationDuration:"75ms"}},B={dialogContainer:(0,d.X$)("dialogContainer",[(0,d.SB)("void, exit",(0,d.oB)({opacity:0,transform:"scale(0.7)"})),(0,d.SB)("enter",(0,d.oB)({transform:"none"})),(0,d.eR)("* => enter",(0,d.ru)([(0,d.jt)("{{enterAnimationDuration}} cubic-bezier(0, 0, 0.2, 1)",(0,d.oB)({transform:"none",opacity:1})),(0,d.IO)("@*",(0,d.pV)(),{optional:!0})]),L),(0,d.eR)("* => void, * => exit",(0,d.ru)([(0,d.jt)("{{exitAnimationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)",(0,d.oB)({opacity:0})),(0,d.IO)("@*",(0,d.pV)(),{optional:!0})]),L)])};class v{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0,this.enterAnimationDuration=L.params.enterAnimationDuration,this.exitAnimationDuration=L.params.exitAnimationDuration}}class a extends W{constructor(H,q,Oe,Re,oe,pt,it,Ct){super(H,q,Oe,Re,oe,pt,it,Ct),this._animationStateChanged=new D.vpe}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(H){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:H})}}a.\u0275fac=function(H){return new(H||a)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(v),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(e.tE))},a.\u0275cmp=D.Xpm({type:a,selectors:[["ng-component"]],features:[D.qOj],decls:0,vars:0,template:function(H,q){},encapsulation:2});class C extends a{constructor(H,q,Oe,Re,oe,pt,it,Ct,un){super(H,q,Oe,Re,oe,pt,it,un),this._changeDetectorRef=Ct,this._state="enter"}_onAnimationDone({toState:H,totalTime:q}){"enter"===H?this._openAnimationDone(q):"exit"===H&&this._animationStateChanged.next({state:"closed",totalTime:q})}_onAnimationStart({toState:H,totalTime:q}){"enter"===H?this._animationStateChanged.next({state:"opening",totalTime:q}):("exit"===H||"void"===H)&&this._animationStateChanged.next({state:"closing",totalTime:q})}_startExitAnimation(){this._state="exit",this._changeDetectorRef.markForCheck()}_getAnimationState(){return{value:this._state,params:{enterAnimationDuration:this._config.enterAnimationDuration||L.params.enterAnimationDuration,exitAnimationDuration:this._config.exitAnimationDuration||L.params.exitAnimationDuration}}}}C.\u0275fac=function(H){return new(H||C)(D.Y36(D.SBq),D.Y36(e.qV),D.Y36(s.K0,8),D.Y36(v),D.Y36(e.ic),D.Y36(D.R0b),D.Y36(t.Iu),D.Y36(D.sBO),D.Y36(e.tE))},C.\u0275cmp=D.Xpm({type:C,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-dialog-container"],hostVars:7,hostBindings:function(H,q){1&H&&D.WFA("@dialogContainer.start",function(Re){return q._onAnimationStart(Re)})("@dialogContainer.done",function(Re){return q._onAnimationDone(Re)}),2&H&&(D.Ikx("id",q._config.id),D.uIk("aria-modal",q._config.ariaModal)("role",q._config.role)("aria-labelledby",q._config.ariaLabel?null:q._ariaLabelledBy)("aria-label",q._config.ariaLabel)("aria-describedby",q._config.ariaDescribedBy||null),D.d8E("@dialogContainer",q._getAnimationState()))},features:[D.qOj],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(H,q){1&H&&D.YNc(0,y,0,0,"ng-template",0)},dependencies:[E.Pl],styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions.mat-dialog-actions-align-center,.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions.mat-dialog-actions-align-end,.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}"],encapsulation:2,data:{animation:[B.dialogContainer]}});class N{constructor(H,q,Oe){this._ref=H,this._containerInstance=Oe,this._afterOpened=new k.x,this._beforeClosed=new k.x,this._state=0,this.disableClose=q.disableClose,this.id=H.id,Oe._animationStateChanged.pipe((0,o.h)(Re=>"opened"===Re.state),(0,h.q)(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),Oe._animationStateChanged.pipe((0,o.h)(Re=>"closed"===Re.state),(0,h.q)(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),H.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),(0,n.T)(this.backdropClick(),this.keydownEvents().pipe((0,o.h)(Re=>Re.keyCode===u.hY&&!this.disableClose&&!(0,u.Vb)(Re)))).subscribe(Re=>{this.disableClose||(Re.preventDefault(),F(this,"keydown"===Re.type?"keyboard":"mouse"))})}close(H){this._result=H,this._containerInstance._animationStateChanged.pipe((0,o.h)(q=>"closing"===q.state),(0,h.q)(1)).subscribe(q=>{this._beforeClosed.next(H),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),q.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(H){let q=this._ref.config.positionStrategy;return H&&(H.left||H.right)?H.left?q.left(H.left):q.right(H.right):q.centerHorizontally(),H&&(H.top||H.bottom)?H.top?q.top(H.top):q.bottom(H.bottom):q.centerVertically(),this._ref.updatePosition(),this}updateSize(H="",q=""){return this._ref.updateSize(H,q),this}addPanelClass(H){return this._ref.addPanelClass(H),this}removePanelClass(H){return this._ref.removePanelClass(H),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function F(ee,H,q){return ee._closeInteractionType=H,ee.close(q)}const J=new D.OlP("MatDialogData"),Fe=new D.OlP("mat-dialog-default-options"),ke=new D.OlP("mat-dialog-scroll-strategy");const We={provide:ke,deps:[t.aV],useFactory:function je(ee){return()=>ee.scrollStrategies.block()}};let be=0;class Ye{constructor(H,q,Oe,Re,oe,pt,it,Ct,un,Nt){this._overlay=H,this._defaultOptions=Oe,this._parentDialog=Re,this._dialogRefConstructor=it,this._dialogContainerType=Ct,this._dialogDataToken=un,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new k.x,this._afterOpenedAtThisLevel=new k.x,this._idPrefix="mat-dialog-",this.afterAllClosed=(0,p.P)(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,P.O)(void 0))),this._scrollStrategy=pt,this._dialog=q.get(de)}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const H=this._parentDialog;return H?H._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(H,q){let Oe;(q={...this._defaultOptions||new v,...q}).id=q.id||`${this._idPrefix}${be++}`,q.scrollStrategy=q.scrollStrategy||this._scrollStrategy();const Re=this._dialog.open(H,{...q,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:v,useValue:q},{provide:z,useValue:q}]},templateContext:()=>({dialogRef:Oe}),providers:(oe,pt,it)=>(Oe=new this._dialogRefConstructor(oe,q,it),Oe.updatePosition(q?.position),[{provide:this._dialogContainerType,useValue:it},{provide:this._dialogDataToken,useValue:pt.data},{provide:this._dialogRefConstructor,useValue:Oe}])});return Oe.componentInstance=Re.componentInstance,this.openDialogs.push(Oe),this.afterOpened.next(Oe),Oe.afterClosed().subscribe(()=>{const oe=this.openDialogs.indexOf(Oe);oe>-1&&(this.openDialogs.splice(oe,1),this.openDialogs.length||this._getAfterAllClosed().next())}),Oe}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(H){return this.openDialogs.find(q=>q.id===H)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(H){let q=H.length;for(;q--;)H[q].close()}}Ye.\u0275fac=function(H){D.$Z()},Ye.\u0275prov=D.Yz7({token:Ye,factory:Ye.\u0275fac});class Ie extends Ye{constructor(H,q,Oe,Re,oe,pt,it,Ct){super(H,q,Re,pt,it,oe,N,C,J,Ct)}}Ie.\u0275fac=function(H){return new(H||Ie)(D.LFG(t.aV),D.LFG(D.zs3),D.LFG(s.Ye,8),D.LFG(Fe,8),D.LFG(ke),D.LFG(Ie,12),D.LFG(t.Xj),D.LFG(D.QbO,8))},Ie.\u0275prov=D.Yz7({token:Ie,factory:Ie.\u0275fac});let ge=0;class et{constructor(H,q,Oe){this.dialogRef=H,this._elementRef=q,this._dialog=Oe,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=ne(this._elementRef,this._dialog.openDialogs))}ngOnChanges(H){const q=H._matDialogClose||H._matDialogCloseResult;q&&(this.dialogResult=q.currentValue)}_onButtonClick(H){F(this.dialogRef,0===H.screenX&&0===H.screenY?"keyboard":"mouse",this.dialogResult)}}et.\u0275fac=function(H){return new(H||et)(D.Y36(N,8),D.Y36(D.SBq),D.Y36(Ie))},et.\u0275dir=D.lG2({type:et,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(H,q){1&H&&D.NdJ("click",function(Re){return q._onButtonClick(Re)}),2&H&&D.uIk("aria-label",q.ariaLabel||null)("type",q.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[D.TTD]});class ut{constructor(H,q,Oe){this._dialogRef=H,this._elementRef=q,this._dialog=Oe,this.id="mat-dialog-title-"+ge++}ngOnInit(){this._dialogRef||(this._dialogRef=ne(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const H=this._dialogRef._containerInstance;H&&!H._ariaLabelledBy&&(H._ariaLabelledBy=this.id)})}}ut.\u0275fac=function(H){return new(H||ut)(D.Y36(N,8),D.Y36(D.SBq),D.Y36(Ie))},ut.\u0275dir=D.lG2({type:ut,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-dialog-title"],hostVars:1,hostBindings:function(H,q){2&H&&D.Ikx("id",q.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]});class Le{}Le.\u0275fac=function(H){return new(H||Le)},Le.\u0275dir=D.lG2({type:Le,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-dialog-content"]});class De{constructor(){this.align="start"}}function ne(ee,H){let q=ee.nativeElement.parentElement;for(;q&&!q.classList.contains("mat-dialog-container");)q=q.parentElement;return q?H.find(Oe=>Oe.id===q.id):null}De.\u0275fac=function(H){return new(H||De)},De.\u0275dir=D.lG2({type:De,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-dialog-actions"],hostVars:4,hostBindings:function(H,q){2&H&&D.ekj("mat-dialog-actions-align-center","center"===q.align)("mat-dialog-actions-align-end","end"===q.align)},inputs:{align:"align"}});class fe{}fe.\u0275fac=function(H){return new(H||fe)},fe.\u0275mod=D.oAB({type:fe}),fe.\u0275inj=D.cJS({providers:[Ie,We],imports:[ue,t.U8,E.eL,w.BQ,w.BQ]})},1528:(Ve,X,m)=>{"use strict";m.d(X,{d:()=>E,t:()=>s});var e=m(2560),t=m(8971),_=m(207);class E{constructor(){this._vertical=!1,this._inset=!1}get vertical(){return this._vertical}set vertical(u){this._vertical=(0,t.Ig)(u)}get inset(){return this._inset}set inset(u){this._inset=(0,t.Ig)(u)}}E.\u0275fac=function(u){return new(u||E)},E.\u0275cmp=e.Xpm({type:E,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(u,k){2&u&&(e.uIk("aria-orientation",k.vertical?"vertical":"horizontal"),e.ekj("mat-divider-vertical",k.vertical)("mat-divider-horizontal",!k.vertical)("mat-divider-inset",k.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(u,k){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}"],encapsulation:2,changeDetection:0});class s{}s.\u0275fac=function(u){return new(u||s)},s.\u0275mod=e.oAB({type:s}),s.\u0275inj=e.cJS({imports:[_.BQ,_.BQ]})},3012:(Ve,X,m)=>{"use strict";m.d(X,{pp:()=>We,To:()=>be,ib:()=>N,u4:()=>Ge,yz:()=>ke,yK:()=>je});var e=m(2560),t=m(1755),_=m(8971),E=m(253),s=m(7714);let D=0;const u=new e.OlP("CdkAccordion");class k{constructor(){this._stateChanges=new E.x,this._openCloseAllActions=new E.x,this.id="cdk-accordion-"+D++,this._multi=!1}get multi(){return this._multi}set multi(Ie){this._multi=(0,_.Ig)(Ie)}openAll(){this._multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(Ie){this._stateChanges.next(Ie)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}}k.\u0275fac=function(Ie){return new(Ie||k)},k.\u0275dir=e.lG2({type:k,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:"multi"},exportAs:["cdkAccordion"],features:[e._Bn([{provide:u,useExisting:k}]),e.TTD]});let p=0;class S{constructor(Ie,ge,et){this.accordion=Ie,this._changeDetectorRef=ge,this._expansionDispatcher=et,this._openCloseAllSubscription=s.w0.EMPTY,this.closed=new e.vpe,this.opened=new e.vpe,this.destroyed=new e.vpe,this.expandedChange=new e.vpe,this.id="cdk-accordion-child-"+p++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=()=>{},this._removeUniqueSelectionListener=et.listen((ut,Le)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===Le&&this.id!==ut&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}get expanded(){return this._expanded}set expanded(Ie){if(Ie=(0,_.Ig)(Ie),this._expanded!==Ie){if(this._expanded=Ie,this.expandedChange.emit(Ie),Ie){this.opened.emit();const ge=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,ge)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}get disabled(){return this._disabled}set disabled(Ie){this._disabled=(0,_.Ig)(Ie)}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(Ie=>{this.disabled||(this.expanded=Ie)})}}S.\u0275fac=function(Ie){return new(Ie||S)(e.Y36(u,12),e.Y36(e.sBO),e.Y36(t.A8))},S.\u0275dir=e.lG2({type:S,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:"expanded",disabled:"disabled"},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[e._Bn([{provide:u,useValue:void 0}])]});class A{}A.\u0275fac=function(Ie){return new(Ie||A)},A.\u0275mod=e.oAB({type:A}),A.\u0275inj=e.cJS({});var P=m(7520),M=m(4666),z=m(207),I=m(4218),W=m(8977),Z=m(4874),j=m(116),ae=m(9295),re=m(8456),pe=m(591),le=m(6646),ve=m(4851);const de=["body"];function $(Ye,Ie){}const ue=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]];function n(Ye,Ie){if(1&Ye&&e._UZ(0,"span",2),2&Ye){const ge=e.oxw();e.Q6J("@indicatorRotate",ge._getExpandedState())}}const o=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],d=new e.OlP("MAT_ACCORDION"),y="225ms cubic-bezier(0.4,0.0,0.2,1)",L={indicatorRotate:(0,ve.X$)("indicatorRotate",[(0,ve.SB)("collapsed, void",(0,ve.oB)({transform:"rotate(0deg)"})),(0,ve.SB)("expanded",(0,ve.oB)({transform:"rotate(180deg)"})),(0,ve.eR)("expanded <=> collapsed, void => collapsed",(0,ve.jt)(y))]),bodyExpansion:(0,ve.X$)("bodyExpansion",[(0,ve.SB)("collapsed, void",(0,ve.oB)({height:"0px",visibility:"hidden"})),(0,ve.SB)("expanded",(0,ve.oB)({height:"*",visibility:"visible"})),(0,ve.eR)("expanded <=> collapsed, void => collapsed",(0,ve.jt)(y))])},B=new e.OlP("MAT_EXPANSION_PANEL");class v{constructor(Ie,ge){this._template=Ie,this._expansionPanel=ge}}v.\u0275fac=function(Ie){return new(Ie||v)(e.Y36(e.Rgc),e.Y36(B,8))},v.\u0275dir=e.lG2({type:v,selectors:[["ng-template","matExpansionPanelContent",""]]});let a=0;const C=new e.OlP("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS");class N extends S{constructor(Ie,ge,et,ut,Le,De,ne){super(Ie,ge,et),this._viewContainerRef=ut,this._animationMode=De,this._hideToggle=!1,this.afterExpand=new e.vpe,this.afterCollapse=new e.vpe,this._inputChanges=new E.x,this._headerId="mat-expansion-panel-header-"+a++,this._bodyAnimationDone=new E.x,this.accordion=Ie,this._document=Le,this._bodyAnimationDone.pipe((0,W.x)((fe,ee)=>fe.fromState===ee.fromState&&fe.toState===ee.toState)).subscribe(fe=>{"void"!==fe.fromState&&("expanded"===fe.toState?this.afterExpand.emit():"collapsed"===fe.toState&&this.afterCollapse.emit())}),ne&&(this.hideToggle=ne.hideToggle)}get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(Ie){this._hideToggle=(0,_.Ig)(Ie)}get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(Ie){this._togglePosition=Ie}_hasSpacing(){return!!this.accordion&&(this.expanded&&"default"===this.accordion.displayMode)}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe((0,Z.O)(null),(0,j.h)(()=>this.expanded&&!this._portal),(0,ae.q)(1)).subscribe(()=>{this._portal=new P.UE(this._lazyContent._template,this._viewContainerRef)})}ngOnChanges(Ie){this._inputChanges.next(Ie)}ngOnDestroy(){super.ngOnDestroy(),this._bodyAnimationDone.complete(),this._inputChanges.complete()}_containsFocus(){if(this._body){const Ie=this._document.activeElement,ge=this._body.nativeElement;return Ie===ge||ge.contains(Ie)}return!1}}N.\u0275fac=function(Ie){return new(Ie||N)(e.Y36(d,12),e.Y36(e.sBO),e.Y36(t.A8),e.Y36(e.s_b),e.Y36(M.K0),e.Y36(e.QbO,8),e.Y36(C,8))},N.\u0275cmp=e.Xpm({type:N,selectors:[["mat-expansion-panel"]],contentQueries:function(Ie,ge,et){if(1&Ie&&e.Suo(et,v,5),2&Ie){let ut;e.iGM(ut=e.CRH())&&(ge._lazyContent=ut.first)}},viewQuery:function(Ie,ge){if(1&Ie&&e.Gf(de,5),2&Ie){let et;e.iGM(et=e.CRH())&&(ge._body=et.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:6,hostBindings:function(Ie,ge){2&Ie&&e.ekj("mat-expanded",ge.expanded)("_mat-animation-noopable","NoopAnimations"===ge._animationMode)("mat-expansion-panel-spacing",ge._hasSpacing())},inputs:{disabled:"disabled",expanded:"expanded",hideToggle:"hideToggle",togglePosition:"togglePosition"},outputs:{opened:"opened",closed:"closed",expandedChange:"expandedChange",afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[e._Bn([{provide:d,useValue:void 0},{provide:B,useExisting:N}]),e.qOj,e.TTD],ngContentSelectors:["mat-expansion-panel-header","*","mat-action-row"],decls:7,vars:4,consts:[["role","region",1,"mat-expansion-panel-content",3,"id"],["body",""],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(Ie,ge){1&Ie&&(e.F$t(ue),e.Hsn(0),e.TgZ(1,"div",0,1),e.NdJ("@bodyExpansion.done",function(ut){return ge._bodyAnimationDone.next(ut)}),e.TgZ(3,"div",2),e.Hsn(4,1),e.YNc(5,$,0,0,"ng-template",3),e.qZA(),e.Hsn(6,2),e.qZA()),2&Ie&&(e.xp6(1),e.Q6J("@bodyExpansion",ge._getExpandedState())("id",ge.id),e.uIk("aria-labelledby",ge._headerId),e.xp6(4),e.Q6J("cdkPortalOutlet",ge._portal))},dependencies:[P.Pl],styles:['.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;border-radius:4px;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:4px;border-top-left-radius:4px}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible}.mat-expansion-panel-content[style*="visibility: hidden"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2,data:{animation:[L.bodyExpansion]},changeDetection:0});class F{}F.\u0275fac=function(Ie){return new(Ie||F)},F.\u0275dir=e.lG2({type:F,selectors:[["mat-action-row"]],hostAttrs:[1,"mat-action-row"]});const Fe=(0,z.sb)(class J{});class ke extends Fe{constructor(Ie,ge,et,ut,Le,De,ne){super(),this.panel=Ie,this._element=ge,this._focusMonitor=et,this._changeDetectorRef=ut,this._animationMode=De,this._parentChangeSubscription=s.w0.EMPTY;const fe=Ie.accordion?Ie.accordion._stateChanges.pipe((0,j.h)(ee=>!(!ee.hideToggle&&!ee.togglePosition))):pe.E;this.tabIndex=parseInt(ne||"")||0,this._parentChangeSubscription=(0,le.T)(Ie.opened,Ie.closed,fe,Ie._inputChanges.pipe((0,j.h)(ee=>!!(ee.hideToggle||ee.disabled||ee.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),Ie.closed.pipe((0,j.h)(()=>Ie._containsFocus())).subscribe(()=>et.focusVia(ge,"program")),Le&&(this.expandedHeight=Le.expandedHeight,this.collapsedHeight=Le.collapsedHeight)}get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){const Ie=this._isExpanded();return Ie&&this.expandedHeight?this.expandedHeight:!Ie&&this.collapsedHeight?this.collapsedHeight:null}_keydown(Ie){switch(Ie.keyCode){case re.L_:case re.K5:(0,re.Vb)(Ie)||(Ie.preventDefault(),this._toggle());break;default:return void(this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(Ie))}}focus(Ie,ge){Ie?this._focusMonitor.focusVia(this._element,Ie,ge):this._element.nativeElement.focus(ge)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(Ie=>{Ie&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}}ke.\u0275fac=function(Ie){return new(Ie||ke)(e.Y36(N,1),e.Y36(e.SBq),e.Y36(I.tE),e.Y36(e.sBO),e.Y36(C,8),e.Y36(e.QbO,8),e.$8M("tabindex"))},ke.\u0275cmp=e.Xpm({type:ke,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:15,hostBindings:function(Ie,ge){1&Ie&&e.NdJ("click",function(){return ge._toggle()})("keydown",function(ut){return ge._keydown(ut)}),2&Ie&&(e.uIk("id",ge.panel._headerId)("tabindex",ge.tabIndex)("aria-controls",ge._getPanelId())("aria-expanded",ge._isExpanded())("aria-disabled",ge.panel.disabled),e.Udp("height",ge._getHeaderHeight()),e.ekj("mat-expanded",ge._isExpanded())("mat-expansion-toggle-indicator-after","after"===ge._getTogglePosition())("mat-expansion-toggle-indicator-before","before"===ge._getTogglePosition())("_mat-animation-noopable","NoopAnimations"===ge._animationMode))},inputs:{tabIndex:"tabIndex",expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight"},features:[e.qOj],ngContentSelectors:["mat-panel-title","mat-panel-description","*"],decls:5,vars:3,consts:[[1,"mat-content"],["class","mat-expansion-indicator",4,"ngIf"],[1,"mat-expansion-indicator"]],template:function(Ie,ge){1&Ie&&(e.F$t(o),e.TgZ(0,"span",0),e.Hsn(1),e.Hsn(2,1),e.Hsn(3,2),e.qZA(),e.YNc(4,n,1,1,"span",1)),2&Ie&&(e.ekj("mat-content-hide-toggle",!ge._showToggle()),e.xp6(4),e.Q6J("ngIf",ge._showToggle()))},dependencies:[M.O5],styles:['.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header-description{flex-grow:2}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}'],encapsulation:2,data:{animation:[L.indicatorRotate]},changeDetection:0});class Ge{}Ge.\u0275fac=function(Ie){return new(Ie||Ge)},Ge.\u0275dir=e.lG2({type:Ge,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]});class je{}je.\u0275fac=function(Ie){return new(Ie||je)},je.\u0275dir=e.lG2({type:je,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]});class We extends k{constructor(){super(...arguments),this._ownHeaders=new e.n_E,this._hideToggle=!1,this.displayMode="default",this.togglePosition="after"}get hideToggle(){return this._hideToggle}set hideToggle(Ie){this._hideToggle=(0,_.Ig)(Ie)}ngAfterContentInit(){this._headers.changes.pipe((0,Z.O)(this._headers)).subscribe(Ie=>{this._ownHeaders.reset(Ie.filter(ge=>ge.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new I.Em(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(Ie){this._keyManager.onKeydown(Ie)}_handleHeaderFocus(Ie){this._keyManager.updateActiveItem(Ie)}ngOnDestroy(){super.ngOnDestroy(),this._ownHeaders.destroy()}}We.\u0275fac=function(){let Ye;return function(ge){return(Ye||(Ye=e.n5z(We)))(ge||We)}}(),We.\u0275dir=e.lG2({type:We,selectors:[["mat-accordion"]],contentQueries:function(Ie,ge,et){if(1&Ie&&e.Suo(et,ke,5),2&Ie){let ut;e.iGM(ut=e.CRH())&&(ge._headers=ut)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(Ie,ge){2&Ie&&e.ekj("mat-accordion-multi",ge.multi)},inputs:{multi:"multi",hideToggle:"hideToggle",displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[e._Bn([{provide:d,useExisting:We}]),e.qOj]});class be{}be.\u0275fac=function(Ie){return new(Ie||be)},be.\u0275mod=e.oAB({type:be}),be.\u0275inj=e.cJS({imports:[M.ez,z.BQ,A,P.eL]})},5074:(Ve,X,m)=>{"use strict";m.d(X,{Eo:()=>v,G_:()=>De,KE:()=>ne,R9:()=>Ye,TO:()=>L,bx:()=>Fe,lN:()=>fe});var e=m(3773),t=m(4666),_=m(2560),E=m(207),s=m(2867),D=m(8971),u=m(253),k=m(6646),p=m(3280),S=m(4874),A=m(8951),P=m(9295),M=m(4851),z=m(9107);const I=["connectionContainer"],W=["inputContainer"],Z=["label"];function j(ee,H){1&ee&&(_.ynx(0),_.TgZ(1,"div",14),_._UZ(2,"div",15)(3,"div",16)(4,"div",17),_.qZA(),_.TgZ(5,"div",18),_._UZ(6,"div",15)(7,"div",16)(8,"div",17),_.qZA(),_.BQk())}function ae(ee,H){if(1&ee){const q=_.EpF();_.TgZ(0,"div",19),_.NdJ("cdkObserveContent",function(){_.CHM(q);const Re=_.oxw();return _.KtG(Re.updateOutlineGap())}),_.Hsn(1,1),_.qZA()}if(2&ee){const q=_.oxw();_.Q6J("cdkObserveContentDisabled","outline"!=q.appearance)}}function re(ee,H){if(1&ee&&(_.ynx(0),_.Hsn(1,2),_.TgZ(2,"span"),_._uU(3),_.qZA(),_.BQk()),2&ee){const q=_.oxw(2);_.xp6(3),_.Oqu(q._control.placeholder)}}function pe(ee,H){1&ee&&_.Hsn(0,3,["*ngSwitchCase","true"])}function le(ee,H){1&ee&&(_.TgZ(0,"span",23),_._uU(1," *"),_.qZA())}function ve(ee,H){if(1&ee){const q=_.EpF();_.TgZ(0,"label",20,21),_.NdJ("cdkObserveContent",function(){_.CHM(q);const Re=_.oxw();return _.KtG(Re.updateOutlineGap())}),_.YNc(2,re,4,1,"ng-container",12),_.YNc(3,pe,1,0,"ng-content",12),_.YNc(4,le,2,0,"span",22),_.qZA()}if(2&ee){const q=_.oxw();_.ekj("mat-empty",q._control.empty&&!q._shouldAlwaysFloat())("mat-form-field-empty",q._control.empty&&!q._shouldAlwaysFloat())("mat-accent","accent"==q.color)("mat-warn","warn"==q.color),_.Q6J("cdkObserveContentDisabled","outline"!=q.appearance)("id",q._labelId)("ngSwitch",q._hasLabel()),_.uIk("for",q._control.id)("aria-owns",q._control.id),_.xp6(2),_.Q6J("ngSwitchCase",!1),_.xp6(1),_.Q6J("ngSwitchCase",!0),_.xp6(1),_.Q6J("ngIf",!q.hideRequiredMarker&&q._control.required&&!q._control.disabled)}}function de(ee,H){1&ee&&(_.TgZ(0,"div",24),_.Hsn(1,4),_.qZA())}function $(ee,H){if(1&ee&&(_.TgZ(0,"div",25),_._UZ(1,"span",26),_.qZA()),2&ee){const q=_.oxw();_.xp6(1),_.ekj("mat-accent","accent"==q.color)("mat-warn","warn"==q.color)}}function ue(ee,H){if(1&ee&&(_.TgZ(0,"div"),_.Hsn(1,5),_.qZA()),2&ee){const q=_.oxw();_.Q6J("@transitionMessages",q._subscriptAnimationState)}}function w(ee,H){if(1&ee&&(_.TgZ(0,"div",30),_._uU(1),_.qZA()),2&ee){const q=_.oxw(2);_.Q6J("id",q._hintLabelId),_.xp6(1),_.Oqu(q.hintLabel)}}function n(ee,H){if(1&ee&&(_.TgZ(0,"div",27),_.YNc(1,w,2,2,"div",28),_.Hsn(2,6),_._UZ(3,"div",29),_.Hsn(4,7),_.qZA()),2&ee){const q=_.oxw();_.Q6J("@transitionMessages",q._subscriptAnimationState),_.xp6(1),_.Q6J("ngIf",q.hintLabel)}}const o=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]];let d=0;const y=new _.OlP("MatError");class L{constructor(H,q){this.id="mat-error-"+d++,H||q.nativeElement.setAttribute("aria-live","polite")}}L.\u0275fac=function(H){return new(H||L)(_.$8M("aria-live"),_.Y36(_.SBq))},L.\u0275dir=_.lG2({type:L,selectors:[["mat-error"]],hostAttrs:["aria-atomic","true",1,"mat-error"],hostVars:1,hostBindings:function(H,q){2&H&&_.uIk("id",q.id)},inputs:{id:"id"},features:[_._Bn([{provide:y,useExisting:L}])]});const B={transitionMessages:(0,M.X$)("transitionMessages",[(0,M.SB)("enter",(0,M.oB)({opacity:1,transform:"translateY(0%)"})),(0,M.eR)("void => enter",[(0,M.oB)({opacity:0,transform:"translateY(-5px)"}),(0,M.jt)("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};class v{}v.\u0275fac=function(H){return new(H||v)},v.\u0275dir=_.lG2({type:v});let F=0;const J=new _.OlP("MatHint");class Fe{constructor(){this.align="start",this.id="mat-hint-"+F++}}Fe.\u0275fac=function(H){return new(H||Fe)},Fe.\u0275dir=_.lG2({type:Fe,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(H,q){2&H&&(_.uIk("id",q.id)("align",null),_.ekj("mat-form-field-hint-end","end"===q.align))},inputs:{align:"align",id:"id"},features:[_._Bn([{provide:J,useExisting:Fe}])]});class ke{}ke.\u0275fac=function(H){return new(H||ke)},ke.\u0275dir=_.lG2({type:ke,selectors:[["mat-label"]]});class Ge{}Ge.\u0275fac=function(H){return new(H||Ge)},Ge.\u0275dir=_.lG2({type:Ge,selectors:[["mat-placeholder"]]});const je=new _.OlP("MatPrefix");class We{}We.\u0275fac=function(H){return new(H||We)},We.\u0275dir=_.lG2({type:We,selectors:[["","matPrefix",""]],features:[_._Bn([{provide:je,useExisting:We}])]});const be=new _.OlP("MatSuffix");class Ye{}Ye.\u0275fac=function(H){return new(H||Ye)},Ye.\u0275dir=_.lG2({type:Ye,selectors:[["","matSuffix",""]],features:[_._Bn([{provide:be,useExisting:Ye}])]});let Ie=0;const ut=(0,E.pj)(class{constructor(ee){this._elementRef=ee}},"primary"),Le=new _.OlP("MAT_FORM_FIELD_DEFAULT_OPTIONS"),De=new _.OlP("MatFormField");class ne extends ut{constructor(H,q,Oe,Re,oe,pt,it){super(H),this._changeDetectorRef=q,this._dir=Oe,this._defaults=Re,this._platform=oe,this._ngZone=pt,this._outlineGapCalculationNeededImmediately=!1,this._outlineGapCalculationNeededOnStable=!1,this._destroyed=new u.x,this._hideRequiredMarker=!1,this._showAlwaysAnimate=!1,this._subscriptAnimationState="",this._hintLabel="",this._hintLabelId="mat-hint-"+Ie++,this._labelId="mat-form-field-label-"+Ie++,this.floatLabel=this._getDefaultFloatLabelState(),this._animationsEnabled="NoopAnimations"!==it,this.appearance=Re?.appearance||"legacy",Re&&(this._hideRequiredMarker=Boolean(Re.hideRequiredMarker),Re.color&&(this.color=this.defaultColor=Re.color))}get appearance(){return this._appearance}set appearance(H){const q=this._appearance;this._appearance=H||this._defaults?.appearance||"legacy","outline"===this._appearance&&q!==H&&(this._outlineGapCalculationNeededOnStable=!0)}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(H){this._hideRequiredMarker=(0,D.Ig)(H)}_shouldAlwaysFloat(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}_canLabelFloat(){return"never"!==this.floatLabel}get hintLabel(){return this._hintLabel}set hintLabel(H){this._hintLabel=H,this._processHints()}get floatLabel(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel}set floatLabel(H){H!==this._floatLabel&&(this._floatLabel=H||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}get _control(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic}set _control(H){this._explicitFormFieldControl=H}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._connectionContainerRef||this._elementRef}ngAfterContentInit(){this._validateControlChild();const H=this._control;H.controlType&&this._elementRef.nativeElement.classList.add(`mat-form-field-type-${H.controlType}`),H.stateChanges.pipe((0,S.O)(null)).subscribe(()=>{this._validatePlaceholders(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),H.ngControl&&H.ngControl.valueChanges&&H.ngControl.valueChanges.pipe((0,A.R)(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe((0,A.R)(this._destroyed)).subscribe(()=>{this._outlineGapCalculationNeededOnStable&&this.updateOutlineGap()})}),(0,k.T)(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._outlineGapCalculationNeededOnStable=!0,this._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe((0,S.O)(null)).subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe((0,S.O)(null)).subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe((0,A.R)(this._destroyed)).subscribe(()=>{"function"==typeof requestAnimationFrame?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this.updateOutlineGap())}):this.updateOutlineGap()})}ngAfterContentChecked(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}ngAfterViewInit(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_shouldForward(H){const q=this._control?this._control.ngControl:null;return q&&q[H]}_hasPlaceholder(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}_hasLabel(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}_shouldLabelFloat(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}_hideControlPlaceholder(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}_hasFloatingLabel(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_animateAndLockLabel(){this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,(0,p.R)(this._label.nativeElement,"transitionend").pipe((0,P.q)(1)).subscribe(()=>{this._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}_validatePlaceholders(){this._control.placeholder&&this._placeholderChild}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_getDefaultFloatLabelState(){return this._defaults&&this._defaults.floatLabel||"auto"}_syncDescribedByIds(){if(this._control){let H=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&H.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const q=this._hintChildren?this._hintChildren.find(Re=>"start"===Re.align):null,Oe=this._hintChildren?this._hintChildren.find(Re=>"end"===Re.align):null;q?H.push(q.id):this._hintLabel&&H.push(this._hintLabelId),Oe&&H.push(Oe.id)}else this._errorChildren&&H.push(...this._errorChildren.map(q=>q.id));this._control.setDescribedByIds(H)}}_validateControlChild(){this._control}updateOutlineGap(){const H=this._label?this._label.nativeElement:null,q=this._connectionContainerRef.nativeElement,Oe=".mat-form-field-outline-start",Re=".mat-form-field-outline-gap";if("outline"!==this.appearance||!this._platform.isBrowser)return;if(!H||!H.children.length||!H.textContent.trim()){const un=q.querySelectorAll(`${Oe}, ${Re}`);for(let Nt=0;Nt0?.75*Jt+10:0}for(let un=0;un{"use strict";m.d(X,{DX:()=>P,Il:()=>$,N6:()=>ue});var e=m(2560),t=m(207),_=m(8971),E=m(2867);const s=["*"],D=[[["","mat-grid-avatar",""],["","matGridAvatar",""]],[["","mat-line",""],["","matLine",""]],"*"];class p{constructor(){this.columnIndex=0,this.rowIndex=0}get rowCount(){return this.rowIndex+1}get rowspan(){const o=Math.max(...this.tracker);return o>1?this.rowCount+o-1:this.rowCount}update(o,h){this.columnIndex=0,this.rowIndex=0,this.tracker=new Array(o),this.tracker.fill(0,0,this.tracker.length),this.positions=h.map(d=>this._trackTile(d))}_trackTile(o){const h=this._findMatchingGap(o.colspan);return this._markTilePosition(h,o),this.columnIndex=h+o.colspan,new S(this.rowIndex,h)}_findMatchingGap(o){this.tracker.length;let h=-1,d=-1;do{this.columnIndex+o>this.tracker.length?(this._nextRow(),h=this.tracker.indexOf(0,this.columnIndex),d=this._findGapEndIndex(h)):(h=this.tracker.indexOf(0,this.columnIndex),-1!=h?(d=this._findGapEndIndex(h),this.columnIndex=h+1):(this._nextRow(),h=this.tracker.indexOf(0,this.columnIndex),d=this._findGapEndIndex(h)))}while(d-h*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0});class M{constructor(o){this._element=o}ngAfterContentInit(){(0,t.E0)(this._lines,this._element)}}M.\u0275fac=function(o){return new(o||M)(e.Y36(e.SBq))},M.\u0275cmp=e.Xpm({type:M,selectors:[["mat-grid-tile-header"],["mat-grid-tile-footer"]],contentQueries:function(o,h,d){if(1&o&&e.Suo(d,t.X2,5),2&o){let y;e.iGM(y=e.CRH())&&(h._lines=y)}},ngContentSelectors:["[mat-grid-avatar], [matGridAvatar]","[mat-line], [matLine]","*"],decls:4,vars:0,consts:[[1,"mat-grid-list-text"]],template:function(o,h){1&o&&(e.F$t(D),e.Hsn(0),e.TgZ(1,"div",0),e.Hsn(2,1),e.qZA(),e.Hsn(3,2))},encapsulation:2,changeDetection:0});class z{}z.\u0275fac=function(o){return new(o||z)},z.\u0275dir=e.lG2({type:z,selectors:[["","mat-grid-avatar",""],["","matGridAvatar",""]],hostAttrs:[1,"mat-grid-avatar"]});class I{}I.\u0275fac=function(o){return new(o||I)},I.\u0275dir=e.lG2({type:I,selectors:[["mat-grid-tile-header"]],hostAttrs:[1,"mat-grid-tile-header"]});class W{}W.\u0275fac=function(o){return new(o||W)},W.\u0275dir=e.lG2({type:W,selectors:[["mat-grid-tile-footer"]],hostAttrs:[1,"mat-grid-tile-footer"]});const Z=/^-?\d+((\.\d+)?[A-Za-z%$]?)+$/;class j{constructor(){this._rows=0,this._rowspan=0}init(o,h,d,y){this._gutterSize=ve(o),this._rows=h.rowCount,this._rowspan=h.rowspan,this._cols=d,this._direction=y}getBaseTileSize(o,h){return`(${o}% - (${this._gutterSize} * ${h}))`}getTilePosition(o,h){return 0===h?"0":le(`(${o} + ${this._gutterSize}) * ${h}`)}getTileSize(o,h){return`(${o} * ${h}) + (${h-1} * ${this._gutterSize})`}setStyle(o,h,d){let y=100/this._cols,L=(this._cols-1)/this._cols;this.setColStyles(o,d,y,L),this.setRowStyles(o,h,y,L)}setColStyles(o,h,d,y){let L=this.getBaseTileSize(d,y),B="rtl"===this._direction?"right":"left";o._setStyle(B,this.getTilePosition(L,h)),o._setStyle("width",le(this.getTileSize(L,o.colspan)))}getGutterSpan(){return`${this._gutterSize} * (${this._rowspan} - 1)`}getTileSpan(o){return`${this._rowspan} * ${this.getTileSize(o,1)}`}getComputedHeight(){return null}}class ae extends j{constructor(o){super(),this.fixedRowHeight=o}init(o,h,d,y){super.init(o,h,d,y),this.fixedRowHeight=ve(this.fixedRowHeight),Z.test(this.fixedRowHeight)}setRowStyles(o,h){o._setStyle("top",this.getTilePosition(this.fixedRowHeight,h)),o._setStyle("height",le(this.getTileSize(this.fixedRowHeight,o.rowspan)))}getComputedHeight(){return["height",le(`${this.getTileSpan(this.fixedRowHeight)} + ${this.getGutterSpan()}`)]}reset(o){o._setListStyle(["height",null]),o._tiles&&o._tiles.forEach(h=>{h._setStyle("top",null),h._setStyle("height",null)})}}class re extends j{constructor(o){super(),this._parseRatio(o)}setRowStyles(o,h,d,y){let L=d/this.rowHeightRatio;this.baseTileHeight=this.getBaseTileSize(L,y),o._setStyle("marginTop",this.getTilePosition(this.baseTileHeight,h)),o._setStyle("paddingTop",le(this.getTileSize(this.baseTileHeight,o.rowspan)))}getComputedHeight(){return["paddingBottom",le(`${this.getTileSpan(this.baseTileHeight)} + ${this.getGutterSpan()}`)]}reset(o){o._setListStyle(["paddingBottom",null]),o._tiles.forEach(h=>{h._setStyle("marginTop",null),h._setStyle("paddingTop",null)})}_parseRatio(o){const h=o.split(":");h.length,this.rowHeightRatio=parseFloat(h[0])/parseFloat(h[1])}}class pe extends j{setRowStyles(o,h){let d=100/this._rowspan,y=(this._rows-1)/this._rows,L=this.getBaseTileSize(d,y);o._setStyle("top",this.getTilePosition(L,h)),o._setStyle("height",le(this.getTileSize(L,o.rowspan)))}reset(o){o._tiles&&o._tiles.forEach(h=>{h._setStyle("top",null),h._setStyle("height",null)})}}function le(n){return`calc(${n})`}function ve(n){return n.match(/([A-Za-z%]+)$/)?n:`${n}px`}class ${constructor(o,h){this._element=o,this._dir=h,this._gutter="1px"}get cols(){return this._cols}set cols(o){this._cols=Math.max(1,Math.round((0,_.su)(o)))}get gutterSize(){return this._gutter}set gutterSize(o){this._gutter=`${o??""}`}get rowHeight(){return this._rowHeight}set rowHeight(o){const h=`${o??""}`;h!==this._rowHeight&&(this._rowHeight=h,this._setTileStyler(this._rowHeight))}ngOnInit(){this._checkCols(),this._checkRowHeight()}ngAfterContentChecked(){this._layoutTiles()}_checkCols(){this.cols}_checkRowHeight(){this._rowHeight||this._setTileStyler("1:1")}_setTileStyler(o){this._tileStyler&&this._tileStyler.reset(this),"fit"===o?this._tileStyler=new pe:o&&o.indexOf(":")>-1?this._tileStyler=new re(o):this._tileStyler=new ae(o)}_layoutTiles(){this._tileCoordinator||(this._tileCoordinator=new p);const o=this._tileCoordinator,h=this._tiles.filter(y=>!y._gridList||y._gridList===this),d=this._dir?this._dir.value:"ltr";this._tileCoordinator.update(this.cols,h),this._tileStyler.init(this.gutterSize,o,this.cols,d),h.forEach((y,L)=>{const B=o.positions[L];this._tileStyler.setStyle(y,B.row,B.col)}),this._setListStyle(this._tileStyler.getComputedHeight())}_setListStyle(o){o&&(this._element.nativeElement.style[o[0]]=o[1])}}$.\u0275fac=function(o){return new(o||$)(e.Y36(e.SBq),e.Y36(E.Is,8))},$.\u0275cmp=e.Xpm({type:$,selectors:[["mat-grid-list"]],contentQueries:function(o,h,d){if(1&o&&e.Suo(d,P,5),2&o){let y;e.iGM(y=e.CRH())&&(h._tiles=y)}},hostAttrs:[1,"mat-grid-list"],hostVars:1,hostBindings:function(o,h){2&o&&e.uIk("cols",h.cols)},inputs:{cols:"cols",gutterSize:"gutterSize",rowHeight:"rowHeight"},exportAs:["matGridList"],features:[e._Bn([{provide:A,useExisting:$}])],ngContentSelectors:s,decls:2,vars:0,template:function(o,h){1&o&&(e.F$t(),e.TgZ(0,"div"),e.Hsn(1),e.qZA())},styles:[".mat-grid-list{display:block;position:relative}.mat-grid-tile{display:block;position:absolute;overflow:hidden}.mat-grid-tile .mat-grid-tile-header,.mat-grid-tile .mat-grid-tile-footer{display:flex;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.38);overflow:hidden;padding:0 16px;position:absolute;left:0;right:0}.mat-grid-tile .mat-grid-tile-header>*,.mat-grid-tile .mat-grid-tile-footer>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-tile-header.mat-2-line,.mat-grid-tile .mat-grid-tile-footer.mat-2-line{height:68px}.mat-grid-tile .mat-grid-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden}.mat-grid-tile .mat-grid-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-grid-tile .mat-grid-list-text:empty{display:none}.mat-grid-tile .mat-grid-tile-header{top:0}.mat-grid-tile .mat-grid-tile-footer{bottom:0}.mat-grid-tile .mat-grid-avatar{padding-right:16px}[dir=rtl] .mat-grid-tile .mat-grid-avatar{padding-right:0;padding-left:16px}.mat-grid-tile .mat-grid-avatar:empty{display:none}.mat-grid-tile-content{top:0;left:0;right:0;bottom:0;position:absolute;display:flex;align-items:center;justify-content:center;height:100%;padding:0;margin:0}"],encapsulation:2,changeDetection:0});class ue{}ue.\u0275fac=function(o){return new(o||ue)},ue.\u0275mod=e.oAB({type:ue}),ue.\u0275inj=e.cJS({imports:[t.uc,t.BQ,t.uc,t.BQ]})},7822:(Ve,X,m)=>{"use strict";m.d(X,{Hw:()=>F,Ps:()=>J});var e=m(2560),t=m(207),_=m(8971),E=m(4666),s=m(745),D=m(5474),u=m(1640),k=m(7714),p=m(9337),S=m(635),A=m(3158),P=m(2313),M=m(1203),z=m(9295),I=m(8987),W=m(4497);let j;function re(Fe){return function ae(){if(void 0===j&&(j=null,typeof window<"u")){const Fe=window;void 0!==Fe.trustedTypes&&(j=Fe.trustedTypes.createPolicy("angular#components",{createHTML:ke=>ke}))}return j}()?.createHTML(Fe)||Fe}function pe(Fe){return Error(`Unable to find icon with the name "${Fe}"`)}function ve(Fe){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${Fe}".`)}function de(Fe){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${Fe}".`)}class ${constructor(ke,Ge,je){this.url=ke,this.svgText=Ge,this.options=je}}class ue{constructor(ke,Ge,je,We){this._httpClient=ke,this._sanitizer=Ge,this._errorHandler=We,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=je}addSvgIcon(ke,Ge,je){return this.addSvgIconInNamespace("",ke,Ge,je)}addSvgIconLiteral(ke,Ge,je){return this.addSvgIconLiteralInNamespace("",ke,Ge,je)}addSvgIconInNamespace(ke,Ge,je,We){return this._addSvgIconConfig(ke,Ge,new $(je,null,We))}addSvgIconResolver(ke){return this._resolvers.push(ke),this}addSvgIconLiteralInNamespace(ke,Ge,je,We){const be=this._sanitizer.sanitize(e.q3G.HTML,je);if(!be)throw de(je);const Ye=re(be);return this._addSvgIconConfig(ke,Ge,new $("",Ye,We))}addSvgIconSet(ke,Ge){return this.addSvgIconSetInNamespace("",ke,Ge)}addSvgIconSetLiteral(ke,Ge){return this.addSvgIconSetLiteralInNamespace("",ke,Ge)}addSvgIconSetInNamespace(ke,Ge,je){return this._addSvgIconSetConfig(ke,new $(Ge,null,je))}addSvgIconSetLiteralInNamespace(ke,Ge,je){const We=this._sanitizer.sanitize(e.q3G.HTML,Ge);if(!We)throw de(Ge);const be=re(We);return this._addSvgIconSetConfig(ke,new $("",be,je))}registerFontClassAlias(ke,Ge=ke){return this._fontCssClassesByAlias.set(ke,Ge),this}classNameForFontAlias(ke){return this._fontCssClassesByAlias.get(ke)||ke}setDefaultFontSetClass(...ke){return this._defaultFontSetClass=ke,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(ke){const Ge=this._sanitizer.sanitize(e.q3G.RESOURCE_URL,ke);if(!Ge)throw ve(ke);const je=this._cachedIconsByUrl.get(Ge);return je?(0,s.of)(o(je)):this._loadSvgIconFromConfig(new $(ke,null)).pipe((0,p.b)(We=>this._cachedIconsByUrl.set(Ge,We)),(0,S.U)(We=>o(We)))}getNamedSvgIcon(ke,Ge=""){const je=h(Ge,ke);let We=this._svgIconConfigs.get(je);if(We)return this._getSvgFromConfig(We);if(We=this._getIconConfigFromResolvers(Ge,ke),We)return this._svgIconConfigs.set(je,We),this._getSvgFromConfig(We);const be=this._iconSetConfigs.get(Ge);return be?this._getSvgFromIconSetConfigs(ke,be):(0,D._)(pe(je))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(ke){return ke.svgText?(0,s.of)(o(this._svgElementFromConfig(ke))):this._loadSvgIconFromConfig(ke).pipe((0,S.U)(Ge=>o(Ge)))}_getSvgFromIconSetConfigs(ke,Ge){const je=this._extractIconWithNameFromAnySet(ke,Ge);if(je)return(0,s.of)(je);const We=Ge.filter(be=>!be.svgText).map(be=>this._loadSvgIconSetFromConfig(be).pipe((0,A.K)(Ye=>{const ge=`Loading icon set URL: ${this._sanitizer.sanitize(e.q3G.RESOURCE_URL,be.url)} failed: ${Ye.message}`;return this._errorHandler.handleError(new Error(ge)),(0,s.of)(null)})));return(0,u.D)(We).pipe((0,S.U)(()=>{const be=this._extractIconWithNameFromAnySet(ke,Ge);if(!be)throw pe(ke);return be}))}_extractIconWithNameFromAnySet(ke,Ge){for(let je=Ge.length-1;je>=0;je--){const We=Ge[je];if(We.svgText&&We.svgText.toString().indexOf(ke)>-1){const be=this._svgElementFromConfig(We),Ye=this._extractSvgIconFromSet(be,ke,We.options);if(Ye)return Ye}}return null}_loadSvgIconFromConfig(ke){return this._fetchIcon(ke).pipe((0,p.b)(Ge=>ke.svgText=Ge),(0,S.U)(()=>this._svgElementFromConfig(ke)))}_loadSvgIconSetFromConfig(ke){return ke.svgText?(0,s.of)(null):this._fetchIcon(ke).pipe((0,p.b)(Ge=>ke.svgText=Ge))}_extractSvgIconFromSet(ke,Ge,je){const We=ke.querySelector(`[id="${Ge}"]`);if(!We)return null;const be=We.cloneNode(!0);if(be.removeAttribute("id"),"svg"===be.nodeName.toLowerCase())return this._setSvgAttributes(be,je);if("symbol"===be.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(be),je);const Ye=this._svgElementFromString(re(""));return Ye.appendChild(be),this._setSvgAttributes(Ye,je)}_svgElementFromString(ke){const Ge=this._document.createElement("DIV");Ge.innerHTML=ke;const je=Ge.querySelector("svg");if(!je)throw Error(" tag not found");return je}_toSvgElement(ke){const Ge=this._svgElementFromString(re("")),je=ke.attributes;for(let We=0;Were(ge)),(0,P.x)(()=>this._inProgressUrlFetches.delete(be)),(0,M.B)());return this._inProgressUrlFetches.set(be,Ie),Ie}_addSvgIconConfig(ke,Ge,je){return this._svgIconConfigs.set(h(ke,Ge),je),this}_addSvgIconSetConfig(ke,Ge){const je=this._iconSetConfigs.get(ke);return je?je.push(Ge):this._iconSetConfigs.set(ke,[Ge]),this}_svgElementFromConfig(ke){if(!ke.svgElement){const Ge=this._svgElementFromString(ke.svgText);this._setSvgAttributes(Ge,ke.options),ke.svgElement=Ge}return ke.svgElement}_getIconConfigFromResolvers(ke,Ge){for(let je=0;jeke?ke.pathname+ke.search:""}}});const a=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],C=a.map(Fe=>`[${Fe}]`).join(", "),N=/^url\(['"]?#(.*?)['"]?\)$/;class F extends y{constructor(ke,Ge,je,We,be,Ye){super(ke),this._iconRegistry=Ge,this._location=We,this._errorHandler=be,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=k.w0.EMPTY,Ye&&(Ye.color&&(this.color=this.defaultColor=Ye.color),Ye.fontSet&&(this.fontSet=Ye.fontSet)),je||ke.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(ke){this._inline=(0,_.Ig)(ke)}get svgIcon(){return this._svgIcon}set svgIcon(ke){ke!==this._svgIcon&&(ke?this._updateSvgIcon(ke):this._svgIcon&&this._clearSvgElement(),this._svgIcon=ke)}get fontSet(){return this._fontSet}set fontSet(ke){const Ge=this._cleanupFontValue(ke);Ge!==this._fontSet&&(this._fontSet=Ge,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(ke){const Ge=this._cleanupFontValue(ke);Ge!==this._fontIcon&&(this._fontIcon=Ge,this._updateFontIconClasses())}_splitIconName(ke){if(!ke)return["",""];const Ge=ke.split(":");switch(Ge.length){case 1:return["",Ge[0]];case 2:return Ge;default:throw Error(`Invalid icon name: "${ke}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const ke=this._elementsWithExternalReferences;if(ke&&ke.size){const Ge=this._location.getPathname();Ge!==this._previousPath&&(this._previousPath=Ge,this._prependPathToReferences(Ge))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(ke){this._clearSvgElement();const Ge=this._location.getPathname();this._previousPath=Ge,this._cacheChildrenWithExternalReferences(ke),this._prependPathToReferences(Ge),this._elementRef.nativeElement.appendChild(ke)}_clearSvgElement(){const ke=this._elementRef.nativeElement;let Ge=ke.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();Ge--;){const je=ke.childNodes[Ge];(1!==je.nodeType||"svg"===je.nodeName.toLowerCase())&&je.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const ke=this._elementRef.nativeElement,Ge=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(je=>je.length>0);this._previousFontSetClass.forEach(je=>ke.classList.remove(je)),Ge.forEach(je=>ke.classList.add(je)),this._previousFontSetClass=Ge,this.fontIcon!==this._previousFontIconClass&&!Ge.includes("mat-ligature-font")&&(this._previousFontIconClass&&ke.classList.remove(this._previousFontIconClass),this.fontIcon&&ke.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(ke){return"string"==typeof ke?ke.trim().split(" ")[0]:ke}_prependPathToReferences(ke){const Ge=this._elementsWithExternalReferences;Ge&&Ge.forEach((je,We)=>{je.forEach(be=>{We.setAttribute(be.name,`url('${ke}#${be.value}')`)})})}_cacheChildrenWithExternalReferences(ke){const Ge=ke.querySelectorAll(C),je=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let We=0;We{const Ye=Ge[We],Ie=Ye.getAttribute(be),ge=Ie?Ie.match(N):null;if(ge){let et=je.get(Ye);et||(et=[],je.set(Ye,et)),et.push({name:be,value:ge[1]})}})}_updateSvgIcon(ke){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),ke){const[Ge,je]=this._splitIconName(ke);Ge&&(this._svgNamespace=Ge),je&&(this._svgName=je),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(je,Ge).pipe((0,z.q)(1)).subscribe(We=>this._setSvgElement(We),We=>{const be=`Error retrieving icon ${Ge}:${je}! ${We.message}`;this._errorHandler.handleError(new Error(be))})}}}F.\u0275fac=function(ke){return new(ke||F)(e.Y36(e.SBq),e.Y36(ue),e.$8M("aria-hidden"),e.Y36(B),e.Y36(e.qLn),e.Y36(L,8))},F.\u0275cmp=e.Xpm({type:F,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(ke,Ge){2&ke&&(e.uIk("data-mat-icon-type",Ge._usingFontIcon()?"font":"svg")("data-mat-icon-name",Ge._svgName||Ge.fontIcon)("data-mat-icon-namespace",Ge._svgNamespace||Ge.fontSet)("fontIcon",Ge._usingFontIcon()?Ge.fontIcon:null),e.ekj("mat-icon-inline",Ge.inline)("mat-icon-no-color","primary"!==Ge.color&&"accent"!==Ge.color&&"warn"!==Ge.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[e.qOj],ngContentSelectors:["*"],decls:1,vars:0,template:function(ke,Ge){1&ke&&(e.F$t(),e.Hsn(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0});class J{}J.\u0275fac=function(ke){return new(ke||J)},J.\u0275mod=e.oAB({type:J}),J.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},1267:(Ve,X,m)=>{"use strict";m.d(X,{Jk:()=>ae,Nt:()=>ve,c:()=>de});var e=m(8971),t=m(9107),_=m(2560),E=m(591),s=m(253),D=m(3280),u=m(9211),k=m(8951),p=m(4666);const S=(0,t.i$)({passive:!0});class A{constructor(ue,w){this._platform=ue,this._ngZone=w,this._monitoredElements=new Map}monitor(ue){if(!this._platform.isBrowser)return E.E;const w=(0,e.fI)(ue),n=this._monitoredElements.get(w);if(n)return n.subject;const o=new s.x,h="cdk-text-field-autofilled",d=y=>{"cdk-text-field-autofill-start"!==y.animationName||w.classList.contains(h)?"cdk-text-field-autofill-end"===y.animationName&&w.classList.contains(h)&&(w.classList.remove(h),this._ngZone.run(()=>o.next({target:y.target,isAutofilled:!1}))):(w.classList.add(h),this._ngZone.run(()=>o.next({target:y.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{w.addEventListener("animationstart",d,S),w.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(w,{subject:o,unlisten:()=>{w.removeEventListener("animationstart",d,S)}}),o}stopMonitoring(ue){const w=(0,e.fI)(ue),n=this._monitoredElements.get(w);n&&(n.unlisten(),n.subject.complete(),w.classList.remove("cdk-text-field-autofill-monitored"),w.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(w))}ngOnDestroy(){this._monitoredElements.forEach((ue,w)=>this.stopMonitoring(w))}}A.\u0275fac=function(ue){return new(ue||A)(_.LFG(t.t4),_.LFG(_.R0b))},A.\u0275prov=_.Yz7({token:A,factory:A.\u0275fac,providedIn:"root"});class P{constructor(ue,w){this._elementRef=ue,this._autofillMonitor=w,this.cdkAutofill=new _.vpe}ngOnInit(){this._autofillMonitor.monitor(this._elementRef).subscribe(ue=>this.cdkAutofill.emit(ue))}ngOnDestroy(){this._autofillMonitor.stopMonitoring(this._elementRef)}}P.\u0275fac=function(ue){return new(ue||P)(_.Y36(_.SBq),_.Y36(A))},P.\u0275dir=_.lG2({type:P,selectors:[["","cdkAutofill",""]],outputs:{cdkAutofill:"cdkAutofill"}});class M{constructor(ue,w,n,o){this._elementRef=ue,this._platform=w,this._ngZone=n,this._destroyed=new s.x,this._enabled=!0,this._previousMinRows=-1,this._isViewInited=!1,this._handleFocusEvent=h=>{this._hasFocus="focus"===h.type},this._document=o,this._textareaElement=this._elementRef.nativeElement}get minRows(){return this._minRows}set minRows(ue){this._minRows=(0,e.su)(ue),this._setMinHeight()}get maxRows(){return this._maxRows}set maxRows(ue){this._maxRows=(0,e.su)(ue),this._setMaxHeight()}get enabled(){return this._enabled}set enabled(ue){ue=(0,e.Ig)(ue),this._enabled!==ue&&((this._enabled=ue)?this.resizeToFitContent(!0):this.reset())}get placeholder(){return this._textareaElement.placeholder}set placeholder(ue){this._cachedPlaceholderHeight=void 0,ue?this._textareaElement.setAttribute("placeholder",ue):this._textareaElement.removeAttribute("placeholder"),this._cacheTextareaPlaceholderHeight()}_setMinHeight(){const ue=this.minRows&&this._cachedLineHeight?this.minRows*this._cachedLineHeight+"px":null;ue&&(this._textareaElement.style.minHeight=ue)}_setMaxHeight(){const ue=this.maxRows&&this._cachedLineHeight?this.maxRows*this._cachedLineHeight+"px":null;ue&&(this._textareaElement.style.maxHeight=ue)}ngAfterViewInit(){this._platform.isBrowser&&(this._initialHeight=this._textareaElement.style.height,this.resizeToFitContent(),this._ngZone.runOutsideAngular(()=>{const ue=this._getWindow();(0,D.R)(ue,"resize").pipe((0,u.e)(16),(0,k.R)(this._destroyed)).subscribe(()=>this.resizeToFitContent(!0)),this._textareaElement.addEventListener("focus",this._handleFocusEvent),this._textareaElement.addEventListener("blur",this._handleFocusEvent)}),this._isViewInited=!0,this.resizeToFitContent(!0))}ngOnDestroy(){this._textareaElement.removeEventListener("focus",this._handleFocusEvent),this._textareaElement.removeEventListener("blur",this._handleFocusEvent),this._destroyed.next(),this._destroyed.complete()}_cacheTextareaLineHeight(){if(this._cachedLineHeight)return;let ue=this._textareaElement.cloneNode(!1);ue.rows=1,ue.style.position="absolute",ue.style.visibility="hidden",ue.style.border="none",ue.style.padding="0",ue.style.height="",ue.style.minHeight="",ue.style.maxHeight="",ue.style.overflow="hidden",this._textareaElement.parentNode.appendChild(ue),this._cachedLineHeight=ue.clientHeight,ue.remove(),this._setMinHeight(),this._setMaxHeight()}_measureScrollHeight(){const ue=this._textareaElement,w=ue.style.marginBottom||"",n=this._platform.FIREFOX,o=n&&this._hasFocus,h=n?"cdk-textarea-autosize-measuring-firefox":"cdk-textarea-autosize-measuring";o&&(ue.style.marginBottom=`${ue.clientHeight}px`),ue.classList.add(h);const d=ue.scrollHeight-4;return ue.classList.remove(h),o&&(ue.style.marginBottom=w),d}_cacheTextareaPlaceholderHeight(){if(!this._isViewInited||null!=this._cachedPlaceholderHeight)return;if(!this.placeholder)return void(this._cachedPlaceholderHeight=0);const ue=this._textareaElement.value;this._textareaElement.value=this._textareaElement.placeholder,this._cachedPlaceholderHeight=this._measureScrollHeight(),this._textareaElement.value=ue}ngDoCheck(){this._platform.isBrowser&&this.resizeToFitContent()}resizeToFitContent(ue=!1){if(!this._enabled||(this._cacheTextareaLineHeight(),this._cacheTextareaPlaceholderHeight(),!this._cachedLineHeight))return;const w=this._elementRef.nativeElement,n=w.value;if(!ue&&this._minRows===this._previousMinRows&&n===this._previousValue)return;const o=this._measureScrollHeight(),h=Math.max(o,this._cachedPlaceholderHeight||0);w.style.height=`${h}px`,this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(()=>this._scrollToCaretPosition(w)):setTimeout(()=>this._scrollToCaretPosition(w))}),this._previousValue=n,this._previousMinRows=this._minRows}reset(){void 0!==this._initialHeight&&(this._textareaElement.style.height=this._initialHeight)}_noopInputHandler(){}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_scrollToCaretPosition(ue){const{selectionStart:w,selectionEnd:n}=ue;!this._destroyed.isStopped&&this._hasFocus&&ue.setSelectionRange(w,n)}}M.\u0275fac=function(ue){return new(ue||M)(_.Y36(_.SBq),_.Y36(t.t4),_.Y36(_.R0b),_.Y36(p.K0,8))},M.\u0275dir=_.lG2({type:M,selectors:[["textarea","cdkTextareaAutosize",""]],hostAttrs:["rows","1",1,"cdk-textarea-autosize"],hostBindings:function(ue,w){1&ue&&_.NdJ("input",function(){return w._noopInputHandler()})},inputs:{minRows:["cdkAutosizeMinRows","minRows"],maxRows:["cdkAutosizeMaxRows","maxRows"],enabled:["cdkTextareaAutosize","enabled"],placeholder:"placeholder"},exportAs:["cdkTextareaAutosize"]});class z{}z.\u0275fac=function(ue){return new(ue||z)},z.\u0275mod=_.oAB({type:z}),z.\u0275inj=_.cJS({});var I=m(2508),W=m(207),Z=m(5074);const ae=new _.OlP("MAT_INPUT_VALUE_ACCESSOR"),re=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let pe=0;const le=(0,W.FD)(class{constructor($,ue,w,n){this._defaultErrorStateMatcher=$,this._parentForm=ue,this._parentFormGroup=w,this.ngControl=n,this.stateChanges=new s.x}});class ve extends le{constructor(ue,w,n,o,h,d,y,L,B,v){super(d,o,h,n),this._elementRef=ue,this._platform=w,this._autofillMonitor=L,this._formField=v,this._uid="mat-input-"+pe++,this.focused=!1,this.stateChanges=new s.x,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(N=>(0,t.qK)().has(N)),this._iOSKeyupListener=N=>{const F=N.target;!F.value&&0===F.selectionStart&&0===F.selectionEnd&&(F.setSelectionRange(1,1),F.setSelectionRange(0,0))};const a=this._elementRef.nativeElement,C=a.nodeName.toLowerCase();this._inputValueAccessor=y||a,this._previousNativeValue=this.value,this.id=this.id,w.IOS&&B.runOutsideAngular(()=>{ue.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===C,this._isTextarea="textarea"===C,this._isInFormField=!!v,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this.ngControl&&null!==this.ngControl.disabled?this.ngControl.disabled:this._disabled}set disabled(ue){this._disabled=(0,e.Ig)(ue),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(ue){this._id=ue||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(I.kI.required)??!1}set required(ue){this._required=(0,e.Ig)(ue)}get type(){return this._type}set type(ue){this._type=ue||"text",this._validateType(),!this._isTextarea&&(0,t.qK)().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(ue){ue!==this.value&&(this._inputValueAccessor.value=ue,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(ue){this._readonly=(0,e.Ig)(ue)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(ue=>{this.autofilled=ue.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&this.updateErrorState(),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(ue){this._elementRef.nativeElement.focus(ue)}_focusChanged(ue){ue!==this.focused&&(this.focused=ue,this.stateChanges.next())}_onInput(){}_dirtyCheckPlaceholder(){const ue=this._formField,w=ue&&"legacy"===ue.appearance&&!ue._hasLabel?.()?null:this.placeholder;if(w!==this._previousPlaceholder){const n=this._elementRef.nativeElement;this._previousPlaceholder=w,w?n.setAttribute("placeholder",w):n.removeAttribute("placeholder")}}_dirtyCheckNativeValue(){const ue=this._elementRef.nativeElement.value;this._previousNativeValue!==ue&&(this._previousNativeValue=ue,this.stateChanges.next())}_validateType(){re.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let ue=this._elementRef.nativeElement.validity;return ue&&ue.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const ue=this._elementRef.nativeElement,w=ue.options[0];return this.focused||ue.multiple||!this.empty||!!(ue.selectedIndex>-1&&w&&w.label)}return this.focused||!this.empty}setDescribedByIds(ue){ue.length?this._elementRef.nativeElement.setAttribute("aria-describedby",ue.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const ue=this._elementRef.nativeElement;return this._isNativeSelect&&(ue.multiple||ue.size>1)}}ve.\u0275fac=function(ue){return new(ue||ve)(_.Y36(_.SBq),_.Y36(t.t4),_.Y36(I.a5,10),_.Y36(I.F,8),_.Y36(I.sg,8),_.Y36(W.rD),_.Y36(ae,10),_.Y36(A),_.Y36(_.R0b),_.Y36(Z.G_,8))},ve.\u0275dir=_.lG2({type:ve,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-input-element","mat-form-field-autofill-control"],hostVars:12,hostBindings:function(ue,w){1&ue&&_.NdJ("focus",function(){return w._focusChanged(!0)})("blur",function(){return w._focusChanged(!1)})("input",function(){return w._onInput()}),2&ue&&(_.Ikx("disabled",w.disabled)("required",w.required),_.uIk("id",w.id)("data-placeholder",w.placeholder)("name",w.name||null)("readonly",w.readonly&&!w._isNativeSelect||null)("aria-invalid",w.empty&&w.required?null:w.errorState)("aria-required",w.required),_.ekj("mat-input-server",w._isServer)("mat-native-select-inline",w._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[_._Bn([{provide:Z.Eo,useExisting:ve}]),_.qOj,_.TTD]});class de{}de.\u0275fac=function(ue){return new(ue||de)},de.\u0275mod=_.oAB({type:de}),de.\u0275inj=_.cJS({providers:[W.rD],imports:[z,Z.lN,W.BQ,z,Z.lN]})},6517:(Ve,X,m)=>{"use strict";m.d(X,{Tg:()=>h,i$:()=>ue,ie:()=>C});var e=m(4666),t=m(2560),_=m(207),E=m(8971),s=m(253),D=m(8951),u=m(4874),k=m(4218),p=m(1755),S=m(8456),A=m(2508),P=m(1528);const M=["*"],z='.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}button.mat-list-item,button.mat-list-option{padding:0;width:100%;background:none;color:inherit;border:none;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] button.mat-list-item,[dir=rtl] button.mat-list-option{text-align:right}button.mat-list-item::-moz-focus-inner,button.mat-list-option::-moz-focus-inner{border:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:hover{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}',I=[[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]],[["","mat-line",""],["","matLine",""]],"*"],Z=["text"];function j(N,F){if(1&N&&t._UZ(0,"mat-pseudo-checkbox",5),2&N){const J=t.oxw();t.Q6J("state",J.selected?"checked":"unchecked")("disabled",J.disabled)}}const ae=["*",[["","mat-list-avatar",""],["","mat-list-icon",""],["","matListAvatar",""],["","matListIcon",""]]],pe=(0,_.Id)((0,_.Kr)(class{})),le=(0,_.Kr)(class{}),ve=new t.OlP("MatList"),de=new t.OlP("MatNavList");class $ extends pe{constructor(){super(...arguments),this._stateChanges=new s.x}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}$.\u0275fac=function(){let N;return function(J){return(N||(N=t.n5z($)))(J||$)}}(),$.\u0275cmp=t.Xpm({type:$,selectors:[["mat-nav-list"]],hostAttrs:["role","navigation",1,"mat-nav-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matNavList"],features:[t._Bn([{provide:de,useExisting:$}]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,J){1&F&&(t.F$t(),t.Hsn(0))},styles:['.mat-subheader{display:flex;box-sizing:border-box;padding:16px;align-items:center}.mat-list-base .mat-subheader{margin:0}button.mat-list-item,button.mat-list-option{padding:0;width:100%;background:none;color:inherit;border:none;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] button.mat-list-item,[dir=rtl] button.mat-list-option{text-align:right}button.mat-list-item::-moz-focus-inner,button.mat-list-option::-moz-focus-inner{border:0}.mat-list-base{padding-top:8px;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-list-base .mat-subheader{height:48px;line-height:16px}.mat-list-base .mat-subheader:first-child{margin-top:-8px}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{display:block;height:48px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base .mat-list-item .mat-list-item-content,.mat-list-base .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base .mat-list-item .mat-list-item-content-reverse,.mat-list-base .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base .mat-list-item .mat-list-item-ripple,.mat-list-base .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar,.mat-list-base .mat-list-option.mat-list-item-with-avatar{height:56px}.mat-list-base .mat-list-item.mat-2-line,.mat-list-base .mat-list-option.mat-2-line{height:72px}.mat-list-base .mat-list-item.mat-3-line,.mat-list-base .mat-list-option.mat-3-line{height:88px}.mat-list-base .mat-list-item.mat-multi-line,.mat-list-base .mat-list-option.mat-multi-line{height:auto}.mat-list-base .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base .mat-list-item .mat-list-text,.mat-list-base .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base .mat-list-item .mat-list-text>*,.mat-list-base .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base .mat-list-item .mat-list-text:empty,.mat-list-base .mat-list-option .mat-list-text:empty{display:none}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base .mat-list-item .mat-list-avatar,.mat-list-base .mat-list-option .mat-list-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover}.mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:72px;width:calc(100% - 72px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:72px}.mat-list-base .mat-list-item .mat-list-icon,.mat-list-base .mat-list-option .mat-list-icon{flex-shrink:0;width:24px;height:24px;font-size:24px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:64px;width:calc(100% - 64px)}[dir=rtl] .mat-list-base .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:64px}.mat-list-base .mat-list-item .mat-divider,.mat-list-base .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base .mat-list-item .mat-divider,[dir=rtl] .mat-list-base .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-list-base[dense]{padding-top:4px;display:block}.mat-list-base[dense] .mat-subheader{height:40px;line-height:8px}.mat-list-base[dense] .mat-subheader:first-child{margin-top:-4px}.mat-list-base[dense] .mat-list-item,.mat-list-base[dense] .mat-list-option{display:block;height:40px;-webkit-tap-highlight-color:rgba(0,0,0,0);width:100%;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-item-content,.mat-list-base[dense] .mat-list-option .mat-list-item-content{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:0 16px;position:relative;height:inherit}.mat-list-base[dense] .mat-list-item .mat-list-item-content-reverse,.mat-list-base[dense] .mat-list-option .mat-list-item-content-reverse{display:flex;align-items:center;padding:0 16px;flex-direction:row-reverse;justify-content:space-around}.mat-list-base[dense] .mat-list-item .mat-list-item-ripple,.mat-list-base[dense] .mat-list-option .mat-list-item-ripple{display:block;top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar{height:48px}.mat-list-base[dense] .mat-list-item.mat-2-line,.mat-list-base[dense] .mat-list-option.mat-2-line{height:60px}.mat-list-base[dense] .mat-list-item.mat-3-line,.mat-list-base[dense] .mat-list-option.mat-3-line{height:76px}.mat-list-base[dense] .mat-list-item.mat-multi-line,.mat-list-base[dense] .mat-list-option.mat-multi-line{height:auto}.mat-list-base[dense] .mat-list-item.mat-multi-line .mat-list-item-content,.mat-list-base[dense] .mat-list-option.mat-multi-line .mat-list-item-content{padding-top:16px;padding-bottom:16px}.mat-list-base[dense] .mat-list-item .mat-list-text,.mat-list-base[dense] .mat-list-option .mat-list-text{display:flex;flex-direction:column;flex:auto;box-sizing:border-box;overflow:hidden;padding:0}.mat-list-base[dense] .mat-list-item .mat-list-text>*,.mat-list-base[dense] .mat-list-option .mat-list-text>*{margin:0;padding:0;font-weight:normal;font-size:inherit}.mat-list-base[dense] .mat-list-item .mat-list-text:empty,.mat-list-base[dense] .mat-list-option .mat-list-text:empty{display:none}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:0;padding-left:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:0}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-left:0;padding-right:16px}[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-item.mat-list-option .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar .mat-list-item-content-reverse .mat-list-text,[dir=rtl] .mat-list-base[dense] .mat-list-option.mat-list-option .mat-list-item-content-reverse .mat-list-text{padding-right:0;padding-left:16px}.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-item.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content-reverse .mat-list-text,.mat-list-base[dense] .mat-list-option.mat-list-item-with-avatar.mat-list-option .mat-list-item-content .mat-list-text{padding-right:16px;padding-left:16px}.mat-list-base[dense] .mat-list-item .mat-list-avatar,.mat-list-base[dense] .mat-list-option .mat-list-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover}.mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:68px;width:calc(100% - 68px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-avatar~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-avatar~.mat-divider-inset{margin-left:auto;margin-right:68px}.mat-list-base[dense] .mat-list-item .mat-list-icon,.mat-list-base[dense] .mat-list-option .mat-list-icon{flex-shrink:0;width:20px;height:20px;font-size:20px;box-sizing:content-box;border-radius:50%;padding:4px}.mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:60px;width:calc(100% - 60px)}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-list-icon~.mat-divider-inset,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-list-icon~.mat-divider-inset{margin-left:auto;margin-right:60px}.mat-list-base[dense] .mat-list-item .mat-divider,.mat-list-base[dense] .mat-list-option .mat-divider{position:absolute;bottom:0;left:0;width:100%;margin:0}[dir=rtl] .mat-list-base[dense] .mat-list-item .mat-divider,[dir=rtl] .mat-list-base[dense] .mat-list-option .mat-divider{margin-left:auto;margin-right:0}.mat-list-base[dense] .mat-list-item .mat-divider.mat-divider-inset,.mat-list-base[dense] .mat-list-option .mat-divider.mat-divider-inset{position:absolute}.mat-nav-list a{text-decoration:none;color:inherit}.mat-nav-list .mat-list-item{cursor:pointer;outline:none}mat-action-list .mat-list-item{cursor:pointer;outline:inherit}.mat-list-option:not(.mat-list-item-disabled){cursor:pointer;outline:none}.mat-list-item-disabled{pointer-events:none}.cdk-high-contrast-active .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active :host .mat-list-item-disabled{opacity:.5}.cdk-high-contrast-active .mat-list-option:hover,.cdk-high-contrast-active .mat-nav-list .mat-list-item:hover,.cdk-high-contrast-active mat-action-list .mat-list-item:hover{outline:dotted 1px;z-index:1}.cdk-high-contrast-active .mat-list-single-selected-option::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active [dir=rtl] .mat-list-single-selected-option::after{right:auto;left:16px}@media(hover: none){.mat-list-option:not(.mat-list-single-selected-option):not(.mat-list-item-disabled):hover,.mat-nav-list .mat-list-item:not(.mat-list-item-disabled):hover,.mat-action-list .mat-list-item:not(.mat-list-item-disabled):hover{background:none}}'],encapsulation:2,changeDetection:0});class ue extends pe{constructor(F){super(),this._elementRef=F,this._stateChanges=new s.x,"action-list"===this._getListType()&&(F.nativeElement.classList.add("mat-action-list"),F.nativeElement.setAttribute("role","group"))}_getListType(){const F=this._elementRef.nativeElement.nodeName.toLowerCase();return"mat-list"===F?"list":"mat-action-list"===F?"action-list":null}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}ue.\u0275fac=function(F){return new(F||ue)(t.Y36(t.SBq))},ue.\u0275cmp=t.Xpm({type:ue,selectors:[["mat-list"],["mat-action-list"]],hostAttrs:[1,"mat-list","mat-list-base"],inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matList"],features:[t._Bn([{provide:ve,useExisting:ue}]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,J){1&F&&(t.F$t(),t.Hsn(0))},styles:[z],encapsulation:2,changeDetection:0});class w{}w.\u0275fac=function(F){return new(F||w)},w.\u0275dir=t.lG2({type:w,selectors:[["","mat-list-avatar",""],["","matListAvatar",""]],hostAttrs:[1,"mat-list-avatar"]});class n{}n.\u0275fac=function(F){return new(F||n)},n.\u0275dir=t.lG2({type:n,selectors:[["","mat-list-icon",""],["","matListIcon",""]],hostAttrs:[1,"mat-list-icon"]});class o{}o.\u0275fac=function(F){return new(F||o)},o.\u0275dir=t.lG2({type:o,selectors:[["","mat-subheader",""],["","matSubheader",""]],hostAttrs:[1,"mat-subheader"]});class h extends le{constructor(F,J,Fe,ke){super(),this._element=F,this._isInteractiveList=!1,this._destroyed=new s.x,this._disabled=!1,this._isInteractiveList=!!(Fe||ke&&"action-list"===ke._getListType()),this._list=Fe||ke;const Ge=this._getHostElement();"button"===Ge.nodeName.toLowerCase()&&!Ge.hasAttribute("type")&&Ge.setAttribute("type","button"),this._list&&this._list._stateChanges.pipe((0,D.R)(this._destroyed)).subscribe(()=>{J.markForCheck()})}get disabled(){return this._disabled||!(!this._list||!this._list.disabled)}set disabled(F){this._disabled=(0,E.Ig)(F)}ngAfterContentInit(){(0,_.E0)(this._lines,this._element)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_isRippleDisabled(){return!this._isInteractiveList||this.disableRipple||!(!this._list||!this._list.disableRipple)}_getHostElement(){return this._element.nativeElement}}h.\u0275fac=function(F){return new(F||h)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(de,8),t.Y36(ve,8))},h.\u0275cmp=t.Xpm({type:h,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(F,J,Fe){if(1&F&&(t.Suo(Fe,w,5),t.Suo(Fe,n,5),t.Suo(Fe,_.X2,5)),2&F){let ke;t.iGM(ke=t.CRH())&&(J._avatar=ke.first),t.iGM(ke=t.CRH())&&(J._icon=ke.first),t.iGM(ke=t.CRH())&&(J._lines=ke)}},hostAttrs:[1,"mat-list-item","mat-focus-indicator"],hostVars:4,hostBindings:function(F,J){2&F&&t.ekj("mat-list-item-disabled",J.disabled)("mat-list-item-with-avatar",J._avatar||J._icon)},inputs:{disableRipple:"disableRipple",disabled:"disabled"},exportAs:["matListItem"],features:[t.qOj],ngContentSelectors:["[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]","[mat-line], [matLine]","*"],decls:6,vars:2,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-list-text"]],template:function(F,J){1&F&&(t.F$t(I),t.TgZ(0,"span",0),t._UZ(1,"span",1),t.Hsn(2),t.TgZ(3,"span",2),t.Hsn(4,1),t.qZA(),t.Hsn(5,2),t.qZA()),2&F&&(t.xp6(1),t.Q6J("matRippleTrigger",J._getHostElement())("matRippleDisabled",J._isRippleDisabled()))},dependencies:[_.wG],encapsulation:2,changeDetection:0});const d=(0,_.Kr)(class{}),y=(0,_.Kr)(class{}),L={provide:A.JU,useExisting:(0,t.Gpc)(()=>a),multi:!0};class B{constructor(F,J){this.source=F,this.options=J}}class v extends y{constructor(F,J,Fe){super(),this._element=F,this._changeDetector=J,this.selectionList=Fe,this._selected=!1,this._disabled=!1,this._hasFocus=!1,this.selectedChange=new t.vpe,this.checkboxPosition="after",this._inputsInitialized=!1}get color(){return this._color||this.selectionList.color}set color(F){this._color=F}get value(){return this._value}set value(F){this.selected&&!this.selectionList.compareWith(F,this.value)&&this._inputsInitialized&&(this.selected=!1),this._value=F}get disabled(){return this._disabled||this.selectionList&&this.selectionList.disabled}set disabled(F){const J=(0,E.Ig)(F);J!==this._disabled&&(this._disabled=J,this._changeDetector.markForCheck())}get selected(){return this.selectionList.selectedOptions.isSelected(this)}set selected(F){const J=(0,E.Ig)(F);J!==this._selected&&(this._setSelected(J),(J||this.selectionList.multiple)&&this.selectionList._reportValueChange())}ngOnInit(){const F=this.selectionList;F._value&&F._value.some(Fe=>F.compareWith(this._value,Fe))&&this._setSelected(!0);const J=this._selected;Promise.resolve().then(()=>{(this._selected||J)&&(this.selected=!0,this._changeDetector.markForCheck())}),this._inputsInitialized=!0}ngAfterContentInit(){(0,_.E0)(this._lines,this._element)}ngOnDestroy(){this.selected&&Promise.resolve().then(()=>{this.selected=!1});const F=this._hasFocus,J=this.selectionList._removeOptionFromList(this);F&&J&&J.focus()}toggle(){this.selected=!this.selected}focus(){this._element.nativeElement.focus()}getLabel(){return this._text&&this._text.nativeElement.textContent||""}_isRippleDisabled(){return this.disabled||this.disableRipple||this.selectionList.disableRipple}_handleClick(){!this.disabled&&(this.selectionList.multiple||!this.selected)&&(this.toggle(),this.selectionList._emitChangeEvent([this]))}_handleFocus(){this.selectionList._setFocusedOption(this),this._hasFocus=!0}_handleBlur(){this.selectionList._onTouched(),this._hasFocus=!1}_getHostElement(){return this._element.nativeElement}_setSelected(F){return F!==this._selected&&(this._selected=F,F?this.selectionList.selectedOptions.select(this):this.selectionList.selectedOptions.deselect(this),this.selectedChange.emit(F),this._changeDetector.markForCheck(),!0)}_markForCheck(){this._changeDetector.markForCheck()}}v.\u0275fac=function(F){return new(F||v)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36((0,t.Gpc)(()=>a)))},v.\u0275cmp=t.Xpm({type:v,selectors:[["mat-list-option"]],contentQueries:function(F,J,Fe){if(1&F&&(t.Suo(Fe,w,5),t.Suo(Fe,n,5),t.Suo(Fe,_.X2,5)),2&F){let ke;t.iGM(ke=t.CRH())&&(J._avatar=ke.first),t.iGM(ke=t.CRH())&&(J._icon=ke.first),t.iGM(ke=t.CRH())&&(J._lines=ke)}},viewQuery:function(F,J){if(1&F&&t.Gf(Z,5),2&F){let Fe;t.iGM(Fe=t.CRH())&&(J._text=Fe.first)}},hostAttrs:["role","option",1,"mat-list-item","mat-list-option","mat-focus-indicator"],hostVars:15,hostBindings:function(F,J){1&F&&t.NdJ("focus",function(){return J._handleFocus()})("blur",function(){return J._handleBlur()})("click",function(){return J._handleClick()}),2&F&&(t.uIk("aria-selected",J.selected)("aria-disabled",J.disabled)("tabindex",-1),t.ekj("mat-list-item-disabled",J.disabled)("mat-list-item-with-avatar",J._avatar||J._icon)("mat-primary","primary"===J.color)("mat-accent","primary"!==J.color&&"warn"!==J.color)("mat-warn","warn"===J.color)("mat-list-single-selected-option",J.selected&&!J.selectionList.multiple))},inputs:{disableRipple:"disableRipple",checkboxPosition:"checkboxPosition",color:"color",value:"value",disabled:"disabled",selected:"selected"},outputs:{selectedChange:"selectedChange"},exportAs:["matListOption"],features:[t.qOj],ngContentSelectors:["*","[mat-list-avatar], [mat-list-icon], [matListAvatar], [matListIcon]"],decls:7,vars:5,consts:[[1,"mat-list-item-content"],["mat-ripple","",1,"mat-list-item-ripple",3,"matRippleTrigger","matRippleDisabled"],[3,"state","disabled",4,"ngIf"],[1,"mat-list-text"],["text",""],[3,"state","disabled"]],template:function(F,J){1&F&&(t.F$t(ae),t.TgZ(0,"div",0),t._UZ(1,"div",1),t.YNc(2,j,1,2,"mat-pseudo-checkbox",2),t.TgZ(3,"div",3,4),t.Hsn(5),t.qZA(),t.Hsn(6,1),t.qZA()),2&F&&(t.ekj("mat-list-item-content-reverse","after"==J.checkboxPosition),t.xp6(1),t.Q6J("matRippleTrigger",J._getHostElement())("matRippleDisabled",J._isRippleDisabled()),t.xp6(1),t.Q6J("ngIf",J.selectionList.multiple))},dependencies:[_.wG,_.nP,e.O5],encapsulation:2,changeDetection:0});class a extends d{constructor(F,J,Fe){super(),this._element=F,this._changeDetector=J,this._focusMonitor=Fe,this._multiple=!0,this._contentInitialized=!1,this.selectionChange=new t.vpe,this.color="accent",this.compareWith=(ke,Ge)=>ke===Ge,this._disabled=!1,this.selectedOptions=new p.Ov(this._multiple),this._tabIndex=-1,this._onChange=ke=>{},this._destroyed=new s.x,this._onTouched=()=>{}}get disabled(){return this._disabled}set disabled(F){this._disabled=(0,E.Ig)(F),this._markOptionsForCheck()}get multiple(){return this._multiple}set multiple(F){const J=(0,E.Ig)(F);J!==this._multiple&&(this._contentInitialized,this._multiple=J,this.selectedOptions=new p.Ov(this._multiple,this.selectedOptions.selected))}ngAfterContentInit(){this._contentInitialized=!0,this._keyManager=new k.Em(this.options).withWrap().withTypeAhead().withHomeAndEnd().skipPredicate(()=>!1).withAllowedModifierKeys(["shiftKey"]),this._value&&this._setOptionsFromValues(this._value),this._keyManager.tabOut.pipe((0,D.R)(this._destroyed)).subscribe(()=>{this._allowFocusEscape()}),this.options.changes.pipe((0,u.O)(null),(0,D.R)(this._destroyed)).subscribe(()=>{this._updateTabIndex()}),this.selectedOptions.changed.pipe((0,D.R)(this._destroyed)).subscribe(F=>{if(F.added)for(let J of F.added)J.selected=!0;if(F.removed)for(let J of F.removed)J.selected=!1}),this._focusMonitor.monitor(this._element).pipe((0,D.R)(this._destroyed)).subscribe(F=>{if("keyboard"===F||"program"===F){let J=0;for(let Fe=0;Fe-1&&this._keyManager.activeItemIndex===J&&(J>0?this._keyManager.updateActiveItem(J-1):0===J&&this.options.length>1&&this._keyManager.updateActiveItem(Math.min(J+1,this.options.length-1))),this._keyManager.activeItem}_keydown(F){const J=F.keyCode,Fe=this._keyManager,ke=Fe.activeItemIndex,Ge=(0,S.Vb)(F);switch(J){case S.L_:case S.K5:!Ge&&!Fe.isTyping()&&(this._toggleFocusedOption(),F.preventDefault());break;default:if(J===S.A&&this.multiple&&(0,S.Vb)(F,"ctrlKey")&&!Fe.isTyping()){const je=this.options.some(We=>!We.disabled&&!We.selected);this._setAllOptionsSelected(je,!0,!0),F.preventDefault()}else Fe.onKeydown(F)}this.multiple&&(J===S.LH||J===S.JH)&&F.shiftKey&&Fe.activeItemIndex!==ke&&this._toggleFocusedOption()}_reportValueChange(){if(this.options&&!this._isDestroyed){const F=this._getSelectedOptionValues();this._onChange(F),this._value=F}}_emitChangeEvent(F){this.selectionChange.emit(new B(this,F))}writeValue(F){this._value=F,this.options&&this._setOptionsFromValues(F||[])}setDisabledState(F){this.disabled=F}registerOnChange(F){this._onChange=F}registerOnTouched(F){this._onTouched=F}_setOptionsFromValues(F){this.options.forEach(J=>J._setSelected(!1)),F.forEach(J=>{const Fe=this.options.find(ke=>!ke.selected&&this.compareWith(ke.value,J));Fe&&Fe._setSelected(!0)})}_getSelectedOptionValues(){return this.options.filter(F=>F.selected).map(F=>F.value)}_toggleFocusedOption(){let F=this._keyManager.activeItemIndex;if(null!=F&&this._isValidIndex(F)){let J=this.options.toArray()[F];J&&!J.disabled&&(this._multiple||!J.selected)&&(J.toggle(),this._emitChangeEvent([J]))}}_setAllOptionsSelected(F,J,Fe){const ke=[];return this.options.forEach(Ge=>{(!J||!Ge.disabled)&&Ge._setSelected(F)&&ke.push(Ge)}),ke.length&&(this._reportValueChange(),Fe&&this._emitChangeEvent(ke)),ke}_isValidIndex(F){return F>=0&&FF._markForCheck())}_allowFocusEscape(){this._tabIndex=-1,setTimeout(()=>{this._tabIndex=0,this._changeDetector.markForCheck()})}_updateTabIndex(){this._tabIndex=0===this.options.length?-1:0}}a.\u0275fac=function(F){return new(F||a)(t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(k.tE))},a.\u0275cmp=t.Xpm({type:a,selectors:[["mat-selection-list"]],contentQueries:function(F,J,Fe){if(1&F&&t.Suo(Fe,v,5),2&F){let ke;t.iGM(ke=t.CRH())&&(J.options=ke)}},hostAttrs:["role","listbox",1,"mat-selection-list","mat-list-base"],hostVars:3,hostBindings:function(F,J){1&F&&t.NdJ("keydown",function(ke){return J._keydown(ke)}),2&F&&t.uIk("aria-multiselectable",J.multiple)("aria-disabled",J.disabled.toString())("tabindex",J._tabIndex)},inputs:{disableRipple:"disableRipple",color:"color",compareWith:"compareWith",disabled:"disabled",multiple:"multiple"},outputs:{selectionChange:"selectionChange"},exportAs:["matSelectionList"],features:[t._Bn([L]),t.qOj,t.TTD],ngContentSelectors:M,decls:1,vars:0,template:function(F,J){1&F&&(t.F$t(),t.Hsn(0))},styles:[z],encapsulation:2,changeDetection:0});class C{}C.\u0275fac=function(F){return new(F||C)},C.\u0275mod=t.oAB({type:C}),C.\u0275inj=t.cJS({imports:[_.uc,_.si,_.BQ,_.us,e.ez,_.uc,_.BQ,_.us,P.t]})},8589:(Ve,X,m)=>{"use strict";m.d(X,{OP:()=>F,Tx:()=>Le,VK:()=>je,p6:()=>ut});var e=m(4218),t=m(8971),_=m(8456),E=m(2560),s=m(253),D=m(7714),u=m(6646),k=m(745),p=m(3888),S=m(4874),A=m(2673),P=m(9295),M=m(8951),z=m(116),I=m(6234),W=m(4851),Z=m(7520),j=m(4666),ae=m(207),re=m(2867),pe=m(5895),le=m(9107),ve=m(1494);function $(De,ne){1&De&&(E.O4$(),E.TgZ(0,"svg",2),E._UZ(1,"polygon",3),E.qZA())}const ue=["*"];function w(De,ne){if(1&De){const fe=E.EpF();E.TgZ(0,"div",0),E.NdJ("keydown",function(H){E.CHM(fe);const q=E.oxw();return E.KtG(q._handleKeydown(H))})("click",function(){E.CHM(fe);const H=E.oxw();return E.KtG(H.closed.emit("click"))})("@transformMenu.start",function(H){E.CHM(fe);const q=E.oxw();return E.KtG(q._onAnimationStart(H))})("@transformMenu.done",function(H){E.CHM(fe);const q=E.oxw();return E.KtG(q._onAnimationDone(H))}),E.TgZ(1,"div",1),E.Hsn(2),E.qZA()()}if(2&De){const fe=E.oxw();E.Q6J("id",fe.panelId)("ngClass",fe._classList)("@transformMenu",fe._panelAnimationState),E.uIk("aria-label",fe.ariaLabel||null)("aria-labelledby",fe.ariaLabelledby||null)("aria-describedby",fe.ariaDescribedby||null)}}const n={transformMenu:(0,W.X$)("transformMenu",[(0,W.SB)("void",(0,W.oB)({opacity:0,transform:"scale(0.8)"})),(0,W.eR)("void => enter",(0,W.jt)("120ms cubic-bezier(0, 0, 0.2, 1)",(0,W.oB)({opacity:1,transform:"scale(1)"}))),(0,W.eR)("* => void",(0,W.jt)("100ms 25ms linear",(0,W.oB)({opacity:0})))]),fadeInItems:(0,W.X$)("fadeInItems",[(0,W.SB)("showing",(0,W.oB)({opacity:1})),(0,W.eR)("void => *",[(0,W.oB)({opacity:0}),(0,W.jt)("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},d=(n.fadeInItems,n.transformMenu,new E.OlP("MatMenuContent"));class y{constructor(ne,fe,ee,H,q,Oe,Re){this._template=ne,this._componentFactoryResolver=fe,this._appRef=ee,this._injector=H,this._viewContainerRef=q,this._document=Oe,this._changeDetectorRef=Re,this._attached=new s.x}attach(ne={}){this._portal||(this._portal=new Z.UE(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new Z.u0(this._document.createElement("div"),this._componentFactoryResolver,this._appRef,this._injector));const fe=this._template.elementRef.nativeElement;fe.parentNode.insertBefore(this._outlet.outletElement,fe),this._changeDetectorRef?.markForCheck(),this._portal.attach(this._outlet,ne),this._attached.next()}detach(){this._portal.isAttached&&this._portal.detach()}ngOnDestroy(){this._outlet&&this._outlet.dispose()}}y.\u0275fac=function(ne){return new(ne||y)(E.Y36(E.Rgc),E.Y36(E._Vd),E.Y36(E.z2F),E.Y36(E.zs3),E.Y36(E.s_b),E.Y36(j.K0),E.Y36(E.sBO))},y.\u0275dir=E.lG2({type:y});class L extends y{}L.\u0275fac=function(){let De;return function(fe){return(De||(De=E.n5z(L)))(fe||L)}}(),L.\u0275dir=E.lG2({type:L,selectors:[["ng-template","matMenuContent",""]],features:[E._Bn([{provide:d,useExisting:L}]),E.qOj]});const C=new E.OlP("MAT_MENU_PANEL"),N=(0,ae.Kr)((0,ae.Id)(class{}));class F extends N{constructor(ne,fe,ee,H,q){super(),this._elementRef=ne,this._document=fe,this._focusMonitor=ee,this._parentMenu=H,this._changeDetectorRef=q,this.role="menuitem",this._hovered=new s.x,this._focused=new s.x,this._highlighted=!1,this._triggersSubmenu=!1,H?.addItem?.(this)}focus(ne,fe){this._focusMonitor&&ne?this._focusMonitor.focusVia(this._getHostElement(),ne,fe):this._getHostElement().focus(fe),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(ne){this.disabled&&(ne.preventDefault(),ne.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const ne=this._elementRef.nativeElement.cloneNode(!0),fe=ne.querySelectorAll("mat-icon, .material-icons");for(let ee=0;ee{this._classList[ee]=!1}),this._previousPanelClass=ne,ne&&ne.length&&(ne.split(" ").forEach(ee=>{this._classList[ee]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(ne){this.panelClass=ne}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new e.Em(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._tabSubscription=this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe((0,S.O)(this._directDescendantItems),(0,A.w)(ne=>(0,u.T)(...ne.map(fe=>fe._focused)))).subscribe(ne=>this._keyManager.updateActiveItem(ne)),this._directDescendantItems.changes.subscribe(ne=>{const fe=this._keyManager;if("enter"===this._panelAnimationState&&fe.activeItem?._hasFocus()){const ee=ne.toArray(),H=Math.max(0,Math.min(ee.length-1,fe.activeItemIndex||0));ee[H]&&!ee[H].disabled?fe.setActiveItem(H):fe.setNextItemActive()}})}ngOnDestroy(){this._directDescendantItems.destroy(),this._tabSubscription.unsubscribe(),this.closed.complete()}_hovered(){return this._directDescendantItems.changes.pipe((0,S.O)(this._directDescendantItems),(0,A.w)(fe=>(0,u.T)(...fe.map(ee=>ee._hovered))))}addItem(ne){}removeItem(ne){}_handleKeydown(ne){const fe=ne.keyCode,ee=this._keyManager;switch(fe){case _.hY:(0,_.Vb)(ne)||(ne.preventDefault(),this.closed.emit("keydown"));break;case _.oh:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case _.SV:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(fe===_.LH||fe===_.JH)&&ee.setFocusOrigin("keyboard"),void ee.onKeydown(ne)}ne.stopPropagation()}focusFirstItem(ne="program"){this._ngZone.onStable.pipe((0,P.q)(1)).subscribe(()=>{let fe=null;if(this._directDescendantItems.length&&(fe=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!fe||!fe.contains(document.activeElement)){const ee=this._keyManager;ee.setFocusOrigin(ne).setFirstItemActive(),!ee.activeItem&&fe&&fe.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(ne){const fe=Math.min(this._baseElevation+ne,24),ee=`${this._elevationPrefix}${fe}`,H=Object.keys(this._classList).find(q=>q.startsWith(this._elevationPrefix));(!H||H===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[ee]=!0,this._previousElevation=ee)}setPositionClasses(ne=this.xPosition,fe=this.yPosition){const ee=this._classList;ee["mat-menu-before"]="before"===ne,ee["mat-menu-after"]="after"===ne,ee["mat-menu-above"]="above"===fe,ee["mat-menu-below"]="below"===fe,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(ne){this._animationDone.next(ne),this._isAnimating=!1}_onAnimationStart(ne){this._isAnimating=!0,"enter"===ne.toState&&0===this._keyManager.activeItemIndex&&(ne.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe((0,S.O)(this._allItems)).subscribe(ne=>{this._directDescendantItems.reset(ne.filter(fe=>fe._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}Ge.\u0275fac=function(ne){return new(ne||Ge)(E.Y36(E.SBq),E.Y36(E.R0b),E.Y36(J),E.Y36(E.sBO))},Ge.\u0275dir=E.lG2({type:Ge,contentQueries:function(ne,fe,ee){if(1&ne&&(E.Suo(ee,d,5),E.Suo(ee,F,5),E.Suo(ee,F,4)),2&ne){let H;E.iGM(H=E.CRH())&&(fe.lazyContent=H.first),E.iGM(H=E.CRH())&&(fe._allItems=H),E.iGM(H=E.CRH())&&(fe.items=H)}},viewQuery:function(ne,fe){if(1&ne&&E.Gf(E.Rgc,5),2&ne){let ee;E.iGM(ee=E.CRH())&&(fe.templateRef=ee.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}});class je extends Ge{constructor(ne,fe,ee,H){super(ne,fe,ee,H),this._elevationPrefix="mat-elevation-z",this._baseElevation=4}}je.\u0275fac=function(ne){return new(ne||je)(E.Y36(E.SBq),E.Y36(E.R0b),E.Y36(J),E.Y36(E.sBO))},je.\u0275cmp=E.Xpm({type:je,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(ne,fe){2&ne&&E.uIk("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[E._Bn([{provide:C,useExisting:je}]),E.qOj],ngContentSelectors:ue,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-menu-panel",3,"id","ngClass","keydown","click"],[1,"mat-menu-content"]],template:function(ne,fe){1&ne&&(E.F$t(),E.YNc(0,w,3,6,"ng-template"))},dependencies:[j.mk],styles:['mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px;position:relative}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[n.transformMenu,n.fadeInItems]},changeDetection:0});const We=new E.OlP("mat-menu-scroll-strategy");const Ye={provide:We,deps:[pe.aV],useFactory:function be(De){return()=>De.scrollStrategies.reposition()}},ge=(0,le.i$)({passive:!0});class et{constructor(ne,fe,ee,H,q,Oe,Re,oe,pt){this._overlay=ne,this._element=fe,this._viewContainerRef=ee,this._menuItemInstance=Oe,this._dir=Re,this._focusMonitor=oe,this._ngZone=pt,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=D.w0.EMPTY,this._hoverSubscription=D.w0.EMPTY,this._menuCloseSubscription=D.w0.EMPTY,this._handleTouchStart=it=>{(0,e.yG)(it)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new E.vpe,this.onMenuOpen=this.menuOpened,this.menuClosed=new E.vpe,this.onMenuClose=this.menuClosed,this._scrollStrategy=H,this._parentMaterialMenu=q instanceof Ge?q:void 0,fe.nativeElement.addEventListener("touchstart",this._handleTouchStart,ge),Oe&&(Oe._triggersSubmenu=this.triggersSubmenu())}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(ne){this.menu=ne}get menu(){return this._menu}set menu(ne){ne!==this._menu&&(this._menu=ne,this._menuCloseSubscription.unsubscribe(),ne&&(this._parentMaterialMenu,this._menuCloseSubscription=ne.close.subscribe(fe=>{this._destroyMenu(fe),("click"===fe||"tab"===fe)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(fe)})))}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,ge),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!(!this._menuItemInstance||!this._parentMaterialMenu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const ne=this.menu;if(this._menuOpen||!ne)return;const fe=this._createOverlay(ne),ee=fe.getConfig(),H=ee.positionStrategy;this._setPosition(ne,H),ee.hasBackdrop=null==ne.hasBackdrop?!this.triggersSubmenu():ne.hasBackdrop,fe.attach(this._getPortal(ne)),ne.lazyContent&&ne.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(ne),ne instanceof Ge&&(ne._startAnimation(),ne._directDescendantItems.changes.pipe((0,M.R)(ne.close)).subscribe(()=>{H.withLockedPosition(!1).reapplyLastPosition(),H.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(ne,fe){this._focusMonitor&&ne?this._focusMonitor.focusVia(this._element,ne,fe):this._element.nativeElement.focus(fe)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(ne){if(!this._overlayRef||!this.menuOpen)return;const fe=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===ne||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,fe instanceof Ge?(fe._resetAnimation(),fe.lazyContent?fe._animationDone.pipe((0,z.h)(ee=>"void"===ee.toState),(0,P.q)(1),(0,M.R)(fe.lazyContent._attached)).subscribe({next:()=>fe.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),fe?.lazyContent?.detach())}_initMenu(ne){ne.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,ne.direction=this.dir,this._setMenuElevation(ne),ne.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(ne){if(ne.setElevation){let fe=0,ee=ne.parentMenu;for(;ee;)fe++,ee=ee.parentMenu;ne.setElevation(fe)}}_setIsMenuOpen(ne){this._menuOpen=ne,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(ne)}_createOverlay(ne){if(!this._overlayRef){const fe=this._getOverlayConfig(ne);this._subscribeToPositions(ne,fe.positionStrategy),this._overlayRef=this._overlay.create(fe),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(ne){return new pe.X_({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:ne.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:ne.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(ne,fe){ne.setPositionClasses&&fe.positionChanges.subscribe(ee=>{const H="start"===ee.connectionPair.overlayX?"after":"before",q="top"===ee.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>ne.setPositionClasses(H,q)):ne.setPositionClasses(H,q)})}_setPosition(ne,fe){let[ee,H]="before"===ne.xPosition?["end","start"]:["start","end"],[q,Oe]="above"===ne.yPosition?["bottom","top"]:["top","bottom"],[Re,oe]=[q,Oe],[pt,it]=[ee,H],Ct=0;if(this.triggersSubmenu()){if(it=ee="before"===ne.xPosition?"start":"end",H=pt="end"===ee?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const un=this._parentMaterialMenu.items.first;this._parentInnerPadding=un?un._getHostElement().offsetTop:0}Ct="bottom"===q?this._parentInnerPadding:-this._parentInnerPadding}}else ne.overlapTrigger||(Re="top"===q?"bottom":"top",oe="top"===Oe?"bottom":"top");fe.withPositions([{originX:ee,originY:Re,overlayX:pt,overlayY:q,offsetY:Ct},{originX:H,originY:Re,overlayX:it,overlayY:q,offsetY:Ct},{originX:ee,originY:oe,overlayX:pt,overlayY:Oe,offsetY:-Ct},{originX:H,originY:oe,overlayX:it,overlayY:Oe,offsetY:-Ct}])}_menuClosingActions(){const ne=this._overlayRef.backdropClick(),fe=this._overlayRef.detachments(),ee=this._parentMaterialMenu?this._parentMaterialMenu.closed:(0,k.of)(),H=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe((0,z.h)(q=>q!==this._menuItemInstance),(0,z.h)(()=>this._menuOpen)):(0,k.of)();return(0,u.T)(ne,ee,H,fe)}_handleMousedown(ne){(0,e.X6)(ne)||(this._openedBy=0===ne.button?"mouse":void 0,this.triggersSubmenu()&&ne.preventDefault())}_handleKeydown(ne){const fe=ne.keyCode;(fe===_.K5||fe===_.L_)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(fe===_.SV&&"ltr"===this.dir||fe===_.oh&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(ne){this.triggersSubmenu()?(ne.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe((0,z.h)(ne=>ne===this._menuItemInstance&&!ne.disabled),(0,I.g)(0,p.E)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Ge&&this.menu._isAnimating?this.menu._animationDone.pipe((0,P.q)(1),(0,I.g)(0,p.E),(0,M.R)(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(ne){return(!this._portal||this._portal.templateRef!==ne.templateRef)&&(this._portal=new Z.UE(ne.templateRef,this._viewContainerRef)),this._portal}}et.\u0275fac=function(ne){return new(ne||et)(E.Y36(pe.aV),E.Y36(E.SBq),E.Y36(E.s_b),E.Y36(We),E.Y36(C,8),E.Y36(F,10),E.Y36(re.Is,8),E.Y36(e.tE),E.Y36(E.R0b))},et.\u0275dir=E.lG2({type:et,hostVars:3,hostBindings:function(ne,fe){1&ne&&E.NdJ("click",function(H){return fe._handleClick(H)})("mousedown",function(H){return fe._handleMousedown(H)})("keydown",function(H){return fe._handleKeydown(H)}),2&ne&&E.uIk("aria-haspopup",fe.menu?"menu":null)("aria-expanded",fe.menuOpen||null)("aria-controls",fe.menuOpen?fe.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}});class ut extends et{}ut.\u0275fac=function(){let De;return function(fe){return(De||(De=E.n5z(ut)))(fe||ut)}}(),ut.\u0275dir=E.lG2({type:ut,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-menu-trigger"],exportAs:["matMenuTrigger"],features:[E.qOj]});class Le{}Le.\u0275fac=function(ne){return new(ne||Le)},Le.\u0275mod=E.oAB({type:Le}),Le.\u0275inj=E.cJS({providers:[Ye],imports:[j.ez,ae.BQ,ae.si,pe.U8,ve.ZD,ae.BQ]})},6060:(Ve,X,m)=>{"use strict";m.d(X,{NW:()=>de,TU:()=>$,ye:()=>W});var e=m(4666),t=m(2560),_=m(207),E=m(4522),s=m(7371),D=m(6896),u=m(8971),k=m(253),p=m(5074);function S(ue,w){if(1&ue&&(t.TgZ(0,"mat-option",19),t._uU(1),t.qZA()),2&ue){const n=w.$implicit;t.Q6J("value",n),t.xp6(1),t.hij(" ",n," ")}}function A(ue,w){if(1&ue){const n=t.EpF();t.TgZ(0,"mat-form-field",16)(1,"mat-select",17),t.NdJ("selectionChange",function(h){t.CHM(n);const d=t.oxw(2);return t.KtG(d._changePageSize(h.value))}),t.YNc(2,S,2,2,"mat-option",18),t.qZA()()}if(2&ue){const n=t.oxw(2);t.Q6J("appearance",n._formFieldAppearance)("color",n.color),t.xp6(1),t.Q6J("value",n.pageSize)("disabled",n.disabled)("panelClass",n.selectConfig.panelClass||"")("disableOptionCentering",n.selectConfig.disableOptionCentering)("aria-label",n._intl.itemsPerPageLabel),t.xp6(1),t.Q6J("ngForOf",n._displayedPageSizeOptions)}}function P(ue,w){if(1&ue&&(t.TgZ(0,"div",20),t._uU(1),t.qZA()),2&ue){const n=t.oxw(2);t.xp6(1),t.Oqu(n.pageSize)}}function M(ue,w){if(1&ue&&(t.TgZ(0,"div",12)(1,"div",13),t._uU(2),t.qZA(),t.YNc(3,A,3,8,"mat-form-field",14),t.YNc(4,P,2,1,"div",15),t.qZA()),2&ue){const n=t.oxw();t.xp6(2),t.hij(" ",n._intl.itemsPerPageLabel," "),t.xp6(1),t.Q6J("ngIf",n._displayedPageSizeOptions.length>1),t.xp6(1),t.Q6J("ngIf",n._displayedPageSizeOptions.length<=1)}}function z(ue,w){if(1&ue){const n=t.EpF();t.TgZ(0,"button",21),t.NdJ("click",function(){t.CHM(n);const h=t.oxw();return t.KtG(h.firstPage())}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",22),t.qZA()()}if(2&ue){const n=t.oxw();t.Q6J("matTooltip",n._intl.firstPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("matTooltipPosition","above")("disabled",n._previousButtonsDisabled()),t.uIk("aria-label",n._intl.firstPageLabel)}}function I(ue,w){if(1&ue){const n=t.EpF();t.O4$(),t.kcU(),t.TgZ(0,"button",23),t.NdJ("click",function(){t.CHM(n);const h=t.oxw();return t.KtG(h.lastPage())}),t.O4$(),t.TgZ(1,"svg",7),t._UZ(2,"path",24),t.qZA()()}if(2&ue){const n=t.oxw();t.Q6J("matTooltip",n._intl.lastPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("matTooltipPosition","above")("disabled",n._nextButtonsDisabled()),t.uIk("aria-label",n._intl.lastPageLabel)}}class W{constructor(){this.changes=new k.x,this.itemsPerPageLabel="Items per page:",this.nextPageLabel="Next page",this.previousPageLabel="Previous page",this.firstPageLabel="First page",this.lastPageLabel="Last page",this.getRangeLabel=(w,n,o)=>{if(0==o||0==n)return`0 of ${o}`;const h=w*n;return`${h+1} \u2013 ${h<(o=Math.max(o,0))?Math.min(h+n,o):h+n} of ${o}`}}}W.\u0275fac=function(w){return new(w||W)},W.\u0275prov=t.Yz7({token:W,factory:W.\u0275fac,providedIn:"root"});const j={provide:W,deps:[[new t.FiY,new t.tp0,W]],useFactory:function Z(ue){return ue||new W}};const pe=new t.OlP("MAT_PAGINATOR_DEFAULT_OPTIONS"),le=(0,_.Id)((0,_.dB)(class{}));class ve extends le{constructor(w,n,o){if(super(),this._intl=w,this._changeDetectorRef=n,this._pageIndex=0,this._length=0,this._pageSizeOptions=[],this._hidePageSize=!1,this._showFirstLastButtons=!1,this.selectConfig={},this.page=new t.vpe,this._intlChanges=w.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),o){const{pageSize:h,pageSizeOptions:d,hidePageSize:y,showFirstLastButtons:L}=o;null!=h&&(this._pageSize=h),null!=d&&(this._pageSizeOptions=d),null!=y&&(this._hidePageSize=y),null!=L&&(this._showFirstLastButtons=L)}}get pageIndex(){return this._pageIndex}set pageIndex(w){this._pageIndex=Math.max((0,u.su)(w),0),this._changeDetectorRef.markForCheck()}get length(){return this._length}set length(w){this._length=(0,u.su)(w),this._changeDetectorRef.markForCheck()}get pageSize(){return this._pageSize}set pageSize(w){this._pageSize=Math.max((0,u.su)(w),0),this._updateDisplayedPageSizeOptions()}get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(w){this._pageSizeOptions=(w||[]).map(n=>(0,u.su)(n)),this._updateDisplayedPageSizeOptions()}get hidePageSize(){return this._hidePageSize}set hidePageSize(w){this._hidePageSize=(0,u.Ig)(w)}get showFirstLastButtons(){return this._showFirstLastButtons}set showFirstLastButtons(w){this._showFirstLastButtons=(0,u.Ig)(w)}ngOnInit(){this._initialized=!0,this._updateDisplayedPageSizeOptions(),this._markInitialized()}ngOnDestroy(){this._intlChanges.unsubscribe()}nextPage(){if(!this.hasNextPage())return;const w=this.pageIndex;this.pageIndex=this.pageIndex+1,this._emitPageEvent(w)}previousPage(){if(!this.hasPreviousPage())return;const w=this.pageIndex;this.pageIndex=this.pageIndex-1,this._emitPageEvent(w)}firstPage(){if(!this.hasPreviousPage())return;const w=this.pageIndex;this.pageIndex=0,this._emitPageEvent(w)}lastPage(){if(!this.hasNextPage())return;const w=this.pageIndex;this.pageIndex=this.getNumberOfPages()-1,this._emitPageEvent(w)}hasPreviousPage(){return this.pageIndex>=1&&0!=this.pageSize}hasNextPage(){const w=this.getNumberOfPages()-1;return this.pageIndexw-n),this._changeDetectorRef.markForCheck())}_emitPageEvent(w){this.page.emit({previousPageIndex:w,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}}ve.\u0275fac=function(w){t.$Z()},ve.\u0275dir=t.lG2({type:ve,inputs:{color:"color",pageIndex:"pageIndex",length:"length",pageSize:"pageSize",pageSizeOptions:"pageSizeOptions",hidePageSize:"hidePageSize",showFirstLastButtons:"showFirstLastButtons",selectConfig:"selectConfig"},outputs:{page:"page"},features:[t.qOj]});class de extends ve{constructor(w,n,o){super(w,n,o),o&&null!=o.formFieldAppearance&&(this._formFieldAppearance=o.formFieldAppearance)}}de.\u0275fac=function(w){return new(w||de)(t.Y36(W),t.Y36(t.sBO),t.Y36(pe,8))},de.\u0275cmp=t.Xpm({type:de,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-paginator"],inputs:{disabled:"disabled"},exportAs:["matPaginator"],features:[t.qOj],decls:14,vars:14,consts:[[1,"mat-paginator-outer-container"],[1,"mat-paginator-container"],["class","mat-paginator-page-size",4,"ngIf"],[1,"mat-paginator-range-actions"],[1,"mat-paginator-range-label"],["mat-icon-button","","type","button","class","mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-previous",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["viewBox","0 0 24 24","focusable","false",1,"mat-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-next",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["mat-icon-button","","type","button","class","mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click",4,"ngIf"],[1,"mat-paginator-page-size"],[1,"mat-paginator-page-size-label"],["class","mat-paginator-page-size-select",3,"appearance","color",4,"ngIf"],["class","mat-paginator-page-size-value",4,"ngIf"],[1,"mat-paginator-page-size-select",3,"appearance","color"],[3,"value","disabled","panelClass","disableOptionCentering","aria-label","selectionChange"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[1,"mat-paginator-page-size-value"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["mat-icon-button","","type","button",1,"mat-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","matTooltipPosition","disabled","click"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(w,n){1&w&&(t.TgZ(0,"div",0)(1,"div",1),t.YNc(2,M,5,3,"div",2),t.TgZ(3,"div",3)(4,"div",4),t._uU(5),t.qZA(),t.YNc(6,z,3,5,"button",5),t.TgZ(7,"button",6),t.NdJ("click",function(){return n.previousPage()}),t.O4$(),t.TgZ(8,"svg",7),t._UZ(9,"path",8),t.qZA()(),t.kcU(),t.TgZ(10,"button",9),t.NdJ("click",function(){return n.nextPage()}),t.O4$(),t.TgZ(11,"svg",7),t._UZ(12,"path",10),t.qZA()(),t.YNc(13,I,3,5,"button",11),t.qZA()()()),2&w&&(t.xp6(2),t.Q6J("ngIf",!n.hidePageSize),t.xp6(3),t.hij(" ",n._intl.getRangeLabel(n.pageIndex,n.pageSize,n.length)," "),t.xp6(1),t.Q6J("ngIf",n.showFirstLastButtons),t.xp6(1),t.Q6J("matTooltip",n._intl.previousPageLabel)("matTooltipDisabled",n._previousButtonsDisabled())("matTooltipPosition","above")("disabled",n._previousButtonsDisabled()),t.uIk("aria-label",n._intl.previousPageLabel),t.xp6(3),t.Q6J("matTooltip",n._intl.nextPageLabel)("matTooltipDisabled",n._nextButtonsDisabled())("matTooltipPosition","above")("disabled",n._nextButtonsDisabled()),t.uIk("aria-label",n._intl.nextPageLabel),t.xp6(3),t.Q6J("ngIf",n.showFirstLastButtons))},dependencies:[e.sg,e.O5,E.lW,p.KE,s.gD,_.ey,D.gM],styles:[".mat-paginator{display:block}.mat-paginator-outer-container{display:flex}.mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}.mat-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-paginator-page-size{margin-right:0;margin-left:8px}.mat-paginator-page-size-label{margin:0 4px}.mat-paginator-page-size-select{margin:6px 4px 0 4px;width:56px}.mat-paginator-page-size-select.mat-form-field-appearance-outline{width:64px}.mat-paginator-page-size-select.mat-form-field-appearance-fill{width:64px}.mat-paginator-range-label{margin:0 32px 0 24px}.mat-paginator-range-actions{display:flex;align-items:center}.mat-paginator-icon{display:inline-block;width:28px;fill:currentColor}[dir=rtl] .mat-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-paginator-icon{fill:CanvasText}"],encapsulation:2,changeDetection:0});class ${}$.\u0275fac=function(w){return new(w||$)},$.\u0275mod=t.oAB({type:$}),$.\u0275inj=t.cJS({providers:[j],imports:[e.ez,E.ot,s.LD,D.AV,_.BQ]})},1294:(Ve,X,m)=>{"use strict";m.d(X,{Cv:()=>W,pW:()=>z});var e=m(2560),t=m(4666),_=m(207),E=m(8971),s=m(7714),D=m(3280),u=m(116);const k=["primaryValueBar"],p=(0,_.pj)(class{constructor(Z){this._elementRef=Z}},"primary"),S=new e.OlP("mat-progress-bar-location",{providedIn:"root",factory:function A(){const Z=(0,e.f3M)(t.K0),j=Z?Z.location:null;return{getPathname:()=>j?j.pathname+j.search:""}}});const P=new e.OlP("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");let M=0;class z extends p{constructor(j,ae,re,pe,le,ve){super(j),this._ngZone=ae,this._animationMode=re,this._changeDetectorRef=ve,this._isNoopAnimation=!1,this._value=0,this._bufferValue=0,this.animationEnd=new e.vpe,this._animationEndSubscription=s.w0.EMPTY,this.mode="determinate",this.progressbarId="mat-progress-bar-"+M++;const de=pe?pe.getPathname().split("#")[0]:"";this._rectangleFillValue=`url('${de}#${this.progressbarId}')`,this._isNoopAnimation="NoopAnimations"===re,le&&(le.color&&(this.color=this.defaultColor=le.color),this.mode=le.mode||this.mode)}get value(){return this._value}set value(j){this._value=I((0,E.su)(j)||0),this._changeDetectorRef?.markForCheck()}get bufferValue(){return this._bufferValue}set bufferValue(j){this._bufferValue=I(j||0),this._changeDetectorRef?.markForCheck()}_primaryTransform(){return{transform:`scale3d(${this.value/100}, 1, 1)`}}_bufferTransform(){return"buffer"===this.mode?{transform:`scale3d(${this.bufferValue/100}, 1, 1)`}:null}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const j=this._primaryValueBar.nativeElement;this._animationEndSubscription=(0,D.R)(j,"transitionend").pipe((0,u.h)(ae=>ae.target===j)).subscribe(()=>{0!==this.animationEnd.observers.length&&("determinate"===this.mode||"buffer"===this.mode)&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))})})}ngOnDestroy(){this._animationEndSubscription.unsubscribe()}}function I(Z,j=0,ae=100){return Math.max(j,Math.min(ae,Z))}z.\u0275fac=function(j){return new(j||z)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(e.QbO,8),e.Y36(S,8),e.Y36(P,8),e.Y36(e.sBO))},z.\u0275cmp=e.Xpm({type:z,selectors:[["mat-progress-bar"]],viewQuery:function(j,ae){if(1&j&&e.Gf(k,5),2&j){let re;e.iGM(re=e.CRH())&&(ae._primaryValueBar=re.first)}},hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-progress-bar"],hostVars:4,hostBindings:function(j,ae){2&j&&(e.uIk("aria-valuenow","indeterminate"===ae.mode||"query"===ae.mode?null:ae.value)("mode",ae.mode),e.ekj("_mat-animation-noopable",ae._isNoopAnimation))},inputs:{color:"color",value:"value",bufferValue:"bufferValue",mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],features:[e.qOj],decls:10,vars:4,consts:[["aria-hidden","true"],["width","100%","height","4","focusable","false",1,"mat-progress-bar-background","mat-progress-bar-element"],["x","4","y","0","width","8","height","4","patternUnits","userSpaceOnUse",3,"id"],["cx","2","cy","2","r","2"],["width","100%","height","100%"],[1,"mat-progress-bar-buffer","mat-progress-bar-element",3,"ngStyle"],[1,"mat-progress-bar-primary","mat-progress-bar-fill","mat-progress-bar-element",3,"ngStyle"],["primaryValueBar",""],[1,"mat-progress-bar-secondary","mat-progress-bar-fill","mat-progress-bar-element"]],template:function(j,ae){1&j&&(e.TgZ(0,"div",0),e.O4$(),e.TgZ(1,"svg",1)(2,"defs")(3,"pattern",2),e._UZ(4,"circle",3),e.qZA()(),e._UZ(5,"rect",4),e.qZA(),e.kcU(),e._UZ(6,"div",5)(7,"div",6,7)(9,"div",8),e.qZA()),2&j&&(e.xp6(3),e.Q6J("id",ae.progressbarId),e.xp6(2),e.uIk("fill",ae._rectangleFillValue),e.xp6(1),e.Q6J("ngStyle",ae._bufferTransform()),e.xp6(1),e.Q6J("ngStyle",ae._primaryTransform()))},dependencies:[t.PC],styles:['.mat-progress-bar{display:block;height:4px;overflow:hidden;position:relative;transition:opacity 250ms linear;width:100%}.mat-progress-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-progress-bar .mat-progress-bar-element,.mat-progress-bar .mat-progress-bar-fill::after{height:100%;position:absolute;width:100%}.mat-progress-bar .mat-progress-bar-background{width:calc(100% + 10px)}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-background{display:none}.mat-progress-bar .mat-progress-bar-buffer{transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-buffer{border-top:solid 5px;opacity:.5}.mat-progress-bar .mat-progress-bar-secondary{display:none}.mat-progress-bar .mat-progress-bar-fill{animation:none;transform-origin:top left;transition:transform 250ms ease}.cdk-high-contrast-active .mat-progress-bar .mat-progress-bar-fill{border-top:solid 4px}.mat-progress-bar .mat-progress-bar-fill::after{animation:none;content:"";display:inline-block;left:0}.mat-progress-bar[dir=rtl],[dir=rtl] .mat-progress-bar{transform:rotateY(180deg)}.mat-progress-bar[mode=query]{transform:rotateZ(180deg)}.mat-progress-bar[mode=query][dir=rtl],[dir=rtl] .mat-progress-bar[mode=query]{transform:rotateZ(180deg) rotateY(180deg)}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-fill,.mat-progress-bar[mode=query] .mat-progress-bar-fill{transition:none}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary,.mat-progress-bar[mode=query] .mat-progress-bar-primary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-translate 2000ms infinite linear;left:-145.166611%}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-primary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-primary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary,.mat-progress-bar[mode=query] .mat-progress-bar-secondary{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-translate 2000ms infinite linear;left:-54.888891%;display:block}.mat-progress-bar[mode=indeterminate] .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar[mode=query] .mat-progress-bar-secondary.mat-progress-bar-fill::after{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-secondary-indeterminate-scale 2000ms infinite linear}.mat-progress-bar[mode=buffer] .mat-progress-bar-background{-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:mat-progress-bar-background-scroll 250ms infinite linear;display:block}.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-buffer,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-primary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-secondary.mat-progress-bar-fill::after,.mat-progress-bar._mat-animation-noopable .mat-progress-bar-background{animation:none;transition-duration:1ms}@keyframes mat-progress-bar-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mat-progress-bar-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mat-progress-bar-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mat-progress-bar-background-scroll{to{transform:translateX(-8px)}}'],encapsulation:2,changeDetection:0});class W{}W.\u0275fac=function(j){return new(j||W)},W.\u0275mod=e.oAB({type:W}),W.\u0275inj=e.cJS({imports:[t.ez,_.BQ,_.BQ]})},1708:(Ve,X,m)=>{"use strict";m.d(X,{Cq:()=>Z,Ou:()=>W});var e=m(8971),t=m(9107),_=m(1494),E=m(4666),s=m(2560),D=m(207),u=m(7714);function k(ae,re){if(1&ae&&(s.O4$(),s._UZ(0,"circle",4)),2&ae){const pe=s.oxw(),le=s.MAs(1);s.Udp("animation-name","mat-progress-spinner-stroke-rotate-"+pe._spinnerAnimationLabel)("stroke-dashoffset",pe._getStrokeDashOffset(),"px")("stroke-dasharray",pe._getStrokeCircumference(),"px")("stroke-width",pe._getCircleStrokeWidth(),"%")("transform-origin",pe._getCircleTransformOrigin(le)),s.uIk("r",pe._getCircleRadius())}}function p(ae,re){if(1&ae&&(s.O4$(),s._UZ(0,"circle",4)),2&ae){const pe=s.oxw(),le=s.MAs(1);s.Udp("stroke-dashoffset",pe._getStrokeDashOffset(),"px")("stroke-dasharray",pe._getStrokeCircumference(),"px")("stroke-width",pe._getCircleStrokeWidth(),"%")("transform-origin",pe._getCircleTransformOrigin(le)),s.uIk("r",pe._getCircleRadius())}}const P=(0,D.pj)(class{constructor(ae){this._elementRef=ae}},"primary"),M=new s.OlP("mat-progress-spinner-default-options",{providedIn:"root",factory:function z(){return{diameter:100}}});const I="\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n";class W extends P{constructor(re,pe,le,ve,de,$,ue,w){super(re),this._document=le,this._diameter=100,this._value=0,this._resizeSubscription=u.w0.EMPTY,this.mode="determinate";const n=W._diameters;this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),n.has(le.head)||n.set(le.head,new Set([100])),this._noopAnimations="NoopAnimations"===ve&&!!de&&!de._forceAnimations,"mat-spinner"===re.nativeElement.nodeName.toLowerCase()&&(this.mode="indeterminate"),de&&(de.color&&(this.color=this.defaultColor=de.color),de.diameter&&(this.diameter=de.diameter),de.strokeWidth&&(this.strokeWidth=de.strokeWidth)),pe.isBrowser&&pe.SAFARI&&ue&&$&&w&&(this._resizeSubscription=ue.change(150).subscribe(()=>{"indeterminate"===this.mode&&w.run(()=>$.markForCheck())}))}get diameter(){return this._diameter}set diameter(re){this._diameter=(0,e.su)(re),this._spinnerAnimationLabel=this._getSpinnerAnimationLabel(),this._styleRoot&&this._attachStyleNode()}get strokeWidth(){return this._strokeWidth||this.diameter/10}set strokeWidth(re){this._strokeWidth=(0,e.su)(re)}get value(){return"determinate"===this.mode?this._value:0}set value(re){this._value=Math.max(0,Math.min(100,(0,e.su)(re)))}ngOnInit(){const re=this._elementRef.nativeElement;this._styleRoot=(0,t.kV)(re)||this._document.head,this._attachStyleNode(),re.classList.add("mat-progress-spinner-indeterminate-animation")}ngOnDestroy(){this._resizeSubscription.unsubscribe()}_getCircleRadius(){return(this.diameter-10)/2}_getViewBox(){const re=2*this._getCircleRadius()+this.strokeWidth;return`0 0 ${re} ${re}`}_getStrokeCircumference(){return 2*Math.PI*this._getCircleRadius()}_getStrokeDashOffset(){return"determinate"===this.mode?this._getStrokeCircumference()*(100-this._value)/100:null}_getCircleStrokeWidth(){return this.strokeWidth/this.diameter*100}_getCircleTransformOrigin(re){const pe=50*(re.currentScale??1);return`${pe}% ${pe}%`}_attachStyleNode(){const re=this._styleRoot,pe=this._diameter,le=W._diameters;let ve=le.get(re);if(!ve||!ve.has(pe)){const de=this._document.createElement("style");de.setAttribute("mat-spinner-animation",this._spinnerAnimationLabel),de.textContent=this._getAnimationText(),re.appendChild(de),ve||(ve=new Set,le.set(re,ve)),ve.add(pe)}}_getAnimationText(){const re=this._getStrokeCircumference();return I.replace(/START_VALUE/g,""+.95*re).replace(/END_VALUE/g,""+.2*re).replace(/DIAMETER/g,`${this._spinnerAnimationLabel}`)}_getSpinnerAnimationLabel(){return this.diameter.toString().replace(".","_")}}W._diameters=new WeakMap,W.\u0275fac=function(re){return new(re||W)(s.Y36(s.SBq),s.Y36(t.t4),s.Y36(E.K0,8),s.Y36(s.QbO,8),s.Y36(M),s.Y36(s.sBO),s.Y36(_.rL),s.Y36(s.R0b))},W.\u0275cmp=s.Xpm({type:W,selectors:[["mat-progress-spinner"],["mat-spinner"]],hostAttrs:["role","progressbar","tabindex","-1",1,"mat-progress-spinner","mat-spinner"],hostVars:10,hostBindings:function(re,pe){2&re&&(s.uIk("aria-valuemin","determinate"===pe.mode?0:null)("aria-valuemax","determinate"===pe.mode?100:null)("aria-valuenow","determinate"===pe.mode?pe.value:null)("mode",pe.mode),s.Udp("width",pe.diameter,"px")("height",pe.diameter,"px"),s.ekj("_mat-animation-noopable",pe._noopAnimations))},inputs:{color:"color",diameter:"diameter",strokeWidth:"strokeWidth",mode:"mode",value:"value"},exportAs:["matProgressSpinner"],features:[s.qOj],decls:4,vars:8,consts:[["preserveAspectRatio","xMidYMid meet","focusable","false","aria-hidden","true",3,"ngSwitch"],["svg",""],["cx","50%","cy","50%",3,"animation-name","stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%",3,"stroke-dashoffset","stroke-dasharray","stroke-width","transform-origin",4,"ngSwitchCase"],["cx","50%","cy","50%"]],template:function(re,pe){1&re&&(s.O4$(),s.TgZ(0,"svg",0,1),s.YNc(2,k,1,11,"circle",2),s.YNc(3,p,1,9,"circle",3),s.qZA()),2&re&&(s.Udp("width",pe.diameter,"px")("height",pe.diameter,"px"),s.Q6J("ngSwitch","indeterminate"===pe.mode),s.uIk("viewBox",pe._getViewBox()),s.xp6(2),s.Q6J("ngSwitchCase",!0),s.xp6(1),s.Q6J("ngSwitchCase",!1))},dependencies:[E.RF,E.n9],styles:[".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}.mat-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}"],encapsulation:2,changeDetection:0});class Z{}Z.\u0275fac=function(re){return new(re||Z)},Z.\u0275mod=s.oAB({type:Z}),Z.\u0275inj=s.cJS({imports:[D.BQ,E.ez,D.BQ]})},2922:(Ve,X,m)=>{"use strict";m.d(X,{Fk:()=>le,U0:()=>pe,VQ:()=>Z});var e=m(2560),t=m(207),_=m(4218),E=m(8971),s=m(1755),D=m(2508);const u=["input"],k=function(ve){return{enterDuration:ve}},S=new e.OlP("mat-radio-default-options",{providedIn:"root",factory:function A(){return{color:"accent"}}});let P=0;const M={provide:D.JU,useExisting:(0,e.Gpc)(()=>Z),multi:!0};class z{constructor(de,$){this.source=de,this.value=$}}const I=new e.OlP("MatRadioGroup");class W{constructor(de){this._changeDetector=de,this._value=null,this._name="mat-radio-group-"+P++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new e.vpe}get name(){return this._name}set name(de){this._name=de,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(de){this._labelPosition="before"===de?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(de){this._value!==de&&(this._value=de,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(de){this._selected=de,this.value=de?de.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(de){this._disabled=(0,E.Ig)(de),this._markRadiosForCheck()}get required(){return this._required}set required(de){this._required=(0,E.Ig)(de),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(de=>{de.name=this.name,de._markForCheck()})}_updateSelectedRadioFromValue(){const de=null!==this._selected&&this._selected.value===this._value;this._radios&&!de&&(this._selected=null,this._radios.forEach($=>{$.checked=this.value===$.value,$.checked&&(this._selected=$)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new z(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(de=>de._markForCheck())}writeValue(de){this.value=de,this._changeDetector.markForCheck()}registerOnChange(de){this._controlValueAccessorChangeFn=de}registerOnTouched(de){this.onTouched=de}setDisabledState(de){this.disabled=de,this._changeDetector.markForCheck()}}W.\u0275fac=function(de){return new(de||W)(e.Y36(e.sBO))},W.\u0275dir=e.lG2({type:W,inputs:{color:"color",name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:"disabled",required:"required"},outputs:{change:"change"}});class Z extends W{}Z.\u0275fac=function(){let ve;return function($){return(ve||(ve=e.n5z(Z)))($||Z)}}(),Z.\u0275dir=e.lG2({type:Z,selectors:[["mat-radio-group"]],contentQueries:function(de,$,ue){if(1&de&&e.Suo(ue,pe,5),2&de){let w;e.iGM(w=e.CRH())&&($._radios=w)}},hostAttrs:["role","radiogroup",1,"mat-radio-group"],exportAs:["matRadioGroup"],features:[e._Bn([M,{provide:I,useExisting:Z}]),e.qOj]});const ae=(0,t.Kr)((0,t.sb)(class j{constructor(de){this._elementRef=de}}));class re extends ae{constructor(de,$,ue,w,n,o,h,d){super($),this._changeDetector=ue,this._focusMonitor=w,this._radioDispatcher=n,this._providerOverride=h,this._uniqueId="mat-radio-"+ ++P,this.id=this._uniqueId,this.change=new e.vpe,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=de,this._noopAnimations="NoopAnimations"===o,d&&(this.tabIndex=(0,E.su)(d,0)),this._removeUniqueSelectionListener=n.listen((y,L)=>{y!==this.id&&L===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(de){const $=(0,E.Ig)(de);this._checked!==$&&(this._checked=$,$&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!$&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),$&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(de){this._value!==de&&(this._value=de,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===de),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(de){this._labelPosition=de}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(de){this._setDisabled((0,E.Ig)(de))}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(de){this._required=(0,E.Ig)(de)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(de){this._color=de}get inputId(){return`${this.id||this._uniqueId}-input`}focus(de,$){$?this._focusMonitor.focusVia(this._inputElement,$,de):this._inputElement.nativeElement.focus(de)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name)}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(de=>{!de&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new z(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(de){de.stopPropagation()}_onInputInteraction(de){if(de.stopPropagation(),!this.checked&&!this.disabled){const $=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),$&&this.radioGroup._emitChangeEvent())}}_setDisabled(de){this._disabled!==de&&(this._disabled=de,this._changeDetector.markForCheck())}_updateTabIndex(){const de=this.radioGroup;let $;if($=de&&de.selected&&!this.disabled?de.selected===this?this.tabIndex:-1:this.tabIndex,$!==this._previousTabIndex){const ue=this._inputElement?.nativeElement;ue&&(ue.setAttribute("tabindex",$+""),this._previousTabIndex=$)}}}re.\u0275fac=function(de){e.$Z()},re.\u0275dir=e.lG2({type:re,viewQuery:function(de,$){if(1&de&&e.Gf(u,5),2&de){let ue;e.iGM(ue=e.CRH())&&($._inputElement=ue.first)}},inputs:{id:"id",name:"name",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],checked:"checked",value:"value",labelPosition:"labelPosition",disabled:"disabled",required:"required",color:"color"},outputs:{change:"change"},features:[e.qOj]});class pe extends re{constructor(de,$,ue,w,n,o,h,d){super(de,$,ue,w,n,o,h,d)}}pe.\u0275fac=function(de){return new(de||pe)(e.Y36(I,8),e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(_.tE),e.Y36(s.A8),e.Y36(e.QbO,8),e.Y36(S,8),e.$8M("tabindex"))},pe.\u0275cmp=e.Xpm({type:pe,selectors:[["mat-radio-button"]],hostAttrs:[1,"mat-radio-button"],hostVars:17,hostBindings:function(de,$){1&de&&e.NdJ("focus",function(){return $._inputElement.nativeElement.focus()}),2&de&&(e.uIk("tabindex",null)("id",$.id)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),e.ekj("mat-radio-checked",$.checked)("mat-radio-disabled",$.disabled)("_mat-animation-noopable",$._noopAnimations)("mat-primary","primary"===$.color)("mat-accent","accent"===$.color)("mat-warn","warn"===$.color))},inputs:{disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matRadioButton"],features:[e.qOj],ngContentSelectors:["*"],decls:13,vars:19,consts:[[1,"mat-radio-label"],["label",""],[1,"mat-radio-container"],[1,"mat-radio-outer-circle"],[1,"mat-radio-inner-circle"],["type","radio",1,"mat-radio-input",3,"id","checked","disabled","required","change","click"],["input",""],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mat-radio-label-content"],[2,"display","none"]],template:function(de,$){if(1&de&&(e.F$t(),e.TgZ(0,"label",0,1)(2,"span",2),e._UZ(3,"span",3)(4,"span",4),e.TgZ(5,"input",5,6),e.NdJ("change",function(w){return $._onInputInteraction(w)})("click",function(w){return $._onInputClick(w)}),e.qZA(),e.TgZ(7,"span",7),e._UZ(8,"span",8),e.qZA()(),e.TgZ(9,"span",9)(10,"span",10),e._uU(11,"\xa0"),e.qZA(),e.Hsn(12),e.qZA()()),2&de){const ue=e.MAs(1);e.uIk("for",$.inputId),e.xp6(5),e.Q6J("id",$.inputId)("checked",$.checked)("disabled",$.disabled)("required",$.required),e.uIk("name",$.name)("value",$.value)("aria-label",$.ariaLabel)("aria-labelledby",$.ariaLabelledby)("aria-describedby",$.ariaDescribedby),e.xp6(2),e.Q6J("matRippleTrigger",ue)("matRippleDisabled",$._isRippleDisabled())("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",e.VKq(17,k,$._noopAnimations?0:150)),e.xp6(2),e.ekj("mat-radio-label-before","before"==$.labelPosition)}},dependencies:[t.wG],styles:['.mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.mat-radio-input:focus~.mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}'],encapsulation:2,changeDetection:0});class le{}le.\u0275fac=function(de){return new(de||le)},le.\u0275mod=e.oAB({type:le}),le.\u0275inj=e.cJS({imports:[t.si,t.BQ,t.BQ]})},7371:(Ve,X,m)=>{"use strict";m.d(X,{$L:()=>ut,LD:()=>ne,gD:()=>De});var e=m(5895),t=m(4666),_=m(2560),E=m(207),s=m(5074),D=m(1494),u=m(4218),k=m(2867),p=m(8971),S=m(1755),A=m(8456),P=m(2508),M=m(253),z=m(1954),I=m(6646),W=m(4874),Z=m(2673),j=m(9295),ae=m(116),re=m(635),pe=m(8977),le=m(8951),ve=m(4851);const de=["trigger"],$=["panel"];function ue(fe,ee){if(1&fe&&(_.TgZ(0,"span",8),_._uU(1),_.qZA()),2&fe){const H=_.oxw();_.xp6(1),_.Oqu(H.placeholder)}}function w(fe,ee){if(1&fe&&(_.TgZ(0,"span",12),_._uU(1),_.qZA()),2&fe){const H=_.oxw(2);_.xp6(1),_.Oqu(H.triggerValue)}}function n(fe,ee){1&fe&&_.Hsn(0,0,["*ngSwitchCase","true"])}function o(fe,ee){if(1&fe&&(_.TgZ(0,"span",9),_.YNc(1,w,2,1,"span",10),_.YNc(2,n,1,0,"ng-content",11),_.qZA()),2&fe){const H=_.oxw();_.Q6J("ngSwitch",!!H.customTrigger),_.xp6(2),_.Q6J("ngSwitchCase",!0)}}function h(fe,ee){if(1&fe){const H=_.EpF();_.TgZ(0,"div",13)(1,"div",14,15),_.NdJ("@transformPanel.done",function(Oe){_.CHM(H);const Re=_.oxw();return _.KtG(Re._panelDoneAnimatingStream.next(Oe.toState))})("keydown",function(Oe){_.CHM(H);const Re=_.oxw();return _.KtG(Re._handleKeydown(Oe))}),_.Hsn(3,1),_.qZA()()}if(2&fe){const H=_.oxw();_.Q6J("@transformPanelWrap",void 0),_.xp6(1),_.Gre("mat-select-panel ",H._getPanelTheme(),""),_.Udp("transform-origin",H._transformOrigin)("font-size",H._triggerFontSize,"px"),_.Q6J("ngClass",H.panelClass)("@transformPanel",H.multiple?"showing-multiple":"showing"),_.uIk("id",H.id+"-panel")("aria-multiselectable",H.multiple)("aria-label",H.ariaLabel||null)("aria-labelledby",H._getPanelAriaLabelledby())}}const d=[[["mat-select-trigger"]],"*"],L={transformPanelWrap:(0,ve.X$)("transformPanelWrap",[(0,ve.eR)("* => void",(0,ve.IO)("@transformPanel",[(0,ve.pV)()],{optional:!0}))]),transformPanel:(0,ve.X$)("transformPanel",[(0,ve.SB)("void",(0,ve.oB)({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),(0,ve.SB)("showing",(0,ve.oB)({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),(0,ve.SB)("showing-multiple",(0,ve.oB)({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),(0,ve.eR)("void => *",(0,ve.jt)("120ms cubic-bezier(0, 0, 0.2, 1)")),(0,ve.eR)("* => void",(0,ve.jt)("100ms 25ms linear",(0,ve.oB)({opacity:0})))])};let C=0;const N=256,F=16,je=new _.OlP("mat-select-scroll-strategy");const be=new _.OlP("MAT_SELECT_CONFIG"),Ye={provide:je,deps:[e.aV],useFactory:function We(fe){return()=>fe.scrollStrategies.reposition()}};class Ie{constructor(ee,H){this.source=ee,this.value=H}}const ge=(0,E.Kr)((0,E.sb)((0,E.Id)((0,E.FD)(class{constructor(fe,ee,H,q,Oe){this._elementRef=fe,this._defaultErrorStateMatcher=ee,this._parentForm=H,this._parentFormGroup=q,this.ngControl=Oe,this.stateChanges=new M.x}})))),et=new _.OlP("MatSelectTrigger");class ut{}ut.\u0275fac=function(ee){return new(ee||ut)},ut.\u0275dir=_.lG2({type:ut,selectors:[["mat-select-trigger"]],features:[_._Bn([{provide:et,useExisting:ut}])]});class Le extends ge{constructor(ee,H,q,Oe,Re,oe,pt,it,Ct,un,Nt,zt,yn,Jt){super(Re,Oe,pt,it,un),this._viewportRuler=ee,this._changeDetectorRef=H,this._ngZone=q,this._dir=oe,this._parentFormField=Ct,this._liveAnnouncer=yn,this._defaultOptions=Jt,this._panelOpen=!1,this._compareWith=(Gt,In)=>Gt===In,this._uid="mat-select-"+C++,this._triggerAriaLabelledBy=null,this._destroy=new M.x,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+C++,this._panelDoneAnimatingStream=new M.x,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.optionSelectionChanges=(0,z.P)(()=>{const Gt=this.options;return Gt?Gt.changes.pipe((0,W.O)(Gt),(0,Z.w)(()=>(0,I.T)(...Gt.map(In=>In.onSelectionChange)))):this._ngZone.onStable.pipe((0,j.q)(1),(0,Z.w)(()=>this.optionSelectionChanges))}),this.openedChange=new _.vpe,this._openedStream=this.openedChange.pipe((0,ae.h)(Gt=>Gt),(0,re.U)(()=>{})),this._closedStream=this.openedChange.pipe((0,ae.h)(Gt=>!Gt),(0,re.U)(()=>{})),this.selectionChange=new _.vpe,this.valueChange=new _.vpe,this.ngControl&&(this.ngControl.valueAccessor=this),null!=Jt?.typeaheadDebounceInterval&&(this._typeaheadDebounceInterval=Jt.typeaheadDebounceInterval),this._scrollStrategyFactory=zt,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(Nt)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(ee){this._placeholder=ee,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(P.kI.required)??!1}set required(ee){this._required=(0,p.Ig)(ee),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(ee){this._selectionModel,this._multiple=(0,p.Ig)(ee)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(ee){this._disableOptionCentering=(0,p.Ig)(ee)}get compareWith(){return this._compareWith}set compareWith(ee){this._compareWith=ee,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(ee){this._assignValue(ee)&&this._onChange(ee)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(ee){this._typeaheadDebounceInterval=(0,p.su)(ee)}get id(){return this._id}set id(ee){this._id=ee||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new S.Ov(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe((0,pe.x)(),(0,le.R)(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe((0,le.R)(this._destroy)).subscribe(ee=>{ee.added.forEach(H=>H.select()),ee.removed.forEach(H=>H.deselect())}),this.options.changes.pipe((0,W.O)(null),(0,le.R)(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const ee=this._getTriggerAriaLabelledby(),H=this.ngControl;if(ee!==this._triggerAriaLabelledBy){const q=this._elementRef.nativeElement;this._triggerAriaLabelledBy=ee,ee?q.setAttribute("aria-labelledby",ee):q.removeAttribute("aria-labelledby")}H&&(this._previousControl!==H.control&&(void 0!==this._previousControl&&null!==H.disabled&&H.disabled!==this.disabled&&(this.disabled=H.disabled),this._previousControl=H.control),this.updateErrorState())}ngOnChanges(ee){(ee.disabled||ee.userAriaDescribedBy)&&this.stateChanges.next(),ee.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(ee){this._assignValue(ee)}registerOnChange(ee){this._onChange=ee}registerOnTouched(ee){this._onTouched=ee}setDisabledState(ee){this.disabled=ee,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const ee=this._selectionModel.selected.map(H=>H.viewValue);return this._isRtl()&&ee.reverse(),ee.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(ee){this.disabled||(this.panelOpen?this._handleOpenKeydown(ee):this._handleClosedKeydown(ee))}_handleClosedKeydown(ee){const H=ee.keyCode,q=H===A.JH||H===A.LH||H===A.oh||H===A.SV,Oe=H===A.K5||H===A.L_,Re=this._keyManager;if(!Re.isTyping()&&Oe&&!(0,A.Vb)(ee)||(this.multiple||ee.altKey)&&q)ee.preventDefault(),this.open();else if(!this.multiple){const oe=this.selected;Re.onKeydown(ee);const pt=this.selected;pt&&oe!==pt&&this._liveAnnouncer.announce(pt.viewValue,1e4)}}_handleOpenKeydown(ee){const H=this._keyManager,q=ee.keyCode,Oe=q===A.JH||q===A.LH,Re=H.isTyping();if(Oe&&ee.altKey)ee.preventDefault(),this.close();else if(Re||q!==A.K5&&q!==A.L_||!H.activeItem||(0,A.Vb)(ee))if(!Re&&this._multiple&&q===A.A&&ee.ctrlKey){ee.preventDefault();const oe=this.options.some(pt=>!pt.disabled&&!pt.selected);this.options.forEach(pt=>{pt.disabled||(oe?pt.select():pt.deselect())})}else{const oe=H.activeItemIndex;H.onKeydown(ee),this._multiple&&Oe&&ee.shiftKey&&H.activeItem&&H.activeItemIndex!==oe&&H.activeItem._selectViaInteraction()}else ee.preventDefault(),H.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe((0,j.q)(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(ee){if(this._selectionModel.selected.forEach(H=>H.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&ee)Array.isArray(ee),ee.forEach(H=>this._selectOptionByValue(H)),this._sortValues();else{const H=this._selectOptionByValue(ee);H?this._keyManager.updateActiveItem(H):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(ee){const H=this.options.find(q=>{if(this._selectionModel.isSelected(q))return!1;try{return null!=q.value&&this._compareWith(q.value,ee)}catch{return!1}});return H&&this._selectionModel.select(H),H}_assignValue(ee){return!!(ee!==this._value||this._multiple&&Array.isArray(ee))&&(this.options&&this._setSelectionByValue(ee),this._value=ee,!0)}_initKeyManager(){this._keyManager=new u.s1(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe((0,le.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.pipe((0,le.R)(this._destroy)).subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const ee=(0,I.T)(this.options.changes,this._destroy);this.optionSelectionChanges.pipe((0,le.R)(ee)).subscribe(H=>{this._onSelect(H.source,H.isUserInput),H.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),(0,I.T)(...this.options.map(H=>H._stateChanges)).pipe((0,le.R)(ee)).subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}_onSelect(ee,H){const q=this._selectionModel.isSelected(ee);null!=ee.value||this._multiple?(q!==ee.selected&&(ee.selected?this._selectionModel.select(ee):this._selectionModel.deselect(ee)),H&&this._keyManager.setActiveItem(ee),this.multiple&&(this._sortValues(),H&&this.focus())):(ee.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(ee.value)),q!==this._selectionModel.isSelected(ee)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const ee=this.options.toArray();this._selectionModel.sort((H,q)=>this.sortComparator?this.sortComparator(H,q,ee):ee.indexOf(H)-ee.indexOf(q)),this.stateChanges.next()}}_propagateChanges(ee){let H=null;H=this.multiple?this.selected.map(q=>q.value):this.selected?this.selected.value:ee,this._value=H,this.valueChange.emit(H),this._onChange(H),this.selectionChange.emit(this._getChangeEvent(H)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){return!this._panelOpen&&!this.disabled&&this.options?.length>0}focus(ee){this._elementRef.nativeElement.focus(ee)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const ee=this._parentFormField?.getLabelId(),H=ee?ee+" ":"";return this.ariaLabelledby?H+this.ariaLabelledby:ee}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const ee=this._parentFormField?.getLabelId();let H=(ee?ee+" ":"")+this._valueId;return this.ariaLabelledby&&(H+=" "+this.ariaLabelledby),H}_panelDoneAnimating(ee){this.openedChange.emit(ee)}setDescribedByIds(ee){ee.length?this._elementRef.nativeElement.setAttribute("aria-describedby",ee.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}Le.\u0275fac=function(ee){return new(ee||Le)(_.Y36(D.rL),_.Y36(_.sBO),_.Y36(_.R0b),_.Y36(E.rD),_.Y36(_.SBq),_.Y36(k.Is,8),_.Y36(P.F,8),_.Y36(P.sg,8),_.Y36(s.G_,8),_.Y36(P.a5,10),_.$8M("tabindex"),_.Y36(je),_.Y36(u.Kd),_.Y36(be,8))},Le.\u0275dir=_.lG2({type:Le,viewQuery:function(ee,H){if(1&ee&&(_.Gf(de,5),_.Gf($,5),_.Gf(e.pI,5)),2&ee){let q;_.iGM(q=_.CRH())&&(H.trigger=q.first),_.iGM(q=_.CRH())&&(H.panel=q.first),_.iGM(q=_.CRH())&&(H._overlayDir=q.first)}},inputs:{userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[_.qOj,_.TTD]});class De extends Le{constructor(){super(...arguments),this._scrollTop=0,this._triggerFontSize=0,this._transformOrigin="top",this._offsetY=0,this._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}]}_calculateOverlayScroll(ee,H,q){const Oe=this._getItemHeight(),pt=Oe*ee-H+Oe/2;return Math.min(Math.max(0,pt),q)}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe((0,le.R)(this._destroy)).subscribe(()=>{this.panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._changeDetectorRef.markForCheck())})}open(){super._canOpen()&&(super.open(),this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._calculateOverlayPosition(),this._ngZone.onStable.pipe((0,j.q)(1)).subscribe(()=>{this._triggerFontSize&&this._overlayDir.overlayRef&&this._overlayDir.overlayRef.overlayElement&&(this._overlayDir.overlayRef.overlayElement.style.fontSize=`${this._triggerFontSize}px`)}))}_scrollOptionIntoView(ee){const H=(0,E.CB)(ee,this.options,this.optionGroups),q=this._getItemHeight();this.panel.nativeElement.scrollTop=0===ee&&1===H?0:(0,E.jH)((ee+H)*q,q,this.panel.nativeElement.scrollTop,N)}_positioningSettled(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}_panelDoneAnimating(ee){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),super._panelDoneAnimating(ee)}_getChangeEvent(ee){return new Ie(this,ee)}_calculateOverlayOffsetX(){const ee=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),H=this._viewportRuler.getViewportSize(),q=this._isRtl(),Oe=this.multiple?56:32;let Re;if(this.multiple)Re=40;else if(this.disableOptionCentering)Re=F;else{let it=this._selectionModel.selected[0]||this.options.first;Re=it&&it.group?32:F}q||(Re*=-1);const oe=0-(ee.left+Re-(q?Oe:0)),pt=ee.right+Re-H.width+(q?0:Oe);oe>0?Re+=oe+8:pt>0&&(Re-=pt+8),this._overlayDir.offsetX=Math.round(Re),this._overlayDir.overlayRef.updatePosition()}_calculateOverlayOffsetY(ee,H,q){const Oe=this._getItemHeight(),Re=(Oe-this._triggerRect.height)/2,oe=Math.floor(N/Oe);let pt;if(this.disableOptionCentering)return 0;if(0===this._scrollTop)pt=ee*Oe;else if(this._scrollTop===q){pt=(ee-(this._getItemCount()-oe))*Oe+(Oe-(this._getItemCount()*Oe-N)%Oe)}else pt=H-Oe/2;return Math.round(-1*pt-Re)}_checkOverlayWithinViewport(ee){const H=this._getItemHeight(),q=this._viewportRuler.getViewportSize(),Oe=this._triggerRect.top-8,Re=q.height-this._triggerRect.bottom-8,oe=Math.abs(this._offsetY),it=Math.min(this._getItemCount()*H,N)-oe-this._triggerRect.height;it>Re?this._adjustPanelUp(it,Re):oe>Oe?this._adjustPanelDown(oe,Oe,ee):this._transformOrigin=this._getOriginBasedOnOption()}_adjustPanelUp(ee,H){const q=Math.round(ee-H);this._scrollTop-=q,this._offsetY-=q,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}_adjustPanelDown(ee,H,q){const Oe=Math.round(ee-H);if(this._scrollTop+=Oe,this._offsetY+=Oe,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=q)return this._scrollTop=q,this._offsetY=0,void(this._transformOrigin="50% top 0px")}_calculateOverlayPosition(){const ee=this._getItemHeight(),H=this._getItemCount(),q=Math.min(H*ee,N),Re=H*ee-q;let oe;oe=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),oe+=(0,E.CB)(oe,this.options,this.optionGroups);const pt=q/2;this._scrollTop=this._calculateOverlayScroll(oe,pt,Re),this._offsetY=this._calculateOverlayOffsetY(oe,pt,Re),this._checkOverlayWithinViewport(Re)}_getOriginBasedOnOption(){const ee=this._getItemHeight(),H=(ee-this._triggerRect.height)/2;return`50% ${Math.abs(this._offsetY)-H+ee/2}px 0px`}_getItemHeight(){return 3*this._triggerFontSize}_getItemCount(){return this.options.length+this.optionGroups.length}}De.\u0275fac=function(){let fe;return function(H){return(fe||(fe=_.n5z(De)))(H||De)}}(),De.\u0275cmp=_.Xpm({type:De,selectors:[["mat-select"]],contentQueries:function(ee,H,q){if(1&ee&&(_.Suo(q,et,5),_.Suo(q,E.ey,5),_.Suo(q,E.K7,5)),2&ee){let Oe;_.iGM(Oe=_.CRH())&&(H.customTrigger=Oe.first),_.iGM(Oe=_.CRH())&&(H.options=Oe),_.iGM(Oe=_.CRH())&&(H.optionGroups=Oe)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:19,hostBindings:function(ee,H){1&ee&&_.NdJ("keydown",function(Oe){return H._handleKeydown(Oe)})("focus",function(){return H._onFocus()})("blur",function(){return H._onBlur()}),2&ee&&(_.uIk("id",H.id)("tabindex",H.tabIndex)("aria-controls",H.panelOpen?H.id+"-panel":null)("aria-expanded",H.panelOpen)("aria-label",H.ariaLabel||null)("aria-required",H.required.toString())("aria-disabled",H.disabled.toString())("aria-invalid",H.errorState)("aria-activedescendant",H._getAriaActiveDescendant()),_.ekj("mat-select-disabled",H.disabled)("mat-select-invalid",H.errorState)("mat-select-required",H.required)("mat-select-empty",H.empty)("mat-select-multiple",H.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[_._Bn([{provide:s.Eo,useExisting:De},{provide:E.HF,useExisting:De}]),_.qOj],ngContentSelectors:["mat-select-trigger","*"],decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(ee,H){if(1&ee&&(_.F$t(d),_.TgZ(0,"div",0,1),_.NdJ("click",function(){return H.toggle()}),_.TgZ(3,"div",2),_.YNc(4,ue,2,1,"span",3),_.YNc(5,o,3,2,"span",4),_.qZA(),_.TgZ(6,"div",5),_._UZ(7,"div",6),_.qZA()(),_.YNc(8,h,4,14,"ng-template",7),_.NdJ("backdropClick",function(){return H.close()})("attach",function(){return H._onAttached()})("detach",function(){return H.close()})),2&ee){const q=_.MAs(1);_.uIk("aria-owns",H.panelOpen?H.id+"-panel":null),_.xp6(3),_.Q6J("ngSwitch",H.empty),_.uIk("id",H._valueId),_.xp6(1),_.Q6J("ngSwitchCase",!0),_.xp6(1),_.Q6J("ngSwitchCase",!1),_.xp6(3),_.Q6J("cdkConnectedOverlayPanelClass",H._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",H._scrollStrategy)("cdkConnectedOverlayOrigin",q)("cdkConnectedOverlayOpen",H.panelOpen)("cdkConnectedOverlayPositions",H._positions)("cdkConnectedOverlayMinWidth",null==H._triggerRect?null:H._triggerRect.width)("cdkConnectedOverlayOffsetY",H._offsetY)}},dependencies:[t.mk,t.RF,t.n9,t.ED,e.pI,e.xu],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}'],encapsulation:2,data:{animation:[L.transformPanelWrap,L.transformPanel]},changeDetection:0});class ne{}ne.\u0275fac=function(ee){return new(ee||ne)},ne.\u0275mod=_.oAB({type:ne}),ne.\u0275inj=_.cJS({providers:[Ye],imports:[t.ez,e.U8,E.Ng,E.BQ,D.ZD,s.lN,E.Ng,E.BQ]})},6643:(Ve,X,m)=>{"use strict";m.d(X,{JX:()=>ke,Rh:()=>Fe,SJ:()=>je,TM:()=>Ge});var e=m(1494),t=m(4666),_=m(2560),E=m(207),s=m(4218),D=m(2867),u=m(8971),k=m(8456),p=m(9107),S=m(253),A=m(3280),P=m(6646),M=m(116),z=m(635),I=m(73),W=m(8951),Z=m(8977),j=m(9295),ae=m(4874),re=m(1989),pe=m(4851);const le=["*"],ve=["content"];function de(We,be){if(1&We){const Ye=_.EpF();_.TgZ(0,"div",2),_.NdJ("click",function(){_.CHM(Ye);const ge=_.oxw();return _.KtG(ge._onBackdropClicked())}),_.qZA()}if(2&We){const Ye=_.oxw();_.ekj("mat-drawer-shown",Ye._isShowingBackdrop())}}function $(We,be){1&We&&(_.TgZ(0,"mat-drawer-content"),_.Hsn(1,2),_.qZA())}const ue=[[["mat-drawer"]],[["mat-drawer-content"]],"*"];function n(We,be){if(1&We){const Ye=_.EpF();_.TgZ(0,"div",2),_.NdJ("click",function(){_.CHM(Ye);const ge=_.oxw();return _.KtG(ge._onBackdropClicked())}),_.qZA()}if(2&We){const Ye=_.oxw();_.ekj("mat-drawer-shown",Ye._isShowingBackdrop())}}function o(We,be){1&We&&(_.TgZ(0,"mat-sidenav-content"),_.Hsn(1,2),_.qZA())}const h=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],L={transformDrawer:(0,pe.X$)("transform",[(0,pe.SB)("open, open-instant",(0,pe.oB)({transform:"none",visibility:"visible"})),(0,pe.SB)("void",(0,pe.oB)({"box-shadow":"none",visibility:"hidden"})),(0,pe.eR)("void => open-instant",(0,pe.jt)("0ms")),(0,pe.eR)("void <=> open, open-instant => void",(0,pe.jt)("400ms cubic-bezier(0.25, 0.8, 0.25, 1)"))])};const v=new _.OlP("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:function C(){return!1}}),a=new _.OlP("MAT_DRAWER_CONTAINER");class N extends e.PQ{constructor(be,Ye,Ie,ge,et){super(Ie,ge,et),this._changeDetectorRef=be,this._container=Ye}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}}N.\u0275fac=function(be){return new(be||N)(_.Y36(_.sBO),_.Y36((0,_.Gpc)(()=>J)),_.Y36(_.SBq),_.Y36(e.mF),_.Y36(_.R0b))},N.\u0275cmp=_.Xpm({type:N,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:4,hostBindings:function(be,Ye){2&be&&_.Udp("margin-left",Ye._container._contentMargins.left,"px")("margin-right",Ye._container._contentMargins.right,"px")},features:[_._Bn([{provide:e.PQ,useExisting:N}]),_.qOj],ngContentSelectors:le,decls:1,vars:0,template:function(be,Ye){1&be&&(_.F$t(),_.Hsn(0))},encapsulation:2,changeDetection:0});class F{constructor(be,Ye,Ie,ge,et,ut,Le,De){this._elementRef=be,this._focusTrapFactory=Ye,this._focusMonitor=Ie,this._platform=ge,this._ngZone=et,this._interactivityChecker=ut,this._doc=Le,this._container=De,this._elementFocusedBeforeDrawerWasOpened=null,this._enableAnimations=!1,this._position="start",this._mode="over",this._disableClose=!1,this._opened=!1,this._animationStarted=new S.x,this._animationEnd=new S.x,this._animationState="void",this.openedChange=new _.vpe(!0),this._openedStream=this.openedChange.pipe((0,M.h)(ne=>ne),(0,z.U)(()=>{})),this.openedStart=this._animationStarted.pipe((0,M.h)(ne=>ne.fromState!==ne.toState&&0===ne.toState.indexOf("open")),(0,I.h)(void 0)),this._closedStream=this.openedChange.pipe((0,M.h)(ne=>!ne),(0,z.U)(()=>{})),this.closedStart=this._animationStarted.pipe((0,M.h)(ne=>ne.fromState!==ne.toState&&"void"===ne.toState),(0,I.h)(void 0)),this._destroyed=new S.x,this.onPositionChanged=new _.vpe,this._modeChanged=new S.x,this.openedChange.subscribe(ne=>{ne?(this._doc&&(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement),this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{(0,A.R)(this._elementRef.nativeElement,"keydown").pipe((0,M.h)(ne=>ne.keyCode===k.hY&&!this.disableClose&&!(0,k.Vb)(ne)),(0,W.R)(this._destroyed)).subscribe(ne=>this._ngZone.run(()=>{this.close(),ne.stopPropagation(),ne.preventDefault()}))}),this._animationEnd.pipe((0,Z.x)((ne,fe)=>ne.fromState===fe.fromState&&ne.toState===fe.toState)).subscribe(ne=>{const{fromState:fe,toState:ee}=ne;(0===ee.indexOf("open")&&"void"===fe||"void"===ee&&0===fe.indexOf("open"))&&this.openedChange.emit(this._opened)})}get position(){return this._position}set position(be){(be="end"===be?"end":"start")!==this._position&&(this._isAttached&&this._updatePositionInParent(be),this._position=be,this.onPositionChanged.emit())}get mode(){return this._mode}set mode(be){this._mode=be,this._updateFocusTrapState(),this._modeChanged.next()}get disableClose(){return this._disableClose}set disableClose(be){this._disableClose=(0,u.Ig)(be)}get autoFocus(){return this._autoFocus??("side"===this.mode?"dialog":"first-tabbable")}set autoFocus(be){("true"===be||"false"===be||null==be)&&(be=(0,u.Ig)(be)),this._autoFocus=be}get opened(){return this._opened}set opened(be){this.toggle((0,u.Ig)(be))}_forceFocus(be,Ye){this._interactivityChecker.isFocusable(be)||(be.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const Ie=()=>{be.removeEventListener("blur",Ie),be.removeEventListener("mousedown",Ie),be.removeAttribute("tabindex")};be.addEventListener("blur",Ie),be.addEventListener("mousedown",Ie)})),be.focus(Ye)}_focusByCssSelector(be,Ye){let Ie=this._elementRef.nativeElement.querySelector(be);Ie&&this._forceFocus(Ie,Ye)}_takeFocus(){if(!this._focusTrap)return;const be=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(Ye=>{!Ye&&"function"==typeof this._elementRef.nativeElement.focus&&be.focus()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus)}}_restoreFocus(be){"dialog"!==this.autoFocus&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,be):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){const be=this._doc.activeElement;return!!be&&this._elementRef.nativeElement.contains(be)}ngAfterViewInit(){this._isAttached=!0,this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState(),"end"===this._position&&this._updatePositionInParent("end")}ngAfterContentChecked(){this._platform.isBrowser&&(this._enableAnimations=!0)}ngOnDestroy(){this._focusTrap&&this._focusTrap.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(be){return this.toggle(!0,be)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(be=!this.opened,Ye){be&&Ye&&(this._openedVia=Ye);const Ie=this._setOpen(be,!be&&this._isFocusWithinDrawer(),this._openedVia||"program");return be||(this._openedVia=null),Ie}_setOpen(be,Ye,Ie){return this._opened=be,be?this._animationState=this._enableAnimations?"open":"open-instant":(this._animationState="void",Ye&&this._restoreFocus(Ie)),this._updateFocusTrapState(),new Promise(ge=>{this.openedChange.pipe((0,j.q)(1)).subscribe(et=>ge(et?"open":"close"))})}_getWidth(){return this._elementRef.nativeElement&&this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&"side"!==this.mode)}_updatePositionInParent(be){const Ye=this._elementRef.nativeElement,Ie=Ye.parentNode;"end"===be?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),Ie.insertBefore(this._anchor,Ye)),Ie.appendChild(Ye)):this._anchor&&this._anchor.parentNode.insertBefore(Ye,this._anchor)}}F.\u0275fac=function(be){return new(be||F)(_.Y36(_.SBq),_.Y36(s.qV),_.Y36(s.tE),_.Y36(p.t4),_.Y36(_.R0b),_.Y36(s.ic),_.Y36(t.K0,8),_.Y36(a,8))},F.\u0275cmp=_.Xpm({type:F,selectors:[["mat-drawer"]],viewQuery:function(be,Ye){if(1&be&&_.Gf(ve,5),2&be){let Ie;_.iGM(Ie=_.CRH())&&(Ye._content=Ie.first)}},hostAttrs:["tabIndex","-1",1,"mat-drawer"],hostVars:12,hostBindings:function(be,Ye){1&be&&_.WFA("@transform.start",function(ge){return Ye._animationStarted.next(ge)})("@transform.done",function(ge){return Ye._animationEnd.next(ge)}),2&be&&(_.uIk("align",null),_.d8E("@transform",Ye._animationState),_.ekj("mat-drawer-end","end"===Ye.position)("mat-drawer-over","over"===Ye.mode)("mat-drawer-push","push"===Ye.mode)("mat-drawer-side","side"===Ye.mode)("mat-drawer-opened",Ye.opened))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:le,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(be,Ye){1&be&&(_.F$t(),_.TgZ(0,"div",0,1),_.Hsn(2),_.qZA())},dependencies:[e.PQ],encapsulation:2,data:{animation:[L.transformDrawer]},changeDetection:0});class J{constructor(be,Ye,Ie,ge,et,ut=!1,Le){this._dir=be,this._element=Ye,this._ngZone=Ie,this._changeDetectorRef=ge,this._animationMode=Le,this._drawers=new _.n_E,this.backdropClick=new _.vpe,this._destroyed=new S.x,this._doCheckSubject=new S.x,this._contentMargins={left:null,right:null},this._contentMarginChanges=new S.x,be&&be.change.pipe((0,W.R)(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),et.change().pipe((0,W.R)(this._destroyed)).subscribe(()=>this.updateContentMargins()),this._autosize=ut}get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(be){this._autosize=(0,u.Ig)(be)}get hasBackdrop(){return null==this._backdropOverride?!this._start||"side"!==this._start.mode||!this._end||"side"!==this._end.mode:this._backdropOverride}set hasBackdrop(be){this._backdropOverride=null==be?null:(0,u.Ig)(be)}get scrollable(){return this._userContent||this._content}ngAfterContentInit(){this._allDrawers.changes.pipe((0,ae.O)(this._allDrawers),(0,W.R)(this._destroyed)).subscribe(be=>{this._drawers.reset(be.filter(Ye=>!Ye._container||Ye._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe((0,ae.O)(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(be=>{this._watchDrawerToggle(be),this._watchDrawerPosition(be),this._watchDrawerMode(be)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe((0,re.b)(10),(0,W.R)(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(be=>be.open())}close(){this._drawers.forEach(be=>be.close())}updateContentMargins(){let be=0,Ye=0;if(this._left&&this._left.opened)if("side"==this._left.mode)be+=this._left._getWidth();else if("push"==this._left.mode){const Ie=this._left._getWidth();be+=Ie,Ye-=Ie}if(this._right&&this._right.opened)if("side"==this._right.mode)Ye+=this._right._getWidth();else if("push"==this._right.mode){const Ie=this._right._getWidth();Ye+=Ie,be-=Ie}be=be||null,Ye=Ye||null,(be!==this._contentMargins.left||Ye!==this._contentMargins.right)&&(this._contentMargins={left:be,right:Ye},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(be){be._animationStarted.pipe((0,M.h)(Ye=>Ye.fromState!==Ye.toState),(0,W.R)(this._drawers.changes)).subscribe(Ye=>{"open-instant"!==Ye.toState&&"NoopAnimations"!==this._animationMode&&this._element.nativeElement.classList.add("mat-drawer-transition"),this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),"side"!==be.mode&&be.openedChange.pipe((0,W.R)(this._drawers.changes)).subscribe(()=>this._setContainerClass(be.opened))}_watchDrawerPosition(be){!be||be.onPositionChanged.pipe((0,W.R)(this._drawers.changes)).subscribe(()=>{this._ngZone.onMicrotaskEmpty.pipe((0,j.q)(1)).subscribe(()=>{this._validateDrawers()})})}_watchDrawerMode(be){be&&be._modeChanged.pipe((0,W.R)((0,P.T)(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(be){const Ye=this._element.nativeElement.classList,Ie="mat-drawer-container-has-open";be?Ye.add(Ie):Ye.remove(Ie)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(be=>{"end"==be.position?(this._end,this._end=be):(this._start,this._start=be)}),this._right=this._left=null,this._dir&&"rtl"===this._dir.value?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&"over"!=this._start.mode||this._isDrawerOpen(this._end)&&"over"!=this._end.mode}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(be=>be&&!be.disableClose&&this._canHaveBackdrop(be)).forEach(be=>be._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._canHaveBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._canHaveBackdrop(this._end)}_canHaveBackdrop(be){return"side"!==be.mode||!!this._backdropOverride}_isDrawerOpen(be){return null!=be&&be.opened}}J.\u0275fac=function(be){return new(be||J)(_.Y36(D.Is,8),_.Y36(_.SBq),_.Y36(_.R0b),_.Y36(_.sBO),_.Y36(e.rL),_.Y36(v),_.Y36(_.QbO,8))},J.\u0275cmp=_.Xpm({type:J,selectors:[["mat-drawer-container"]],contentQueries:function(be,Ye,Ie){if(1&be&&(_.Suo(Ie,N,5),_.Suo(Ie,F,5)),2&be){let ge;_.iGM(ge=_.CRH())&&(Ye._content=ge.first),_.iGM(ge=_.CRH())&&(Ye._allDrawers=ge)}},viewQuery:function(be,Ye){if(1&be&&_.Gf(N,5),2&be){let Ie;_.iGM(Ie=_.CRH())&&(Ye._userContent=Ie.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(be,Ye){2&be&&_.ekj("mat-drawer-container-explicit-backdrop",Ye._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[_._Bn([{provide:a,useExisting:J}])],ngContentSelectors:["mat-drawer","mat-drawer-content","*"],decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(be,Ye){1&be&&(_.F$t(ue),_.YNc(0,de,1,2,"div",0),_.Hsn(1),_.Hsn(2,1),_.YNc(3,$,2,0,"mat-drawer-content",1)),2&be&&(_.Q6J("ngIf",Ye.hasBackdrop),_.xp6(3),_.Q6J("ngIf",!Ye._content))},dependencies:[t.O5,N],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}'],encapsulation:2,changeDetection:0});class Fe extends N{constructor(be,Ye,Ie,ge,et){super(be,Ye,Ie,ge,et)}}Fe.\u0275fac=function(be){return new(be||Fe)(_.Y36(_.sBO),_.Y36((0,_.Gpc)(()=>Ge)),_.Y36(_.SBq),_.Y36(e.mF),_.Y36(_.R0b))},Fe.\u0275cmp=_.Xpm({type:Fe,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],hostVars:4,hostBindings:function(be,Ye){2&be&&_.Udp("margin-left",Ye._container._contentMargins.left,"px")("margin-right",Ye._container._contentMargins.right,"px")},features:[_._Bn([{provide:e.PQ,useExisting:Fe}]),_.qOj],ngContentSelectors:le,decls:1,vars:0,template:function(be,Ye){1&be&&(_.F$t(),_.Hsn(0))},encapsulation:2,changeDetection:0});class ke extends F{constructor(){super(...arguments),this._fixedInViewport=!1,this._fixedTopGap=0,this._fixedBottomGap=0}get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(be){this._fixedInViewport=(0,u.Ig)(be)}get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(be){this._fixedTopGap=(0,u.su)(be)}get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(be){this._fixedBottomGap=(0,u.su)(be)}}ke.\u0275fac=function(){let We;return function(Ye){return(We||(We=_.n5z(ke)))(Ye||ke)}}(),ke.\u0275cmp=_.Xpm({type:ke,selectors:[["mat-sidenav"]],hostAttrs:["tabIndex","-1",1,"mat-drawer","mat-sidenav"],hostVars:17,hostBindings:function(be,Ye){2&be&&(_.uIk("align",null),_.Udp("top",Ye.fixedInViewport?Ye.fixedTopGap:null,"px")("bottom",Ye.fixedInViewport?Ye.fixedBottomGap:null,"px"),_.ekj("mat-drawer-end","end"===Ye.position)("mat-drawer-over","over"===Ye.mode)("mat-drawer-push","push"===Ye.mode)("mat-drawer-side","side"===Ye.mode)("mat-drawer-opened",Ye.opened)("mat-sidenav-fixed",Ye.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[_.qOj],ngContentSelectors:le,decls:3,vars:0,consts:[["cdkScrollable","",1,"mat-drawer-inner-container"],["content",""]],template:function(be,Ye){1&be&&(_.F$t(),_.TgZ(0,"div",0,1),_.Hsn(2),_.qZA())},dependencies:[e.PQ],encapsulation:2,data:{animation:[L.transformDrawer]},changeDetection:0});class Ge extends J{}Ge.\u0275fac=function(){let We;return function(Ye){return(We||(We=_.n5z(Ge)))(Ye||Ge)}}(),Ge.\u0275cmp=_.Xpm({type:Ge,selectors:[["mat-sidenav-container"]],contentQueries:function(be,Ye,Ie){if(1&be&&(_.Suo(Ie,Fe,5),_.Suo(Ie,ke,5)),2&be){let ge;_.iGM(ge=_.CRH())&&(Ye._content=ge.first),_.iGM(ge=_.CRH())&&(Ye._allDrawers=ge)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(be,Ye){2&be&&_.ekj("mat-drawer-container-explicit-backdrop",Ye._backdropOverride)},exportAs:["matSidenavContainer"],features:[_._Bn([{provide:a,useExisting:Ge}]),_.qOj],ngContentSelectors:["mat-sidenav","mat-sidenav-content","*"],decls:4,vars:2,consts:[["class","mat-drawer-backdrop",3,"mat-drawer-shown","click",4,"ngIf"],[4,"ngIf"],[1,"mat-drawer-backdrop",3,"click"]],template:function(be,Ye){1&be&&(_.F$t(h),_.YNc(0,n,1,2,"div",0),_.Hsn(1),_.Hsn(2,1),_.YNc(3,o,2,0,"mat-sidenav-content",1)),2&be&&(_.Q6J("ngIf",Ye.hasBackdrop),_.xp6(3),_.Q6J("ngIf",!Ye._content))},dependencies:[t.O5,Fe],styles:['.mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*="visibility: hidden"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}'],encapsulation:2,changeDetection:0});class je{}je.\u0275fac=function(be){return new(be||je)},je.\u0275mod=_.oAB({type:je}),je.\u0275inj=_.cJS({imports:[t.ez,E.BQ,e.ZD,e.ZD,E.BQ]})},4714:(Ve,X,m)=>{"use strict";m.d(X,{Rr:()=>W,rP:()=>re});var e=m(3773),t=m(2560),_=m(207),E=m(4218),s=m(8971),D=m(2508);const u=["input"],k=function(pe){return{enterDuration:pe}},S=new t.OlP("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1})});let A=0;const P={provide:D.JU,useExisting:(0,t.Gpc)(()=>W),multi:!0};class M{constructor(le,ve){this.source=le,this.checked=ve}}const z=(0,_.sb)((0,_.pj)((0,_.Kr)((0,_.Id)(class{constructor(pe){this._elementRef=pe}}))));class I extends z{constructor(le,ve,de,$,ue,w,n){super(le),this._focusMonitor=ve,this._changeDetectorRef=de,this.defaults=ue,this._onChange=o=>{},this._onTouched=()=>{},this._required=!1,this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.change=new t.vpe,this.toggleChange=new t.vpe,this.tabIndex=parseInt($)||0,this.color=this.defaultColor=ue.color||"accent",this._noopAnimations="NoopAnimations"===w,this.id=this._uniqueId=`${n}${++A}`}get required(){return this._required}set required(le){this._required=(0,s.Ig)(le)}get checked(){return this._checked}set checked(le){this._checked=(0,s.Ig)(le),this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(le=>{"keyboard"===le||"program"===le?this._focused=!0:le||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(le){this.checked=!!le}registerOnChange(le){this._onChange=le}registerOnTouched(le){this._onTouched=le}setDisabledState(le){this.disabled=le,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}}I.\u0275fac=function(le){t.$Z()},I.\u0275dir=t.lG2({type:I,inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],required:"required",checked:"checked"},outputs:{change:"change",toggleChange:"toggleChange"},features:[t.qOj]});class W extends I{constructor(le,ve,de,$,ue,w){super(le,ve,de,$,ue,w,"mat-slide-toggle-")}_createChangeEvent(le){return new M(this,le)}_onChangeEvent(le){le.stopPropagation(),this.toggleChange.emit(),this.defaults.disableToggleValue?this._inputElement.nativeElement.checked=this.checked:(this.checked=this._inputElement.nativeElement.checked,this._emitChangeEvent())}_onInputClick(le){le.stopPropagation()}focus(le,ve){ve?this._focusMonitor.focusVia(this._inputElement,ve,le):this._inputElement.nativeElement.focus(le)}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}}W.\u0275fac=function(le){return new(le||W)(t.Y36(t.SBq),t.Y36(E.tE),t.Y36(t.sBO),t.$8M("tabindex"),t.Y36(S),t.Y36(t.QbO,8))},W.\u0275cmp=t.Xpm({type:W,selectors:[["mat-slide-toggle"]],viewQuery:function(le,ve){if(1&le&&t.Gf(u,5),2&le){let de;t.iGM(de=t.CRH())&&(ve._inputElement=de.first)}},hostAttrs:[1,"mat-slide-toggle"],hostVars:13,hostBindings:function(le,ve){2&le&&(t.Ikx("id",ve.id),t.uIk("tabindex",null)("aria-label",null)("aria-labelledby",null)("name",null),t.ekj("mat-checked",ve.checked)("mat-disabled",ve.disabled)("mat-slide-toggle-label-before","before"==ve.labelPosition)("_mat-animation-noopable",ve._noopAnimations))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matSlideToggle"],features:[t._Bn([P]),t.qOj],ngContentSelectors:["*"],decls:14,vars:20,consts:[[1,"mat-slide-toggle-label"],["label",""],[1,"mat-slide-toggle-bar"],["type","checkbox","role","switch",1,"mat-slide-toggle-input","cdk-visually-hidden",3,"id","required","tabIndex","checked","disabled","change","click"],["input",""],[1,"mat-slide-toggle-thumb-container"],[1,"mat-slide-toggle-thumb"],["mat-ripple","",1,"mat-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered","matRippleRadius","matRippleAnimation"],[1,"mat-ripple-element","mat-slide-toggle-persistent-ripple"],[1,"mat-slide-toggle-content",3,"cdkObserveContent"],["labelContent",""],[2,"display","none"]],template:function(le,ve){if(1&le&&(t.F$t(),t.TgZ(0,"label",0,1)(2,"span",2)(3,"input",3,4),t.NdJ("change",function($){return ve._onChangeEvent($)})("click",function($){return ve._onInputClick($)}),t.qZA(),t.TgZ(5,"span",5),t._UZ(6,"span",6),t.TgZ(7,"span",7),t._UZ(8,"span",8),t.qZA()()(),t.TgZ(9,"span",9,10),t.NdJ("cdkObserveContent",function(){return ve._onLabelTextChange()}),t.TgZ(11,"span",11),t._uU(12,"\xa0"),t.qZA(),t.Hsn(13),t.qZA()()),2&le){const de=t.MAs(1),$=t.MAs(10);t.uIk("for",ve.inputId),t.xp6(2),t.ekj("mat-slide-toggle-bar-no-side-margin",!$.textContent||!$.textContent.trim()),t.xp6(1),t.Q6J("id",ve.inputId)("required",ve.required)("tabIndex",ve.tabIndex)("checked",ve.checked)("disabled",ve.disabled),t.uIk("name",ve.name)("aria-checked",ve.checked)("aria-label",ve.ariaLabel)("aria-labelledby",ve.ariaLabelledby)("aria-describedby",ve.ariaDescribedby),t.xp6(4),t.Q6J("matRippleTrigger",de)("matRippleDisabled",ve.disableRipple||ve.disabled)("matRippleCentered",!0)("matRippleRadius",20)("matRippleAnimation",t.VKq(18,k,ve._noopAnimations?0:150))}},dependencies:[_.wG,e.wD],styles:['.mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%;display:block}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.mat-slide-toggle-input:focus~.mat-slide-toggle-thumb-container .mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}'],encapsulation:2,changeDetection:0});const Z={provide:D.Cf,useExisting:(0,t.Gpc)(()=>j),multi:!0};class j extends D.Zs{}j.\u0275fac=function(){let pe;return function(ve){return(pe||(pe=t.n5z(j)))(ve||j)}}(),j.\u0275dir=t.lG2({type:j,selectors:[["mat-slide-toggle","required","","formControlName",""],["mat-slide-toggle","required","","formControl",""],["mat-slide-toggle","required","","ngModel",""]],features:[t._Bn([Z]),t.qOj]});class ae{}ae.\u0275fac=function(le){return new(le||ae)},ae.\u0275mod=t.oAB({type:ae}),ae.\u0275inj=t.cJS({});class re{}re.\u0275fac=function(le){return new(le||re)},re.\u0275mod=t.oAB({type:re}),re.\u0275inj=t.cJS({imports:[ae,_.si,_.BQ,e.Q8,ae,_.BQ]})},930:(Ve,X,m)=>{"use strict";m.d(X,{Ve:()=>$,ZX:()=>de,ux:()=>n});var e=m(5895),t=m(7520),_=m(4666),E=m(2560),s=m(207),D=m(4522),u=m(253),k=m(9107),p=m(9295),S=m(8951),A=m(4851),P=m(4218),M=m(3278);function z(o,h){if(1&o){const d=E.EpF();E.TgZ(0,"div",2)(1,"button",3),E.NdJ("click",function(){E.CHM(d);const L=E.oxw();return E.KtG(L.action())}),E._uU(2),E.qZA()()}if(2&o){const d=E.oxw();E.xp6(2),E.Oqu(d.data.action)}}function I(o,h){}const W=new E.OlP("MatSnackBarData");class Z{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const j=Math.pow(2,31)-1;class ae{constructor(h,d){this._overlayRef=d,this._afterDismissed=new u.x,this._afterOpened=new u.x,this._onAction=new u.x,this._dismissedByAction=!1,this.containerInstance=h,h._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(h){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(h,j))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}class re{constructor(h,d){this.snackBarRef=h,this.data=d}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}re.\u0275fac=function(h){return new(h||re)(E.Y36(ae),E.Y36(W))},re.\u0275cmp=E.Xpm({type:re,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[[1,"mat-simple-snack-bar-content"],["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(h,d){1&h&&(E.TgZ(0,"span",0),E._uU(1),E.qZA(),E.YNc(2,z,3,1,"div",1)),2&h&&(E.xp6(1),E.Oqu(d.data.message),E.xp6(1),E.Q6J("ngIf",d.hasAction))},dependencies:[_.O5,D.lW],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}"],encapsulation:2,changeDetection:0});const pe={snackBarState:(0,A.X$)("state",[(0,A.SB)("void, hidden",(0,A.oB)({transform:"scale(0.8)",opacity:0})),(0,A.SB)("visible",(0,A.oB)({transform:"scale(1)",opacity:1})),(0,A.eR)("* => visible",(0,A.jt)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,A.eR)("* => void, * => hidden",(0,A.jt)("75ms cubic-bezier(0.4, 0.0, 1, 1)",(0,A.oB)({opacity:0})))])};class le extends t.en{constructor(h,d,y,L,B){super(),this._ngZone=h,this._elementRef=d,this._changeDetectorRef=y,this._platform=L,this.snackBarConfig=B,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new u.x,this._onExit=new u.x,this._onEnter=new u.x,this._animationState="void",this.attachDomPortal=v=>{this._assertNotAttached();const a=this._portalOutlet.attachDomPortal(v);return this._afterPortalAttached(),a},"assertive"!==B.politeness||B.announcementMessage?"off"===B.politeness?this._live="off":this._live="polite":this._live="assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(h){this._assertNotAttached();const d=this._portalOutlet.attachComponentPortal(h);return this._afterPortalAttached(),d}attachTemplatePortal(h){this._assertNotAttached();const d=this._portalOutlet.attachTemplatePortal(h);return this._afterPortalAttached(),d}onAnimationEnd(h){const{fromState:d,toState:y}=h;if(("void"===y&&"void"!==d||"hidden"===y)&&this._completeExit(),"visible"===y){const L=this._onEnter;this._ngZone.run(()=>{L.next(),L.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe((0,p.q)(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const h=this._elementRef.nativeElement,d=this.snackBarConfig.panelClass;d&&(Array.isArray(d)?d.forEach(y=>h.classList.add(y)):h.classList.add(d))}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const h=this._elementRef.nativeElement.querySelector("[aria-hidden]"),d=this._elementRef.nativeElement.querySelector("[aria-live]");if(h&&d){let y=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&h.contains(document.activeElement)&&(y=document.activeElement),h.removeAttribute("aria-hidden"),d.appendChild(h),y?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}le.\u0275fac=function(h){return new(h||le)(E.Y36(E.R0b),E.Y36(E.SBq),E.Y36(E.sBO),E.Y36(k.t4),E.Y36(Z))},le.\u0275dir=E.lG2({type:le,viewQuery:function(h,d){if(1&h&&E.Gf(t.Pl,7),2&h){let y;E.iGM(y=E.CRH())&&(d._portalOutlet=y.first)}},features:[E.qOj]});class ve extends le{_afterPortalAttached(){super._afterPortalAttached(),"center"===this.snackBarConfig.horizontalPosition&&this._elementRef.nativeElement.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&this._elementRef.nativeElement.classList.add("mat-snack-bar-top")}}ve.\u0275fac=function(){let o;return function(d){return(o||(o=E.n5z(ve)))(d||ve)}}(),ve.\u0275cmp=E.Xpm({type:ve,selectors:[["snack-bar-container"]],hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(h,d){1&h&&E.WFA("@state.done",function(L){return d.onAnimationEnd(L)}),2&h&&E.d8E("@state",d._animationState)},features:[E.qOj],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(h,d){1&h&&(E.TgZ(0,"div",0),E.YNc(1,I,0,0,"ng-template",1),E.qZA(),E._UZ(2,"div")),2&h&&(E.xp6(2),E.uIk("aria-live",d._live)("role",d._role))},dependencies:[t.Pl],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}"],encapsulation:2,data:{animation:[pe.snackBarState]}});class de{}de.\u0275fac=function(h){return new(h||de)},de.\u0275mod=E.oAB({type:de}),de.\u0275inj=E.cJS({imports:[e.U8,t.eL,_.ez,D.ot,s.BQ,s.BQ]});const $=new E.OlP("mat-snack-bar-default-options",{providedIn:"root",factory:function ue(){return new Z}});class w{constructor(h,d,y,L,B,v){this._overlay=h,this._live=d,this._injector=y,this._breakpointObserver=L,this._parentSnackBar=B,this._defaultConfig=v,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const h=this._parentSnackBar;return h?h._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(h){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=h:this._snackBarRefAtThisLevel=h}openFromComponent(h,d){return this._attach(h,d)}openFromTemplate(h,d){return this._attach(h,d)}open(h,d="",y){const L={...this._defaultConfig,...y};return L.data={message:h,action:d},L.announcementMessage===h&&(L.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,L)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(h,d){const y=d&&d.viewContainerRef&&d.viewContainerRef.injector,L=E.zs3.create({parent:y||this._injector,providers:[{provide:Z,useValue:d}]}),B=new t.C5(this.snackBarContainerComponent,d.viewContainerRef,L),v=h.attach(B);return v.instance.snackBarConfig=d,v.instance}_attach(h,d){const y={...new Z,...this._defaultConfig,...d},L=this._createOverlay(y),B=this._attachSnackBarContainer(L,y),v=new ae(B,L);if(h instanceof E.Rgc){const a=new t.UE(h,null,{$implicit:y.data,snackBarRef:v});v.instance=B.attachTemplatePortal(a)}else{const a=this._createInjector(y,v),C=new t.C5(h,void 0,a),N=B.attachComponentPortal(C);v.instance=N.instance}return this._breakpointObserver.observe(M.u3.HandsetPortrait).pipe((0,S.R)(L.detachments())).subscribe(a=>{L.overlayElement.classList.toggle(this.handsetCssClass,a.matches)}),y.announcementMessage&&B._onAnnounce.subscribe(()=>{this._live.announce(y.announcementMessage,y.politeness)}),this._animateSnackBar(v,y),this._openedSnackBarRef=v,this._openedSnackBarRef}_animateSnackBar(h,d){h.afterDismissed().subscribe(()=>{this._openedSnackBarRef==h&&(this._openedSnackBarRef=null),d.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{h.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):h.containerInstance.enter(),d.duration&&d.duration>0&&h.afterOpened().subscribe(()=>h._dismissAfter(d.duration))}_createOverlay(h){const d=new e.X_;d.direction=h.direction;let y=this._overlay.position().global();const L="rtl"===h.direction,B="left"===h.horizontalPosition||"start"===h.horizontalPosition&&!L||"end"===h.horizontalPosition&&L,v=!B&&"center"!==h.horizontalPosition;return B?y.left("0"):v?y.right("0"):y.centerHorizontally(),"top"===h.verticalPosition?y.top("0"):y.bottom("0"),d.positionStrategy=y,this._overlay.create(d)}_createInjector(h,d){const y=h&&h.viewContainerRef&&h.viewContainerRef.injector;return E.zs3.create({parent:y||this._injector,providers:[{provide:ae,useValue:d},{provide:W,useValue:h.data}]})}}w.\u0275fac=function(h){return new(h||w)(E.LFG(e.aV),E.LFG(P.Kd),E.LFG(E.zs3),E.LFG(M.Yg),E.LFG(w,12),E.LFG($))},w.\u0275prov=E.Yz7({token:w,factory:w.\u0275fac});class n extends w{constructor(h,d,y,L,B,v){super(h,d,y,L,B,v),this.simpleSnackBarComponent=re,this.snackBarContainerComponent=ve,this.handsetCssClass="mat-snack-bar-handset"}}n.\u0275fac=function(h){return new(h||n)(E.LFG(e.aV),E.LFG(P.Kd),E.LFG(E.zs3),E.LFG(M.Yg),E.LFG(n,12),E.LFG($))},n.\u0275prov=E.Yz7({token:n,factory:n.\u0275fac,providedIn:de})},2197:(Ve,X,m)=>{"use strict";m.d(X,{JX:()=>n,YE:()=>ae,nU:()=>w});var e=m(2560),t=m(4218),_=m(8971),E=m(8456),s=m(207),D=m(253),u=m(6646),k=m(4851),p=m(4666);function A(o,h){if(1&o){const d=e.EpF();e.TgZ(0,"div",3),e.NdJ("@arrowPosition.start",function(){e.CHM(d);const L=e.oxw();return e.KtG(L._disableViewStateAnimation=!0)})("@arrowPosition.done",function(){e.CHM(d);const L=e.oxw();return e.KtG(L._disableViewStateAnimation=!1)}),e._UZ(1,"div",4),e.TgZ(2,"div",5),e._UZ(3,"div",6)(4,"div",7)(5,"div",8),e.qZA()()}if(2&o){const d=e.oxw();e.Q6J("@arrowOpacity",d._getArrowViewState())("@arrowPosition",d._getArrowViewState())("@allowChildren",d._getArrowDirectionState()),e.xp6(2),e.Q6J("@indicator",d._getArrowDirectionState()),e.xp6(1),e.Q6J("@leftPointer",d._getArrowDirectionState()),e.xp6(1),e.Q6J("@rightPointer",d._getArrowDirectionState())}}const Z=new e.OlP("MAT_SORT_DEFAULT_OPTIONS"),j=(0,s.dB)((0,s.Id)(class{}));class ae extends j{constructor(h){super(),this._defaultOptions=h,this.sortables=new Map,this._stateChanges=new D.x,this.start="asc",this._direction="",this.sortChange=new e.vpe}get direction(){return this._direction}set direction(h){this._direction=h}get disableClear(){return this._disableClear}set disableClear(h){this._disableClear=(0,_.Ig)(h)}register(h){this.sortables.set(h.id,h)}deregister(h){this.sortables.delete(h.id)}sort(h){this.active!=h.id?(this.active=h.id,this.direction=h.start?h.start:this.start):this.direction=this.getNextSortDirection(h),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(h){if(!h)return"";const d=h?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear;let y=function re(o,h){let d=["asc","desc"];return"desc"==o&&d.reverse(),h||d.push(""),d}(h.start||this.start,d),L=y.indexOf(this.direction)+1;return L>=y.length&&(L=0),y[L]}ngOnInit(){this._markInitialized()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}ae.\u0275fac=function(h){return new(h||ae)(e.Y36(Z,8))},ae.\u0275dir=e.lG2({type:ae,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{disabled:["matSortDisabled","disabled"],active:["matSortActive","active"],start:["matSortStart","start"],direction:["matSortDirection","direction"],disableClear:["matSortDisableClear","disableClear"]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[e.qOj,e.TTD]});const pe=s.mZ.ENTERING+" "+s.yN.STANDARD_CURVE,le={indicator:(0,k.X$)("indicator",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"translateY(0px)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"translateY(10px)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(pe))]),leftPointer:(0,k.X$)("leftPointer",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"rotate(-45deg)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"rotate(45deg)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(pe))]),rightPointer:(0,k.X$)("rightPointer",[(0,k.SB)("active-asc, asc",(0,k.oB)({transform:"rotate(45deg)"})),(0,k.SB)("active-desc, desc",(0,k.oB)({transform:"rotate(-45deg)"})),(0,k.eR)("active-asc <=> active-desc",(0,k.jt)(pe))]),arrowOpacity:(0,k.X$)("arrowOpacity",[(0,k.SB)("desc-to-active, asc-to-active, active",(0,k.oB)({opacity:1})),(0,k.SB)("desc-to-hint, asc-to-hint, hint",(0,k.oB)({opacity:.54})),(0,k.SB)("hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void",(0,k.oB)({opacity:0})),(0,k.eR)("* => asc, * => desc, * => active, * => hint, * => void",(0,k.jt)("0ms")),(0,k.eR)("* <=> *",(0,k.jt)(pe))]),arrowPosition:(0,k.X$)("arrowPosition",[(0,k.eR)("* => desc-to-hint, * => desc-to-active",(0,k.jt)(pe,(0,k.F4)([(0,k.oB)({transform:"translateY(-25%)"}),(0,k.oB)({transform:"translateY(0)"})]))),(0,k.eR)("* => hint-to-desc, * => active-to-desc",(0,k.jt)(pe,(0,k.F4)([(0,k.oB)({transform:"translateY(0)"}),(0,k.oB)({transform:"translateY(25%)"})]))),(0,k.eR)("* => asc-to-hint, * => asc-to-active",(0,k.jt)(pe,(0,k.F4)([(0,k.oB)({transform:"translateY(25%)"}),(0,k.oB)({transform:"translateY(0)"})]))),(0,k.eR)("* => hint-to-asc, * => active-to-asc",(0,k.jt)(pe,(0,k.F4)([(0,k.oB)({transform:"translateY(0)"}),(0,k.oB)({transform:"translateY(-25%)"})]))),(0,k.SB)("desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active",(0,k.oB)({transform:"translateY(0)"})),(0,k.SB)("hint-to-desc, active-to-desc, desc",(0,k.oB)({transform:"translateY(-25%)"})),(0,k.SB)("hint-to-asc, active-to-asc, asc",(0,k.oB)({transform:"translateY(25%)"}))]),allowChildren:(0,k.X$)("allowChildren",[(0,k.eR)("* <=> *",[(0,k.IO)("@*",(0,k.pV)(),{optional:!0})])])};class ve{constructor(){this.changes=new D.x}}ve.\u0275fac=function(h){return new(h||ve)},ve.\u0275prov=e.Yz7({token:ve,factory:ve.\u0275fac,providedIn:"root"});const $={provide:ve,deps:[[new e.FiY,new e.tp0,ve]],useFactory:function de(o){return o||new ve}},ue=(0,s.Id)(class{});class w extends ue{constructor(h,d,y,L,B,v,a,C){super(),this._intl=h,this._changeDetectorRef=d,this._sort=y,this._columnDef=L,this._focusMonitor=B,this._elementRef=v,this._ariaDescriber=a,this._showIndicatorHint=!1,this._viewState={},this._arrowDirection="",this._disableViewStateAnimation=!1,this.arrowPosition="after",this._sortActionDescription="Sort",C?.arrowPosition&&(this.arrowPosition=C?.arrowPosition),this._handleStateChanges()}get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(h){this._updateSortActionDescription(h)}get disableClear(){return this._disableClear}set disableClear(h){this._disableClear=(0,_.Ig)(h)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._updateArrowDirection(),this._setAnimationTransitionState({toState:this._isSorted()?"active":this._arrowDirection}),this._sort.register(this),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(h=>{const d=!!h;d!==this._showIndicatorHint&&(this._setIndicatorHintVisible(d),this._changeDetectorRef.markForCheck())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._rerenderSubscription.unsubscribe()}_setIndicatorHintVisible(h){this._isDisabled()&&h||(this._showIndicatorHint=h,this._isSorted()||(this._updateArrowDirection(),this._showIndicatorHint?this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"hint"}):this._setAnimationTransitionState({fromState:"hint",toState:this._arrowDirection})))}_setAnimationTransitionState(h){this._viewState=h||{},this._disableViewStateAnimation&&(this._viewState={toState:h.toState})}_toggleOnInteraction(){this._sort.sort(this),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0)}_handleClick(){this._isDisabled()||this._sort.sort(this)}_handleKeydown(h){!this._isDisabled()&&(h.keyCode===E.L_||h.keyCode===E.K5)&&(h.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&("asc"===this._sort.direction||"desc"===this._sort.direction)}_getArrowDirectionState(){return`${this._isSorted()?"active-":""}${this._arrowDirection}`}_getArrowViewState(){const h=this._viewState.fromState;return(h?`${h}-to-`:"")+this._viewState.toState}_updateArrowDirection(){this._arrowDirection=this._isSorted()?this._sort.direction:this.start||this._sort.start}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?"asc"==this._sort.direction?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(h){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,h)),this._sortActionDescription=h}_handleStateChanges(){this._rerenderSubscription=(0,u.T)(this._sort.sortChange,this._sort._stateChanges,this._intl.changes).subscribe(()=>{this._isSorted()&&(this._updateArrowDirection(),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0),this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"active"}),this._showIndicatorHint=!1),!this._isSorted()&&this._viewState&&"active"===this._viewState.toState&&(this._disableViewStateAnimation=!1,this._setAnimationTransitionState({fromState:"active",toState:this._arrowDirection})),this._changeDetectorRef.markForCheck()})}}w.\u0275fac=function(h){return new(h||w)(e.Y36(ve),e.Y36(e.sBO),e.Y36(ae,8),e.Y36("MAT_SORT_HEADER_COLUMN_DEF",8),e.Y36(t.tE),e.Y36(e.SBq),e.Y36(t.$s,8),e.Y36(Z,8))},w.\u0275cmp=e.Xpm({type:w,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(h,d){1&h&&e.NdJ("click",function(){return d._handleClick()})("keydown",function(L){return d._handleKeydown(L)})("mouseenter",function(){return d._setIndicatorHintVisible(!0)})("mouseleave",function(){return d._setIndicatorHintVisible(!1)}),2&h&&(e.uIk("aria-sort",d._getAriaSortAttribute()),e.ekj("mat-sort-header-disabled",d._isDisabled()))},inputs:{disabled:"disabled",id:["mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",sortActionDescription:"sortActionDescription",disableClear:"disableClear"},exportAs:["matSortHeader"],features:[e.qOj],attrs:["mat-sort-header",""],ngContentSelectors:["*"],decls:4,vars:7,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],["class","mat-sort-header-arrow",4,"ngIf"],[1,"mat-sort-header-arrow"],[1,"mat-sort-header-stem"],[1,"mat-sort-header-indicator"],[1,"mat-sort-header-pointer-left"],[1,"mat-sort-header-pointer-right"],[1,"mat-sort-header-pointer-middle"]],template:function(h,d){1&h&&(e.F$t(),e.TgZ(0,"div",0)(1,"div",1),e.Hsn(2),e.qZA(),e.YNc(3,A,6,6,"div",2),e.qZA()),2&h&&(e.ekj("mat-sort-header-sorted",d._isSorted())("mat-sort-header-position-before","before"===d.arrowPosition),e.uIk("tabindex",d._isDisabled()?null:0)("role",d._isDisabled()?null:"button"),e.xp6(3),e.Q6J("ngIf",d._renderArrow()))},dependencies:[p.O5],styles:[".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}"],encapsulation:2,data:{animation:[le.indicator,le.leftPointer,le.rightPointer,le.arrowOpacity,le.arrowPosition,le.allowChildren]},changeDetection:0});class n{}n.\u0275fac=function(h){return new(h||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({providers:[$],imports:[p.ez,s.BQ]})},4193:(Ve,X,m)=>{"use strict";m.d(X,{C0:()=>Le,Ic:()=>ne,T5:()=>ee,VY:()=>Fe,Vq:()=>De,fd:()=>fe,z9:()=>et});var e=m(7520),t=m(1861),_=m(4666),E=m(2560),s=m(4522),D=m(207),u=m(7822),k=m(4218),p=m(253),S=m(7714),A=m(2867),P=m(2673),M=m(635),z=m(4874),I=m(8951),W=m(8977),Z=m(4851);function j(H,q){if(1&H&&E.GkF(0,8),2&H){const Oe=E.oxw();E.Q6J("ngTemplateOutlet",Oe.iconOverrides[Oe.state])("ngTemplateOutletContext",Oe._getIconContext())}}function ae(H,q){if(1&H&&(E.TgZ(0,"span",13),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._getDefaultTextForState(Oe.state))}}function re(H,q){if(1&H&&(E.TgZ(0,"span",14),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._intl.completedLabel)}}function pe(H,q){if(1&H&&(E.TgZ(0,"span",14),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._intl.editableLabel)}}function le(H,q){if(1&H&&(E.TgZ(0,"mat-icon",13),E._uU(1),E.qZA()),2&H){const Oe=E.oxw(2);E.xp6(1),E.Oqu(Oe._getDefaultTextForState(Oe.state))}}function ve(H,q){if(1&H&&(E.ynx(0,9),E.YNc(1,ae,2,1,"span",10),E.YNc(2,re,2,1,"span",11),E.YNc(3,pe,2,1,"span",11),E.YNc(4,le,2,1,"mat-icon",12),E.BQk()),2&H){const Oe=E.oxw();E.Q6J("ngSwitch",Oe.state),E.xp6(1),E.Q6J("ngSwitchCase","number"),E.xp6(1),E.Q6J("ngIf","done"===Oe.state),E.xp6(1),E.Q6J("ngIf","edit"===Oe.state)}}function de(H,q){if(1&H&&(E.TgZ(0,"div",15),E.GkF(1,16),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("ngTemplateOutlet",Oe._templateLabel().template)}}function $(H,q){if(1&H&&(E.TgZ(0,"div",15),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe.label)}}function ue(H,q){if(1&H&&(E.TgZ(0,"div",17),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe._intl.optionalLabel)}}function w(H,q){if(1&H&&(E.TgZ(0,"div",18),E._uU(1),E.qZA()),2&H){const Oe=E.oxw();E.xp6(1),E.Oqu(Oe.errorMessage)}}function n(H,q){}function o(H,q){if(1&H&&(E.Hsn(0),E.YNc(1,n,0,0,"ng-template",0)),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("cdkPortalOutlet",Oe._portal)}}function d(H,q){1&H&&E._UZ(0,"div",11)}const y=function(H,q){return{step:H,i:q}};function L(H,q){if(1&H&&(E.ynx(0),E.GkF(1,9),E.YNc(2,d,1,0,"div",10),E.BQk()),2&H){const Oe=q.$implicit,Re=q.index,oe=q.last;E.oxw(2);const pt=E.MAs(4);E.xp6(1),E.Q6J("ngTemplateOutlet",pt)("ngTemplateOutletContext",E.WLB(3,y,Oe,Re)),E.xp6(1),E.Q6J("ngIf",!oe)}}const B=function(H){return{animationDuration:H}},v=function(H,q){return{value:H,params:q}};function a(H,q){if(1&H){const Oe=E.EpF();E.TgZ(0,"div",12),E.NdJ("@horizontalStepTransition.done",function(oe){E.CHM(Oe);const pt=E.oxw(2);return E.KtG(pt._animationDone.next(oe))}),E.GkF(1,13),E.qZA()}if(2&H){const Oe=q.$implicit,Re=q.index,oe=E.oxw(2);E.ekj("mat-horizontal-stepper-content-inactive",oe.selectedIndex!==Re),E.Q6J("@horizontalStepTransition",E.WLB(8,v,oe._getAnimationDirection(Re),E.VKq(6,B,oe._getAnimationDuration())))("id",oe._getStepContentId(Re)),E.uIk("aria-labelledby",oe._getStepLabelId(Re)),E.xp6(1),E.Q6J("ngTemplateOutlet",Oe.content)}}function C(H,q){if(1&H&&(E.TgZ(0,"div",4)(1,"div",5),E.YNc(2,L,3,6,"ng-container",6),E.qZA(),E.TgZ(3,"div",7),E.YNc(4,a,2,11,"div",8),E.qZA()()),2&H){const Oe=E.oxw();E.xp6(2),E.Q6J("ngForOf",Oe.steps),E.xp6(2),E.Q6J("ngForOf",Oe.steps)}}function N(H,q){if(1&H){const Oe=E.EpF();E.TgZ(0,"div",15),E.GkF(1,9),E.TgZ(2,"div",16)(3,"div",17),E.NdJ("@verticalStepTransition.done",function(oe){E.CHM(Oe);const pt=E.oxw(2);return E.KtG(pt._animationDone.next(oe))}),E.TgZ(4,"div",18),E.GkF(5,13),E.qZA()()()()}if(2&H){const Oe=q.$implicit,Re=q.index,oe=q.last,pt=E.oxw(2),it=E.MAs(4);E.xp6(1),E.Q6J("ngTemplateOutlet",it)("ngTemplateOutletContext",E.WLB(10,y,Oe,Re)),E.xp6(1),E.ekj("mat-stepper-vertical-line",!oe),E.xp6(1),E.ekj("mat-vertical-stepper-content-inactive",pt.selectedIndex!==Re),E.Q6J("@verticalStepTransition",E.WLB(15,v,pt._getAnimationDirection(Re),E.VKq(13,B,pt._getAnimationDuration())))("id",pt._getStepContentId(Re)),E.uIk("aria-labelledby",pt._getStepLabelId(Re)),E.xp6(2),E.Q6J("ngTemplateOutlet",Oe.content)}}function F(H,q){if(1&H&&(E.ynx(0),E.YNc(1,N,6,18,"div",14),E.BQk()),2&H){const Oe=E.oxw();E.xp6(1),E.Q6J("ngForOf",Oe.steps)}}function J(H,q){if(1&H){const Oe=E.EpF();E.TgZ(0,"mat-step-header",19),E.NdJ("click",function(){const pt=E.CHM(Oe).step;return E.KtG(pt.select())})("keydown",function(oe){E.CHM(Oe);const pt=E.oxw();return E.KtG(pt._onKeydown(oe))}),E.qZA()}if(2&H){const Oe=q.step,Re=q.i,oe=E.oxw();E.ekj("mat-horizontal-stepper-header","horizontal"===oe.orientation)("mat-vertical-stepper-header","vertical"===oe.orientation),E.Q6J("tabIndex",oe._getFocusIndex()===Re?0:-1)("id",oe._getStepLabelId(Re))("index",Re)("state",oe._getIndicatorType(Re,Oe.state))("label",Oe.stepLabel||Oe.label)("selected",oe.selectedIndex===Re)("active",oe._stepIsNavigable(Re,Oe))("optional",Oe.optional)("errorMessage",Oe.errorMessage)("iconOverrides",oe._iconOverrides)("disableRipple",oe.disableRipple||!oe._stepIsNavigable(Re,Oe))("color",Oe.color||oe.color),E.uIk("aria-posinset",Re+1)("aria-setsize",oe.steps.length)("aria-controls",oe._getStepContentId(Re))("aria-selected",oe.selectedIndex==Re)("aria-label",Oe.ariaLabel||null)("aria-labelledby",!Oe.ariaLabel&&Oe.ariaLabelledby?Oe.ariaLabelledby:null)("aria-disabled",!oe._stepIsNavigable(Re,Oe)||null)}}class Fe extends t.u6{}Fe.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(Fe)))(Oe||Fe)}}(),Fe.\u0275dir=E.lG2({type:Fe,selectors:[["","matStepLabel",""]],features:[E.qOj]});class ke{constructor(){this.changes=new p.x,this.optionalLabel="Optional",this.completedLabel="Completed",this.editableLabel="Editable"}}ke.\u0275fac=function(q){return new(q||ke)},ke.\u0275prov=E.Yz7({token:ke,factory:ke.\u0275fac,providedIn:"root"});const je={provide:ke,deps:[[new E.FiY,new E.tp0,ke]],useFactory:function Ge(H){return H||new ke}},We=(0,D.pj)(class extends t.KL{constructor(q){super(q)}},"primary");class be extends We{constructor(q,Oe,Re,oe){super(Re),this._intl=q,this._focusMonitor=Oe,this._intlSubscription=q.changes.subscribe(()=>oe.markForCheck())}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._intlSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._elementRef)}focus(q,Oe){q?this._focusMonitor.focusVia(this._elementRef,q,Oe):this._elementRef.nativeElement.focus(Oe)}_stringLabel(){return this.label instanceof Fe?null:this.label}_templateLabel(){return this.label instanceof Fe?this.label:null}_getHostElement(){return this._elementRef.nativeElement}_getIconContext(){return{index:this.index,active:this.active,optional:this.optional}}_getDefaultTextForState(q){return"number"==q?`${this.index+1}`:"edit"==q?"create":"error"==q?"warning":q}}be.\u0275fac=function(q){return new(q||be)(E.Y36(ke),E.Y36(k.tE),E.Y36(E.SBq),E.Y36(E.sBO))},be.\u0275cmp=E.Xpm({type:be,selectors:[["mat-step-header"]],hostAttrs:["role","tab",1,"mat-step-header"],inputs:{color:"color",state:"state",label:"label",errorMessage:"errorMessage",iconOverrides:"iconOverrides",index:"index",selected:"selected",active:"active",optional:"optional",disableRipple:"disableRipple"},features:[E.qOj],decls:10,vars:19,consts:[["matRipple","",1,"mat-step-header-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-step-icon-content",3,"ngSwitch"],[3,"ngTemplateOutlet","ngTemplateOutletContext",4,"ngSwitchCase"],[3,"ngSwitch",4,"ngSwitchDefault"],[1,"mat-step-label"],["class","mat-step-text-label",4,"ngIf"],["class","mat-step-optional",4,"ngIf"],["class","mat-step-sub-label-error",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngSwitch"],["aria-hidden","true",4,"ngSwitchCase"],["class","cdk-visually-hidden",4,"ngIf"],["aria-hidden","true",4,"ngSwitchDefault"],["aria-hidden","true"],[1,"cdk-visually-hidden"],[1,"mat-step-text-label"],[3,"ngTemplateOutlet"],[1,"mat-step-optional"],[1,"mat-step-sub-label-error"]],template:function(q,Oe){1&q&&(E._UZ(0,"div",0),E.TgZ(1,"div")(2,"div",1),E.YNc(3,j,1,2,"ng-container",2),E.YNc(4,ve,5,4,"ng-container",3),E.qZA()(),E.TgZ(5,"div",4),E.YNc(6,de,2,1,"div",5),E.YNc(7,$,2,1,"div",5),E.YNc(8,ue,2,1,"div",6),E.YNc(9,w,2,1,"div",7),E.qZA()),2&q&&(E.Q6J("matRippleTrigger",Oe._getHostElement())("matRippleDisabled",Oe.disableRipple),E.xp6(1),E.Gre("mat-step-icon-state-",Oe.state," mat-step-icon"),E.ekj("mat-step-icon-selected",Oe.selected),E.xp6(1),E.Q6J("ngSwitch",!(!Oe.iconOverrides||!Oe.iconOverrides[Oe.state])),E.xp6(1),E.Q6J("ngSwitchCase",!0),E.xp6(2),E.ekj("mat-step-label-active",Oe.active)("mat-step-label-selected",Oe.selected)("mat-step-label-error","error"==Oe.state),E.xp6(1),E.Q6J("ngIf",Oe._templateLabel()),E.xp6(1),E.Q6J("ngIf",Oe._stringLabel()),E.xp6(1),E.Q6J("ngIf",Oe.optional&&"error"!=Oe.state),E.xp6(1),E.Q6J("ngIf","error"==Oe.state))},dependencies:[_.O5,_.tP,_.RF,_.n9,_.ED,u.Hw,D.wG],styles:['.mat-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-step-header:focus .mat-focus-indicator::before{content:""}.cdk-high-contrast-active .mat-step-header{outline:solid 1px}.cdk-high-contrast-active .mat-step-header[aria-selected=true] .mat-step-label{text-decoration:underline}.cdk-high-contrast-active .mat-step-header[aria-disabled=true]{outline-color:GrayText}.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-label,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-icon,.cdk-high-contrast-active .mat-step-header[aria-disabled=true] .mat-step-optional{color:GrayText}.mat-step-optional,.mat-step-sub-label-error{font-size:12px}.mat-step-icon{border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.mat-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex}.mat-step-icon .mat-icon{font-size:16px;height:16px;width:16px}.mat-step-icon-state-error .mat-icon{font-size:24px;height:24px;width:24px}.mat-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle}.mat-step-text-label{text-overflow:ellipsis;overflow:hidden}.mat-step-header .mat-step-header-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,changeDetection:0});const ge={horizontalStepTransition:(0,Z.X$)("horizontalStepTransition",[(0,Z.SB)("previous",(0,Z.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"})),(0,Z.SB)("current",(0,Z.oB)({transform:"none",visibility:"inherit"})),(0,Z.SB)("next",(0,Z.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"})),(0,Z.eR)("* => *",(0,Z.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)"),{params:{animationDuration:"500ms"}})]),verticalStepTransition:(0,Z.X$)("verticalStepTransition",[(0,Z.SB)("previous",(0,Z.oB)({height:"0px",visibility:"hidden"})),(0,Z.SB)("next",(0,Z.oB)({height:"0px",visibility:"hidden"})),(0,Z.SB)("current",(0,Z.oB)({height:"*",visibility:"inherit"})),(0,Z.eR)("* <=> current",(0,Z.jt)("{{animationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)"),{params:{animationDuration:"225ms"}})])};class et{constructor(q){this.templateRef=q}}et.\u0275fac=function(q){return new(q||et)(E.Y36(E.Rgc))},et.\u0275dir=E.lG2({type:et,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:["matStepperIcon","name"]}});class ut{constructor(q){this._template=q}}ut.\u0275fac=function(q){return new(q||ut)(E.Y36(E.Rgc))},ut.\u0275dir=E.lG2({type:ut,selectors:[["ng-template","matStepContent",""]]});class Le extends t.be{constructor(q,Oe,Re,oe){super(q,oe),this._errorStateMatcher=Oe,this._viewContainerRef=Re,this._isSelected=S.w0.EMPTY}ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe((0,P.w)(()=>this._stepper.selectionChange.pipe((0,M.U)(q=>q.selectedStep===this),(0,z.O)(this._stepper.selected===this)))).subscribe(q=>{q&&this._lazyContent&&!this._portal&&(this._portal=new e.UE(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(q,Oe){const Re=this._errorStateMatcher.isErrorState(q,Oe),oe=!!(q&&q.invalid&&this.interacted);return Re||oe}}Le.\u0275fac=function(q){return new(q||Le)(E.Y36((0,E.Gpc)(()=>De)),E.Y36(D.rD,4),E.Y36(E.s_b),E.Y36(t.gx,8))},Le.\u0275cmp=E.Xpm({type:Le,selectors:[["mat-step"]],contentQueries:function(q,Oe,Re){if(1&q&&(E.Suo(Re,Fe,5),E.Suo(Re,ut,5)),2&q){let oe;E.iGM(oe=E.CRH())&&(Oe.stepLabel=oe.first),E.iGM(oe=E.CRH())&&(Oe._lazyContent=oe.first)}},inputs:{color:"color"},exportAs:["matStep"],features:[E._Bn([{provide:D.rD,useExisting:Le},{provide:t.be,useExisting:Le}]),E.qOj],ngContentSelectors:["*"],decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(q,Oe){1&q&&(E.F$t(),E.YNc(0,o,2,1,"ng-template"))},dependencies:[e.Pl],encapsulation:2,changeDetection:0});class De extends t.B8{constructor(q,Oe,Re){super(q,Oe,Re),this.steps=new E.n_E,this.animationDone=new E.vpe,this.labelPosition="end",this.headerPosition="top",this._iconOverrides={},this._animationDone=new p.x,this._animationDuration="";const oe=Re.nativeElement.nodeName.toLowerCase();this.orientation="mat-vertical-stepper"===oe?"vertical":"horizontal"}get animationDuration(){return this._animationDuration}set animationDuration(q){this._animationDuration=/^\d+$/.test(q)?q+"ms":q}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:q,templateRef:Oe})=>this._iconOverrides[q]=Oe),this.steps.changes.pipe((0,I.R)(this._destroyed)).subscribe(()=>{this._stateChanged()}),this._animationDone.pipe((0,W.x)((q,Oe)=>q.fromState===Oe.fromState&&q.toState===Oe.toState),(0,I.R)(this._destroyed)).subscribe(q=>{"current"===q.toState&&this.animationDone.emit()})}_stepIsNavigable(q,Oe){return Oe.completed||this.selectedIndex===q||!this.linear}_getAnimationDuration(){return this.animationDuration?this.animationDuration:"horizontal"===this.orientation?"500ms":"225ms"}}De.\u0275fac=function(q){return new(q||De)(E.Y36(A.Is,8),E.Y36(E.sBO),E.Y36(E.SBq))},De.\u0275cmp=E.Xpm({type:De,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(q,Oe,Re){if(1&q&&(E.Suo(Re,Le,5),E.Suo(Re,et,5)),2&q){let oe;E.iGM(oe=E.CRH())&&(Oe._steps=oe),E.iGM(oe=E.CRH())&&(Oe._icons=oe)}},viewQuery:function(q,Oe){if(1&q&&E.Gf(be,5),2&q){let Re;E.iGM(Re=E.CRH())&&(Oe._stepHeader=Re)}},hostAttrs:["role","tablist"],hostVars:11,hostBindings:function(q,Oe){2&q&&(E.uIk("aria-orientation",Oe.orientation),E.ekj("mat-stepper-horizontal","horizontal"===Oe.orientation)("mat-stepper-vertical","vertical"===Oe.orientation)("mat-stepper-label-position-end","horizontal"===Oe.orientation&&"end"==Oe.labelPosition)("mat-stepper-label-position-bottom","horizontal"===Oe.orientation&&"bottom"==Oe.labelPosition)("mat-stepper-header-position-bottom","bottom"===Oe.headerPosition))},inputs:{selectedIndex:"selectedIndex",disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosition",animationDuration:"animationDuration"},outputs:{animationDone:"animationDone"},exportAs:["matStepper","matVerticalStepper","matHorizontalStepper"],features:[E._Bn([{provide:t.B8,useExisting:De}]),E.qOj],decls:5,vars:3,consts:[[3,"ngSwitch"],["class","mat-horizontal-stepper-wrapper",4,"ngSwitchCase"],[4,"ngSwitchCase"],["stepTemplate",""],[1,"mat-horizontal-stepper-wrapper"],[1,"mat-horizontal-stepper-header-container"],[4,"ngFor","ngForOf"],[1,"mat-horizontal-content-container"],["class","mat-horizontal-stepper-content","role","tabpanel",3,"id","mat-horizontal-stepper-content-inactive",4,"ngFor","ngForOf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["class","mat-stepper-horizontal-line",4,"ngIf"],[1,"mat-stepper-horizontal-line"],["role","tabpanel",1,"mat-horizontal-stepper-content",3,"id"],[3,"ngTemplateOutlet"],["class","mat-step",4,"ngFor","ngForOf"],[1,"mat-step"],[1,"mat-vertical-content-container"],["role","tabpanel",1,"mat-vertical-stepper-content",3,"id"],[1,"mat-vertical-content"],[3,"tabIndex","id","index","state","label","selected","active","optional","errorMessage","iconOverrides","disableRipple","color","click","keydown"]],template:function(q,Oe){1&q&&(E.ynx(0,0),E.YNc(1,C,5,2,"div",1),E.YNc(2,F,2,1,"ng-container",2),E.BQk(),E.YNc(3,J,1,23,"ng-template",null,3,E.W1O)),2&q&&(E.Q6J("ngSwitch",Oe.orientation),E.xp6(1),E.Q6J("ngSwitchCase","horizontal"),E.xp6(1),E.Q6J("ngSwitchCase","vertical"))},dependencies:[_.sg,_.O5,_.tP,_.RF,_.n9,be],styles:['.mat-stepper-vertical,.mat-stepper-horizontal{display:block}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:"";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{outline:0}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-inactive{height:0;overflow:hidden}.mat-horizontal-stepper-content:not(.mat-horizontal-stepper-content-inactive){visibility:inherit !important}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}.cdk-high-contrast-active .mat-horizontal-content-container{outline:solid 1px}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{margin-left:36px;border:0;position:relative}.cdk-high-contrast-active .mat-vertical-content-container{outline:solid 1px}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}.mat-stepper-vertical-line::before{content:"";position:absolute;left:0;border-left-width:1px;border-left-style:solid}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0}.mat-vertical-stepper-content:not(.mat-vertical-stepper-content-inactive){visibility:inherit !important}.mat-vertical-content{padding:0 24px 24px 24px}.mat-step:last-child .mat-vertical-content-container{border:none}'],encapsulation:2,data:{animation:[ge.horizontalStepTransition,ge.verticalStepTransition]},changeDetection:0});class ne extends t.st{}ne.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(ne)))(Oe||ne)}}(),ne.\u0275dir=E.lG2({type:ne,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(q,Oe){2&q&&E.Ikx("type",Oe.type)},inputs:{type:"type"},features:[E.qOj]});class fe extends t.po{}fe.\u0275fac=function(){let H;return function(Oe){return(H||(H=E.n5z(fe)))(Oe||fe)}}(),fe.\u0275dir=E.lG2({type:fe,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(q,Oe){2&q&&E.Ikx("type",Oe.type)},inputs:{type:"type"},features:[E.qOj]});class ee{}ee.\u0275fac=function(q){return new(q||ee)},ee.\u0275mod=E.oAB({type:ee}),ee.\u0275inj=E.cJS({providers:[je,D.rD],imports:[D.BQ,_.ez,e.eL,s.ot,t.U5,u.Ps,D.si,D.BQ]})},8711:(Ve,X,m)=>{"use strict";m.d(X,{ev:()=>Je,Dz:()=>ze,w1:()=>Ue,mD:()=>ct,Q2:()=>He,Ke:()=>Dt,ge:()=>Me,fO:()=>_t,XQ:()=>Ht,as:()=>Ut,Gk:()=>$e,nj:()=>Tt,BZ:()=>xe,by:()=>Yn,p0:()=>Vn});var e=m(2560),t=m(2867),_=m(8971),E=m(1755),s=m(9107),D=m(1494),u=m(4666),k=m(253),p=m(7400),S=m(6317),A=m(4437),P=m(745),M=m(8951),z=m(9295);const I=[[["caption"]],[["colgroup"],["col"]]];function Z(Mt,Ze){if(1&Mt&&(e.TgZ(0,"th",3),e._uU(1),e.qZA()),2&Mt){const Be=e.oxw();e.Udp("text-align",Be.justify),e.xp6(1),e.hij(" ",Be.headerText," ")}}function j(Mt,Ze){if(1&Mt&&(e.TgZ(0,"td",4),e._uU(1),e.qZA()),2&Mt){const Be=Ze.$implicit,ht=e.oxw();e.Udp("text-align",ht.justify),e.xp6(1),e.hij(" ",ht.dataAccessor(Be,ht.name)," ")}}function ae(Mt){return class extends Mt{constructor(...Ze){super(...Ze),this._sticky=!1,this._hasStickyChanged=!1}get sticky(){return this._sticky}set sticky(Ze){const Be=this._sticky;this._sticky=(0,_.Ig)(Ze),this._hasStickyChanged=Be!==this._sticky}hasStickyChanged(){const Ze=this._hasStickyChanged;return this._hasStickyChanged=!1,Ze}resetStickyChanged(){this._hasStickyChanged=!1}}}const re=new e.OlP("CDK_TABLE"),pe=new e.OlP("text-column-options");class le{constructor(Ze){this.template=Ze}}le.\u0275fac=function(Ze){return new(Ze||le)(e.Y36(e.Rgc))},le.\u0275dir=e.lG2({type:le,selectors:[["","cdkCellDef",""]]});class ve{constructor(Ze){this.template=Ze}}ve.\u0275fac=function(Ze){return new(Ze||ve)(e.Y36(e.Rgc))},ve.\u0275dir=e.lG2({type:ve,selectors:[["","cdkHeaderCellDef",""]]});class de{constructor(Ze){this.template=Ze}}de.\u0275fac=function(Ze){return new(Ze||de)(e.Y36(e.Rgc))},de.\u0275dir=e.lG2({type:de,selectors:[["","cdkFooterCellDef",""]]});const ue=ae(class ${});class w extends ue{constructor(Ze){super(),this._table=Ze,this._stickyEnd=!1}get name(){return this._name}set name(Ze){this._setNameInput(Ze)}get stickyEnd(){return this._stickyEnd}set stickyEnd(Ze){const Be=this._stickyEnd;this._stickyEnd=(0,_.Ig)(Ze),this._hasStickyChanged=Be!==this._stickyEnd}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(Ze){Ze&&(this._name=Ze,this.cssClassFriendlyName=Ze.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}}w.\u0275fac=function(Ze){return new(Ze||w)(e.Y36(re,8))},w.\u0275dir=e.lG2({type:w,selectors:[["","cdkColumnDef",""]],contentQueries:function(Ze,Be,ht){if(1&Ze&&(e.Suo(ht,le,5),e.Suo(ht,ve,5),e.Suo(ht,de,5)),2&Ze){let se;e.iGM(se=e.CRH())&&(Be.cell=se.first),e.iGM(se=e.CRH())&&(Be.headerCell=se.first),e.iGM(se=e.CRH())&&(Be.footerCell=se.first)}},inputs:{sticky:"sticky",name:["cdkColumnDef","name"],stickyEnd:"stickyEnd"},features:[e._Bn([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:w}]),e.qOj]});class n{constructor(Ze,Be){Be.nativeElement.classList.add(...Ze._columnCssClassName)}}class o extends n{constructor(Ze,Be){super(Ze,Be)}}o.\u0275fac=function(Ze){return new(Ze||o)(e.Y36(w),e.Y36(e.SBq))},o.\u0275dir=e.lG2({type:o,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[e.qOj]});class h extends n{constructor(Ze,Be){if(super(Ze,Be),1===Ze._table?._elementRef.nativeElement.nodeType){const ht=Ze._table._elementRef.nativeElement.getAttribute("role"),se="grid"===ht||"treegrid"===ht?"gridcell":"cell";Be.nativeElement.setAttribute("role",se)}}}h.\u0275fac=function(Ze){return new(Ze||h)(e.Y36(w),e.Y36(e.SBq))},h.\u0275dir=e.lG2({type:h,selectors:[["cdk-footer-cell"],["td","cdk-footer-cell",""]],hostAttrs:[1,"cdk-footer-cell"],features:[e.qOj]});class d extends n{constructor(Ze,Be){if(super(Ze,Be),1===Ze._table?._elementRef.nativeElement.nodeType){const ht=Ze._table._elementRef.nativeElement.getAttribute("role"),se="grid"===ht||"treegrid"===ht?"gridcell":"cell";Be.nativeElement.setAttribute("role",se)}}}d.\u0275fac=function(Ze){return new(Ze||d)(e.Y36(w),e.Y36(e.SBq))},d.\u0275dir=e.lG2({type:d,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[e.qOj]});class y{constructor(){this.tasks=[],this.endTasks=[]}}const L=new e.OlP("_COALESCED_STYLE_SCHEDULER");class B{constructor(Ze){this._ngZone=Ze,this._currentSchedule=null,this._destroyed=new k.x}schedule(Ze){this._createScheduleIfNeeded(),this._currentSchedule.tasks.push(Ze)}scheduleEnd(Ze){this._createScheduleIfNeeded(),this._currentSchedule.endTasks.push(Ze)}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}_createScheduleIfNeeded(){this._currentSchedule||(this._currentSchedule=new y,this._getScheduleObservable().pipe((0,M.R)(this._destroyed)).subscribe(()=>{for(;this._currentSchedule.tasks.length||this._currentSchedule.endTasks.length;){const Ze=this._currentSchedule;this._currentSchedule=new y;for(const Be of Ze.tasks)Be();for(const Be of Ze.endTasks)Be()}this._currentSchedule=null}))}_getScheduleObservable(){return this._ngZone.isStable?(0,p.D)(Promise.resolve(void 0)):this._ngZone.onStable.pipe((0,z.q)(1))}}B.\u0275fac=function(Ze){return new(Ze||B)(e.LFG(e.R0b))},B.\u0275prov=e.Yz7({token:B,factory:B.\u0275fac});class a{constructor(Ze,Be){this.template=Ze,this._differs=Be}ngOnChanges(Ze){if(!this._columnsDiffer){const Be=Ze.columns&&Ze.columns.currentValue||[];this._columnsDiffer=this._differs.find(Be).create(),this._columnsDiffer.diff(Be)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(Ze){return this instanceof F?Ze.headerCell.template:this instanceof ke?Ze.footerCell.template:Ze.cell.template}}a.\u0275fac=function(Ze){return new(Ze||a)(e.Y36(e.Rgc),e.Y36(e.ZZ4))},a.\u0275dir=e.lG2({type:a,features:[e.TTD]});const N=ae(class C extends a{});class F extends N{constructor(Ze,Be,ht){super(Ze,Be),this._table=ht}ngOnChanges(Ze){super.ngOnChanges(Ze)}}F.\u0275fac=function(Ze){return new(Ze||F)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(re,8))},F.\u0275dir=e.lG2({type:F,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:["cdkHeaderRowDef","columns"],sticky:["cdkHeaderRowDefSticky","sticky"]},features:[e.qOj,e.TTD]});const Fe=ae(class J extends a{});class ke extends Fe{constructor(Ze,Be,ht){super(Ze,Be),this._table=ht}ngOnChanges(Ze){super.ngOnChanges(Ze)}}ke.\u0275fac=function(Ze){return new(Ze||ke)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(re,8))},ke.\u0275dir=e.lG2({type:ke,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:["cdkFooterRowDef","columns"],sticky:["cdkFooterRowDefSticky","sticky"]},features:[e.qOj,e.TTD]});class Ge extends a{constructor(Ze,Be,ht){super(Ze,Be),this._table=ht}}Ge.\u0275fac=function(Ze){return new(Ze||Ge)(e.Y36(e.Rgc),e.Y36(e.ZZ4),e.Y36(re,8))},Ge.\u0275dir=e.lG2({type:Ge,selectors:[["","cdkRowDef",""]],inputs:{columns:["cdkRowDefColumns","columns"],when:["cdkRowDefWhen","when"]},features:[e.qOj]});class je{constructor(Ze){this._viewContainer=Ze,je.mostRecentCellOutlet=this}ngOnDestroy(){je.mostRecentCellOutlet===this&&(je.mostRecentCellOutlet=null)}}je.mostRecentCellOutlet=null,je.\u0275fac=function(Ze){return new(Ze||je)(e.Y36(e.s_b))},je.\u0275dir=e.lG2({type:je,selectors:[["","cdkCellOutlet",""]]});class We{}We.\u0275fac=function(Ze){return new(Ze||We)},We.\u0275cmp=e.Xpm({type:We,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class be{}be.\u0275fac=function(Ze){return new(Ze||be)},be.\u0275cmp=e.Xpm({type:be,selectors:[["cdk-footer-row"],["tr","cdk-footer-row",""]],hostAttrs:["role","row",1,"cdk-footer-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class Ye{}Ye.\u0275fac=function(Ze){return new(Ze||Ye)},Ye.\u0275cmp=e.Xpm({type:Ye,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class Ie{constructor(Ze){this.templateRef=Ze,this._contentClassName="cdk-no-data-row"}}Ie.\u0275fac=function(Ze){return new(Ze||Ie)(e.Y36(e.Rgc))},Ie.\u0275dir=e.lG2({type:Ie,selectors:[["ng-template","cdkNoDataRow",""]]});const ge=["top","bottom","left","right"];class et{constructor(Ze,Be,ht,se,Ae=!0,ft=!0,Lt){this._isNativeHtmlTable=Ze,this._stickCellCss=Be,this.direction=ht,this._coalescedStyleScheduler=se,this._isBrowser=Ae,this._needsPositionStickyOnElement=ft,this._positionListener=Lt,this._cachedCellWidths=[],this._borderCellCss={top:`${Be}-border-elem-top`,bottom:`${Be}-border-elem-bottom`,left:`${Be}-border-elem-left`,right:`${Be}-border-elem-right`}}clearStickyPositioning(Ze,Be){const ht=[];for(const se of Ze)if(se.nodeType===se.ELEMENT_NODE){ht.push(se);for(let Ae=0;Ae{for(const se of ht)this._removeStickyStyle(se,Be)})}updateStickyColumns(Ze,Be,ht,se=!0){if(!Ze.length||!this._isBrowser||!Be.some(Mn=>Mn)&&!ht.some(Mn=>Mn))return void(this._positionListener&&(this._positionListener.stickyColumnsUpdated({sizes:[]}),this._positionListener.stickyEndColumnsUpdated({sizes:[]})));const Ae=Ze[0],ft=Ae.children.length,Lt=this._getCellWidths(Ae,se),nn=this._getStickyStartColumnPositions(Lt,Be),Bn=this._getStickyEndColumnPositions(Lt,ht),Wn=Be.lastIndexOf(!0),ti=ht.indexOf(!0);this._coalescedStyleScheduler.schedule(()=>{const Mn="rtl"===this.direction,Ln=Mn?"right":"left",ai=Mn?"left":"right";for(const rn of Ze)for(let hn=0;hnBe[hn]?rn:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:-1===ti?[]:Lt.slice(ti).map((rn,hn)=>ht[hn+ti]?rn:null).reverse()}))})}stickRows(Ze,Be,ht){if(!this._isBrowser)return;const se="bottom"===ht?Ze.slice().reverse():Ze,Ae="bottom"===ht?Be.slice().reverse():Be,ft=[],Lt=[],nn=[];for(let Wn=0,ti=0;Wn{for(let Wn=0;Wn{Be.some(se=>!se)?this._removeStickyStyle(ht,["bottom"]):this._addStickyStyle(ht,"bottom",0,!1)})}_removeStickyStyle(Ze,Be){for(const se of Be)Ze.style[se]="",Ze.classList.remove(this._borderCellCss[se]);ge.some(se=>-1===Be.indexOf(se)&&Ze.style[se])?Ze.style.zIndex=this._getCalculatedZIndex(Ze):(Ze.style.zIndex="",this._needsPositionStickyOnElement&&(Ze.style.position=""),Ze.classList.remove(this._stickCellCss))}_addStickyStyle(Ze,Be,ht,se){Ze.classList.add(this._stickCellCss),se&&Ze.classList.add(this._borderCellCss[Be]),Ze.style[Be]=`${ht}px`,Ze.style.zIndex=this._getCalculatedZIndex(Ze),this._needsPositionStickyOnElement&&(Ze.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(Ze){const Be={top:100,bottom:10,left:1,right:1};let ht=0;for(const se of ge)Ze.style[se]&&(ht+=Be[se]);return ht?`${ht}`:""}_getCellWidths(Ze,Be=!0){if(!Be&&this._cachedCellWidths.length)return this._cachedCellWidths;const ht=[],se=Ze.children;for(let Ae=0;Ae0;Ae--)Be[Ae]&&(ht[Ae]=se,se+=Ze[Ae]);return ht}}const Oe=new e.OlP("CDK_SPL");class Re{}Re.\u0275fac=function(Ze){return new(Ze||Re)},Re.\u0275dir=e.lG2({type:Re,selectors:[["cdk-table","recycleRows",""],["table","cdk-table","","recycleRows",""]],features:[e._Bn([{provide:E.k,useClass:E.eX}])]});class oe{constructor(Ze,Be){this.viewContainer=Ze,this.elementRef=Be}}oe.\u0275fac=function(Ze){return new(Ze||oe)(e.Y36(e.s_b),e.Y36(e.SBq))},oe.\u0275dir=e.lG2({type:oe,selectors:[["","rowOutlet",""]]});class pt{constructor(Ze,Be){this.viewContainer=Ze,this.elementRef=Be}}pt.\u0275fac=function(Ze){return new(Ze||pt)(e.Y36(e.s_b),e.Y36(e.SBq))},pt.\u0275dir=e.lG2({type:pt,selectors:[["","headerRowOutlet",""]]});class it{constructor(Ze,Be){this.viewContainer=Ze,this.elementRef=Be}}it.\u0275fac=function(Ze){return new(Ze||it)(e.Y36(e.s_b),e.Y36(e.SBq))},it.\u0275dir=e.lG2({type:it,selectors:[["","footerRowOutlet",""]]});class Ct{constructor(Ze,Be){this.viewContainer=Ze,this.elementRef=Be}}Ct.\u0275fac=function(Ze){return new(Ze||Ct)(e.Y36(e.s_b),e.Y36(e.SBq))},Ct.\u0275dir=e.lG2({type:Ct,selectors:[["","noDataRowOutlet",""]]});class zt{constructor(Ze,Be,ht,se,Ae,ft,Lt,nn,Bn,Wn,ti,Mn){this._differs=Ze,this._changeDetectorRef=Be,this._elementRef=ht,this._dir=Ae,this._platform=Lt,this._viewRepeater=nn,this._coalescedStyleScheduler=Bn,this._viewportRuler=Wn,this._stickyPositioningListener=ti,this._ngZone=Mn,this._onDestroy=new k.x,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._customHeaderRowDefs=new Set,this._customFooterRowDefs=new Set,this._headerRowDefChanged=!0,this._footerRowDefChanged=!0,this._stickyColumnStylesNeedReset=!0,this._forceRecalculateCellWidths=!0,this._cachedRenderRowsMap=new Map,this.stickyCssClass="cdk-table-sticky",this.needsPositionStickyOnElement=!0,this._isShowingNoDataRow=!1,this._multiTemplateDataRows=!1,this._fixedLayout=!1,this.contentChanged=new e.vpe,this.viewChange=new S.X({start:0,end:Number.MAX_VALUE}),se||this._elementRef.nativeElement.setAttribute("role","table"),this._document=ft,this._isNativeHtmlTable="TABLE"===this._elementRef.nativeElement.nodeName}get trackBy(){return this._trackByFn}set trackBy(Ze){this._trackByFn=Ze}get dataSource(){return this._dataSource}set dataSource(Ze){this._dataSource!==Ze&&this._switchDataSource(Ze)}get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(Ze){this._multiTemplateDataRows=(0,_.Ig)(Ze),this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}get fixedLayout(){return this._fixedLayout}set fixedLayout(Ze){this._fixedLayout=(0,_.Ig)(Ze),this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}ngOnInit(){this._setupStickyStyler(),this._isNativeHtmlTable&&this._applyNativeTableSections(),this._dataDiffer=this._differs.find([]).create((Ze,Be)=>this.trackBy?this.trackBy(Be.dataIndex,Be.data):Be),this._viewportRuler.change().pipe((0,M.R)(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentChecked(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;const Be=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||Be,this._forceRecalculateCellWidths=Be,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}ngOnDestroy(){[this._rowOutlet.viewContainer,this._headerRowOutlet.viewContainer,this._footerRowOutlet.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(Ze=>{Ze.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._onDestroy.next(),this._onDestroy.complete(),(0,E.Z9)(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();const Ze=this._dataDiffer.diff(this._renderRows);if(!Ze)return this._updateNoDataRow(),void this.contentChanged.next();const Be=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(Ze,Be,(ht,se,Ae)=>this._getEmbeddedViewArgs(ht.item,Ae),ht=>ht.item.data,ht=>{1===ht.operation&&ht.context&&this._renderCellTemplateForItem(ht.record.item.rowDef,ht.context)}),this._updateRowIndexContext(),Ze.forEachIdentityChange(ht=>{Be.get(ht.currentIndex).context.$implicit=ht.item.data}),this._updateNoDataRow(),this._ngZone&&e.R0b.isInAngularZone()?this._ngZone.onStable.pipe((0,z.q)(1),(0,M.R)(this._onDestroy)).subscribe(()=>{this.updateStickyColumnStyles()}):this.updateStickyColumnStyles(),this.contentChanged.next()}addColumnDef(Ze){this._customColumnDefs.add(Ze)}removeColumnDef(Ze){this._customColumnDefs.delete(Ze)}addRowDef(Ze){this._customRowDefs.add(Ze)}removeRowDef(Ze){this._customRowDefs.delete(Ze)}addHeaderRowDef(Ze){this._customHeaderRowDefs.add(Ze),this._headerRowDefChanged=!0}removeHeaderRowDef(Ze){this._customHeaderRowDefs.delete(Ze),this._headerRowDefChanged=!0}addFooterRowDef(Ze){this._customFooterRowDefs.add(Ze),this._footerRowDefChanged=!0}removeFooterRowDef(Ze){this._customFooterRowDefs.delete(Ze),this._footerRowDefChanged=!0}setNoDataRow(Ze){this._customNoDataRow=Ze}updateStickyHeaderRowStyles(){const Ze=this._getRenderedRows(this._headerRowOutlet),ht=this._elementRef.nativeElement.querySelector("thead");ht&&(ht.style.display=Ze.length?"":"none");const se=this._headerRowDefs.map(Ae=>Ae.sticky);this._stickyStyler.clearStickyPositioning(Ze,["top"]),this._stickyStyler.stickRows(Ze,se,"top"),this._headerRowDefs.forEach(Ae=>Ae.resetStickyChanged())}updateStickyFooterRowStyles(){const Ze=this._getRenderedRows(this._footerRowOutlet),ht=this._elementRef.nativeElement.querySelector("tfoot");ht&&(ht.style.display=Ze.length?"":"none");const se=this._footerRowDefs.map(Ae=>Ae.sticky);this._stickyStyler.clearStickyPositioning(Ze,["bottom"]),this._stickyStyler.stickRows(Ze,se,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,se),this._footerRowDefs.forEach(Ae=>Ae.resetStickyChanged())}updateStickyColumnStyles(){const Ze=this._getRenderedRows(this._headerRowOutlet),Be=this._getRenderedRows(this._rowOutlet),ht=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...Ze,...Be,...ht],["left","right"]),this._stickyColumnStylesNeedReset=!1),Ze.forEach((se,Ae)=>{this._addStickyColumnStyles([se],this._headerRowDefs[Ae])}),this._rowDefs.forEach(se=>{const Ae=[];for(let ft=0;ft{this._addStickyColumnStyles([se],this._footerRowDefs[Ae])}),Array.from(this._columnDefsByName.values()).forEach(se=>se.resetStickyChanged())}_getAllRenderRows(){const Ze=[],Be=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let ht=0;ht{const ft=ht&&ht.has(Ae)?ht.get(Ae):[];if(ft.length){const Lt=ft.shift();return Lt.dataIndex=Be,Lt}return{data:Ze,rowDef:Ae,dataIndex:Be}})}_cacheColumnDefs(){this._columnDefsByName.clear(),yn(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(Be=>{this._columnDefsByName.has(Be.name),this._columnDefsByName.set(Be.name,Be)})}_cacheRowDefs(){this._headerRowDefs=yn(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=yn(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=yn(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);const Ze=this._rowDefs.filter(Be=>!Be.when);!this.multiTemplateDataRows&&Ze.length,this._defaultRowDef=Ze[0]}_renderUpdatedColumns(){const Ze=(Ae,ft)=>Ae||!!ft.getColumnsDiff(),Be=this._rowDefs.reduce(Ze,!1);Be&&this._forceRenderDataRows();const ht=this._headerRowDefs.reduce(Ze,!1);ht&&this._forceRenderHeaderRows();const se=this._footerRowDefs.reduce(Ze,!1);return se&&this._forceRenderFooterRows(),Be||ht||se}_switchDataSource(Ze){this._data=[],(0,E.Z9)(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),Ze||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear()),this._dataSource=Ze}_observeRenderChanges(){if(!this.dataSource)return;let Ze;(0,E.Z9)(this.dataSource)?Ze=this.dataSource.connect(this):(0,A.b)(this.dataSource)?Ze=this.dataSource:Array.isArray(this.dataSource)&&(Ze=(0,P.of)(this.dataSource)),this._renderChangeSubscription=Ze.pipe((0,M.R)(this._onDestroy)).subscribe(Be=>{this._data=Be||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((Ze,Be)=>this._renderRow(this._headerRowOutlet,Ze,Be)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((Ze,Be)=>this._renderRow(this._footerRowOutlet,Ze,Be)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(Ze,Be){const ht=Array.from(Be.columns||[]).map(ft=>this._columnDefsByName.get(ft)),se=ht.map(ft=>ft.sticky),Ae=ht.map(ft=>ft.stickyEnd);this._stickyStyler.updateStickyColumns(Ze,se,Ae,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(Ze){const Be=[];for(let ht=0;ht!se.when||se.when(Be,Ze));else{let se=this._rowDefs.find(Ae=>Ae.when&&Ae.when(Be,Ze))||this._defaultRowDef;se&&ht.push(se)}return ht.length,ht}_getEmbeddedViewArgs(Ze,Be){const ht=Ze.rowDef,se={$implicit:Ze.data};return{templateRef:ht.template,context:se,index:Be}}_renderRow(Ze,Be,ht,se={}){const Ae=Ze.viewContainer.createEmbeddedView(Be.template,se,ht);return this._renderCellTemplateForItem(Be,se),Ae}_renderCellTemplateForItem(Ze,Be){for(let ht of this._getCellTemplates(Ze))je.mostRecentCellOutlet&&je.mostRecentCellOutlet._viewContainer.createEmbeddedView(ht,Be);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){const Ze=this._rowOutlet.viewContainer;for(let Be=0,ht=Ze.length;Be{const ht=this._columnDefsByName.get(Be);return Ze.extractCellTemplate(ht)}):[]}_applyNativeTableSections(){const Ze=this._document.createDocumentFragment(),Be=[{tag:"thead",outlets:[this._headerRowOutlet]},{tag:"tbody",outlets:[this._rowOutlet,this._noDataRowOutlet]},{tag:"tfoot",outlets:[this._footerRowOutlet]}];for(const ht of Be){const se=this._document.createElement(ht.tag);se.setAttribute("role","rowgroup");for(const Ae of ht.outlets)se.appendChild(Ae.elementRef.nativeElement);Ze.appendChild(se)}this._elementRef.nativeElement.appendChild(Ze)}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){const Ze=(Be,ht)=>Be||ht.hasStickyChanged();this._headerRowDefs.reduce(Ze,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(Ze,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(Ze,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){const Ze=this._dir?this._dir.value:"ltr";this._stickyStyler=new et(this._isNativeHtmlTable,this.stickyCssClass,Ze,this._coalescedStyleScheduler,this._platform.isBrowser,this.needsPositionStickyOnElement,this._stickyPositioningListener),(this._dir?this._dir.change:(0,P.of)()).pipe((0,M.R)(this._onDestroy)).subscribe(Be=>{this._stickyStyler.direction=Be,this.updateStickyColumnStyles()})}_getOwnDefs(Ze){return Ze.filter(Be=>!Be._table||Be._table===this)}_updateNoDataRow(){const Ze=this._customNoDataRow||this._noDataRow;if(!Ze)return;const Be=0===this._rowOutlet.viewContainer.length;if(Be===this._isShowingNoDataRow)return;const ht=this._noDataRowOutlet.viewContainer;if(Be){const se=ht.createEmbeddedView(Ze.templateRef),Ae=se.rootNodes[0];1===se.rootNodes.length&&Ae?.nodeType===this._document.ELEMENT_NODE&&(Ae.setAttribute("role","row"),Ae.classList.add(Ze._contentClassName))}else ht.clear();this._isShowingNoDataRow=Be}}function yn(Mt,Ze){return Mt.concat(Array.from(Ze))}zt.\u0275fac=function(Ze){return new(Ze||zt)(e.Y36(e.ZZ4),e.Y36(e.sBO),e.Y36(e.SBq),e.$8M("role"),e.Y36(t.Is,8),e.Y36(u.K0),e.Y36(s.t4),e.Y36(E.k),e.Y36(L),e.Y36(D.rL),e.Y36(Oe,12),e.Y36(e.R0b,8))},zt.\u0275cmp=e.Xpm({type:zt,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(Ze,Be,ht){if(1&Ze&&(e.Suo(ht,Ie,5),e.Suo(ht,w,5),e.Suo(ht,Ge,5),e.Suo(ht,F,5),e.Suo(ht,ke,5)),2&Ze){let se;e.iGM(se=e.CRH())&&(Be._noDataRow=se.first),e.iGM(se=e.CRH())&&(Be._contentColumnDefs=se),e.iGM(se=e.CRH())&&(Be._contentRowDefs=se),e.iGM(se=e.CRH())&&(Be._contentHeaderRowDefs=se),e.iGM(se=e.CRH())&&(Be._contentFooterRowDefs=se)}},viewQuery:function(Ze,Be){if(1&Ze&&(e.Gf(oe,7),e.Gf(pt,7),e.Gf(it,7),e.Gf(Ct,7)),2&Ze){let ht;e.iGM(ht=e.CRH())&&(Be._rowOutlet=ht.first),e.iGM(ht=e.CRH())&&(Be._headerRowOutlet=ht.first),e.iGM(ht=e.CRH())&&(Be._footerRowOutlet=ht.first),e.iGM(ht=e.CRH())&&(Be._noDataRowOutlet=ht.first)}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(Ze,Be){2&Ze&&e.ekj("cdk-table-fixed-layout",Be.fixedLayout)},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:"multiTemplateDataRows",fixedLayout:"fixedLayout"},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[e._Bn([{provide:re,useExisting:zt},{provide:E.k,useClass:E.yy},{provide:L,useClass:B},{provide:Oe,useValue:null}])],ngContentSelectors:["caption","colgroup, col"],decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(Ze,Be){1&Ze&&(e.F$t(I),e.Hsn(0),e.Hsn(1,1),e.GkF(2,0)(3,1)(4,2)(5,3))},dependencies:[oe,pt,it,Ct],styles:[".cdk-table-fixed-layout{table-layout:fixed}"],encapsulation:2});class Jt{constructor(Ze,Be){this._table=Ze,this._options=Be,this.justify="start",this._options=Be||{}}get name(){return this._name}set name(Ze){this._name=Ze,this._syncColumnDefName()}ngOnInit(){this._syncColumnDefName(),void 0===this.headerText&&(this.headerText=this._createDefaultHeaderText()),this.dataAccessor||(this.dataAccessor=this._options.defaultDataAccessor||((Ze,Be)=>Ze[Be])),this._table&&(this.columnDef.cell=this.cell,this.columnDef.headerCell=this.headerCell,this._table.addColumnDef(this.columnDef))}ngOnDestroy(){this._table&&this._table.removeColumnDef(this.columnDef)}_createDefaultHeaderText(){const Ze=this.name;return this._options&&this._options.defaultHeaderTextTransform?this._options.defaultHeaderTextTransform(Ze):Ze[0].toUpperCase()+Ze.slice(1)}_syncColumnDefName(){this.columnDef&&(this.columnDef.name=this.name)}}Jt.\u0275fac=function(Ze){return new(Ze||Jt)(e.Y36(zt,8),e.Y36(pe,8))},Jt.\u0275cmp=e.Xpm({type:Jt,selectors:[["cdk-text-column"]],viewQuery:function(Ze,Be){if(1&Ze&&(e.Gf(w,7),e.Gf(le,7),e.Gf(ve,7)),2&Ze){let ht;e.iGM(ht=e.CRH())&&(Be.columnDef=ht.first),e.iGM(ht=e.CRH())&&(Be.cell=ht.first),e.iGM(ht=e.CRH())&&(Be.headerCell=ht.first)}},inputs:{name:"name",headerText:"headerText",dataAccessor:"dataAccessor",justify:"justify"},decls:3,vars:0,consts:[["cdkColumnDef",""],["cdk-header-cell","",3,"text-align",4,"cdkHeaderCellDef"],["cdk-cell","",3,"text-align",4,"cdkCellDef"],["cdk-header-cell",""],["cdk-cell",""]],template:function(Ze,Be){1&Ze&&(e.ynx(0,0),e.YNc(1,Z,2,3,"th",1),e.YNc(2,j,2,3,"td",2),e.BQk())},dependencies:[le,ve,w,d,o],encapsulation:2});class In{}In.\u0275fac=function(Ze){return new(Ze||In)},In.\u0275mod=e.oAB({type:In}),In.\u0275inj=e.cJS({imports:[D.Cl]});var an=m(207),tn=m(6646),pn=m(6562),nt=m(635);const gt=[[["caption"]],[["colgroup"],["col"]]];function we(Mt,Ze){if(1&Mt&&(e.TgZ(0,"th",3),e._uU(1),e.qZA()),2&Mt){const Be=e.oxw();e.Udp("text-align",Be.justify),e.xp6(1),e.hij(" ",Be.headerText," ")}}function Y(Mt,Ze){if(1&Mt&&(e.TgZ(0,"td",4),e._uU(1),e.qZA()),2&Mt){const Be=Ze.$implicit,ht=e.oxw();e.Udp("text-align",ht.justify),e.xp6(1),e.hij(" ",ht.dataAccessor(Be,ht.name)," ")}}class te{}te.\u0275fac=function(Ze){return new(Ze||te)},te.\u0275dir=e.lG2({type:te,selectors:[["mat-table","recycleRows",""],["table","mat-table","","recycleRows",""]],features:[e._Bn([{provide:E.k,useClass:E.eX}])]});class xe extends zt{constructor(){super(...arguments),this.stickyCssClass="mat-table-sticky",this.needsPositionStickyOnElement=!1}}xe.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(xe)))(Be||xe)}}(),xe.\u0275cmp=e.Xpm({type:xe,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-table"],hostVars:2,hostBindings:function(Ze,Be){2&Ze&&e.ekj("mat-table-fixed-layout",Be.fixedLayout)},exportAs:["matTable"],features:[e._Bn([{provide:E.k,useClass:E.yy},{provide:zt,useExisting:xe},{provide:re,useExisting:xe},{provide:L,useClass:B},{provide:Oe,useValue:null}]),e.qOj],ngContentSelectors:["caption","colgroup, col"],decls:6,vars:0,consts:[["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(Ze,Be){1&Ze&&(e.F$t(gt),e.Hsn(0),e.Hsn(1,1),e.GkF(2,0)(3,1)(4,2)(5,3))},dependencies:[oe,pt,it,Ct],styles:["mat-table{display:block}mat-header-row{min-height:56px}mat-row,mat-footer-row{min-height:48px}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}table.mat-table{border-spacing:0}tr.mat-header-row{height:56px}tr.mat-row,tr.mat-footer-row{height:48px}th.mat-header-cell{text-align:left}[dir=rtl] th.mat-header-cell{text-align:right}th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:0;border-bottom-width:1px;border-bottom-style:solid}th.mat-header-cell:first-of-type,td.mat-cell:first-of-type,td.mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] th.mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:first-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}th.mat-header-cell:last-of-type,td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] th.mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-cell:last-of-type:not(:only-of-type),[dir=rtl] td.mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}.mat-table-sticky{position:sticky !important}.mat-table-fixed-layout{table-layout:fixed}"],encapsulation:2});class ze extends le{}ze.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(ze)))(Be||ze)}}(),ze.\u0275dir=e.lG2({type:ze,selectors:[["","matCellDef",""]],features:[e._Bn([{provide:le,useExisting:ze}]),e.qOj]});class _t extends ve{}_t.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(_t)))(Be||_t)}}(),_t.\u0275dir=e.lG2({type:_t,selectors:[["","matHeaderCellDef",""]],features:[e._Bn([{provide:ve,useExisting:_t}]),e.qOj]});class ct extends de{}ct.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(ct)))(Be||ct)}}(),ct.\u0275dir=e.lG2({type:ct,selectors:[["","matFooterCellDef",""]],features:[e._Bn([{provide:de,useExisting:ct}]),e.qOj]});class Ue extends w{get name(){return this._name}set name(Ze){this._setNameInput(Ze)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}}Ue.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ue)))(Be||Ue)}}(),Ue.\u0275dir=e.lG2({type:Ue,selectors:[["","matColumnDef",""]],inputs:{sticky:"sticky",name:["matColumnDef","name"]},features:[e._Bn([{provide:w,useExisting:Ue},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:Ue}]),e.qOj]});class Me extends o{}Me.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Me)))(Be||Me)}}(),Me.\u0275dir=e.lG2({type:Me,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-header-cell"],features:[e.qOj]});class Ce extends h{}Ce.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ce)))(Be||Ce)}}(),Ce.\u0275dir=e.lG2({type:Ce,selectors:[["mat-footer-cell"],["td","mat-footer-cell",""]],hostAttrs:["role","gridcell",1,"mat-footer-cell"],features:[e.qOj]});class Je extends d{}Je.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Je)))(Be||Je)}}(),Je.\u0275dir=e.lG2({type:Je,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:["role","gridcell",1,"mat-cell"],features:[e.qOj]});class Ut extends F{}Ut.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ut)))(Be||Ut)}}(),Ut.\u0275dir=e.lG2({type:Ut,selectors:[["","matHeaderRowDef",""]],inputs:{columns:["matHeaderRowDef","columns"],sticky:["matHeaderRowDefSticky","sticky"]},features:[e._Bn([{provide:F,useExisting:Ut}]),e.qOj]});class Dt extends ke{}Dt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Dt)))(Be||Dt)}}(),Dt.\u0275dir=e.lG2({type:Dt,selectors:[["","matFooterRowDef",""]],inputs:{columns:["matFooterRowDef","columns"],sticky:["matFooterRowDefSticky","sticky"]},features:[e._Bn([{provide:ke,useExisting:Dt}]),e.qOj]});class Tt extends Ge{}Tt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Tt)))(Be||Tt)}}(),Tt.\u0275dir=e.lG2({type:Tt,selectors:[["","matRowDef",""]],inputs:{columns:["matRowDefColumns","columns"],when:["matRowDefWhen","when"]},features:[e._Bn([{provide:Ge,useExisting:Tt}]),e.qOj]});class Ht extends We{}Ht.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Ht)))(Be||Ht)}}(),Ht.\u0275cmp=e.Xpm({type:Ht,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-header-row"],exportAs:["matHeaderRow"],features:[e._Bn([{provide:We,useExisting:Ht}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class He extends be{}He.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(He)))(Be||He)}}(),He.\u0275cmp=e.Xpm({type:He,selectors:[["mat-footer-row"],["tr","mat-footer-row",""]],hostAttrs:["role","row",1,"mat-footer-row"],exportAs:["matFooterRow"],features:[e._Bn([{provide:be,useExisting:He}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class $e extends Ye{}$e.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z($e)))(Be||$e)}}(),$e.\u0275cmp=e.Xpm({type:$e,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-row"],exportAs:["matRow"],features:[e._Bn([{provide:Ye,useExisting:$e}]),e.qOj],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(Ze,Be){1&Ze&&e.GkF(0,0)},dependencies:[je],encapsulation:2});class $t extends Ie{constructor(){super(...arguments),this._contentClassName="mat-no-data-row"}}$t.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z($t)))(Be||$t)}}(),$t.\u0275dir=e.lG2({type:$t,selectors:[["ng-template","matNoDataRow",""]],features:[e._Bn([{provide:Ie,useExisting:$t}]),e.qOj]});class Rt extends Jt{}Rt.\u0275fac=function(){let Mt;return function(Be){return(Mt||(Mt=e.n5z(Rt)))(Be||Rt)}}(),Rt.\u0275cmp=e.Xpm({type:Rt,selectors:[["mat-text-column"]],features:[e.qOj],decls:3,vars:0,consts:[["matColumnDef",""],["mat-header-cell","",3,"text-align",4,"matHeaderCellDef"],["mat-cell","",3,"text-align",4,"matCellDef"],["mat-header-cell",""],["mat-cell",""]],template:function(Ze,Be){1&Ze&&(e.ynx(0,0),e.YNc(1,we,2,3,"th",1),e.YNc(2,Y,2,3,"td",2),e.BQk())},dependencies:[_t,Ue,ze,Me,Je],encapsulation:2});class Vn{}Vn.\u0275fac=function(Ze){return new(Ze||Vn)},Vn.\u0275mod=e.oAB({type:Vn}),Vn.\u0275inj=e.cJS({imports:[In,an.BQ,an.BQ]});class Tn extends E.o2{constructor(Ze=[]){super(),this._renderData=new S.X([]),this._filter=new S.X(""),this._internalPageChanges=new k.x,this._renderChangesSubscription=null,this.sortingDataAccessor=(Be,ht)=>{const se=Be[ht];if((0,_.t6)(se)){const Ae=Number(se);return Ae<9007199254740991?Ae:se}return se},this.sortData=(Be,ht)=>{const se=ht.active,Ae=ht.direction;return se&&""!=Ae?Be.sort((ft,Lt)=>{let nn=this.sortingDataAccessor(ft,se),Bn=this.sortingDataAccessor(Lt,se);const Wn=typeof nn,ti=typeof Bn;Wn!==ti&&("number"===Wn&&(nn+=""),"number"===ti&&(Bn+=""));let Mn=0;return null!=nn&&null!=Bn?nn>Bn?Mn=1:nn{const se=Object.keys(Be).reduce((ft,Lt)=>ft+Be[Lt]+"\u25ec","").toLowerCase(),Ae=ht.trim().toLowerCase();return-1!=se.indexOf(Ae)},this._data=new S.X(Ze),this._updateChangeSubscription()}get data(){return this._data.value}set data(Ze){Ze=Array.isArray(Ze)?Ze:[],this._data.next(Ze),this._renderChangesSubscription||this._filterData(Ze)}get filter(){return this._filter.value}set filter(Ze){this._filter.next(Ze),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(Ze){this._sort=Ze,this._updateChangeSubscription()}get paginator(){return this._paginator}set paginator(Ze){this._paginator=Ze,this._updateChangeSubscription()}_updateChangeSubscription(){const Ze=this._sort?(0,tn.T)(this._sort.sortChange,this._sort.initialized):(0,P.of)(null),Be=this._paginator?(0,tn.T)(this._paginator.page,this._internalPageChanges,this._paginator.initialized):(0,P.of)(null),ht=this._data,se=(0,pn.a)([ht,this._filter]).pipe((0,nt.U)(([Lt])=>this._filterData(Lt))),Ae=(0,pn.a)([se,Ze]).pipe((0,nt.U)(([Lt])=>this._orderData(Lt))),ft=(0,pn.a)([Ae,Be]).pipe((0,nt.U)(([Lt])=>this._pageData(Lt)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=ft.subscribe(Lt=>this._renderData.next(Lt))}_filterData(Ze){return this.filteredData=null==this.filter||""===this.filter?Ze:Ze.filter(Be=>this.filterPredicate(Be,this.filter)),this.paginator&&this._updatePaginator(this.filteredData.length),this.filteredData}_orderData(Ze){return this.sort?this.sortData(Ze.slice(),this.sort):Ze}_pageData(Ze){if(!this.paginator)return Ze;const Be=this.paginator.pageIndex*this.paginator.pageSize;return Ze.slice(Be,Be+this.paginator.pageSize)}_updatePaginator(Ze){Promise.resolve().then(()=>{const Be=this.paginator;if(Be&&(Be.length=Ze,Be.pageIndex>0)){const ht=Math.ceil(Be.length/Be.pageSize)-1||0,se=Math.min(Be.pageIndex,ht);se!==Be.pageIndex&&(Be.pageIndex=se,this._internalPageChanges.next())}})}connect(){return this._renderChangesSubscription||this._updateChangeSubscription(),this._renderData}disconnect(){this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription=null}}class Yn extends Tn{}},5892:(Ve,X,m)=>{"use strict";m.d(X,{BU:()=>we,Nh:()=>_t,Nj:()=>xe,SP:()=>nt,sW:()=>ze,uD:()=>De,uX:()=>ee});var e=m(4218),t=m(3773),_=m(7520),E=m(4666),s=m(2560),D=m(207),u=m(9295),k=m(4874),p=m(8977),S=m(8951),A=m(2673),P=m(7260),M=m(116),z=m(253),I=m(7714),W=m(3280),Z=m(745),j=m(6646),ae=m(591),re=m(833),pe=m(8947),le=m(2867),ve=m(4851),de=m(8971),$=m(1494),ue=m(9107),w=m(8456);function n(ct,Ue){1&ct&&s.Hsn(0)}const o=["*"];function h(ct,Ue){}const d=function(ct){return{animationDuration:ct}},y=function(ct,Ue){return{value:ct,params:Ue}},L=["tabListContainer"],B=["tabList"],v=["tabListInner"],a=["nextPaginator"],C=["previousPaginator"],N=["tabBodyWrapper"],F=["tabHeader"];function J(ct,Ue){}function Fe(ct,Ue){if(1&ct&&s.YNc(0,J,0,0,"ng-template",10),2&ct){const Me=s.oxw().$implicit;s.Q6J("cdkPortalOutlet",Me.templateLabel)}}function ke(ct,Ue){if(1&ct&&s._uU(0),2&ct){const Me=s.oxw().$implicit;s.Oqu(Me.textLabel)}}function Ge(ct,Ue){if(1&ct){const Me=s.EpF();s.TgZ(0,"div",6),s.NdJ("click",function(){const Je=s.CHM(Me),Ut=Je.$implicit,Dt=Je.index,Tt=s.oxw(),Ht=s.MAs(1);return s.KtG(Tt._handleClick(Ut,Ht,Dt))})("cdkFocusChange",function(Je){const Dt=s.CHM(Me).index,Tt=s.oxw();return s.KtG(Tt._tabFocusChanged(Je,Dt))}),s.TgZ(1,"div",7),s.YNc(2,Fe,1,1,"ng-template",8),s.YNc(3,ke,1,1,"ng-template",null,9,s.W1O),s.qZA()()}if(2&ct){const Me=Ue.$implicit,Ce=Ue.index,Je=s.MAs(4),Ut=s.oxw();s.ekj("mat-tab-label-active",Ut.selectedIndex===Ce),s.Q6J("id",Ut._getTabLabelId(Ce))("ngClass",Me.labelClass)("disabled",Me.disabled)("matRippleDisabled",Me.disabled||Ut.disableRipple),s.uIk("tabIndex",Ut._getTabIndex(Me,Ce))("aria-posinset",Ce+1)("aria-setsize",Ut._tabs.length)("aria-controls",Ut._getTabContentId(Ce))("aria-selected",Ut.selectedIndex===Ce)("aria-label",Me.ariaLabel||null)("aria-labelledby",!Me.ariaLabel&&Me.ariaLabelledby?Me.ariaLabelledby:null),s.xp6(2),s.Q6J("ngIf",Me.templateLabel)("ngIfElse",Je)}}function je(ct,Ue){if(1&ct){const Me=s.EpF();s.TgZ(0,"mat-tab-body",11),s.NdJ("_onCentered",function(){s.CHM(Me);const Je=s.oxw();return s.KtG(Je._removeTabBodyWrapperHeight())})("_onCentering",function(Je){s.CHM(Me);const Ut=s.oxw();return s.KtG(Ut._setTabBodyWrapperHeight(Je))}),s.qZA()}if(2&ct){const Me=Ue.$implicit,Ce=Ue.index,Je=s.oxw();s.ekj("mat-tab-body-active",Je.selectedIndex===Ce),s.Q6J("id",Je._getTabContentId(Ce))("ngClass",Me.bodyClass)("content",Me.content)("position",Me.position)("origin",Me.origin)("animationDuration",Je.animationDuration)("preserveContent",Je.preserveContent),s.uIk("tabindex",null!=Je.contentTabIndex&&Je.selectedIndex===Ce?Je.contentTabIndex:null)("aria-labelledby",Je._getTabLabelId(Ce))}}const be=new s.OlP("MatInkBarPositioner",{providedIn:"root",factory:function Ye(){return Ue=>({left:Ue?(Ue.offsetLeft||0)+"px":"0",width:Ue?(Ue.offsetWidth||0)+"px":"0"})}});class Ie{constructor(Ue,Me,Ce,Je){this._elementRef=Ue,this._ngZone=Me,this._inkBarPositioner=Ce,this._animationMode=Je}alignToElement(Ue){this.show(),this._ngZone.run(()=>{this._ngZone.onStable.pipe((0,u.q)(1)).subscribe(()=>{const Me=this._inkBarPositioner(Ue),Ce=this._elementRef.nativeElement;Ce.style.left=Me.left,Ce.style.width=Me.width})})}show(){this._elementRef.nativeElement.style.visibility="visible"}hide(){this._elementRef.nativeElement.style.visibility="hidden"}}Ie.\u0275fac=function(Ue){return new(Ue||Ie)(s.Y36(s.SBq),s.Y36(s.R0b),s.Y36(be),s.Y36(s.QbO,8))},Ie.\u0275dir=s.lG2({type:Ie,selectors:[["mat-ink-bar"]],hostAttrs:[1,"mat-ink-bar"],hostVars:2,hostBindings:function(Ue,Me){2&Ue&&s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode)}});const ge=new s.OlP("MatTabContent");class et{constructor(Ue){this.template=Ue}}et.\u0275fac=function(Ue){return new(Ue||et)(s.Y36(s.Rgc))},et.\u0275dir=s.lG2({type:et,selectors:[["","matTabContent",""]],features:[s._Bn([{provide:ge,useExisting:et}])]});const ut=new s.OlP("MatTabLabel"),Le=new s.OlP("MAT_TAB");class De extends _.ig{constructor(Ue,Me,Ce){super(Ue,Me),this._closestTab=Ce}}De.\u0275fac=function(Ue){return new(Ue||De)(s.Y36(s.Rgc),s.Y36(s.s_b),s.Y36(Le,8))},De.\u0275dir=s.lG2({type:De,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[s._Bn([{provide:ut,useExisting:De}]),s.qOj]});const ne=(0,D.Id)(class{}),fe=new s.OlP("MAT_TAB_GROUP");class ee extends ne{constructor(Ue,Me){super(),this._viewContainerRef=Ue,this._closestTabGroup=Me,this.textLabel="",this._contentPortal=null,this._stateChanges=new z.x,this.position=null,this.origin=null,this.isActive=!1}get templateLabel(){return this._templateLabel}set templateLabel(Ue){this._setTemplateLabelInput(Ue)}get content(){return this._contentPortal}ngOnChanges(Ue){(Ue.hasOwnProperty("textLabel")||Ue.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new _.UE(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(Ue){Ue&&Ue._closestTab===this&&(this._templateLabel=Ue)}}ee.\u0275fac=function(Ue){return new(Ue||ee)(s.Y36(s.s_b),s.Y36(fe,8))},ee.\u0275cmp=s.Xpm({type:ee,selectors:[["mat-tab"]],contentQueries:function(Ue,Me,Ce){if(1&Ue&&(s.Suo(Ce,ut,5),s.Suo(Ce,ge,7,s.Rgc)),2&Ue){let Je;s.iGM(Je=s.CRH())&&(Me.templateLabel=Je.first),s.iGM(Je=s.CRH())&&(Me._explicitContent=Je.first)}},viewQuery:function(Ue,Me){if(1&Ue&&s.Gf(s.Rgc,7),2&Ue){let Ce;s.iGM(Ce=s.CRH())&&(Me._implicitContent=Ce.first)}},inputs:{disabled:"disabled",textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},exportAs:["matTab"],features:[s._Bn([{provide:Le,useExisting:ee}]),s.qOj,s.TTD],ngContentSelectors:o,decls:1,vars:0,template:function(Ue,Me){1&Ue&&(s.F$t(),s.YNc(0,n,1,0,"ng-template"))},encapsulation:2});const H={translateTab:(0,ve.X$)("translateTab",[(0,ve.SB)("center, void, left-origin-center, right-origin-center",(0,ve.oB)({transform:"none"})),(0,ve.SB)("left",(0,ve.oB)({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),(0,ve.SB)("right",(0,ve.oB)({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),(0,ve.eR)("* => left, * => right, left => center, right => center",(0,ve.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),(0,ve.eR)("void => left-origin-center",[(0,ve.oB)({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),(0,ve.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),(0,ve.eR)("void => right-origin-center",[(0,ve.oB)({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),(0,ve.jt)("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};class q extends _.Pl{constructor(Ue,Me,Ce,Je){super(Ue,Me,Je),this._host=Ce,this._centeringSub=I.w0.EMPTY,this._leavingSub=I.w0.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe((0,k.O)(this._host._isCenterPosition(this._host._position))).subscribe(Ue=>{Ue&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}q.\u0275fac=function(Ue){return new(Ue||q)(s.Y36(s._Vd),s.Y36(s.s_b),s.Y36((0,s.Gpc)(()=>Re)),s.Y36(E.K0))},q.\u0275dir=s.lG2({type:q,selectors:[["","matTabBodyHost",""]],features:[s.qOj]});class Oe{constructor(Ue,Me,Ce){this._elementRef=Ue,this._dir=Me,this._dirChangeSubscription=I.w0.EMPTY,this._translateTabComplete=new z.x,this._onCentering=new s.vpe,this._beforeCentering=new s.vpe,this._afterLeavingCenter=new s.vpe,this._onCentered=new s.vpe(!0),this.animationDuration="500ms",this.preserveContent=!1,Me&&(this._dirChangeSubscription=Me.change.subscribe(Je=>{this._computePositionAnimationState(Je),Ce.markForCheck()})),this._translateTabComplete.pipe((0,p.x)((Je,Ut)=>Je.fromState===Ut.fromState&&Je.toState===Ut.toState)).subscribe(Je=>{this._isCenterPosition(Je.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(Je.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(Ue){this._positionIndex=Ue,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(Ue){const Me=this._isCenterPosition(Ue.toState);this._beforeCentering.emit(Me),Me&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(Ue){return"center"==Ue||"left-origin-center"==Ue||"right-origin-center"==Ue}_computePositionAnimationState(Ue=this._getLayoutDirection()){this._positionIndex<0?this._position="ltr"==Ue?"left":"right":this._positionIndex>0?this._position="ltr"==Ue?"right":"left":this._position="center"}_computePositionFromOrigin(Ue){const Me=this._getLayoutDirection();return"ltr"==Me&&Ue<=0||"rtl"==Me&&Ue>0?"left-origin-center":"right-origin-center"}}Oe.\u0275fac=function(Ue){return new(Ue||Oe)(s.Y36(s.SBq),s.Y36(le.Is,8),s.Y36(s.sBO))},Oe.\u0275dir=s.lG2({type:Oe,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}});class Re extends Oe{constructor(Ue,Me,Ce){super(Ue,Me,Ce)}}Re.\u0275fac=function(Ue){return new(Ue||Re)(s.Y36(s.SBq),s.Y36(le.Is,8),s.Y36(s.sBO))},Re.\u0275cmp=s.Xpm({type:Re,selectors:[["mat-tab-body"]],viewQuery:function(Ue,Me){if(1&Ue&&s.Gf(_.Pl,5),2&Ue){let Ce;s.iGM(Ce=s.CRH())&&(Me._portalHost=Ce.first)}},hostAttrs:[1,"mat-tab-body"],features:[s.qOj],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(Ue,Me){1&Ue&&(s.TgZ(0,"div",0,1),s.NdJ("@translateTab.start",function(Je){return Me._onTranslateTabStarted(Je)})("@translateTab.done",function(Je){return Me._translateTabComplete.next(Je)}),s.YNc(2,h,0,0,"ng-template",2),s.qZA()),2&Ue&&s.Q6J("@translateTab",s.WLB(3,y,Me._position,s.VKq(1,d,Me.animationDuration)))},dependencies:[q],styles:['.mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}.mat-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[H.translateTab]}});const oe=new s.OlP("MAT_TABS_CONFIG"),pt=(0,D.Id)(class{});class it extends pt{constructor(Ue){super(),this.elementRef=Ue}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}it.\u0275fac=function(Ue){return new(Ue||it)(s.Y36(s.SBq))},it.\u0275dir=s.lG2({type:it,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(Ue,Me){2&Ue&&(s.uIk("aria-disabled",!!Me.disabled),s.ekj("mat-tab-disabled",Me.disabled))},inputs:{disabled:"disabled"},features:[s.qOj]});const Ct=(0,ue.i$)({passive:!0});class yn{constructor(Ue,Me,Ce,Je,Ut,Dt,Tt){this._elementRef=Ue,this._changeDetectorRef=Me,this._viewportRuler=Ce,this._dir=Je,this._ngZone=Ut,this._platform=Dt,this._animationMode=Tt,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new z.x,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new z.x,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new s.vpe,this.indexFocused=new s.vpe,Ut.runOutsideAngular(()=>{(0,W.R)(Ue.nativeElement,"mouseleave").pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get disablePagination(){return this._disablePagination}set disablePagination(Ue){this._disablePagination=(0,de.Ig)(Ue)}get selectedIndex(){return this._selectedIndex}set selectedIndex(Ue){Ue=(0,de.su)(Ue),this._selectedIndex!=Ue&&(this._selectedIndexChanged=!0,this._selectedIndex=Ue,this._keyManager&&this._keyManager.updateActiveItem(Ue))}ngAfterViewInit(){(0,W.R)(this._previousPaginator.nativeElement,"touchstart",Ct).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),(0,W.R)(this._nextPaginator.nativeElement,"touchstart",Ct).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const Ue=this._dir?this._dir.change:(0,Z.of)("ltr"),Me=this._viewportRuler.change(150),Ce=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new e.Em(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe((0,u.q)(1)).subscribe(Ce),(0,j.T)(Ue,Me,this._items.changes,this._itemsResized()).pipe((0,S.R)(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),Ce()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.pipe((0,S.R)(this._destroyed)).subscribe(Je=>{this.indexFocused.emit(Je),this._setTabFocus(Je)})}_itemsResized(){return"function"!=typeof ResizeObserver?ae.E:this._items.changes.pipe((0,k.O)(this._items),(0,A.w)(Ue=>new re.y(Me=>this._ngZone.runOutsideAngular(()=>{const Ce=new ResizeObserver(Je=>Me.next(Je));return Ue.forEach(Je=>Ce.observe(Je.elementRef.nativeElement)),()=>{Ce.disconnect()}}))),(0,P.T)(1),(0,M.h)(Ue=>Ue.some(Me=>Me.contentRect.width>0&&Me.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(Ue){if(!(0,w.Vb)(Ue))switch(Ue.keyCode){case w.K5:case w.L_:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(Ue));break;default:this._keyManager.onKeydown(Ue)}}_onContentChanges(){const Ue=this._elementRef.nativeElement.textContent;Ue!==this._currentTextContent&&(this._currentTextContent=Ue||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(Ue){!this._isValidIndex(Ue)||this.focusIndex===Ue||!this._keyManager||this._keyManager.setActiveItem(Ue)}_isValidIndex(Ue){if(!this._items)return!0;const Me=this._items?this._items.toArray()[Ue]:null;return!!Me&&!Me.disabled}_setTabFocus(Ue){if(this._showPaginationControls&&this._scrollToLabel(Ue),this._items&&this._items.length){this._items.toArray()[Ue].focus();const Me=this._tabListContainer.nativeElement;"ltr"==this._getLayoutDirection()?Me.scrollLeft=0:Me.scrollLeft=Me.scrollWidth-Me.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const Ue=this.scrollDistance,Me="ltr"===this._getLayoutDirection()?-Ue:Ue;this._tabList.nativeElement.style.transform=`translateX(${Math.round(Me)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(Ue){this._scrollTo(Ue)}_scrollHeader(Ue){const Ce=("before"==Ue?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3;return this._scrollTo(this._scrollDistance+Ce)}_handlePaginatorClick(Ue){this._stopInterval(),this._scrollHeader(Ue)}_scrollToLabel(Ue){if(this.disablePagination)return;const Me=this._items?this._items.toArray()[Ue]:null;if(!Me)return;const Ce=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:Je,offsetWidth:Ut}=Me.elementRef.nativeElement;let Dt,Tt;"ltr"==this._getLayoutDirection()?(Dt=Je,Tt=Dt+Ut):(Tt=this._tabListInner.nativeElement.offsetWidth-Je,Dt=Tt-Ut);const Ht=this.scrollDistance,He=this.scrollDistance+Ce;DtHe&&(this.scrollDistance+=Tt-He+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const Ue=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;Ue||(this.scrollDistance=0),Ue!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=Ue}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const Ue=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,Me=Ue?Ue.elementRef.nativeElement:null;Me?this._inkBar.alignToElement(Me):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(Ue,Me){Me&&null!=Me.button&&0!==Me.button||(this._stopInterval(),(0,pe.H)(650,100).pipe((0,S.R)((0,j.T)(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:Ce,distance:Je}=this._scrollHeader(Ue);(0===Je||Je>=Ce)&&this._stopInterval()}))}_scrollTo(Ue){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const Me=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(Me,Ue)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:Me,distance:this._scrollDistance}}}yn.\u0275fac=function(Ue){return new(Ue||yn)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(le.Is,8),s.Y36(s.R0b),s.Y36(ue.t4),s.Y36(s.QbO,8))},yn.\u0275dir=s.lG2({type:yn,inputs:{disablePagination:"disablePagination"}});class Jt extends yn{constructor(Ue,Me,Ce,Je,Ut,Dt,Tt){super(Ue,Me,Ce,Je,Ut,Dt,Tt),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(Ue){this._disableRipple=(0,de.Ig)(Ue)}_itemSelected(Ue){Ue.preventDefault()}}Jt.\u0275fac=function(Ue){return new(Ue||Jt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(le.Is,8),s.Y36(s.R0b),s.Y36(ue.t4),s.Y36(s.QbO,8))},Jt.\u0275dir=s.lG2({type:Jt,inputs:{disableRipple:"disableRipple"},features:[s.qOj]});class Gt extends Jt{constructor(Ue,Me,Ce,Je,Ut,Dt,Tt){super(Ue,Me,Ce,Je,Ut,Dt,Tt)}}Gt.\u0275fac=function(Ue){return new(Ue||Gt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36($.rL),s.Y36(le.Is,8),s.Y36(s.R0b),s.Y36(ue.t4),s.Y36(s.QbO,8))},Gt.\u0275cmp=s.Xpm({type:Gt,selectors:[["mat-tab-header"]],contentQueries:function(Ue,Me,Ce){if(1&Ue&&s.Suo(Ce,it,4),2&Ue){let Je;s.iGM(Je=s.CRH())&&(Me._items=Je)}},viewQuery:function(Ue,Me){if(1&Ue&&(s.Gf(Ie,7),s.Gf(L,7),s.Gf(B,7),s.Gf(v,7),s.Gf(a,5),s.Gf(C,5)),2&Ue){let Ce;s.iGM(Ce=s.CRH())&&(Me._inkBar=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabListContainer=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabList=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabListInner=Ce.first),s.iGM(Ce=s.CRH())&&(Me._nextPaginator=Ce.first),s.iGM(Ce=s.CRH())&&(Me._previousPaginator=Ce.first)}},hostAttrs:[1,"mat-tab-header"],hostVars:4,hostBindings:function(Ue,Me){2&Ue&&s.ekj("mat-tab-header-pagination-controls-enabled",Me._showPaginationControls)("mat-tab-header-rtl","rtl"==Me._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[s.qOj],ngContentSelectors:o,decls:14,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-before","mat-elevation-z4",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-tab-header-pagination-chevron"],[1,"mat-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-tab-header-pagination","mat-tab-header-pagination-after","mat-elevation-z4",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(Ue,Me){1&Ue&&(s.F$t(),s.TgZ(0,"button",0,1),s.NdJ("click",function(){return Me._handlePaginatorClick("before")})("mousedown",function(Je){return Me._handlePaginatorPress("before",Je)})("touchend",function(){return Me._stopInterval()}),s._UZ(2,"div",2),s.qZA(),s.TgZ(3,"div",3,4),s.NdJ("keydown",function(Je){return Me._handleKeydown(Je)}),s.TgZ(5,"div",5,6),s.NdJ("cdkObserveContent",function(){return Me._onContentChanges()}),s.TgZ(7,"div",7,8),s.Hsn(9),s.qZA(),s._UZ(10,"mat-ink-bar"),s.qZA()(),s.TgZ(11,"button",9,10),s.NdJ("mousedown",function(Je){return Me._handlePaginatorPress("after",Je)})("click",function(){return Me._handlePaginatorClick("after")})("touchend",function(){return Me._stopInterval()}),s._UZ(13,"div",2),s.qZA()),2&Ue&&(s.ekj("mat-tab-header-pagination-disabled",Me._disableScrollBefore),s.Q6J("matRippleDisabled",Me._disableScrollBefore||Me.disableRipple)("disabled",Me._disableScrollBefore||null),s.xp6(5),s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode),s.xp6(6),s.ekj("mat-tab-header-pagination-disabled",Me._disableScrollAfter),s.Q6J("matRippleDisabled",Me._disableScrollAfter||Me.disableRipple)("disabled",Me._disableScrollAfter||null))},dependencies:[D.wG,t.wD,Ie],styles:[".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-tab-header-pagination::-moz-focus-inner{border:0}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-rtl .mat-tab-header-pagination-before,.mat-tab-header-pagination-after{padding-right:4px}.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-labels{display:flex}[mat-align-tabs=center]>.mat-tab-header .mat-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-tab-header .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}.mat-tab-label::before{margin:5px}@media(max-width: 599px){.mat-tab-label{min-width:72px}}"],encapsulation:2});let In=0;class an{}const tn=(0,D.pj)((0,D.Kr)(class{constructor(ct){this._elementRef=ct}}),"primary");class pn extends tn{constructor(Ue,Me,Ce,Je){super(Ue),this._changeDetectorRef=Me,this._animationMode=Je,this._tabs=new s.n_E,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=I.w0.EMPTY,this._tabLabelSubscription=I.w0.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new s.vpe,this.focusChange=new s.vpe,this.animationDone=new s.vpe,this.selectedTabChange=new s.vpe(!0),this._groupId=In++,this.animationDuration=Ce&&Ce.animationDuration?Ce.animationDuration:"500ms",this.disablePagination=!(!Ce||null==Ce.disablePagination)&&Ce.disablePagination,this.dynamicHeight=!(!Ce||null==Ce.dynamicHeight)&&Ce.dynamicHeight,this.contentTabIndex=Ce?.contentTabIndex??null,this.preserveContent=!!Ce?.preserveContent}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(Ue){this._dynamicHeight=(0,de.Ig)(Ue)}get selectedIndex(){return this._selectedIndex}set selectedIndex(Ue){this._indexToSelect=(0,de.su)(Ue,null)}get animationDuration(){return this._animationDuration}set animationDuration(Ue){this._animationDuration=/^\d+$/.test(Ue+"")?Ue+"ms":Ue}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(Ue){this._contentTabIndex=(0,de.su)(Ue,null)}get disablePagination(){return this._disablePagination}set disablePagination(Ue){this._disablePagination=(0,de.Ig)(Ue)}get preserveContent(){return this._preserveContent}set preserveContent(Ue){this._preserveContent=(0,de.Ig)(Ue)}get backgroundColor(){return this._backgroundColor}set backgroundColor(Ue){const Me=this._elementRef.nativeElement;Me.classList.remove(`mat-background-${this.backgroundColor}`),Ue&&Me.classList.add(`mat-background-${Ue}`),this._backgroundColor=Ue}ngAfterContentChecked(){const Ue=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=Ue){const Me=null==this._selectedIndex;if(!Me){this.selectedTabChange.emit(this._createChangeEvent(Ue));const Ce=this._tabBodyWrapper.nativeElement;Ce.style.minHeight=Ce.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((Ce,Je)=>Ce.isActive=Je===Ue),Me||(this.selectedIndexChange.emit(Ue),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((Me,Ce)=>{Me.position=Ce-Ue,null!=this._selectedIndex&&0==Me.position&&!Me.origin&&(Me.origin=Ue-this._selectedIndex)}),this._selectedIndex!==Ue&&(this._selectedIndex=Ue,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const Ue=this._clampTabIndex(this._indexToSelect);if(Ue===this._selectedIndex){const Me=this._tabs.toArray();let Ce;for(let Je=0;Je{Me[Ue].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(Ue))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe((0,k.O)(this._allTabs)).subscribe(Ue=>{this._tabs.reset(Ue.filter(Me=>Me._closestTabGroup===this||!Me._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(Ue){const Me=this._tabHeader;Me&&(Me.focusIndex=Ue)}_focusChanged(Ue){this._lastFocusedTabIndex=Ue,this.focusChange.emit(this._createChangeEvent(Ue))}_createChangeEvent(Ue){const Me=new an;return Me.index=Ue,this._tabs&&this._tabs.length&&(Me.tab=this._tabs.toArray()[Ue]),Me}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=(0,j.T)(...this._tabs.map(Ue=>Ue._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(Ue){return Math.min(this._tabs.length-1,Math.max(Ue||0,0))}_getTabLabelId(Ue){return`mat-tab-label-${this._groupId}-${Ue}`}_getTabContentId(Ue){return`mat-tab-content-${this._groupId}-${Ue}`}_setTabBodyWrapperHeight(Ue){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const Me=this._tabBodyWrapper.nativeElement;Me.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(Me.style.height=Ue+"px")}_removeTabBodyWrapperHeight(){const Ue=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=Ue.clientHeight,Ue.style.height="",this.animationDone.emit()}_handleClick(Ue,Me,Ce){Ue.disabled||(this.selectedIndex=Me.focusIndex=Ce)}_getTabIndex(Ue,Me){if(Ue.disabled)return null;return Me===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(Ue,Me){Ue&&"mouse"!==Ue&&"touch"!==Ue&&(this._tabHeader.focusIndex=Me)}}pn.\u0275fac=function(Ue){return new(Ue||pn)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(oe,8),s.Y36(s.QbO,8))},pn.\u0275dir=s.lG2({type:pn,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[s.qOj]});class nt extends pn{constructor(Ue,Me,Ce,Je){super(Ue,Me,Ce,Je)}}nt.\u0275fac=function(Ue){return new(Ue||nt)(s.Y36(s.SBq),s.Y36(s.sBO),s.Y36(oe,8),s.Y36(s.QbO,8))},nt.\u0275cmp=s.Xpm({type:nt,selectors:[["mat-tab-group"]],contentQueries:function(Ue,Me,Ce){if(1&Ue&&s.Suo(Ce,ee,5),2&Ue){let Je;s.iGM(Je=s.CRH())&&(Me._allTabs=Je)}},viewQuery:function(Ue,Me){if(1&Ue&&(s.Gf(N,5),s.Gf(F,5)),2&Ue){let Ce;s.iGM(Ce=s.CRH())&&(Me._tabBodyWrapper=Ce.first),s.iGM(Ce=s.CRH())&&(Me._tabHeader=Ce.first)}},hostAttrs:[1,"mat-tab-group"],hostVars:4,hostBindings:function(Ue,Me){2&Ue&&s.ekj("mat-tab-group-dynamic-height",Me.dynamicHeight)("mat-tab-group-inverted-header","below"===Me.headerPosition)},inputs:{color:"color",disableRipple:"disableRipple"},exportAs:["matTabGroup"],features:[s._Bn([{provide:fe,useExisting:nt}]),s.qOj],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mat-tab-label mat-focus-indicator","role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",3,"id","mat-tab-label-active","ngClass","disabled","matRippleDisabled","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","mat-ripple","","cdkMonitorElementFocus","",1,"mat-tab-label","mat-focus-indicator",3,"id","ngClass","disabled","matRippleDisabled","click","cdkFocusChange"],[1,"mat-tab-label-content"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(Ue,Me){1&Ue&&(s.TgZ(0,"mat-tab-header",0,1),s.NdJ("indexFocused",function(Je){return Me._focusChanged(Je)})("selectFocusedIndex",function(Je){return Me.selectedIndex=Je}),s.YNc(2,Ge,5,15,"div",2),s.qZA(),s.TgZ(3,"div",3,4),s.YNc(5,je,1,11,"mat-tab-body",5),s.qZA()),2&Ue&&(s.Q6J("selectedIndex",Me.selectedIndex||0)("disableRipple",Me.disableRipple)("disablePagination",Me.disablePagination),s.xp6(2),s.Q6J("ngForOf",Me._tabs),s.xp6(1),s.ekj("_mat-animation-noopable","NoopAnimations"===Me._animationMode),s.xp6(2),s.Q6J("ngForOf",Me._tabs))},dependencies:[E.mk,E.sg,E.O5,_.Pl,D.wG,e.kH,it,Re,Gt],styles:[".mat-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:none}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-label.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-label.mat-tab-disabled{opacity:.5}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-label{opacity:1}@media(max-width: 599px){.mat-tab-label{padding:0 12px}}@media(max-width: 959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],encapsulation:2});let gt=0;class At extends yn{constructor(Ue,Me,Ce,Je,Ut,Dt,Tt){super(Ue,Je,Ut,Me,Ce,Dt,Tt),this._disableRipple=!1,this.color="primary"}get backgroundColor(){return this._backgroundColor}set backgroundColor(Ue){const Me=this._elementRef.nativeElement.classList;Me.remove(`mat-background-${this.backgroundColor}`),Ue&&Me.add(`mat-background-${Ue}`),this._backgroundColor=Ue}get disableRipple(){return this._disableRipple}set disableRipple(Ue){this._disableRipple=(0,de.Ig)(Ue)}_itemSelected(){}ngAfterContentInit(){this._items.changes.pipe((0,k.O)(null),(0,S.R)(this._destroyed)).subscribe(()=>{this.updateActiveLink()}),super.ngAfterContentInit()}updateActiveLink(){if(!this._items)return;const Ue=this._items.toArray();for(let Me=0;Me.mat-tab-link-container .mat-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-tab-link-container .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-ink-bar._mat-animation-noopable{transition:none !important;animation:none !important}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}.cdk-high-contrast-active .mat-ink-bar{outline:solid 2px;height:0}.mat-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-link{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-tab-link:focus{outline:none}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}.mat-tab-link.mat-tab-disabled{cursor:default}.cdk-high-contrast-active .mat-tab-link.mat-tab-disabled{opacity:.5}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}.cdk-high-contrast-active .mat-tab-link{opacity:1}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}.mat-tab-link::before{margin:5px}@media(max-width: 599px){.mat-tab-link{min-width:72px}}"],encapsulation:2});const Y=(0,D.sb)((0,D.Kr)((0,D.Id)(class{})));class te extends Y{constructor(Ue,Me,Ce,Je,Ut,Dt){super(),this._tabNavBar=Ue,this.elementRef=Me,this._focusMonitor=Ut,this._isActive=!1,this.id="mat-tab-link-"+gt++,this.rippleConfig=Ce||{},this.tabIndex=parseInt(Je)||0,"NoopAnimations"===Dt&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get active(){return this._isActive}set active(Ue){const Me=(0,de.Ig)(Ue);Me!==this._isActive&&(this._isActive=Me,this._tabNavBar.updateActiveLink())}get rippleDisabled(){return this.disabled||this.disableRipple||this._tabNavBar.disableRipple||!!this.rippleConfig.disabled}focus(){this.elementRef.nativeElement.focus()}ngAfterViewInit(){this._focusMonitor.monitor(this.elementRef)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.elementRef)}_handleFocus(){this._tabNavBar.focusIndex=this._tabNavBar._items.toArray().indexOf(this)}_handleKeydown(Ue){this._tabNavBar.tabPanel&&Ue.keyCode===w.L_&&this.elementRef.nativeElement.click()}_getAriaControls(){return this._tabNavBar.tabPanel?this._tabNavBar.tabPanel?.id:this.elementRef.nativeElement.getAttribute("aria-controls")}_getAriaSelected(){return this._tabNavBar.tabPanel?this.active?"true":"false":this.elementRef.nativeElement.getAttribute("aria-selected")}_getAriaCurrent(){return this.active&&!this._tabNavBar.tabPanel?"page":null}_getRole(){return this._tabNavBar.tabPanel?"tab":this.elementRef.nativeElement.getAttribute("role")}_getTabIndex(){return this._tabNavBar.tabPanel?this._isActive&&!this.disabled?0:-1:this.tabIndex}}te.\u0275fac=function(Ue){return new(Ue||te)(s.Y36(At),s.Y36(s.SBq),s.Y36(D.Y2,8),s.$8M("tabindex"),s.Y36(e.tE),s.Y36(s.QbO,8))},te.\u0275dir=s.lG2({type:te,inputs:{active:"active",id:"id"},features:[s.qOj]});class xe extends te{constructor(Ue,Me,Ce,Je,Ut,Dt,Tt,Ht){super(Ue,Me,Ut,Dt,Tt,Ht),this._tabLinkRipple=new D.IR(this,Ce,Me,Je),this._tabLinkRipple.setupTriggerEvents(Me.nativeElement)}ngOnDestroy(){super.ngOnDestroy(),this._tabLinkRipple._removeTriggerEvents()}}xe.\u0275fac=function(Ue){return new(Ue||xe)(s.Y36(we),s.Y36(s.SBq),s.Y36(s.R0b),s.Y36(ue.t4),s.Y36(D.Y2,8),s.$8M("tabindex"),s.Y36(e.tE),s.Y36(s.QbO,8))},xe.\u0275dir=s.lG2({type:xe,selectors:[["","mat-tab-link",""],["","matTabLink",""]],hostAttrs:[1,"mat-tab-link","mat-focus-indicator"],hostVars:11,hostBindings:function(Ue,Me){1&Ue&&s.NdJ("focus",function(){return Me._handleFocus()})("keydown",function(Je){return Me._handleKeydown(Je)}),2&Ue&&(s.uIk("aria-controls",Me._getAriaControls())("aria-current",Me._getAriaCurrent())("aria-disabled",Me.disabled)("aria-selected",Me._getAriaSelected())("id",Me.id)("tabIndex",Me._getTabIndex())("role",Me._getRole()),s.ekj("mat-tab-disabled",Me.disabled)("mat-tab-label-active",Me.active))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matTabLink"],features:[s.qOj]});class ze{constructor(){this.id="mat-tab-nav-panel-"+gt++}}ze.\u0275fac=function(Ue){return new(Ue||ze)},ze.\u0275cmp=s.Xpm({type:ze,selectors:[["mat-tab-nav-panel"]],hostAttrs:["role","tabpanel",1,"mat-tab-nav-panel"],hostVars:2,hostBindings:function(Ue,Me){2&Ue&&s.uIk("aria-labelledby",Me._activeTabId)("id",Me.id)},inputs:{id:"id"},exportAs:["matTabNavPanel"],ngContentSelectors:o,decls:1,vars:0,template:function(Ue,Me){1&Ue&&(s.F$t(),s.Hsn(0))},encapsulation:2,changeDetection:0});class _t{}_t.\u0275fac=function(Ue){return new(Ue||_t)},_t.\u0275mod=s.oAB({type:_t}),_t.\u0275inj=s.cJS({imports:[E.ez,D.BQ,_.eL,D.si,t.Q8,e.rt,D.BQ]})},2543:(Ve,X,m)=>{"use strict";m.d(X,{Ye:()=>p,g0:()=>A});var e=m(2560),t=m(207),_=m(9107),E=m(4666);const s=["*",[["mat-toolbar-row"]]],u=(0,t.pj)(class{constructor(P){this._elementRef=P}});class k{}k.\u0275fac=function(M){return new(M||k)},k.\u0275dir=e.lG2({type:k,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]});class p extends u{constructor(M,z,I){super(M),this._platform=z,this._document=I}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){this._toolbarRows.length}}p.\u0275fac=function(M){return new(M||p)(e.Y36(e.SBq),e.Y36(_.t4),e.Y36(E.K0))},p.\u0275cmp=e.Xpm({type:p,selectors:[["mat-toolbar"]],contentQueries:function(M,z,I){if(1&M&&e.Suo(I,k,5),2&M){let W;e.iGM(W=e.CRH())&&(z._toolbarRows=W)}},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(M,z){2&M&&e.ekj("mat-toolbar-multiple-rows",z._toolbarRows.length>0)("mat-toolbar-single-row",0===z._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[e.qOj],ngContentSelectors:["*","mat-toolbar-row"],decls:2,vars:0,template:function(M,z){1&M&&(e.F$t(s),e.Hsn(0),e.Hsn(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}"],encapsulation:2,changeDetection:0});class A{}A.\u0275fac=function(M){return new(M||A)},A.\u0275mod=e.oAB({type:A}),A.\u0275inj=e.cJS({imports:[t.BQ,t.BQ]})},6896:(Ve,X,m)=>{"use strict";m.d(X,{AV:()=>L,gM:()=>h});var e=m(5895),t=m(4218),_=m(4666),E=m(2560),s=m(207),D=m(1494),u=m(2867),k=m(8971),p=m(8456),S=m(3278),A=m(9107),P=m(7520),M=m(253),z=m(8951),I=m(9295),W=m(4851);const Z=["tooltip"],re="tooltip-panel",pe=(0,A.i$)({passive:!0});const de=new E.OlP("mat-tooltip-scroll-strategy");const ue={provide:de,deps:[e.aV],useFactory:function $(v){return()=>v.scrollStrategies.reposition({scrollThrottle:20})}},w=new E.OlP("mat-tooltip-default-options",{providedIn:"root",factory:function n(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}});class o{constructor(a,C,N,F,J,Fe,ke,Ge,je,We,be,Ye){this._overlay=a,this._elementRef=C,this._scrollDispatcher=N,this._viewContainerRef=F,this._ngZone=J,this._platform=Fe,this._ariaDescriber=ke,this._focusMonitor=Ge,this._dir=We,this._defaultOptions=be,this._position="below",this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this._showDelay=this._defaultOptions.showDelay,this._hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new M.x,this._scrollStrategy=je,this._document=Ye,be&&(be.position&&(this.position=be.position),be.touchGestures&&(this.touchGestures=be.touchGestures)),We.change.pipe((0,z.R)(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}get position(){return this._position}set position(a){a!==this._position&&(this._position=a,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get disabled(){return this._disabled}set disabled(a){this._disabled=(0,k.Ig)(a),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(a){this._showDelay=(0,k.su)(a)}get hideDelay(){return this._hideDelay}set hideDelay(a){this._hideDelay=(0,k.su)(a),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(a){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=a?String(a).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(a){this._tooltipClass=a,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,z.R)(this._destroyed)).subscribe(a=>{a?"keyboard"===a&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const a=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([C,N])=>{a.removeEventListener(C,N,pe)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(a,this.message,"tooltip"),this._focusMonitor.stopMonitoring(a)}show(a=this.showDelay){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const C=this._createOverlay();this._detach(),this._portal=this._portal||new P.C5(this._tooltipComponent,this._viewContainerRef);const N=this._tooltipInstance=C.attach(this._portal).instance;N._triggerElement=this._elementRef.nativeElement,N._mouseLeaveHideDelay=this._hideDelay,N.afterHidden().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),N.show(a)}hide(a=this.hideDelay){const C=this._tooltipInstance;C&&(C.isVisible()?C.hide(a):(C._cancelPendingAnimations(),this._detach()))}toggle(){this._isTooltipVisible()?this.hide():this.show()}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(){if(this._overlayRef)return this._overlayRef;const a=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),C=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(a);return C.positionChanges.pipe((0,z.R)(this._destroyed)).subscribe(N=>{this._updateCurrentPositionClass(N.connectionPair),this._tooltipInstance&&N.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:C,panelClass:`${this._cssClassPrefix}-${re}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe((0,z.R)(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe((0,z.R)(this._destroyed)).subscribe(N=>{this._isTooltipVisible()&&N.keyCode===p.hY&&!(0,p.Vb)(N)&&(N.preventDefault(),N.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(a){const C=a.getConfig().positionStrategy,N=this._getOrigin(),F=this._getOverlayPosition();C.withPositions([this._addOffset({...N.main,...F.main}),this._addOffset({...N.fallback,...F.fallback})])}_addOffset(a){return a}_getOrigin(){const a=!this._dir||"ltr"==this._dir.value,C=this.position;let N;"above"==C||"below"==C?N={originX:"center",originY:"above"==C?"top":"bottom"}:"before"==C||"left"==C&&a||"right"==C&&!a?N={originX:"start",originY:"center"}:("after"==C||"right"==C&&a||"left"==C&&!a)&&(N={originX:"end",originY:"center"});const{x:F,y:J}=this._invertPosition(N.originX,N.originY);return{main:N,fallback:{originX:F,originY:J}}}_getOverlayPosition(){const a=!this._dir||"ltr"==this._dir.value,C=this.position;let N;"above"==C?N={overlayX:"center",overlayY:"bottom"}:"below"==C?N={overlayX:"center",overlayY:"top"}:"before"==C||"left"==C&&a||"right"==C&&!a?N={overlayX:"end",overlayY:"center"}:("after"==C||"right"==C&&a||"left"==C&&!a)&&(N={overlayX:"start",overlayY:"center"});const{x:F,y:J}=this._invertPosition(N.overlayX,N.overlayY);return{main:N,fallback:{overlayX:F,overlayY:J}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe((0,I.q)(1),(0,z.R)(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(a){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=a,this._tooltipInstance._markForCheck())}_invertPosition(a,C){return"above"===this.position||"below"===this.position?"top"===C?C="bottom":"bottom"===C&&(C="top"):"end"===a?a="start":"start"===a&&(a="end"),{x:a,y:C}}_updateCurrentPositionClass(a){const{overlayY:C,originX:N,originY:F}=a;let J;if(J="center"===C?this._dir&&"rtl"===this._dir.value?"end"===N?"left":"right":"start"===N?"left":"right":"bottom"===C&&"top"===F?"above":"below",J!==this._currentPosition){const Fe=this._overlayRef;if(Fe){const ke=`${this._cssClassPrefix}-${re}-`;Fe.removePanelClass(ke+this._currentPosition),Fe.addPanelClass(ke+J)}this._currentPosition=J}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",()=>{this._setupPointerExitEventsIfNeeded(),this.show()}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",()=>{this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const a=[];if(this._platformSupportsMouseEvents())a.push(["mouseleave",C=>{const N=C.relatedTarget;(!N||!this._overlayRef?.overlayElement.contains(N))&&this.hide()}],["wheel",C=>this._wheelListener(C)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const C=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};a.push(["touchend",C],["touchcancel",C])}this._addListeners(a),this._passiveListeners.push(...a)}_addListeners(a){a.forEach(([C,N])=>{this._elementRef.nativeElement.addEventListener(C,N,pe)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(a){if(this._isTooltipVisible()){const C=this._document.elementFromPoint(a.clientX,a.clientY),N=this._elementRef.nativeElement;C!==N&&!N.contains(C)&&this.hide()}}_disableNativeGesturesIfNecessary(){const a=this.touchGestures;if("off"!==a){const C=this._elementRef.nativeElement,N=C.style;("on"===a||"INPUT"!==C.nodeName&&"TEXTAREA"!==C.nodeName)&&(N.userSelect=N.msUserSelect=N.webkitUserSelect=N.MozUserSelect="none"),("on"===a||!C.draggable)&&(N.webkitUserDrag="none"),N.touchAction="none",N.webkitTapHighlightColor="transparent"}}}o.\u0275fac=function(a){E.$Z()},o.\u0275dir=E.lG2({type:o,inputs:{position:["matTooltipPosition","position"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}});class h extends o{constructor(a,C,N,F,J,Fe,ke,Ge,je,We,be,Ye){super(a,C,N,F,J,Fe,ke,Ge,je,We,be,Ye),this._tooltipComponent=y}}h.\u0275fac=function(a){return new(a||h)(E.Y36(e.aV),E.Y36(E.SBq),E.Y36(D.mF),E.Y36(E.s_b),E.Y36(E.R0b),E.Y36(A.t4),E.Y36(t.$s),E.Y36(t.tE),E.Y36(de),E.Y36(u.Is,8),E.Y36(w,8),E.Y36(_.K0))},h.\u0275dir=E.lG2({type:h,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-tooltip-trigger"],exportAs:["matTooltip"],features:[E.qOj]});class d{constructor(a,C){this._changeDetectorRef=a,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new M.x,this._animationsDisabled="NoopAnimations"===C}show(a){clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},a)}hide(a){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},a)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:a}){(!a||!this._triggerElement.contains(a))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName:a}){(a===this._showAnimation||a===this._hideAnimation)&&this._finalizeAnimation(a===this._showAnimation)}_cancelPendingAnimations(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(a){a?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(a){const C=this._tooltip.nativeElement,N=this._showAnimation,F=this._hideAnimation;if(C.classList.remove(a?F:N),C.classList.add(a?N:F),this._isVisible=a,a&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const J=getComputedStyle(C);("0s"===J.getPropertyValue("animation-duration")||"none"===J.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}a&&this._onShow(),this._animationsDisabled&&(C.classList.add("_mat-animation-noopable"),this._finalizeAnimation(a))}}d.\u0275fac=function(a){return new(a||d)(E.Y36(E.sBO),E.Y36(E.QbO,8))},d.\u0275dir=E.lG2({type:d});class y extends d{constructor(a,C,N){super(a,N),this._breakpointObserver=C,this._isHandset=this._breakpointObserver.observe(S.u3.Handset),this._showAnimation="mat-tooltip-show",this._hideAnimation="mat-tooltip-hide"}}y.\u0275fac=function(a){return new(a||y)(E.Y36(E.sBO),E.Y36(S.Yg),E.Y36(E.QbO,8))},y.\u0275cmp=E.Xpm({type:y,selectors:[["mat-tooltip-component"]],viewQuery:function(a,C){if(1&a&&E.Gf(Z,7),2&a){let N;E.iGM(N=E.CRH())&&(C._tooltip=N.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(a,C){1&a&&E.NdJ("mouseleave",function(F){return C._handleMouseLeave(F)}),2&a&&E.Udp("zoom",C.isVisible()?1:null)},features:[E.qOj],decls:4,vars:6,consts:[[1,"mat-tooltip",3,"ngClass","animationend"],["tooltip",""]],template:function(a,C){if(1&a&&(E.TgZ(0,"div",0,1),E.NdJ("animationend",function(F){return C._handleAnimationEnd(F)}),E.ALo(2,"async"),E._uU(3),E.qZA()),2&a){let N;E.ekj("mat-tooltip-handset",null==(N=E.lcZ(2,4,C._isHandset))?null:N.matches),E.Q6J("ngClass",C.tooltipClass),E.xp6(3),E.Oqu(C.message)}},dependencies:[_.mk,_.Ov],styles:[".mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis;transform:scale(0)}.mat-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}.mat-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-tooltip-show{0%{opacity:0;transform:scale(0)}50%{opacity:.5;transform:scale(0.99)}100%{opacity:1;transform:scale(1)}}@keyframes mat-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}.mat-tooltip-show{animation:mat-tooltip-show 200ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-tooltip-hide{animation:mat-tooltip-hide 100ms cubic-bezier(0, 0, 0.2, 1) forwards}"],encapsulation:2,changeDetection:0});class L{}L.\u0275fac=function(a){return new(a||L)},L.\u0275mod=E.oAB({type:L}),L.\u0275inj=E.cJS({providers:[ue],imports:[t.rt,_.ez,e.U8,s.BQ,s.BQ,D.ZD]});(0,W.X$)("state",[(0,W.SB)("initial, void, hidden",(0,W.oB)({opacity:0,transform:"scale(0)"})),(0,W.SB)("visible",(0,W.oB)({transform:"scale(1)"})),(0,W.eR)("* => visible",(0,W.jt)("200ms cubic-bezier(0, 0, 0.2, 1)",(0,W.F4)([(0,W.oB)({opacity:0,transform:"scale(0)",offset:0}),(0,W.oB)({opacity:.5,transform:"scale(0.99)",offset:.5}),(0,W.oB)({opacity:1,transform:"scale(1)",offset:1})]))),(0,W.eR)("* => hidden",(0,W.jt)("100ms cubic-bezier(0, 0, 0.2, 1)",(0,W.oB)({opacity:0})))])},3453:(Ve,X,m)=>{"use strict";m.d(X,{Ar:()=>z,GZ:()=>P,WX:()=>pe,dp:()=>j,eu:()=>W,fQ:()=>A,gi:()=>I,uo:()=>S});var e=m(5183),t=m(2560),_=m(207),E=m(8971),s=m(1755),D=m(6317),u=m(6646),k=m(635);const p=(0,_.sb)((0,_.Id)(e.Hs));class S extends p{constructor(ve,de,$){super(ve,de),this.tabIndex=Number($)||0}ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}}S.\u0275fac=function(ve){return new(ve||S)(t.Y36(t.SBq),t.Y36(e._0),t.$8M("tabindex"))},S.\u0275dir=t.lG2({type:S,selectors:[["mat-tree-node"]],hostAttrs:[1,"mat-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex"},exportAs:["matTreeNode"],features:[t._Bn([{provide:e.Hs,useExisting:S}]),t.qOj]});class A extends e.rO{}A.\u0275fac=function(){let le;return function(de){return(le||(le=t.n5z(A)))(de||A)}}(),A.\u0275dir=t.lG2({type:A,selectors:[["","matTreeNodeDef",""]],inputs:{when:["matTreeNodeDefWhen","when"],data:["matTreeNode","data"]},features:[t._Bn([{provide:e.rO,useExisting:A}]),t.qOj]});class P extends e.Xx{constructor(ve,de,$,ue){super(ve,de,$),this._disabled=!1,this.tabIndex=Number(ue)||0}get disabled(){return this._disabled}set disabled(ve){this._disabled=(0,E.Ig)(ve)}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(ve){this._tabIndex=ve??0}ngOnInit(){super.ngOnInit()}ngAfterContentInit(){super.ngAfterContentInit()}ngOnDestroy(){super.ngOnDestroy()}}P.\u0275fac=function(ve){return new(ve||P)(t.Y36(t.SBq),t.Y36(e._0),t.Y36(t.ZZ4),t.$8M("tabindex"))},P.\u0275dir=t.lG2({type:P,selectors:[["mat-nested-tree-node"]],hostAttrs:[1,"mat-nested-tree-node"],inputs:{role:"role",disabled:"disabled",tabIndex:"tabIndex",node:["matNestedTreeNode","node"]},exportAs:["matNestedTreeNode"],features:[t._Bn([{provide:e.Xx,useExisting:P},{provide:e.Hs,useExisting:P},{provide:e.HI,useExisting:P}]),t.qOj]});class M extends e.XJ{get level(){return this._level}set level(ve){this._setLevelInput(ve)}get indent(){return this._indent}set indent(ve){this._setIndentInput(ve)}}M.\u0275fac=function(){let le;return function(de){return(le||(le=t.n5z(M)))(de||M)}}(),M.\u0275dir=t.lG2({type:M,selectors:[["","matTreeNodePadding",""]],inputs:{level:["matTreeNodePadding","level"],indent:["matTreeNodePaddingIndent","indent"]},features:[t._Bn([{provide:e.XJ,useExisting:M}]),t.qOj]});class z{constructor(ve,de){this.viewContainer=ve,this._node=de}}z.\u0275fac=function(ve){return new(ve||z)(t.Y36(t.s_b),t.Y36(e.HI,8))},z.\u0275dir=t.lG2({type:z,selectors:[["","matTreeNodeOutlet",""]],features:[t._Bn([{provide:e.cu,useExisting:z}])]});class I extends e._0{}I.\u0275fac=function(){let le;return function(de){return(le||(le=t.n5z(I)))(de||I)}}(),I.\u0275cmp=t.Xpm({type:I,selectors:[["mat-tree"]],viewQuery:function(ve,de){if(1&ve&&t.Gf(z,7),2&ve){let $;t.iGM($=t.CRH())&&(de._nodeOutlet=$.first)}},hostAttrs:["role","tree",1,"mat-tree"],exportAs:["matTree"],features:[t._Bn([{provide:e._0,useExisting:I}]),t.qOj],decls:1,vars:0,consts:[["matTreeNodeOutlet",""]],template:function(ve,de){1&ve&&t.GkF(0,0)},dependencies:[z],styles:[".mat-tree{display:block}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word}.mat-nested-tree-node{border-bottom-width:0}"],encapsulation:2});class W extends e.Ud{}W.\u0275fac=function(){let le;return function(de){return(le||(le=t.n5z(W)))(de||W)}}(),W.\u0275dir=t.lG2({type:W,selectors:[["","matTreeNodeToggle",""]],inputs:{recursive:["matTreeNodeToggleRecursive","recursive"]},features:[t._Bn([{provide:e.Ud,useExisting:W}]),t.qOj]});class j{}j.\u0275fac=function(ve){return new(ve||j)},j.\u0275mod=t.oAB({type:j}),j.\u0275inj=t.cJS({imports:[e.nZ,_.BQ,_.BQ]});class pe extends s.o2{constructor(){super(...arguments),this._data=new D.X([])}get data(){return this._data.value}set data(ve){this._data.next(ve)}connect(ve){return(0,u.T)(ve.viewChange,this._data).pipe((0,k.U)(()=>this.data))}disconnect(){}}},4497:(Ve,X,m)=>{"use strict";m.d(X,{Dx:()=>oe,H7:()=>Je,b2:()=>ee,q6:()=>Le,se:()=>d,t6:()=>Ce});var e=m(4666),t=m(2560);class _ extends e.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class E extends _{static makeCurrent(){(0,e.HT)(new E)}onAndCancel(He,$e,$t){return He.addEventListener($e,$t,!1),()=>{He.removeEventListener($e,$t,!1)}}dispatchEvent(He,$e){He.dispatchEvent($e)}remove(He){He.parentNode&&He.parentNode.removeChild(He)}createElement(He,$e){return($e=$e||this.getDefaultDocument()).createElement(He)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(He){return He.nodeType===Node.ELEMENT_NODE}isShadowRoot(He){return He instanceof DocumentFragment}getGlobalEventTarget(He,$e){return"window"===$e?window:"document"===$e?He:"body"===$e?He.body:null}getBaseHref(He){const $e=function D(){return s=s||document.querySelector("base"),s?s.getAttribute("href"):null}();return null==$e?null:function k(Ht){u=u||document.createElement("a"),u.setAttribute("href",Ht);const He=u.pathname;return"/"===He.charAt(0)?He:`/${He}`}($e)}resetBaseElement(){s=null}getUserAgent(){return window.navigator.userAgent}getCookie(He){return(0,e.Mx)(document.cookie,He)}}let u,s=null;const p=new t.OlP("TRANSITION_ID");const A=[{provide:t.ip1,useFactory:function S(Ht,He,$e){return()=>{$e.get(t.CZH).donePromise.then(()=>{const $t=(0,e.q)(),Rt=He.querySelectorAll(`style[ng-transition="${Ht}"]`);for(let Xt=0;Xt$t.manager=this),this._plugins=He.slice().reverse()}addEventListener(He,$e,$t){return this._findPluginFor($e).addEventListener(He,$e,$t)}addGlobalEventListener(He,$e,$t){return this._findPluginFor($e).addGlobalEventListener(He,$e,$t)}getZone(){return this._zone}_findPluginFor(He){const $e=this._eventNameToPlugin.get(He);if($e)return $e;const $t=this._plugins;for(let Rt=0;Rt<$t.length;Rt++){const Xt=$t[Rt];if(Xt.supports(He))return this._eventNameToPlugin.set(He,Xt),Xt}throw new Error(`No event manager plugin found for event ${He}`)}}I.\u0275fac=function(He){return new(He||I)(t.LFG(z),t.LFG(t.R0b))},I.\u0275prov=t.Yz7({token:I,factory:I.\u0275fac});class W{constructor(He){this._doc=He}addGlobalEventListener(He,$e,$t){const Rt=(0,e.q)().getGlobalEventTarget(this._doc,He);if(!Rt)throw new Error(`Unsupported event target ${Rt} for event ${$e}`);return this.addEventListener(Rt,$e,$t)}}class Z{constructor(){this._stylesSet=new Set}addStyles(He){const $e=new Set;He.forEach($t=>{this._stylesSet.has($t)||(this._stylesSet.add($t),$e.add($t))}),this.onStylesAdded($e)}onStylesAdded(He){}getAllStyles(){return Array.from(this._stylesSet)}}Z.\u0275fac=function(He){return new(He||Z)},Z.\u0275prov=t.Yz7({token:Z,factory:Z.\u0275fac});class j extends Z{constructor(He){super(),this._doc=He,this._hostNodes=new Map,this._hostNodes.set(He.head,[])}_addStylesToHost(He,$e,$t){He.forEach(Rt=>{const Xt=this._doc.createElement("style");Xt.textContent=Rt,$t.push($e.appendChild(Xt))})}addHost(He){const $e=[];this._addStylesToHost(this._stylesSet,He,$e),this._hostNodes.set(He,$e)}removeHost(He){const $e=this._hostNodes.get(He);$e&&$e.forEach(ae),this._hostNodes.delete(He)}onStylesAdded(He){this._hostNodes.forEach(($e,$t)=>{this._addStylesToHost(He,$t,$e)})}ngOnDestroy(){this._hostNodes.forEach(He=>He.forEach(ae))}}function ae(Ht){(0,e.q)().remove(Ht)}j.\u0275fac=function(He){return new(He||j)(t.LFG(e.K0))},j.\u0275prov=t.Yz7({token:j,factory:j.\u0275fac});const re={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},pe=/%COMP%/g,de="_nghost-%COMP%",$="_ngcontent-%COMP%";function n(Ht,He,$e){for(let $t=0;$t{if("__ngUnwrap__"===He)return Ht;!1===Ht(He)&&(He.preventDefault(),He.returnValue=!1)}}class d{constructor(He,$e,$t){this.eventManager=He,this.sharedStylesHost=$e,this.appId=$t,this.rendererByCompId=new Map,this.defaultRenderer=new y(He)}createRenderer(He,$e){if(!He||!$e)return this.defaultRenderer;switch($e.encapsulation){case t.ifc.Emulated:{let $t=this.rendererByCompId.get($e.id);return $t||($t=new a(this.eventManager,this.sharedStylesHost,$e,this.appId),this.rendererByCompId.set($e.id,$t)),$t.applyToHost(He),$t}case 1:case t.ifc.ShadowDom:return new C(this.eventManager,this.sharedStylesHost,He,$e);default:if(!this.rendererByCompId.has($e.id)){const $t=n($e.id,$e.styles,[]);this.sharedStylesHost.addStyles($t),this.rendererByCompId.set($e.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}d.\u0275fac=function(He){return new(He||d)(t.LFG(I),t.LFG(j),t.LFG(t.AFp))},d.\u0275prov=t.Yz7({token:d,factory:d.\u0275fac});class y{constructor(He){this.eventManager=He,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(He,$e){return $e?document.createElementNS(re[$e]||$e,He):document.createElement(He)}createComment(He){return document.createComment(He)}createText(He){return document.createTextNode(He)}appendChild(He,$e){(v(He)?He.content:He).appendChild($e)}insertBefore(He,$e,$t){He&&(v(He)?He.content:He).insertBefore($e,$t)}removeChild(He,$e){He&&He.removeChild($e)}selectRootElement(He,$e){let $t="string"==typeof He?document.querySelector(He):He;if(!$t)throw new Error(`The selector "${He}" did not match any elements`);return $e||($t.textContent=""),$t}parentNode(He){return He.parentNode}nextSibling(He){return He.nextSibling}setAttribute(He,$e,$t,Rt){if(Rt){$e=Rt+":"+$e;const Xt=re[Rt];Xt?He.setAttributeNS(Xt,$e,$t):He.setAttribute($e,$t)}else He.setAttribute($e,$t)}removeAttribute(He,$e,$t){if($t){const Rt=re[$t];Rt?He.removeAttributeNS(Rt,$e):He.removeAttribute(`${$t}:${$e}`)}else He.removeAttribute($e)}addClass(He,$e){He.classList.add($e)}removeClass(He,$e){He.classList.remove($e)}setStyle(He,$e,$t,Rt){Rt&(t.JOm.DashCase|t.JOm.Important)?He.style.setProperty($e,$t,Rt&t.JOm.Important?"important":""):He.style[$e]=$t}removeStyle(He,$e,$t){$t&t.JOm.DashCase?He.style.removeProperty($e):He.style[$e]=""}setProperty(He,$e,$t){He[$e]=$t}setValue(He,$e){He.nodeValue=$e}listen(He,$e,$t){return"string"==typeof He?this.eventManager.addGlobalEventListener(He,$e,o($t)):this.eventManager.addEventListener(He,$e,o($t))}}"@".charCodeAt(0);function v(Ht){return"TEMPLATE"===Ht.tagName&&void 0!==Ht.content}class a extends y{constructor(He,$e,$t,Rt){super(He),this.component=$t;const Xt=n(Rt+"-"+$t.id,$t.styles,[]);$e.addStyles(Xt),this.contentAttr=function ue(Ht){return $.replace(pe,Ht)}(Rt+"-"+$t.id),this.hostAttr=function w(Ht){return de.replace(pe,Ht)}(Rt+"-"+$t.id)}applyToHost(He){super.setAttribute(He,this.hostAttr,"")}createElement(He,$e){const $t=super.createElement(He,$e);return super.setAttribute($t,this.contentAttr,""),$t}}class C extends y{constructor(He,$e,$t,Rt){super(He),this.sharedStylesHost=$e,this.hostEl=$t,this.shadowRoot=$t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const Xt=n(Rt.id,Rt.styles,[]);for(let Vn=0;Vnthis.removeEventListener(He,$e,$t)}removeEventListener(He,$e,$t){return He.removeEventListener($e,$t)}}N.\u0275fac=function(He){return new(He||N)(t.LFG(e.K0))},N.\u0275prov=t.Yz7({token:N,factory:N.\u0275fac});const F=["alt","control","meta","shift"],J={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Fe={alt:Ht=>Ht.altKey,control:Ht=>Ht.ctrlKey,meta:Ht=>Ht.metaKey,shift:Ht=>Ht.shiftKey};class ke extends W{constructor(He){super(He)}supports(He){return null!=ke.parseEventName(He)}addEventListener(He,$e,$t){const Rt=ke.parseEventName($e),Xt=ke.eventCallback(Rt.fullKey,$t,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,e.q)().onAndCancel(He,Rt.domEventName,Xt))}static parseEventName(He){const $e=He.toLowerCase().split("."),$t=$e.shift();if(0===$e.length||"keydown"!==$t&&"keyup"!==$t)return null;const Rt=ke._normalizeKey($e.pop());let Xt="",Vn=$e.indexOf("code");if(Vn>-1&&($e.splice(Vn,1),Xt="code."),F.forEach(Tn=>{const Yn=$e.indexOf(Tn);Yn>-1&&($e.splice(Yn,1),Xt+=Tn+".")}),Xt+=Rt,0!=$e.length||0===Rt.length)return null;const zn={};return zn.domEventName=$t,zn.fullKey=Xt,zn}static matchEventFullKeyCode(He,$e){let $t=J[He.key]||He.key,Rt="";return $e.indexOf("code.")>-1&&($t=He.code,Rt="code."),!(null==$t||!$t)&&($t=$t.toLowerCase()," "===$t?$t="space":"."===$t&&($t="dot"),F.forEach(Xt=>{if(Xt!==$t){(0,Fe[Xt])(He)&&(Rt+=Xt+".")}}),Rt+=$t,Rt===$e)}static eventCallback(He,$e,$t){return Rt=>{ke.matchEventFullKeyCode(Rt,He)&&$t.runGuarded(()=>$e(Rt))}}static _normalizeKey(He){return"esc"===He?"escape":He}}ke.\u0275fac=function(He){return new(He||ke)(t.LFG(e.K0))},ke.\u0275prov=t.Yz7({token:ke,factory:ke.\u0275fac});const ut=[{provide:t.Lbi,useValue:e.bD},{provide:t.g9A,useValue:function Ie(){E.makeCurrent()},multi:!0},{provide:e.K0,useFactory:function et(){return(0,t.RDi)(document),document},deps:[]}],Le=(0,t.eFA)(t._c5,"browser",ut),De=new t.OlP(""),ne=[{provide:t.rWj,useClass:class P{addToWindow(He){t.dqk.getAngularTestability=($t,Rt=!0)=>{const Xt=He.findTestabilityInTree($t,Rt);if(null==Xt)throw new Error("Could not find testability for element.");return Xt},t.dqk.getAllAngularTestabilities=()=>He.getAllTestabilities(),t.dqk.getAllAngularRootElements=()=>He.getAllRootElements();t.dqk.frameworkStabilizers||(t.dqk.frameworkStabilizers=[]),t.dqk.frameworkStabilizers.push($t=>{const Rt=t.dqk.getAllAngularTestabilities();let Xt=Rt.length,Vn=!1;const zn=function(Tn){Vn=Vn||Tn,Xt--,0==Xt&&$t(Vn)};Rt.forEach(function(Tn){Tn.whenStable(zn)})})}findTestabilityInTree(He,$e,$t){if(null==$e)return null;return He.getTestability($e)??($t?(0,e.q)().isShadowRoot($e)?this.findTestabilityInTree(He,$e.host,!0):this.findTestabilityInTree(He,$e.parentElement,!0):null)}},deps:[]},{provide:t.lri,useClass:t.dDg,deps:[t.R0b,t.eoX,t.rWj]},{provide:t.dDg,useClass:t.dDg,deps:[t.R0b,t.eoX,t.rWj]}],fe=[{provide:t.zSh,useValue:"root"},{provide:t.qLn,useFactory:function ge(){return new t.qLn},deps:[]},{provide:z,useClass:N,multi:!0,deps:[e.K0,t.R0b,t.Lbi]},{provide:z,useClass:ke,multi:!0,deps:[e.K0]},{provide:d,useClass:d,deps:[I,j,t.AFp]},{provide:t.FYo,useExisting:d},{provide:Z,useExisting:j},{provide:j,useClass:j,deps:[e.K0]},{provide:I,useClass:I,deps:[z,t.R0b]},{provide:e.JF,useClass:M,deps:[]},[]];class ee{constructor(He){false}static withServerTransition(He){return{ngModule:ee,providers:[{provide:t.AFp,useValue:He.appId},{provide:p,useExisting:t.AFp},A]}}}ee.\u0275fac=function(He){return new(He||ee)(t.LFG(De,12))},ee.\u0275mod=t.oAB({type:ee}),ee.\u0275inj=t.cJS({providers:[...fe,...ne],imports:[e.ez,t.hGG]});class q{constructor(He){this._doc=He,this._dom=(0,e.q)()}addTag(He,$e=!1){return He?this._getOrCreateElement(He,$e):null}addTags(He,$e=!1){return He?He.reduce(($t,Rt)=>(Rt&&$t.push(this._getOrCreateElement(Rt,$e)),$t),[]):[]}getTag(He){return He&&this._doc.querySelector(`meta[${He}]`)||null}getTags(He){if(!He)return[];const $e=this._doc.querySelectorAll(`meta[${He}]`);return $e?[].slice.call($e):[]}updateTag(He,$e){if(!He)return null;$e=$e||this._parseSelector(He);const $t=this.getTag($e);return $t?this._setMetaElementAttributes(He,$t):this._getOrCreateElement(He,!0)}removeTag(He){this.removeTagElement(this.getTag(He))}removeTagElement(He){He&&this._dom.remove(He)}_getOrCreateElement(He,$e=!1){if(!$e){const Xt=this._parseSelector(He),Vn=this.getTags(Xt).filter(zn=>this._containsAttributes(He,zn))[0];if(void 0!==Vn)return Vn}const $t=this._dom.createElement("meta");return this._setMetaElementAttributes(He,$t),this._doc.getElementsByTagName("head")[0].appendChild($t),$t}_setMetaElementAttributes(He,$e){return Object.keys(He).forEach($t=>$e.setAttribute(this._getMetaKeyMap($t),He[$t])),$e}_parseSelector(He){const $e=He.name?"name":"property";return`${$e}="${He[$e]}"`}_containsAttributes(He,$e){return Object.keys(He).every($t=>$e.getAttribute(this._getMetaKeyMap($t))===He[$t])}_getMetaKeyMap(He){return Oe[He]||He}}q.\u0275fac=function(He){return new(He||q)(t.LFG(e.K0))},q.\u0275prov=t.Yz7({token:q,factory:function(He){let $e=null;return $e=He?new He:function H(){return new q((0,t.LFG)(e.K0))}(),$e},providedIn:"root"});const Oe={httpEquiv:"http-equiv"};class oe{constructor(He){this._doc=He}getTitle(){return this._doc.title}setTitle(He){this._doc.title=He||""}}oe.\u0275fac=function(He){return new(He||oe)(t.LFG(e.K0))},oe.\u0275prov=t.Yz7({token:oe,factory:function(He){let $e=null;return $e=He?new He:function Re(){return new oe((0,t.LFG)(e.K0))}(),$e},providedIn:"root"});typeof window<"u"&&window;class At{constructor(){this.store={},this.onSerializeCallbacks={}}get(He,$e){return void 0!==this.store[He]?this.store[He]:$e}set(He,$e){this.store[He]=$e}remove(He){delete this.store[He]}hasKey(He){return this.store.hasOwnProperty(He)}get isEmpty(){return 0===Object.keys(this.store).length}onSerialize(He,$e){this.onSerializeCallbacks[He]=$e}toJson(){for(const He in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(He))try{this.store[He]=this.onSerializeCallbacks[He]()}catch($e){console.warn("Exception in onSerialize callback: ",$e)}return JSON.stringify(this.store)}}At.\u0275fac=function(He){return new(He||At)},At.\u0275prov=t.Yz7({token:At,factory:function(){return(()=>{const Ht=(0,t.f3M)(e.K0),He=(0,t.f3M)(t.AFp),$e=new At;return $e.store=function we(Ht,He){const $e=Ht.getElementById(He+"-state");let $t={};if($e&&$e.textContent)try{$t=JSON.parse(function nt(Ht){const He={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"};return Ht.replace(/&[^;]+;/g,$e=>He[$e])}($e.textContent))}catch(Rt){console.warn("Exception while restoring TransferState for app "+He,Rt)}return $t}(Ht,He),$e})()},providedIn:"root"});class Y{}Y.\u0275fac=function(He){return new(He||Y)},Y.\u0275mod=t.oAB({type:Y}),Y.\u0275inj=t.cJS({});const ze={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},_t=new t.OlP("HammerGestureConfig"),ct=new t.OlP("HammerLoader");class Ue{constructor(){this.events=[],this.overrides={}}buildHammer(He){const $e=new Hammer(He,this.options);$e.get("pinch").set({enable:!0}),$e.get("rotate").set({enable:!0});for(const $t in this.overrides)$e.get($t).set(this.overrides[$t]);return $e}}Ue.\u0275fac=function(He){return new(He||Ue)},Ue.\u0275prov=t.Yz7({token:Ue,factory:Ue.\u0275fac});class Me extends W{constructor(He,$e,$t,Rt){super(He),this._config=$e,this.console=$t,this.loader=Rt,this._loaderPromise=null}supports(He){return!(!ze.hasOwnProperty(He.toLowerCase())&&!this.isCustomEvent(He)||!window.Hammer&&!this.loader)}addEventListener(He,$e,$t){const Rt=this.manager.getZone();if($e=$e.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||Rt.runOutsideAngular(()=>this.loader());let Xt=!1,Vn=()=>{Xt=!0};return Rt.runOutsideAngular(()=>this._loaderPromise.then(()=>{window.Hammer?Xt||(Vn=this.addEventListener(He,$e,$t)):Vn=()=>{}}).catch(()=>{Vn=()=>{}})),()=>{Vn()}}return Rt.runOutsideAngular(()=>{const Xt=this._config.buildHammer(He),Vn=function(zn){Rt.runGuarded(function(){$t(zn)})};return Xt.on($e,Vn),()=>{Xt.off($e,Vn),"function"==typeof Xt.destroy&&Xt.destroy()}})}isCustomEvent(He){return this._config.events.indexOf(He)>-1}}Me.\u0275fac=function(He){return new(He||Me)(t.LFG(e.K0),t.LFG(_t),t.LFG(t.c2e),t.LFG(ct,8))},Me.\u0275prov=t.Yz7({token:Me,factory:Me.\u0275fac});class Ce{}Ce.\u0275fac=function(He){return new(He||Ce)},Ce.\u0275mod=t.oAB({type:Ce}),Ce.\u0275inj=t.cJS({providers:[{provide:z,useClass:Me,multi:!0,deps:[e.K0,_t,t.c2e,[new t.FiY,ct]]},{provide:_t,useClass:Ue,deps:[]}]});class Je{}Je.\u0275fac=function(He){return new(He||Je)},Je.\u0275prov=t.Yz7({token:Je,factory:function(He){let $e=null;return $e=He?new(He||Je):t.LFG(Dt),$e},providedIn:"root"});class Dt extends Je{constructor(He){super(),this._doc=He}sanitize(He,$e){if(null==$e)return null;switch(He){case t.q3G.NONE:return $e;case t.q3G.HTML:return(0,t.qzn)($e,"HTML")?(0,t.z3N)($e):(0,t.EiD)(this._doc,String($e)).toString();case t.q3G.STYLE:return(0,t.qzn)($e,"Style")?(0,t.z3N)($e):$e;case t.q3G.SCRIPT:if((0,t.qzn)($e,"Script"))return(0,t.z3N)($e);throw new Error("unsafe value used in a script context");case t.q3G.URL:return(0,t.qzn)($e,"URL")?(0,t.z3N)($e):(0,t.mCW)(String($e));case t.q3G.RESOURCE_URL:if((0,t.qzn)($e,"ResourceURL"))return(0,t.z3N)($e);throw new Error(`unsafe value used in a resource URL context (see ${t.JZr})`);default:throw new Error(`Unexpected SecurityContext ${He} (see ${t.JZr})`)}}bypassSecurityTrustHtml(He){return(0,t.JVY)(He)}bypassSecurityTrustStyle(He){return(0,t.L6k)(He)}bypassSecurityTrustScript(He){return(0,t.eBb)(He)}bypassSecurityTrustUrl(He){return(0,t.LAX)(He)}bypassSecurityTrustResourceUrl(He){return(0,t.pB0)(He)}}Dt.\u0275fac=function(He){return new(He||Dt)(t.LFG(e.K0))},Dt.\u0275prov=t.Yz7({token:Dt,factory:function(He){let $e=null;return $e=He?new He:function Ut(Ht){return new Dt(Ht.get(e.K0))}(t.LFG(t.zs3)),$e},providedIn:"root"});new t.GfV("15.0.2")},3547:(Ve,X,m)=>{"use strict";m.d(X,{gz:()=>Ha,gk:()=>gn,m2:()=>en,Q3:()=>Qn,OD:()=>hn,Av:()=>Zi,F0:()=>Dr,rH:()=>fl,Od:()=>pl,Bz:()=>Rs,lC:()=>Or});var e=m(2560),t=m(7400),_=m(745),E=m(6317),s=m(4423),D=m(6562),u=m(9319),k=m(1954),p=m(629),S=m(5474),A=m(833),P=m(591),M=m(3932),z=m(253),I=m(4666),W=m(635),Z=m(2673),j=m(9295),ae=m(4874),re=m(116),pe=m(9525),le=m(155),ve=m(3853),de=m(9337),$=m(3158),ue=m(4351),w=m(1944),n=m(3945);function o(Te){return Te<=0?()=>P.E:(0,w.e)((ie,Ee)=>{let qe=[];ie.subscribe((0,n.x)(Ee,at=>{qe.push(at),Te{for(const at of qe)Ee.next(at);Ee.complete()},void 0,()=>{qe=null}))})}var h=m(7354),d=m(4744),y=m(9173);function L(Te,ie){const Ee=arguments.length>=2;return qe=>qe.pipe(Te?(0,re.h)((at,mt)=>Te(at,mt,qe)):y.y,o(1),Ee?(0,d.d)(ie):(0,h.T)(()=>new s.K))}var B=m(2566),v=m(73),a=m(2313),C=m(6074),N=m(1308),F=m(4497);const J="primary",Fe=Symbol("RouteTitle");class ke{constructor(ie){this.params=ie||{}}has(ie){return Object.prototype.hasOwnProperty.call(this.params,ie)}get(ie){if(this.has(ie)){const Ee=this.params[ie];return Array.isArray(Ee)?Ee[0]:Ee}return null}getAll(ie){if(this.has(ie)){const Ee=this.params[ie];return Array.isArray(Ee)?Ee:[Ee]}return[]}get keys(){return Object.keys(this.params)}}function Ge(Te){return new ke(Te)}function je(Te,ie,Ee){const qe=Ee.path.split("/");if(qe.length>Te.length||"full"===Ee.pathMatch&&(ie.hasChildren()||qe.lengthqe[mt]===at)}return Te===ie}function Ie(Te){return Array.prototype.concat.apply([],Te)}function ge(Te){return Te.length>0?Te[Te.length-1]:null}function ut(Te,ie){for(const Ee in Te)Te.hasOwnProperty(Ee)&&ie(Te[Ee],Ee)}function Le(Te){return(0,e.CqO)(Te)?Te:(0,e.QGY)(Te)?(0,t.D)(Promise.resolve(Te)):(0,_.of)(Te)}const De=!1,ne={exact:function q(Te,ie,Ee){if(!zt(Te.segments,ie.segments)||!pt(Te.segments,ie.segments,Ee)||Te.numberOfChildren!==ie.numberOfChildren)return!1;for(const qe in ie.children)if(!Te.children[qe]||!q(Te.children[qe],ie.children[qe],Ee))return!1;return!0},subset:Re},fe={exact:function H(Te,ie){return be(Te,ie)},subset:function Oe(Te,ie){return Object.keys(ie).length<=Object.keys(Te).length&&Object.keys(ie).every(Ee=>Ye(Te[Ee],ie[Ee]))},ignored:()=>!0};function ee(Te,ie,Ee){return ne[Ee.paths](Te.root,ie.root,Ee.matrixParams)&&fe[Ee.queryParams](Te.queryParams,ie.queryParams)&&!("exact"===Ee.fragment&&Te.fragment!==ie.fragment)}function Re(Te,ie,Ee){return oe(Te,ie,ie.segments,Ee)}function oe(Te,ie,Ee,qe){if(Te.segments.length>Ee.length){const at=Te.segments.slice(0,Ee.length);return!(!zt(at,Ee)||ie.hasChildren()||!pt(at,Ee,qe))}if(Te.segments.length===Ee.length){if(!zt(Te.segments,Ee)||!pt(Te.segments,Ee,qe))return!1;for(const at in ie.children)if(!Te.children[at]||!Re(Te.children[at],ie.children[at],qe))return!1;return!0}{const at=Ee.slice(0,Te.segments.length),mt=Ee.slice(Te.segments.length);return!!(zt(Te.segments,at)&&pt(Te.segments,at,qe)&&Te.children[J])&&oe(Te.children[J],ie,mt,qe)}}function pt(Te,ie,Ee){return ie.every((qe,at)=>fe[Ee](Te[at].parameters,qe.parameters))}class it{constructor(ie=new Ct([],{}),Ee={},qe=null){this.root=ie,this.queryParams=Ee,this.fragment=qe,De}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ge(this.queryParams)),this._queryParamMap}toString(){return In.serialize(this)}}class Ct{constructor(ie,Ee){this.segments=ie,this.children=Ee,this.parent=null,ut(Ee,(qe,at)=>qe.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return an(this)}}class un{constructor(ie,Ee){this.path=ie,this.parameters=Ee}get parameterMap(){return this._parameterMap||(this._parameterMap=Ge(this.parameters)),this._parameterMap}toString(){return te(this)}}function zt(Te,ie){return Te.length===ie.length&&Te.every((Ee,qe)=>Ee.path===ie[qe].path)}class Jt{}Jt.\u0275fac=function(ie){return new(ie||Jt)},Jt.\u0275prov=e.Yz7({token:Jt,factory:function(){return new Gt},providedIn:"root"});class Gt{parse(ie){const Ee=new Ut(ie);return new it(Ee.parseRootSegment(),Ee.parseQueryParams(),Ee.parseFragment())}serialize(ie){const Ee=`/${tn(ie.root,!0)}`,qe=function ze(Te){const ie=Object.keys(Te).map(Ee=>{const qe=Te[Ee];return Array.isArray(qe)?qe.map(at=>`${nt(Ee)}=${nt(at)}`).join("&"):`${nt(Ee)}=${nt(qe)}`}).filter(Ee=>!!Ee);return ie.length?`?${ie.join("&")}`:""}(ie.queryParams);return`${Ee}${qe}${"string"==typeof ie.fragment?`#${function gt(Te){return encodeURI(Te)}(ie.fragment)}`:""}`}}const In=new Gt;function an(Te){return Te.segments.map(ie=>te(ie)).join("/")}function tn(Te,ie){if(!Te.hasChildren())return an(Te);if(ie){const Ee=Te.children[J]?tn(Te.children[J],!1):"",qe=[];return ut(Te.children,(at,mt)=>{mt!==J&&qe.push(`${mt}:${tn(at,!1)}`)}),qe.length>0?`${Ee}(${qe.join("//")})`:Ee}{const Ee=function yn(Te,ie){let Ee=[];return ut(Te.children,(qe,at)=>{at===J&&(Ee=Ee.concat(ie(qe,at)))}),ut(Te.children,(qe,at)=>{at!==J&&(Ee=Ee.concat(ie(qe,at)))}),Ee}(Te,(qe,at)=>at===J?[tn(Te.children[J],!1)]:[`${at}:${tn(qe,!1)}`]);return 1===Object.keys(Te.children).length&&null!=Te.children[J]?`${an(Te)}/${Ee[0]}`:`${an(Te)}/(${Ee.join("//")})`}}function pn(Te){return encodeURIComponent(Te).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nt(Te){return pn(Te).replace(/%3B/gi,";")}function At(Te){return pn(Te).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function we(Te){return decodeURIComponent(Te)}function Y(Te){return we(Te.replace(/\+/g,"%20"))}function te(Te){return`${At(Te.path)}${function xe(Te){return Object.keys(Te).map(ie=>`;${At(ie)}=${At(Te[ie])}`).join("")}(Te.parameters)}`}const _t=/^[^\/()?;=#]+/;function ct(Te){const ie=Te.match(_t);return ie?ie[0]:""}const Ue=/^[^=?&#]+/;const Ce=/^[^&#]+/;class Ut{constructor(ie){this.url=ie,this.remaining=ie}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ct([],{}):new Ct([],this.parseChildren())}parseQueryParams(){const ie={};if(this.consumeOptional("?"))do{this.parseQueryParam(ie)}while(this.consumeOptional("&"));return ie}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const ie=[];for(this.peekStartsWith("(")||ie.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),ie.push(this.parseSegment());let Ee={};this.peekStartsWith("/(")&&(this.capture("/"),Ee=this.parseParens(!0));let qe={};return this.peekStartsWith("(")&&(qe=this.parseParens(!1)),(ie.length>0||Object.keys(Ee).length>0)&&(qe[J]=new Ct(ie,Ee)),qe}parseSegment(){const ie=ct(this.remaining);if(""===ie&&this.peekStartsWith(";"))throw new e.vHH(4009,De);return this.capture(ie),new un(we(ie),this.parseMatrixParams())}parseMatrixParams(){const ie={};for(;this.consumeOptional(";");)this.parseParam(ie);return ie}parseParam(ie){const Ee=ct(this.remaining);if(!Ee)return;this.capture(Ee);let qe="";if(this.consumeOptional("=")){const at=ct(this.remaining);at&&(qe=at,this.capture(qe))}ie[we(Ee)]=we(qe)}parseQueryParam(ie){const Ee=function Me(Te){const ie=Te.match(Ue);return ie?ie[0]:""}(this.remaining);if(!Ee)return;this.capture(Ee);let qe="";if(this.consumeOptional("=")){const Wt=function Je(Te){const ie=Te.match(Ce);return ie?ie[0]:""}(this.remaining);Wt&&(qe=Wt,this.capture(qe))}const at=Y(Ee),mt=Y(qe);if(ie.hasOwnProperty(at)){let Wt=ie[at];Array.isArray(Wt)||(Wt=[Wt],ie[at]=Wt),Wt.push(mt)}else ie[at]=mt}parseParens(ie){const Ee={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const qe=ct(this.remaining),at=this.remaining[qe.length];if("/"!==at&&")"!==at&&";"!==at)throw new e.vHH(4010,De);let mt;qe.indexOf(":")>-1?(mt=qe.slice(0,qe.indexOf(":")),this.capture(mt),this.capture(":")):ie&&(mt=J);const Wt=this.parseChildren();Ee[mt]=1===Object.keys(Wt).length?Wt[J]:new Ct([],Wt),this.consumeOptional("//")}return Ee}peekStartsWith(ie){return this.remaining.startsWith(ie)}consumeOptional(ie){return!!this.peekStartsWith(ie)&&(this.remaining=this.remaining.substring(ie.length),!0)}capture(ie){if(!this.consumeOptional(ie))throw new e.vHH(4011,De)}}function Dt(Te){return Te.segments.length>0?new Ct([],{[J]:Te}):Te}function Tt(Te){const ie={};for(const qe of Object.keys(Te.children)){const mt=Tt(Te.children[qe]);(mt.segments.length>0||mt.hasChildren())&&(ie[qe]=mt)}return function Ht(Te){if(1===Te.numberOfChildren&&Te.children[J]){const ie=Te.children[J];return new Ct(Te.segments.concat(ie.segments),ie.children)}return Te}(new Ct(Te.segments,ie))}function He(Te){return Te instanceof it}function Vn(Te,ie,Ee,qe,at){if(0===Ee.length)return Yn(ie.root,ie.root,ie.root,qe,at);const mt=Be(Ee);if(mt.toRoot())return Yn(ie.root,ie.root,new Ct([],{}),qe,at);return function Wt(Dn){const Rn=function Ae(Te,ie,Ee,qe){if(Te.isAbsolute)return new ht(ie.root,!0,0);if(-1===qe){const Wt=Ee===ie.root;return new ht(Ee,Wt,0)}const at=zn(Te.commands[0])?0:1;return ft(Ee,qe+at,Te.numberOfDoubleDots)}(mt,ie,Te.snapshot?._urlSegment,Dn),di=Rn.processChildren?Bn(Rn.segmentGroup,Rn.index,mt.commands):nn(Rn.segmentGroup,Rn.index,mt.commands);return Yn(ie.root,Rn.segmentGroup,di,qe,at)}(Te.snapshot?._lastPathIndex)}function zn(Te){return"object"==typeof Te&&null!=Te&&!Te.outlets&&!Te.segmentPath}function Tn(Te){return"object"==typeof Te&&null!=Te&&Te.outlets}function Yn(Te,ie,Ee,qe,at){let Wt,mt={};qe&&ut(qe,(Dn,Rn)=>{mt[Rn]=Array.isArray(Dn)?Dn.map(di=>`${di}`):`${Dn}`}),Wt=Te===ie?Ee:Mt(Te,ie,Ee);const mn=Dt(Tt(Wt));return new it(mn,mt,at)}function Mt(Te,ie,Ee){const qe={};return ut(Te.children,(at,mt)=>{qe[mt]=at===ie?Ee:Mt(at,ie,Ee)}),new Ct(Te.segments,qe)}class Ze{constructor(ie,Ee,qe){if(this.isAbsolute=ie,this.numberOfDoubleDots=Ee,this.commands=qe,ie&&qe.length>0&&zn(qe[0]))throw new e.vHH(4003,false);const at=qe.find(Tn);if(at&&at!==ge(qe))throw new e.vHH(4004,false)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}function Be(Te){if("string"==typeof Te[0]&&1===Te.length&&"/"===Te[0])return new Ze(!0,0,Te);let ie=0,Ee=!1;const qe=Te.reduce((at,mt,Wt)=>{if("object"==typeof mt&&null!=mt){if(mt.outlets){const mn={};return ut(mt.outlets,(Dn,Rn)=>{mn[Rn]="string"==typeof Dn?Dn.split("/"):Dn}),[...at,{outlets:mn}]}if(mt.segmentPath)return[...at,mt.segmentPath]}return"string"!=typeof mt?[...at,mt]:0===Wt?(mt.split("/").forEach((mn,Dn)=>{0==Dn&&"."===mn||(0==Dn&&""===mn?Ee=!0:".."===mn?ie++:""!=mn&&at.push(mn))}),at):[...at,mt]},[]);return new Ze(Ee,ie,qe)}class ht{constructor(ie,Ee,qe){this.segmentGroup=ie,this.processChildren=Ee,this.index=qe}}function ft(Te,ie,Ee){let qe=Te,at=ie,mt=Ee;for(;mt>at;){if(mt-=at,qe=qe.parent,!qe)throw new e.vHH(4005,false);at=qe.segments.length}return new ht(qe,!1,at-mt)}function nn(Te,ie,Ee){if(Te||(Te=new Ct([],{})),0===Te.segments.length&&Te.hasChildren())return Bn(Te,ie,Ee);const qe=function Wn(Te,ie,Ee){let qe=0,at=ie;const mt={match:!1,pathIndex:0,commandIndex:0};for(;at=Ee.length)return mt;const Wt=Te.segments[at],mn=Ee[qe];if(Tn(mn))break;const Dn=`${mn}`,Rn=qe0&&void 0===Dn)break;if(Dn&&Rn&&"object"==typeof Rn&&void 0===Rn.outlets){if(!ai(Dn,Rn,Wt))return mt;qe+=2}else{if(!ai(Dn,{},Wt))return mt;qe++}at++}return{match:!0,pathIndex:at,commandIndex:qe}}(Te,ie,Ee),at=Ee.slice(qe.commandIndex);if(qe.match&&qe.pathIndex{"string"==typeof mt&&(mt=[mt]),null!==mt&&(at[Wt]=nn(Te.children[Wt],ie,mt))}),ut(Te.children,(mt,Wt)=>{void 0===qe[Wt]&&(at[Wt]=mt)}),new Ct(Te.segments,at)}}function ti(Te,ie,Ee){const qe=Te.segments.slice(0,ie);let at=0;for(;at{"string"==typeof Ee&&(Ee=[Ee]),null!==Ee&&(ie[qe]=ti(new Ct([],{}),0,Ee))}),ie}function Ln(Te){const ie={};return ut(Te,(Ee,qe)=>ie[qe]=`${Ee}`),ie}function ai(Te,ie,Ee){return Te==Ee.path&&be(ie,Ee.parameters)}class rn{constructor(ie,Ee){this.id=ie,this.url=Ee}}class hn extends rn{constructor(ie,Ee,qe="imperative",at=null){super(ie,Ee),this.type=0,this.navigationTrigger=qe,this.restoredState=at}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class en extends rn{constructor(ie,Ee,qe){super(ie,Ee),this.urlAfterRedirects=qe,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class gn extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.reason=qe,this.code=at,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Qn extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.error=qe,this.target=at,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class Ei extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ha extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class mi extends rn{constructor(ie,Ee,qe,at,mt){super(ie,Ee),this.urlAfterRedirects=qe,this.state=at,this.shouldActivate=mt,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class qi extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Zi extends rn{constructor(ie,Ee,qe,at){super(ie,Ee),this.urlAfterRedirects=qe,this.state=at,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Za{constructor(ie){this.route=ie,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class mr{constructor(ie){this.route=ie,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class It{constructor(ie){this.snapshot=ie,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Ft{constructor(ie){this.snapshot=ie,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class ln{constructor(ie){this.snapshot=ie,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class En{constructor(ie){this.snapshot=ie,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class qn{constructor(ie,Ee,qe){this.routerEvent=ie,this.position=Ee,this.anchor=qe,this.type=15}toString(){const ie=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${ie}')`}}class li{constructor(ie){this._root=ie}get root(){return this._root.value}parent(ie){const Ee=this.pathFromRoot(ie);return Ee.length>1?Ee[Ee.length-2]:null}children(ie){const Ee=aa(ie,this._root);return Ee?Ee.children.map(qe=>qe.value):[]}firstChild(ie){const Ee=aa(ie,this._root);return Ee&&Ee.children.length>0?Ee.children[0].value:null}siblings(ie){const Ee=Ii(ie,this._root);return Ee.length<2?[]:Ee[Ee.length-2].children.map(at=>at.value).filter(at=>at!==ie)}pathFromRoot(ie){return Ii(ie,this._root).map(Ee=>Ee.value)}}function aa(Te,ie){if(Te===ie.value)return ie;for(const Ee of ie.children){const qe=aa(Te,Ee);if(qe)return qe}return null}function Ii(Te,ie){if(Te===ie.value)return[ie];for(const Ee of ie.children){const qe=Ii(Te,Ee);if(qe.length)return qe.unshift(ie),qe}return[]}class ea{constructor(ie,Ee){this.value=ie,this.children=Ee}toString(){return`TreeNode(${this.value})`}}function Di(Te){const ie={};return Te&&Te.children.forEach(Ee=>ie[Ee.value.outlet]=Ee),ie}class Ji extends li{constructor(ie,Ee){super(ie),this.snapshot=Ee,fa(this,ie)}toString(){return this.snapshot.toString()}}function ka(Te,ie){const Ee=function Yi(Te,ie){const Wt=new gr([],{},{},"",{},J,ie,null,Te.root,-1,{});return new Sa("",new ea(Wt,[]))}(Te,ie),qe=new E.X([new un("",{})]),at=new E.X({}),mt=new E.X({}),Wt=new E.X({}),mn=new E.X(""),Dn=new Ha(qe,at,Wt,mn,mt,J,ie,Ee.root);return Dn.snapshot=Ee.root,new Ji(new ea(Dn,[]),Ee)}class Ha{constructor(ie,Ee,qe,at,mt,Wt,mn,Dn){this.url=ie,this.params=Ee,this.queryParams=qe,this.fragment=at,this.data=mt,this.outlet=Wt,this.component=mn,this.title=this.data?.pipe((0,W.U)(Rn=>Rn[Fe]))??(0,_.of)(void 0),this._futureSnapshot=Dn}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe((0,W.U)(ie=>Ge(ie)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe((0,W.U)(ie=>Ge(ie)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Hi(Te,ie="emptyOnly"){const Ee=Te.pathFromRoot;let qe=0;if("always"!==ie)for(qe=Ee.length-1;qe>=1;){const at=Ee[qe],mt=Ee[qe-1];if(at.routeConfig&&""===at.routeConfig.path)qe--;else{if(mt.component)break;qe--}}return function La(Te){return Te.reduce((ie,Ee)=>({params:{...ie.params,...Ee.params},data:{...ie.data,...Ee.data},resolve:{...Ee.data,...ie.resolve,...Ee.routeConfig?.data,...Ee._resolvedData}}),{params:{},data:{},resolve:{}})}(Ee.slice(qe))}class gr{constructor(ie,Ee,qe,at,mt,Wt,mn,Dn,Rn,di,ta){this.url=ie,this.params=Ee,this.queryParams=qe,this.fragment=at,this.data=mt,this.outlet=Wt,this.component=mn,this.routeConfig=Dn,this._urlSegment=Rn,this._lastPathIndex=di,this._resolve=ta}get title(){return this.data?.[Fe]}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=Ge(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Ge(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(qe=>qe.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Sa extends li{constructor(ie,Ee){super(Ee),this.url=ie,fa(this,Ee)}toString(){return Ki(this._root)}}function fa(Te,ie){ie.value._routerState=Te,ie.children.forEach(Ee=>fa(Te,Ee))}function Ki(Te){const ie=Te.children.length>0?` { ${Te.children.map(Ki).join(", ")} } `:"";return`${Te.value}${ie}`}function xa(Te){if(Te.snapshot){const ie=Te.snapshot,Ee=Te._futureSnapshot;Te.snapshot=Ee,be(ie.queryParams,Ee.queryParams)||Te.queryParams.next(Ee.queryParams),ie.fragment!==Ee.fragment&&Te.fragment.next(Ee.fragment),be(ie.params,Ee.params)||Te.params.next(Ee.params),function We(Te,ie){if(Te.length!==ie.length)return!1;for(let Ee=0;Eebe(Ee.parameters,ie[qe].parameters))}(Te.url,ie.url),qe=!Te.parent!=!ie.parent;return Ee&&!qe&&(!Te.parent||ra(Te.parent,ie.parent))}function za(Te,ie,Ee){if(Ee&&Te.shouldReuseRoute(ie.value,Ee.value.snapshot)){const qe=Ee.value;qe._futureSnapshot=ie.value;const at=function js(Te,ie,Ee){return ie.children.map(qe=>{for(const at of Ee.children)if(Te.shouldReuseRoute(qe.value,at.value.snapshot))return za(Te,qe,at);return za(Te,qe)})}(Te,ie,Ee);return new ea(qe,at)}{if(Te.shouldAttach(ie.value)){const mt=Te.retrieve(ie.value);if(null!==mt){const Wt=mt.route;return Wt.value._futureSnapshot=ie.value,Wt.children=ie.children.map(mn=>za(Te,mn)),Wt}}const qe=function is(Te){return new Ha(new E.X(Te.url),new E.X(Te.params),new E.X(Te.queryParams),new E.X(Te.fragment),new E.X(Te.data),Te.outlet,Te.component,Te)}(ie.value),at=ie.children.map(mt=>za(Te,mt));return new ea(qe,at)}}const Qi="ngNavigationCancelingError";function Gr(Te,ie){const{redirectTo:Ee,navigationBehaviorOptions:qe}=He(ie)?{redirectTo:ie,navigationBehaviorOptions:void 0}:ie,at=Ta(!1,0,ie);return at.url=Ee,at.navigationBehaviorOptions=qe,at}function Ta(Te,ie,Ee){const qe=new Error("NavigationCancelingError: "+(Te||""));return qe[Qi]=!0,qe.cancellationCode=ie,Ee&&(qe.url=Ee),qe}function Is(Te){return Ua(Te)&&He(Te.url)}function Ua(Te){return Te&&Te[Qi]}class Ls{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Ca,this.attachRef=null}}class Ca{constructor(){this.contexts=new Map}onChildOutletCreated(ie,Ee){const qe=this.getOrCreateContext(ie);qe.outlet=Ee,this.contexts.set(ie,qe)}onChildOutletDestroyed(ie){const Ee=this.getContext(ie);Ee&&(Ee.outlet=null,Ee.attachRef=null)}onOutletDeactivated(){const ie=this.contexts;return this.contexts=new Map,ie}onOutletReAttached(ie){this.contexts=ie}getOrCreateContext(ie){let Ee=this.getContext(ie);return Ee||(Ee=new Ls,this.contexts.set(ie,Ee)),Ee}getContext(ie){return this.contexts.get(ie)||null}}Ca.\u0275fac=function(ie){return new(ie||Ca)},Ca.\u0275prov=e.Yz7({token:Ca,factory:Ca.\u0275fac,providedIn:"root"});const vr=!1;class Or{constructor(){this.activated=null,this._activatedRoute=null,this.name=J,this.activateEvents=new e.vpe,this.deactivateEvents=new e.vpe,this.attachEvents=new e.vpe,this.detachEvents=new e.vpe,this.parentContexts=(0,e.f3M)(Ca),this.location=(0,e.f3M)(e.s_b),this.changeDetector=(0,e.f3M)(e.sBO),this.environmentInjector=(0,e.f3M)(e.lqb)}ngOnChanges(ie){if(ie.name){const{firstChange:Ee,previousValue:qe}=ie.name;if(Ee)return;this.isTrackedInParentContexts(qe)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(qe)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(ie){return this.parentContexts.getContext(ie)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const ie=this.parentContexts.getContext(this.name);ie?.route&&(ie.attachRef?this.attach(ie.attachRef,ie.route):this.activateWith(ie.route,ie.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new e.vHH(4012,vr);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new e.vHH(4012,vr);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new e.vHH(4012,vr);this.location.detach();const ie=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(ie.instance),ie}attach(ie,Ee){this.activated=ie,this._activatedRoute=Ee,this.location.insert(ie.hostView),this.attachEvents.emit(ie.instance)}deactivate(){if(this.activated){const ie=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(ie)}}activateWith(ie,Ee){if(this.isActivated)throw new e.vHH(4013,vr);this._activatedRoute=ie;const qe=this.location,mt=ie.snapshot.component,Wt=this.parentContexts.getOrCreateContext(this.name).children,mn=new qs(ie,Wt,qe.injector);if(Ee&&function ms(Te){return!!Te.resolveComponentFactory}(Ee)){const Dn=Ee.resolveComponentFactory(mt);this.activated=qe.createComponent(Dn,qe.length,mn)}else{const Dn=Ee??this.environmentInjector;this.activated=qe.createComponent(mt,{index:qe.length,injector:mn,environmentInjector:Dn})}this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}Or.\u0275fac=function(ie){return new(ie||Or)},Or.\u0275dir=e.lG2({type:Or,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[e.TTD]});class qs{constructor(ie,Ee,qe){this.route=ie,this.childContexts=Ee,this.parent=qe}get(ie,Ee){return ie===Ha?this.route:ie===Ca?this.childContexts:this.parent.get(ie,Ee)}}class nr{}function Pr(Te,ie){return Te.providers&&!Te._injector&&(Te._injector=(0,e.MMx)(Te.providers,ie,`Route: ${Te.path}`)),Te._injector??ie}function yr(Te){const ie=Te.children&&Te.children.map(yr),Ee=ie?{...Te,children:ie}:{...Te};return!Ee.component&&!Ee.loadComponent&&(ie||Ee.loadChildren)&&Ee.outlet&&Ee.outlet!==J&&(Ee.component=nr),Ee}function sa(Te){return Te.outlet||J}function ir(Te,ie){const Ee=Te.filter(qe=>sa(qe)===ie);return Ee.push(...Te.filter(qe=>sa(qe)!==ie)),Ee}function br(Te){if(!Te)return null;if(Te.routeConfig?._injector)return Te.routeConfig._injector;for(let ie=Te.parent;ie;ie=ie.parent){const Ee=ie.routeConfig;if(Ee?._loadedInjector)return Ee._loadedInjector;if(Ee?._injector)return Ee._injector}return null}nr.\u0275fac=function(ie){return new(ie||nr)},nr.\u0275cmp=e.Xpm({type:nr,selectors:[["ng-component"]],standalone:!0,features:[e.jDz],decls:1,vars:0,template:function(ie,Ee){1&ie&&e._UZ(0,"router-outlet")},dependencies:[Or],encapsulation:2});class kr{constructor(ie,Ee,qe,at){this.routeReuseStrategy=ie,this.futureState=Ee,this.currState=qe,this.forwardEvent=at}activate(ie){const Ee=this.futureState._root,qe=this.currState?this.currState._root:null;this.deactivateChildRoutes(Ee,qe,ie),xa(this.futureState.root),this.activateChildRoutes(Ee,qe,ie)}deactivateChildRoutes(ie,Ee,qe){const at=Di(Ee);ie.children.forEach(mt=>{const Wt=mt.value.outlet;this.deactivateRoutes(mt,at[Wt],qe),delete at[Wt]}),ut(at,(mt,Wt)=>{this.deactivateRouteAndItsChildren(mt,qe)})}deactivateRoutes(ie,Ee,qe){const at=ie.value,mt=Ee?Ee.value:null;if(at===mt)if(at.component){const Wt=qe.getContext(at.outlet);Wt&&this.deactivateChildRoutes(ie,Ee,Wt.children)}else this.deactivateChildRoutes(ie,Ee,qe);else mt&&this.deactivateRouteAndItsChildren(Ee,qe)}deactivateRouteAndItsChildren(ie,Ee){ie.value.component&&this.routeReuseStrategy.shouldDetach(ie.value.snapshot)?this.detachAndStoreRouteSubtree(ie,Ee):this.deactivateRouteAndOutlet(ie,Ee)}detachAndStoreRouteSubtree(ie,Ee){const qe=Ee.getContext(ie.value.outlet),at=qe&&ie.value.component?qe.children:Ee,mt=Di(ie);for(const Wt of Object.keys(mt))this.deactivateRouteAndItsChildren(mt[Wt],at);if(qe&&qe.outlet){const Wt=qe.outlet.detach(),mn=qe.children.onOutletDeactivated();this.routeReuseStrategy.store(ie.value.snapshot,{componentRef:Wt,route:ie,contexts:mn})}}deactivateRouteAndOutlet(ie,Ee){const qe=Ee.getContext(ie.value.outlet),at=qe&&ie.value.component?qe.children:Ee,mt=Di(ie);for(const Wt of Object.keys(mt))this.deactivateRouteAndItsChildren(mt[Wt],at);qe&&qe.outlet&&(qe.outlet.deactivate(),qe.children.onOutletDeactivated(),qe.attachRef=null,qe.resolver=null,qe.route=null)}activateChildRoutes(ie,Ee,qe){const at=Di(Ee);ie.children.forEach(mt=>{this.activateRoutes(mt,at[mt.value.outlet],qe),this.forwardEvent(new En(mt.value.snapshot))}),ie.children.length&&this.forwardEvent(new Ft(ie.value.snapshot))}activateRoutes(ie,Ee,qe){const at=ie.value,mt=Ee?Ee.value:null;if(xa(at),at===mt)if(at.component){const Wt=qe.getOrCreateContext(at.outlet);this.activateChildRoutes(ie,Ee,Wt.children)}else this.activateChildRoutes(ie,Ee,qe);else if(at.component){const Wt=qe.getOrCreateContext(at.outlet);if(this.routeReuseStrategy.shouldAttach(at.snapshot)){const mn=this.routeReuseStrategy.retrieve(at.snapshot);this.routeReuseStrategy.store(at.snapshot,null),Wt.children.onOutletReAttached(mn.contexts),Wt.attachRef=mn.componentRef,Wt.route=mn.route.value,Wt.outlet&&Wt.outlet.attach(mn.componentRef,mn.route.value),xa(mn.route.value),this.activateChildRoutes(ie,null,Wt.children)}else{const mn=br(at.snapshot),Dn=mn?.get(e._Vd)??null;Wt.attachRef=null,Wt.route=at,Wt.resolver=Dn,Wt.injector=mn,Wt.outlet&&Wt.outlet.activateWith(at,Wt.injector),this.activateChildRoutes(ie,null,Wt.children)}}else this.activateChildRoutes(ie,null,qe)}}class Va{constructor(ie){this.path=ie,this.route=this.path[this.path.length-1]}}class dn{constructor(ie,Ee){this.component=ie,this.route=Ee}}function xt(Te,ie,Ee){const qe=Te._root;return ri(qe,ie?ie._root:null,Ee,[qe.value])}function Fn(Te,ie){const Ee=Symbol(),qe=ie.get(Te,Ee);return qe===Ee?"function"!=typeof Te||(0,e.Z0I)(Te)?ie.get(Te):Te:qe}function ri(Te,ie,Ee,qe,at={canDeactivateChecks:[],canActivateChecks:[]}){const mt=Di(ie);return Te.children.forEach(Wt=>{(function Bi(Te,ie,Ee,qe,at={canDeactivateChecks:[],canActivateChecks:[]}){const mt=Te.value,Wt=ie?ie.value:null,mn=Ee?Ee.getContext(Te.value.outlet):null;if(Wt&&mt.routeConfig===Wt.routeConfig){const Dn=function Xi(Te,ie,Ee){if("function"==typeof Ee)return Ee(Te,ie);switch(Ee){case"pathParamsChange":return!zt(Te.url,ie.url);case"pathParamsOrQueryParamsChange":return!zt(Te.url,ie.url)||!be(Te.queryParams,ie.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ra(Te,ie)||!be(Te.queryParams,ie.queryParams);default:return!ra(Te,ie)}}(Wt,mt,mt.routeConfig.runGuardsAndResolvers);Dn?at.canActivateChecks.push(new Va(qe)):(mt.data=Wt.data,mt._resolvedData=Wt._resolvedData),mt.component?ri(Te,ie,mn?mn.children:null,qe,at):ri(Te,ie,Ee,qe,at),Dn&&mn&&mn.outlet&&mn.outlet.isActivated&&at.canDeactivateChecks.push(new dn(mn.outlet.component,Wt))}else Wt&&oa(ie,mn,at),at.canActivateChecks.push(new Va(qe)),mt.component?ri(Te,null,mn?mn.children:null,qe,at):ri(Te,null,Ee,qe,at);return at})(Wt,mt[Wt.value.outlet],Ee,qe.concat([Wt.value]),at),delete mt[Wt.value.outlet]}),ut(mt,(Wt,mn)=>oa(Wt,Ee.getContext(mn),at)),at}function oa(Te,ie,Ee){const qe=Di(Te),at=Te.value;ut(qe,(mt,Wt)=>{at.component?oa(mt,ie?ie.children.getContext(Wt):null,Ee):oa(mt,ie,Ee)}),at.component&&ie&&ie.outlet&&ie.outlet.isActivated?Ee.canDeactivateChecks.push(new dn(ie.outlet.component,at)):Ee.canDeactivateChecks.push(new dn(null,at))}function la(Te){return"function"==typeof Te}function bt(Te){return Te instanceof s.K||"EmptyError"===Te?.name}const ye=Symbol("INITIAL_VALUE");function dt(){return(0,Z.w)(Te=>(0,D.a)(Te.map(ie=>ie.pipe((0,j.q)(1),(0,ae.O)(ye)))).pipe((0,W.U)(ie=>{for(const Ee of ie)if(!0!==Ee){if(Ee===ye)return ye;if(!1===Ee||Ee instanceof it)return Ee}return!0}),(0,re.h)(ie=>ie!==ye),(0,j.q)(1)))}function Yt(Te,ie){return(0,pe.z)(Ee=>{const{targetSnapshot:qe,currentSnapshot:at,guards:{canActivateChecks:mt,canDeactivateChecks:Wt}}=Ee;return 0===Wt.length&&0===mt.length?(0,_.of)({...Ee,guardsResult:!0}):function Pn(Te,ie,Ee,qe){return(0,t.D)(Te).pipe((0,pe.z)(at=>function kl(Te,ie,Ee,qe,at){const mt=ie&&ie.routeConfig?ie.routeConfig.canDeactivate:null;if(!mt||0===mt.length)return(0,_.of)(!0);const Wt=mt.map(mn=>{const Dn=br(ie)??at,Rn=Fn(mn,Dn);return Le(function ca(Te){return Te&&la(Te.canDeactivate)}(Rn)?Rn.canDeactivate(Te,ie,Ee,qe):Dn.runInContext(()=>Rn(Te,ie,Ee,qe))).pipe((0,le.P)())});return(0,_.of)(Wt).pipe(dt())}(at.component,at.route,Ee,ie,qe)),(0,le.P)(at=>!0!==at,!0))}(Wt,qe,at,Te).pipe((0,pe.z)(mn=>mn&&function Li(Te){return"boolean"==typeof Te}(mn)?function Ti(Te,ie,Ee,qe){return(0,t.D)(ie).pipe((0,ve.b)(at=>(0,u.z)(function gs(Te,ie){return null!==Te&&ie&&ie(new It(Te)),(0,_.of)(!0)}(at.route.parent,qe),function rr(Te,ie){return null!==Te&&ie&&ie(new ln(Te)),(0,_.of)(!0)}(at.route,qe),function $s(Te,ie,Ee){const qe=ie[ie.length-1],mt=ie.slice(0,ie.length-1).reverse().map(Wt=>function Bt(Te){const ie=Te.routeConfig?Te.routeConfig.canActivateChild:null;return ie&&0!==ie.length?{node:Te,guards:ie}:null}(Wt)).filter(Wt=>null!==Wt).map(Wt=>(0,k.P)(()=>{const mn=Wt.guards.map(Dn=>{const Rn=br(Wt.node)??Ee,di=Fn(Dn,Rn);return Le(function Zr(Te){return Te&&la(Te.canActivateChild)}(di)?di.canActivateChild(qe,Te):Rn.runInContext(()=>di(qe,Te))).pipe((0,le.P)())});return(0,_.of)(mn).pipe(dt())}));return(0,_.of)(mt).pipe(dt())}(Te,at.path,Ee),function Oo(Te,ie,Ee){const qe=ie.routeConfig?ie.routeConfig.canActivate:null;if(!qe||0===qe.length)return(0,_.of)(!0);const at=qe.map(mt=>(0,k.P)(()=>{const Wt=br(ie)??Ee,mn=Fn(mt,Wt);return Le(function Rr(Te){return Te&&la(Te.canActivate)}(mn)?mn.canActivate(ie,Te):Wt.runInContext(()=>mn(ie,Te))).pipe((0,le.P)())}));return(0,_.of)(at).pipe(dt())}(Te,at.route,Ee))),(0,le.P)(at=>!0!==at,!0))}(qe,mt,Te,ie):(0,_.of)(mn)),(0,W.U)(mn=>({...Ee,guardsResult:mn})))})}function po(Te,ie,Ee,qe){const at=ie.canLoad;if(void 0===at||0===at.length)return(0,_.of)(!0);const mt=at.map(Wt=>{const mn=Fn(Wt,Te);return Le(function rs(Te){return Te&&la(Te.canLoad)}(mn)?mn.canLoad(ie,Ee):Te.runInContext(()=>mn(ie,Ee)))});return(0,_.of)(mt).pipe(dt(),kn(qe))}function kn(Te){return(0,p.z)((0,de.b)(ie=>{if(He(ie))throw Gr(0,ie)}),(0,W.U)(ie=>!0===ie))}function Ui(Te,ie,Ee,qe){const at=ie.canMatch;if(!at||0===at.length)return(0,_.of)(!0);const mt=at.map(Wt=>{const mn=Fn(Wt,Te);return Le(function si(Te){return Te&&la(Te.canMatch)}(mn)?mn.canMatch(ie,Ee):Te.runInContext(()=>mn(ie,Ee)))});return(0,_.of)(mt).pipe(dt(),kn())}const eo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function sr(Te,ie,Ee,qe,at){const mt=Ra(Te,ie,Ee);return mt.matched?Ui(qe=Pr(ie,qe),ie,Ee).pipe((0,W.U)(Wt=>!0===Wt?mt:{...eo})):(0,_.of)(mt)}function Ra(Te,ie,Ee){if(""===ie.path)return"full"===ie.pathMatch&&(Te.hasChildren()||Ee.length>0)?{...eo}:{matched:!0,consumedSegments:[],remainingSegments:Ee,parameters:{},positionalParamSegments:{}};const at=(ie.matcher||je)(Ee,Te,ie);if(!at)return{...eo};const mt={};ut(at.posParams,(mn,Dn)=>{mt[Dn]=mn.path});const Wt=at.consumed.length>0?{...mt,...at.consumed[at.consumed.length-1].parameters}:mt;return{matched:!0,consumedSegments:at.consumed,remainingSegments:Ee.slice(at.consumed.length),parameters:Wt,positionalParamSegments:at.posParams??{}}}function Br(Te,ie,Ee,qe){if(Ee.length>0&&function $i(Te,ie,Ee){return Ee.some(qe=>vs(Te,ie,qe)&&sa(qe)!==J)}(Te,Ee,qe)){const mt=new Ct(ie,function Ba(Te,ie,Ee,qe){const at={};at[J]=qe,qe._sourceSegment=Te,qe._segmentIndexShift=ie.length;for(const mt of Ee)if(""===mt.path&&sa(mt)!==J){const Wt=new Ct([],{});Wt._sourceSegment=Te,Wt._segmentIndexShift=ie.length,at[sa(mt)]=Wt}return at}(Te,ie,qe,new Ct(Ee,Te.children)));return mt._sourceSegment=Te,mt._segmentIndexShift=ie.length,{segmentGroup:mt,slicedSegments:[]}}if(0===Ee.length&&function Hn(Te,ie,Ee){return Ee.some(qe=>vs(Te,ie,qe))}(Te,Ee,qe)){const mt=new Ct(Te.segments,function _o(Te,ie,Ee,qe,at){const mt={};for(const Wt of qe)if(vs(Te,Ee,Wt)&&!at[sa(Wt)]){const mn=new Ct([],{});mn._sourceSegment=Te,mn._segmentIndexShift=ie.length,mt[sa(Wt)]=mn}return{...at,...mt}}(Te,ie,Ee,qe,Te.children));return mt._sourceSegment=Te,mt._segmentIndexShift=ie.length,{segmentGroup:mt,slicedSegments:Ee}}const at=new Ct(Te.segments,Te.children);return at._sourceSegment=Te,at._segmentIndexShift=ie.length,{segmentGroup:at,slicedSegments:Ee}}function vs(Te,ie,Ee){return(!(Te.hasChildren()||ie.length>0)||"full"!==Ee.pathMatch)&&""===Ee.path}function dl(Te,ie,Ee,qe){return!!(sa(Te)===qe||qe!==J&&vs(ie,Ee,Te))&&("**"===Te.path||Ra(ie,Te,Ee).matched)}function Gn(Te,ie,Ee){return 0===ie.length&&!Te.children[Ee]}const Hs=!1;class Wa{constructor(ie){this.segmentGroup=ie||null}}class ss{constructor(ie){this.urlTree=ie}}function zs(Te){return(0,S._)(new Wa(Te))}function to(Te){return(0,S._)(new ss(Te))}class Wc{constructor(ie,Ee,qe,at,mt){this.injector=ie,this.configLoader=Ee,this.urlSerializer=qe,this.urlTree=at,this.config=mt,this.allowRedirects=!0}apply(){const ie=Br(this.urlTree.root,[],[],this.config).segmentGroup,Ee=new Ct(ie.segments,ie.children);return this.expandSegmentGroup(this.injector,this.config,Ee,J).pipe((0,W.U)(mt=>this.createUrlTree(Tt(mt),this.urlTree.queryParams,this.urlTree.fragment))).pipe((0,$.K)(mt=>{if(mt instanceof ss)return this.allowRedirects=!1,this.match(mt.urlTree);throw mt instanceof Wa?this.noMatchError(mt):mt}))}match(ie){return this.expandSegmentGroup(this.injector,this.config,ie.root,J).pipe((0,W.U)(at=>this.createUrlTree(Tt(at),ie.queryParams,ie.fragment))).pipe((0,$.K)(at=>{throw at instanceof Wa?this.noMatchError(at):at}))}noMatchError(ie){return new e.vHH(4002,Hs)}createUrlTree(ie,Ee,qe){const at=Dt(ie);return new it(at,Ee,qe)}expandSegmentGroup(ie,Ee,qe,at){return 0===qe.segments.length&&qe.hasChildren()?this.expandChildren(ie,Ee,qe).pipe((0,W.U)(mt=>new Ct([],mt))):this.expandSegment(ie,qe,Ee,qe.segments,at,!0)}expandChildren(ie,Ee,qe){const at=[];for(const mt of Object.keys(qe.children))"primary"===mt?at.unshift(mt):at.push(mt);return(0,t.D)(at).pipe((0,ve.b)(mt=>{const Wt=qe.children[mt],mn=ir(Ee,mt);return this.expandSegmentGroup(ie,mn,Wt,mt).pipe((0,W.U)(Dn=>({segment:Dn,outlet:mt})))}),(0,ue.R)((mt,Wt)=>(mt[Wt.outlet]=Wt.segment,mt),{}),L())}expandSegment(ie,Ee,qe,at,mt,Wt){return(0,t.D)(qe).pipe((0,ve.b)(mn=>this.expandSegmentAgainstRoute(ie,Ee,qe,mn,at,mt,Wt).pipe((0,$.K)(Rn=>{if(Rn instanceof Wa)return(0,_.of)(null);throw Rn}))),(0,le.P)(mn=>!!mn),(0,$.K)((mn,Dn)=>{if(bt(mn))return Gn(Ee,at,mt)?(0,_.of)(new Ct([],{})):zs(Ee);throw mn}))}expandSegmentAgainstRoute(ie,Ee,qe,at,mt,Wt,mn){return dl(at,Ee,mt,Wt)?void 0===at.redirectTo?this.matchSegmentAgainstRoute(ie,Ee,at,mt,Wt):mn&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(ie,Ee,qe,at,mt,Wt):zs(Ee):zs(Ee)}expandSegmentAgainstRouteUsingRedirect(ie,Ee,qe,at,mt,Wt){return"**"===at.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(ie,qe,at,Wt):this.expandRegularSegmentAgainstRouteUsingRedirect(ie,Ee,qe,at,mt,Wt)}expandWildCardWithParamsAgainstRouteUsingRedirect(ie,Ee,qe,at){const mt=this.applyRedirectCommands([],qe.redirectTo,{});return qe.redirectTo.startsWith("/")?to(mt):this.lineralizeSegments(qe,mt).pipe((0,pe.z)(Wt=>{const mn=new Ct(Wt,{});return this.expandSegment(ie,mn,Ee,Wt,at,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(ie,Ee,qe,at,mt,Wt){const{matched:mn,consumedSegments:Dn,remainingSegments:Rn,positionalParamSegments:di}=Ra(Ee,at,mt);if(!mn)return zs(Ee);const ta=this.applyRedirectCommands(Dn,at.redirectTo,di);return at.redirectTo.startsWith("/")?to(ta):this.lineralizeSegments(at,ta).pipe((0,pe.z)(Ea=>this.expandSegment(ie,Ee,qe,Ea.concat(Rn),Wt,!1)))}matchSegmentAgainstRoute(ie,Ee,qe,at,mt){return"**"===qe.path?(ie=Pr(qe,ie),qe.loadChildren?(qe._loadedRoutes?(0,_.of)({routes:qe._loadedRoutes,injector:qe._loadedInjector}):this.configLoader.loadChildren(ie,qe)).pipe((0,W.U)(mn=>(qe._loadedRoutes=mn.routes,qe._loadedInjector=mn.injector,new Ct(at,{})))):(0,_.of)(new Ct(at,{}))):sr(Ee,qe,at,ie,this.urlSerializer).pipe((0,Z.w)(({matched:Wt,consumedSegments:mn,remainingSegments:Dn})=>Wt?(ie=qe._injector??ie,this.getChildConfig(ie,qe,at).pipe((0,pe.z)(di=>{const ta=di.injector??ie,Ea=di.routes,{segmentGroup:zi,slicedSegments:Fr}=Br(Ee,mn,Dn,Ea),so=new Ct(zi.segments,zi.children);if(0===Fr.length&&so.hasChildren())return this.expandChildren(ta,Ea,so).pipe((0,W.U)(No=>new Ct(mn,No)));if(0===Ea.length&&0===Fr.length)return(0,_.of)(new Ct(mn,{}));const ds=sa(qe)===mt;return this.expandSegment(ta,so,Ea,Fr,ds?J:mt,!0).pipe((0,W.U)(xs=>new Ct(mn.concat(xs.segments),xs.children)))}))):zs(Ee)))}getChildConfig(ie,Ee,qe){return Ee.children?(0,_.of)({routes:Ee.children,injector:ie}):Ee.loadChildren?void 0!==Ee._loadedRoutes?(0,_.of)({routes:Ee._loadedRoutes,injector:Ee._loadedInjector}):po(ie,Ee,qe,this.urlSerializer).pipe((0,pe.z)(at=>at?this.configLoader.loadChildren(ie,Ee).pipe((0,de.b)(mt=>{Ee._loadedRoutes=mt.routes,Ee._loadedInjector=mt.injector})):function Po(Te){return(0,S._)(Ta(Hs,3))}())):(0,_.of)({routes:[],injector:ie})}lineralizeSegments(ie,Ee){let qe=[],at=Ee.root;for(;;){if(qe=qe.concat(at.segments),0===at.numberOfChildren)return(0,_.of)(qe);if(at.numberOfChildren>1||!at.children[J])return ie.redirectTo,(0,S._)(new e.vHH(4e3,Hs));at=at.children[J]}}applyRedirectCommands(ie,Ee,qe){return this.applyRedirectCreateUrlTree(Ee,this.urlSerializer.parse(Ee),ie,qe)}applyRedirectCreateUrlTree(ie,Ee,qe,at){const mt=this.createSegmentGroup(ie,Ee.root,qe,at);return new it(mt,this.createQueryParams(Ee.queryParams,this.urlTree.queryParams),Ee.fragment)}createQueryParams(ie,Ee){const qe={};return ut(ie,(at,mt)=>{if("string"==typeof at&&at.startsWith(":")){const mn=at.substring(1);qe[mt]=Ee[mn]}else qe[mt]=at}),qe}createSegmentGroup(ie,Ee,qe,at){const mt=this.createSegments(ie,Ee.segments,qe,at);let Wt={};return ut(Ee.children,(mn,Dn)=>{Wt[Dn]=this.createSegmentGroup(ie,mn,qe,at)}),new Ct(mt,Wt)}createSegments(ie,Ee,qe,at){return Ee.map(mt=>mt.path.startsWith(":")?this.findPosParam(ie,mt,at):this.findOrReturn(mt,qe))}findPosParam(ie,Ee,qe){const at=qe[Ee.path.substring(1)];if(!at)throw new e.vHH(4001,Hs);return at}findOrReturn(ie,Ee){let qe=0;for(const at of Ee){if(at.path===ie.path)return Ee.splice(qe),at;qe++}return ie}}function Kc(Te,ie,Ee,qe){return(0,Z.w)(at=>function Vc(Te,ie,Ee,qe,at){return new Wc(Te,ie,Ee,qe,at).apply()}(Te,ie,Ee,at.extractedUrl,qe).pipe((0,W.U)(mt=>({...at,urlAfterRedirects:mt}))))}class Go{}function ko(Te,ie,Ee,qe,at,mt,Wt="emptyOnly"){return new xr(Te,ie,Ee,qe,at,Wt,mt).recognize().pipe((0,Z.w)(mn=>null===mn?function Zo(Te){return new A.y(ie=>ie.error(Te))}(new Go):(0,_.of)(mn)))}class xr{constructor(ie,Ee,qe,at,mt,Wt,mn){this.injector=ie,this.rootComponentType=Ee,this.config=qe,this.urlTree=at,this.url=mt,this.paramsInheritanceStrategy=Wt,this.urlSerializer=mn}recognize(){const ie=Br(this.urlTree.root,[],[],this.config.filter(Ee=>void 0===Ee.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,ie,J).pipe((0,W.U)(Ee=>{if(null===Ee)return null;const qe=new gr([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},J,this.rootComponentType,null,this.urlTree.root,-1,{}),at=new ea(qe,Ee),mt=new Sa(this.url,at);return this.inheritParamsAndData(mt._root),mt}))}inheritParamsAndData(ie){const Ee=ie.value,qe=Hi(Ee,this.paramsInheritanceStrategy);Ee.params=Object.freeze(qe.params),Ee.data=Object.freeze(qe.data),ie.children.forEach(at=>this.inheritParamsAndData(at))}processSegmentGroup(ie,Ee,qe,at){return 0===qe.segments.length&&qe.hasChildren()?this.processChildren(ie,Ee,qe):this.processSegment(ie,Ee,qe,qe.segments,at)}processChildren(ie,Ee,qe){return(0,t.D)(Object.keys(qe.children)).pipe((0,ve.b)(at=>{const mt=qe.children[at],Wt=ir(Ee,at);return this.processSegmentGroup(ie,Wt,mt,at)}),(0,ue.R)((at,mt)=>at&&mt?(at.push(...mt),at):null),(0,B.o)(at=>null!==at),(0,d.d)(null),L(),(0,W.U)(at=>{if(null===at)return null;const mt=ul(at);return function Ro(Te){Te.sort((ie,Ee)=>ie.value.outlet===J?-1:Ee.value.outlet===J?1:ie.value.outlet.localeCompare(Ee.value.outlet))}(mt),mt}))}processSegment(ie,Ee,qe,at,mt){return(0,t.D)(Ee).pipe((0,ve.b)(Wt=>this.processSegmentAgainstRoute(Wt._injector??ie,Wt,qe,at,mt)),(0,le.P)(Wt=>!!Wt),(0,$.K)(Wt=>{if(bt(Wt))return Gn(qe,at,mt)?(0,_.of)([]):(0,_.of)(null);throw Wt}))}processSegmentAgainstRoute(ie,Ee,qe,at,mt){if(Ee.redirectTo||!dl(Ee,qe,at,mt))return(0,_.of)(null);let Wt;if("**"===Ee.path){const mn=at.length>0?ge(at).parameters:{},Dn=ks(qe)+at.length,Rn=new gr(at,mn,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,os(Ee),sa(Ee),Ee.component??Ee._loadedComponent??null,Ee,ys(qe),Dn,Ne(Ee));Wt=(0,_.of)({snapshot:Rn,consumedSegments:[],remainingSegments:[]})}else Wt=sr(qe,Ee,at,ie,this.urlSerializer).pipe((0,W.U)(({matched:mn,consumedSegments:Dn,remainingSegments:Rn,parameters:di})=>{if(!mn)return null;const ta=ks(qe)+Dn.length;return{snapshot:new gr(Dn,di,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,os(Ee),sa(Ee),Ee.component??Ee._loadedComponent??null,Ee,ys(qe),ta,Ne(Ee)),consumedSegments:Dn,remainingSegments:Rn}}));return Wt.pipe((0,Z.w)(mn=>{if(null===mn)return(0,_.of)(null);const{snapshot:Dn,consumedSegments:Rn,remainingSegments:di}=mn;ie=Ee._injector??ie;const ta=Ee._loadedInjector??ie,Ea=function Yo(Te){return Te.children?Te.children:Te.loadChildren?Te._loadedRoutes:[]}(Ee),{segmentGroup:zi,slicedSegments:Fr}=Br(qe,Rn,di,Ea.filter(ds=>void 0===ds.redirectTo));if(0===Fr.length&&zi.hasChildren())return this.processChildren(ta,Ea,zi).pipe((0,W.U)(ds=>null===ds?null:[new ea(Dn,ds)]));if(0===Ea.length&&0===Fr.length)return(0,_.of)([new ea(Dn,[])]);const so=sa(Ee)===mt;return this.processSegment(ta,Ea,zi,Fr,so?J:mt).pipe((0,W.U)(ds=>null===ds?null:[new ea(Dn,ds)]))}))}}function ui(Te){const ie=Te.value.routeConfig;return ie&&""===ie.path&&void 0===ie.redirectTo}function ul(Te){const ie=[],Ee=new Set;for(const qe of Te){if(!ui(qe)){ie.push(qe);continue}const at=ie.find(mt=>qe.value.routeConfig===mt.value.routeConfig);void 0!==at?(at.children.push(...qe.children),Ee.add(at)):ie.push(qe)}for(const qe of Ee){const at=ul(qe.children);ie.push(new ea(qe.value,at))}return ie.filter(qe=>!Ee.has(qe))}function ys(Te){let ie=Te;for(;ie._sourceSegment;)ie=ie._sourceSegment;return ie}function ks(Te){let ie=Te,Ee=ie._segmentIndexShift??0;for(;ie._sourceSegment;)ie=ie._sourceSegment,Ee+=ie._segmentIndexShift??0;return Ee-1}function os(Te){return Te.data||{}}function Ne(Te){return Te.resolve||{}}function st(Te,ie){return(0,pe.z)(Ee=>{const{targetSnapshot:qe,guards:{canActivateChecks:at}}=Ee;if(!at.length)return(0,_.of)(Ee);let mt=0;return(0,t.D)(at).pipe((0,ve.b)(Wt=>function Ot(Te,ie,Ee,qe){const at=Te.routeConfig,mt=Te._resolve;return void 0!==at?.title&&!Xe(at)&&(mt[Fe]=at.title),function Vt(Te,ie,Ee,qe){const at=function fn(Te){return[...Object.keys(Te),...Object.getOwnPropertySymbols(Te)]}(Te);if(0===at.length)return(0,_.of)({});const mt={};return(0,t.D)(at).pipe((0,pe.z)(Wt=>function Un(Te,ie,Ee,qe){const at=br(ie)??qe,mt=Fn(Te,at);return Le(mt.resolve?mt.resolve(ie,Ee):at.runInContext(()=>mt(ie,Ee)))}(Te[Wt],ie,Ee,qe).pipe((0,le.P)(),(0,de.b)(mn=>{mt[Wt]=mn}))),o(1),(0,v.h)(mt),(0,$.K)(Wt=>bt(Wt)?P.E:(0,S._)(Wt)))}(mt,Te,ie,qe).pipe((0,W.U)(Wt=>(Te._resolvedData=Wt,Te.data=Hi(Te,Ee).resolve,at&&Xe(at)&&(Te.data[Fe]=at.title),null)))}(Wt.route,qe,Te,ie)),(0,de.b)(()=>mt++),o(1),(0,pe.z)(Wt=>mt===at.length?(0,_.of)(Ee):P.E))})}function Xe(Te){return"string"==typeof Te.title||null===Te.title}function rt(Te){return(0,Z.w)(ie=>{const Ee=Te(ie);return Ee?(0,t.D)(Ee).pipe((0,W.U)(()=>ie)):(0,_.of)(ie)})}const Qe=new e.OlP("ROUTES");class Qt{constructor(ie,Ee){this.injector=ie,this.compiler=Ee,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(ie){if(this.componentLoaders.get(ie))return this.componentLoaders.get(ie);if(ie._loadedComponent)return(0,_.of)(ie._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(ie);const Ee=Le(ie.loadComponent()).pipe((0,W.U)(qt),(0,de.b)(at=>{this.onLoadEndListener&&this.onLoadEndListener(ie),ie._loadedComponent=at}),(0,a.x)(()=>{this.componentLoaders.delete(ie)})),qe=new M.c(Ee,()=>new z.x).pipe((0,C.x)());return this.componentLoaders.set(ie,qe),qe}loadChildren(ie,Ee){if(this.childrenLoaders.get(Ee))return this.childrenLoaders.get(Ee);if(Ee._loadedRoutes)return(0,_.of)({routes:Ee._loadedRoutes,injector:Ee._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(Ee);const at=this.loadModuleFactoryOrRoutes(Ee.loadChildren).pipe((0,W.U)(Wt=>{this.onLoadEndListener&&this.onLoadEndListener(Ee);let mn,Dn,Rn=!1;Array.isArray(Wt)?(Dn=Wt,Rn=!0):(mn=Wt.create(ie).injector,Dn=Ie(mn.get(Qe,[],e.XFs.Self|e.XFs.Optional)));const di=Dn.map(yr);return{routes:di,injector:mn}}),(0,a.x)(()=>{this.childrenLoaders.delete(Ee)})),mt=new M.c(at,()=>new z.x).pipe((0,C.x)());return this.childrenLoaders.set(Ee,mt),mt}loadModuleFactoryOrRoutes(ie){return(this.injector,null)||Le(ie()).pipe((0,W.U)(qt),(0,pe.z)(qe=>qe instanceof e.YKP||Array.isArray(qe)?(0,_.of)(qe):(0,t.D)(this.compiler.compileModuleAsync(qe))))}}function qt(Te){return function sn(Te){return Te&&"object"==typeof Te&&"default"in Te}(Te)?Te.default:Te}Qt.\u0275fac=function(ie){return new(ie||Qt)(e.LFG(e.zs3),e.LFG(e.Sil))},Qt.\u0275prov=e.Yz7({token:Qt,factory:Qt.\u0275fac,providedIn:"root"});class Sn{constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new z.x,this.configLoader=(0,e.f3M)(Qt),this.environmentInjector=(0,e.f3M)(e.lqb),this.urlSerializer=(0,e.f3M)(Jt),this.rootContexts=(0,e.f3M)(Ca),this.navigationId=0;this.configLoader.onLoadEndListener=qe=>this.events.next(new mr(qe)),this.configLoader.onLoadStartListener=qe=>this.events.next(new Za(qe))}get hasRequestedNavigation(){return 0!==this.navigationId}complete(){this.transitions?.complete()}handleNavigationRequest(ie){const Ee=++this.navigationId;this.transitions?.next({...this.transitions.value,...ie,id:Ee})}setupNavigations(ie){return this.transitions=new E.X({id:0,targetPageId:0,currentUrlTree:ie.currentUrlTree,currentRawUrl:ie.currentUrlTree,extractedUrl:ie.urlHandlingStrategy.extract(ie.currentUrlTree),urlAfterRedirects:ie.urlHandlingStrategy.extract(ie.currentUrlTree),rawUrl:ie.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:ie.routerState.snapshot,targetSnapshot:null,currentRouterState:ie.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,re.h)(Ee=>0!==Ee.id),(0,W.U)(Ee=>({...Ee,extractedUrl:ie.urlHandlingStrategy.extract(Ee.rawUrl)})),(0,Z.w)(Ee=>{let qe=!1,at=!1;return(0,_.of)(Ee).pipe((0,de.b)(mt=>{this.currentNavigation={id:mt.id,initialUrl:mt.rawUrl,extractedUrl:mt.extractedUrl,trigger:mt.source,extras:mt.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),(0,Z.w)(mt=>{const Wt=ie.browserUrlTree.toString(),mn=!ie.navigated||mt.extractedUrl.toString()!==Wt||Wt!==ie.currentUrlTree.toString();if(("reload"===ie.onSameUrlNavigation||mn)&&ie.urlHandlingStrategy.shouldProcessUrl(mt.rawUrl))return Jn(mt.source)&&(ie.browserUrlTree=mt.extractedUrl),(0,_.of)(mt).pipe((0,Z.w)(Rn=>{const di=this.transitions?.getValue();return this.events.next(new hn(Rn.id,this.urlSerializer.serialize(Rn.extractedUrl),Rn.source,Rn.restoredState)),di!==this.transitions?.getValue()?P.E:Promise.resolve(Rn)}),Kc(this.environmentInjector,this.configLoader,this.urlSerializer,ie.config),(0,de.b)(Rn=>{this.currentNavigation={...this.currentNavigation,finalUrl:Rn.urlAfterRedirects},Ee.urlAfterRedirects=Rn.urlAfterRedirects}),function he(Te,ie,Ee,qe,at){return(0,pe.z)(mt=>ko(Te,ie,Ee,mt.urlAfterRedirects,qe.serialize(mt.urlAfterRedirects),qe,at).pipe((0,W.U)(Wt=>({...mt,targetSnapshot:Wt}))))}(this.environmentInjector,ie.rootComponentType,ie.config,this.urlSerializer,ie.paramsInheritanceStrategy),(0,de.b)(Rn=>{if(Ee.targetSnapshot=Rn.targetSnapshot,"eager"===ie.urlUpdateStrategy){if(!Rn.extras.skipLocationChange){const ta=ie.urlHandlingStrategy.merge(Rn.urlAfterRedirects,Rn.rawUrl);ie.setBrowserUrl(ta,Rn)}ie.browserUrlTree=Rn.urlAfterRedirects}const di=new Ei(Rn.id,this.urlSerializer.serialize(Rn.extractedUrl),this.urlSerializer.serialize(Rn.urlAfterRedirects),Rn.targetSnapshot);this.events.next(di)}));if(mn&&ie.rawUrlTree&&ie.urlHandlingStrategy.shouldProcessUrl(ie.rawUrlTree)){const{id:di,extractedUrl:ta,source:Ea,restoredState:zi,extras:Fr}=mt,so=new hn(di,this.urlSerializer.serialize(ta),Ea,zi);this.events.next(so);const ds=ka(ta,ie.rootComponentType).snapshot;return Ee={...mt,targetSnapshot:ds,urlAfterRedirects:ta,extras:{...Fr,skipLocationChange:!1,replaceUrl:!1}},(0,_.of)(Ee)}return ie.rawUrlTree=mt.rawUrl,mt.resolve(null),P.E}),(0,de.b)(mt=>{const Wt=new ha(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(mt.urlAfterRedirects),mt.targetSnapshot);this.events.next(Wt)}),(0,W.U)(mt=>Ee={...mt,guards:xt(mt.targetSnapshot,mt.currentSnapshot,this.rootContexts)}),Yt(this.environmentInjector,mt=>this.events.next(mt)),(0,de.b)(mt=>{if(Ee.guardsResult=mt.guardsResult,He(mt.guardsResult))throw Gr(this.urlSerializer,mt.guardsResult);const Wt=new mi(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(mt.urlAfterRedirects),mt.targetSnapshot,!!mt.guardsResult);this.events.next(Wt)}),(0,re.h)(mt=>!!mt.guardsResult||(ie.restoreHistory(mt),this.cancelNavigationTransition(mt,"",3,ie),!1)),rt(mt=>{if(mt.guards.canActivateChecks.length)return(0,_.of)(mt).pipe((0,de.b)(Wt=>{const mn=new qi(Wt.id,this.urlSerializer.serialize(Wt.extractedUrl),this.urlSerializer.serialize(Wt.urlAfterRedirects),Wt.targetSnapshot);this.events.next(mn)}),(0,Z.w)(Wt=>{let mn=!1;return(0,_.of)(Wt).pipe(st(ie.paramsInheritanceStrategy,this.environmentInjector),(0,de.b)({next:()=>mn=!0,complete:()=>{mn||(ie.restoreHistory(Wt),this.cancelNavigationTransition(Wt,"",2,ie))}}))}),(0,de.b)(Wt=>{const mn=new Zi(Wt.id,this.urlSerializer.serialize(Wt.extractedUrl),this.urlSerializer.serialize(Wt.urlAfterRedirects),Wt.targetSnapshot);this.events.next(mn)}))}),rt(mt=>{const Wt=mn=>{const Dn=[];mn.routeConfig?.loadComponent&&!mn.routeConfig._loadedComponent&&Dn.push(this.configLoader.loadComponent(mn.routeConfig).pipe((0,de.b)(Rn=>{mn.component=Rn}),(0,W.U)(()=>{})));for(const Rn of mn.children)Dn.push(...Wt(Rn));return Dn};return(0,D.a)(Wt(mt.targetSnapshot.root)).pipe((0,d.d)(),(0,j.q)(1))}),rt(()=>ie.afterPreactivation()),(0,W.U)(mt=>{const Wt=function fo(Te,ie,Ee){const qe=za(Te,ie._root,Ee?Ee._root:void 0);return new Ji(qe,ie)}(ie.routeReuseStrategy,mt.targetSnapshot,mt.currentRouterState);return Ee={...mt,targetRouterState:Wt}}),(0,de.b)(mt=>{ie.currentUrlTree=mt.urlAfterRedirects,ie.rawUrlTree=ie.urlHandlingStrategy.merge(mt.urlAfterRedirects,mt.rawUrl),ie.routerState=mt.targetRouterState,"deferred"===ie.urlUpdateStrategy&&(mt.extras.skipLocationChange||ie.setBrowserUrl(ie.rawUrlTree,mt),ie.browserUrlTree=mt.urlAfterRedirects)}),((Te,ie,Ee)=>(0,W.U)(qe=>(new kr(ie,qe.targetRouterState,qe.currentRouterState,Ee).activate(Te),qe)))(this.rootContexts,ie.routeReuseStrategy,mt=>this.events.next(mt)),(0,de.b)({next:mt=>{qe=!0,this.lastSuccessfulNavigation=this.currentNavigation,ie.navigated=!0,this.events.next(new en(mt.id,this.urlSerializer.serialize(mt.extractedUrl),this.urlSerializer.serialize(ie.currentUrlTree))),ie.titleStrategy?.updateTitle(mt.targetRouterState.snapshot),mt.resolve(!0)},complete:()=>{qe=!0}}),(0,a.x)(()=>{if(!qe&&!at){const mt="";this.cancelNavigationTransition(Ee,mt,1,ie)}this.currentNavigation?.id===Ee.id&&(this.currentNavigation=null)}),(0,$.K)(mt=>{if(at=!0,Ua(mt)){Is(mt)||(ie.navigated=!0,ie.restoreHistory(Ee,!0));const Wt=new gn(Ee.id,this.urlSerializer.serialize(Ee.extractedUrl),mt.message,mt.cancellationCode);if(this.events.next(Wt),Is(mt)){const mn=ie.urlHandlingStrategy.merge(mt.url,ie.rawUrlTree),Dn={skipLocationChange:Ee.extras.skipLocationChange,replaceUrl:"eager"===ie.urlUpdateStrategy||Jn(Ee.source)};ie.scheduleNavigation(mn,"imperative",null,Dn,{resolve:Ee.resolve,reject:Ee.reject,promise:Ee.promise})}else Ee.resolve(!1)}else{ie.restoreHistory(Ee,!0);const Wt=new Qn(Ee.id,this.urlSerializer.serialize(Ee.extractedUrl),mt,Ee.targetSnapshot??void 0);this.events.next(Wt);try{Ee.resolve(ie.errorHandler(mt))}catch(mn){Ee.reject(mn)}}return P.E}))}))}cancelNavigationTransition(ie,Ee,qe,at){const mt=new gn(ie.id,this.urlSerializer.serialize(ie.extractedUrl),Ee,qe);this.events.next(mt),ie.resolve(!1)}}function Jn(Te){return"imperative"!==Te}Sn.\u0275fac=function(ie){return new(ie||Sn)},Sn.\u0275prov=e.Yz7({token:Sn,factory:Sn.\u0275fac,providedIn:"root"});class oi{buildTitle(ie){let Ee,qe=ie.root;for(;void 0!==qe;)Ee=this.getResolvedTitleForRoute(qe)??Ee,qe=qe.children.find(at=>at.outlet===J);return Ee}getResolvedTitleForRoute(ie){return ie.data[Fe]}}oi.\u0275fac=function(ie){return new(ie||oi)},oi.\u0275prov=e.Yz7({token:oi,factory:function(){return(0,e.f3M)(xi)},providedIn:"root"});class xi extends oi{constructor(ie){super(),this.title=ie}updateTitle(ie){const Ee=this.buildTitle(ie);void 0!==Ee&&this.title.setTitle(Ee)}}xi.\u0275fac=function(ie){return new(ie||xi)(e.LFG(F.Dx))},xi.\u0275prov=e.Yz7({token:xi,factory:xi.\u0275fac,providedIn:"root"});class Si{}Si.\u0275fac=function(ie){return new(ie||Si)},Si.\u0275prov=e.Yz7({token:Si,factory:function(){return(0,e.f3M)(Cr)},providedIn:"root"});class ur{shouldDetach(ie){return!1}store(ie,Ee){}shouldAttach(ie){return!1}retrieve(ie){return null}shouldReuseRoute(ie,Ee){return ie.routeConfig===Ee.routeConfig}}class Cr extends ur{}Cr.\u0275fac=function(){let Te;return function(Ee){return(Te||(Te=e.n5z(Cr)))(Ee||Cr)}}(),Cr.\u0275prov=e.Yz7({token:Cr,factory:Cr.\u0275fac,providedIn:"root"});const Mr=new e.OlP("",{providedIn:"root",factory:()=>({})});class Ka{}Ka.\u0275fac=function(ie){return new(ie||Ka)},Ka.\u0275prov=e.Yz7({token:Ka,factory:function(){return(0,e.f3M)(Ma)},providedIn:"root"});class Ma{shouldProcessUrl(ie){return!0}extract(ie){return ie}merge(ie,Ee){return ie}}Ma.\u0275fac=function(ie){return new(ie||Ma)},Ma.\u0275prov=e.Yz7({token:Ma,factory:Ma.\u0275fac,providedIn:"root"});function Na(Te){throw Te}function mo(Te,ie,Ee){return ie.parse("/")}const Er={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},bs={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function hl(){const Te=(0,e.f3M)(Jt),ie=(0,e.f3M)(Ca),Ee=(0,e.f3M)(I.Ye),qe=(0,e.f3M)(e.zs3),at=(0,e.f3M)(e.Sil),mt=(0,e.f3M)(Qe,{optional:!0})??[],Wt=(0,e.f3M)(Mr,{optional:!0})??{},mn=new Dr(null,Te,ie,Ee,qe,at,Ie(mt));return function go(Te,ie){Te.errorHandler&&(ie.errorHandler=Te.errorHandler),Te.malformedUriErrorHandler&&(ie.malformedUriErrorHandler=Te.malformedUriErrorHandler),Te.onSameUrlNavigation&&(ie.onSameUrlNavigation=Te.onSameUrlNavigation),Te.paramsInheritanceStrategy&&(ie.paramsInheritanceStrategy=Te.paramsInheritanceStrategy),Te.urlUpdateStrategy&&(ie.urlUpdateStrategy=Te.urlUpdateStrategy),Te.canceledNavigationResolution&&(ie.canceledNavigationResolution=Te.canceledNavigationResolution)}(Wt,mn),mn}class Dr{constructor(ie,Ee,qe,at,mt,Wt,mn){this.rootComponentType=ie,this.urlSerializer=Ee,this.rootContexts=qe,this.location=at,this.config=mn,this.disposed=!1,this.currentPageId=0,this.isNgZoneEnabled=!1,this.errorHandler=Na,this.malformedUriErrorHandler=mo,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>(0,_.of)(void 0),this.urlHandlingStrategy=(0,e.f3M)(Ka),this.routeReuseStrategy=(0,e.f3M)(Si),this.titleStrategy=(0,e.f3M)(oi),this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.canceledNavigationResolution="replace",this.navigationTransitions=(0,e.f3M)(Sn),this.console=mt.get(e.c2e);const Dn=mt.get(e.R0b);this.isNgZoneEnabled=Dn instanceof e.R0b&&e.R0b.isInAngularZone(),this.resetConfig(mn),this.currentUrlTree=new it,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=ka(this.currentUrlTree,this.rootComponentType),this.navigationTransitions.setupNavigations(this).subscribe(Rn=>{this.lastSuccessfulId=Rn.id,this.currentPageId=Rn.targetPageId},Rn=>{this.console.warn(`Unhandled Navigation Error: ${Rn}`)})}get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}resetRootComponentType(ie){this.rootComponentType=ie,this.routerState.root.component=this.rootComponentType}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(ie=>{const Ee="popstate"===ie.type?"popstate":"hashchange";"popstate"===Ee&&setTimeout(()=>{const qe={replaceUrl:!0},at=ie.state?.navigationId?ie.state:null;if(ie.state){const Wt={...ie.state};delete Wt.navigationId,delete Wt.\u0275routerPageId,0!==Object.keys(Wt).length&&(qe.state=Wt)}const mt=this.parseUrl(ie.url);this.scheduleNavigation(mt,Ee,at,qe)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(ie){this.config=ie.map(yr),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(ie,Ee={}){const{relativeTo:qe,queryParams:at,fragment:mt,queryParamsHandling:Wt,preserveFragment:mn}=Ee,Dn=qe||this.routerState.root,Rn=mn?this.currentUrlTree.fragment:mt;let di=null;switch(Wt){case"merge":di={...this.currentUrlTree.queryParams,...at};break;case"preserve":di=this.currentUrlTree.queryParams;break;default:di=at||null}return null!==di&&(di=this.removeEmptyProps(di)),Vn(Dn,this.currentUrlTree,ie,di,Rn??null)}navigateByUrl(ie,Ee={skipLocationChange:!1}){const qe=He(ie)?ie:this.parseUrl(ie),at=this.urlHandlingStrategy.merge(qe,this.rawUrlTree);return this.scheduleNavigation(at,"imperative",null,Ee)}navigate(ie,Ee={skipLocationChange:!1}){return function lc(Te){for(let ie=0;ie{const at=ie[qe];return null!=at&&(Ee[qe]=at),Ee},{})}scheduleNavigation(ie,Ee,qe,at,mt){if(this.disposed)return Promise.resolve(!1);let Wt,mn,Dn,Rn;return mt?(Wt=mt.resolve,mn=mt.reject,Dn=mt.promise):Dn=new Promise((di,ta)=>{Wt=di,mn=ta}),"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(qe=this.location.getState()),Rn=qe&&qe.\u0275routerPageId?qe.\u0275routerPageId:at.replaceUrl||at.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):Rn=0,this.navigationTransitions.handleNavigationRequest({targetPageId:Rn,source:Ee,restoredState:qe,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:ie,extras:at,resolve:Wt,reject:mn,promise:Dn,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),Dn.catch(di=>Promise.reject(di))}setBrowserUrl(ie,Ee){const qe=this.urlSerializer.serialize(ie),at={...Ee.extras.state,...this.generateNgRouterState(Ee.id,Ee.targetPageId)};this.location.isCurrentPathEqualTo(qe)||Ee.extras.replaceUrl?this.location.replaceState(qe,"",at):this.location.go(qe,"",at)}restoreHistory(ie,Ee=!1){if("computed"===this.canceledNavigationResolution){const qe=this.currentPageId-ie.targetPageId;"popstate"!==ie.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.getCurrentNavigation()?.finalUrl||0===qe?this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===qe&&(this.resetState(ie),this.browserUrlTree=ie.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(qe)}else"replace"===this.canceledNavigationResolution&&(Ee&&this.resetState(ie),this.resetUrlToCurrentUrlTree())}resetState(ie){this.routerState=ie.currentRouterState,this.currentUrlTree=ie.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,ie.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(ie,Ee){return"computed"===this.canceledNavigationResolution?{navigationId:ie,\u0275routerPageId:Ee}:{navigationId:ie}}}Dr.\u0275fac=function(ie){e.$Z()},Dr.\u0275prov=e.Yz7({token:Dr,factory:function(){return hl()},providedIn:"root"});class fl{constructor(ie,Ee,qe,at,mt,Wt){this.router=ie,this.route=Ee,this.tabIndexAttribute=qe,this.renderer=at,this.el=mt,this.locationStrategy=Wt,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new z.x;const mn=mt.nativeElement.tagName;this.isAnchorElement="A"===mn||"AREA"===mn,this.isAnchorElement?this.subscription=ie.events.subscribe(Dn=>{Dn instanceof en&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(ie){this._preserveFragment=(0,e.D6c)(ie)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(ie){this._skipLocationChange=(0,e.D6c)(ie)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(ie){this._replaceUrl=(0,e.D6c)(ie)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(ie){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",ie)}ngOnChanges(ie){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(ie){null!=ie?(this.commands=Array.isArray(ie)?ie:[ie],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(ie,Ee,qe,at,mt){if(null===this.urlTree||this.isAnchorElement&&(0!==ie||Ee||qe||at||mt||"string"==typeof this.target&&"_self"!=this.target))return!0;const Wt={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state};return this.router.navigateByUrl(this.urlTree,Wt),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const ie=null===this.href?null:(0,e.P3R)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",ie)}applyAttributeValue(ie,Ee){const qe=this.renderer,at=this.el.nativeElement;null!==Ee?qe.setAttribute(at,ie,Ee):qe.removeAttribute(at,ie)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}fl.\u0275fac=function(ie){return new(ie||fl)(e.Y36(Dr),e.Y36(Ha),e.$8M("tabindex"),e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(I.S$))},fl.\u0275dir=e.lG2({type:fl,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(ie,Ee){1&ie&&e.NdJ("click",function(at){return Ee.onClick(at.button,at.ctrlKey,at.shiftKey,at.altKey,at.metaKey)}),2&ie&&e.uIk("target",Ee.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",routerLink:"routerLink"},standalone:!0,features:[e.TTD]});class pl{constructor(ie,Ee,qe,at,mt){this.router=ie,this.element=Ee,this.renderer=qe,this.cdr=at,this.link=mt,this.classes=[],this.isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new e.vpe,this.routerEventsSubscription=ie.events.subscribe(Wt=>{Wt instanceof en&&this.update()})}ngAfterContentInit(){(0,_.of)(this.links.changes,(0,_.of)(null)).pipe((0,N.J)()).subscribe(ie=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const ie=[...this.links.toArray(),this.link].filter(Ee=>!!Ee).map(Ee=>Ee.onChanges);this.linkInputChangesSubscription=(0,t.D)(ie).pipe((0,N.J)()).subscribe(Ee=>{this.isActive!==this.isLinkActive(this.router)(Ee)&&this.update()})}set routerLinkActive(ie){const Ee=Array.isArray(ie)?ie:ie.split(" ");this.classes=Ee.filter(qe=>!!qe)}ngOnChanges(ie){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||Promise.resolve().then(()=>{const ie=this.hasActiveLinks();this.isActive!==ie&&(this.isActive=ie,this.cdr.markForCheck(),this.classes.forEach(Ee=>{ie?this.renderer.addClass(this.element.nativeElement,Ee):this.renderer.removeClass(this.element.nativeElement,Ee)}),ie&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(ie))})}isLinkActive(ie){const Ee=function S2(Te){return!!Te.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return qe=>!!qe.urlTree&&ie.isActive(qe.urlTree,Ee)}hasActiveLinks(){const ie=this.isLinkActive(this.router);return this.link&&ie(this.link)||this.links.some(ie)}}pl.\u0275fac=function(ie){return new(ie||pl)(e.Y36(Dr),e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.sBO),e.Y36(fl,8))},pl.\u0275dir=e.lG2({type:pl,selectors:[["","routerLinkActive",""]],contentQueries:function(ie,Ee,qe){if(1&ie&&e.Suo(qe,fl,5),2&ie){let at;e.iGM(at=e.CRH())&&(Ee.links=at)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[e.TTD]});class S1{}class or{preload(ie,Ee){return Ee().pipe((0,$.K)(()=>(0,_.of)(null)))}}or.\u0275fac=function(ie){return new(ie||or)},or.\u0275prov=e.Yz7({token:or,factory:or.\u0275fac,providedIn:"root"});class _l{preload(ie,Ee){return(0,_.of)(null)}}_l.\u0275fac=function(ie){return new(ie||_l)},_l.\u0275prov=e.Yz7({token:_l,factory:_l.\u0275fac,providedIn:"root"});class Mo{constructor(ie,Ee,qe,at,mt){this.router=ie,this.injector=qe,this.preloadingStrategy=at,this.loader=mt}setUpPreloading(){this.subscription=this.router.events.pipe((0,re.h)(ie=>ie instanceof en),(0,ve.b)(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(ie,Ee){const qe=[];for(const at of Ee){at.providers&&!at._injector&&(at._injector=(0,e.MMx)(at.providers,ie,`Route: ${at.path}`));const mt=at._injector??ie,Wt=at._loadedInjector??mt;at.loadChildren&&!at._loadedRoutes&&void 0===at.canLoad||at.loadComponent&&!at._loadedComponent?qe.push(this.preloadConfig(mt,at)):(at.children||at._loadedRoutes)&&qe.push(this.processRoutes(Wt,at.children??at._loadedRoutes))}return(0,t.D)(qe).pipe((0,N.J)())}preloadConfig(ie,Ee){return this.preloadingStrategy.preload(Ee,()=>{let qe;qe=Ee.loadChildren&&void 0===Ee.canLoad?this.loader.loadChildren(ie,Ee):(0,_.of)(null);const at=qe.pipe((0,pe.z)(mt=>null===mt?(0,_.of)(void 0):(Ee._loadedRoutes=mt.routes,Ee._loadedInjector=mt.injector,this.processRoutes(mt.injector??ie,mt.routes))));if(Ee.loadComponent&&!Ee._loadedComponent){const mt=this.loader.loadComponent(Ee);return(0,t.D)([at,mt]).pipe((0,N.J)())}return at})}}Mo.\u0275fac=function(ie){return new(ie||Mo)(e.LFG(Dr),e.LFG(e.Sil),e.LFG(e.lqb),e.LFG(S1),e.LFG(Qt))},Mo.\u0275prov=e.Yz7({token:Mo,factory:Mo.\u0275fac,providedIn:"root"});const vo=new e.OlP("");class Bl{constructor(ie,Ee,qe,at,mt={}){this.urlSerializer=ie,this.transitions=Ee,this.viewportScroller=qe,this.zone=at,this.options=mt,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},mt.scrollPositionRestoration=mt.scrollPositionRestoration||"disabled",mt.anchorScrolling=mt.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(ie=>{ie instanceof hn?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=ie.navigationTrigger,this.restoredId=ie.restoredState?ie.restoredState.navigationId:0):ie instanceof en&&(this.lastId=ie.id,this.scheduleScrollEvent(ie,this.urlSerializer.parse(ie.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(ie=>{ie instanceof qn&&(ie.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(ie.position):ie.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(ie.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(ie,Ee){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new qn(ie,"popstate"===this.lastSource?this.store[this.restoredId]:null,Ee))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}Bl.\u0275fac=function(ie){e.$Z()},Bl.\u0275prov=e.Yz7({token:Bl,factory:Bl.\u0275fac});function P1(Te){return Te.routerState.root}function gl(Te,ie){return{\u0275kind:Te,\u0275providers:ie}}const cc=new e.OlP("",{providedIn:"root",factory:()=>!1});e.Xts;function io(){const Te=(0,e.f3M)(e.zs3);return ie=>{const Ee=Te.get(e.z2F);if(ie!==Ee.components[0])return;const qe=Te.get(Dr),at=Te.get(vl);1===Te.get(dc)&&qe.initialNavigation(),Te.get(Eo,null,e.XFs.Optional)?.setUpPreloading(),Te.get(vo,null,e.XFs.Optional)?.init(),qe.resetRootComponentType(Ee.componentTypes[0]),at.closed||(at.next(),at.unsubscribe())}}const vl=new e.OlP("",{factory:()=>new z.x}),dc=new e.OlP("",{providedIn:"root",factory:()=>1});function R1(){return gl(2,[{provide:dc,useValue:0},{provide:e.ip1,multi:!0,deps:[e.zs3],useFactory:ie=>{const Ee=ie.get(I.V_,Promise.resolve());return()=>Ee.then(()=>new Promise(at=>{const mt=ie.get(Dr),Wt=ie.get(vl);(function qe(at){ie.get(Dr).events.pipe((0,re.h)(Wt=>Wt instanceof en||Wt instanceof gn||Wt instanceof Qn),(0,W.U)(Wt=>Wt instanceof en||Wt instanceof gn&&(0===Wt.code||1===Wt.code)&&null),(0,re.h)(Wt=>null!==Wt),(0,j.q)(1)).subscribe(()=>{at()})})(()=>{at(!0)}),mt.afterPreactivation=()=>(at(!0),Wt.closed?(0,_.of)(void 0):Wt),mt.initialNavigation()}))}}])}const Eo=new e.OlP("");const yl=new e.OlP("ROUTER_FORROOT_GUARD"),Bo=[I.Ye,{provide:Jt,useClass:Gt},{provide:Dr,useFactory:hl},Ca,{provide:Ha,useFactory:P1,deps:[Dr]},Qt,[]];function ro(){return new e.PXZ("Router",Dr)}class Rs{constructor(ie){}static forRoot(ie,Ee){return{ngModule:Rs,providers:[Bo,[],{provide:Qe,multi:!0,useValue:ie},{provide:yl,useFactory:qo,deps:[[Dr,new e.FiY,new e.tp0]]},{provide:Mr,useValue:Ee||{}},Ee?.useHash?{provide:I.S$,useClass:I.Do}:{provide:I.S$,useClass:I.b0},{provide:vo,useFactory:()=>{const Te=(0,e.f3M)(I.EM),ie=(0,e.f3M)(e.R0b),Ee=(0,e.f3M)(Mr),qe=(0,e.f3M)(Sn),at=(0,e.f3M)(Jt);return Ee.scrollOffset&&Te.setOffset(Ee.scrollOffset),new Bl(at,qe,Te,ie,Ee)}},Ee?.preloadingStrategy?(Te=Ee.preloadingStrategy,gl(0,[{provide:Eo,useExisting:Mo},{provide:S1,useExisting:Te}])).\u0275providers:[],{provide:e.PXZ,multi:!0,useFactory:ro},Ee?.initialNavigation?B1(Ee):[],[{provide:va,useFactory:io},{provide:e.tb,multi:!0,useExisting:va}]]};var Te}static forChild(ie){return{ngModule:Rs,providers:[{provide:Qe,multi:!0,useValue:ie}]}}}function qo(Te){return"guarded"}function B1(Te){return["disabled"===Te.initialNavigation?gl(3,[{provide:e.ip1,multi:!0,useFactory:()=>{const ie=(0,e.f3M)(Dr);return()=>{ie.setUpLocationChangeListener()}}},{provide:dc,useValue:2}]).\u0275providers:[],"enabledBlocking"===Te.initialNavigation?R1().\u0275providers:[]]}Rs.\u0275fac=function(ie){return new(ie||Rs)(e.LFG(yl,8))},Rs.\u0275mod=e.oAB({type:Rs}),Rs.\u0275inj=e.cJS({imports:[nr]});const va=new e.OlP("");new e.GfV("15.0.2")},3505:(Ve,X,m)=>{"use strict";m.d(X,{BN:()=>Ne,uH:()=>Un});var e=m(2560);function t(Xe,rt){var yt=Object.keys(Xe);if(Object.getOwnPropertySymbols){var Pt=Object.getOwnPropertySymbols(Xe);rt&&(Pt=Pt.filter(function(Qe){return Object.getOwnPropertyDescriptor(Xe,Qe).enumerable})),yt.push.apply(yt,Pt)}return yt}function _(Xe){for(var rt=1;rtXe.length)&&(rt=Xe.length);for(var yt=0,Pt=new Array(rt);yt0;)rt+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return rt}function Ce(Xe){for(var rt=[],yt=(Xe||[]).length>>>0;yt--;)rt[yt]=Xe[yt];return rt}function Je(Xe){return Xe.classList?Ce(Xe.classList):(Xe.getAttribute("class")||"").split(" ").filter(function(rt){return rt})}function Ut(Xe){return"".concat(Xe).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Tt(Xe){return Object.keys(Xe||{}).reduce(function(rt,yt){return rt+"".concat(yt,": ").concat(Xe[yt].trim(),";")},"")}function Ht(Xe){return Xe.size!==_t.size||Xe.x!==_t.x||Xe.y!==_t.y||Xe.rotate!==_t.rotate||Xe.flipX||Xe.flipY}function Rt(){var rt=We,yt=Y.cssPrefix,Pt=Y.replacementClass,Qe=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(var(--fa-li-width, 2em) * -1);\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n transition-delay: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\n transform: rotate(var(--fa-rotate-angle, none));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';if("fa"!==yt||Pt!==rt){var Qt=new RegExp("\\.".concat("fa","\\-"),"g"),sn=new RegExp("\\--".concat("fa","\\-"),"g"),qt=new RegExp("\\.".concat(rt),"g");Qe=Qe.replace(Qt,".".concat(yt,"-")).replace(sn,"--".concat(yt,"-")).replace(qt,".".concat(Pt))}return Qe}var Xt=!1;function Vn(){Y.autoAddCss&&!Xt&&(function ct(Xe){if(Xe&&v){var rt=d.createElement("style");rt.setAttribute("type","text/css"),rt.innerHTML=Xe;for(var yt=d.head.childNodes,Pt=null,Qe=yt.length-1;Qe>-1;Qe--){var Qt=yt[Qe],sn=(Qt.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(sn)>-1&&(Pt=Qt)}return d.head.insertBefore(rt,Pt),Xe}}(Rt()),Xt=!0)}var zn={mixout:function(){return{dom:{css:Rt,insertCss:Vn}}},hooks:function(){return{beforeDOMElementCreation:function(){Vn()},beforeI2svg:function(){Vn()}}}},Tn=h||{};Tn[ke]||(Tn[ke]={}),Tn[ke].styles||(Tn[ke].styles={}),Tn[ke].hooks||(Tn[ke].hooks={}),Tn[ke].shims||(Tn[ke].shims=[]);var Yn=Tn[ke],Mt=[],Be=!1;function ht(Xe){!v||(Be?setTimeout(Xe,0):Mt.push(Xe))}function se(Xe){var rt=Xe.tag,yt=Xe.attributes,Pt=void 0===yt?{}:yt,Qe=Xe.children,Qt=void 0===Qe?[]:Qe;return"string"==typeof Xe?Ut(Xe):"<".concat(rt," ").concat(function Dt(Xe){return Object.keys(Xe||{}).reduce(function(rt,yt){return rt+"".concat(yt,'="').concat(Ut(Xe[yt]),'" ')},"").trim()}(Pt),">").concat(Qt.map(se).join(""),"")}function Ae(Xe,rt,yt){if(Xe&&Xe[rt]&&Xe[rt][yt])return{prefix:rt,iconName:yt,icon:Xe[rt][yt]}}v&&((Be=(d.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(d.readyState))||d.addEventListener("DOMContentLoaded",function Xe(){d.removeEventListener("DOMContentLoaded",Xe),Be=1,Mt.map(function(rt){return rt()})}));var Lt=function(rt,yt,Pt,Qe){var An,Sn,Jn,Qt=Object.keys(rt),sn=Qt.length,qt=void 0!==Qe?function(rt,yt){return function(Pt,Qe,Qt,sn){return rt.call(yt,Pt,Qe,Qt,sn)}}(yt,Qe):yt;for(void 0===Pt?(An=1,Jn=rt[Qt[0]]):(An=0,Jn=Pt);An=55296&&Qe<=56319&&yt2&&void 0!==arguments[2]?arguments[2]:{},Pt=yt.skipHooks,Qe=void 0!==Pt&&Pt,Qt=ti(rt);"function"!=typeof Yn.hooks.addPack||Qe?Yn.styles[Xe]=_(_({},Yn.styles[Xe]||{}),Qt):Yn.hooks.addPack(Xe,ti(rt)),"fas"===Xe&&Mn("fa",rt)}var ai,rn,hn,en=Yn.styles,gn=Yn.shims,Qn=(p(ai={},fe,Object.values(oe[fe])),p(ai,ee,Object.values(oe[ee])),ai),Ei=null,ha={},mi={},qi={},Zi={},Za={},mr=(p(rn={},fe,Object.keys(Oe[fe])),p(rn,ee,Object.keys(Oe[ee])),rn);function Ft(Xe,rt){var yt=rt.split("-"),Pt=yt[0],Qe=yt.slice(1).join("-");return Pt!==Xe||""===Qe||function It(Xe){return~an.indexOf(Xe)}(Qe)?null:Qe}var ln=function(){var rt=function(Qt){return Lt(en,function(sn,qt,An){return sn[An]=Lt(qt,Qt,{}),sn},{})};ha=rt(function(Qe,Qt,sn){(Qt[3]&&(Qe[Qt[3]]=sn),Qt[2])&&Qt[2].filter(function(An){return"number"==typeof An}).forEach(function(An){Qe[An.toString(16)]=sn});return Qe}),mi=rt(function(Qe,Qt,sn){(Qe[sn]=sn,Qt[2])&&Qt[2].filter(function(An){return"string"==typeof An}).forEach(function(An){Qe[An]=sn});return Qe}),Za=rt(function(Qe,Qt,sn){var qt=Qt[2];return Qe[sn]=sn,qt.forEach(function(An){Qe[An]=sn}),Qe});var yt="far"in en||Y.autoFetchSvg,Pt=Lt(gn,function(Qe,Qt){var sn=Qt[0],qt=Qt[1],An=Qt[2];return"far"===qt&&!yt&&(qt="fas"),"string"==typeof sn&&(Qe.names[sn]={prefix:qt,iconName:An}),"number"==typeof sn&&(Qe.unicodes[sn.toString(16)]={prefix:qt,iconName:An}),Qe},{names:{},unicodes:{}});qi=Pt.names,Zi=Pt.unicodes,Ei=Di(Y.styleDefault,{family:Y.familyDefault})};function En(Xe,rt){return(ha[Xe]||{})[rt]}function Nn(Xe,rt){return(Za[Xe]||{})[rt]}function li(Xe){return qi[Xe]||{prefix:null,iconName:null}}function Ii(){return Ei}(function xe(Xe){return te.push(Xe),function(){te.splice(te.indexOf(Xe),1)}})(function(Xe){Ei=Di(Xe.styleDefault,{family:Y.familyDefault})}),ln();function Di(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},yt=rt.family,Pt=void 0===yt?fe:yt,Qe=Oe[Pt][Xe],Qt=Re[Pt][Xe]||Re[Pt][Qe],sn=Xe in Yn.styles?Xe:null;return Qt||sn||null}var Ji=(p(hn={},fe,Object.keys(oe[fe])),p(hn,ee,Object.keys(oe[ee])),hn);function ka(Xe){var rt,yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=yt.skipLookups,Qe=void 0!==Pt&&Pt,Qt=(p(rt={},fe,"".concat(Y.cssPrefix,"-").concat(fe)),p(rt,ee,"".concat(Y.cssPrefix,"-").concat(ee)),rt),sn=null,qt=fe;(Xe.includes(Qt[fe])||Xe.some(function(Sn){return Ji[fe].includes(Sn)}))&&(qt=fe),(Xe.includes(Qt[ee])||Xe.some(function(Sn){return Ji[ee].includes(Sn)}))&&(qt=ee);var An=Xe.reduce(function(Sn,Jn){var oi=Ft(Y.cssPrefix,Jn);if(en[Jn]?(Jn=Qn[qt].includes(Jn)?pt[qt][Jn]:Jn,sn=Jn,Sn.prefix=Jn):mr[qt].indexOf(Jn)>-1?(sn=Jn,Sn.prefix=Di(Jn,{family:qt})):oi?Sn.iconName=oi:Jn!==Y.replacementClass&&Jn!==Qt[fe]&&Jn!==Qt[ee]&&Sn.rest.push(Jn),!Qe&&Sn.prefix&&Sn.iconName){var xi="fa"===sn?li(Sn.iconName):{},Si=Nn(Sn.prefix,Sn.iconName);xi.prefix&&(sn=null),Sn.iconName=xi.iconName||Si||Sn.iconName,Sn.prefix=xi.prefix||Sn.prefix,"far"===Sn.prefix&&!en.far&&en.fas&&!Y.autoFetchSvg&&(Sn.prefix="fas")}return Sn},{prefix:null,iconName:null,rest:[]});return(Xe.includes("fa-brands")||Xe.includes("fab"))&&(An.prefix="fab"),(Xe.includes("fa-duotone")||Xe.includes("fad"))&&(An.prefix="fad"),!An.prefix&&qt===ee&&(en.fass||Y.autoFetchSvg)&&(An.prefix="fass",An.iconName=Nn(An.prefix,An.iconName)||An.iconName),("fa"===An.prefix||"fa"===sn)&&(An.prefix=Ii()||"fas"),An}var Yi=function(){function Xe(){(function D(Xe,rt){if(!(Xe instanceof rt))throw new TypeError("Cannot call a class as a function")})(this,Xe),this.definitions={}}return function k(Xe,rt,yt){return rt&&u(Xe.prototype,rt),yt&&u(Xe,yt),Object.defineProperty(Xe,"prototype",{writable:!1}),Xe}(Xe,[{key:"add",value:function(){for(var yt=this,Pt=arguments.length,Qe=new Array(Pt),Qt=0;Qt0&&Jn.forEach(function(oi){"string"==typeof oi&&(yt[qt][oi]=Sn)}),yt[qt][An]=Sn}),yt}}]),Xe}(),Ha=[],Hi={},La={},gr=Object.keys(La);function fa(Xe,rt){for(var yt=arguments.length,Pt=new Array(yt>2?yt-2:0),Qe=2;Qe1?rt-1:0),Pt=1;Pt0&&void 0!==arguments[0]?arguments[0]:{};return v?(Ki("beforeI2svg",rt),xa("pseudoElements2svg",rt),xa("i2svg",rt)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var rt=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},yt=rt.autoReplaceSvgRoot;!1===Y.autoReplaceSvg&&(Y.autoReplaceSvg=!0),Y.observeMutations=!0,ht(function(){Gr({autoReplaceSvgRoot:yt}),Ki("watch",rt)})}},Qi={noAuto:function(){Y.autoReplaceSvg=!1,Y.observeMutations=!1,Ki("noAuto")},config:Y,dom:js,parse:{icon:function(rt){if(null===rt)return null;if("object"===E(rt)&&rt.prefix&&rt.iconName)return{prefix:rt.prefix,iconName:Nn(rt.prefix,rt.iconName)||rt.iconName};if(Array.isArray(rt)&&2===rt.length){var yt=0===rt[1].indexOf("fa-")?rt[1].slice(3):rt[1],Pt=Di(rt[0]);return{prefix:Pt,iconName:Nn(Pt,yt)||yt}}if("string"==typeof rt&&(rt.indexOf("".concat(Y.cssPrefix,"-"))>-1||rt.match(it))){var Qe=ka(rt.split(" "),{skipLookups:!0});return{prefix:Qe.prefix||Ii(),iconName:Nn(Qe.prefix,Qe.iconName)||Qe.iconName}}if("string"==typeof rt){var Qt=Ii();return{prefix:Qt,iconName:Nn(Qt,rt)||rt}}}},library:fo,findIconDefinition:ra,toHtml:se},Gr=function(){var rt=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},yt=rt.autoReplaceSvgRoot,Pt=void 0===yt?d:yt;(Object.keys(Yn.styles).length>0||Y.autoFetchSvg)&&v&&Y.autoReplaceSvg&&Qi.dom.i2svg({node:Pt})};function Ta(Xe,rt){return Object.defineProperty(Xe,"abstract",{get:rt}),Object.defineProperty(Xe,"html",{get:function(){return Xe.abstract.map(function(Pt){return se(Pt)})}}),Object.defineProperty(Xe,"node",{get:function(){if(v){var Pt=d.createElement("div");return Pt.innerHTML=Xe.html,Pt.children}}}),Xe}function Ls(Xe){var rt=Xe.icons,yt=rt.main,Pt=rt.mask,Qe=Xe.prefix,Qt=Xe.iconName,sn=Xe.transform,qt=Xe.symbol,An=Xe.title,Sn=Xe.maskId,Jn=Xe.titleId,oi=Xe.extra,xi=Xe.watchable,Si=void 0!==xi&&xi,ur=Pt.found?Pt:yt,Cr=ur.width,Qr=ur.height,Mr="fak"===Qe,Ka=[Y.replacementClass,Qt?"".concat(Y.cssPrefix,"-").concat(Qt):""].filter(function(go){return-1===oi.classes.indexOf(go)}).filter(function(go){return""!==go||!!go}).concat(oi.classes).join(" "),Ma={children:[],attributes:_(_({},oi.attributes),{},{"data-prefix":Qe,"data-icon":Qt,class:Ka,role:oi.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(Cr," ").concat(Qr)})},ls=Mr&&!~oi.classes.indexOf("fa-fw")?{width:"".concat(Cr/Qr*16*.0625,"em")}:{};Si&&(Ma.attributes[be]=""),An&&(Ma.children.push({tag:"title",attributes:{id:Ma.attributes["aria-labelledby"]||"title-".concat(Jn||Me())},children:[An]}),delete Ma.attributes.title);var Na=_(_({},Ma),{},{prefix:Qe,iconName:Qt,main:yt,mask:Pt,maskId:Sn,transform:sn,symbol:qt,styles:_(_({},ls),oi.styles)}),mo=Pt.found&&yt.found?xa("generateAbstractMask",Na)||{children:[],attributes:{}}:xa("generateAbstractIcon",Na)||{children:[],attributes:{}},Er=mo.children,bs=mo.attributes;return Na.children=Er,Na.attributes=bs,qt?function Ua(Xe){var rt=Xe.prefix,yt=Xe.iconName,Pt=Xe.children,Qe=Xe.attributes,Qt=Xe.symbol,sn=!0===Qt?"".concat(rt,"-").concat(Y.cssPrefix,"-").concat(yt):Qt;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:_(_({},Qe),{},{id:sn}),children:Pt}]}]}(Na):function Is(Xe){var rt=Xe.children,yt=Xe.main,Pt=Xe.mask,Qe=Xe.attributes,Qt=Xe.styles,sn=Xe.transform;if(Ht(sn)&&yt.found&&!Pt.found){var Sn={x:yt.width/yt.height/2,y:.5};Qe.style=Tt(_(_({},Qt),{},{"transform-origin":"".concat(Sn.x+sn.x/16,"em ").concat(Sn.y+sn.y/16,"em")}))}return[{tag:"svg",attributes:Qe,children:rt}]}(Na)}function Ca(Xe){var rt=Xe.content,yt=Xe.width,Pt=Xe.height,Qe=Xe.transform,Qt=Xe.title,sn=Xe.extra,qt=Xe.watchable,An=void 0!==qt&&qt,Sn=_(_(_({},sn.attributes),Qt?{title:Qt}:{}),{},{class:sn.classes.join(" ")});An&&(Sn[be]="");var Jn=_({},sn.styles);Ht(Qe)&&(Jn.transform=function $e(Xe){var rt=Xe.transform,yt=Xe.width,Pt=void 0===yt?16:yt,Qe=Xe.height,Qt=void 0===Qe?16:Qe,sn=Xe.startCentered,qt=void 0!==sn&&sn,An="";return An+=qt&&a?"translate(".concat(rt.x/16-Pt/2,"em, ").concat(rt.y/16-Qt/2,"em) "):qt?"translate(calc(-50% + ".concat(rt.x/16,"em), calc(-50% + ").concat(rt.y/16,"em)) "):"translate(".concat(rt.x/16,"em, ").concat(rt.y/16,"em) "),An+="scale(".concat(rt.size/16*(rt.flipX?-1:1),", ").concat(rt.size/16*(rt.flipY?-1:1),") "),An+"rotate(".concat(rt.rotate,"deg) ")}({transform:Qe,startCentered:!0,width:yt,height:Pt}),Jn["-webkit-transform"]=Jn.transform);var oi=Tt(Jn);oi.length>0&&(Sn.style=oi);var xi=[];return xi.push({tag:"span",attributes:Sn,children:[rt]}),Qt&&xi.push({tag:"span",attributes:{class:"sr-only"},children:[Qt]}),xi}function vr(Xe){var rt=Xe.content,yt=Xe.title,Pt=Xe.extra,Qe=_(_(_({},Pt.attributes),yt?{title:yt}:{}),{},{class:Pt.classes.join(" ")}),Qt=Tt(Pt.styles);Qt.length>0&&(Qe.style=Qt);var sn=[];return sn.push({tag:"span",attributes:Qe,children:[rt]}),yt&&sn.push({tag:"span",attributes:{class:"sr-only"},children:[yt]}),sn}var Or=Yn.styles;function qs(Xe){var rt=Xe[0],yt=Xe[1],Qt=P(Xe.slice(4),1)[0];return{found:!0,width:rt,height:yt,icon:Array.isArray(Qt)?{tag:"g",attributes:{class:"".concat(Y.cssPrefix,"-").concat(Gt_GROUP)},children:[{tag:"path",attributes:{class:"".concat(Y.cssPrefix,"-").concat(Gt_SECONDARY),fill:"currentColor",d:Qt[0]}},{tag:"path",attributes:{class:"".concat(Y.cssPrefix,"-").concat(Gt_PRIMARY),fill:"currentColor",d:Qt[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:Qt}}}}var ms={found:!1,width:512,height:512};function Pr(Xe,rt){var yt=rt;return"fa"===rt&&null!==Y.styleDefault&&(rt=Ii()),new Promise(function(Pt,Qe){xa("missingIconAbstract");if("fa"===yt){var sn=li(Xe)||{};Xe=sn.iconName||Xe,rt=sn.prefix||rt}if(Xe&&rt&&Or[rt]&&Or[rt][Xe])return Pt(qs(Or[rt][Xe]));(function nr(Xe,rt){!ne&&!Y.showMissingIcons&&Xe&&console.error('Icon with name "'.concat(Xe,'" and prefix "').concat(rt,'" is missing.'))})(Xe,rt),Pt(_(_({},ms),{},{icon:Y.showMissingIcons&&Xe&&xa("missingIconAbstract")||{}}))})}var Xs=function(){},pa=Y.measurePerformance&&L&&L.mark&&L.measure?L:{mark:Xs,measure:Xs},Js='FA "6.2.1"',Ss=function(rt){pa.mark("".concat(Js," ").concat(rt," ends")),pa.measure("".concat(Js," ").concat(rt),"".concat(Js," ").concat(rt," begins"),"".concat(Js," ").concat(rt," ends"))},Ja_begin=function(rt){return pa.mark("".concat(Js," ").concat(rt," begins")),function(){return Ss(rt)}},Os=function(){};function $a(Xe){return"string"==typeof(Xe.getAttribute?Xe.getAttribute(be):null)}function br(Xe){return d.createElementNS("http://www.w3.org/2000/svg",Xe)}function as(Xe){return d.createElement(Xe)}function kr(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},yt=rt.ceFn,Pt=void 0===yt?"svg"===Xe.tag?br:as:yt;if("string"==typeof Xe)return d.createTextNode(Xe);var Qe=Pt(Xe.tag);Object.keys(Xe.attributes||[]).forEach(function(sn){Qe.setAttribute(sn,Xe.attributes[sn])});var Qt=Xe.children||[];return Qt.forEach(function(sn){Qe.appendChild(kr(sn,{ceFn:Pt}))}),Qe}var dn={replace:function(rt){var yt=rt[0];if(yt.parentNode)if(rt[1].forEach(function(Qe){yt.parentNode.insertBefore(kr(Qe),yt)}),null===yt.getAttribute(be)&&Y.keepOriginalSource){var Pt=d.createComment(function Va(Xe){var rt=" ".concat(Xe.outerHTML," ");return"".concat(rt,"Font Awesome fontawesome.com ")}(yt));yt.parentNode.replaceChild(Pt,yt)}else yt.remove()},nest:function(rt){var yt=rt[0],Pt=rt[1];if(~Je(yt).indexOf(Y.replacementClass))return dn.replace(rt);var Qe=new RegExp("".concat(Y.cssPrefix,"-.*"));if(delete Pt[0].attributes.id,Pt[0].attributes.class){var Qt=Pt[0].attributes.class.split(" ").reduce(function(qt,An){return An===Y.replacementClass||An.match(Qe)?qt.toSvg.push(An):qt.toNode.push(An),qt},{toNode:[],toSvg:[]});Pt[0].attributes.class=Qt.toSvg.join(" "),0===Qt.toNode.length?yt.removeAttribute("class"):yt.setAttribute("class",Qt.toNode.join(" "))}var sn=Pt.map(function(qt){return se(qt)}).join("\n");yt.setAttribute(be,""),yt.innerHTML=sn}};function xt(Xe){Xe()}function Bt(Xe,rt){var yt="function"==typeof rt?rt:Os;if(0===Xe.length)yt();else{var Pt=xt;"async"===Y.mutateApproach&&(Pt=h.requestAnimationFrame||xt),Pt(function(){var Qe=function ir(){return!0===Y.autoReplaceSvg?dn.replace:dn[Y.autoReplaceSvg]||dn.replace}(),Qt=Ja_begin("mutate");Xe.map(Qe),Qt(),yt()})}}var Fn=!1;function ri(){Fn=!0}function Bi(){Fn=!1}var Xi=null;function oa(Xe){if(y&&Y.observeMutations){var rt=Xe.treeCallback,yt=void 0===rt?Os:rt,Pt=Xe.nodeCallback,Qe=void 0===Pt?Os:Pt,Qt=Xe.pseudoElementsCallback,sn=void 0===Qt?Os:Qt,qt=Xe.observeMutationsRoot,An=void 0===qt?d:qt;Xi=new y(function(Sn){if(!Fn){var Jn=Ii();Ce(Sn).forEach(function(oi){if("childList"===oi.type&&oi.addedNodes.length>0&&!$a(oi.addedNodes[0])&&(Y.searchPseudoElements&&sn(oi.target),yt(oi.target)),"attributes"===oi.type&&oi.target.parentNode&&Y.searchPseudoElements&&sn(oi.target.parentNode),"attributes"===oi.type&&$a(oi.target)&&~Jt.indexOf(oi.attributeName))if("class"===oi.attributeName&&function yr(Xe){var rt=Xe.getAttribute?Xe.getAttribute(ge):null,yt=Xe.getAttribute?Xe.getAttribute(et):null;return rt&&yt}(oi.target)){var xi=ka(Je(oi.target)),Si=xi.prefix,ur=xi.iconName;oi.target.setAttribute(ge,Si||Jn),ur&&oi.target.setAttribute(et,ur)}else(function sa(Xe){return Xe&&Xe.classList&&Xe.classList.contains&&Xe.classList.contains(Y.replacementClass)})(oi.target)&&Qe(oi.target)})}}),v&&Xi.observe(An,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Li(Xe){var rt=Xe.getAttribute("style"),yt=[];return rt&&(yt=rt.split(";").reduce(function(Pt,Qe){var Qt=Qe.split(":"),sn=Qt[0],qt=Qt.slice(1);return sn&&qt.length>0&&(Pt[sn]=qt.join(":").trim()),Pt},{})),yt}function rs(Xe){var rt=Xe.getAttribute("data-prefix"),yt=Xe.getAttribute("data-icon"),Pt=void 0!==Xe.innerText?Xe.innerText.trim():"",Qe=ka(Je(Xe));return Qe.prefix||(Qe.prefix=Ii()),rt&&yt&&(Qe.prefix=rt,Qe.iconName=yt),Qe.iconName&&Qe.prefix||(Qe.prefix&&Pt.length>0&&(Qe.iconName=function qn(Xe,rt){return(mi[Xe]||{})[rt]}(Qe.prefix,Xe.innerText)||En(Qe.prefix,Bn(Xe.innerText))),!Qe.iconName&&Y.autoFetchSvg&&Xe.firstChild&&Xe.firstChild.nodeType===Node.TEXT_NODE&&(Qe.iconName=Xe.firstChild.data)),Qe}function Rr(Xe){var rt=Ce(Xe.attributes).reduce(function(Qe,Qt){return"class"!==Qe.name&&"style"!==Qe.name&&(Qe[Qt.name]=Qt.value),Qe},{}),yt=Xe.getAttribute("title"),Pt=Xe.getAttribute("data-fa-title-id");return Y.autoA11y&&(yt?rt["aria-labelledby"]="".concat(Y.replacementClass,"-title-").concat(Pt||Me()):(rt["aria-hidden"]="true",rt.focusable="false")),rt}function ca(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},yt=rs(Xe),Pt=yt.iconName,Qe=yt.prefix,Qt=yt.rest,sn=Rr(Xe),qt=fa("parseNodeAttributes",{},Xe),An=rt.styleParser?Li(Xe):[];return _({iconName:Pt,title:Xe.getAttribute("title"),titleId:Xe.getAttribute("data-fa-title-id"),prefix:Qe,transform:_t,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:Qt,styles:An,attributes:sn}},qt)}var si=Yn.styles;function ar(Xe){var rt="nest"===Y.autoReplaceSvg?ca(Xe,{styleParser:!1}):ca(Xe);return~rt.extra.classes.indexOf(Ct)?xa("generateLayersText",Xe,rt):xa("generateSvgReplacementMutation",Xe,rt)}var Ps=new Set;function bt(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!v)return Promise.resolve();var yt=d.documentElement.classList,Pt=function(oi){return yt.add("".concat(ut,"-").concat(oi))},Qe=function(oi){return yt.remove("".concat(ut,"-").concat(oi))},Qt=Y.autoFetchSvg?Ps:H.map(function(Jn){return"fa-".concat(Jn)}).concat(Object.keys(si));Qt.includes("fa")||Qt.push("fa");var sn=[".".concat(Ct,":not([").concat(be,"])")].concat(Qt.map(function(Jn){return".".concat(Jn,":not([").concat(be,"])")})).join(", ");if(0===sn.length)return Promise.resolve();var qt=[];try{qt=Ce(Xe.querySelectorAll(sn))}catch{}if(!(qt.length>0))return Promise.resolve();Pt("pending"),Qe("complete");var An=Ja_begin("onTree"),Sn=qt.reduce(function(Jn,oi){try{var xi=ar(oi);xi&&Jn.push(xi)}catch(Si){ne||"MissingIcon"===Si.name&&console.error(Si)}return Jn},[]);return new Promise(function(Jn,oi){Promise.all(Sn).then(function(xi){Bt(xi,function(){Pt("active"),Pt("complete"),Qe("pending"),"function"==typeof rt&&rt(),An(),Jn()})}).catch(function(xi){An(),oi(xi)})})}function ye(Xe){var rt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;ar(Xe).then(function(yt){yt&&Bt([yt],rt)})}H.map(function(Xe){Ps.add("fa-".concat(Xe))}),Object.keys(Oe[fe]).map(Ps.add.bind(Ps)),Object.keys(Oe[ee]).map(Ps.add.bind(Ps)),Ps=M(Ps);var Yt=function(rt){var yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=yt.transform,Qe=void 0===Pt?_t:Pt,Qt=yt.symbol,sn=void 0!==Qt&&Qt,qt=yt.mask,An=void 0===qt?null:qt,Sn=yt.maskId,Jn=void 0===Sn?null:Sn,oi=yt.title,xi=void 0===oi?null:oi,Si=yt.titleId,ur=void 0===Si?null:Si,Cr=yt.classes,Qr=void 0===Cr?[]:Cr,Mr=yt.attributes,Ka=void 0===Mr?{}:Mr,Ma=yt.styles,ls=void 0===Ma?{}:Ma;if(rt){var Na=rt.prefix,mo=rt.iconName,Er=rt.icon;return Ta(_({type:"icon"},rt),function(){return Ki("beforeDOMElementCreation",{iconDefinition:rt,params:yt}),Y.autoA11y&&(xi?Ka["aria-labelledby"]="".concat(Y.replacementClass,"-title-").concat(ur||Me()):(Ka["aria-hidden"]="true",Ka.focusable="false")),Ls({icons:{main:qs(Er),mask:An?qs(An.icon):{found:!1,width:null,height:null,icon:{}}},prefix:Na,iconName:mo,transform:_(_({},_t),Qe),symbol:sn,title:xi,maskId:Jn,titleId:ur,extra:{attributes:Ka,styles:ls,classes:Qr}})})}},Pn={mixout:function(){return{icon:(Xe=Yt,function(rt){var yt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Pt=(rt||{}).icon?rt:ra(rt||{}),Qe=yt.mask;return Qe&&(Qe=(Qe||{}).icon?Qe:ra(Qe||{})),Xe(Pt,_(_({},yt),{},{mask:Qe}))})};var Xe},hooks:function(){return{mutationObserverCallbacks:function(yt){return yt.treeCallback=bt,yt.nodeCallback=ye,yt}}},provides:function(rt){rt.i2svg=function(yt){var Pt=yt.node,Qe=void 0===Pt?d:Pt,Qt=yt.callback;return bt(Qe,void 0===Qt?function(){}:Qt)},rt.generateSvgReplacementMutation=function(yt,Pt){var Qe=Pt.iconName,Qt=Pt.title,sn=Pt.titleId,qt=Pt.prefix,An=Pt.transform,Sn=Pt.symbol,Jn=Pt.mask,oi=Pt.maskId,xi=Pt.extra;return new Promise(function(Si,ur){Promise.all([Pr(Qe,qt),Jn.iconName?Pr(Jn.iconName,Jn.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(Cr){var Qr=P(Cr,2),Mr=Qr[0],Ka=Qr[1];Si([yt,Ls({icons:{main:Mr,mask:Ka},prefix:qt,iconName:Qe,transform:An,symbol:Sn,maskId:oi,title:Qt,titleId:sn,extra:xi,watchable:!0})])}).catch(ur)})},rt.generateAbstractIcon=function(yt){var Sn,Pt=yt.children,Qe=yt.attributes,Qt=yt.main,sn=yt.transform,An=Tt(yt.styles);return An.length>0&&(Qe.style=An),Ht(sn)&&(Sn=xa("generateAbstractTransformGrouping",{main:Qt,transform:sn,containerWidth:Qt.width,iconWidth:Qt.width})),Pt.push(Sn||Qt.icon),{children:Pt,attributes:Qe}}}},Ti={mixout:function(){return{layer:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.classes,Qt=void 0===Qe?[]:Qe;return Ta({type:"layer"},function(){Ki("beforeDOMElementCreation",{assembler:yt,params:Pt});var sn=[];return yt(function(qt){Array.isArray(qt)?qt.map(function(An){sn=sn.concat(An.abstract)}):sn=sn.concat(qt.abstract)}),[{tag:"span",attributes:{class:["".concat(Y.cssPrefix,"-layers")].concat(M(Qt)).join(" ")},children:sn}]})}}}},rr={mixout:function(){return{counter:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.title,Qt=void 0===Qe?null:Qe,sn=Pt.classes,qt=void 0===sn?[]:sn,An=Pt.attributes,Sn=void 0===An?{}:An,Jn=Pt.styles,oi=void 0===Jn?{}:Jn;return Ta({type:"counter",content:yt},function(){return Ki("beforeDOMElementCreation",{content:yt,params:Pt}),vr({content:yt.toString(),title:Qt,extra:{attributes:Sn,styles:oi,classes:["".concat(Y.cssPrefix,"-layers-counter")].concat(M(qt))}})})}}}},gs={mixout:function(){return{text:function(yt){var Pt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Qe=Pt.transform,Qt=void 0===Qe?_t:Qe,sn=Pt.title,qt=void 0===sn?null:sn,An=Pt.classes,Sn=void 0===An?[]:An,Jn=Pt.attributes,oi=void 0===Jn?{}:Jn,xi=Pt.styles,Si=void 0===xi?{}:xi;return Ta({type:"text",content:yt},function(){return Ki("beforeDOMElementCreation",{content:yt,params:Pt}),Ca({content:yt,transform:_(_({},_t),Qt),title:qt,extra:{attributes:oi,styles:Si,classes:["".concat(Y.cssPrefix,"-layers-text")].concat(M(Sn))}})})}}},provides:function(rt){rt.generateLayersText=function(yt,Pt){var Qe=Pt.title,Qt=Pt.transform,sn=Pt.extra,qt=null,An=null;if(a){var Sn=parseInt(getComputedStyle(yt).fontSize,10),Jn=yt.getBoundingClientRect();qt=Jn.width/Sn,An=Jn.height/Sn}return Y.autoA11y&&!Qe&&(sn.attributes["aria-hidden"]="true"),Promise.resolve([yt,Ca({content:yt.innerHTML,width:qt,height:An,transform:Qt,title:Qe,extra:sn,watchable:!0})])}}},Oo=new RegExp('"',"ug"),$s=[1105920,1112319];function po(Xe,rt){var yt="".concat("data-fa-pseudo-element-pending").concat(rt.replace(":","-"));return new Promise(function(Pt,Qe){if(null!==Xe.getAttribute(yt))return Pt();var sn=Ce(Xe.children).filter(function(Er){return Er.getAttribute(Ye)===rt})[0],qt=h.getComputedStyle(Xe,rt),An=qt.getPropertyValue("font-family").match(un),Sn=qt.getPropertyValue("font-weight"),Jn=qt.getPropertyValue("content");if(sn&&!An)return Xe.removeChild(sn),Pt();if(An&&"none"!==Jn&&""!==Jn){var oi=qt.getPropertyValue("content"),xi=~["Sharp"].indexOf(An[2])?ee:fe,Si=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(An[2])?Re[xi][An[2].toLowerCase()]:Nt[xi][Sn],ur=function kl(Xe){var rt=Xe.replace(Oo,""),yt=function Wn(Xe,rt){var Qe,yt=Xe.length,Pt=Xe.charCodeAt(rt);return Pt>=55296&&Pt<=56319&&yt>rt+1&&(Qe=Xe.charCodeAt(rt+1))>=56320&&Qe<=57343?1024*(Pt-55296)+Qe-56320+65536:Pt}(rt,0),Pt=yt>=$s[0]&&yt<=$s[1],Qe=2===rt.length&&rt[0]===rt[1];return{value:Bn(Qe?rt[0]:rt),isSecondary:Pt||Qe}}(oi),Cr=ur.value,Qr=ur.isSecondary,Mr=An[0].startsWith("FontAwesome"),Ka=En(Si,Cr),Ma=Ka;if(Mr){var ls=function aa(Xe){var rt=Zi[Xe],yt=En("fas",Xe);return rt||(yt?{prefix:"fas",iconName:yt}:null)||{prefix:null,iconName:null}}(Cr);ls.iconName&&ls.prefix&&(Ka=ls.iconName,Si=ls.prefix)}if(!Ka||Qr||sn&&sn.getAttribute(ge)===Si&&sn.getAttribute(et)===Ma)Pt();else{Xe.setAttribute(yt,Ma),sn&&Xe.removeChild(sn);var Na=function Zr(){return{iconName:null,title:null,titleId:null,prefix:null,transform:_t,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}(),mo=Na.extra;mo.attributes[Ye]=rt,Pr(Ka,Si).then(function(Er){var bs=Ls(_(_({},Na),{},{icons:{main:Er,mask:{prefix:null,iconName:null,rest:[]}},prefix:Si,iconName:Ma,extra:mo,watchable:!0})),go=d.createElement("svg");"::before"===rt?Xe.insertBefore(go,Xe.firstChild):Xe.appendChild(go),go.outerHTML=bs.map(function(hl){return se(hl)}).join("\n"),Xe.removeAttribute(yt),Pt()}).catch(Qe)}}else Pt()})}function kn(Xe){return Promise.all([po(Xe,"::before"),po(Xe,"::after")])}function Ui(Xe){return!(Xe.parentNode===document.head||~De.indexOf(Xe.tagName.toUpperCase())||Xe.getAttribute(Ye)||Xe.parentNode&&"svg"===Xe.parentNode.tagName)}function eo(Xe){if(v)return new Promise(function(rt,yt){var Pt=Ce(Xe.querySelectorAll("*")).filter(Ui).map(kn),Qe=Ja_begin("searchPseudoElements");ri(),Promise.all(Pt).then(function(){Qe(),Bi(),rt()}).catch(function(){Qe(),Bi(),yt()})})}var Ra=!1,_o=function(rt){return rt.toLowerCase().split(" ").reduce(function(Pt,Qe){var Qt=Qe.toLowerCase().split("-"),sn=Qt[0],qt=Qt.slice(1).join("-");if(sn&&"h"===qt)return Pt.flipX=!0,Pt;if(sn&&"v"===qt)return Pt.flipY=!0,Pt;if(qt=parseFloat(qt),isNaN(qt))return Pt;switch(sn){case"grow":Pt.size=Pt.size+qt;break;case"shrink":Pt.size=Pt.size-qt;break;case"left":Pt.x=Pt.x-qt;break;case"right":Pt.x=Pt.x+qt;break;case"up":Pt.y=Pt.y-qt;break;case"down":Pt.y=Pt.y+qt;break;case"rotate":Pt.rotate=Pt.rotate+qt}return Pt},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},$i={x:0,y:0,width:"100%",height:"100%"};function Hn(Xe){var rt=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Xe.attributes&&(Xe.attributes.fill||rt)&&(Xe.attributes.fill="black"),Xe}!function Sa(Xe,rt){var yt=rt.mixoutsTo;return Ha=Xe,Hi={},Object.keys(La).forEach(function(Pt){-1===gr.indexOf(Pt)&&delete La[Pt]}),Ha.forEach(function(Pt){var Qe=Pt.mixout?Pt.mixout():{};if(Object.keys(Qe).forEach(function(sn){"function"==typeof Qe[sn]&&(yt[sn]=Qe[sn]),"object"===E(Qe[sn])&&Object.keys(Qe[sn]).forEach(function(qt){yt[sn]||(yt[sn]={}),yt[sn][qt]=Qe[sn][qt]})}),Pt.hooks){var Qt=Pt.hooks();Object.keys(Qt).forEach(function(sn){Hi[sn]||(Hi[sn]=[]),Hi[sn].push(Qt[sn])})}Pt.provides&&Pt.provides(La)}),yt}([zn,Pn,Ti,rr,gs,{hooks:function(){return{mutationObserverCallbacks:function(yt){return yt.pseudoElementsCallback=eo,yt}}},provides:function(rt){rt.pseudoElements2svg=function(yt){var Pt=yt.node,Qe=void 0===Pt?d:Pt;Y.searchPseudoElements&&eo(Qe)}}},{mixout:function(){return{dom:{unwatch:function(){ri(),Ra=!0}}}},hooks:function(){return{bootstrap:function(){oa(fa("mutationObserverCallbacks",{}))},noAuto:function(){!function la(){!Xi||Xi.disconnect()}()},watch:function(yt){var Pt=yt.observeMutationsRoot;Ra?Bi():oa(fa("mutationObserverCallbacks",{observeMutationsRoot:Pt}))}}}},{mixout:function(){return{parse:{transform:function(yt){return _o(yt)}}}},hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-transform");return Qe&&(yt.transform=_o(Qe)),yt}}},provides:function(rt){rt.generateAbstractTransformGrouping=function(yt){var Pt=yt.main,Qe=yt.transform,Qt=yt.containerWidth,sn=yt.iconWidth,qt={transform:"translate(".concat(Qt/2," 256)")},An="translate(".concat(32*Qe.x,", ").concat(32*Qe.y,") "),Sn="scale(".concat(Qe.size/16*(Qe.flipX?-1:1),", ").concat(Qe.size/16*(Qe.flipY?-1:1),") "),Jn="rotate(".concat(Qe.rotate," 0 0)"),Si={outer:qt,inner:{transform:"".concat(An," ").concat(Sn," ").concat(Jn)},path:{transform:"translate(".concat(sn/2*-1," -256)")}};return{tag:"g",attributes:_({},Si.outer),children:[{tag:"g",attributes:_({},Si.inner),children:[{tag:Pt.icon.tag,children:Pt.icon.children,attributes:_(_({},Pt.icon.attributes),Si.path)}]}]}}}},{hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-mask"),Qt=Qe?ka(Qe.split(" ").map(function(sn){return sn.trim()})):{prefix:null,iconName:null,rest:[]};return Qt.prefix||(Qt.prefix=Ii()),yt.mask=Qt,yt.maskId=Pt.getAttribute("data-fa-mask-id"),yt}}},provides:function(rt){rt.generateAbstractMask=function(yt){var Xe,Pt=yt.children,Qe=yt.attributes,Qt=yt.main,sn=yt.mask,qt=yt.maskId,An=yt.transform,Sn=Qt.width,Jn=Qt.icon,oi=sn.width,xi=sn.icon,Si=function He(Xe){var rt=Xe.transform,yt=Xe.containerWidth,Pt=Xe.iconWidth,Qe={transform:"translate(".concat(yt/2," 256)")},Qt="translate(".concat(32*rt.x,", ").concat(32*rt.y,") "),sn="scale(".concat(rt.size/16*(rt.flipX?-1:1),", ").concat(rt.size/16*(rt.flipY?-1:1),") "),qt="rotate(".concat(rt.rotate," 0 0)");return{outer:Qe,inner:{transform:"".concat(Qt," ").concat(sn," ").concat(qt)},path:{transform:"translate(".concat(Pt/2*-1," -256)")}}}({transform:An,containerWidth:oi,iconWidth:Sn}),ur={tag:"rect",attributes:_(_({},$i),{},{fill:"white"})},Cr=Jn.children?{children:Jn.children.map(Hn)}:{},Qr={tag:"g",attributes:_({},Si.inner),children:[Hn(_({tag:Jn.tag,attributes:_(_({},Jn.attributes),Si.path)},Cr))]},Mr={tag:"g",attributes:_({},Si.outer),children:[Qr]},Ka="mask-".concat(qt||Me()),Ma="clip-".concat(qt||Me()),ls={tag:"mask",attributes:_(_({},$i),{},{id:Ka,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[ur,Mr]},Na={tag:"defs",children:[{tag:"clipPath",attributes:{id:Ma},children:(Xe=xi,"g"===Xe.tag?Xe.children:[Xe])},ls]};return Pt.push(Na,{tag:"rect",attributes:_({fill:"currentColor","clip-path":"url(#".concat(Ma,")"),mask:"url(#".concat(Ka,")")},$i)}),{children:Pt,attributes:Qe}}}},{provides:function(rt){var yt=!1;h.matchMedia&&(yt=h.matchMedia("(prefers-reduced-motion: reduce)").matches),rt.missingIconAbstract=function(){var Pt=[],Qe={fill:"currentColor"},Qt={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};Pt.push({tag:"path",attributes:_(_({},Qe),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var sn=_(_({},Qt),{},{attributeName:"opacity"}),qt={tag:"circle",attributes:_(_({},Qe),{},{cx:"256",cy:"364",r:"28"}),children:[]};return yt||qt.children.push({tag:"animate",attributes:_(_({},Qt),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:_(_({},sn),{},{values:"1;0;1;1;0;1;"})}),Pt.push(qt),Pt.push({tag:"path",attributes:_(_({},Qe),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:yt?[]:[{tag:"animate",attributes:_(_({},sn),{},{values:"1;0;0;0;0;1;"})}]}),yt||Pt.push({tag:"path",attributes:_(_({},Qe),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:_(_({},sn),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:Pt}}}},{hooks:function(){return{parseNodeAttributes:function(yt,Pt){var Qe=Pt.getAttribute("data-fa-symbol"),Qt=null!==Qe&&(""===Qe||Qe);return yt.symbol=Qt,yt}}}}],{mixoutsTo:Qi});Qi.noAuto,Qi.config,Qi.library,Qi.dom;var Po=Qi.parse,Kc=(Qi.findIconDefinition,Qi.toHtml,Qi.icon),Go=(Qi.layer,Qi.text),Zo=Qi.counter,ko=m(4497);const xr=["*"],ui=Xe=>{const rt={"fa-spin":Xe.spin,"fa-pulse":Xe.pulse,"fa-fw":Xe.fixedWidth,"fa-border":Xe.border,"fa-inverse":Xe.inverse,"fa-layers-counter":Xe.counter,"fa-flip-horizontal":"horizontal"===Xe.flip||"both"===Xe.flip,"fa-flip-vertical":"vertical"===Xe.flip||"both"===Xe.flip,[`fa-${Xe.size}`]:null!==Xe.size,[`fa-rotate-${Xe.rotate}`]:null!==Xe.rotate,[`fa-pull-${Xe.pull}`]:null!==Xe.pull,[`fa-stack-${Xe.stackItemSize}`]:null!=Xe.stackItemSize};return Object.keys(rt).map(yt=>rt[yt]?yt:null).filter(yt=>yt)};class ys{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null}}ys.\u0275fac=function(rt){return new(rt||ys)},ys.\u0275prov=e.Yz7({token:ys,factory:ys.\u0275fac,providedIn:"root"});class ks{constructor(){this.definitions={}}addIcons(...rt){for(const yt of rt){yt.prefix in this.definitions||(this.definitions[yt.prefix]={}),this.definitions[yt.prefix][yt.iconName]=yt;for(const Pt of yt.icon[2])"string"==typeof Pt&&(this.definitions[yt.prefix][Pt]=yt)}}addIconPacks(...rt){for(const yt of rt){const Pt=Object.keys(yt).map(Qe=>yt[Qe]);this.addIcons(...Pt)}}getIconDefinition(rt,yt){return rt in this.definitions&&yt in this.definitions[rt]?this.definitions[rt][yt]:null}}ks.\u0275fac=function(rt){return new(rt||ks)},ks.\u0275prov=e.Yz7({token:ks,factory:ks.\u0275fac,providedIn:"root"});class no{constructor(){this.stackItemSize="1x"}ngOnChanges(rt){if("size"in rt)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: ....')}}no.\u0275fac=function(rt){return new(rt||no)},no.\u0275dir=e.lG2({type:no,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[e.TTD]});class os{constructor(rt,yt){this.renderer=rt,this.elementRef=yt}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(rt){"size"in rt&&(null!=rt.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${rt.size.currentValue}`),null!=rt.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${rt.size.previousValue}`))}}os.\u0275fac=function(rt){return new(rt||os)(e.Y36(e.Qsj),e.Y36(e.SBq))},os.\u0275cmp=e.Xpm({type:os,selectors:[["fa-stack"]],inputs:{size:"size"},features:[e.TTD],ngContentSelectors:xr,decls:1,vars:0,template:function(rt,yt){1&rt&&(e.F$t(),e.Hsn(0))},encapsulation:2});class Ne{constructor(rt,yt,Pt,Qe,Qt){this.sanitizer=rt,this.config=yt,this.iconLibrary=Pt,this.stackItem=Qe,this.classes=[],null!=Qt&&null==Qe&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: .')}ngOnChanges(rt){if(null==this.icon&&null==this.config.fallbackIcon)return(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})();if(rt){const yt=null!=this.icon?this.icon:this.config.fallbackIcon,Pt=this.findIconDefinition(yt);if(null!=Pt){const Qe=this.buildParams();this.renderIcon(Pt,Qe)}}}render(){this.ngOnChanges({})}findIconDefinition(rt){const yt=((Xe,rt)=>(Xe=>void 0!==Xe.prefix&&void 0!==Xe.iconName)(Xe)?Xe:Array.isArray(Xe)&&2===Xe.length?{prefix:Xe[0],iconName:Xe[1]}:"string"==typeof Xe?{prefix:rt,iconName:Xe}:void 0)(rt,this.config.defaultPrefix);if("icon"in yt)return yt;return this.iconLibrary.getIconDefinition(yt.prefix,yt.iconName)??((Xe=>{throw new Error(`Could not find icon with iconName=${Xe.iconName} and prefix=${Xe.prefix} in the icon library.`)})(yt),null)}buildParams(){const rt={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},yt="string"==typeof this.transform?Po.transform(this.transform):this.transform;return{title:this.title,transform:yt,classes:[...ui(rt),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(rt,yt){const Pt=Kc(rt,yt);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(Pt.html.join("\n"))}}Ne.\u0275fac=function(rt){return new(rt||Ne)(e.Y36(ko.H7),e.Y36(ys),e.Y36(ks),e.Y36(no,8),e.Y36(os,8))},Ne.\u0275cmp=e.Xpm({type:Ne,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(rt,yt){2&rt&&(e.Ikx("innerHTML",yt.renderedIconHTML,e.oJD),e.uIk("title",yt.title))},inputs:{icon:"icon",title:"title",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",classes:"classes",transform:"transform",a11yRole:"a11yRole"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class he extends Ne{findIconDefinition(rt){const yt=super.findIconDefinition(rt);if(null!=yt&&!Array.isArray(yt.icon[4]))throw new Error(`The specified icon does not appear to be a Duotone icon. Check that you specified the correct style: or use: instead.`);return yt}buildParams(){const rt=super.buildParams();return(!0===this.swapOpacity||"true"===this.swapOpacity)&&rt.classes.push("fa-swap-opacity"),null!=this.primaryOpacity&&(rt.styles["--fa-primary-opacity"]=this.primaryOpacity.toString()),null!=this.secondaryOpacity&&(rt.styles["--fa-secondary-opacity"]=this.secondaryOpacity.toString()),null!=this.primaryColor&&(rt.styles["--fa-primary-color"]=this.primaryColor),null!=this.secondaryColor&&(rt.styles["--fa-secondary-color"]=this.secondaryColor),rt}}he.\u0275fac=function(){let Xe;return function(yt){return(Xe||(Xe=e.n5z(he)))(yt||he)}}(),he.\u0275cmp=e.Xpm({type:he,selectors:[["fa-duotone-icon"]],inputs:{swapOpacity:"swapOpacity",primaryOpacity:"primaryOpacity",secondaryOpacity:"secondaryOpacity",primaryColor:"primaryColor",secondaryColor:"secondaryColor"},features:[e.qOj],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});const st=(Xe,rt,yt)=>{if(!Xe)throw new Error(`${yt} should be used as child of ${rt} only.`)};class Ot{constructor(rt,yt,Pt){this.renderer=rt,this.elementRef=yt,this.config=Pt}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-layers"),this.fixedWidth="boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth}ngOnChanges(rt){"size"in rt&&(null!=rt.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${rt.size.currentValue}`),null!=rt.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${rt.size.previousValue}`))}}Ot.\u0275fac=function(rt){return new(rt||Ot)(e.Y36(e.Qsj),e.Y36(e.SBq),e.Y36(ys))},Ot.\u0275cmp=e.Xpm({type:Ot,selectors:[["fa-layers"]],hostVars:2,hostBindings:function(rt,yt){2&rt&&e.ekj("fa-fw",yt.fixedWidth)},inputs:{size:"size",fixedWidth:"fixedWidth"},features:[e.TTD],ngContentSelectors:xr,decls:1,vars:0,template:function(rt,yt){1&rt&&(e.F$t(),e.Hsn(0))},encapsulation:2});class Vt{constructor(rt,yt){this.parent=rt,this.sanitizer=yt,this.classes=[],st(this.parent,"FaLayersComponent",this.constructor.name)}ngOnChanges(rt){if(rt){const yt=this.buildParams();this.updateContent(yt)}}buildParams(){const rt=[];return null!=this.classes&&rt.push(...this.classes),null!=this.position&&rt.push(`fa-layers-${this.position}`),{title:this.title,classes:rt,styles:this.styles}}updateContent(rt){this.renderedHTML=this.sanitizer.bypassSecurityTrustHtml(Zo(this.content||"",rt).html.join(""))}}Vt.\u0275fac=function(rt){return new(rt||Vt)(e.Y36(Ot,8),e.Y36(ko.H7))},Vt.\u0275cmp=e.Xpm({type:Vt,selectors:[["fa-layers-counter"]],hostAttrs:[1,"ng-fa-layers-counter"],hostVars:1,hostBindings:function(rt,yt){2&rt&&e.Ikx("innerHTML",yt.renderedHTML,e.oJD)},inputs:{content:"content",title:"title",styles:"styles",classes:"classes",position:"position"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class fn{constructor(rt,yt){this.parent=rt,this.sanitizer=yt,this.classes=[],st(this.parent,"FaLayersComponent",this.constructor.name)}ngOnChanges(rt){if(rt){const yt=this.buildParams();this.updateContent(yt)}}buildParams(){const rt={flip:this.flip,spin:this.spin,pulse:this.pulse,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:this.fixedWidth};return{transform:"string"==typeof this.transform?Po.transform(this.transform):this.transform,classes:[...ui(rt),...this.classes],title:this.title,styles:this.styles}}updateContent(rt){this.renderedHTML=this.sanitizer.bypassSecurityTrustHtml(Go(this.content||"",rt).html.join("\n"))}}fn.\u0275fac=function(rt){return new(rt||fn)(e.Y36(Ot,8),e.Y36(ko.H7))},fn.\u0275cmp=e.Xpm({type:fn,selectors:[["fa-layers-text"]],hostAttrs:[1,"ng-fa-layers-text"],hostVars:1,hostBindings:function(rt,yt){2&rt&&e.Ikx("innerHTML",yt.renderedHTML,e.oJD)},inputs:{content:"content",title:"title",styles:"styles",classes:"classes",spin:"spin",pulse:"pulse",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",rotate:"rotate",fixedWidth:"fixedWidth",transform:"transform"},features:[e.TTD],decls:0,vars:0,template:function(rt,yt){},encapsulation:2});class Un{}Un.\u0275fac=function(rt){return new(rt||Un)},Un.\u0275mod=e.oAB({type:Un}),Un.\u0275inj=e.cJS({})},9306:(Ve,X,m)=>{"use strict";m.d(X,{Acd:()=>r0,Aq:()=>P1,B$L:()=>$i,BDt:()=>__,CgH:()=>D4,CvI:()=>Mp,DL8:()=>ev,FJU:()=>Kn,FVb:()=>O1,FlN:()=>G6,FpQ:()=>Fa,HLz:()=>P5,KOR:()=>v4,Krp:()=>Ph,Mdf:()=>au,N2j:()=>Nn,NBC:()=>o7,OS1:()=>zh,Psp:()=>X0,Pyt:()=>Ke,Sbq:()=>an,SoD:()=>qs,Ssp:()=>hv,SuH:()=>x4,TmZ:()=>t7,USL:()=>y7,Vei:()=>al,Vfw:()=>k_,X5K:()=>v1,XsY:()=>oi,aj4:()=>y3,b7W:()=>q6,byT:()=>xi,co4:()=>z4,d63:()=>cr,dLy:()=>V5,dT$:()=>Ws,eHv:()=>dv,gNZ:()=>Gd,hkK:()=>Qn,hnx:()=>Mv,kXW:()=>e_,kZ_:()=>n7,koM:()=>qr,mh3:()=>b1,nNP:()=>w8,q7m:()=>n8,qO$:()=>S7,r8p:()=>k8,sqG:()=>yp,vqe:()=>W7,wn1:()=>F5,wyP:()=>o1,xf3:()=>t1});var In={prefix:"fas",iconName:"angles-down",icon:[448,512,["angle-double-down"],"f103","M246.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 402.7 361.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L224 210.7 361.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z"]},an=In,Qn={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M352 128c0 70.7-57.3 128-128 128s-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]},qn={prefix:"fas",iconName:"box-archive",icon:[512,512,["archive"],"f187","M32 32H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H32C14.3 128 0 113.7 0 96V64C0 46.3 14.3 32 32 32zm0 128H480V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"]},Nn=qn,qs={prefix:"fas",iconName:"pen-ruler",icon:[512,512,["pencil-ruler"],"f5ae","M469.3 19.3l23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4L322.3 75.7l56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2L299.7 98.3 413.7 212.3 158.8 467.1c-6.7 6.7-15.1 11.6-24.2 14.2l-104 29.7c-8.4 2.4-17.4 .1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zM249.4 103.4L103.4 249.4 16 161.9c-18.7-18.7-18.7-49.1 0-67.9L94.1 16c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1l45.1 45.1zM408.6 262.6l45.1 45.1c-.3 .3-.7 .6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3 .6-.7 .9-1L496 350.1c18.7 18.7 18.7 49.1 0 67.9L417.9 496c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4L408.6 262.6z"]},Ba={prefix:"fas",iconName:"unlock-keyhole",icon:[448,512,["unlock-alt"],"f13e","M224 64c-44.2 0-80 35.8-80 80v48H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80V144C80 64.5 144.5 0 224 0c57.5 0 107 33.7 130.1 82.3c7.6 16 .8 35.1-15.2 42.6s-35.1 .8-42.6-15.2C283.4 82.6 255.9 64 224 64zm32 320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h64z"]},$i=Ba,Jn={prefix:"fas",iconName:"paintbrush",icon:[576,512,[128396,"paint-brush"],"f1fc","M371.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L600.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S549.7-4.4 531.1 9.6L294.4 187.2c-24 18-38.2 46.1-38.4 76.1L371.3 367.1zm-19.6 25.4l-116-104.4C175.9 290.3 128 339.6 128 400c0 3.9 .2 7.8 .6 11.6c1.8 17.5-10.2 36.4-27.8 36.4H96c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"]},oi=Jn,xi={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"]},O1={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M144 160c-44.2 0-80-35.8-80-80S99.8 0 144 0s80 35.8 80 80s-35.8 80-80 80zm368 0c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM416 224c0 53-43 96-96 96s-96-43-96-96s43-96 96-96s96 43 96 96zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"]},P1={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zm223.1 298L373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5z"]},r0={prefix:"fas",iconName:"bullhorn",icon:[512,512,[128226,128363],"f0a1","M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z"]},y3={prefix:"fas",iconName:"money-bill-wave",icon:[576,512,[],"f53a","M0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM64 352c35.3 0 64 28.7 64 64H64V352zm64-208c0 35.3-28.7 64-64 64V144h64zM512 304v64H448c0-35.3 28.7-64 64-64zM448 96h64v64c-35.3 0-64-28.7-64-64z"]},t1={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM344 152c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm96-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zM344 408c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm104-24c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z"]},qr={prefix:"fas",iconName:"chart-bar",icon:[512,512,["bar-chart"],"f080","M32 32c17.7 0 32 14.3 32 32V400c0 8.8 7.2 16 16 16H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-44.2 0-80-35.8-80-80V64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]},o1={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M432 64H208c-8.8 0-16 7.2-16 16V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V320h16c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM0 192c0-35.3 28.7-64 64-64H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm64 32c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32s-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z"]},al={prefix:"fas",iconName:"burst",icon:[512,512,[],"e4dc","M37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l112 163.3L16.6 233.2C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l103.1 33.4L66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3l100.6-52.9 33.4 103.1c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l33.4-103.1 100.6 52.9c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L392.3 312.2l103.1-33.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8L388.9 198.7l25.7-70.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-70.4 25.7L278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-32.3 99.6L37.6 4.2z"]},cr={prefix:"fas",iconName:"arrows-turn-right",icon:[512,512,[],"e4c0","M329.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L370.7 160H160c-35.3 0-64 28.7-64 64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V224C32 153.3 89.3 96 160 96H370.7L329.4 54.6c-12.5-12.5-12.5-32.8 0-45.3zm-96 256c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 416H128c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96H274.7l-41.4-41.4c-12.5-12.5-12.5-32.8 0-45.3z"]},Ph={prefix:"fas",iconName:"layer-group",icon:[576,512,[],"f5fd","M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z"]},X0={prefix:"fas",iconName:"question",icon:[320,512,[10067,10068,61736],"3f","M96 96c-17.7 0-32 14.3-32 32s-14.3 32-32 32s-32-14.3-32-32C0 75 43 32 96 32h97c70.1 0 127 56.9 127 127c0 52.4-32.2 99.4-81 118.4l-63 24.5 0 18.1c0 17.7-14.3 32-32 32s-32-14.3-32-32V301.9c0-26.4 16.2-50.1 40.8-59.6l63-24.5C240 208.3 256 185 256 159c0-34.8-28.2-63-63-63H96zm48 384c-22.1 0-40-17.9-40-40s17.9-40 40-40s40 17.9 40 40s-17.9 40-40 40z"]},Ws={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},zh={prefix:"fas",iconName:"chart-pie",icon:[576,512,["pie-chart"],"f200","M304 240V16.6c0-9 7-16.6 16-16.6C443.7 0 544 100.3 544 224c0 9-7.6 16-16.6 16H304zM32 272C32 150.7 122.1 50.3 239 34.3c9.2-1.3 17 6.1 17 15.4V288L412.5 444.5c6.7 6.7 6.2 17.7-1.5 23.1C371.8 495.6 323.8 512 272 512C139.5 512 32 404.6 32 272zm526.4 16c9.3 0 16.6 7.8 15.4 17c-7.7 55.9-34.6 105.6-73.9 142.3c-6 5.6-15.4 5.2-21.2-.7L320 288H558.4z"]},v4={prefix:"fas",iconName:"eject",icon:[448,512,[9167],"f052","M224 32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 320 400 320H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 37.6 210.5 32 224 32zM0 432c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48z"]},Yf={prefix:"fas",iconName:"signs-post",icon:[512,512,["map-signs"],"f277","M224 32H64C46.3 32 32 46.3 32 64v64c0 17.7 14.3 32 32 32H441.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 256c0-17.7-14.3-32-32-32H288V192H224v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32V256zM288 480V384H224v96c0 17.7 14.3 32 32 32s32-14.3 32-32z"]},x4=Yf,E4={prefix:"fas",iconName:"screwdriver-wrench",icon:[512,512,["tools"],"f7d9","M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L233.7 374.3c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5c-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16V102.6c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0C288.5 0 224 64.5 224 144l0 .8 85.3 85.3c36-9.1 75.8 .5 104 28.7L429 274.5c49-23 83-72.8 83-130.5zM104 432c0 13.3-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24z"]},D4=E4,v1={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 336c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},b1={prefix:"fas",iconName:"code-branch",icon:[448,512,[],"f126","M80 104c13.3 0 24-10.7 24-24s-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24zM80 456c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24z"]},Fa={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 256s96-96 96-160c0-53-43-96-96-96s-96 43-96 96c0 29.4 20.2 65.5 42.1 96H320c-53 0-96 43-96 96s43 96 96 96h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H188.6c-6.2 9.6-12.6 18.8-19 27.2c-10.7 14.2-21.3 26.9-30 36.8H416c53 0 96-43 96-96s-43-96-96-96H320c-17.7 0-32-14.3-32-32s14.3-32 32-32h96zm0-128c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32zM149.9 448c21.9-30.5 42.1-66.6 42.1-96c0-53-43-96-96-96s-96 43-96 96c0 64 96 160 96 160s3.5-3.5 9.2-9.6c.4-.4 .7-.8 1.1-1.2c3.3-3.5 7.1-7.8 11.4-12.8c.2-.2 .4-.4 .6-.6c9.4-10.8 20.7-24.6 31.6-39.8zM96 384c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},au={prefix:"fas",iconName:"eye",icon:[576,512,[128065],"f06e","M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"]},Kd={prefix:"fas",iconName:"user-gear",icon:[640,512,["user-cog"],"f4fe","M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1 .7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-24.9-14.3c-6.9 5.1-14.3 9.4-22.3 12.8l0 30.6c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V454.8c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3 .7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9V218.2zm92.1 133.5c0-26.5-21.5-48-48.1-48s-48.1 21.5-48.1 48s21.5 48 48.1 48s48.1-21.5 48.1-48z"]},Gd=Kd,P_={prefix:"fas",iconName:"angles-up",icon:[448,512,["angle-double-up"],"f102","M246.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 109.3 361.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L224 301.3 361.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z"]},k_=P_,W_={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-144c-17.7 0-32-14.3-32-32s14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32z"]},yp=W_,G6={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M112 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32V224v64V416c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V384H64c-17.7 0-32-14.3-32-32V288c-17.7 0-32-14.3-32-32s14.3-32 32-32V160c0-17.7 14.3-32 32-32h48V96zm416 0v32h48c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32H528v32c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V288 224 96c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32zM416 224v64H224V224H416z"]},Mp={prefix:"fas",iconName:"money-bill-1",icon:[576,512,["money-bill-alt"],"f3d1","M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm64 320H64V320c35.3 0 64 28.7 64 64zM64 192V128h64c0 35.3-28.7 64-64 64zM448 384c0-35.3 28.7-64 64-64v64H448zm64-192c-35.3 0-64-28.7-64-64h64v64zM400 256c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112s112 50.1 112 112zM252 208c0 9.7 6.9 17.7 16 19.6V276h-4c-11 0-20 9-20 20s9 20 20 20h24 24c11 0 20-9 20-20s-9-20-20-20h-4V208c0-11-9-20-20-20H272c-11 0-20 9-20 20z"]},z4=Mp,hm={prefix:"fas",iconName:"gear",icon:[512,512,[9881,"cog"],"f013","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80z"]},q6=hm,e_={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z"]},n8={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"]},__={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z"]},Ke={prefix:"fas",iconName:"arrows-turn-to-dots",icon:[512,512,[],"e4c1","M249.4 25.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3L269.3 96 416 96c53 0 96 43 96 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V192c0-17.7-14.3-32-32-32l-146.7 0 25.4 25.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-80-80c-12.5-12.5-12.5-32.8 0-45.3l80-80zm13.3 256l80 80c12.5 12.5 12.5 32.8 0 45.3l-80 80c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 416 96 416c-17.7 0-32 14.3-32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V448c0-53 43-96 96-96l146.7 0-25.4-25.4c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0zM512 384c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zM64 64c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64S28.7 64 64 64z"]},Kn={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0S96 57.3 96 128s57.3 128 128 128zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z"]},E8={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zM96 288c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32zm352-32c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"]},P5=E8,w8={prefix:"fas",iconName:"link",icon:[640,512,[128279,"chain"],"f0c1","M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"]},N5={prefix:"fas",iconName:"magnifying-glass",icon:[512,512,[128269,"search"],"f002","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352c79.5 0 144-64.5 144-144s-64.5-144-144-144S64 128.5 64 208s64.5 144 144 144z"]},F5=N5,V5={prefix:"fas",iconName:"receipt",icon:[384,512,[129534],"f543","M14 2.2C22.5-1.7 32.5-.3 39.6 5.8L80 40.4 120.4 5.8c9-7.7 22.3-7.7 31.2 0L192 40.4 232.4 5.8c9-7.7 22.2-7.7 31.2 0L304 40.4 344.4 5.8c7.1-6.1 17.1-7.5 25.6-3.6s14 12.4 14 21.8V488c0 9.4-5.5 17.9-14 21.8s-18.5 2.5-25.6-3.6L304 471.6l-40.4 34.6c-9 7.7-22.2 7.7-31.2 0L192 471.6l-40.4 34.6c-9 7.7-22.3 7.7-31.2 0L80 471.6 39.6 506.2c-7.1 6.1-17.1 7.5-25.6 3.6S0 497.4 0 488V24C0 14.6 5.5 6.1 14 2.2zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z"]},e7={prefix:"fas",iconName:"diagram-project",icon:[576,512,["project-diagram"],"f542","M0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V96H384V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V160H192v16c0 1.7-.1 3.4-.3 5L272 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V336c0-1.7 .1-3.4 .3-5L144 224H48c-26.5 0-48-21.5-48-48V80z"]},t7=e7,n7={prefix:"fas",iconName:"copy",icon:[512,512,[],"f0c5","M224 0c-35.3 0-64 28.7-64 64V288c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224zM64 160c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V384H288v64H64V224h64V160H64z"]},k8={prefix:"fas",iconName:"plus",icon:[448,512,[10133,61543,"add"],"2b","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"]},g_={prefix:"fas",iconName:"xmark",icon:[320,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"]},o7=g_,v7={prefix:"fas",iconName:"percent",icon:[384,512,[62101,62785,"percentage"],"25","M374.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-320 320c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l320-320zM128 128c0-35.3-28.7-64-64-64S0 92.7 0 128s28.7 64 64 64s64-28.7 64-64zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64z"]},y7=v7,L7={prefix:"fas",iconName:"clock-rotate-left",icon:[512,512,["history"],"f1da","M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z"]},S7=L7,W7={prefix:"fas",iconName:"infinity",icon:[640,512,[8734,9854],"f534","M0 241.1C0 161 65 96 145.1 96c38.5 0 75.4 15.3 102.6 42.5L320 210.7l72.2-72.2C419.5 111.3 456.4 96 494.9 96C575 96 640 161 640 241.1v29.7C640 351 575 416 494.9 416c-38.5 0-75.4-15.3-102.6-42.5L320 301.3l-72.2 72.2C220.5 400.7 183.6 416 145.1 416C65 416 0 351 0 270.9V241.1zM274.7 256l-72.2-72.2c-15.2-15.2-35.9-23.8-57.4-23.8C100.3 160 64 196.3 64 241.1v29.7c0 44.8 36.3 81.1 81.1 81.1c21.5 0 42.2-8.5 57.4-23.8L274.7 256zm90.5 0l72.2 72.2c15.2 15.2 35.9 23.8 57.4 23.8c44.8 0 81.1-36.3 81.1-81.1V241.1c0-44.8-36.3-81.1-81.1-81.1c-21.5 0-42.2 8.5-57.4 23.8L365.3 256z"]},$7={prefix:"fas",iconName:"scale-balanced",icon:[640,512,[9878,"balance-scale"],"f24e","M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zM125.8 177.3L51.1 320H204.9L130.2 177.3c-.4-.8-1.3-1.3-2.2-1.3s-1.7 .5-2.2 1.3zM128 128c18.8 0 36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C210.9 402.6 178.2 416 128 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L83.3 155c8.7-16.6 25.9-27 44.7-27zm384 48c-.9 0-1.7 .5-2.2 1.3L435.1 320H588.9L514.2 177.3c-.4-.8-1.3-1.3-2.2-1.3zm-44.7-21c8.7-16.6 25.9-27 44.7-27s36 10.4 44.7 27l77.8 148.5c3.1 5.8 6.1 14 5.5 23.8c-.7 12.1-4.8 35.2-24.8 55.1C594.9 402.6 562.2 416 512 416s-82.9-13.4-103.2-33.5c-20-20-24.2-43-24.8-55.1c-.6-9.8 2.5-18 5.5-23.8L467.3 155z"]},ev=$7,N8={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32z"]},dv=N8,uv={prefix:"fas",iconName:"right-left",icon:[512,512,["exchange-alt"],"f362","M32 96l320 0V32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l96 96c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-96 96c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V160L32 160c-17.7 0-32-14.3-32-32s14.3-32 32-32zM480 352c17.7 0 32 14.3 32 32s-14.3 32-32 32H160v64c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6l96-96c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 64H480z"]},hv=uv,Mv={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M224 256c-70.7 0-128-57.3-128-128S153.3 0 224 0s128 57.3 128 128s-57.3 128-128 128zm-45.7 48h91.4c20.6 0 40.4 3.5 58.8 9.9C323 331 320 349.1 320 368c0 59.5 29.5 112.1 74.8 144H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304zM640 368c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM496 288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z"]}},3599:(Ve,X,m)=>{"use strict";m.d(X,{eX:()=>ke,sQ:()=>Gt,GW:()=>n,l4:()=>Ge});var S,At,e=m(9263),t=m(833),_=m(6646),E=m(253),s=m(23),D=m(591),u=m(745),k=m(5474),p=m(2971);(At=S||(S={})).NEXT="N",At.ERROR="E",At.COMPLETE="C";class A{constructor(we,Y,te){this.kind=we,this.value=Y,this.error=te,this.hasValue="N"===we}observe(we){return P(this,we)}do(we,Y,te){const{kind:xe,value:ze,error:_t}=this;return"N"===xe?we?.(ze):"E"===xe?Y?.(_t):te?.()}accept(we,Y,te){var xe;return(0,p.m)(null===(xe=we)||void 0===xe?void 0:xe.next)?this.observe(we):this.do(we,Y,te)}toObservable(){const{kind:we,value:Y,error:te}=this,xe="N"===we?(0,u.of)(Y):"E"===we?(0,k._)(()=>te):"C"===we?D.E:0;if(!xe)throw new TypeError(`Unexpected notification kind ${we}`);return xe}static createNext(we){return new A("N",we)}static createError(we){return new A("E",void 0,we)}static createComplete(){return A.completeNotification}}function P(At,we){var Y,te,xe;const{kind:ze,value:_t,error:ct}=At;if("string"!=typeof ze)throw new TypeError('Invalid notification, missing "kind"');"N"===ze?null===(Y=we.next)||void 0===Y||Y.call(we,_t):"E"===ze?null===(te=we.error)||void 0===te||te.call(we,ct):null===(xe=we.complete)||void 0===xe||xe.call(we)}A.completeNotification=new A("C");var M=m(1944),z=m(3945);var W=m(635),Z=m(3158),j=m(116),ae=m(4987);function re(At,we,Y,te){return(0,M.e)((xe,ze)=>{let _t;we&&"function"!=typeof we?({duration:Y,element:_t,connector:te}=we):_t=we;const ct=new Map,Ue=Tt=>{ct.forEach(Tt),Tt(ze)},Me=Tt=>Ue(Ht=>Ht.error(Tt));let Ce=0,Je=!1;const Ut=new z.Q(ze,Tt=>{try{const Ht=At(Tt);let He=ct.get(Ht);if(!He){ct.set(Ht,He=te?te():new E.x);const $e=function Dt(Tt,Ht){const He=new t.y($e=>{Ce++;const $t=Ht.subscribe($e);return()=>{$t.unsubscribe(),0==--Ce&&Je&&Ut.unsubscribe()}});return He.key=Tt,He}(Ht,He);if(ze.next($e),Y){const $t=(0,z.x)(He,()=>{He.complete(),$t?.unsubscribe()},void 0,void 0,()=>ct.delete(Ht));Ut.add((0,ae.Xf)(Y($e)).subscribe($t))}}He.next(_t?_t(Tt):Tt)}catch(Ht){Me(Ht)}},()=>Ue(Tt=>Tt.complete()),Me,()=>ct.clear(),()=>(Je=!0,0===Ce));xe.subscribe(Ut)})}var pe=m(9525);function le(At,we){return we?Y=>Y.pipe(le((te,xe)=>(0,ae.Xf)(At(te,xe)).pipe((0,W.U)((ze,_t)=>we(te,ze,xe,_t))))):(0,M.e)((Y,te)=>{let xe=0,ze=null,_t=!1;Y.subscribe((0,z.x)(te,ct=>{ze||(ze=(0,z.x)(te,void 0,()=>{ze=null,_t&&te.complete()}),(0,ae.Xf)(At(ct,xe++)).subscribe(ze))},()=>{_t=!0,!ze&&te.complete()}))})}var de=m(9295),$=m(2560);const ue={dispatch:!0,useEffectsErrorHandler:!0},w="__@ngrx/effects_create__";function n(At,we){const Y=At(),te={...ue,...we};return Object.defineProperty(Y,w,{value:te}),Y}function o(At){return Object.getOwnPropertyNames(At).filter(te=>!(!At[te]||!At[te].hasOwnProperty(w))&&At[te][w].hasOwnProperty("dispatch")).map(te=>({propertyName:te,...At[te][w]}))}function h(At){return Object.getPrototypeOf(At)}const d="__@ngrx/effects__";function L(At){return(0,e.qC)(a,h)(At)}function B(At){return At.constructor.hasOwnProperty(d)}function a(At){return B(At)?At.constructor[d]:[]}function N(At){return[L,o].reduce((Y,te)=>Y.concat(te(At)),[])}function F(At,we,Y){const te=h(At).constructor.name,xe=N(At).map(({propertyName:ze,dispatch:_t,useEffectsErrorHandler:ct})=>{const Ue="function"==typeof At[ze]?At[ze]():At[ze],Me=ct?Y(Ue,we):Ue;return!1===_t?Me.pipe((0,s.l)()):Me.pipe(function I(){return(0,M.e)((At,we)=>{At.subscribe((0,z.x)(we,Y=>{we.next(A.createNext(Y))},()=>{we.next(A.createComplete()),we.complete()},Y=>{we.next(A.createError(Y)),we.complete()}))})}()).pipe((0,W.U)(Je=>({effect:At[ze],notification:Je,propertyName:ze,sourceName:te,sourceInstance:At})))});return(0,_.T)(...xe)}function Fe(At,we,Y=10){return At.pipe((0,Z.K)(te=>(we&&we.handleError(te),Y<=1?At:Fe(At,we,Y-1))))}class ke extends t.y{constructor(we){super(),we&&(this.source=we)}lift(we){const Y=new ke;return Y.source=this,Y.operator=we,Y}}function Ge(...At){return(0,j.h)(we=>At.some(Y=>"string"==typeof Y?Y===we.type:Y.type===we.type))}ke.\u0275fac=function(we){return new(we||ke)($.LFG(e.Y$))},ke.\u0275prov=$.Yz7({token:ke,factory:ke.\u0275fac,providedIn:"root"});const je=new $.OlP("@ngrx/effects Internal Root Guard"),We=new $.OlP("@ngrx/effects User Provided Effects"),be=new $.OlP("@ngrx/effects Internal Root Effects"),Ye=new $.OlP("@ngrx/effects Root Effects"),Ie=new $.OlP("@ngrx/effects Internal Feature Effects"),ge=new $.OlP("@ngrx/effects Feature Effects"),et=new $.OlP("@ngrx/effects Effects Error Handler",{providedIn:"root",factory:()=>Fe}),ut="@ngrx/effects/init";(0,e.PH)(ut);function De(At,we){if("N"===At.notification.kind){const Y=At.notification.value;!function ne(At){return"function"!=typeof At&&At&&At.type&&"string"==typeof At.type}(Y)&&we.handleError(new Error(`Effect ${function fe({propertyName:At,sourceInstance:we,sourceName:Y}){const te="function"==typeof we[At];return`"${Y}.${String(At)}${te?"()":""}"`}(At)} dispatched an invalid action: ${function ee(At){try{return JSON.stringify(At)}catch{return At}}(Y)}`))}}function pt(At){return it(At,"ngrxOnInitEffects")}function it(At,we){return At&&we in At&&"function"==typeof At[we]}class Ct extends E.x{constructor(we,Y){super(),this.errorHandler=we,this.effectsErrorHandler=Y}addEffects(we){this.next(we)}toActions(){return this.pipe(re(h),(0,pe.z)(we=>we.pipe(re(un))),(0,pe.z)(we=>{const Y=we.pipe(le(xe=>function Nt(At,we){return Y=>{const te=F(Y,At,we);return function Re(At){return it(At,"ngrxOnRunEffects")}(Y)?Y.ngrxOnRunEffects(te):te}}(this.errorHandler,this.effectsErrorHandler)(xe)),(0,W.U)(xe=>(De(xe,this.errorHandler),xe.notification)),(0,j.h)(xe=>"N"===xe.kind&&null!=xe.value),function ve(){return(0,M.e)((At,we)=>{At.subscribe((0,z.x)(we,Y=>P(Y,we)))})}()),te=we.pipe((0,de.q)(1),(0,j.h)(pt),(0,W.U)(xe=>xe.ngrxOnInitEffects()));return(0,_.T)(Y,te)}))}}function un(At){return function q(At){return it(At,"ngrxOnIdentifyEffects")}(At)?At.ngrxOnIdentifyEffects():""}Ct.\u0275fac=function(we){return new(we||Ct)($.LFG($.qLn),$.LFG(et))},Ct.\u0275prov=$.Yz7({token:Ct,factory:Ct.\u0275fac,providedIn:"root"});class zt{constructor(we,Y){this.effectSources=we,this.store=Y,this.effectsSubscription=null}get isStarted(){return!!this.effectsSubscription}start(){this.effectsSubscription||(this.effectsSubscription=this.effectSources.toActions().subscribe(this.store))}ngOnDestroy(){this.effectsSubscription&&(this.effectsSubscription.unsubscribe(),this.effectsSubscription=null)}}zt.\u0275fac=function(we){return new(we||zt)($.LFG(Ct),$.LFG(e.yh))},zt.\u0275prov=$.Yz7({token:zt,factory:zt.\u0275fac,providedIn:"root"});class yn{constructor(we,Y,te,xe,ze,_t,ct){this.sources=we,Y.start(),xe.forEach(Ue=>we.addEffects(Ue)),te.dispatch({type:ut})}addEffects(we){this.sources.addEffects(we)}}yn.\u0275fac=function(we){return new(we||yn)($.LFG(Ct),$.LFG(zt),$.LFG(e.yh),$.LFG(Ye),$.LFG(e.cr,8),$.LFG(e.CK,8),$.LFG(je,8))},yn.\u0275mod=$.oAB({type:yn}),yn.\u0275inj=$.cJS({});class Jt{constructor(we,Y,te,xe){Y.forEach(ze=>ze.forEach(_t=>we.addEffects(_t)))}}Jt.\u0275fac=function(we){return new(we||Jt)($.LFG(yn),$.LFG(ge),$.LFG(e.cr,8),$.LFG(e.CK,8))},Jt.\u0275mod=$.oAB({type:Jt}),Jt.\u0275inj=$.cJS({});class Gt{static forFeature(we=[]){return{ngModule:Jt,providers:[we,{provide:Ie,multi:!0,useValue:we},{provide:We,multi:!0,useValue:[]},{provide:ge,multi:!0,useFactory:In,deps:[$.zs3,Ie,We]}]}}static forRoot(we=[]){return{ngModule:yn,providers:[we,{provide:be,useValue:[we]},{provide:je,useFactory:tn,deps:[[zt,new $.FiY,new $.tp0],[be,new $.PiD]]},{provide:We,multi:!0,useValue:[]},{provide:Ye,useFactory:In,deps:[$.zs3,be,We]}]}}}function In(At,we,Y){const te=[];for(const xe of we)te.push(...xe);for(const xe of Y)te.push(...xe);return function an(At,we){return we.map(Y=>At.get(Y))}(At,te)}function tn(At,we){if((1!==we.length||0!==we[0].length)&&At)throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");return"guarded"}Gt.\u0275fac=function(we){return new(we||Gt)},Gt.\u0275mod=$.oAB({type:Gt}),Gt.\u0275inj=$.cJS({})},5242:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{FT:()=>StoreDevtoolsModule});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2560),_ngrx_store__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9263),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(591),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(833),rxjs__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(745),rxjs__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(6646),rxjs__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(4915),rxjs__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(6067),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(1203),rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(116),rxjs_operators__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(635),rxjs_operators__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3853),rxjs_operators__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7580),rxjs_operators__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(1989),rxjs_operators__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(3158),rxjs_operators__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(9295),rxjs_operators__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(8951),rxjs_operators__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(2673),rxjs_operators__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(7260),rxjs_operators__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(8728),rxjs_operators__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(538),rxjs_operators__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(4351);const PERFORM_ACTION="PERFORM_ACTION",REFRESH="REFRESH",RESET="RESET",ROLLBACK="ROLLBACK",COMMIT="COMMIT",SWEEP="SWEEP",TOGGLE_ACTION="TOGGLE_ACTION",SET_ACTIONS_ACTIVE="SET_ACTIONS_ACTIVE",JUMP_TO_STATE="JUMP_TO_STATE",JUMP_TO_ACTION="JUMP_TO_ACTION",IMPORT_STATE="IMPORT_STATE",LOCK_CHANGES="LOCK_CHANGES",PAUSE_RECORDING="PAUSE_RECORDING";class PerformAction{constructor(X,m){if(this.action=X,this.timestamp=m,this.type=PERFORM_ACTION,typeof X.type>"u")throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')}}class Refresh{constructor(){this.type=REFRESH}}class Reset{constructor(X){this.timestamp=X,this.type=RESET}}class Rollback{constructor(X){this.timestamp=X,this.type=ROLLBACK}}class Commit{constructor(X){this.timestamp=X,this.type=COMMIT}}class Sweep{constructor(){this.type=SWEEP}}class ToggleAction{constructor(X){this.id=X,this.type=TOGGLE_ACTION}}class SetActionsActive{constructor(X,m,e=!0){this.start=X,this.end=m,this.active=e,this.type=SET_ACTIONS_ACTIVE}}class JumpToState{constructor(X){this.index=X,this.type=JUMP_TO_STATE}}class JumpToAction{constructor(X){this.actionId=X,this.type=JUMP_TO_ACTION}}class ImportState{constructor(X){this.nextLiftedState=X,this.type=IMPORT_STATE}}class LockChanges{constructor(X){this.status=X,this.type=LOCK_CHANGES}}class PauseRecording{constructor(X){this.status=X,this.type=PAUSE_RECORDING}}class StoreDevtoolsConfig{constructor(){this.maxAge=!1}}const STORE_DEVTOOLS_CONFIG=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Options"),INITIAL_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Initial Config");function noMonitor(){return null}const DEFAULT_NAME="NgRx Store DevTools";function createConfig(Ve){const X={maxAge:!1,monitor:noMonitor,actionSanitizer:void 0,stateSanitizer:void 0,name:DEFAULT_NAME,serialize:!1,logOnly:!1,autoPause:!1,features:{pause:!0,lock:!0,persist:!0,export:!0,import:"custom",jump:!0,skip:!0,reorder:!0,dispatch:!0,test:!0}},m="function"==typeof Ve?Ve():Ve,e=!!m.logOnly&&{pause:!0,export:!0,test:!0},t=m.features||e||X.features,_=Object.assign({},X,{features:t},m);if(_.maxAge&&_.maxAge<2)throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${_.maxAge}`);return _}function difference(Ve,X){return Ve.filter(m=>X.indexOf(m)<0)}function unliftState(Ve){const{computedStates:X,currentStateIndex:m}=Ve;if(m>=X.length){const{state:t}=X[X.length-1];return t}const{state:e}=X[m];return e}function unliftAction(Ve){return Ve.actionsById[Ve.nextActionId-1]}function liftAction(Ve){return new PerformAction(Ve,+Date.now())}function sanitizeActions(Ve,X){return Object.keys(X).reduce((m,e)=>{const t=Number(e);return m[t]=sanitizeAction(Ve,X[t],t),m},{})}function sanitizeAction(Ve,X,m){return{...X,action:Ve(X.action,m)}}function sanitizeStates(Ve,X){return X.map((m,e)=>({state:sanitizeState(Ve,m.state,e),error:m.error}))}function sanitizeState(Ve,X,m){return Ve(X,m)}function shouldFilterActions(Ve){return Ve.predicate||Ve.actionsSafelist||Ve.actionsBlocklist}function filterLiftedState(Ve,X,m,e){const t=[],_={},E=[];return Ve.stagedActionIds.forEach((s,D)=>{const u=Ve.actionsById[s];!u||D&&isActionFiltered(Ve.computedStates[D],u,X,m,e)||(_[s]=u,t.push(s),E.push(Ve.computedStates[D]))}),{...Ve,stagedActionIds:t,actionsById:_,computedStates:E}}function isActionFiltered(Ve,X,m,e,t){const _=m&&!m(Ve,X.action),E=e&&!X.action.type.match(e.map(D=>escapeRegExp(D)).join("|")),s=t&&X.action.type.match(t.map(D=>escapeRegExp(D)).join("|"));return _||E||s}function escapeRegExp(Ve){return Ve.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}class DevtoolsDispatcher extends _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO{}DevtoolsDispatcher.\u0275fac=function(){let Ve;return function(m){return(Ve||(Ve=_angular_core__WEBPACK_IMPORTED_MODULE_0__.n5z(DevtoolsDispatcher)))(m||DevtoolsDispatcher)}}(),DevtoolsDispatcher.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsDispatcher,factory:DevtoolsDispatcher.\u0275fac});const ExtensionActionTypes={START:"START",DISPATCH:"DISPATCH",STOP:"STOP",ACTION:"ACTION"},REDUX_DEVTOOLS_EXTENSION=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Redux Devtools Extension");class DevtoolsExtension{constructor(Ve,X,m){this.config=X,this.dispatcher=m,this.devtoolsExtension=Ve,this.createActionStreams()}notify(Ve,X){if(this.devtoolsExtension)if(Ve.type===PERFORM_ACTION){if(X.isLocked||X.isPaused)return;const m=unliftState(X);if(shouldFilterActions(this.config)&&isActionFiltered(m,Ve,this.config.predicate,this.config.actionsSafelist,this.config.actionsBlocklist))return;const e=this.config.stateSanitizer?sanitizeState(this.config.stateSanitizer,m,X.currentStateIndex):m,t=this.config.actionSanitizer?sanitizeAction(this.config.actionSanitizer,Ve,X.nextActionId):Ve;this.sendToReduxDevtools(()=>this.extensionConnection.send(t,e))}else{const m={...X,stagedActionIds:X.stagedActionIds,actionsById:this.config.actionSanitizer?sanitizeActions(this.config.actionSanitizer,X.actionsById):X.actionsById,computedStates:this.config.stateSanitizer?sanitizeStates(this.config.stateSanitizer,X.computedStates):X.computedStates};this.sendToReduxDevtools(()=>this.devtoolsExtension.send(null,m,this.getExtensionConfig(this.config)))}}createChangesObservable(){return this.devtoolsExtension?new rxjs__WEBPACK_IMPORTED_MODULE_3__.y(Ve=>{const X=this.devtoolsExtension.connect(this.getExtensionConfig(this.config));return this.extensionConnection=X,X.init(),X.subscribe(m=>Ve.next(m)),X.unsubscribe}):rxjs__WEBPACK_IMPORTED_MODULE_2__.E}createActionStreams(){const Ve=this.createChangesObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.B)()),X=Ve.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.START)),m=Ve.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.STOP)),e=Ve.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.DISPATCH),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(s=>this.unwrapAction(s.payload)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.b)(s=>s.type===IMPORT_STATE?this.dispatcher.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(D=>D.type===_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__.V)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__.b)(1e3),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(()=>s),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.K)(()=>(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(s)),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.q)(1)):(0,rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(s))),_=Ve.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(s=>s.type===ExtensionActionTypes.ACTION),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(s=>this.unwrapAction(s.payload))).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m)),E=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m));this.start$=X.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(m)),this.actions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>_)),this.liftedActions$=this.start$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(()=>E))}unwrapAction(action){return"string"==typeof action?eval(`(${action})`):action}getExtensionConfig(Ve){const X={name:Ve.name,features:Ve.features,serialize:Ve.serialize,autoPause:Ve.autoPause??!1};return!1!==Ve.maxAge&&(X.maxAge=Ve.maxAge),X}sendToReduxDevtools(Ve){try{Ve()}catch(X){console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools",X)}}}DevtoolsExtension.\u0275fac=function Ve(X){return new(X||DevtoolsExtension)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(REDUX_DEVTOOLS_EXTENSION),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher))},DevtoolsExtension.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:DevtoolsExtension,factory:DevtoolsExtension.\u0275fac});const INIT_ACTION={type:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg},RECOMPUTE="@ngrx/store-devtools/recompute",RECOMPUTE_ACTION={type:RECOMPUTE};function computeNextEntry(Ve,X,m,e,t){if(e)return{state:m,error:"Interrupted by an error up the chain"};let E,_=m;try{_=Ve(m,X)}catch(s){E=s.toString(),t.handleError(s)}return{state:_,error:E}}function recomputeStates(Ve,X,m,e,t,_,E,s,D){if(X>=Ve.length&&Ve.length===_.length)return Ve;const u=Ve.slice(0,X),k=_.length-(D?1:0);for(let p=X;p-1?P:computeNextEntry(m,A,M,z,s);u.push(W)}return D&&u.push(Ve[Ve.length-1]),u}function liftInitialState(Ve,X){return{monitorState:X(void 0,{}),nextActionId:1,actionsById:{0:liftAction(INIT_ACTION)},stagedActionIds:[0],skippedActionIds:[],committedState:Ve,currentStateIndex:0,computedStates:[],isLocked:!1,isPaused:!1}}function liftReducerWith(Ve,X,m,e,t={}){return _=>(E,s)=>{let{monitorState:D,actionsById:u,nextActionId:k,stagedActionIds:p,skippedActionIds:S,committedState:A,currentStateIndex:P,computedStates:M,isLocked:z,isPaused:I}=E||X;function W(ae){let re=ae,pe=p.slice(1,re+1);for(let le=0;le-1===pe.indexOf(le)),p=[0,...p.slice(re+1)],A=M[re].state,M=M.slice(re),P=P>re?P-re:0}function Z(){u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],A=M[P].state,P=0,M=[]}E||(u=Object.create(u));let j=0;switch(s.type){case LOCK_CHANGES:z=s.status,j=1/0;break;case PAUSE_RECORDING:I=s.status,I?(p=[...p,k],u[k]=new PerformAction({type:"@ngrx/devtools/pause"},+Date.now()),k++,j=p.length-1,M=M.concat(M[M.length-1]),P===p.length-2&&P++,j=1/0):Z();break;case RESET:u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],A=Ve,P=0,M=[];break;case COMMIT:Z();break;case ROLLBACK:u={0:liftAction(INIT_ACTION)},k=1,p=[0],S=[],P=0,M=[];break;case TOGGLE_ACTION:{const{id:ae}=s;S=-1===S.indexOf(ae)?[ae,...S]:S.filter(pe=>pe!==ae),j=p.indexOf(ae);break}case SET_ACTIONS_ACTIVE:{const{start:ae,end:re,active:pe}=s,le=[];for(let ve=ae;vet.maxAge&&(M=recomputeStates(M,j,_,A,u,p,S,m,I),W(p.length-t.maxAge),j=1/0);break;case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb:if(M.filter(re=>re.error).length>0)j=0,t.maxAge&&p.length>t.maxAge&&(M=recomputeStates(M,j,_,A,u,p,S,m,I),W(p.length-t.maxAge),j=1/0);else{if(!I&&!z){P===p.length-1&&P++;const re=k++;u[re]=new PerformAction(s,+Date.now()),p=[...p,re],j=p.length-1,M=recomputeStates(M,j,_,A,u,p,S,m,I)}M=M.map(re=>({...re,state:_(re.state,RECOMPUTE_ACTION)})),P=p.length-1,t.maxAge&&p.length>t.maxAge&&W(p.length-t.maxAge),j=1/0}break;default:j=1/0}return M=recomputeStates(M,j,_,A,u,p,S,m,I),D=e(D,s),{monitorState:D,actionsById:u,nextActionId:k,stagedActionIds:p,skippedActionIds:S,committedState:A,currentStateIndex:P,computedStates:M,isLocked:z,isPaused:I}}}class StoreDevtools{constructor(X,m,e,t,_,E,s,D){const u=liftInitialState(s,D.monitor),k=liftReducerWith(s,u,E,D.monitor,D),p=(0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)((0,rxjs__WEBPACK_IMPORTED_MODULE_15__.T)(m.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_16__.T)(1)),t.actions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(liftAction)),X,t.liftedActions$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_17__.Q)(rxjs__WEBPACK_IMPORTED_MODULE_18__.N)),S=e.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(k)),A=new rxjs__WEBPACK_IMPORTED_MODULE_19__.t(1),P=p.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_20__.M)(S),(0,rxjs_operators__WEBPACK_IMPORTED_MODULE_21__.R)(({state:W},[Z,j])=>{let ae=j(W,Z);return Z.type!==PERFORM_ACTION&&shouldFilterActions(D)&&(ae=filterLiftedState(ae,D.predicate,D.actionsSafelist,D.actionsBlocklist)),t.notify(Z,ae),{state:ae,action:Z}},{state:u,action:null})).subscribe(({state:W,action:Z})=>{if(A.next(W),Z.type===PERFORM_ACTION){const j=Z.action;_.next(j)}}),M=t.start$.subscribe(()=>{this.refresh()}),z=A.asObservable(),I=z.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(unliftState));this.extensionStartSubscription=M,this.stateSubscription=P,this.dispatcher=X,this.liftedState=z,this.state=I}dispatch(X){this.dispatcher.next(X)}next(X){this.dispatcher.next(X)}error(X){}complete(){}performAction(X){this.dispatch(new PerformAction(X,+Date.now()))}refresh(){this.dispatch(new Refresh)}reset(){this.dispatch(new Reset(+Date.now()))}rollback(){this.dispatch(new Rollback(+Date.now()))}commit(){this.dispatch(new Commit(+Date.now()))}sweep(){this.dispatch(new Sweep)}toggleAction(X){this.dispatch(new ToggleAction(X))}jumpToAction(X){this.dispatch(new JumpToAction(X))}jumpToState(X){this.dispatch(new JumpToState(X))}importState(X){this.dispatch(new ImportState(X))}lockChanges(X){this.dispatch(new LockChanges(X))}pauseRecording(X){this.dispatch(new PauseRecording(X))}}StoreDevtools.\u0275fac=function Ve(X){return new(X||StoreDevtools)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.n$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsExtension),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y$),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_angular_core__WEBPACK_IMPORTED_MODULE_0__.qLn),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y6),_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG))},StoreDevtools.\u0275prov=_angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({token:StoreDevtools,factory:StoreDevtools.\u0275fac});const IS_EXTENSION_OR_MONITOR_PRESENT=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Is Devtools Extension or Monitor Present");function createIsExtensionOrMonitorPresent(Ve,X){return Boolean(Ve)||X.monitor!==noMonitor}function createReduxDevtoolsExtension(){const Ve="__REDUX_DEVTOOLS_EXTENSION__";return"object"==typeof window&&typeof window[Ve]<"u"?window[Ve]:null}function provideStoreDevtools(Ve={}){return{\u0275providers:[DevtoolsExtension,DevtoolsDispatcher,StoreDevtools,{provide:INITIAL_OPTIONS,useValue:Ve},{provide:IS_EXTENSION_OR_MONITOR_PRESENT,deps:[REDUX_DEVTOOLS_EXTENSION,STORE_DEVTOOLS_CONFIG],useFactory:createIsExtensionOrMonitorPresent},{provide:REDUX_DEVTOOLS_EXTENSION,useFactory:createReduxDevtoolsExtension},{provide:STORE_DEVTOOLS_CONFIG,deps:[INITIAL_OPTIONS],useFactory:createConfig},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.FR,deps:[StoreDevtools],useFactory:createStateObservable},{provide:_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.mK,useExisting:DevtoolsDispatcher}]}}function createStateObservable(Ve){return Ve.state}class StoreDevtoolsModule{static instrument(X={}){return{ngModule:StoreDevtoolsModule,providers:[...provideStoreDevtools(X).\u0275providers]}}}StoreDevtoolsModule.\u0275fac=function Ve(X){return new(X||StoreDevtoolsModule)},StoreDevtoolsModule.\u0275mod=_angular_core__WEBPACK_IMPORTED_MODULE_0__.oAB({type:StoreDevtoolsModule}),StoreDevtoolsModule.\u0275inj=_angular_core__WEBPACK_IMPORTED_MODULE_0__.cJS({})},9263:(Ve,X,m)=>{"use strict";m.d(X,{UO:()=>de,qg:()=>ve,Y6:()=>n,mK:()=>fe,n$:()=>ne,Y$:()=>Oe,FR:()=>oe,yh:()=>un,CK:()=>qi,Aw:()=>Zi,cr:()=>mi,wb:()=>ee,qC:()=>ut,PH:()=>z,ZF:()=>Tt,Lq:()=>mr,P1:()=>Je,on:()=>Za,Ky:()=>I});var e=m(2560),t=m(6317),_=m(833),E=m(253),s=m(4915),D=m(8728),u=m(538),k=m(4351),p=m(635);var A=m(8977);const P={};function z(It,Ft){if(P[It]=(P[It]||0)+1,"function"==typeof Ft)return Z(It,(...En)=>({...Ft(...En),type:It}));switch(Ft?Ft._as:"empty"){case"empty":return Z(It,()=>({type:It}));case"props":return Z(It,En=>({...En,type:It}));default:throw new Error("Unexpected config.")}}function I(){return{_as:"props",_p:void 0}}function Z(It,Ft){return Object.defineProperty(Ft,"type",{value:It,writable:!1})}const ve="@ngrx/store/init";class de extends t.X{constructor(){super({type:ve})}next(Ft){if("function"==typeof Ft)throw new TypeError("\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().");if(typeof Ft>"u")throw new TypeError("Actions must be objects");if(typeof Ft.type>"u")throw new TypeError("Actions must have a type property");super.next(Ft)}complete(){}ngOnDestroy(){super.complete()}}de.\u0275fac=function(Ft){return new(Ft||de)},de.\u0275prov=e.Yz7({token:de,factory:de.\u0275fac});const $=[de],ue=new e.OlP("@ngrx/store Internal Root Guard"),w=new e.OlP("@ngrx/store Internal Initial State"),n=new e.OlP("@ngrx/store Initial State"),o=new e.OlP("@ngrx/store Reducer Factory"),h=new e.OlP("@ngrx/store Internal Reducer Factory Provider"),d=new e.OlP("@ngrx/store Initial Reducers"),y=new e.OlP("@ngrx/store Internal Initial Reducers"),L=new e.OlP("@ngrx/store Store Features"),B=new e.OlP("@ngrx/store Internal Store Reducers"),v=new e.OlP("@ngrx/store Internal Feature Reducers"),a=new e.OlP("@ngrx/store Internal Feature Configs"),C=new e.OlP("@ngrx/store Internal Store Features"),N=new e.OlP("@ngrx/store Internal Feature Reducers Token"),F=new e.OlP("@ngrx/store Feature Reducers"),J=new e.OlP("@ngrx/store User Provided Meta Reducers"),Fe=new e.OlP("@ngrx/store Meta Reducers"),ke=new e.OlP("@ngrx/store Internal Resolved Meta Reducers"),Ge=new e.OlP("@ngrx/store User Runtime Checks Config"),je=new e.OlP("@ngrx/store Internal User Runtime Checks Config"),We=new e.OlP("@ngrx/store Internal Runtime Checks"),be=new e.OlP("@ngrx/store Check if Action types are unique"),Ye=new e.OlP("@ngrx/store Root Store Provider"),Ie=new e.OlP("@ngrx/store Feature State Provider");function ge(It,Ft={}){const ln=Object.keys(It),En={};for(let Nn=0;NnNn(qn),ln(Ft))}}function Le(It,Ft){return Array.isArray(Ft)&&Ft.length>0&&(It=ut.apply(null,[...Ft,It])),(ln,En)=>{const qn=It(ln);return(Nn,li)=>qn(Nn=void 0===Nn?En:Nn,li)}}class ne extends _.y{}class fe extends de{}const ee="@ngrx/store/update-reducers";class H extends t.X{constructor(Ft,ln,En,qn){super(qn(En,ln)),this.dispatcher=Ft,this.initialState=ln,this.reducers=En,this.reducerFactory=qn}get currentReducers(){return this.reducers}addFeature(Ft){this.addFeatures([Ft])}addFeatures(Ft){const ln=Ft.reduce((En,{reducers:qn,reducerFactory:Nn,metaReducers:li,initialState:aa,key:Ii})=>{const ea="function"==typeof qn?function De(It){const Ft=Array.isArray(It)&&It.length>0?ut(...It):ln=>ln;return(ln,En)=>(ln=Ft(ln),(qn,Nn)=>ln(qn=void 0===qn?En:qn,Nn))}(li)(qn,aa):Le(Nn,li)(qn,aa);return En[Ii]=ea,En},{});this.addReducers(ln)}removeFeature(Ft){this.removeFeatures([Ft])}removeFeatures(Ft){this.removeReducers(Ft.map(ln=>ln.key))}addReducer(Ft,ln){this.addReducers({[Ft]:ln})}addReducers(Ft){this.reducers={...this.reducers,...Ft},this.updateReducers(Object.keys(Ft))}removeReducer(Ft){this.removeReducers([Ft])}removeReducers(Ft){Ft.forEach(ln=>{this.reducers=function et(It,Ft){return Object.keys(It).filter(ln=>ln!==Ft).reduce((ln,En)=>Object.assign(ln,{[En]:It[En]}),{})}(this.reducers,ln)}),this.updateReducers(Ft)}updateReducers(Ft){this.next(this.reducerFactory(this.reducers,this.initialState)),this.dispatcher.next({type:ee,features:Ft})}ngOnDestroy(){this.complete()}}H.\u0275fac=function(Ft){return new(Ft||H)(e.LFG(fe),e.LFG(n),e.LFG(d),e.LFG(o))},H.\u0275prov=e.Yz7({token:H,factory:H.\u0275fac});const q=[H,{provide:ne,useExisting:H},{provide:fe,useExisting:de}];class Oe extends E.x{ngOnDestroy(){this.complete()}}Oe.\u0275fac=function(){let It;return function(ln){return(It||(It=e.n5z(Oe)))(ln||Oe)}}(),Oe.\u0275prov=e.Yz7({token:Oe,factory:Oe.\u0275fac});const Re=[Oe];class oe extends _.y{}class pt extends t.X{constructor(Ft,ln,En,qn){super(qn);const aa={state:qn},Ii=Ft.pipe((0,D.Q)(s.N)).pipe((0,u.M)(ln)).pipe((0,k.R)(it,aa));this.stateSubscription=Ii.subscribe(({state:ea,action:Di})=>{this.next(ea),En.next(Di)})}ngOnDestroy(){this.stateSubscription.unsubscribe(),this.complete()}}function it(It={state:void 0},[Ft,ln]){const{state:En}=It;return{state:ln(En,Ft),action:Ft}}pt.INIT=ve,pt.\u0275fac=function(Ft){return new(Ft||pt)(e.LFG(de),e.LFG(ne),e.LFG(Oe),e.LFG(n))},pt.\u0275prov=e.Yz7({token:pt,factory:pt.\u0275fac});const Ct=[pt,{provide:oe,useExisting:pt}];class un extends _.y{constructor(Ft,ln,En){super(),this.actionsObserver=ln,this.reducerManager=En,this.source=Ft}select(Ft,...ln){return zt.call(null,Ft,...ln)(this)}lift(Ft){const ln=new un(this,this.actionsObserver,this.reducerManager);return ln.operator=Ft,ln}dispatch(Ft){this.actionsObserver.next(Ft)}next(Ft){this.actionsObserver.next(Ft)}error(Ft){this.actionsObserver.error(Ft)}complete(){this.actionsObserver.complete()}addReducer(Ft,ln){this.reducerManager.addReducer(Ft,ln)}removeReducer(Ft){this.reducerManager.removeReducer(Ft)}}un.\u0275fac=function(Ft){return new(Ft||un)(e.LFG(oe),e.LFG(de),e.LFG(H))},un.\u0275prov=e.Yz7({token:un,factory:un.\u0275fac});const Nt=[un];function zt(It,Ft,...ln){return function(qn){let Nn;if("string"==typeof It){const li=[Ft,...ln].filter(Boolean);Nn=qn.pipe(function S(...It){const Ft=It.length;if(0===Ft)throw new Error("list of properties cannot be empty.");return(0,p.U)(ln=>{let En=ln;for(let qn=0;qnIt(li,Ft)))}return Nn.pipe((0,A.x)())}}const yn="https://ngrx.io/guide/store/configuration/runtime-checks";function Jt(It){return void 0===It}function Gt(It){return null===It}function In(It){return Array.isArray(It)}function nt(It){return"object"==typeof It&&null!==It}function At(It){if(!function gt(It){return nt(It)&&!In(It)}(It))return!1;const Ft=Object.getPrototypeOf(It);return Ft===Object.prototype||null===Ft}function we(It){return"function"==typeof It}let xe=!1;function ct(It,Ft){return It===Ft}function Ue(It,Ft,ln){for(let En=0;EnDi.release&&"function"==typeof Di.release),aa=It(function(...Di){return Nn.apply(null,Di)}),Ii=Ce(function(Di,Ji){return Ft.stateFn.apply(null,[Di,qn,Ji,aa])});function ea(){Ii.reset(),aa.reset(),li.forEach(Di=>Di.release())}return Object.assign(Ii.memoized,{release:ea,projector:aa.memoized,setResult:Ii.setResult,clearResult:Ii.clearResult})}}(Ce)(...It)}function Ut(It,Ft,ln,En){if(void 0===ln){const Nn=Ft.map(li=>li(It));return En.memoized.apply(null,Nn)}const qn=Ft.map(Nn=>Nn(It,ln));return En.memoized.apply(null,[...qn,ln])}function Tt(It){return Je(Ft=>{const ln=Ft[It];return!function _t(){return xe}()&&(0,e.X6Q)()&&!(It in Ft)&&console.warn(`@ngrx/store: The feature name "${It}" does not exist in the state, therefore createFeatureSelector cannot access it. Be sure it is imported in a loaded module using StoreModule.forRoot('${It}', ...) or StoreModule.forFeature('${It}', ...). If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`),ln},Ft=>Ft)}function $t(It,Ft){return Ft instanceof e.OlP?It.get(Ft):Ft}function Rt(It,Ft,ln){return ln.map((En,qn)=>{if(Ft[qn]instanceof e.OlP){const Nn=It.get(Ft[qn]);return{key:En.key,reducerFactory:Nn.reducerFactory?Nn.reducerFactory:ge,metaReducers:Nn.metaReducers?Nn.metaReducers:[],initialState:Nn.initialState}}return En})}function Xt(It,Ft){return Ft.map(En=>En instanceof e.OlP?It.get(En):En)}function Vn(It){return"function"==typeof It?It():It}function zn(It,Ft){return It.concat(Ft)}function Tn(It){if(It)throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");return"guarded"}function Mt(It){Object.freeze(It);const Ft=we(It);return Object.getOwnPropertyNames(It).forEach(ln=>{if(!ln.startsWith("\u0275")&&function te(It,Ft){return Object.prototype.hasOwnProperty.call(It,Ft)}(It,ln)&&(!Ft||"caller"!==ln&&"callee"!==ln&&"arguments"!==ln)){const En=It[ln];(nt(En)||we(En))&&!Object.isFrozen(En)&&Mt(En)}}),It}function Be(It,Ft=[]){return(Jt(It)||Gt(It))&&0===Ft.length?{path:["root"],value:It}:Object.keys(It).reduce((En,qn)=>{if(En)return En;const Nn=It[qn];return function Y(It){return we(It)&&It.hasOwnProperty("\u0275cmp")}(Nn)?En:!(Jt(Nn)||Gt(Nn)||function pn(It){return"number"==typeof It}(Nn)||function tn(It){return"boolean"==typeof It}(Nn)||function an(It){return"string"==typeof It}(Nn)||In(Nn))&&(At(Nn)?Be(Nn,[...Ft,qn]):{path:[...Ft,qn],value:Nn})},!1)}function ht(It,Ft){if(!1===It)return;const ln=It.path.join("."),En=new Error(`Detected unserializable ${Ft} at "${ln}". ${yn}#strict${Ft}serializability`);throw En.value=It.value,En.unserializablePath=ln,En}function Ae(It){return(0,e.X6Q)()?{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!0,strictActionImmutability:!0,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1,...It}:{strictStateSerializability:!1,strictActionSerializability:!1,strictStateImmutability:!1,strictActionImmutability:!1,strictActionWithinNgZone:!1,strictActionTypeUniqueness:!1}}function ft({strictActionSerializability:It,strictStateSerializability:Ft}){return ln=>It||Ft?function Ze(It,Ft){return function(ln,En){Ft.action(En)&&ht(Be(En),"action");const qn=It(ln,En);return Ft.state()&&ht(Be(qn),"state"),qn}}(ln,{action:En=>It&&!nn(En),state:()=>Ft}):ln}function Lt({strictActionImmutability:It,strictStateImmutability:Ft}){return ln=>It||Ft?function Yn(It,Ft){return function(ln,En){const qn=Ft.action(En)?Mt(En):En,Nn=It(ln,qn);return Ft.state()?Mt(Nn):Nn}}(ln,{action:En=>It&&!nn(En),state:()=>Ft}):ln}function nn(It){return It.type.startsWith("@ngrx")}function Bn({strictActionWithinNgZone:It}){return Ft=>It?function se(It,Ft){return function(ln,En){if(Ft.action(En)&&!e.R0b.isInAngularZone())throw new Error(`Action '${En.type}' running outside NgZone. ${yn}#strictactionwithinngzone`);return It(ln,En)}}(Ft,{action:ln=>It&&!nn(ln)}):Ft}function Wn(It){return[{provide:je,useValue:It},{provide:Ge,useFactory:Mn,deps:[je]},{provide:We,deps:[Ge],useFactory:Ae},{provide:Fe,multi:!0,deps:[We],useFactory:Lt},{provide:Fe,multi:!0,deps:[We],useFactory:ft},{provide:Fe,multi:!0,deps:[We],useFactory:Bn}]}function ti(){return[{provide:be,multi:!0,deps:[We],useFactory:Ln}]}function Mn(It){return It}function Ln(It){if(!It.strictActionTypeUniqueness)return;const Ft=Object.entries(P).filter(([,ln])=>ln>1).map(([ln])=>ln);if(Ft.length)throw new Error(`Action types are registered more than once, ${Ft.map(ln=>`"${ln}"`).join(", ")}. ${yn}#strictactiontypeuniqueness`)}function rn(It,Ft){return[{provide:ue,useFactory:Tn,deps:[[un,new e.FiY,new e.tp0]]},{provide:w,useValue:Ft.initialState},{provide:n,useFactory:Vn,deps:[w]},{provide:y,useValue:It},{provide:B,useExisting:It instanceof e.OlP?It:y},{provide:d,deps:[e.zs3,y,[new e.tBr(B)]],useFactory:$t},{provide:J,useValue:Ft.metaReducers?Ft.metaReducers:[]},{provide:ke,deps:[Fe,J],useFactory:zn},{provide:h,useValue:Ft.reducerFactory?Ft.reducerFactory:ge},{provide:o,deps:[h,ke],useFactory:Le},$,q,Re,Ct,Nt,Wn(Ft.runtimeChecks),ti()]}e.Xts;e.Xts;function ha(It,Ft,ln={}){return[{provide:a,multi:!0,useValue:It instanceof Object?{}:ln},{provide:L,multi:!0,useValue:{key:It instanceof Object?It.name:It,reducerFactory:ln instanceof e.OlP||!ln.reducerFactory?ge:ln.reducerFactory,metaReducers:ln instanceof e.OlP||!ln.metaReducers?[]:ln.metaReducers,initialState:ln instanceof e.OlP||!ln.initialState?void 0:ln.initialState}},{provide:C,deps:[e.zs3,a,L],useFactory:Rt},{provide:v,multi:!0,useValue:It instanceof Object?It.reducer:Ft},{provide:N,multi:!0,useExisting:Ft instanceof e.OlP?Ft:v},{provide:F,multi:!0,deps:[e.zs3,v,[new e.tBr(N)]],useFactory:Xt},ti()]}class mi{constructor(Ft,ln,En,qn,Nn,li){}}mi.\u0275fac=function(Ft){return new(Ft||mi)(e.LFG(de),e.LFG(ne),e.LFG(Oe),e.LFG(un),e.LFG(ue,8),e.LFG(be,8))},mi.\u0275mod=e.oAB({type:mi}),mi.\u0275inj=e.cJS({});class qi{constructor(Ft,ln,En,qn,Nn){this.features=Ft,this.featureReducers=ln,this.reducerManager=En;const li=Ft.map((aa,Ii)=>{const Di=ln.shift()[Ii];return{...aa,reducers:Di,initialState:Vn(aa.initialState)}});En.addFeatures(li)}ngOnDestroy(){this.reducerManager.removeFeatures(this.features)}}qi.\u0275fac=function(Ft){return new(Ft||qi)(e.LFG(C),e.LFG(F),e.LFG(H),e.LFG(mi),e.LFG(be,8))},qi.\u0275mod=e.oAB({type:qi}),qi.\u0275inj=e.cJS({});class Zi{static forRoot(Ft,ln={}){return{ngModule:mi,providers:[...rn(Ft,ln)]}}static forFeature(Ft,ln,En={}){return{ngModule:qi,providers:[...ha(Ft,ln,En)]}}}function Za(...It){return{reducer:It.pop(),types:It.map(En=>En.type)}}function mr(It,...Ft){const ln=new Map;for(const En of Ft)for(const qn of En.types){const Nn=ln.get(qn);if(Nn){const li=(aa,Ii)=>En.reducer(Nn(aa,Ii),Ii);ln.set(qn,li)}else ln.set(qn,En.reducer)}return function(En=It,qn){const Nn=ln.get(qn.type);return Nn?Nn(En,qn):En}}Zi.\u0275fac=function(Ft){return new(Ft||Zi)},Zi.\u0275mod=e.oAB({type:Zi}),Zi.\u0275inj=e.cJS({})},8182:(Ve,X,m)=>{"use strict";m.d(X,{H5:()=>g2,K$:()=>m2,a4:()=>qd});var e=m(2560),t=m(4666),_=m(4929),E=m(7520),s=m(3280),D=m(1989),u=m(4851);function k(){}function p(f){return null==f?k:function(){return this.querySelector(f)}}function A(f){return"object"==typeof f&&"length"in f?f:Array.from(f)}function P(){return[]}function M(f){return null==f?P:function(){return this.querySelectorAll(f)}}function W(f){return function(){return this.matches(f)}}function Z(f){return function(r){return r.matches(f)}}var j=Array.prototype.find;function re(){return this.firstElementChild}var le=Array.prototype.filter;function ve(){return this.children}function w(f){return new Array(f.length)}function o(f,r){this.ownerDocument=f.ownerDocument,this.namespaceURI=f.namespaceURI,this._next=null,this._parent=f,this.__data__=r}function h(f){return function(){return f}}function d(f,r,i,b,R,Q){for(var Pe,_e=0,lt=r.length,vt=Q.length;_er?1:f>=r?0:NaN}o.prototype={constructor:o,appendChild:function(f){return this._parent.insertBefore(f,this._next)},insertBefore:function(f,r){return this._parent.insertBefore(f,r)},querySelector:function(f){return this._parent.querySelector(f)},querySelectorAll:function(f){return this._parent.querySelectorAll(f)}};var Ye="http://www.w3.org/1999/xhtml";const Ie={svg:"http://www.w3.org/2000/svg",xhtml:Ye,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ge(f){var r=f+="",i=r.indexOf(":");return i>=0&&"xmlns"!==(r=f.slice(0,i))&&(f=f.slice(i+1)),Ie.hasOwnProperty(r)?{space:Ie[r],local:f}:f}function et(f){return function(){this.removeAttribute(f)}}function ut(f){return function(){this.removeAttributeNS(f.space,f.local)}}function Le(f,r){return function(){this.setAttribute(f,r)}}function De(f,r){return function(){this.setAttributeNS(f.space,f.local,r)}}function ne(f,r){return function(){var i=r.apply(this,arguments);null==i?this.removeAttribute(f):this.setAttribute(f,i)}}function fe(f,r){return function(){var i=r.apply(this,arguments);null==i?this.removeAttributeNS(f.space,f.local):this.setAttributeNS(f.space,f.local,i)}}function H(f){return f.ownerDocument&&f.ownerDocument.defaultView||f.document&&f||f.defaultView}function q(f){return function(){this.style.removeProperty(f)}}function Oe(f,r,i){return function(){this.style.setProperty(f,r,i)}}function Re(f,r,i){return function(){var b=r.apply(this,arguments);null==b?this.style.removeProperty(f):this.style.setProperty(f,b,i)}}function pt(f,r){return f.style.getPropertyValue(r)||H(f).getComputedStyle(f,null).getPropertyValue(r)}function it(f){return function(){delete this[f]}}function Ct(f,r){return function(){this[f]=r}}function un(f,r){return function(){var i=r.apply(this,arguments);null==i?delete this[f]:this[f]=i}}function zt(f){return f.trim().split(/^|\s+/)}function yn(f){return f.classList||new Jt(f)}function Jt(f){this._node=f,this._names=zt(f.getAttribute("class")||"")}function Gt(f,r){for(var i=yn(f),b=-1,R=r.length;++b=0&&(i=r.slice(b+1),r=r.slice(0,b)),{type:r,name:i}})}function Mt(f){return function(){var r=this.__on;if(r){for(var Q,i=0,b=-1,R=r.length;i=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(f){return this._names.indexOf(f)>=0}};var nn=[null];function Bn(f,r){this._groups=f,this._parents=r}function Wn(){return new Bn([[document.documentElement]],nn)}Bn.prototype=Wn.prototype={constructor:Bn,select:function S(f){"function"!=typeof f&&(f=p(f));for(var r=this._groups,i=r.length,b=new Array(i),R=0;R=$n&&($n=ni+1);!(gi=_n[$n])&&++$n=0;)(_e=b[R])&&(Q&&4^_e.compareDocumentPosition(Q)&&Q.parentNode.insertBefore(_e,Q),Q=_e);return this},sort:function F(f){function r(Zt,St){return Zt&&St?f(Zt.__data__,St.__data__):!Zt-!St}f||(f=J);for(var i=this._groups,b=i.length,R=new Array(b),Q=0;Q1?this.each((null==r?q:"function"==typeof r?Re:Oe)(f,r,i??"")):pt(this.node(),f)},property:function Nt(f,r){return arguments.length>1?this.each((null==r?it:"function"==typeof r?un:Ct)(f,r)):this.node()[f]},classed:function nt(f,r){var i=zt(f+"");if(arguments.length<2){for(var b=yn(this.node()),R=-1,Q=i.length;++R{}};function rn(){for(var b,f=0,r=arguments.length,i={};f=0&&(b=i.slice(R+1),i=i.slice(0,R)),i&&!r.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:b}})}function gn(f,r){for(var R,i=0,b=f.length;i0)for(var R,Q,i=new Array(R),b=0;b>8&15|r>>4&240,r>>4&15|240&r,(15&r)<<4|15&r,1):8===i?fa(r>>24&255,r>>16&255,r>>8&255,(255&r)/255):4===i?fa(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|240&r,((15&r)<<4|15&r)/255):null):(r=aa.exec(f))?new ra(r[1],r[2],r[3],1):(r=Ii.exec(f))?new ra(255*r[1]/100,255*r[2]/100,255*r[3]/100,1):(r=ea.exec(f))?fa(r[1],r[2],r[3],r[4]):(r=Di.exec(f))?fa(255*r[1]/100,255*r[2]/100,255*r[3]/100,r[4]):(r=Ji.exec(f))?is(r[1],r[2]/100,r[3]/100,1):(r=ka.exec(f))?is(r[1],r[2]/100,r[3]/100,r[4]):Yi.hasOwnProperty(f)?Sa(Yi[f]):"transparent"===f?new ra(NaN,NaN,NaN,0):null}function Sa(f){return new ra(f>>16&255,f>>8&255,255&f,1)}function fa(f,r,i,b){return b<=0&&(f=r=i=NaN),new ra(f,r,i,b)}function Ki(f){return f instanceof It||(f=gr(f)),f?new ra((f=f.rgb()).r,f.g,f.b,f.opacity):new ra}function xa(f,r,i,b){return 1===arguments.length?Ki(f):new ra(f,r,i,b??1)}function ra(f,r,i,b){this.r=+f,this.g=+r,this.b=+i,this.opacity=+b}function fo(){return"#"+js(this.r)+js(this.g)+js(this.b)}function za(){var f=this.opacity;return(1===(f=isNaN(f)?1:Math.max(0,Math.min(1,f)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===f?")":", "+f+")")}function js(f){return((f=Math.max(0,Math.min(255,Math.round(f)||0)))<16?"0":"")+f.toString(16)}function is(f,r,i,b){return b<=0?f=r=i=NaN:i<=0||i>=1?f=r=NaN:r<=0&&(f=NaN),new Ta(f,r,i,b)}function Qi(f){if(f instanceof Ta)return new Ta(f.h,f.s,f.l,f.opacity);if(f instanceof It||(f=gr(f)),!f)return new Ta;if(f instanceof Ta)return f;var r=(f=f.rgb()).r/255,i=f.g/255,b=f.b/255,R=Math.min(r,i,b),Q=Math.max(r,i,b),_e=NaN,Pe=Q-R,lt=(Q+R)/2;return Pe?(_e=r===Q?(i-b)/Pe+6*(i0&<<1?0:_e,new Ta(_e,Pe,lt,f.opacity)}function Ta(f,r,i,b){this.h=+f,this.s=+r,this.l=+i,this.opacity=+b}function Is(f,r,i){return 255*(f<60?r+(i-r)*f/60:f<180?i:f<240?r+(i-r)*(240-f)/60:r)}function Ua(f,r,i,b,R){var Q=f*f,_e=Q*f;return((1-3*f+3*Q-_e)*r+(4-6*Q+3*_e)*i+(1+3*f+3*Q-3*_e)*b+_e*R)/6}Za(It,gr,{copy:function(f){return Object.assign(new this.constructor,this,f)},displayable:function(){return this.rgb().displayable()},hex:Ha,formatHex:Ha,formatHsl:function Hi(){return Qi(this).formatHsl()},formatRgb:La,toString:La}),Za(ra,xa,mr(It,{brighter:function(f){return f=null==f?ln:Math.pow(ln,f),new ra(this.r*f,this.g*f,this.b*f,this.opacity)},darker:function(f){return f=null==f?.7:Math.pow(.7,f),new ra(this.r*f,this.g*f,this.b*f,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:fo,formatHex:fo,formatRgb:za,toString:za})),Za(Ta,function Gr(f,r,i,b){return 1===arguments.length?Qi(f):new Ta(f,r,i,b??1)},mr(It,{brighter:function(f){return f=null==f?ln:Math.pow(ln,f),new Ta(this.h,this.s,this.l*f,this.opacity)},darker:function(f){return f=null==f?.7:Math.pow(.7,f),new Ta(this.h,this.s,this.l*f,this.opacity)},rgb:function(){var f=this.h%360+360*(this.h<0),r=isNaN(f)||isNaN(this.s)?0:this.s,i=this.l,b=i+(i<.5?i:1-i)*r,R=2*i-b;return new ra(Is(f>=240?f-240:f+120,R,b),Is(f,R,b),Is(f<120?f+240:f-120,R,b),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var f=this.opacity;return(1===(f=isNaN(f)?1:Math.max(0,Math.min(1,f)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===f?")":", "+f+")")}}));const vr=f=>()=>f;function Or(f,r){return function(i){return f+i*r}}function nr(f){return 1==(f=+f)?Pr:function(r,i){return i-r?function qs(f,r,i){return f=Math.pow(f,i),r=Math.pow(r,i)-f,i=1/i,function(b){return Math.pow(f+b*r,i)}}(r,i,f):vr(isNaN(r)?i:r)}}function Pr(f,r){var i=r-f;return i?Or(f,i):vr(isNaN(f)?r:f)}const Xs=function f(r){var i=nr(r);function b(R,Q){var _e=i((R=xa(R)).r,(Q=xa(Q)).r),Pe=i(R.g,Q.g),lt=i(R.b,Q.b),vt=Pr(R.opacity,Q.opacity);return function(Et){return R.r=_e(Et),R.g=Pe(Et),R.b=lt(Et),R.opacity=vt(Et),R+""}}return b.gamma=f,b}(1);function pa(f){return function(r){var _e,Pe,i=r.length,b=new Array(i),R=new Array(i),Q=new Array(i);for(_e=0;_e=1?(i=1,r-1):Math.floor(i*r),R=f[b],Q=f[b+1],_e=b>0?f[b-1]:2*R-Q,Pe=bi&&(Q=r.slice(i,Q),Pe[_e]?Pe[_e]+=Q:Pe[++_e]=Q),(b=b[0])===(R=R[0])?Pe[_e]?Pe[_e]+=R:Pe[++_e]=R:(Pe[++_e]=null,lt.push({i:_e,x:$a(b,R)})),i=ir.lastIndex;return i=0&&f._call.call(null,r),f=f._next;--ri}()}finally{ri=0,function Ti(){for(var f,i,r=la,b=1/0;r;)r._call?(b>r._time&&(b=r._time),f=r,r=r._next):(i=r._next,r._next=null,r=f?f._next=i:la=i);Li=f,rr(b)}(),Rr=0}}function Pn(){var f=ca.now(),r=f-rs;r>1e3&&(Zr-=r,rs=f)}function rr(f){ri||(Bi&&(Bi=clearTimeout(Bi)),f-Rr>24?(f<1/0&&(Bi=setTimeout(Yt,f-ca.now()-Zr)),Xi&&(Xi=clearInterval(Xi))):(Xi||(rs=ca.now(),Xi=setInterval(Pn,1e3)),ri=1,si(Yt)))}function gs(f,r,i){var b=new bt;return r=null==r?0:+r,b.restart(R=>{b.stop(),f(R+r)},r,i),b}bt.prototype=ye.prototype={constructor:bt,restart:function(f,r,i){if("function"!=typeof f)throw new TypeError("callback is not a function");i=(null==i?ar():+i)+(null==r?0:+r),!this._next&&Li!==this&&(Li?Li._next=this:la=this,Li=this),this._call=f,this._time=i,rr()},stop:function(){this._call&&(this._call=null,this._time=1/0,rr())}};var Oo=Ei("start","end","cancel","interrupt"),$s=[];function Br(f,r,i,b,R,Q){var _e=f.__transition;if(_e){if(i in _e)return}else f.__transition={};!function Hn(f,r,i){var R,b=f.__transition;function Q(vt){i.state=1,i.timer.restart(_e,i.delay,i.time),i.delay<=vt&&_e(vt-i.delay)}function _e(vt){var Et,Zt,St,vn;if(1!==i.state)return lt();for(Et in b)if((vn=b[Et]).name===i.name){if(3===vn.state)return gs(_e);4===vn.state?(vn.state=6,vn.timer.stop(),vn.on.call("interrupt",f,f.__data__,vn.index,vn.group),delete b[Et]):+Et0)throw new Error("too late; already scheduled");return i}function Ba(f,r){var i=$i(f,r);if(i.state>3)throw new Error("too late; already running");return i}function $i(f,r){var i=f.__transition;if(!i||!(i=i[r]))throw new Error("transition not found");return i}function vs(f,r){var b,R,_e,i=f.__transition,Q=!0;if(i){for(_e in r=null==r?null:r+"",i)(b=i[_e]).name===r?(R=b.state>2&&b.state<5,b.state=6,b.timer.stop(),b.on.call(R?"interrupt":"cancel",f,f.__data__,b.index,b.group),delete i[_e]):Q=!1;Q&&delete f.__transition}}var ss,Gn=180/Math.PI,Hs={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Wa(f,r,i,b,R,Q){var _e,Pe,lt;return(_e=Math.sqrt(f*f+r*r))&&(f/=_e,r/=_e),(lt=f*i+r*b)&&(i-=f*lt,b-=r*lt),(Pe=Math.sqrt(i*i+b*b))&&(i/=Pe,b/=Pe,lt/=Pe),f*b180?Et+=360:Et-vt>180&&(vt+=360),St.push({i:Zt.push(R(Zt)+"rotate(",null,b)-2,x:$a(vt,Et)})):Et&&Zt.push(R(Zt)+"rotate("+Et+b)}(vt.rotate,Et.rotate,Zt,St),function Pe(vt,Et,Zt,St){vt!==Et?St.push({i:Zt.push(R(Zt)+"skewX(",null,b)-2,x:$a(vt,Et)}):Et&&Zt.push(R(Zt)+"skewX("+Et+b)}(vt.skewX,Et.skewX,Zt,St),function lt(vt,Et,Zt,St,vn,wn){if(vt!==Zt||Et!==St){var Zn=vn.push(R(vn)+"scale(",null,",",null,")");wn.push({i:Zn-4,x:$a(vt,Zt)},{i:Zn-2,x:$a(Et,St)})}else(1!==Zt||1!==St)&&vn.push(R(vn)+"scale("+Zt+","+St+")")}(vt.scaleX,vt.scaleY,Et.scaleX,Et.scaleY,Zt,St),vt=Et=null,function(vn){for(var _n,wn=-1,Zn=St.length;++wn=0&&(r=r.slice(0,i)),!r||"start"===r})}(r)?_o:Ba;return function(){var _e=Q(this,f),Pe=_e.on;Pe!==b&&(R=(b=Pe).copy()).on(r,i),_e.on=R}}var Si=Mn.prototype.constructor;function Qr(f){return function(){this.style.removeProperty(f)}}function Na(f,r,i){return function(b){this.style.setProperty(f,r.call(this,b),i)}}function mo(f,r,i){var b,R;function Q(){var _e=r.apply(this,arguments);return _e!==R&&(b=(R=_e)&&Na(f,_e,i)),b}return Q._value=r,Q}function Dr(f){return function(r){this.textContent=f.call(this,r)}}function lc(f){var r,i;function b(){var R=f.apply(this,arguments);return R!==i&&(r=(i=R)&&Dr(R)),r}return b._value=f,b}var S1=0;function or(f,r,i,b){this._groups=f,this._parents=r,this._name=i,this._id=b}function Mo(){return++S1}var vo=Mn.prototype;or.prototype=function _l(f){return Mn().transition(f)}.prototype={constructor:or,select:function oi(f){var r=this._name,i=this._id;"function"!=typeof f&&(f=p(f));for(var b=this._groups,R=b.length,Q=new Array(R),_e=0;_e()=>f;function io(f,{sourceEvent:r,target:i,selection:b,mode:R,dispatch:Q}){Object.defineProperties(this,{type:{value:f,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},selection:{value:b,enumerable:!0,configurable:!0},mode:{value:R,enumerable:!0,configurable:!0},_:{value:Q}})}function vl(f){f.stopImmediatePropagation()}function dc(f){f.preventDefault(),f.stopImmediatePropagation()}var R1={name:"drag"},Gc={name:"space"},ao={name:"handle"},Eo={name:"center"};const{abs:jo,max:Nr,min:Ar}=Math;function P2(f){return[+f[0],+f[1]]}function yl(f){return[P2(f[0]),P2(f[1])]}var Bo={name:"x",handles:["w","e"].map(va),input:function(f,r){return null==f?null:[[+f[0],r[0][1]],[+f[1],r[1][1]]]},output:function(f){return f&&[f[0][0],f[1][0]]}},ro={name:"y",handles:["n","s"].map(va),input:function(f,r){return null==f?null:[[r[0][0],+f[0]],[r[1][0],+f[1]]]},output:function(f){return f&&[f[0][1],f[1][1]]}},cs=(["n","w","e","s","nw","ne","sw","se"].map(va),{overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"}),Zc={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Do={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},qo={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},B1={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function va(f){return{type:f}}function vu(f){return!f.ctrlKey&&!f.button}function Yc(){var f=this.ownerSVGElement||this;return f.hasAttribute("viewBox")?[[(f=f.viewBox.baseVal).x,f.y],[f.x+f.width,f.y+f.height]]:[[0,0],[f.width.baseVal.value,f.height.baseVal.value]]}function Te(){return navigator.maxTouchPoints||"ontouchstart"in this}function ie(f){for(;!f.__brush;)if(!(f=f.parentNode))return;return f.__brush}function Ee(f){return f[0][0]===f[1][0]||f[0][1]===f[1][1]}function mn(f){var Pe,r=Yc,i=vu,b=Te,R=!0,Q=Ei("start","brush","end"),_e=6;function lt(_n){var jn=_n.property("__brush",Zn).selectAll(".overlay").data([va("overlay")]);jn.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",cs.overlay).merge(jn).each(function(){var $n=ie(this).extent;Ln(this).attr("x",$n[0][0]).attr("y",$n[0][1]).attr("width",$n[1][0]-$n[0][0]).attr("height",$n[1][1]-$n[0][1])}),_n.selectAll(".selection").data([va("selection")]).enter().append("rect").attr("class","selection").attr("cursor",cs.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var ni=_n.selectAll(".handle").data(f.handles,function($n){return $n.type});ni.exit().remove(),ni.enter().append("rect").attr("class",function($n){return"handle handle--"+$n.type}).attr("cursor",function($n){return cs[$n.type]}),_n.each(vt).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",St).filter(b).on("touchstart.brush",St).on("touchmove.brush",vn).on("touchend.brush touchcancel.brush",wn).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function vt(){var _n=Ln(this),jn=ie(this).selection;jn?(_n.selectAll(".selection").style("display",null).attr("x",jn[0][0]).attr("y",jn[0][1]).attr("width",jn[1][0]-jn[0][0]).attr("height",jn[1][1]-jn[0][1]),_n.selectAll(".handle").style("display",null).attr("x",function(ni){return"e"===ni.type[ni.type.length-1]?jn[1][0]-_e/2:jn[0][0]-_e/2}).attr("y",function(ni){return"s"===ni.type[0]?jn[1][1]-_e/2:jn[0][1]-_e/2}).attr("width",function(ni){return"n"===ni.type||"s"===ni.type?jn[1][0]-jn[0][0]+_e:_e}).attr("height",function(ni){return"e"===ni.type||"w"===ni.type?jn[1][1]-jn[0][1]+_e:_e})):_n.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function Et(_n,jn,ni){var $n=_n.__brush.emitter;return!$n||ni&&$n.clean?new Zt(_n,jn,ni):$n}function Zt(_n,jn,ni){this.that=_n,this.args=jn,this.state=_n.__brush,this.active=0,this.clean=ni}function St(_n){if((!Pe||_n.touches)&&i.apply(this,arguments)){var ma,yi,bi,ba,ua,Pa,Aa,_r,Ol,Pl,Ko,jn=this,ni=_n.target.__data__.type,$n="selection"===(R&&_n.metaKey?ni="overlay":ni)?R1:R&&_n.altKey?Eo:ao,_i=f===ro?null:qo[ni],gi=f===Bo?null:B1[ni],ci=ie(jn),Da=ci.extent,ia=ci.selection,qa=Da[0][0],Ai=Da[0][1],Vr=Da[1][0],_s=Da[1][1],tr=0,dr=0,Ts=_i&&gi&&R&&_n.shiftKey,ns=Array.from(_n.touches||[_n],Gi=>{const Wr=Gi.identifier;return(Gi=Fn(Gi,jn)).point0=Gi.slice(),Gi.identifier=Wr,Gi});if("overlay"===ni){ia&&(Ol=!0);const Gi=[ns[0],ns[1]||ns[0]];ci.selection=ia=[[ma=f===ro?qa:Ar(Gi[0][0],Gi[1][0]),bi=f===Bo?Ai:Ar(Gi[0][1],Gi[1][1])],[ua=f===ro?Vr:Nr(Gi[0][0],Gi[1][0]),Aa=f===Bo?_s:Nr(Gi[0][1],Gi[1][1])]],ns.length>1&&Sr()}else ma=ia[0][0],bi=ia[0][1],ua=ia[1][0],Aa=ia[1][1];yi=ma,ba=bi,Pa=ua,_r=Aa;var zc=Ln(jn).attr("pointer-events","none"),pi=zc.selectAll(".overlay").attr("cursor",cs[ni]);vs(jn);var Wi=Et(jn,arguments,!0).beforestart();if(_n.touches)Wi.moved=ei,Wi.ended=Xa;else{var ga=Ln(_n.view).on("mousemove.brush",ei,!0).on("mouseup.brush",Xa,!0);R&&ga.on("keydown.brush",Qs,!0).on("keyup.brush",Lo,!0),qi(_n.view)}vt.call(jn),Wi.start(_n,$n.name)}function ei(Gi){for(const Wr of Gi.changedTouches||[Gi])for(const pu of ns)pu.identifier===Wr.identifier&&(pu.cur=Fn(Wr,jn));if(Ts&&!Pl&&!Ko&&1===ns.length){const Wr=ns[0];jo(Wr.cur[0]-Wr[0])>jo(Wr.cur[1]-Wr[1])?Ko=!0:Pl=!0}for(const Wr of ns)Wr.cur&&(Wr[0]=Wr.cur[0],Wr[1]=Wr.cur[1]);Ol=!0,dc(Gi),Sr(Gi)}function Sr(Gi){const Wr=ns[0],pu=Wr.point0;var T2;switch(tr=Wr[0]-pu[0],dr=Wr[1]-pu[1],$n){case Gc:case R1:_i&&(tr=Nr(qa-ma,Ar(Vr-ua,tr)),yi=ma+tr,Pa=ua+tr),gi&&(dr=Nr(Ai-bi,Ar(_s-Aa,dr)),ba=bi+dr,_r=Aa+dr);break;case ao:ns[1]?(_i&&(yi=Nr(qa,Ar(Vr,ns[0][0])),Pa=Nr(qa,Ar(Vr,ns[1][0])),_i=1),gi&&(ba=Nr(Ai,Ar(_s,ns[0][1])),_r=Nr(Ai,Ar(_s,ns[1][1])),gi=1)):(_i<0?(tr=Nr(qa-ma,Ar(Vr-ma,tr)),yi=ma+tr,Pa=ua):_i>0&&(tr=Nr(qa-ua,Ar(Vr-ua,tr)),yi=ma,Pa=ua+tr),gi<0?(dr=Nr(Ai-bi,Ar(_s-bi,dr)),ba=bi+dr,_r=Aa):gi>0&&(dr=Nr(Ai-Aa,Ar(_s-Aa,dr)),ba=bi,_r=Aa+dr));break;case Eo:_i&&(yi=Nr(qa,Ar(Vr,ma-tr*_i)),Pa=Nr(qa,Ar(Vr,ua+tr*_i))),gi&&(ba=Nr(Ai,Ar(_s,bi-dr*gi)),_r=Nr(Ai,Ar(_s,Aa+dr*gi)))}Pa0&&(ma=yi-tr),gi<0?Aa=_r-dr:gi>0&&(bi=ba-dr),$n=Gc,pi.attr("cursor",cs.selection),Sr());break;default:return}dc(Gi)}function Lo(Gi){switch(Gi.keyCode){case 16:Ts&&(Pl=Ko=Ts=!1,Sr());break;case 18:$n===Eo&&(_i<0?ua=Pa:_i>0&&(ma=yi),gi<0?Aa=_r:gi>0&&(bi=ba),$n=ao,Sr());break;case 32:$n===Gc&&(Gi.altKey?(_i&&(ua=Pa-tr*_i,ma=yi+tr*_i),gi&&(Aa=_r-dr*gi,bi=ba+dr*gi),$n=Eo):(_i<0?ua=Pa:_i>0&&(ma=yi),gi<0?Aa=_r:gi>0&&(bi=ba),$n=ao),pi.attr("cursor",cs[ni]),Sr());break;default:return}dc(Gi)}}function vn(_n){Et(this,arguments).moved(_n)}function wn(_n){Et(this,arguments).ended(_n)}function Zn(){var _n=this.__brush||{selection:null};return _n.extent=yl(r.apply(this,arguments)),_n.dim=f,_n}return lt.move=function(_n,jn){_n.tween?_n.on("start.brush",function(ni){Et(this,arguments).beforestart().start(ni)}).on("interrupt.brush end.brush",function(ni){Et(this,arguments).end(ni)}).tween("brush",function(){var ni=this,$n=ni.__brush,_i=Et(ni,arguments),gi=$n.selection,ci=f.input("function"==typeof jn?jn.apply(this,arguments):jn,$n.extent),Da=xt(gi,ci);function ia(qa){$n.selection=1===qa&&null===ci?null:Da(qa),vt.call(ni),_i.brush()}return null!==gi&&null!==ci?ia:ia(1)}):_n.each(function(){var ni=this,$n=arguments,_i=ni.__brush,gi=f.input("function"==typeof jn?jn.apply(ni,$n):jn,_i.extent),ci=Et(ni,$n).beforestart();vs(ni),_i.selection=null===gi?null:gi,vt.call(ni),ci.start().brush().end()})},lt.clear=function(_n){lt.move(_n,null)},Zt.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(_n,jn){return this.starting?(this.starting=!1,this.emit("start",_n,jn)):this.emit("brush",_n),this},brush:function(_n,jn){return this.emit("brush",_n,jn),this},end:function(_n,jn){return 0==--this.active&&(delete this.state.emitter,this.emit("end",_n,jn)),this},emit:function(_n,jn,ni){var $n=Ln(this.that).datum();Q.call(_n,this.that,new io(_n,{sourceEvent:jn,target:lt,selection:f.output(this.state.selection),mode:ni,dispatch:Q}),$n)}},lt.extent=function(_n){return arguments.length?(r="function"==typeof _n?_n:Qo(yl(_n)),lt):r},lt.filter=function(_n){return arguments.length?(i="function"==typeof _n?_n:Qo(!!_n),lt):i},lt.touchable=function(_n){return arguments.length?(b="function"==typeof _n?_n:Qo(!!_n),lt):b},lt.handleSize=function(_n){return arguments.length?(_e=+_n,lt):_e},lt.keyModifiers=function(_n){return arguments.length?(R=!!_n,lt):R},lt.on=function(){var _n=Q.on.apply(Q,arguments);return _n===Q?lt:_n},lt}function Dn(f,r){return fr?1:f>=r?0:NaN}function Rn(f){let r=f,i=f;function b(_e,Pe,lt,vt){for(null==lt&&(lt=0),null==vt&&(vt=_e.length);lt>>1;i(_e[Et],Pe)<0?lt=Et+1:vt=Et}return lt}return 1===f.length&&(r=(_e,Pe)=>f(_e)-Pe,i=function di(f){return(r,i)=>Dn(f(r),i)}(f)),{left:b,center:function Q(_e,Pe,lt,vt){null==lt&&(lt=0),null==vt&&(vt=_e.length);const Et=b(_e,Pe,lt,vt-1);return Et>lt&&r(_e[Et-1],Pe)>-r(_e[Et],Pe)?Et-1:Et},right:function R(_e,Pe,lt,vt){for(null==lt&&(lt=0),null==vt&&(vt=_e.length);lt>>1;i(_e[Et],Pe)>0?vt=Et:lt=Et+1}return lt}}}var ta=Math.sqrt(50),Ea=Math.sqrt(10),zi=Math.sqrt(2);function so(f,r,i){var b=(r-f)/Math.max(0,i),R=Math.floor(Math.log(b)/Math.LN10),Q=b/Math.pow(10,R);return R>=0?(Q>=ta?10:Q>=Ea?5:Q>=zi?2:1)*Math.pow(10,R):-Math.pow(10,-R)/(Q>=ta?10:Q>=Ea?5:Q>=zi?2:1)}function ds(f,r,i){var b=Math.abs(r-f)/Math.max(0,i),R=Math.pow(10,Math.floor(Math.log(b)/Math.LN10)),Q=b/R;return Q>=ta?R*=10:Q>=Ea?R*=5:Q>=zi&&(R*=2),r0))return lt;do{lt.push(vt=new Date(+Q)),r(Q,Pe),f(Q)}while(vt=_e)for(;f(_e),!Q(_e);)_e.setTime(_e-1)},function(_e,Pe){if(_e>=_e)if(Pe<0)for(;++Pe<=0;)for(;r(_e,-1),!Q(_e););else for(;--Pe>=0;)for(;r(_e,1),!Q(_e););})},i&&(R.count=function(Q,_e){return Cs.setTime(+Q),Nl.setTime(+_e),f(Cs),f(Nl),Math.floor(i(Cs,Nl))},R.every=function(Q){return Q=Math.floor(Q),isFinite(Q)&&Q>0?Q>1?R.filter(b?function(_e){return b(_e)%Q==0}:function(_e){return R.count(0,_e)%Q==0}):R:null}),R}var Fl=lr(function(){},function(f,r){f.setTime(+f+r)},function(f,r){return r-f});Fl.every=function(f){return f=Math.floor(f),isFinite(f)&&f>0?f>1?lr(function(r){r.setTime(Math.floor(r/f)*f)},function(r,i){r.setTime(+r+i*f)},function(r,i){return(i-r)/f}):Fl:null};const R2=Fl;Fl.range;var e0=lr(function(f){f.setTime(f-f.getMilliseconds())},function(f,r){f.setTime(+f+r*Us)},function(f,r){return(r-f)/Us},function(f){return f.getUTCSeconds()});const Hl=e0;e0.range;var bu=lr(function(f){f.setTime(f-f.getMilliseconds()-f.getSeconds()*Us)},function(f,r){f.setTime(+f+r*xs)},function(f,r){return(r-f)/xs},function(f){return f.getMinutes()});const xu=bu;bu.range;var N1=lr(function(f){f.setTime(f-f.getMilliseconds()-f.getSeconds()*Us-f.getMinutes()*xs)},function(f,r){f.setTime(+f+r*No)},function(f,r){return(r-f)/No},function(f){return f.getHours()});const jc=N1;N1.range;var qc=lr(f=>f.setHours(0,0,0,0),(f,r)=>f.setDate(f.getDate()+r),(f,r)=>(r-f-(r.getTimezoneOffset()-f.getTimezoneOffset())*xs)/uc,f=>f.getDate()-1);const bl=qc;qc.range;function zl(f){return lr(function(r){r.setDate(r.getDate()-(r.getDay()+7-f)%7),r.setHours(0,0,0,0)},function(r,i){r.setDate(r.getDate()+7*i)},function(r,i){return(i-r-(i.getTimezoneOffset()-r.getTimezoneOffset())*xs)/yu})}var Ul=zl(0),hc=zl(1),Mu=zl(2),u3=zl(3),Xc=zl(4),xl=zl(5),F1=zl(6),Eu=(Ul.range,hc.range,Mu.range,u3.range,Xc.range,xl.range,F1.range,lr(function(f){f.setDate(1),f.setHours(0,0,0,0)},function(f,r){f.setMonth(f.getMonth()+r)},function(f,r){return r.getMonth()-f.getMonth()+12*(r.getFullYear()-f.getFullYear())},function(f){return f.getMonth()}));const Vl=Eu;Eu.range;var t0=lr(function(f){f.setMonth(0,1),f.setHours(0,0,0,0)},function(f,r){f.setFullYear(f.getFullYear()+r)},function(f,r){return r.getFullYear()-f.getFullYear()},function(f){return f.getFullYear()});t0.every=function(f){return isFinite(f=Math.floor(f))&&f>0?lr(function(r){r.setFullYear(Math.floor(r.getFullYear()/f)*f),r.setMonth(0,1),r.setHours(0,0,0,0)},function(r,i){r.setFullYear(r.getFullYear()+i*f)}):null};const Wl=t0;t0.range;var fc=lr(function(f){f.setUTCSeconds(0,0)},function(f,r){f.setTime(+f+r*xs)},function(f,r){return(r-f)/xs},function(f){return f.getUTCMinutes()});const n0=fc;fc.range;var H1=lr(function(f){f.setUTCMinutes(0,0,0)},function(f,r){f.setTime(+f+r*No)},function(f,r){return(r-f)/No},function(f){return f.getUTCHours()});const Kl=H1;H1.range;var wa=lr(function(f){f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCDate(f.getUTCDate()+r)},function(f,r){return(r-f)/uc},function(f){return f.getUTCDate()-1});const pc=wa;wa.range;function _c(f){return lr(function(r){r.setUTCDate(r.getUTCDate()-(r.getUTCDay()+7-f)%7),r.setUTCHours(0,0,0,0)},function(r,i){r.setUTCDate(r.getUTCDate()+7*i)},function(r,i){return(i-r)/yu})}var Du=_c(0),i0=_c(1),p3=_c(2),_3=_c(3),mc=_c(4),a0=_c(5),r0=_c(6),U2=(Du.range,i0.range,p3.range,_3.range,mc.range,a0.range,r0.range,lr(function(f){f.setUTCDate(1),f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCMonth(f.getUTCMonth()+r)},function(f,r){return r.getUTCMonth()-f.getUTCMonth()+12*(r.getUTCFullYear()-f.getUTCFullYear())},function(f){return f.getUTCMonth()}));const s0=U2;U2.range;var V2=lr(function(f){f.setUTCMonth(0,1),f.setUTCHours(0,0,0,0)},function(f,r){f.setUTCFullYear(f.getUTCFullYear()+r)},function(f,r){return r.getUTCFullYear()-f.getUTCFullYear()},function(f){return f.getUTCFullYear()});V2.every=function(f){return isFinite(f=Math.floor(f))&&f>0?lr(function(r){r.setUTCFullYear(Math.floor(r.getUTCFullYear()/f)*f),r.setUTCMonth(0,1),r.setUTCHours(0,0,0,0)},function(r,i){r.setUTCFullYear(r.getUTCFullYear()+i*f)}):null};const gc=V2;V2.range;function Au(f,r,i,b,R,Q){const _e=[[Hl,1,Us],[Hl,5,5e3],[Hl,15,15e3],[Hl,30,3e4],[Q,1,xs],[Q,5,5*xs],[Q,15,15*xs],[Q,30,30*xs],[R,1,No],[R,3,3*No],[R,6,6*No],[R,12,12*No],[b,1,uc],[b,2,2*uc],[i,1,yu],[r,1,k2],[r,3,3*k2],[f,1,Qc]];function lt(vt,Et,Zt){const St=Math.abs(Et-vt)/Zt,vn=Rn(([,,_n])=>_n).right(_e,St);if(vn===_e.length)return f.every(ds(vt/Qc,Et/Qc,Zt));if(0===vn)return R2.every(Math.max(ds(vt,Et,Zt),1));const[wn,Zn]=_e[St/_e[vn-1][2]<_e[vn][2]/St?vn-1:vn];return wn.every(Zn)}return[function Pe(vt,Et,Zt){const St=Et[r.toLowerCase(),i]))}function o0(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.w=+b[0],i+b[0].length):-1}function K2(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.u=+b[0],i+b[0].length):-1}function G2(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.U=+b[0],i+b[0].length):-1}function Bs(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.V=+b[0],i+b[0].length):-1}function l0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.W=+b[0],i+b[0].length):-1}function yo(f,r,i){var b=jr.exec(r.slice(i,i+4));return b?(f.y=+b[0],i+b[0].length):-1}function Pu(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.y=+b[0]+(+b[0]>68?1900:2e3),i+b[0].length):-1}function b3(f,r,i){var b=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(r.slice(i,i+6));return b?(f.Z=b[1]?0:-(b[2]+(b[3]||"00")),i+b[0].length):-1}function c0(f,r,i){var b=jr.exec(r.slice(i,i+1));return b?(f.q=3*b[0]-3,i+b[0].length):-1}function d0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.m=b[0]-1,i+b[0].length):-1}function e1(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.d=+b[0],i+b[0].length):-1}function u0(f,r,i){var b=jr.exec(r.slice(i,i+3));return b?(f.m=0,f.d=+b[0],i+b[0].length):-1}function Zl(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.H=+b[0],i+b[0].length):-1}function h0(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.M=+b[0],i+b[0].length):-1}function yc(f,r,i){var b=jr.exec(r.slice(i,i+2));return b?(f.S=+b[0],i+b[0].length):-1}function x3(f,r,i){var b=jr.exec(r.slice(i,i+3));return b?(f.L=+b[0],i+b[0].length):-1}function Z2(f,r,i){var b=jr.exec(r.slice(i,i+6));return b?(f.L=Math.floor(b[0]/1e3),i+b[0].length):-1}function C3(f,r,i){var b=Su.exec(r.slice(i,i+1));return b?i+b[0].length:-1}function ku(f,r,i){var b=jr.exec(r.slice(i));return b?(f.Q=+b[0],i+b[0].length):-1}function M3(f,r,i){var b=jr.exec(r.slice(i));return b?(f.s=+b[0],i+b[0].length):-1}function t1(f,r){return ya(f.getDate(),r,2)}function E3(f,r){return ya(f.getHours(),r,2)}function U1(f,r){return ya(f.getHours()%12||12,r,2)}function f0(f,r){return ya(1+bl.count(Wl(f),f),r,3)}function Y2(f,r){return ya(f.getMilliseconds(),r,3)}function Ru(f,r){return Y2(f,r)+"000"}function p0(f,r){return ya(f.getMonth()+1,r,2)}function D3(f,r){return ya(f.getMinutes(),r,2)}function V1(f,r){return ya(f.getSeconds(),r,2)}function Bu(f){var r=f.getDay();return 0===r?7:r}function Nu(f,r){return ya(Ul.count(Wl(f)-1,f),r,2)}function Yl(f){var r=f.getDay();return r>=4||0===r?Xc(f):Xc.ceil(f)}function _0(f,r){return f=Yl(f),ya(Xc.count(Wl(f),f)+(4===Wl(f).getDay()),r,2)}function Fu(f){return f.getDay()}function Hu(f,r){return ya(hc.count(Wl(f)-1,f),r,2)}function $4(f,r){return ya(f.getFullYear()%100,r,2)}function Q2(f,r){return ya((f=Yl(f)).getFullYear()%100,r,2)}function A3(f,r){return ya(f.getFullYear()%1e4,r,4)}function zu(f,r){var i=f.getDay();return ya((f=i>=4||0===i?Xc(f):Xc.ceil(f)).getFullYear()%1e4,r,4)}function Uu(f){var r=f.getTimezoneOffset();return(r>0?"-":(r*=-1,"+"))+ya(r/60|0,"0",2)+ya(r%60,"0",2)}function m0(f,r){return ya(f.getUTCDate(),r,2)}function g0(f,r){return ya(f.getUTCHours(),r,2)}function v0(f,r){return ya(f.getUTCHours()%12||12,r,2)}function j2(f,r){return ya(1+pc.count(gc(f),f),r,3)}function n1(f,r){return ya(f.getUTCMilliseconds(),r,3)}function Vu(f,r){return n1(f,r)+"000"}function q2(f,r){return ya(f.getUTCMonth()+1,r,2)}function y0(f,r){return ya(f.getUTCMinutes(),r,2)}function b0(f,r){return ya(f.getUTCSeconds(),r,2)}function i1(f){var r=f.getUTCDay();return 0===r?7:r}function T3(f,r){return ya(Du.count(gc(f)-1,f),r,2)}function x0(f){var r=f.getUTCDay();return r>=4||0===r?mc(f):mc.ceil(f)}function Wu(f,r){return f=x0(f),ya(mc.count(gc(f),f)+(4===gc(f).getUTCDay()),r,2)}function w3(f){return f.getUTCDay()}function I3(f,r){return ya(i0.count(gc(f)-1,f),r,2)}function C0(f,r){return ya(f.getUTCFullYear()%100,r,2)}function Ku(f,r){return ya((f=x0(f)).getUTCFullYear()%100,r,2)}function X2(f,r){return ya(f.getUTCFullYear()%1e4,r,4)}function M0(f,r){var i=f.getUTCDay();return ya((f=i>=4||0===i?mc(f):mc.ceil(f)).getUTCFullYear()%1e4,r,4)}function Fo(){return"+0000"}function Gu(){return"%"}function E0(f){return+f}function L3(f){return Math.floor(+f/1e3)}function $2(f){return null===f?NaN:+f}!function D0(f){return bc=function Iu(f){var r=f.dateTime,i=f.date,b=f.time,R=f.periods,Q=f.days,_e=f.shortDays,Pe=f.months,lt=f.shortMonths,vt=Gl(R),Et=$c(R),Zt=Gl(Q),St=$c(Q),vn=Gl(_e),wn=$c(_e),Zn=Gl(Pe),_n=$c(Pe),jn=Gl(lt),ni=$c(lt),$n={a:function Pa(pi){return _e[pi.getDay()]},A:function _s(pi){return Q[pi.getDay()]},b:function Aa(pi){return lt[pi.getMonth()]},B:function _r(pi){return Pe[pi.getMonth()]},c:null,d:t1,e:t1,f:Ru,g:Q2,G:zu,H:E3,I:U1,j:f0,L:Y2,m:p0,M:D3,p:function tr(pi){return R[+(pi.getHours()>=12)]},q:function dr(pi){return 1+~~(pi.getMonth()/3)},Q:E0,s:L3,S:V1,u:Bu,U:Nu,V:_0,w:Fu,W:Hu,x:null,X:null,y:$4,Y:A3,Z:Uu,"%":Gu},_i={a:function Ol(pi){return _e[pi.getUTCDay()]},A:function Ts(pi){return Q[pi.getUTCDay()]},b:function Pl(pi){return lt[pi.getUTCMonth()]},B:function Ko(pi){return Pe[pi.getUTCMonth()]},c:null,d:m0,e:m0,f:Vu,g:Ku,G:M0,H:g0,I:v0,j:j2,L:n1,m:q2,M:y0,p:function ns(pi){return R[+(pi.getUTCHours()>=12)]},q:function zc(pi){return 1+~~(pi.getUTCMonth()/3)},Q:E0,s:L3,S:b0,u:i1,U:T3,V:Wu,w:w3,W:I3,x:null,X:null,y:C0,Y:X2,Z:Fo,"%":Gu},gi={a:function ma(pi,Wi,ga){var ei=vn.exec(Wi.slice(ga));return ei?(pi.w=wn.get(ei[0].toLowerCase()),ga+ei[0].length):-1},A:function yi(pi,Wi,ga){var ei=Zt.exec(Wi.slice(ga));return ei?(pi.w=St.get(ei[0].toLowerCase()),ga+ei[0].length):-1},b:function Ai(pi,Wi,ga){var ei=jn.exec(Wi.slice(ga));return ei?(pi.m=ni.get(ei[0].toLowerCase()),ga+ei[0].length):-1},B:function bi(pi,Wi,ga){var ei=Zn.exec(Wi.slice(ga));return ei?(pi.m=_n.get(ei[0].toLowerCase()),ga+ei[0].length):-1},c:function ba(pi,Wi,ga){return ia(pi,r,Wi,ga)},d:e1,e:e1,f:Z2,g:Pu,G:yo,H:Zl,I:Zl,j:u0,L:x3,m:d0,M:h0,p:function qa(pi,Wi,ga){var ei=vt.exec(Wi.slice(ga));return ei?(pi.p=Et.get(ei[0].toLowerCase()),ga+ei[0].length):-1},q:c0,Q:ku,s:M3,S:yc,u:K2,U:G2,V:Bs,w:o0,W:l0,x:function Vr(pi,Wi,ga){return ia(pi,i,Wi,ga)},X:function ua(pi,Wi,ga){return ia(pi,b,Wi,ga)},y:Pu,Y:yo,Z:b3,"%":C3};function ci(pi,Wi){return function(ga){var Lo,Gi,Wr,ei=[],Sr=-1,Xa=0,Qs=pi.length;for(ga instanceof Date||(ga=new Date(+ga));++Sr53)return null;"w"in ei||(ei.w=1),"Z"in ei?(Qs=(Xa=vc(Jc(ei.y,0,1))).getUTCDay(),Xa=Qs>4||0===Qs?i0.ceil(Xa):i0(Xa),Xa=pc.offset(Xa,7*(ei.V-1)),ei.y=Xa.getUTCFullYear(),ei.m=Xa.getUTCMonth(),ei.d=Xa.getUTCDate()+(ei.w+6)%7):(Qs=(Xa=us(Jc(ei.y,0,1))).getDay(),Xa=Qs>4||0===Qs?hc.ceil(Xa):hc(Xa),Xa=bl.offset(Xa,7*(ei.V-1)),ei.y=Xa.getFullYear(),ei.m=Xa.getMonth(),ei.d=Xa.getDate()+(ei.w+6)%7)}else("W"in ei||"U"in ei)&&("w"in ei||(ei.w="u"in ei?ei.u%7:"W"in ei?1:0),Qs="Z"in ei?vc(Jc(ei.y,0,1)).getUTCDay():us(Jc(ei.y,0,1)).getDay(),ei.m=0,ei.d="W"in ei?(ei.w+6)%7+7*ei.W-(Qs+5)%7:ei.w+7*ei.U-(Qs+6)%7);return"Z"in ei?(ei.H+=ei.Z/100|0,ei.M+=ei.Z%100,vc(ei)):us(ei)}}function ia(pi,Wi,ga,ei){for(var Lo,Gi,Sr=0,Xa=Wi.length,Qs=ga.length;Sr=Qs)return-1;if(37===(Lo=Wi.charCodeAt(Sr++))){if(Lo=Wi.charAt(Sr++),!(Gi=gi[Lo in Lu?Wi.charAt(Sr++):Lo])||(ei=Gi(pi,ga,ei))<0)return-1}else if(Lo!=ga.charCodeAt(ei++))return-1}return ei}return $n.x=ci(i,$n),$n.X=ci(b,$n),$n.c=ci(r,$n),_i.x=ci(i,_i),_i.X=ci(b,_i),_i.c=ci(r,_i),{format:function(pi){var Wi=ci(pi+="",$n);return Wi.toString=function(){return pi},Wi},parse:function(pi){var Wi=Da(pi+="",!1);return Wi.toString=function(){return pi},Wi},utcFormat:function(pi){var Wi=ci(pi+="",_i);return Wi.toString=function(){return pi},Wi},utcParse:function(pi){var Wi=Da(pi+="",!0);return Wi.toString=function(){return pi},Wi}}}(f),J2=bc.format,bc.parse,bc.utcFormat,bc.utcParse,bc}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});const A0=Rn(Dn),xc=A0.right,Qu=(A0.left,Rn($2).center,xc);function O3(f,r){return f=+f,r=+r,function(i){return Math.round(f*(1-i)+r*i)}}function Jo(f){return+f}var Cc=[0,1];function Mc(f){return f}function T0(f,r){return(r-=f=+f)?function(i){return(i-f)/r}:function P3(f){return function(){return f}}(isNaN(r)?NaN:.5)}function R3(f,r,i){var b=f[0],R=f[1],Q=r[0],_e=r[1];return Rr&&(i=f,f=r,r=i),function(b){return Math.max(f,Math.min(r,b))}}(f[0],f[St-1])),Pe=St>2?ju:R3,lt=vt=null,Zt}function Zt(St){return null==St||isNaN(St=+St)?Q:(lt||(lt=Pe(f.map(b),r,i)))(b(_e(St)))}return Zt.invert=function(St){return _e(R((vt||(vt=Pe(r,f.map(b),$a)))(St)))},Zt.domain=function(St){return arguments.length?(f=Array.from(St,Jo),Et()):f.slice()},Zt.range=function(St){return arguments.length?(r=Array.from(St),Et()):r.slice()},Zt.rangeRound=function(St){return r=Array.from(St),i=O3,Et()},Zt.clamp=function(St){return arguments.length?(_e=!!St||Mc,Et()):_e!==Mc},Zt.interpolate=function(St){return arguments.length?(i=St,Et()):i},Zt.unknown=function(St){return arguments.length?(Q=St,Zt):Q},function(St,vn){return b=St,R=vn,Et()}}function Xu(){return ed()(Mc,Mc)}function W1(f,r){switch(arguments.length){case 0:break;case 1:this.range(f);break;default:this.range(r).domain(f)}return this}function td(f){return new Date(f)}function $o(f){return f instanceof Date?+f:+new Date(+f)}function a1(f,r,i,b,R,Q,_e,Pe,lt,vt){var Et=Xu(),Zt=Et.invert,St=Et.domain,vn=vt(".%L"),wn=vt(":%S"),Zn=vt("%I:%M"),_n=vt("%I %p"),jn=vt("%a %d"),ni=vt("%b %d"),$n=vt("%B"),_i=vt("%Y");function gi(ci){return(lt(ci)=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function K1(f){if(!(r=Ju.exec(f)))throw new Error("invalid format: "+f);var r;return new w0({fill:r[1],align:r[2],sign:r[3],symbol:r[4],zero:r[5],width:r[6],comma:r[7],precision:r[8]&&r[8].slice(1),trim:r[9],type:r[10]})}function w0(f){this.fill=void 0===f.fill?" ":f.fill+"",this.align=void 0===f.align?">":f.align+"",this.sign=void 0===f.sign?"-":f.sign+"",this.symbol=void 0===f.symbol?"":f.symbol+"",this.zero=!!f.zero,this.width=void 0===f.width?void 0:+f.width,this.comma=!!f.comma,this.precision=void 0===f.precision?void 0:+f.precision,this.trim=!!f.trim,this.type=void 0===f.type?"":f.type+""}function nd(f,r){if((i=(f=r?f.toExponential(r-1):f.toExponential()).indexOf("e"))<0)return null;var i,b=f.slice(0,i);return[b.length>1?b[0]+b.slice(2):b,+f.slice(i+1)]}function jl(f){return(f=nd(Math.abs(f)))?f[1]:NaN}function Z1(f,r){var i=nd(f,r);if(!i)return f+"";var b=i[0],R=i[1];return R<0?"0."+new Array(-R).join("0")+b:b.length>R+1?b.slice(0,R+1)+"."+b.slice(R+1):b+new Array(R-b.length+2).join("0")}K1.prototype=w0.prototype,w0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const z3={"%":(f,r)=>(100*f).toFixed(r),b:f=>Math.round(f).toString(2),c:f=>f+"",d:function F3(f){return Math.abs(f=Math.round(f))>=1e21?f.toLocaleString("en").replace(/,/g,""):f.toString(10)},e:(f,r)=>f.toExponential(r),f:(f,r)=>f.toFixed(r),g:(f,r)=>f.toPrecision(r),o:f=>Math.round(f).toString(8),p:(f,r)=>Z1(100*f,r),r:Z1,s:function th(f,r){var i=nd(f,r);if(!i)return f+"";var b=i[0],R=i[1],Q=R-(eh=3*Math.max(-8,Math.min(8,Math.floor(R/3))))+1,_e=b.length;return Q===_e?b:Q>_e?b+new Array(Q-_e+1).join("0"):Q>0?b.slice(0,Q)+"."+b.slice(Q):"0."+new Array(1-Q).join("0")+nd(f,Math.max(0,r+Q-1))[0]},X:f=>Math.round(f).toString(16).toUpperCase(),x:f=>Math.round(f).toString(16)};function I0(f){return f}var wr,el,L0,ad=Array.prototype.map,nh=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function ih(f){var r=void 0===f.grouping||void 0===f.thousands?I0:function H3(f,r){return function(i,b){for(var R=i.length,Q=[],_e=0,Pe=f[0],lt=0;R>0&&Pe>0&&(lt+Pe+1>b&&(Pe=Math.max(1,b-lt)),Q.push(i.substring(R-=Pe,R+Pe)),!((lt+=Pe+1)>b));)Pe=f[_e=(_e+1)%f.length];return Q.reverse().join(r)}}(ad.call(f.grouping,Number),f.thousands+""),i=void 0===f.currency?"":f.currency[0]+"",b=void 0===f.currency?"":f.currency[1]+"",R=void 0===f.decimal?".":f.decimal+"",Q=void 0===f.numerals?I0:function $u(f){return function(r){return r.replace(/[0-9]/g,function(i){return f[+i]})}}(ad.call(f.numerals,String)),_e=void 0===f.percent?"%":f.percent+"",Pe=void 0===f.minus?"\u2212":f.minus+"",lt=void 0===f.nan?"NaN":f.nan+"";function vt(Zt){var St=(Zt=K1(Zt)).fill,vn=Zt.align,wn=Zt.sign,Zn=Zt.symbol,_n=Zt.zero,jn=Zt.width,ni=Zt.comma,$n=Zt.precision,_i=Zt.trim,gi=Zt.type;"n"===gi?(ni=!0,gi="g"):z3[gi]||(void 0===$n&&($n=12),_i=!0,gi="g"),(_n||"0"===St&&"="===vn)&&(_n=!0,St="0",vn="=");var ci="$"===Zn?i:"#"===Zn&&/[boxX]/.test(gi)?"0"+gi.toLowerCase():"",Da="$"===Zn?b:/[%p]/.test(gi)?_e:"",ia=z3[gi],qa=/[defgprs%]/.test(gi);function ma(yi){var ba,Vr,ua,Ai=ci,bi=Da;if("c"===gi)bi=ia(yi)+bi,yi="";else{var Pa=(yi=+yi)<0||1/yi<0;if(yi=isNaN(yi)?lt:ia(Math.abs(yi),$n),_i&&(yi=function G1(f){e:for(var R,r=f.length,i=1,b=-1;i0&&(b=0)}return b>0?f.slice(0,b)+f.slice(R+1):f}(yi)),Pa&&0==+yi&&"+"!==wn&&(Pa=!1),Ai=(Pa?"("===wn?wn:Pe:"-"===wn||"("===wn?"":wn)+Ai,bi=("s"===gi?nh[8+eh/3]:"")+bi+(Pa&&"("===wn?")":""),qa)for(ba=-1,Vr=yi.length;++ba(ua=yi.charCodeAt(ba))||ua>57){bi=(46===ua?R+yi.slice(ba+1):yi.slice(ba))+bi,yi=yi.slice(0,ba);break}}ni&&!_n&&(yi=r(yi,1/0));var _s=Ai.length+yi.length+bi.length,Aa=_s>1)+Ai+yi+bi+Aa.slice(_s);break;default:yi=Aa+Ai+yi+bi}return Q(yi)}return $n=void 0===$n?6:/[gprs]/.test(gi)?Math.max(1,Math.min(21,$n)):Math.max(0,Math.min(20,$n)),ma.toString=function(){return Zt+""},ma}return{format:vt,formatPrefix:function Et(Zt,St){var vn=vt(((Zt=K1(Zt)).type="f",Zt)),wn=3*Math.max(-8,Math.min(8,Math.floor(jl(St)/3))),Zn=Math.pow(10,-wn),_n=nh[8+wn/3];return function(jn){return vn(Zn*jn)+_n}}}}function sd(f,r,i,b){var Q,R=ds(f,r,i);switch((b=K1(b??",f")).type){case"s":var _e=Math.max(Math.abs(f),Math.abs(r));return null==b.precision&&!isNaN(Q=function id(f,r){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(jl(r)/3)))-jl(Math.abs(f)))}(R,_e))&&(b.precision=Q),L0(b,_e);case"":case"e":case"g":case"p":case"r":null==b.precision&&!isNaN(Q=function ah(f,r){return f=Math.abs(f),r=Math.abs(r)-f,Math.max(0,jl(r)-jl(f))+1}(R,Math.max(Math.abs(f),Math.abs(r))))&&(b.precision=Q-("e"===b.type));break;case"f":case"%":null==b.precision&&!isNaN(Q=function S0(f){return Math.max(0,-jl(Math.abs(f)))}(R))&&(b.precision=Q-2*("%"===b.type))}return el(b)}function rh(f){var r=f.domain;return f.ticks=function(i){var b=r();return function Fr(f,r,i){var b,Q,_e,Pe,R=-1;if(i=+i,(f=+f)==(r=+r)&&i>0)return[f];if((b=r0){let lt=Math.round(f/Pe),vt=Math.round(r/Pe);for(lt*Per&&--vt,_e=new Array(Q=vt-lt+1);++Rr&&--vt,_e=new Array(Q=vt-lt+1);++R0;){if((vt=so(_e,Pe,i))===lt)return b[R]=_e,b[Q]=Pe,r(b);if(vt>0)_e=Math.floor(_e/vt)*vt,Pe=Math.ceil(Pe/vt)*vt;else{if(!(vt<0))break;_e=Math.ceil(_e*vt)/vt,Pe=Math.floor(Pe*vt)/vt}lt=vt}return f},f}function Ga(){var f=Xu();return f.copy=function(){return qu(f,Ga())},W1.apply(f,arguments),rh(f)}function O0(f,r,i){f=+f,r=+r,i=(R=arguments.length)<2?(r=f,f=0,1):R<3?1:+i;for(var b=-1,R=0|Math.max(0,Math.ceil((r-f)/i)),Q=new Array(R);++b=b)&&(i=b);else{let b=-1;for(let R of f)null!=(R=r(R,++b,f))&&(i=R)&&(i=R)}return i}function Q1(f,r){let i;if(void 0===r)for(const b of f)null!=b&&(i>b||void 0===i&&b>=b)&&(i=b);else{let b=-1;for(let R of f)null!=(R=r(R,++b,f))&&(i>R||void 0===i&&R>=R)&&(i=R)}return i}function k0(f,r,i=0,b=f.length-1,R=Dn){for(;b>i;){if(b-i>600){const lt=b-i+1,vt=r-i+1,Et=Math.log(lt),Zt=.5*Math.exp(2*Et/3),St=.5*Math.sqrt(Et*Zt*(lt-Zt)/lt)*(vt-lt/2<0?-1:1);k0(f,r,Math.max(i,Math.floor(r-vt*Zt/lt+St)),Math.min(b,Math.floor(r+(lt-vt)*Zt/lt+St)),R)}const Q=f[r];let _e=i,Pe=b;for(s1(f,i,r),R(f[b],Q)>0&&s1(f,i,b);_e0;)--Pe}0===R(f[i],Q)?s1(f,i,Pe):(++Pe,s1(f,Pe,b)),Pe<=r&&(i=Pe+1),r<=Pe&&(b=Pe-1)}return f}function s1(f,r,i){const b=f[r];f[r]=f[i],f[i]=b}function R0(f,r,i){if(f=Float64Array.from(function*Yu(f,r){if(void 0===r)for(let i of f)null!=i&&(i=+i)>=i&&(yield i);else{let i=-1;for(let b of f)null!=(b=r(b,++i,f))&&(b=+b)>=b&&(yield b)}}(f,i)),b=f.length){if((r=+r)<=0||b<2)return Q1(f);if(r>=1)return r1(f);var b,R=(b-1)*r,Q=Math.floor(R),_e=r1(k0(f,Q).subarray(0,Q+1));return _e+(Q1(f.subarray(Q+1))-_e)*(R-Q)}}function sh(f,r,i=$2){if(b=f.length){if((r=+r)<=0||b<2)return+i(f[0],0,f);if(r>=1)return+i(f[b-1],b-1,f);var b,R=(b-1)*r,Q=Math.floor(R),_e=+i(f[Q],Q,f);return _e+(+i(f[Q+1],Q+1,f)-_e)*(R-Q)}}function B0(){var b,f=[],r=[],i=[];function R(){var _e=0,Pe=Math.max(1,r.length);for(i=new Array(Pe-1);++_e0?i[Pe-1]:f[0],PeMl)if(Math.abs(Et*Pe-lt*vt)>Ml&&R){var St=i-Q,vn=b-_e,wn=Pe*Pe+lt*lt,Zn=St*St+vn*vn,_n=Math.sqrt(wn),jn=Math.sqrt(Zt),ni=R*Math.tan((o1-Math.acos((wn+Zt-Zn)/(2*_n*jn)))/2),$n=ni/jn,_i=ni/_n;Math.abs($n-1)>Ml&&(this._+="L"+(f+$n*vt)+","+(r+$n*Et)),this._+="A"+R+","+R+",0,0,"+ +(Et*St>vt*vn)+","+(this._x1=f+_i*Pe)+","+(this._y1=r+_i*lt)}else this._+="L"+(this._x1=f)+","+(this._y1=r)},arc:function(f,r,i,b,R,Q){f=+f,r=+r,Q=!!Q;var _e=(i=+i)*Math.cos(b),Pe=i*Math.sin(b),lt=f+_e,vt=r+Pe,Et=1^Q,Zt=Q?b-R:R-b;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+lt+","+vt:(Math.abs(this._x1-lt)>Ml||Math.abs(this._y1-vt)>Ml)&&(this._+="L"+lt+","+vt),i&&(Zt<0&&(Zt=Zt%N0+N0),Zt>U3?this._+="A"+i+","+i+",0,1,"+Et+","+(f-_e)+","+(r-Pe)+"A"+i+","+i+",0,1,"+Et+","+(this._x1=lt)+","+(this._y1=vt):Zt>Ml&&(this._+="A"+i+","+i+",0,"+ +(Zt>=o1)+","+Et+","+(this._x1=f+i*Math.cos(R))+","+(this._y1=r+i*Math.sin(R))))},rect:function(f,r,i,b){this._+="M"+(this._x0=this._x1=+f)+","+(this._y0=this._y1=+r)+"h"+ +i+"v"+ +b+"h"+-i+"Z"},toString:function(){return this._}};const od=F0;Array.prototype.slice;function H0(f){return"object"==typeof f&&"length"in f?f:Array.from(f)}function da(f){return function(){return f}}function q1(f){this._context=f}function Ec(f){return new q1(f)}function ld(f){return f[0]}function ql(f){return f[1]}function tl(f,r){var i=da(!0),b=null,R=Ec,Q=null;function _e(Pe){var lt,Et,St,vt=(Pe=H0(Pe)).length,Zt=!1;for(null==b&&(Q=R(St=od())),lt=0;lt<=vt;++lt)!(lt=St;--vn)Pe.point(ni[vn],$n[vn]);Pe.lineEnd(),Pe.areaEnd()}_n&&(ni[Zt]=+f(Zn,Zt,Et),$n[Zt]=+r(Zn,Zt,Et),Pe.point(b?+b(Zn,Zt,Et):ni[Zt],i?+i(Zn,Zt,Et):$n[Zt]))}if(jn)return Pe=null,jn+""||null}function vt(){return tl().defined(R).curve(_e).context(Q)}return f="function"==typeof f?f:void 0===f?ld:da(+f),r="function"==typeof r?r:da(void 0===r?0:+r),i="function"==typeof i?i:void 0===i?ql:da(+i),lt.x=function(Et){return arguments.length?(f="function"==typeof Et?Et:da(+Et),b=null,lt):f},lt.x0=function(Et){return arguments.length?(f="function"==typeof Et?Et:da(+Et),lt):f},lt.x1=function(Et){return arguments.length?(b=null==Et?null:"function"==typeof Et?Et:da(+Et),lt):b},lt.y=function(Et){return arguments.length?(r="function"==typeof Et?Et:da(+Et),i=null,lt):r},lt.y0=function(Et){return arguments.length?(r="function"==typeof Et?Et:da(+Et),lt):r},lt.y1=function(Et){return arguments.length?(i=null==Et?null:"function"==typeof Et?Et:da(+Et),lt):i},lt.lineX0=lt.lineY0=function(){return vt().x(f).y(r)},lt.lineY1=function(){return vt().x(f).y(i)},lt.lineX1=function(){return vt().x(b).y(r)},lt.defined=function(Et){return arguments.length?(R="function"==typeof Et?Et:da(!!Et),lt):R},lt.curve=function(Et){return arguments.length?(_e=Et,null!=Q&&(Pe=_e(Q)),lt):_e},lt.context=function(Et){return arguments.length?(null==Et?Q=Pe=null:Pe=_e(Q=Et),lt):Q},lt}q1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(f,r){switch(f=+f,r=+r,this._point){case 0:this._point=1,this._line?this._context.lineTo(f,r):this._context.moveTo(f,r);break;case 1:this._point=2;default:this._context.lineTo(f,r)}}};var cd=Math.abs,Xr=Math.atan2,Dc=Math.cos,dd=Math.max,Jl=Math.min,bo=Math.sin,Vs=Math.sqrt,xo=1e-12,c1=Math.PI,Ho=c1/2,X1=2*c1;function oh(f){return f>1?0:f<-1?c1:Math.acos(f)}function z0(f){return f>=1?Ho:f<=-1?-Ho:Math.asin(f)}function nf(f){return f.innerRadius}function lh(f){return f.outerRadius}function d1(f){return f.startAngle}function V3(f){return f.endAngle}function u1(f){return f&&f.padAngle}function Ac(f,r,i,b,R,Q,_e,Pe){var lt=i-f,vt=b-r,Et=_e-R,Zt=Pe-Q,St=Zt*lt-Et*vt;if(!(St*Stba*ba+Vr*Vr&&(ia=ma,qa=yi),{cx:ia,cy:qa,x01:-Et,y01:-Zt,x11:ia*(R/gi-1),y11:qa*(R/gi-1)}}function hd(){var f=nf,r=lh,i=da(0),b=null,R=d1,Q=V3,_e=u1,Pe=null;function lt(){var vt,Et,Zt=+f.apply(this,arguments),St=+r.apply(this,arguments),vn=R.apply(this,arguments)-Ho,wn=Q.apply(this,arguments)-Ho,Zn=cd(wn-vn),_n=wn>vn;if(Pe||(Pe=vt=od()),Stxo)if(Zn>X1-xo)Pe.moveTo(St*Dc(vn),St*bo(vn)),Pe.arc(0,0,St,vn,wn,!_n),Zt>xo&&(Pe.moveTo(Zt*Dc(wn),Zt*bo(wn)),Pe.arc(0,0,Zt,wn,vn,_n));else{var Ai,bi,jn=vn,ni=wn,$n=vn,_i=wn,gi=Zn,ci=Zn,Da=_e.apply(this,arguments)/2,ia=Da>xo&&(b?+b.apply(this,arguments):Vs(Zt*Zt+St*St)),qa=Jl(cd(St-Zt)/2,+i.apply(this,arguments)),ma=qa,yi=qa;if(ia>xo){var ba=z0(ia/Zt*bo(Da)),Vr=z0(ia/St*bo(Da));(gi-=2*ba)>xo?($n+=ba*=_n?1:-1,_i-=ba):(gi=0,$n=_i=(vn+wn)/2),(ci-=2*Vr)>xo?(jn+=Vr*=_n?1:-1,ni-=Vr):(ci=0,jn=ni=(vn+wn)/2)}var ua=St*Dc(jn),Pa=St*bo(jn),_s=Zt*Dc(_i),Aa=Zt*bo(_i);if(qa>xo){var Ts,_r=St*Dc(ni),tr=St*bo(ni),dr=Zt*Dc($n),Ol=Zt*bo($n);if(Znxo?yi>xo?(Ai=ud(dr,Ol,ua,Pa,St,yi,_n),bi=ud(_r,tr,_s,Aa,St,yi,_n),Pe.moveTo(Ai.cx+Ai.x01,Ai.cy+Ai.y01),yixo&&gi>xo?ma>xo?(Ai=ud(_s,Aa,_r,tr,Zt,-ma,_n),bi=ud(ua,Pa,dr,Ol,Zt,-ma,_n),Pe.lineTo(Ai.cx+Ai.x01,Ai.cy+Ai.y01),maf?1:r>=f?0:NaN}function hh(f){return f}function fh(){var f=hh,r=W3,i=null,b=da(0),R=da(X1),Q=da(0);function _e(Pe){var lt,Et,Zt,jn,_i,vt=(Pe=H0(Pe)).length,St=0,vn=new Array(vt),wn=new Array(vt),Zn=+b.apply(this,arguments),_n=Math.min(X1,Math.max(-X1,R.apply(this,arguments)-Zn)),ni=Math.min(Math.abs(_n)/vt,Q.apply(this,arguments)),$n=ni*(_n<0?-1:1);for(lt=0;lt0&&(St+=_i);for(null!=r?vn.sort(function(gi,ci){return r(wn[gi],wn[ci])}):null!=i&&vn.sort(function(gi,ci){return i(Pe[gi],Pe[ci])}),lt=0,Zt=St?(_n-vt*$n)/St:0;lt0?_i*Zt:0)+$n,wn[Et]={data:Pe[Et],index:lt,value:_i,startAngle:Zn,endAngle:jn,padAngle:ni};return wn}return _e.value=function(Pe){return arguments.length?(f="function"==typeof Pe?Pe:da(+Pe),_e):f},_e.sortValues=function(Pe){return arguments.length?(r=Pe,i=null,_e):r},_e.sort=function(Pe){return arguments.length?(i=Pe,r=null,_e):i},_e.startAngle=function(Pe){return arguments.length?(b="function"==typeof Pe?Pe:da(+Pe),_e):b},_e.endAngle=function(Pe){return arguments.length?(R="function"==typeof Pe?Pe:da(+Pe),_e):R},_e.padAngle=function(Pe){return arguments.length?(Q="function"==typeof Pe?Pe:da(+Pe),_e):Q},_e}var K0=Math.PI;function nl(f){return(1-Math.cos(K0*f))/2}var K3=m(1381);function ph(f){f.x0=Math.round(f.x0),f.y0=Math.round(f.y0),f.x1=Math.round(f.x1),f.y1=Math.round(f.y1)}function rf(f,r,i,b,R){for(var _e,Q=f.children,Pe=-1,lt=Q.length,vt=f.value&&(b-r)/f.value;++Peni&&(ni=vt),ci=_n*_n*gi,($n=Math.max(ni/ci,ci/jn))>_i){_n-=vt;break}_i=$n}_e.push(lt={value:_n,dice:vn1?b:1)},i}((1+Math.sqrt(5))/2);function Dl(f){if("function"!=typeof f)throw new Error;return f}function t2(){return 0}function $l(f){return function(){return f}}function Y3(f){var r=0,i=f.children,b=i&&i.length;if(b)for(;--b>=0;)r+=i[b].value;else r=1;f.value=r}function gd(f,r){f instanceof Map?(f=[void 0,f],void 0===r&&(r=T)):void 0===r&&(r=K);for(var b,Q,_e,Pe,lt,i=new me(f),R=[i];b=R.pop();)if((_e=r(b.data))&&(lt=(_e=Array.from(_e)).length))for(b.children=_e,Pe=lt-1;Pe>=0;--Pe)R.push(Q=_e[Pe]=new me(_e[Pe])),Q.parent=b,Q.depth=b.depth+1;return i.eachBefore(V)}function K(f){return f.children}function T(f){return Array.isArray(f)?f[1]:null}function x(f){void 0!==f.data.value&&(f.value=f.data.value),f.data=f.data.data}function V(f){var r=0;do{f.height=r}while((f=f.parent)&&f.height<++r)}function me(f){this.data=f,this.depth=this.height=0,this.parent=null}me.prototype=gd.prototype={constructor:me,count:function Ao(){return this.eachAfter(Y3)},each:function vh(f,r){let i=-1;for(const b of this)f.call(r,b,++i,this);return this},eachAfter:function yh(f,r){for(var Q,_e,Pe,i=this,b=[i],R=[],lt=-1;i=b.pop();)if(R.push(i),Q=i.children)for(_e=0,Pe=Q.length;_e=0;--Q)b.push(R[Q]);return this},find:function bh(f,r){let i=-1;for(const b of this)if(f.call(r,b,++i,this))return b},sum:function xh(f){return this.eachAfter(function(r){for(var i=+f(r.data)||0,b=r.children,R=b&&b.length;--R>=0;)i+=b[R].value;r.value=i})},sort:function Ch(f){return this.eachBefore(function(r){r.children&&r.children.sort(f)})},path:function Z0(f){for(var r=this,i=function Q3(f,r){if(f===r)return f;var i=f.ancestors(),b=r.ancestors(),R=null;for(f=i.pop(),r=b.pop();f===r;)R=f,f=i.pop(),r=b.pop();return R}(r,f),b=[r];r!==i;)r=r.parent,b.push(r);for(var R=b.length;f!==i;)b.splice(R,0,f),f=f.parent;return b},ancestors:function Mh(){for(var f=this,r=[f];f=f.parent;)r.push(f);return r},descendants:function Eh(){return Array.from(this)},leaves:function Vi(){var f=[];return this.eachBefore(function(r){r.children||f.push(r)}),f},links:function md(){var f=this,r=[];return f.each(function(i){i!==f&&r.push({source:i.parent,target:i})}),r},copy:function n2(){return gd(this).eachBefore(x)},[Symbol.iterator]:function*Dh(){var r,b,R,Q,f=this,i=[f];do{for(r=i.reverse(),i=[];f=r.pop();)if(yield f,b=f.children)for(R=0,Q=b.length;Rwindow.innerHeight&&(R=window.innerHeight-i.height),R}static calculateVerticalCaret(r,i,b,R){let Q;R===Ri.Top&&(Q=r.height/2-b.height/2+7),R===Ri.Bottom&&(Q=i.height-r.height/2-b.height/2-7),R===Ri.Center&&(Q=i.height/2-b.height/2);const _e=op(r,i,R);return _e+i.height>window.innerHeight&&(Q+=_e+i.height-window.innerHeight),Q}static calculateHorizontalAlignment(r,i,b){let R=O4(r,i,b);return R+i.width>window.innerWidth&&(R=window.innerWidth-i.width),R}static calculateHorizontalCaret(r,i,b,R){let Q;R===Ri.Left&&(Q=r.width/2-b.width/2+7),R===Ri.Right&&(Q=i.width-r.width/2-b.width/2-7),R===Ri.Center&&(Q=i.width/2-b.width/2);const _e=O4(r,i,R);return _e+i.width>window.innerWidth&&(Q+=_e+i.width-window.innerWidth),Q}static shouldFlip(r,i,b,R){let Q=!1;return b===Ri.Right&&r.left+r.width+i.width+R>window.innerWidth&&(Q=!0),b===Ri.Left&&r.left-i.width-R<0&&(Q=!0),b===Ri.Top&&r.top-i.height-R<0&&(Q=!0),b===Ri.Bottom&&r.top+r.height+i.height+R>window.innerHeight&&(Q=!0),Q}static positionCaret(r,i,b,R,Q){let _e=0,Pe=0;return r===Ri.Right?(Pe=-7,_e=zr.calculateVerticalCaret(b,i,R,Q)):r===Ri.Left?(Pe=i.width,_e=zr.calculateVerticalCaret(b,i,R,Q)):r===Ri.Top?(_e=i.height,Pe=zr.calculateHorizontalCaret(b,i,R,Q)):r===Ri.Bottom&&(_e=-7,Pe=zr.calculateHorizontalCaret(b,i,R,Q)),{top:_e,left:Pe}}static positionContent(r,i,b,R,Q){let _e=0,Pe=0;return r===Ri.Right?(Pe=b.left+b.width+R,_e=zr.calculateVerticalAlignment(b,i,Q)):r===Ri.Left?(Pe=b.left-i.width-R,_e=zr.calculateVerticalAlignment(b,i,Q)):r===Ri.Top?(_e=b.top-i.height-R,Pe=zr.calculateHorizontalAlignment(b,i,Q)):r===Ri.Bottom&&(_e=b.top+b.height+R,Pe=zr.calculateHorizontalAlignment(b,i,Q)),{top:_e,left:Pe}}static determinePlacement(r,i,b,R){if(zr.shouldFlip(b,i,r,R)){if(r===Ri.Right)return Ri.Left;if(r===Ri.Left)return Ri.Right;if(r===Ri.Top)return Ri.Bottom;if(r===Ri.Bottom)return Ri.Top}return r}}class uo{constructor(r,i,b){this.element=r,this.renderer=i,this.platformId=b}get cssClasses(){let r="ngx-charts-tooltip-content";return r+=` position-${this.placement}`,r+=` type-${this.type}`,r+=` ${this.cssClass}`,r}ngAfterViewInit(){setTimeout(this.position.bind(this))}position(){if(!(0,t.NF)(this.platformId))return;const r=this.element.nativeElement,i=this.host.nativeElement.getBoundingClientRect();if(!i.height&&!i.width)return;const b=r.getBoundingClientRect();this.checkFlip(i,b),this.positionContent(r,i,b),this.showCaret&&this.positionCaret(i,b),setTimeout(()=>this.renderer.addClass(r,"animate"),1)}positionContent(r,i,b){const{top:R,left:Q}=zr.positionContent(this.placement,b,i,this.spacing,this.alignment);this.renderer.setStyle(r,"top",`${R}px`),this.renderer.setStyle(r,"left",`${Q}px`)}positionCaret(r,i){const b=this.caretElm.nativeElement,R=b.getBoundingClientRect(),{top:Q,left:_e}=zr.positionCaret(this.placement,i,r,R,this.alignment);this.renderer.setStyle(b,"top",`${Q}px`),this.renderer.setStyle(b,"left",`${_e}px`)}checkFlip(r,i){this.placement=zr.determinePlacement(this.placement,i,r,this.spacing)}onWindowResize(){this.position()}}uo.\u0275fac=function(r){return new(r||uo)(e.Y36(e.SBq),e.Y36(e.Qsj),e.Y36(e.Lbi))},uo.\u0275cmp=e.Xpm({type:uo,selectors:[["ngx-tooltip-content"]],viewQuery:function(r,i){if(1&r&&e.Gf(fi,5),2&r){let b;e.iGM(b=e.CRH())&&(i.caretElm=b.first)}},hostVars:2,hostBindings:function(r,i){1&r&&e.NdJ("resize",function(){return i.onWindowResize()},!1,e.Jf7),2&r&&e.Tol(i.cssClasses)},inputs:{host:"host",showCaret:"showCaret",type:"type",placement:"placement",alignment:"alignment",spacing:"spacing",cssClass:"cssClass",title:"title",template:"template",context:"context"},decls:6,vars:6,consts:[[3,"hidden"],["caretElm",""],[1,"tooltip-content"],[4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"innerHTML"]],template:function(r,i){1&r&&(e.TgZ(0,"div"),e._UZ(1,"span",0,1),e.TgZ(3,"div",2),e.YNc(4,Ni,2,4,"span",3),e.YNc(5,Ci,1,1,"span",4),e.qZA()()),2&r&&(e.xp6(1),e.Gre("tooltip-caret position-",i.placement,""),e.Q6J("hidden",!i.showCaret),e.xp6(3),e.Q6J("ngIf",!i.title),e.xp6(1),e.Q6J("ngIf",i.title))},dependencies:[t.O5,t.tP],styles:[".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\n"],encapsulation:2}),(0,_.gn)([function S4(f,r){return function(b,R,Q){return{configurable:!0,enumerable:Q.enumerable,get:function(){return Object.defineProperty(this,R,{configurable:!0,enumerable:Q.enumerable,value:A_(Q.value,f,r)}),this[R]}}}}(100)],uo.prototype,"onWindowResize",null);class sl{constructor(r){this.injectionService=r,this.defaults={},this.components=new Map}getByType(r=this.type){return this.components.get(r)}create(r){return this.createByType(this.type,r)}createByType(r,i){i=this.assignDefaults(i);const b=this.injectComponent(r,i);return this.register(r,b),b}destroy(r){const i=this.components.get(r.componentType);if(i&&i.length){const b=i.indexOf(r);b>-1&&(i[b].destroy(),i.splice(b,1))}}destroyAll(){this.destroyByType(this.type)}destroyByType(r){const i=this.components.get(r);if(i&&i.length){let b=i.length-1;for(;b>=0;)this.destroy(i[b--])}}injectComponent(r,i){return this.injectionService.appendComponent(r,i)}assignDefaults(r){const i={...this.defaults.inputs},b={...this.defaults.outputs};return!r.inputs&&!r.outputs&&(r={inputs:r}),i&&(r.inputs={...i,...r.inputs}),b&&(r.outputs={...b,...r.outputs}),r}register(r,i){this.components.has(r)||this.components.set(r,[]),this.components.get(r).push(i)}}class Vo{constructor(r,i,b){this.applicationRef=r,this.componentFactoryResolver=i,this.injector=b}static setGlobalRootViewContainer(r){Vo.globalRootViewContainer=r}getRootViewContainer(){if(this._container)return this._container;if(Vo.globalRootViewContainer)return Vo.globalRootViewContainer;if(this.applicationRef.components.length)return this.applicationRef.components[0];throw new Error("View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.")}setRootViewContainer(r){this._container=r}getComponentRootNode(r){return function lp(f){return f.element}(r)?r.element.nativeElement:r.hostView&&r.hostView.rootNodes.length>0?r.hostView.rootNodes[0]:r.location.nativeElement}getRootViewContainerNode(r){return this.getComponentRootNode(r)}projectComponentBindings(r,i){if(i){if(void 0!==i.inputs){const b=Object.getOwnPropertyNames(i.inputs);for(const R of b)r.instance[R]=i.inputs[R]}if(void 0!==i.outputs){const b=Object.getOwnPropertyNames(i.outputs);for(const R of b)r.instance[R]=i.outputs[R]}}return r}appendComponent(r,i={},b){b||(b=this.getRootViewContainer());const R=this.getComponentRootNode(b),Q=new E.u0(R,this.componentFactoryResolver,this.applicationRef,this.injector),_e=new E.C5(r),Pe=Q.attach(_e);return this.projectComponentBindings(Pe,i),Pe}}Vo.globalRootViewContainer=null,Vo.\u0275fac=function(r){return new(r||Vo)(e.LFG(e.z2F),e.LFG(e._Vd),e.LFG(e.zs3))},Vo.\u0275prov=e.Yz7({token:Vo,factory:Vo.\u0275fac});class Lc extends sl{constructor(r){super(r),this.type=uo}}var hr,s2,Cn,es,Gs,Zs,c2;Lc.\u0275fac=function(r){return new(r||Lc)(e.LFG(Vo))},Lc.\u0275prov=e.Yz7({token:Lc,factory:Lc.\u0275fac}),function(f){f.Right="right",f.Below="below"}(hr||(hr={})),function(f){f.ScaleLegend="scaleLegend",f.Legend="legend"}(s2||(s2={})),function(f){f.Time="time",f.Linear="linear",f.Ordinal="ordinal",f.Quantile="quantile"}(Cn||(Cn={}));class Sc{constructor(){this.horizontal=!1}ngOnChanges(r){const i=this.gradientString(this.colors.range(),this.colors.domain()),b=this.horizontal?"right":"bottom";this.gradient=`linear-gradient(to ${b}, ${i})`}gradientString(r,i){i.push(1);const b=[];return r.reverse().forEach((R,Q)=>{b.push(`${R} ${Math.round(100*i[Q])}%`)}),b.join(", ")}}function Ur(f){return f=f instanceof Date?f.toLocaleDateString():f.toLocaleString()}function fs(f){return f.toLocaleString().replace(/[&'`"<>]/g,r=>({"&":"&","'":"'","`":"`",'"':""","<":"<",">":">"}[r]))}Sc.\u0275fac=function(r){return new(r||Sc)},Sc.\u0275cmp=e.Xpm({type:Sc,selectors:[["ngx-charts-scale-legend"]],inputs:{valueRange:"valueRange",colors:"colors",height:"height",width:"width",horizontal:"horizontal"},features:[e.TTD],decls:8,vars:10,consts:[[1,"scale-legend"],[1,"scale-legend-label"],[1,"scale-legend-wrap"]],template:function(r,i){1&r&&(e.TgZ(0,"div",0)(1,"div",1)(2,"span"),e._uU(3),e.qZA()(),e._UZ(4,"div",2),e.TgZ(5,"div",1)(6,"span"),e._uU(7),e.qZA()()()),2&r&&(e.Udp("height",i.horizontal?void 0:i.height,"px")("width",i.width,"px"),e.ekj("horizontal-legend",i.horizontal),e.xp6(3),e.Oqu(i.valueRange[1].toLocaleString()),e.xp6(1),e.Udp("background",i.gradient),e.xp6(3),e.Oqu(i.valueRange[0].toLocaleString()))},styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\n"],encapsulation:2,changeDetection:0});class v1{constructor(){this.isActive=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.toggle=new e.vpe}get trimmedLabel(){return this.formattedLabel||"(empty)"}onMouseEnter(){this.activate.emit({name:this.label})}onMouseLeave(){this.deactivate.emit({name:this.label})}}v1.\u0275fac=function(r){return new(r||v1)},v1.\u0275cmp=e.Xpm({type:v1,selectors:[["ngx-charts-legend-entry"]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{color:"color",label:"label",formattedLabel:"formattedLabel",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",toggle:"toggle"},decls:4,vars:6,consts:[["tabindex","-1",3,"title","click"],[1,"legend-label-color",3,"click"],[1,"legend-label-text"]],template:function(r,i){1&r&&(e.TgZ(0,"span",0),e.NdJ("click",function(){return i.select.emit(i.formattedLabel)}),e.TgZ(1,"span",1),e.NdJ("click",function(){return i.toggle.emit(i.formattedLabel)}),e.qZA(),e.TgZ(2,"span",2),e._uU(3),e.qZA()()),2&r&&(e.ekj("active",i.isActive),e.Q6J("title",i.formattedLabel),e.xp6(1),e.Udp("background-color",i.color),e.xp6(2),e.hij(" ",i.trimmedLabel," "))},encapsulation:2,changeDetection:0});class Id{constructor(r){this.cd=r,this.horizontal=!1,this.labelClick=new e.vpe,this.labelActivate=new e.vpe,this.labelDeactivate=new e.vpe,this.legendEntries=[]}ngOnChanges(r){this.update()}update(){this.cd.markForCheck(),this.legendEntries=this.getLegendEntries()}getLegendEntries(){const r=[];for(const i of this.data){const b=Ur(i);-1===r.findIndex(Q=>Q.label===b)&&r.push({label:i,formattedLabel:b,color:this.colors.getColor(i)})}return r}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.label===b.name)}activate(r){this.labelActivate.emit(r)}deactivate(r){this.labelDeactivate.emit(r)}trackBy(r,i){return i.label}}Id.\u0275fac=function(r){return new(r||Id)(e.Y36(e.sBO))},Id.\u0275cmp=e.Xpm({type:Id,selectors:[["ngx-charts-legend"]],inputs:{data:"data",title:"title",colors:"colors",height:"height",width:"width",activeEntries:"activeEntries",horizontal:"horizontal"},outputs:{labelClick:"labelClick",labelActivate:"labelActivate",labelDeactivate:"labelDeactivate"},features:[e.TTD],decls:5,vars:9,consts:[["class","legend-title",4,"ngIf"],[1,"legend-wrap"],[1,"legend-labels"],["class","legend-label",4,"ngFor","ngForOf","ngForTrackBy"],[1,"legend-title"],[1,"legend-title-text"],[1,"legend-label"],[3,"label","formattedLabel","color","isActive","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"div"),e.YNc(1,Oi,3,1,"header",0),e.TgZ(2,"div",1)(3,"ul",2),e.YNc(4,na,2,4,"li",3),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px"),e.xp6(1),e.Q6J("ngIf",(null==i.title?null:i.title.length)>0),e.xp6(2),e.Udp("max-height",i.height-45,"px"),e.ekj("horizontal-legend",i.horizontal),e.xp6(1),e.Q6J("ngForOf",i.legendEntries)("ngForTrackBy",i.trackBy))},dependencies:[v1,t.O5,t.sg],styles:[".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0});class Qa{constructor(){this.showLegend=!1,this.animations=!0,this.legendLabelClick=new e.vpe,this.legendLabelActivate=new e.vpe,this.legendLabelDeactivate=new e.vpe,this.LegendPosition=hr,this.LegendType=s2}ngOnChanges(r){this.update()}update(){let r=0;this.showLegend&&(this.legendType=this.getLegendType(),(!this.legendOptions||this.legendOptions.position===hr.Right)&&(r=this.legendType===s2.ScaleLegend?1:2));const i=12-r;this.chartWidth=Math.floor(this.view[0]*i/12),this.legendWidth=this.legendOptions&&this.legendOptions.position!==hr.Right?this.chartWidth:Math.floor(this.view[0]*r/12)}getLegendType(){return this.legendOptions.scaleType===Cn.Linear?s2.ScaleLegend:s2.Legend}}Qa.\u0275fac=function(r){return new(r||Qa)},Qa.\u0275cmp=e.Xpm({type:Qa,selectors:[["ngx-charts-chart"]],inputs:{view:"view",showLegend:"showLegend",legendOptions:"legendOptions",legendType:"legendType",activeEntries:"activeEntries",animations:"animations"},outputs:{legendLabelClick:"legendLabelClick",legendLabelActivate:"legendLabelActivate",legendLabelDeactivate:"legendLabelDeactivate"},features:[e._Bn([Lc]),e.TTD],ngContentSelectors:Ns,decls:5,vars:6,consts:[[1,"ngx-charts-outer"],[1,"ngx-charts"],["class","chart-legend",3,"horizontal","valueRange","colors","height","width",4,"ngIf"],["class","chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate",4,"ngIf"],[1,"chart-legend",3,"horizontal","valueRange","colors","height","width"],[1,"chart-legend",3,"horizontal","data","title","colors","height","width","activeEntries","labelClick","labelActivate","labelDeactivate"]],template:function(r,i){1&r&&(e.F$t(),e.TgZ(0,"div",0),e.O4$(),e.TgZ(1,"svg",1),e.Hsn(2),e.qZA(),e.YNc(3,Ia,1,5,"ngx-charts-scale-legend",2),e.YNc(4,Jr,1,7,"ngx-charts-legend",3),e.qZA()),2&r&&(e.Udp("width",i.view[0],"px"),e.xp6(1),e.uIk("width",i.chartWidth)("height",i.view[1]),e.xp6(2),e.Q6J("ngIf",i.showLegend&&i.legendType===i.LegendType.ScaleLegend),e.xp6(1),e.Q6J("ngIf",i.showLegend&&i.legendType===i.LegendType.Legend))},dependencies:[Sc,Id,t.O5],encapsulation:2,changeDetection:0});class o2{constructor(r,i){this.element=r,this.zone=i,this.visible=new e.vpe,this.isVisible=!1,this.runCheck()}destroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const r=()=>{if(!this.element)return;const{offsetHeight:i,offsetWidth:b}=this.element.nativeElement;i&&b?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>r(),100)}))};this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>r())})}}function l2(f){return"[object Date]"===toString.call(f)}function S6(f){return"number"==typeof f}o2.\u0275fac=function(r){return new(r||o2)(e.Y36(e.SBq),e.Y36(e.R0b))},o2.\u0275dir=e.lG2({type:o2,selectors:[["visibility-observer"]],outputs:{visible:"visible"}});class ja{constructor(r,i,b,R){this.chartElement=r,this.zone=i,this.cd=b,this.platformId=R,this.scheme="cool",this.schemeType=Cn.Ordinal,this.animations=!0,this.select=new e.vpe}ngOnInit(){(0,t.PM)(this.platformId)&&(this.animations=!1)}ngAfterViewInit(){this.bindWindowResizeEvent(),this.visibilityObserver=new o2(this.chartElement,this.zone),this.visibilityObserver.visible.subscribe(this.update.bind(this))}ngOnDestroy(){this.unbindEvents(),this.visibilityObserver&&(this.visibilityObserver.visible.unsubscribe(),this.visibilityObserver.destroy())}ngOnChanges(r){this.update()}update(){if(this.results?this.results=this.cloneData(this.results):this.results=[],this.view)this.width=this.view[0],this.height=this.view[1];else{const r=this.getContainerDims();r&&(this.width=r.width,this.height=r.height)}this.width||(this.width=600),this.height||(this.height=400),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this.cd&&this.cd.markForCheck()}getContainerDims(){let r,i;const b=this.chartElement.nativeElement;if((0,t.NF)(this.platformId)&&null!==b.parentNode){const R=b.parentNode.getBoundingClientRect();r=R.width,i=R.height}return r&&i?{width:r,height:i}:null}formatDates(){for(let r=0;r{this.update(),this.cd&&this.cd.markForCheck()});this.resizeSubscription=i}cloneData(r){const i=[];for(const b of r){const R={name:b.name};if(void 0!==b.value&&(R.value=b.value),void 0!==b.series){R.series=[];for(const Q of b.series){const _e=Object.assign({},Q);R.series.push(_e)}}void 0!==b.extra&&(R.extra=JSON.parse(JSON.stringify(b.extra))),i.push(R)}return i}}ja.\u0275fac=function(r){return new(r||ja)(e.Y36(e.SBq),e.Y36(e.R0b),e.Y36(e.sBO),e.Y36(e.Lbi))},ja.\u0275cmp=e.Xpm({type:ja,selectors:[["base-chart"]],inputs:{results:"results",view:"view",scheme:"scheme",schemeType:"schemeType",customColors:"customColors",animations:"animations"},outputs:{select:"select"},features:[e.TTD],decls:1,vars:0,template:function(r,i){1&r&&e._UZ(0,"div")},encapsulation:2}),function(f){f.Top="top",f.Bottom="bottom",f.Left="left",f.Right="right"}(es||(es={}));class Oc{constructor(r){this.textHeight=25,this.margin=5,this.element=r.nativeElement}ngOnChanges(r){this.update()}update(){switch(this.strokeWidth="0.01",this.textAnchor="middle",this.transform="",this.orient){case es.Top:case es.Bottom:this.y=this.offset,this.x=this.width/2;break;case es.Left:this.y=-(this.offset+this.textHeight+this.margin),this.x=-this.height/2,this.transform="rotate(270)";break;case es.Right:this.y=this.offset+this.margin,this.x=-this.height/2,this.transform="rotate(270)"}}}function wl(f,r=16){return"string"!=typeof f?"number"==typeof f?f+"":"":(f=f.trim()).length<=r?f:`${f.slice(0,r)}...`}function tu(f,r){if(f.length>r){const i=[],b=Math.floor(f.length/r);for(let R=0;Rthis.updateDims())}updateDims(){if(!(0,t.NF)(this.platformId))return void this.dimensionsChanged.emit({height:this.approxHeight});const r=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height,10);r!==this.height&&(this.height=r,this.dimensionsChanged.emit({height:this.height}),setTimeout(()=>this.updateDims()))}update(){const r=this.scale;this.ticks=this.getTicks(),this.tickFormatting?this.tickFormat=this.tickFormatting:r.tickFormat?this.tickFormat=r.tickFormat.apply(r,this.tickArguments):this.tickFormat=function(b){return"Date"===b.constructor.name?b.toLocaleDateString():b.toLocaleString()};const i=this.rotateTicks?this.getRotationAngle(this.ticks):null;this.adjustedScale=this.scale.bandwidth?function(b){return this.scale(b)+.5*this.scale.bandwidth()}:this.scale,this.textTransform="",i&&0!==i?(this.textTransform=`rotate(${i})`,this.textAnchor=Gs.End,this.verticalSpacing=10):this.textAnchor=Gs.Middle,setTimeout(()=>this.updateDims())}getRotationAngle(r){let i=0;this.maxTicksLength=0;for(let lt=0;ltthis.maxTicksLength&&(this.maxTicksLength=Et)}const Q=7*Math.min(this.maxTicksLength,this.maxAllowedLength);let _e=Q;const Pe=Math.floor(this.width/r.length);for(;_e>Pe&&i>-90;)i-=30,_e=Math.cos(i*(Math.PI/180))*Q;return this.approxHeight=Math.max(Math.abs(Math.sin(i*(Math.PI/180))*Q),10),i}getTicks(){let r;const i=this.getMaxTicks(20),b=this.getMaxTicks(100);return this.tickValues?r=this.tickValues:this.scale.ticks?r=this.scale.ticks.apply(this.scale,[b]):(r=this.scale.domain(),r=tu(r,i)),r}getMaxTicks(r){return Math.floor(this.width/r)}tickTransform(r){return"translate("+this.adjustedScale(r)+","+this.verticalSpacing+")"}gridLineTransform(){return`translate(0,${-this.verticalSpacing-5})`}tickTrim(r){return this.trimTicks?wl(r,this.maxTickLength):r}}y1.\u0275fac=function(r){return new(r||y1)(e.Y36(e.Lbi))},y1.\u0275cmp=e.Xpm({type:y1,selectors:[["g","ngx-charts-x-axis-ticks",""]],viewQuery:function(r,i){if(1&r&&e.Gf(lo,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksElement=b.first)}},inputs:{scale:"scale",orient:"orient",tickArguments:"tickArguments",tickValues:"tickValues",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",gridLineHeight:"gridLineHeight",width:"width",rotateTicks:"rotateTicks"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-x-axis-ticks",""],decls:4,vars:2,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[4,"ngIf"],["y2","0",1,"gridline-path","gridline-path-vertical"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",null,0),e.YNc(2,Ms,5,7,"g",1),e.qZA(),e.YNc(3,al,2,2,"g",2)),2&r&&(e.xp6(2),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngForOf",i.ticks))},dependencies:[t.sg,t.O5],encapsulation:2,changeDetection:0});class ps{constructor(){this.rotateTicks=!0,this.showGridLines=!1,this.xOrient=es.Bottom,this.xAxisOffset=0,this.dimensionsChanged=new e.vpe,this.xAxisClassName="x axis",this.labelOffset=0,this.fill="none",this.stroke="stroke",this.tickStroke="#ccc",this.strokeWidth="none",this.padding=5,this.orientation=es}ngOnChanges(r){this.update()}update(){this.transform=`translate(0,${this.xAxisOffset+this.padding+this.dims.height})`,typeof this.xAxisTickCount<"u"&&(this.tickArguments=[this.xAxisTickCount])}emitTicksHeight({height:r}){const i=r+25+5;i!==this.labelOffset&&(this.labelOffset=i,setTimeout(()=>{this.dimensionsChanged.emit({height:r})},0))}}function ol(f,r,i,b,R,[Q,_e,Pe,lt]){let vt="";return vt=`M${[f+R,r]}`,vt+="h"+((i=0===(i=Math.floor(i))?1:i)-2*R),vt+=_e?`a${[R,R]} 0 0 1 ${[R,R]}`:`h${R}v${R}`,vt+="v"+((b=0===(b=Math.floor(b))?1:b)-2*R),vt+=lt?`a${[R,R]} 0 0 1 ${[-R,R]}`:`v${R}h${-R}`,vt+="h"+(2*R-i),vt+=Pe?`a${[R,R]} 0 0 1 ${[-R,-R]}`:`h${-R}v${-R}`,vt+="v"+(2*R-b),vt+=Q?`a${[R,R]} 0 0 1 ${[R,-R]}`:`v${-R}h${R}`,vt+="z",vt}ps.\u0275fac=function(r){return new(r||ps)},ps.\u0275cmp=e.Xpm({type:ps,selectors:[["g","ngx-charts-x-axis",""]],viewQuery:function(r,i){if(1&r&&e.Gf(y1,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksComponent=b.first)}},inputs:{xScale:"xScale",dims:"dims",trimTicks:"trimTicks",rotateTicks:"rotateTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",showLabel:"showLabel",labelText:"labelText",ticks:"ticks",xAxisTickCount:"xAxisTickCount",xOrient:"xOrient",xAxisOffset:"xAxisOffset"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-x-axis",""],decls:3,vars:4,consts:[["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-x-axis-ticks","",3,"trimTicks","rotateTicks","maxTickLength","tickFormatting","tickArguments","tickStroke","scale","orient","showGridLines","gridLineHeight","width","tickValues","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,Ah,1,12,"g",0),e.YNc(2,h1,1,5,"g",1),e.qZA()),2&r&&(e.uIk("class",i.xAxisClassName)("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xScale),e.xp6(1),e.Q6J("ngIf",i.showLabel))},dependencies:[y1,Oc,t.O5],encapsulation:2,changeDetection:0});class b1{constructor(r){this.platformId=r,this.tickArguments=[5],this.tickStroke="#ccc",this.trimTicks=!0,this.maxTickLength=16,this.showGridLines=!1,this.showRefLabels=!1,this.showRefLines=!1,this.dimensionsChanged=new e.vpe,this.innerTickSize=6,this.tickPadding=3,this.verticalSpacing=20,this.textAnchor=Gs.Middle,this.width=0,this.outerTickSize=6,this.rotateLabels=!1,this.referenceLineLength=0,this.Orientation=es}ngOnChanges(r){this.update()}ngAfterViewInit(){setTimeout(()=>this.updateDims())}updateDims(){if(!(0,t.NF)(this.platformId))return this.width=this.getApproximateAxisWidth(),void this.dimensionsChanged.emit({width:this.width});const r=parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width,10);r!==this.width&&(this.width=r,this.dimensionsChanged.emit({width:r}),setTimeout(()=>this.updateDims()))}update(){let r;const i=this.orient===es.Top||this.orient===es.Right?-1:1;switch(this.tickSpacing=Math.max(this.innerTickSize,0)+this.tickPadding,r=this.scale,this.ticks=this.getTicks(),this.tickFormatting?this.tickFormat=this.tickFormatting:r.tickFormat?this.tickFormat=r.tickFormat.apply(r,this.tickArguments):this.tickFormat=function(b){return"Date"===b.constructor.name?b.toLocaleDateString():b.toLocaleString()},this.adjustedScale=r.bandwidth?function(b){return r(b)+.5*r.bandwidth()}:r,this.showRefLines&&this.referenceLines&&this.setReferencelines(),this.orient){case es.Top:case es.Bottom:this.transform=function(b){return"translate("+this.adjustedScale(b)+",0)"},this.textAnchor=Gs.Middle,this.y2=this.innerTickSize*i,this.y1=this.tickSpacing*i,this.dy=i<0?"0em":".71em";break;case es.Left:this.transform=function(b){return"translate(0,"+this.adjustedScale(b)+")"},this.textAnchor=Gs.End,this.x2=this.innerTickSize*-i,this.x1=this.tickSpacing*-i,this.dy=".32em";break;case es.Right:this.transform=function(b){return"translate(0,"+this.adjustedScale(b)+")"},this.textAnchor=Gs.Start,this.x2=this.innerTickSize*-i,this.x1=this.tickSpacing*-i,this.dy=".32em"}setTimeout(()=>this.updateDims())}setReferencelines(){this.refMin=this.adjustedScale(Math.min.apply(null,this.referenceLines.map(r=>r.value))),this.refMax=this.adjustedScale(Math.max.apply(null,this.referenceLines.map(r=>r.value))),this.referenceLineLength=this.referenceLines.length,this.referenceAreaPath=ol(0,this.refMax,this.gridLineWidth,this.refMin-this.refMax,0,[!1,!1,!1,!1])}getTicks(){let r;const i=this.getMaxTicks(20),b=this.getMaxTicks(50);return this.tickValues?r=this.tickValues:this.scale.ticks?r=this.scale.ticks.apply(this.scale,[b]):(r=this.scale.domain(),r=tu(r,i)),r}getMaxTicks(r){return Math.floor(this.height/r)}tickTransform(r){return`translate(${this.adjustedScale(r)},${this.verticalSpacing})`}gridLineTransform(){return"translate(5,0)"}tickTrim(r){return this.trimTicks?wl(r,this.maxTickLength):r}getApproximateAxisWidth(){return 7*Math.max(...this.ticks.map(b=>this.tickTrim(this.tickFormat(b)).length))}}b1.\u0275fac=function(r){return new(r||b1)(e.Y36(e.Lbi))},b1.\u0275cmp=e.Xpm({type:b1,selectors:[["g","ngx-charts-y-axis-ticks",""]],viewQuery:function(r,i){if(1&r&&e.Gf(lo,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksElement=b.first)}},inputs:{scale:"scale",orient:"orient",tickArguments:"tickArguments",tickValues:"tickValues",tickStroke:"tickStroke",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",showGridLines:"showGridLines",gridLineWidth:"gridLineWidth",height:"height",referenceLines:"referenceLines",showRefLabels:"showRefLabels",showRefLines:"showRefLines"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-y-axis-ticks",""],decls:6,vars:4,consts:[["ticksel",""],["class","tick",4,"ngFor","ngForOf"],["class","reference-area",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"tick"],["stroke-width","0.01"],[1,"reference-area"],[4,"ngIf"],["class","gridline-path gridline-path-horizontal","x1","0",4,"ngIf"],["x1","0",1,"gridline-path","gridline-path-horizontal"],["x1","0",1,"refline-path","gridline-path-horizontal"],[1,"refline-label"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",null,0),e.YNc(2,Th,5,9,"g",1),e.qZA(),e.YNc(3,wh,1,2,"path",2),e.YNc(4,_a,2,2,"g",3),e.YNc(5,Es,2,1,"g",3)),2&r&&(e.xp6(2),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngIf",i.referenceLineLength>1&&i.refMax&&i.refMin&&i.showRefLines),e.xp6(1),e.Q6J("ngForOf",i.ticks),e.xp6(1),e.Q6J("ngForOf",i.referenceLines))},dependencies:[t.sg,t.O5],encapsulation:2,changeDetection:0});class ts{constructor(){this.showGridLines=!1,this.yOrient=es.Left,this.yAxisOffset=0,this.dimensionsChanged=new e.vpe,this.yAxisClassName="y axis",this.labelOffset=15,this.fill="none",this.stroke="#CCC",this.tickStroke="#CCC",this.strokeWidth=1,this.padding=5}ngOnChanges(r){this.update()}update(){this.offset=-(this.yAxisOffset+this.padding),this.yOrient===es.Right?(this.labelOffset=65,this.transform=`translate(${this.offset+this.dims.width} , 0)`):(this.offset=this.offset,this.transform=`translate(${this.offset} , 0)`),void 0!==this.yAxisTickCount&&(this.tickArguments=[this.yAxisTickCount])}emitTicksWidth({width:r}){r!==this.labelOffset&&this.yOrient===es.Right?(this.labelOffset=r+this.labelOffset,setTimeout(()=>{this.dimensionsChanged.emit({width:r})},0)):r!==this.labelOffset&&(this.labelOffset=r,setTimeout(()=>{this.dimensionsChanged.emit({width:r})},0))}}ts.\u0275fac=function(r){return new(r||ts)},ts.\u0275cmp=e.Xpm({type:ts,selectors:[["g","ngx-charts-y-axis",""]],viewQuery:function(r,i){if(1&r&&e.Gf(b1,5),2&r){let b;e.iGM(b=e.CRH())&&(i.ticksComponent=b.first)}},inputs:{yScale:"yScale",dims:"dims",trimTicks:"trimTicks",maxTickLength:"maxTickLength",tickFormatting:"tickFormatting",ticks:"ticks",showGridLines:"showGridLines",showLabel:"showLabel",labelText:"labelText",yAxisTickCount:"yAxisTickCount",yOrient:"yOrient",referenceLines:"referenceLines",showRefLines:"showRefLines",showRefLabels:"showRefLabels",yAxisOffset:"yAxisOffset"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-y-axis",""],decls:3,vars:4,consts:[["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["ngx-charts-y-axis-ticks","",3,"trimTicks","maxTickLength","tickFormatting","tickArguments","tickValues","tickStroke","scale","orient","showGridLines","gridLineWidth","referenceLines","showRefLines","showRefLabels","height","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,cr,1,14,"g",0),e.YNc(2,wc,1,5,"g",1),e.qZA()),2&r&&(e.uIk("class",i.yAxisClassName)("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.yScale),e.xp6(1),e.Q6J("ngIf",i.showLabel))},dependencies:[b1,Oc,t.O5],encapsulation:2,changeDetection:0});class x1{}x1.\u0275fac=function(r){return new(r||x1)},x1.\u0275mod=e.oAB({type:x1}),x1.\u0275inj=e.cJS({imports:[[t.ez]]}),function(f){f.popover="popover",f.tooltip="tooltip"}(Zs||(Zs={})),function(f){f[f.all="all"]="all",f[f.focus="focus"]="focus",f[f.mouseover="mouseover"]="mouseover"}(c2||(c2={}));class ho{constructor(r,i,b){this.tooltipService=r,this.viewContainerRef=i,this.renderer=b,this.tooltipCssClass="",this.tooltipAppendToBody=!0,this.tooltipSpacing=10,this.tooltipDisabled=!1,this.tooltipShowCaret=!0,this.tooltipPlacement=Ri.Top,this.tooltipAlignment=Ri.Center,this.tooltipType=Zs.popover,this.tooltipCloseOnClickOutside=!0,this.tooltipCloseOnMouseLeave=!0,this.tooltipHideTimeout=300,this.tooltipShowTimeout=100,this.tooltipShowEvent=c2.all,this.tooltipImmediateExit=!1,this.show=new e.vpe,this.hide=new e.vpe}get listensForFocus(){return this.tooltipShowEvent===c2.all||this.tooltipShowEvent===c2.focus}get listensForHover(){return this.tooltipShowEvent===c2.all||this.tooltipShowEvent===c2.mouseover}ngOnDestroy(){this.hideTooltip(!0)}onFocus(){this.listensForFocus&&this.showTooltip()}onBlur(){this.listensForFocus&&this.hideTooltip(!0)}onMouseEnter(){this.listensForHover&&this.showTooltip()}onMouseLeave(r){if(this.listensForHover&&this.tooltipCloseOnMouseLeave){if(clearTimeout(this.timeout),this.component&&this.component.instance.element.nativeElement.contains(r))return;this.hideTooltip(this.tooltipImmediateExit)}}onMouseClick(){this.listensForHover&&this.hideTooltip(!0)}showTooltip(r){if(this.component||this.tooltipDisabled)return;const i=r?0:this.tooltipShowTimeout+(navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?300:0);clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.tooltipService.destroyAll();const b=this.createBoundOptions();this.component=this.tooltipService.create(b),setTimeout(()=>{this.component&&this.addHideListeners(this.component.instance.element.nativeElement)},10),this.show.emit(!0)},i)}addHideListeners(r){this.mouseEnterContentEvent=this.renderer.listen(r,"mouseenter",()=>{clearTimeout(this.timeout)}),this.tooltipCloseOnMouseLeave&&(this.mouseLeaveContentEvent=this.renderer.listen(r,"mouseleave",()=>{this.hideTooltip(this.tooltipImmediateExit)})),this.tooltipCloseOnClickOutside&&(this.documentClickEvent=this.renderer.listen("window","click",i=>{r.contains(i.target)||this.hideTooltip()}))}hideTooltip(r=!1){if(!this.component)return;const i=()=>{this.mouseLeaveContentEvent&&this.mouseLeaveContentEvent(),this.mouseEnterContentEvent&&this.mouseEnterContentEvent(),this.documentClickEvent&&this.documentClickEvent(),this.hide.emit(!0),this.tooltipService.destroy(this.component),this.component=void 0};clearTimeout(this.timeout),r?i():this.timeout=setTimeout(i,this.tooltipHideTimeout)}createBoundOptions(){return{title:this.tooltipTitle,template:this.tooltipTemplate,host:this.viewContainerRef.element,placement:this.tooltipPlacement,alignment:this.tooltipAlignment,type:this.tooltipType,showCaret:this.tooltipShowCaret,cssClass:this.tooltipCssClass,spacing:this.tooltipSpacing,context:this.tooltipContext}}}ho.\u0275fac=function(r){return new(r||ho)(e.Y36(Lc),e.Y36(e.s_b),e.Y36(e.Qsj))},ho.\u0275dir=e.lG2({type:ho,selectors:[["","ngx-tooltip",""]],hostBindings:function(r,i){1&r&&e.NdJ("focusin",function(){return i.onFocus()})("blur",function(){return i.onBlur()})("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(R){return i.onMouseLeave(R.target)})("click",function(){return i.onMouseClick()})},inputs:{tooltipCssClass:"tooltipCssClass",tooltipTitle:"tooltipTitle",tooltipAppendToBody:"tooltipAppendToBody",tooltipSpacing:"tooltipSpacing",tooltipDisabled:"tooltipDisabled",tooltipShowCaret:"tooltipShowCaret",tooltipPlacement:"tooltipPlacement",tooltipAlignment:"tooltipAlignment",tooltipType:"tooltipType",tooltipCloseOnClickOutside:"tooltipCloseOnClickOutside",tooltipCloseOnMouseLeave:"tooltipCloseOnMouseLeave",tooltipHideTimeout:"tooltipHideTimeout",tooltipShowTimeout:"tooltipShowTimeout",tooltipTemplate:"tooltipTemplate",tooltipShowEvent:"tooltipShowEvent",tooltipContext:"tooltipContext",tooltipImmediateExit:"tooltipImmediateExit"},outputs:{show:"show",hide:"hide"}});class d2{}d2.\u0275fac=function(r){return new(r||d2)},d2.\u0275mod=e.oAB({type:d2}),d2.\u0275inj=e.cJS({providers:[Vo,Lc],imports:[[t.ez]]});const cp={};function Ys(){let f=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4);return f=`a${f}`,cp[f]?Ys():(cp[f]=!0,f)}var Fa,u2,nu;!function(f){f.Vertical="vertical",f.Horizontal="horizontal"}(Fa||(Fa={}));class ll{constructor(){this.orientation=Fa.Vertical}ngOnChanges(r){this.x1="0%",this.x2="0%",this.y1="0%",this.y2="0%",this.orientation===Fa.Horizontal?this.x2="100%":this.orientation===Fa.Vertical&&(this.y1="100%")}}ll.\u0275fac=function(r){return new(r||ll)},ll.\u0275cmp=e.Xpm({type:ll,selectors:[["g","ngx-charts-svg-linear-gradient",""]],inputs:{orientation:"orientation",name:"name",stops:"stops"},features:[e.TTD],attrs:["ngx-charts-svg-linear-gradient",""],decls:2,vars:6,consts:[[3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"linearGradient",0),e.YNc(1,Fs,1,5,"stop",1),e.qZA()),2&r&&(e.Q6J("id",i.name),e.uIk("x1",i.x1)("y1",i.y1)("x2",i.x2)("y2",i.y2),e.xp6(1),e.Q6J("ngForOf",i.stops))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class C1{constructor(){this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}onClick(){this.select.emit(this.data)}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}ngOnChanges(r){this.classNames=Array.isArray(this.classNames)?this.classNames.join(" "):"",this.classNames+="circle"}}C1.\u0275fac=function(r){return new(r||C1)},C1.\u0275cmp=e.Xpm({type:C1,selectors:[["g","ngx-charts-circle",""]],hostBindings:function(r,i){1&r&&e.NdJ("click",function(){return i.onClick()})("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{cx:"cx",cy:"cy",r:"r",fill:"fill",stroke:"stroke",data:"data",classNames:"classNames",circleOpacity:"circleOpacity",pointerEvents:"pointerEvents"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-circle",""],decls:1,vars:8,template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"circle")),2&r&&e.uIk("cx",i.cx)("cy",i.cy)("r",i.r)("fill",i.fill)("stroke",i.stroke)("opacity",i.circleOpacity)("class",i.classNames)("pointer-events",i.pointerEvents)},encapsulation:2,changeDetection:0}),function(f){f.Standard="standard",f.Stacked="stacked"}(u2||(u2={}));class Pc{constructor(r){this.platformId=r,this.type=u2.Standard,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.barVisible=!1,this.barOrientation=Fa,this.placementTypes=Ri,this.styleTypes=Zs,this.isSSR=!1}ngOnInit(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(){this.update()}update(){this.circle=this.getActiveCircle()}getActiveCircle(){const r=this.data.series.findIndex(i=>{const b=i.name;return b&&this.visibleValue&&b.toString()===this.visibleValue.toString()&&void 0!==i.value});if(-1!==r)return this.mapDataPointToCircle(this.data.series[r],r)}mapDataPointToCircle(r,i){const b=this.data.name,R=r.value,Q=r.name,_e=Ur(Q);let Pe;Pe=this.scaleType===Cn.Time?this.xScale(Q):this.scaleType===Cn.Linear?this.xScale(Number(Q)):this.xScale(Q);const lt=this.yScale(this.type===u2.Standard?R:r.d1),Et=this.yScale.range()[0]-lt;let St;St=this.colors.scaleType===Cn.Linear?this.type===u2.Standard?this.colors.getColor(R):this.colors.getColor(r.d1):this.colors.getColor(b);return{classNames:[`circle-data-${i}`],value:R,label:Q,data:Object.assign({},r,{series:b,value:R,name:Q}),cx:Pe,cy:lt,radius:5,height:Et,tooltipLabel:_e,color:St,opacity:1,seriesName:b,gradientStops:this.getGradientStops(St),min:r.min,max:r.max}}getTooltipText({tooltipLabel:r,value:i,seriesName:b,min:R,max:Q}){return`\n ${fs(b)} \u2022 ${fs(r)}\n ${i.toLocaleString()}${this.getTooltipMinMaxText(R,Q)}\n `}getTooltipMinMaxText(r,i){if(void 0!==r||void 0!==i){let b=" (";return void 0!==r?(void 0===i&&(b+="\u2265"),b+=r.toLocaleString(),void 0!==i&&(b+=" - ")):void 0!==i&&(b+="\u2264"),void 0!==i&&(b+=i.toLocaleString()),b+=")",b}return""}getGradientStops(r){return[{offset:0,color:r,opacity:.2},{offset:100,color:r,opacity:1}]}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}activateCircle(){this.barVisible=!0,this.activate.emit({name:this.data.name})}deactivateCircle(){this.barVisible=!1,this.circle.opacity=0,this.deactivate.emit({name:this.data.name})}}Pc.\u0275fac=function(r){return new(r||Pc)(e.Y36(e.Lbi))},Pc.\u0275cmp=e.Xpm({type:Pc,selectors:[["g","ngx-charts-circle-series",""]],inputs:{data:"data",type:"type",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",visibleValue:"visibleValue",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-circle-series",""],decls:1,vars:1,consts:[[4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["class","tooltip-bar",4,"ngIf"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"],[1,"tooltip-bar"]],template:function(r,i){1&r&&e.YNc(0,Lh,6,22,"g",0),2&r&&e.Q6J("ngIf",i.circle)},dependencies:[ll,C1,t.O5,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({opacity:0}),(0,u.jt)(250,(0,u.oB)({opacity:1}))])])]},changeDetection:0});class Ld{}Ld.\u0275fac=function(r){return new(r||Ld)},Ld.\u0275cmp=e.Xpm({type:Ld,selectors:[["g","ngx-charts-grid-panel",""]],inputs:{width:"width",height:"height",x:"x",y:"y"},attrs:["ngx-charts-grid-panel",""],decls:1,vars:4,consts:[["stroke","none",1,"gridpanel"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"rect",0)),2&r&&e.uIk("height",i.height)("width",i.width)("x",i.x)("y",i.y)},encapsulation:2,changeDetection:0}),function(f){f.Odd="odd",f.Even="even"}(nu||(nu={}));class h2{ngOnChanges(r){this.update()}update(){this.gridPanels=this.getGridPanels()}getGridPanels(){return this.data.map(r=>{let i,b,R,Q,_e,Pe=nu.Odd;if(this.orient===Fa.Vertical){const lt=this.xScale(r.name);Number.parseInt((lt/this.xScale.step()).toString(),10)%2==1&&(Pe=nu.Even),i=this.xScale.bandwidth()*this.xScale.paddingInner(),b=this.xScale.bandwidth()+i,R=this.dims.height,Q=this.xScale(r.name)-i/2,_e=0}else if(this.orient===Fa.Horizontal){const lt=this.yScale(r.name);Number.parseInt((lt/this.yScale.step()).toString(),10)%2==1&&(Pe=nu.Even),i=this.yScale.bandwidth()*this.yScale.paddingInner(),b=this.dims.width,R=this.yScale.bandwidth()+i,Q=0,_e=this.yScale(r.name)-i/2}return{name:r.name,class:Pe,height:R,width:b,x:Q,y:_e}})}}h2.\u0275fac=function(r){return new(r||h2)},h2.\u0275cmp=e.Xpm({type:h2,selectors:[["g","ngx-charts-grid-panel-series",""]],inputs:{data:"data",dims:"dims",xScale:"xScale",yScale:"yScale",orient:"orient"},features:[e.TTD],attrs:["ngx-charts-grid-panel-series",""],decls:1,vars:1,consts:[["ngx-charts-grid-panel","",3,"height","width","x","y","grid-panel","odd","even",4,"ngFor","ngForOf"],["ngx-charts-grid-panel","",3,"height","width","x","y"]],template:function(r,i){1&r&&e.YNc(0,Sh,1,10,"g",0),2&r&&e.Q6J("ngForOf",i.gridPanels)},dependencies:[Ld,t.sg],encapsulation:2,changeDetection:0});class M1{constructor(){this.endOpacity=1,this.cx=0,this.cy=0}get stops(){return this.stopsInput||this.stopsDefault}set stops(r){this.stopsInput=r}ngOnChanges(r){this.r="30%",("color"in r||"startOpacity"in r||"endOpacity"in r)&&(this.stopsDefault=[{offset:0,color:this.color,opacity:this.startOpacity},{offset:100,color:this.color,opacity:this.endOpacity}])}}M1.\u0275fac=function(r){return new(r||M1)},M1.\u0275cmp=e.Xpm({type:M1,selectors:[["g","ngx-charts-svg-radial-gradient",""]],inputs:{color:"color",name:"name",startOpacity:"startOpacity",endOpacity:"endOpacity",cx:"cx",cy:"cy",stops:"stops"},features:[e.TTD],attrs:["ngx-charts-svg-radial-gradient",""],decls:2,vars:5,consts:[["gradientUnits","userSpaceOnUse",3,"id"],[3,"stop-color","stop-opacity",4,"ngFor","ngForOf"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"radialGradient",0),e.YNc(1,Q0,1,5,"stop",1),e.qZA()),2&r&&(e.Q6J("id",i.name),e.uIk("cx",i.cx)("cy",i.cy)("r",i.r),e.xp6(1),e.Q6J("ngForOf",i.stops))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class f2{constructor(r){this.opacity=1,this.startOpacity=.5,this.endOpacity=1,this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.animationsLoaded=!1,this.hasGradient=!1,this.barOrientation=Fa,this.element=r.nativeElement}ngOnChanges(){this.update(),this.animationsLoaded||(this.loadAnimation(),this.animationsLoaded=!0)}update(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl()}loadAnimation(){this.areaPath=this.startingPath,setTimeout(this.updatePathEl.bind(this),100)}updatePathEl(){const r=Ln(this.element).select(".area");this.animations?r.transition().duration(750).attr("d",this.path):r.attr("d",this.path)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.startOpacity},{offset:100,color:this.fill,opacity:this.endOpacity}]}}function P4(f,r,i,b){return i*(1-Math.pow(2,-10*f/b))*1024/1023+r}function dp(f,r,i,b,R){const Q=Number(f),_e=Number(r),Pe=Q>_e,lt=Math.max(0,i),vt=Math.pow(10,lt),Et=1e3*Number(b);let Zt;function St(vn){let wn;const Zn=vn-Zt;wn=Pe?Q-P4(Zn,0,Q-_e,Et):P4(Zn,Q,_e-Q,Et),wn=Pe?wn<_e?_e:wn:wn>_e?_e:wn,wn=Math.round(wn*vt)/vt;const _n=ZnSt(jn))}return requestAnimationFrame(vn=>(Zt=vn,St(vn)))}function Qh(f){const r=Number(f);return r%1!=0&&Math.abs(r)<=10?2:0}f2.\u0275fac=function(r){return new(r||f2)(e.Y36(e.SBq))},f2.\u0275cmp=e.Xpm({type:f2,selectors:[["g","ngx-charts-area",""]],inputs:{data:"data",path:"path",startingPath:"startingPath",fill:"fill",opacity:"opacity",startOpacity:"startOpacity",endOpacity:"endOpacity",gradient:"gradient",stops:"stops",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-area",""],decls:2,vars:5,consts:[[4,"ngIf"],[1,"area"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.YNc(0,X3,2,3,"defs",0),e.O4$(),e._UZ(1,"path",1)),2&r&&(e.Q6J("ngIf",i.gradient),e.xp6(1),e.Udp("opacity",i.opacity),e.uIk("d",i.areaPath)("fill",i.gradient?i.gradientFill:i.fill))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0});class kc{constructor(r,i){this.cd=r,this.countDuration=1,this.countPrefix="",this.countSuffix="",this.countChange=new e.vpe,this.countFinish=new e.vpe,this.value="",this._countDecimals=0,this._countTo=0,this._countFrom=0,this.nativeElement=i.nativeElement}set countDecimals(r){this._countDecimals=r}get countDecimals(){return this._countDecimals?this._countDecimals:Qh(this.countTo)}set countTo(r){this._countTo=parseFloat(r),this.start()}get countTo(){return this._countTo}set countFrom(r){this._countFrom=parseFloat(r),this.start()}get countFrom(){return this._countFrom}ngOnDestroy(){cancelAnimationFrame(this.animationReq)}start(){cancelAnimationFrame(this.animationReq);const r=this.valueFormatting||(b=>`${this.countPrefix}${b.toLocaleString()}${this.countSuffix}`);this.animationReq=dp(this.countFrom,this.countTo,this.countDecimals,this.countDuration,({value:b,progress:R,finished:Q})=>{this.value=r(b),this.cd.markForCheck(),Q||this.countChange.emit({value:this.value,progress:R}),Q&&this.countFinish.emit({value:this.value,progress:R})})}}let jh;kc.\u0275fac=function(r){return new(r||kc)(e.Y36(e.sBO),e.Y36(e.SBq))},kc.\u0275cmp=e.Xpm({type:kc,selectors:[["","ngx-charts-count-up",""]],inputs:{countDuration:"countDuration",countPrefix:"countPrefix",countSuffix:"countSuffix",valueFormatting:"valueFormatting",countDecimals:"countDecimals",countTo:"countTo",countFrom:"countFrom"},outputs:{countChange:"countChange",countFinish:"countFinish"},attrs:["ngx-charts-count-up",""],decls:1,vars:1,template:function(r,i){1&r&&e._uU(0),2&r&&e.hij(" ",i.value," ")},encapsulation:2}),typeof window<"u"?jh=window:typeof global<"u"&&(jh=global);const qh=jh.MouseEvent;function Xh(f,r=!1,i=!0){if("function"==typeof qh)return new qh(f,{bubbles:r,cancelable:i});{const b=document.createEvent("MouseEvent");return b.initEvent(f,r,i),b}}class tc{constructor(r){this.platformId=r,this.anchorOpacity=0,this.anchorPos=-1,this.anchorValues=[],this.placementTypes=Ri,this.styleTypes=Zs,this.showPercentage=!1,this.tooltipDisabled=!1,this.hover=new e.vpe}getValues(r){const i=[];for(const b of this.results){const R=b.series.find(_e=>_e.name.toString()===r.toString());let Q=b.name;if(Q instanceof Date&&(Q=Q.toLocaleDateString()),R){const _e=R.name;let lt,Pe=R.value;if(this.showPercentage&&(Pe=(R.d1-R.d0).toFixed(2)+"%"),this.colors.scaleType===Cn.Linear){let Et=Pe;R.d1&&(Et=R.d1),lt=this.colors.getColor(Et)}else lt=this.colors.getColor(b.name);const vt=Object.assign({},R,{value:Pe,name:_e,series:Q,min:R.min,max:R.max,color:lt});i.push(vt)}}return i}mouseMove(r){if(!(0,t.NF)(this.platformId))return;const i=r.pageX-r.target.getBoundingClientRect().left,b=this.findClosestPointIndex(i),R=this.xSet[b];if(this.anchorPos=this.xScale(R),this.anchorPos=Math.max(0,this.anchorPos),this.anchorPos=Math.min(this.dims.width,this.anchorPos),this.anchorValues=this.getValues(R),this.anchorPos!==this.lastAnchorPos){const Q=Xh("mouseleave");this.tooltipAnchor.nativeElement.dispatchEvent(Q),this.anchorOpacity=.7,this.hover.emit({value:R}),this.showTooltip(),this.lastAnchorPos=this.anchorPos}}findClosestPointIndex(r){let i=0,b=this.xSet.length-1,R=Number.MAX_VALUE,Q=0;for(;i<=b;){const _e=(i+b)/2|0,Pe=this.xScale(this.xSet[_e]),lt=Math.abs(Pe-r);if(ltr)){R=0,Q=_e;break}b=_e-1}}return Q}showTooltip(){const r=Xh("mouseenter");this.tooltipAnchor.nativeElement.dispatchEvent(r)}hideTooltip(){const r=Xh("mouseleave");this.tooltipAnchor.nativeElement.dispatchEvent(r),this.anchorOpacity=0,this.lastAnchorPos=-1}getToolTipText(r){let i="";return void 0!==r.series?i+=r.series:i+="???",i+=": ",void 0!==r.value&&(i+=r.value.toLocaleString()),(void 0!==r.min||void 0!==r.max)&&(i+=" (",void 0!==r.min?(void 0===r.max&&(i+="\u2265"),i+=r.min.toLocaleString(),void 0!==r.max&&(i+=" - ")):void 0!==r.max&&(i+="\u2264"),void 0!==r.max&&(i+=r.max.toLocaleString()),i+=")"),i}}tc.\u0275fac=function(r){return new(r||tc)(e.Y36(e.Lbi))},tc.\u0275cmp=e.Xpm({type:tc,selectors:[["g","ngx-charts-tooltip-area",""]],viewQuery:function(r,i){if(1&r&&e.Gf($3,5),2&r){let b;e.iGM(b=e.CRH())&&(i.tooltipAnchor=b.first)}},inputs:{dims:"dims",xSet:"xSet",xScale:"xScale",yScale:"yScale",results:"results",colors:"colors",showPercentage:"showPercentage",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{hover:"hover"},attrs:["ngx-charts-tooltip-area",""],decls:6,vars:18,consts:[["y","0",1,"tooltip-area",2,"opacity","0","cursor","auto",3,"mousemove","mouseleave"],["defaultTooltipTemplate",""],["y","0","ngx-tooltip","",1,"tooltip-anchor",3,"tooltipDisabled","tooltipPlacement","tooltipType","tooltipSpacing","tooltipTemplate","tooltipContext","tooltipImmediateExit"],["tooltipAnchor",""],[1,"area-tooltip-container"],["class","tooltip-item",4,"ngFor","ngForOf"],[1,"tooltip-item"],[1,"tooltip-item-color"]],template:function(r,i){if(1&r&&(e.O4$(),e.TgZ(0,"g")(1,"rect",0),e.NdJ("mousemove",function(R){return i.mouseMove(R)})("mouseleave",function(){return i.hideTooltip()}),e.qZA(),e.YNc(2,e4,2,1,"ng-template",null,1,e.W1O),e._UZ(4,"rect",2,3),e.qZA()),2&r){const b=e.MAs(3);e.xp6(1),e.uIk("x",0)("width",i.dims.width)("height",i.dims.height),e.xp6(3),e.Udp("opacity",i.anchorOpacity)("pointer-events","none"),e.Q6J("@animationState",0!==i.anchorOpacity?"active":"inactive")("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.placementTypes.Right)("tooltipType",i.styleTypes.tooltip)("tooltipSpacing",15)("tooltipTemplate",i.tooltipTemplate?i.tooltipTemplate:b)("tooltipContext",i.anchorValues)("tooltipImmediateExit",!0),e.uIk("x",i.anchorPos)("width",1)("height",i.dims.height)}},dependencies:[t.sg,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)("inactive => active",[(0,u.oB)({opacity:0}),(0,u.jt)(250,(0,u.oB)({opacity:.7}))]),(0,u.eR)("active => inactive",[(0,u.oB)({opacity:.7}),(0,u.jt)(250,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class Il{constructor(r,i){this.cd=i,this.height=50,this.select=new e.vpe,this.onDomainChange=new e.vpe,this.initialized=!1,this.element=r.nativeElement}ngOnChanges(r){this.update(),this.initialized||(this.addBrush(),this.initialized=!0)}update(){this.dims=this.getDims(),this.height=this.dims.height;const r=this.view[1]-this.height;this.xDomain=this.getXDomain(),this.xScale=this.getXScale(),this.brush&&this.updateBrush(),this.transform=`translate(0 , ${r})`,this.filterId="filter"+Ys().toString(),this.filter=`url(#${this.filterId})`,this.cd.markForCheck()}getXDomain(){let r=[];for(const b of this.results)for(const R of b.series)r.includes(R.name)||r.push(R.name);let i=[];if(this.scaleType===Cn.Time){i=[Math.min(...r),Math.max(...r)]}else if(this.scaleType===Cn.Linear){r=r.map(Q=>Number(Q));i=[Math.min(...r),Math.max(...r)]}else i=r;return i}getXScale(){let r;return this.scaleType===Cn.Time?r=Ql().range([0,this.dims.width]).domain(this.xDomain):this.scaleType===Cn.Linear?r=Ga().range([0,this.dims.width]).domain(this.xDomain):this.scaleType===Cn.Ordinal&&(r=er().range([0,this.dims.width]).padding(.1).domain(this.xDomain)),r}addBrush(){if(this.brush)return;const r=this.height,i=this.view[0];this.brush=function at(){return mn(Bo)}().extent([[0,0],[i,r]]).on("brush end",({selection:b})=>{const Q=(b||this.xScale.range()).map(this.xScale.invert);this.onDomainChange.emit(Q),this.cd.markForCheck()}),Ln(this.element).select(".brush").call(this.brush)}updateBrush(){if(!this.brush)return;const r=this.height,i=this.view[0];this.brush.extent([[0,0],[i,r]]),Ln(this.element).select(".brush").call(this.brush),Ln(this.element).select(".selection").attr("fill",void 0).attr("stroke",void 0).attr("fill-opacity",void 0),this.cd.markForCheck()}getDims(){return{width:this.view[0],height:this.height}}}Il.\u0275fac=function(r){return new(r||Il)(e.Y36(e.SBq),e.Y36(e.sBO))},Il.\u0275cmp=e.Xpm({type:Il,selectors:[["g","ngx-charts-timeline",""]],inputs:{view:"view",results:"results",scheme:"scheme",customColors:"customColors",legend:"legend",autoScale:"autoScale",scaleType:"scaleType",height:"height"},outputs:{select:"select",onDomainChange:"onDomainChange"},features:[e.TTD],attrs:["ngx-charts-timeline",""],ngContentSelectors:Ns,decls:7,vars:4,consts:[[1,"timeline"],["in","SourceGraphic","type","matrix","values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"],[1,"embedded-chart"],["x","0","y","0",1,"brush-background"],[1,"brush"]],template:function(r,i){1&r&&(e.F$t(),e.O4$(),e.TgZ(0,"g",0)(1,"filter"),e._UZ(2,"feColorMatrix",1),e.qZA(),e.TgZ(3,"g",2),e.Hsn(4),e.qZA(),e._UZ(5,"rect",3)(6,"g",4),e.qZA()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.uIk("id",i.filterId),e.xp6(4),e.uIk("width",i.view[0])("height",i.height))},styles:[".timeline .brush-background{fill:#0000000d}.timeline .brush .selection{fill:#0000001a;stroke-width:1px;stroke:#888}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\n"],encapsulation:2,changeDetection:0});class p2{constructor(){this.label="Total",this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.legendItems=[],this.labelFormatting=r=>r,this.percentageFormatting=r=>r,this.defaultValueFormatting=r=>r.toLocaleString()}ngOnChanges(r){this.update()}getTotal(){return this.data.map(r=>Number(r.value)).reduce((r,i)=>r+i,0)}update(){this.total=this.getTotal(),this.roundedTotal=this.total,this.legendItems=this.getLegendItems()}getLegendItems(){return this.data.map(r=>{const i=Ur(r.name),b=r.value,R=this.colors.getColor(i),Q=this.total>0?b/this.total*100:0,_e="function"==typeof this.labelFormatting?this.labelFormatting(i):i;return{_value:b,data:r,value:b,color:R,label:_e,displayLabel:wl(_e,20),origialLabel:r.name,percentage:this.percentageFormatting?this.percentageFormatting(Q):Q.toLocaleString()}})}trackBy(r,i){return i.label}}p2.\u0275fac=function(r){return new(r||p2)},p2.\u0275cmp=e.Xpm({type:p2,selectors:[["ngx-charts-advanced-legend"]],inputs:{width:"width",data:"data",colors:"colors",label:"label",animations:"animations",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",percentageFormatting:"percentageFormatting"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],decls:8,vars:7,consts:[[1,"advanced-pie-legend"],["class","total-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","total-value",4,"ngIf"],[1,"total-label"],[1,"legend-items-container"],[1,"legend-items"],["tabindex","-1","class","legend-item",3,"mouseenter","mouseleave","click",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-count-up","",1,"total-value",3,"countTo","valueFormatting"],[1,"total-value"],["tabindex","-1",1,"legend-item",3,"mouseenter","mouseleave","click"],[1,"item-color"],["class","item-value","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","item-value",4,"ngIf"],[1,"item-label"],["class","item-percent","ngx-charts-count-up","",3,"countTo","countSuffix",4,"ngIf"],["class","item-percent",4,"ngIf"],["ngx-charts-count-up","",1,"item-value",3,"countTo","valueFormatting"],[1,"item-value"],["ngx-charts-count-up","",1,"item-percent",3,"countTo","countSuffix"],[1,"item-percent"]],template:function(r,i){1&r&&(e.TgZ(0,"div",0),e.YNc(1,df,1,2,"div",1),e.YNc(2,uf,2,1,"div",2),e.TgZ(3,"div",3),e._uU(4),e.qZA(),e.TgZ(5,"div",4)(6,"div",5),e.YNc(7,Up,8,7,"div",6),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px"),e.xp6(1),e.Q6J("ngIf",i.animations),e.xp6(1),e.Q6J("ngIf",!i.animations),e.xp6(2),e.hij(" ",i.label," "),e.xp6(3),e.Q6J("ngForOf",i.legendItems)("ngForTrackBy",i.trackBy))},dependencies:[kc,t.O5,t.sg],styles:[".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\n"],encapsulation:2,changeDetection:0});class Ds{}function fr({width:f,height:r,margins:i,showXAxis:b=!1,showYAxis:R=!1,xAxisHeight:Q=0,yAxisWidth:_e=0,showXLabel:Pe=!1,showYLabel:lt=!1,showLegend:vt=!1,legendType:Et=Cn.Ordinal,legendPosition:Zt=hr.Right,columns:St=12}){let vn=i[3],wn=f,Zn=r-i[0]-i[2];return vt&&Zt===hr.Right&&(Et===Cn.Ordinal?St-=2:St-=1),wn=wn*St/12,wn=wn-i[1]-i[3],b&&(Zn-=5,Zn-=Q,Pe&&(Zn-=30)),R&&(wn-=5,wn-=_e,vn+=_e,vn+=10,lt&&(wn-=30,vn+=30)),wn=Math.max(0,wn),Zn=Math.max(0,Zn),{width:Math.floor(wn),height:Math.floor(Zn),xOffset:Math.floor(vn)}}Ds.\u0275fac=function(r){return new(r||Ds)},Ds.\u0275mod=e.oAB({type:Ds}),Ds.\u0275inj=e.cJS({imports:[[t.ez,x1,d2],t.ez,x1,d2]});let E1=[{name:"vivid",selectable:!0,group:Cn.Ordinal,domain:["#647c8a","#3f51b5","#2196f3","#00b862","#afdf0a","#a7b61a","#f3e562","#ff9800","#ff5722","#ff4514"]},{name:"natural",selectable:!0,group:Cn.Ordinal,domain:["#bf9d76","#e99450","#d89f59","#f2dfa7","#a5d7c6","#7794b1","#afafaf","#707160","#ba9383","#d9d5c3"]},{name:"cool",selectable:!0,group:Cn.Ordinal,domain:["#a8385d","#7aa3e5","#a27ea8","#aae3f5","#adcded","#a95963","#8796c0","#7ed3ed","#50abcc","#ad6886"]},{name:"fire",selectable:!0,group:Cn.Ordinal,domain:["#ff3d00","#bf360c","#ff8f00","#ff6f00","#ff5722","#e65100","#ffca28","#ffab00"]},{name:"solar",selectable:!0,group:Cn.Linear,domain:["#fff8e1","#ffecb3","#ffe082","#ffd54f","#ffca28","#ffc107","#ffb300","#ffa000","#ff8f00","#ff6f00"]},{name:"air",selectable:!0,group:Cn.Linear,domain:["#e1f5fe","#b3e5fc","#81d4fa","#4fc3f7","#29b6f6","#03a9f4","#039be5","#0288d1","#0277bd","#01579b"]},{name:"aqua",selectable:!0,group:Cn.Linear,domain:["#e0f7fa","#b2ebf2","#80deea","#4dd0e1","#26c6da","#00bcd4","#00acc1","#0097a7","#00838f","#006064"]},{name:"flame",selectable:!1,group:Cn.Ordinal,domain:["#A10A28","#D3342D","#EF6D49","#FAAD67","#FDDE90","#DBED91","#A9D770","#6CBA67","#2C9653","#146738"]},{name:"ocean",selectable:!1,group:Cn.Ordinal,domain:["#1D68FB","#33C0FC","#4AFFFE","#AFFFFF","#FFFC63","#FDBD2D","#FC8A25","#FA4F1E","#FA141B","#BA38D1"]},{name:"forest",selectable:!1,group:Cn.Ordinal,domain:["#55C22D","#C1F33D","#3CC099","#AFFFFF","#8CFC9D","#76CFFA","#BA60FB","#EE6490","#C42A1C","#FC9F32"]},{name:"horizon",selectable:!1,group:Cn.Ordinal,domain:["#2597FB","#65EBFD","#99FDD0","#FCEE4B","#FEFCFA","#FDD6E3","#FCB1A8","#EF6F7B","#CB96E8","#EFDEE0"]},{name:"neons",selectable:!1,group:Cn.Ordinal,domain:["#FF3333","#FF33FF","#CC33FF","#0000FF","#33CCFF","#33FFFF","#33FF66","#CCFF33","#FFCC00","#FF6600"]},{name:"picnic",selectable:!1,group:Cn.Ordinal,domain:["#FAC51D","#66BD6D","#FAA026","#29BB9C","#E96B56","#55ACD2","#B7332F","#2C83C9","#9166B8","#92E7E8"]},{name:"night",selectable:!1,group:Cn.Ordinal,domain:["#2B1B5A","#501356","#183356","#28203F","#391B3C","#1E2B3C","#120634","#2D0432","#051932","#453080","#75267D","#2C507D","#4B3880","#752F7D","#35547D"]},{name:"nightLights",selectable:!1,group:Cn.Ordinal,domain:["#4e31a5","#9c25a7","#3065ab","#57468b","#904497","#46648b","#32118d","#a00fb3","#1052a2","#6e51bd","#b63cc3","#6c97cb","#8671c1","#b455be","#7496c3"]}];class Lr{constructor(r,i,b,R){"string"==typeof r&&(r=E1.find(Q=>Q.name===r)),this.colorDomain=r.domain,this.scaleType=i,this.domain=b,this.customColors=R,this.scale=this.generateColorScheme(r,i,this.domain)}generateColorScheme(r,i,b){let R;switch("string"==typeof r&&(r=E1.find(Q=>Q.name===r)),i){case Cn.Quantile:R=B0().range(r.domain).domain(b);break;case Cn.Ordinal:R=Y1().range(r.domain).domain(b);break;case Cn.Linear:{const Q=[...r.domain];1===Q.length&&(Q.push(Q[0]),this.colorDomain=Q);const _e=O0(0,1,1/Q.length);R=Ga().range(Q).domain(_e)}}return R}getColor(r){if(null==r)throw new Error("Value can not be null");if(this.scaleType===Cn.Linear){const i=Ga().domain(this.domain).range([0,1]);return this.scale(i(r))}{if("function"==typeof this.customColors)return this.customColors(r);const i=r.toString();let b;return this.customColors&&this.customColors.length>0&&(b=this.customColors.find(R=>R.name.toLowerCase()===i.toLowerCase())),b?b.value:this.scale(r)}}getLinearGradientStops(r,i){void 0===i&&(i=this.domain[0]);const b=Ga().domain(this.domain).range([0,1]),R=qr().domain(this.colorDomain).range([0,1]),Q=this.getColor(r),_e=b(i),Pe=this.getColor(i),lt=b(r);let vt=1,Et=_e;const Zt=[];for(Zt.push({color:Pe,offset:_e,originalOffset:_e,opacity:1});Et=(lt-R.bandwidth()).toFixed(4))break;Zt.push({color:St,offset:vn,opacity:1}),Et=vn,vt++}}if(Zt[Zt.length-1].offset<100&&Zt.push({color:Q,offset:lt,opacity:1}),lt===_e)Zt[0].offset=0,Zt[1].offset=100;else if(100!==Zt[Zt.length-1].offset)for(const St of Zt)St.offset=(St.offset-_e)/(lt-_e)*100;return Zt}}function iu(f){const r=new Set;for(const i of f)for(const b of i.series)r.add(b.name);return Array.from(r)}function Io(f,r=!0){return r&&f.every(R=>R instanceof Date)?Cn.Time:f.every(b=>"number"==typeof b)?Cn.Linear:Cn.Ordinal}function Sd(f,r,i="asc"){return f.sort((b,R)=>"asc"===i?b[r]-R[r]:R[r]-b[r])}function hp(f,r,i="asc",b){return f.sort((R,Q)=>{const _e=R[r],Pe=Q[r],lt=b.indexOf(_e),vt=b.indexOf(Pe);return"asc"===i?lt-vt:vt-lt})}function au(f,r,i="asc"){return f.sort((b,R)=>{const Q=b[r].getTime(),_e=R[r].getTime();return"asc"===i?Q>_e?1:_e>Q?-1:0:Q>_e?-1:_e>Q?1:0})}class Rc{constructor(){this.baseValue="auto",this.stacked=!1,this.normalized=!1,this.animations=!0,this.select=new e.vpe}ngOnChanges(r){this.update()}update(){let r,i;this.updateGradient();const b=Q=>{const _e=Q.name;return this.xScale(_e)};this.stacked||this.normalized?(r=Xl().x(b).y0((Q,_e)=>this.yScale(Q.d0)).y1((Q,_e)=>this.yScale(Q.d1)),i=Xl().x(b).y0(Q=>this.yScale.range()[0]).y1(Q=>this.yScale.range()[0])):(r=Xl().x(b).y0(()=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue)).y1(Q=>this.yScale(Q.value)),i=Xl().x(b).y0(Q=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue)).y1(Q=>"auto"===this.baseValue?this.yScale.range()[0]:this.yScale(this.baseValue))),r.curve(this.curve),i.curve(this.curve),this.opacity=.8;let R=this.data.series;R=this.scaleType===Cn.Linear?Sd(R,"name"):this.scaleType===Cn.Time?au(R,"name"):hp(R,"name","asc",this.xScale.domain()),this.path=r(R),this.startingPath=i(R)}updateGradient(){if(this.colors.scaleType===Cn.Linear)if(this.hasGradient=!0,this.stacked||this.normalized){const r=this.data.series.map(Q=>Q.d0),i=this.data.series.map(Q=>Q.d1),b=Math.max(...i),R=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(b,R)}else{const r=this.data.series.map(b=>b.value),i=Math.max(...r);this.gradientStops=this.colors.getLinearGradientStops(i)}else this.hasGradient=!1,this.gradientStops=void 0}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}}Rc.\u0275fac=function(r){return new(r||Rc)},Rc.\u0275cmp=e.Xpm({type:Rc,selectors:[["g","ngx-charts-area-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",baseValue:"baseValue",colors:"colors",scaleType:"scaleType",stacked:"stacked",normalized:"normalized",gradient:"gradient",curve:"curve",activeEntries:"activeEntries",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-area-series",""],decls:1,vars:12,consts:[["ngx-charts-area","",1,"area-series",3,"data","path","fill","stops","startingPath","opacity","gradient","animations"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"g",0)),2&r&&(e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.path)("fill",i.colors.getColor(i.data.name))("stops",i.gradientStops)("startingPath",i.startingPath)("opacity",i.opacity)("gradient",i.gradient||i.hasGradient)("animations",i.animations))},dependencies:[f2],encapsulation:2,changeDetection:0});class Jh extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!1,this.yAxis=!1,this.baseValue="auto",this.autoScale=!1,this.timeline=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.trackBy=(r,i)=>i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height),this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset}, ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Q=>Number(Q))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Q,_e)=>{const Pe=Q.getTime(),lt=_e.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Q,_e)=>Q-_e)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(const Q of this.results)for(const _e of Q.series)r.includes(_e.value)||r.push(_e.value);const i=[...r];this.autoScale||i.push(0),"auto"!==this.baseValue&&i.push(this.baseValue);return[this.yScaleMin?this.yScaleMin:Math.min(...i),this.yScaleMax?this.yScaleMax:Math.max(...i)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}getScaleType(r){let i=!0,b=!0;for(const R of r)l2(R)&&(i=!1),S6(R)&&(b=!1);return i?Cn.Time:b?Cn.Linear:Cn.Ordinal}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Jh.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Jh)))(i||Jh)}}(),Jh.\u0275cmp=e.Xpm({type:Jh,selectors:[["ngx-charts-area-chart"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",baseValue:"baseValue",autoScale:"autoScale",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","baseValue","colors","data","activeEntries","scaleType","gradient","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","baseValue","colors","data","scaleType","gradient","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,Vp,1,10,"g",2),e.YNc(6,ff,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,Wp,2,10,"g",4),e.YNc(9,_f,3,9,"g",5),e.qZA()(),e.YNc(10,Gp,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[".ngx-charts-outer{-webkit-animation:chartFadeIn linear .6s;animation:chartFadeIn linear .6s}@-webkit-keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\n"],encapsulation:2,changeDetection:0});class Ll extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.showXAxisLabel=!1,this.showYAxisLabel=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.yDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.seriesType=u2,this.timelineHeight=50,this.timelinePadding=10,this.trackBy=(r,i)=>i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height);for(let r=0;r{let lt=Pe.name,vt=i;return this.scaleType===Cn.Time&&(lt=lt.valueOf(),vt=vt.valueOf()),lt===vt});_e&&(R+=_e.value)}for(const Q of this.results){let _e=Q.series.find(Pe=>{let lt=Pe.name,vt=i;return this.scaleType===Cn.Time&&(lt=lt.valueOf(),vt=vt.valueOf()),lt===vt});_e?(_e.d0=b,_e.d1=b+_e.value,b+=_e.value):(_e={name:i,value:0,d0:b,d1:b},Q.series.push(_e)),R>0?(_e.d0=100*_e.d0/R,_e.d1=100*_e.d1/R):(_e.d0=0,_e.d1=0)}}this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let i=[];if(this.scaleType===Cn.Time){const b=Math.min(...r),R=Math.max(...r);i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Q,_e)=>{const Pe=Q.getTime(),lt=_e.getTime();return Pe>lt?1:lt>Pe?-1:0})}else if(this.scaleType===Cn.Linear){r=r.map(Q=>Number(Q));i=[Math.min(...r),Math.max(...r)],this.xSet=[...r].sort((Q,_e)=>Q-_e)}else i=r,this.xSet=r;return i}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Ll.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Ll)))(i||Ll)}}(),Ll.\u0275cmp=e.Xpm({type:Ll,selectors:[["ngx-charts-area-chart-normalized"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","activeEntries","gradient","normalized","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","showPercentage","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"type","xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","normalized","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,t4,1,10,"g",2),e.YNc(6,Zp,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,Yp,2,10,"g",4),e.YNc(9,ec,3,10,"g",5),e.qZA()(),e.YNc(10,mf,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class ru extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!1,this.yAxis=!1,this.timeline=!1,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.seriesType=u2}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height);for(let r=0;r{let Pe=_e.name,lt=i;return this.scaleType===Cn.Time&&(Pe=Pe.valueOf(),lt=lt.valueOf()),Pe===lt});Q?(Q.d0=b,Q.d1=b+Q.value,b+=Q.value):(Q={name:i,value:0,d0:b,d1:b},R.series.push(Q))}}this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Q=>Number(Q))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Q,_e)=>{const Pe=Q.getTime(),lt=_e.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Q,_e)=>Q-_e)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(let R=0;R{let Et=vt.name,Zt=Q;return this.scaleType===Cn.Time&&(Et=Et.valueOf(),Zt=Zt.valueOf()),Et===Zt});lt&&(_e+=lt.value)}r.push(_e)}return[this.yScaleMin?this.yScaleMin:Math.min(0,...r),this.yScaleMax?this.yScaleMax:Math.max(...r)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql():this.scaleType===Cn.Linear?b=Ga():this.scaleType===Cn.Ordinal&&(b=er().padding(.1)),b.range([0,i]).domain(r),this.roundDomains?b.nice():b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}trackBy(r,i){return`${i.name}`}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}ru.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(ru)))(i||ru)}}(),ru.\u0275cmp=e.Xpm({type:ru,selectors:[["ngx-charts-area-chart-stacked"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:11,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"area-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","activeEntries","stacked","curve","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],["ngx-charts-circle-series","",3,"type","xScale","yScale","colors","activeEntries","data","scaleType","visibleValue","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","legend","scaleType","onDomainChange"],["ngx-charts-area-series","",3,"xScale","yScale","colors","data","scaleType","gradient","stacked","curve","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,i4,1,10,"g",2),e.YNc(6,jp,1,9,"g",3),e.TgZ(7,"g"),e.YNc(8,qp,2,10,"g",4),e.YNc(9,Ph,3,10,"g",5),e.qZA()(),e.YNc(10,$p,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,Rc,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class Od{}Od.\u0275fac=function(r){return new(r||Od)},Od.\u0275mod=e.oAB({type:Od}),Od.\u0275inj=e.cJS({imports:[[Ds]]});class _2{constructor(r){this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.hasGradient=!1,this.hideBar=!1,this.element=r.nativeElement}ngOnChanges(r){r.roundEdges&&this.loadAnimation(),this.update()}update(){this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient||this.stops?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updatePathEl(),this.checkToHideBar()}loadAnimation(){this.path=this.getStartingPath(),setTimeout(this.update.bind(this),100)}updatePathEl(){const r=Ln(this.element).select(".bar"),i=this.getPath();this.animations?r.transition().duration(500).attr("d",i):r.attr("d",i)}getGradient(){return this.stops?this.stops:[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartingPath(){if(!this.animations)return this.getPath();let i,r=this.getRadius();return this.roundEdges?this.orientation===Fa.Vertical?(r=Math.min(this.height,r),i=ol(this.x,this.y+this.height,this.width,1,0,this.edges)):this.orientation===Fa.Horizontal&&(r=Math.min(this.width,r),i=ol(this.x,this.y,1,this.height,0,this.edges)):this.orientation===Fa.Vertical?i=ol(this.x,this.y+this.height,this.width,1,0,this.edges):this.orientation===Fa.Horizontal&&(i=ol(this.x,this.y,1,this.height,0,this.edges)),i}getPath(){let i,r=this.getRadius();return this.roundEdges?this.orientation===Fa.Vertical?(r=Math.min(this.height,r),i=ol(this.x,this.y,this.width,this.height,r,this.edges)):this.orientation===Fa.Horizontal&&(r=Math.min(this.width,r),i=ol(this.x,this.y,this.width,this.height,r,this.edges)):i=ol(this.x,this.y,this.width,this.height,r,this.edges),i}getRadius(){let r=0;return this.roundEdges&&this.height>5&&this.width>5&&(r=Math.floor(Math.min(5,this.height/2,this.width/2))),r}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let r=[!1,!1,!1,!1];return this.roundEdges&&(this.orientation===Fa.Vertical?r=this.data.value>0?[!0,!0,!1,!1]:[!1,!1,!0,!0]:this.orientation===Fa.Horizontal&&(r=this.data.value>0?[!1,!0,!1,!0]:[!0,!1,!0,!1])),r}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&(this.orientation===Fa.Vertical&&0===this.height||this.orientation===Fa.Horizontal&&0===this.width)}}var pr,cl;_2.\u0275fac=function(r){return new(r||_2)(e.Y36(e.SBq))},_2.\u0275cmp=e.Xpm({type:_2,selectors:[["g","ngx-charts-bar",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",orientation:"orientation",roundEdges:"roundEdges",gradient:"gradient",offset:"offset",isActive:"isActive",stops:"stops",animations:"animations",ariaLabel:"ariaLabel",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-bar",""],decls:2,vars:8,consts:[[4,"ngIf"],["stroke","none","role","img","tabIndex","-1",1,"bar",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.YNc(0,Rh,2,3,"defs",0),e.O4$(),e.TgZ(1,"path",1),e.NdJ("click",function(){return i.select.emit(i.data)}),e.qZA()),2&r&&(e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.isActive)("hidden",i.hideBar),e.uIk("d",i.path)("aria-label",i.ariaLabel)("fill",i.hasGradient?i.gradientFill:i.fill))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0}),function(f){f.Standard="standard",f.Normalized="normalized",f.Stacked="stacked"}(pr||(pr={})),function(f){f.positive="positive",f.negative="negative"}(cl||(cl={}));class Bc{constructor(r){this.dimensionsChanged=new e.vpe,this.horizontalPadding=2,this.verticalPadding=5,this.element=r.nativeElement}ngOnChanges(r){this.update()}getSize(){return{height:this.element.getBoundingClientRect().height,width:this.element.getBoundingClientRect().width,negative:this.value<0}}ngAfterViewInit(){this.dimensionsChanged.emit(this.getSize())}update(){this.valueFormatting?this.formatedValue=this.valueFormatting(this.value):this.formatedValue=Ur(this.value),"horizontal"===this.orientation?(this.x=this.barX+this.barWidth,this.value<0?(this.x=this.x-this.horizontalPadding,this.textAnchor="end"):(this.x=this.x+this.horizontalPadding,this.textAnchor="start"),this.y=this.barY+this.barHeight/2):(this.x=this.barX+this.barWidth/2,this.y=this.barY+this.barHeight,this.value<0?(this.y=this.y+this.verticalPadding,this.textAnchor="end"):(this.y=this.y-this.verticalPadding,this.textAnchor="start"),this.transform=`rotate(-45, ${this.x} , ${this.y})`)}}Bc.\u0275fac=function(r){return new(r||Bc)(e.Y36(e.SBq))},Bc.\u0275cmp=e.Xpm({type:Bc,selectors:[["g","ngx-charts-bar-label",""]],inputs:{value:"value",valueFormatting:"valueFormatting",barX:"barX",barY:"barY",barWidth:"barWidth",barHeight:"barHeight",orientation:"orientation"},outputs:{dimensionsChanged:"dimensionsChanged"},features:[e.TTD],attrs:["ngx-charts-bar-label",""],decls:2,vars:5,consts:[["alignment-baseline","middle",1,"textDataLabel"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"text",0),e._uU(1),e.qZA()),2&r&&(e.uIk("text-anchor",i.textAnchor)("transform",i.transform)("x",i.x)("y",i.y),e.xp6(1),e.hij(" ",i.formatedValue," "))},styles:[".textDataLabel[_ngcontent-%COMP%]{font-size:11px}"],changeDetection:0});class Wo{constructor(){this.type=pr.Standard,this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dataLabelWidthChanged=new e.vpe,this.barsForDataLabels=[],this.barOrientation=Fa}ngOnChanges(r){this.update()}update(){this.updateTooltipSettings();const r={[cl.positive]:0,[cl.negative]:0};let i,b;i=cl.positive,this.type===pr.Normalized&&(b=this.series.map(Q=>Q.value).reduce((Q,_e)=>Q+_e,0));const R=Math.max(this.xScale.domain()[0],0);this.bars=this.series.map(Q=>{let _e=Q.value;const Pe=this.getLabel(Q),lt=Ur(Pe),vt=this.roundEdges;i=_e>0?cl.positive:cl.negative;const Et={value:_e,label:Pe,roundEdges:vt,data:Q,formattedLabel:lt};if(Et.height=this.yScale.bandwidth(),this.type===pr.Standard)Et.width=Math.abs(this.xScale(_e)-this.xScale(R)),Et.x=_e<0?this.xScale(_e):this.xScale(R),Et.y=this.yScale(Pe);else if(this.type===pr.Stacked){const St=r[i],vn=St+_e;r[i]+=_e,Et.width=this.xScale(vn)-this.xScale(St),Et.x=this.xScale(St),Et.y=0,Et.offset0=St,Et.offset1=vn}else if(this.type===pr.Normalized){let St=r[i],vn=St+_e;r[i]+=_e,b>0?(St=100*St/b,vn=100*vn/b):(St=0,vn=0),Et.width=this.xScale(vn)-this.xScale(St),Et.x=this.xScale(St),Et.y=0,Et.offset0=St,Et.offset1=vn,_e=(vn-St).toFixed(2)+"%"}this.colors.scaleType===Cn.Ordinal?Et.color=this.colors.getColor(Pe):this.type===pr.Standard?(Et.color=this.colors.getColor(_e),Et.gradientStops=this.colors.getLinearGradientStops(_e)):(Et.color=this.colors.getColor(Et.offset1),Et.gradientStops=this.colors.getLinearGradientStops(Et.offset1,Et.offset0));let Zt=lt;return Et.ariaLabel=lt+" "+_e.toLocaleString(),null!==this.seriesName&&void 0!==this.seriesName&&(Zt=`${this.seriesName} \u2022 ${lt}`,Et.data.series=this.seriesName,Et.ariaLabel=this.seriesName+" "+Et.ariaLabel),Et.tooltipText=this.tooltipDisabled?void 0:`\n ${fs(Zt)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(_e):_e.toLocaleString()}\n `,Et}),this.updateDataLabels()}updateDataLabels(){if(this.type===pr.Stacked){this.barsForDataLabels=[];const r={};r.series=this.seriesName;const i=this.series.map(R=>R.value).reduce((R,Q)=>Q>0?R+Q:R,0),b=this.series.map(R=>R.value).reduce((R,Q)=>Q<0?R+Q:R,0);r.total=i+b,r.x=0,r.y=0,r.total>0?r.width=this.xScale(i):r.width=this.xScale(b),r.height=this.yScale.bandwidth(),this.barsForDataLabels.push(r)}else this.barsForDataLabels=this.series.map(r=>{const i={};return i.series=this.seriesName??r.label,i.total=r.value,i.x=this.xScale(0),i.y=this.yScale(r.label),i.width=this.xScale(i.total)-this.xScale(0),i.height=this.yScale.bandwidth(),i})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:Ri.Top,this.tooltipType=this.tooltipDisabled?void 0:Zs.tooltip}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.value===b.value)}getLabel(r){return r.label?r.label:r.name}trackBy(r,i){return i.label}trackDataLabelBy(r,i){return r+"#"+i.series+"#"+i.total}click(r){this.select.emit(r)}}Wo.\u0275fac=function(r){return new(r||Wo)},Wo.\u0275cmp=e.Xpm({type:Wo,selectors:[["g","ngx-charts-series-horizontal",""]],inputs:{dims:"dims",type:"type",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",tooltipDisabled:"tooltipDisabled",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",animations:"animations",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelWidthChanged:"dataLabelWidthChanged"},features:[e.TTD],attrs:["ngx-charts-series-horizontal",""],decls:2,vars:3,consts:[["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","isActive","ariaLabel","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","isActive","ariaLabel","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(r,i){1&r&&(e.YNc(0,a4,1,21,"g",0),e.YNc(1,r4,2,2,"g",1)),2&r&&(e.Q6J("ngForOf",i.bars)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",i.showDataLabel))},dependencies:[_2,Bc,t.sg,ho,t.O5],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class As extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getXScale(){this.xDomain=this.getXDomain();const r=Ga().range([0,this.dims.width]).domain(this.xDomain);return this.roundDomains?r.nice():r}getYScale(){this.yDomain=this.getYDomain();const r=this.yDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.yDomain)}getXDomain(){const r=this.results.map(R=>R.value);return[this.xScaleMin?Math.min(this.xScaleMin,...r):Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(0,...r)]}getYDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.yDomain:this.xDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return"ordinal"===r.scaleType?(r.domain=this.yDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.xDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),r.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}As.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(As)))(i||As)}}(),As.\u0275cmp=e.Xpm({type:As,selectors:[["ngx-charts-bar-horizontal"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",xScaleMax:"xScaleMax",xScaleMin:"xScaleMin",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-series-horizontal","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","activeEntries","roundEdges","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,gf,1,10,"g",2),e.YNc(3,vf,1,9,"g",3),e.TgZ(4,"g",4),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)})("dataLabelWidthChanged",function(R){return i.onDataLabelMaxWidthChanged(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(22,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("series",i.results)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("activeEntries",i.activeEntries)("roundEdges",i.roundEdges)("animations",i.animations)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("noBarWhenZero",i.noBarWhenZero))},dependencies:[Qa,ps,ts,Wo,t.O5],styles:[$r],encapsulation:2,changeDetection:0});class $h extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0},this.isSSR=!1,this.barOrientation=Fa,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupScale(){const r=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).paddingOuter(r/2).domain(this.groupDomain)}getInnerScale(){const r=this.groupScale.bandwidth(),i=this.innerDomain.length/(r/this.barPadding+1);return qr().rangeRound([0,r]).paddingInner(i).domain(this.innerDomain)}getValueScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];for(const R of this.results)for(const Q of R.series)r.includes(Q.value)||r.push(Q.value);return[Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(0,...r)]}groupTransform(r){return`translate(0, ${this.groupScale(r.label)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r,i){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),i===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}$h.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z($h)))(i||$h)}}(),$h.\u0275cmp=e.Xpm({type:$h,selectors:[["ngx-charts-bar-horizontal-2d"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",xScaleMax:"xScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:18,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","",3,"xScale","yScale","data","dims","orient"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"xScale","activeEntries","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","roundEdges","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2),e.YNc(3,yf,1,10,"g",3),e.YNc(4,s4,1,9,"g",4),e.YNc(5,Nh,2,2,"g",5),e.YNc(6,j0,2,2,"g",5),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(15,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("xScale",i.valueScale)("yScale",i.groupScale)("data",i.results)("dims",i.dims)("orient",i.barOrientation.Horizontal),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,h2,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Pd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.valueDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.barChartType=pr,this.isSSR=!1,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getYScale(){const r=this.groupDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.groupDomain)}getXScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(0, ${this.yScale(r.name)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Pd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Pd)))(i||Pd)}}(),Pd.\u0275cmp=e.Xpm({type:Pd,selectors:[["ngx-charts-bar-horizontal-normalized"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","noBarWhenZero","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,bf,1,10,"g",2),e.YNc(3,xf,1,8,"g",3),e.YNc(4,t6,2,2,"g",4),e.YNc(5,q0,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class kd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxWidth={negative:0,positive:0},this.barChartType=pr,this.isSSR=!1,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxWidth={negative:0,positive:0}),this.margin=[10,20+this.dataLabelMaxWidth.positive,10,20+this.dataLabelMaxWidth.negative],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];let i=0,b=0;for(const _e of this.results){let Pe=0,lt=0;for(const vt of _e.series)vt.value<0?Pe+=vt.value:lt+=vt.value,i=vt.valueb?vt.value:b;r.push(Pe),r.push(lt)}r.push(i),r.push(b);return[Math.min(0,...r),this.xScaleMax?Math.max(this.xScaleMax,...r):Math.max(...r)]}getYScale(){const r=this.groupDomain.length/(this.dims.height/this.barPadding+1);return qr().rangeRound([0,this.dims.height]).paddingInner(r).domain(this.groupDomain)}getXScale(){const r=Ga().range([0,this.dims.width]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(0, ${this.yScale(r.name)})`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxWidthChanged(r,i){r.size.negative?this.dataLabelMaxWidth.negative=Math.max(this.dataLabelMaxWidth.negative,r.size.width):this.dataLabelMaxWidth.positive=Math.max(this.dataLabelMaxWidth.positive,r.size.width),i===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}kd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(kd)))(i||kd)}}(),kd.\u0275cmp=e.Xpm({type:kd,selectors:[["ngx-charts-bar-horizontal-stacked"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",xScaleMax:"xScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","yAxisOffset","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-horizontal","",3,"type","xScale","yScale","colors","series","activeEntries","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","showDataLabel","dataLabelFormatting","noBarWhenZero","select","activate","deactivate","dataLabelWidthChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Ef,1,10,"g",2),e.YNc(3,C_,1,9,"g",3),e.YNc(4,i6,2,2,"g",4),e.YNc(5,Df,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Wo,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Nc{constructor(r){this.platformId=r,this.type=pr.Standard,this.tooltipDisabled=!1,this.animations=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dataLabelHeightChanged=new e.vpe,this.barsForDataLabels=[],this.barOrientation=Fa,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.update()}update(){let r;this.updateTooltipSettings(),this.series.length&&(r=this.xScale.bandwidth()),r=Math.round(r);const i=Math.max(this.yScale.domain()[0],0),b={[cl.positive]:0,[cl.negative]:0};let Q,R=cl.positive;this.type===pr.Normalized&&(Q=this.series.map(_e=>_e.value).reduce((_e,Pe)=>_e+Pe,0)),this.bars=this.series.map((_e,Pe)=>{let lt=_e.value;const vt=this.getLabel(_e),Et=Ur(vt),Zt=this.roundEdges;R=lt>0?cl.positive:cl.negative;const St={value:lt,label:vt,roundEdges:Zt,data:_e,width:r,formattedLabel:Et,height:0,x:0,y:0};if(this.type===pr.Standard)St.height=Math.abs(this.yScale(lt)-this.yScale(i)),St.x=this.xScale(vt),St.y=lt<0?this.yScale(0):this.yScale(lt);else if(this.type===pr.Stacked){const wn=b[R],Zn=wn+lt;b[R]+=lt,St.height=this.yScale(wn)-this.yScale(Zn),St.x=0,St.y=this.yScale(Zn),St.offset0=wn,St.offset1=Zn}else if(this.type===pr.Normalized){let wn=b[R],Zn=wn+lt;b[R]+=lt,Q>0?(wn=100*wn/Q,Zn=100*Zn/Q):(wn=0,Zn=0),St.height=this.yScale(wn)-this.yScale(Zn),St.x=0,St.y=this.yScale(Zn),St.offset0=wn,St.offset1=Zn,lt=(Zn-wn).toFixed(2)+"%"}this.colors.scaleType===Cn.Ordinal?St.color=this.colors.getColor(vt):this.type===pr.Standard?(St.color=this.colors.getColor(lt),St.gradientStops=this.colors.getLinearGradientStops(lt)):(St.color=this.colors.getColor(St.offset1),St.gradientStops=this.colors.getLinearGradientStops(St.offset1,St.offset0));let vn=Et;return St.ariaLabel=Et+" "+lt.toLocaleString(),null!==this.seriesName&&void 0!==this.seriesName&&(vn=`${this.seriesName} \u2022 ${Et}`,St.data.series=this.seriesName,St.ariaLabel=this.seriesName+" "+St.ariaLabel),St.tooltipText=this.tooltipDisabled?void 0:`\n ${fs(vn)}\n ${this.dataLabelFormatting?this.dataLabelFormatting(lt):lt.toLocaleString()}\n `,St}),this.updateDataLabels()}updateDataLabels(){if(this.type===pr.Stacked){this.barsForDataLabels=[];const r={};r.series=this.seriesName;const i=this.series.map(R=>R.value).reduce((R,Q)=>Q>0?R+Q:R,0),b=this.series.map(R=>R.value).reduce((R,Q)=>Q<0?R+Q:R,0);r.total=i+b,r.x=0,r.y=0,r.total>0?r.height=this.yScale(i):r.height=this.yScale(b),r.width=this.xScale.bandwidth(),this.barsForDataLabels.push(r)}else this.barsForDataLabels=this.series.map(r=>{const i={};return i.series=this.seriesName??r.label,i.total=r.value,i.x=this.xScale(r.label),i.y=this.yScale(0),i.height=this.yScale(i.total)-this.yScale(0),i.width=this.xScale.bandwidth(),i})}updateTooltipSettings(){this.tooltipPlacement=this.tooltipDisabled?void 0:Ri.Top,this.tooltipType=this.tooltipDisabled?void 0:Zs.tooltip}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.value===b.value)}onClick(r){this.select.emit(r)}getLabel(r){return r.label?r.label:r.name}trackBy(r,i){return i.label}trackDataLabelBy(r,i){return r+"#"+i.series+"#"+i.total}}Nc.\u0275fac=function(r){return new(r||Nc)(e.Y36(e.Lbi))},Nc.\u0275cmp=e.Xpm({type:Nc,selectors:[["g","ngx-charts-series-vertical",""]],inputs:{dims:"dims",type:"type",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",gradient:"gradient",activeEntries:"activeEntries",seriesName:"seriesName",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",roundEdges:"roundEdges",animations:"animations",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dataLabelHeightChanged:"dataLabelHeightChanged"},features:[e.TTD],attrs:["ngx-charts-series-vertical",""],decls:3,vars:3,consts:[[4,"ngIf"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar","","ngx-tooltip","",3,"width","height","x","y","fill","stops","data","orientation","roundEdges","gradient","ariaLabel","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","noBarWhenZero","animations","select","activate","deactivate"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bar-label","",3,"barX","barY","barWidth","barHeight","value","valueFormatting","orientation","dimensionsChanged"]],template:function(r,i){1&r&&(e.YNc(0,s6,2,2,"g",0),e.YNc(1,o4,2,2,"g",0),e.YNc(2,l4,2,2,"g",0)),2&r&&(e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR),e.xp6(1),e.Q6J("ngIf",i.showDataLabel))},dependencies:[_2,Bc,t.O5,t.sg,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class m2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0}}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getXScale(){this.xDomain=this.getXDomain();const r=this.xDomain.length/(this.dims.width/this.barPadding+1);return qr().range([0,this.dims.width]).paddingInner(r).domain(this.xDomain)}getYScale(){this.yDomain=this.getYDomain();const r=Ga().range([this.dims.height,0]).domain(this.yDomain);return this.roundDomains?r.nice():r}getXDomain(){return this.results.map(r=>r.label)}getYDomain(){const r=this.results.map(R=>R.value);let i=this.yScaleMin?Math.min(this.yScaleMin,...r):Math.min(0,...r);this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(i=Math.min(i,...this.yAxisTicks));let b=this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(0,...r);return this.yAxisTicks&&!this.yAxisTicks.some(isNaN)&&(b=Math.max(b,...this.yAxisTicks)),[i,b]}onClick(r){this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.xDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.xDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onDataLabelMaxHeightChanged(r){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),r.index===this.results.length-1&&setTimeout(()=>this.update())}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}m2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(m2)))(i||m2)}}(),m2.\u0275cmp=e.Xpm({type:m2,selectors:[["ngx-charts-bar-vertical"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",yScaleMax:"yScaleMax",yScaleMin:"yScaleMin",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:25,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-series-vertical","",3,"xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","activeEntries","roundEdges","animations","noBarWhenZero","activate","deactivate","select","dataLabelHeightChanged"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,c4,1,11,"g",2),e.YNc(3,o6,1,9,"g",3),e.TgZ(4,"g",4),e.NdJ("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)})("select",function(R){return i.onClick(R)})("dataLabelHeightChanged",function(R){return i.onDataLabelMaxHeightChanged(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(22,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("series",i.results)("dims",i.dims)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("showDataLabel",i.showDataLabel)("dataLabelFormatting",i.dataLabelFormatting)("activeEntries",i.activeEntries)("roundEdges",i.roundEdges)("animations",i.animations)("noBarWhenZero",i.noBarWhenZero))},dependencies:[Qa,ps,ts,Nc,t.O5],styles:[$r],encapsulation:2,changeDetection:0});class g2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.scaleType=Cn.Ordinal,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.groupPadding=16,this.barPadding=8,this.roundDomains=!1,this.roundEdges=!0,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0},this.isSSR=!1,this.barOrientation=Fa,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.groupScale=this.getGroupScale(),this.innerScale=this.getInnerScale(),this.valueScale=this.getValueScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}onDataLabelMaxHeightChanged(r,i){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),i===this.results.length-1&&setTimeout(()=>this.update())}getGroupScale(){const r=this.groupDomain.length/(this.dims.height/this.groupPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).paddingOuter(r/2).domain(this.groupDomain)}getInnerScale(){const r=this.groupScale.bandwidth(),i=this.innerDomain.length/(r/this.barPadding+1);return qr().rangeRound([0,r]).paddingInner(i).domain(this.innerDomain)}getValueScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];for(const R of this.results)for(const Q of R.series)r.includes(Q.value)||r.push(Q.value);return[Math.min(0,...r),this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(0,...r)]}groupTransform(r){return`translate(${this.groupScale(r.label)}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}g2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(g2)))(i||g2)}}(),g2.\u0275cmp=e.Xpm({type:g2,selectors:[["ngx-charts-bar-vertical-2d"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",scaleType:"scaleType",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",groupPadding:"groupPadding",barPadding:"barPadding",roundDomains:"roundDomains",roundEdges:"roundEdges",yScaleMax:"yScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:18,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-grid-panel-series","",3,"xScale","yScale","data","dims","orient"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"activeEntries","xScale","yScale","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","roundEdges","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2),e.YNc(3,l6,1,10,"g",3),e.YNc(4,c6,1,9,"g",4),e.YNc(5,d6,2,2,"g",5),e.qZA(),e.YNc(6,Lf,2,2,"g",5),e.qZA()),2&r&&(e.Q6J("view",e.WLB(15,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("xScale",i.groupScale)("yScale",i.valueScale)("data",i.results)("dims",i.dims)("orient",i.barOrientation.Vertical),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,h2,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class v2 extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.valueDomain=[0,100],this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.isSSR=!1,this.barChartType=pr,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getXScale(){const r=this.groupDomain.length/(this.dims.width/this.barPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).domain(this.groupDomain)}getYScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}groupTransform(r){return`translate(${this.xScale(r.name)}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}v2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(v2)))(i||v2)}}(),v2.\u0275cmp=e.Xpm({type:v2,selectors:[["ngx-charts-bar-vertical-normalized"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","seriesName","animations","noBarWhenZero","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Sf,1,9,"g",2),e.YNc(3,Of,1,9,"g",3),e.YNc(4,Pf,2,2,"g",4),e.YNc(5,a2,2,2,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class Rd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.tooltipDisabled=!1,this.showGridLines=!0,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.barPadding=8,this.roundDomains=!1,this.showDataLabel=!1,this.noBarWhenZero=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.dataLabelMaxHeight={negative:0,positive:0},this.isSSR=!1,this.barChartType=pr,this.trackBy=(r,i)=>i.name}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.showDataLabel||(this.dataLabelMaxHeight={negative:0,positive:0}),this.margin=[10+this.dataLabelMaxHeight.positive,20,10+this.dataLabelMaxHeight.negative,20],this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.showDataLabel&&(this.dims.height-=this.dataLabelMaxHeight.negative),this.formatDates(),this.groupDomain=this.getGroupDomain(),this.innerDomain=this.getInnerDomain(),this.valueDomain=this.getValueDomain(),this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]+this.dataLabelMaxHeight.negative})`}getGroupDomain(){const r=[];for(const i of this.results)r.includes(i.label)||r.push(i.label);return r}getInnerDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.label)||r.push(b.label);return r}getValueDomain(){const r=[];let i=0,b=0;for(const _e of this.results){let Pe=0,lt=0;for(const vt of _e.series)vt.value<0?Pe+=vt.value:lt+=vt.value,i=vt.valueb?vt.value:b;r.push(Pe),r.push(lt)}r.push(i),r.push(b);return[Math.min(0,...r),this.yScaleMax?Math.max(this.yScaleMax,...r):Math.max(...r)]}getXScale(){const r=this.groupDomain.length/(this.dims.width/this.barPadding+1);return qr().rangeRound([0,this.dims.width]).paddingInner(r).domain(this.groupDomain)}getYScale(){const r=Ga().range([this.dims.height,0]).domain(this.valueDomain);return this.roundDomains?r.nice():r}onDataLabelMaxHeightChanged(r,i){r.size.negative?this.dataLabelMaxHeight.negative=Math.max(this.dataLabelMaxHeight.negative,r.size.height):this.dataLabelMaxHeight.positive=Math.max(this.dataLabelMaxHeight.positive,r.size.height),i===this.results.length-1&&setTimeout(()=>this.update())}groupTransform(r){return`translate(${this.xScale(r.name)||0}, 0)`}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.innerDomain:this.valueDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.innerDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.valueDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Rd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Rd)))(i||Rd)}}(),Rd.\u0275cmp=e.Xpm({type:Rd,selectors:[["ngx-charts-bar-vertical-stacked"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",gradient:"gradient",showGridLines:"showGridLines",activeEntries:"activeEntries",schemeType:"schemeType",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",barPadding:"barPadding",roundDomains:"roundDomains",yScaleMax:"yScaleMax",showDataLabel:"showDataLabel",dataLabelFormatting:"dataLabelFormatting",noBarWhenZero:"noBarWhenZero"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"bar-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","xAxisOffset","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-series-vertical","",3,"type","xScale","yScale","activeEntries","colors","series","dims","gradient","tooltipDisabled","tooltipTemplate","showDataLabel","dataLabelFormatting","seriesName","animations","noBarWhenZero","select","activate","deactivate","dataLabelHeightChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,void 0,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,void 0,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,h6,1,10,"g",2),e.YNc(3,J0,1,9,"g",3),e.YNc(4,p6,2,2,"g",4),e.qZA(),e.YNc(5,_6,2,2,"g",4),e.qZA()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,Nc,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1,transform:"*"}),(0,u.jt)(500,(0,u.oB)({opacity:0,transform:"scale(0)"}))])])]},changeDetection:0});class y2{}y2.\u0275fac=function(r){return new(r||y2)},y2.\u0275mod=e.oAB({type:y2}),y2.\u0275inj=e.cJS({imports:[[Ds]]});class Bd{constructor(r,i){this.cd=i,this.roundEdges=!0,this.gradient=!1,this.offset=0,this.isActive=!1,this.animations=!0,this.noBarWhenZero=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.BarOrientation=Fa,this.initialized=!1,this.hasGradient=!1,this.hideBar=!1,this.nativeElm=r.nativeElement}ngOnChanges(r){this.initialized?this.update():(this.loadAnimation(),this.initialized=!0)}update(){this.boxStrokeWidth=Math.max(this.strokeWidth,1),this.whiskerStrokeWidth=Math.max(this.strokeWidth/2,1),this.medianLineWidth=1.5*this.strokeWidth,this.gradientId="grad"+Ys().toString(),this.gradientFill=`url(#${this.gradientId})`,this.gradient?(this.gradientStops=this.getGradient(),this.hasGradient=!0):this.hasGradient=!1,this.updateLineEl(),this.updatePathEl(),this.checkToHideBar(),this.maskLineId="mask"+Ys().toString(),this.maskLine=`url(#${this.maskLineId})`,this.cd&&this.cd.markForCheck()}loadAnimation(){this.boxPath=this.oldPath=this.getStartingPath(),this.oldLineCoordinates=this.getStartingLineCoordinates(),setTimeout(this.update.bind(this),100)}updatePathEl(){const r=Ln(this.nativeElm).selectAll(".bar"),i=this.getPath();this.animations?r.attr("d",this.oldPath).transition().ease(nl).duration(500).attrTween("d",this.pathTween(i,4)):r.attr("d",i),this.oldPath=i}updateLineEl(){const r=Ln(this.nativeElm).selectAll(".bar-line"),i=this.lineCoordinates,b=this.oldLineCoordinates;this.animations?r.attr("x1",(R,Q)=>b[Q].v1.x).attr("y1",(R,Q)=>b[Q].v1.y).attr("x2",(R,Q)=>b[Q].v2.x).attr("y2",(R,Q)=>b[Q].v2.y).transition().ease(nl).duration(500).attr("x1",(R,Q)=>i[Q].v1.x).attr("y1",(R,Q)=>i[Q].v1.y).attr("x2",(R,Q)=>i[Q].v2.x).attr("y2",(R,Q)=>i[Q].v2.y):r.attr("x1",(R,Q)=>i[Q].v1.x).attr("y1",(R,Q)=>i[Q].v1.y).attr("x2",(R,Q)=>i[Q].v2.x).attr("y2",(R,Q)=>i[Q].v2.y),this.oldLineCoordinates=[...i]}lineTween(r,i,b,R){return R[b][r].baseVal.value}pathTween(r,i){return function(){const b=this,R=this.cloneNode();R.setAttribute("d",r);const Q=b?.getTotalLength(),_e=R?.getTotalLength(),Pe=[0];let lt=0;const vt=i/Math.max(Q,_e);for(;lt<1;)Pe.push(lt),lt+=vt;Pe.push(1);const Et=Pe.map(Zt=>{const St=b.getPointAtLength(Zt*Q),vn=R.getPointAtLength(Zt*_e);return xt([St.x,St.y],[vn.x,vn.y])});return Zt=>Zt<1?"M"+Et.map(St=>St(Zt)).join("L"):r}}getStartingPath(){if(!this.animations)return this.getPath();const r=this.roundEdges?1:0,{x:i,y:b}=this.lineCoordinates[2].v1;return ol(i-this.width,b-1,this.width,2,r,this.edges)}getPath(){const r=this.getRadius();let i="";return i=ol(this.x,this.y,this.width,this.height,Math.min(this.height,r),this.edges),i}getStartingLineCoordinates(){if(!this.animations)return[...this.lineCoordinates];const r=K3(this.lineCoordinates);return r[1].v1.y=r[1].v2.y=r[3].v1.y=r[3].v2.y=r[0].v1.y=r[0].v2.y=r[2].v1.y,r}getRadius(){let r=0;return this.roundEdges&&this.height>5&&this.width>5&&(r=Math.floor(Math.min(5,this.height/2,this.width/2))),r}getGradient(){return[{offset:0,color:this.fill,opacity:this.getStartOpacity()},{offset:100,color:this.fill,opacity:1}]}getStartOpacity(){return this.roundEdges?.2:.5}get edges(){let r=[!1,!1,!1,!1];return this.roundEdges&&(r=[!0,!0,!0,!0]),r}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}checkToHideBar(){this.hideBar=this.noBarWhenZero&&0===this.height}}Bd.\u0275fac=function(r){return new(r||Bd)(e.Y36(e.SBq),e.Y36(e.sBO))},Bd.\u0275cmp=e.Xpm({type:Bd,selectors:[["g","ngx-charts-box",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{strokeColor:"strokeColor",strokeWidth:"strokeWidth",fill:"fill",data:"data",width:"width",height:"height",x:"x",y:"y",lineCoordinates:"lineCoordinates",roundEdges:"roundEdges",gradient:"gradient",gradientStops:"gradientStops",offset:"offset",isActive:"isActive",animations:"animations",ariaLabel:"ariaLabel",noBarWhenZero:"noBarWhenZero"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-box",""],decls:9,vars:13,consts:[["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops",4,"ngIf"],["height","100%","width","100%","fill","white","fill-opacity","1"],["fill","black","fill-opacity","1",1,"bar"],["role","img","tabIndex","-1",1,"bar",3,"click"],["class","bar-line","fill","none",3,"hidden",4,"ngFor","ngForOf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["fill","none",1,"bar-line"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"defs"),e.YNc(1,$0,1,3,"g",0),e.TgZ(2,"mask")(3,"g"),e._UZ(4,"rect",1)(5,"path",2),e.qZA()()(),e.TgZ(6,"g")(7,"path",3),e.NdJ("click",function(){return i.select.emit(i.data)}),e.qZA(),e.YNc(8,Ws,1,9,"line",4),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.uIk("id",i.maskLineId),e.xp6(3),e.uIk("d",i.boxPath),e.xp6(2),e.ekj("active",i.isActive)("hidden",i.hideBar),e.uIk("d",i.boxPath)("stroke",i.strokeColor)("stroke-width",i.boxStrokeWidth)("aria-label",i.ariaLabel)("fill",i.hasGradient?i.gradientFill:i.fill),e.xp6(1),e.Q6J("ngForOf",i.lineCoordinates))},dependencies:[ll,t.O5,t.sg],encapsulation:2,changeDetection:0});class su{constructor(){this.animations=!0,this.tooltipDisabled=!1,this.gradient=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}ngOnChanges(r){this.update()}onClick(r){this.select.emit(r)}update(){this.updateTooltipSettings();const r=this.series&&this.series.series.length?Math.round(this.xScale.bandwidth()):null,i=this.series.name;this.counts=this.series.series;const b=this.counts.map(Et=>Number(Et.value));this.whiskers=[Q1(b),r1(b)];const R=this.counts.map(Et=>Et.value).sort((Et,Zt)=>Number(Et)-Number(Zt));this.quartiles=this.getBoxQuantiles(R),this.lineCoordinates=this.getLinesCoordinates(i.toString(),this.whiskers,this.quartiles,r);const Q=this.quartiles[1],_e=Ur(i),Pe={value:Q,data:this.counts,label:i,formattedLabel:_e,width:r,height:0,x:0,y:0,roundEdges:this.roundEdges,quartiles:this.quartiles,lineCoordinates:this.lineCoordinates};Pe.height=Math.abs(this.yScale(this.quartiles[0])-this.yScale(this.quartiles[2])),Pe.x=this.xScale(i.toString()),Pe.y=this.yScale(this.quartiles[2]),Pe.ariaLabel=_e+" - Median: "+Q.toLocaleString(),this.colors.scaleType===Cn.Ordinal?Pe.color=this.colors.getColor(i):(Pe.color=this.colors.getColor(this.quartiles[1]),Pe.gradientStops=this.colors.getLinearGradientStops(this.quartiles[0],this.quartiles[2]));const vt=`\n ${fs(_e)}\n \n \u2022 Q1: ${this.quartiles[0]} \u2022 Q2: ${this.quartiles[1]} \u2022 Q3: ${this.quartiles[2]}
\n \u2022 Min: ${this.whiskers[0]} \u2022 Max: ${this.whiskers[1]}\n
`;Pe.tooltipText=this.tooltipDisabled?void 0:vt,this.tooltipTitle=this.tooltipDisabled?void 0:Pe.tooltipText,this.box=Pe}getBoxQuantiles(r){return[R0(r,.25),R0(r,.5),R0(r,.75)]}getLinesCoordinates(r,i,b,R){const _e=this.xScale(r)+R/2,Pe=Math.max(R+4*this.strokeWidth,1),lt=Math.max(R/3,1),vt=this.yScale(i[0]),Et=this.yScale(i[1]),Zt=this.yScale(b[1]);return[{v1:{x:_e,y:vt},v2:{x:_e,y:Et}},{v1:{x:_e+lt/2,y:vt},v2:{x:_e-lt/2,y:vt}},{v1:{x:_e+Pe/2,y:Zt},v2:{x:_e-Pe/2,y:Zt}},{v1:{x:_e+lt/2,y:Et},v2:{x:_e-lt/2,y:Et}}]}updateTooltipSettings(){this.tooltipDisabled?(this.tooltipPlacement=void 0,this.tooltipType=void 0):(this.tooltipPlacement||(this.tooltipPlacement=Ri.Top),this.tooltipType||(this.tooltipType=Zs.tooltip))}}su.\u0275fac=function(r){return new(r||su)},su.\u0275cmp=e.Xpm({type:su,selectors:[["g","ngx-charts-box-series",""]],inputs:{dims:"dims",series:"series",xScale:"xScale",yScale:"yScale",colors:"colors",animations:"animations",strokeColor:"strokeColor",strokeWidth:"strokeWidth",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",tooltipPlacement:"tooltipPlacement",tooltipType:"tooltipType",roundEdges:"roundEdges",gradient:"gradient"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-box-series",""],decls:1,vars:22,consts:[["ngx-charts-box","","ngx-tooltip","",3,"width","height","x","y","roundEdges","fill","gradientStops","strokeColor","strokeWidth","data","lineCoordinates","gradient","ariaLabel","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","animations","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.activate.emit(R)})("deactivate",function(R){return i.deactivate.emit(R)}),e.qZA()),2&r&&e.Q6J("@animationState","active")("@.disabled",!i.animations)("width",i.box.width)("height",i.box.height)("x",i.box.x)("y",i.box.y)("roundEdges",i.box.roundEdges)("fill",i.box.color)("gradientStops",i.box.gradientStops)("strokeColor",i.strokeColor)("strokeWidth",i.strokeWidth)("data",i.box.data)("lineCoordinates",i.box.lineCoordinates)("gradient",i.gradient)("ariaLabel",i.box.ariaLabel)("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.tooltipPlacement)("tooltipType",i.tooltipType)("tooltipTitle",i.tooltipTitle)("tooltipTemplate",i.tooltipTemplate)("tooltipContext",i.box.data)("animations",i.animations)},dependencies:[Bd,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class nc extends ja{constructor(){super(...arguments),this.legend=!1,this.legendPosition=hr.Right,this.legendTitle="Legend",this.showGridLines=!0,this.xAxis=!0,this.yAxis=!0,this.showXAxisLabel=!0,this.showYAxisLabel=!0,this.roundDomains=!1,this.roundEdges=!0,this.strokeColor="#FFFFFF",this.strokeWidth=2,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0}trackBy(r,i){return i.name}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendPosition:this.legendPosition}),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.setScales(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}setColors(){let r=[];r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}setScales(){this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height)}getXScale(r,i){return qr().domain(r.map(R=>R.toString())).rangeRound([0,i]).padding(.5)}getYScale(r,i){const b=Ga().domain(r).range([i,0]);return this.roundDomains?b.nice():b}getUniqueBoxChartXDomainValues(r){const i=new Set;for(const b of r)i.add(b.name);return Array.from(i)}getXDomain(){let r=[];const i=this.getUniqueBoxChartXDomainValues(this.results);let b,R;if("string"==typeof i[0])r=i.map(Q=>Q.toString());else if("number"==typeof i[0]){const Q=i.map(_e=>Number(_e));b=Math.min(...Q),R=Math.max(...Q),r=[b,R]}else{const Q=i.map(_e=>Number(new Date(_e)));b=Math.min(...Q),R=Math.max(...Q),r=[new Date(b),new Date(R)]}return r}getYDomain(){const r=[];for(const _e of this.results)for(const Pe of _e.series)r.indexOf(Pe.value)<0&&r.push(Pe.value);const b=[...r].map(_e=>Number(_e));return[Math.min(...b),Math.max(...b)]}getSeriesDomain(){return this.results.map(r=>`${r.name}`)}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onClick(r){this.select.emit(r)}onActivate(r){this.activate.emit(r)}onDeactivate(r){this.deactivate.emit(r)}getLegendOptions(){const r={scaleType:this.schemeType,colors:this.colors,domain:[],position:this.legendPosition,title:this.legendTitle};return this.schemeType===Cn.Ordinal?(r.domain=this.xDomain,r.colors=this.colors):(r.domain=this.yDomain,r.colors=this.colors.scale),r}}nc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(nc)))(i||nc)}}(),nc.\u0275cmp=e.Xpm({type:nc,selectors:[["ngx-charts-box-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendPosition:"legendPosition",legendTitle:"legendTitle",legendOptionsConfig:"legendOptionsConfig",showGridLines:"showGridLines",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",roundDomains:"roundDomains",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",roundEdges:"roundEdges",strokeColor:"strokeColor",strokeWidth:"strokeWidth",tooltipDisabled:"tooltipDisabled",gradient:"gradient"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:21,consts:[[3,"view","showLegend","legendOptions","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"box-chart","chart"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","dimensionsChanged"],["ngx-charts-y-axis","",3,"showGridLines","dims","yScale","showLabel","labelText","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-box-series","",3,"xScale","yScale","colors","roundEdges","strokeColor","strokeWidth","tooltipDisabled","tooltipTemplate","series","dims","animations","gradient","activate","deactivate","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("dimensionsChanged",function(R){return i.updateXAxisHeight(R)}),e.qZA(),e.TgZ(3,"g",3),e.NdJ("dimensionsChanged",function(R){return i.updateYAxisWidth(R)}),e.qZA()(),e.TgZ(4,"g"),e.YNc(5,Hh,2,12,"g",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(18,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("showGridLines",i.showGridLines)("dims",i.dims)("xScale",i.xScale)("showLabel",i.showXAxisLabel)("labelText",i.xAxisLabel),e.xp6(1),e.Q6J("showGridLines",i.showGridLines)("dims",i.dims)("yScale",i.yScale)("showLabel",i.showYAxisLabel)("labelText",i.yAxisLabel),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.results)("ngForTrackBy",i.trackBy))},dependencies:[Qa,ps,ts,su,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class Nd{}function fp(f,r,i,b,R){let Q=[];if(r===Cn.Linear&&(f=f.map(_e=>Number(_e)),i||f.push(0)),r===Cn.Time||r===Cn.Linear){Q=[b||Math.min(...f),R||Math.max(...f)]}else Q=f;return Q}function k4(f,r,i,b){switch(i){case Cn.Time:return Ql().range(r).domain(f);case Cn.Linear:{const R=Ga().range(r).domain(f);return b?R.nice():R}case Cn.Ordinal:return er().range([r[0],r[1]]).domain(f.map(R=>R.toString()));default:return}}Nd.\u0275fac=function(r){return new(r||Nd)},Nd.\u0275mod=e.oAB({type:Nd}),Nd.\u0275inj=e.cJS({imports:[[Ds]]});class D1{constructor(r){this.platformId=r,this.tooltipDisabled=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.update()}update(){this.circles=this.getCircles()}getCircles(){const r=this.data.name;return this.data.series.map((i,b)=>{if(typeof i.y<"u"&&typeof i.x<"u"){const R=i.y,Q=i.x,_e=i.r,Pe=this.rScale(_e||1),lt=Ur(i.name),vt=this.xScaleType===Cn.Linear?this.xScale(Number(Q)):this.xScale(Q),Et=this.yScaleType===Cn.Linear?this.yScale(Number(R)):this.yScale(R),Zt=this.colors.scaleType===Cn.Linear?this.colors.getColor(_e):this.colors.getColor(r),St=!this.activeEntries.length||this.isActive({name:r}),vn=St?1:.3;return{data:Object.assign({},i,{series:r,name:i.name,value:i.y,x:i.x,radius:i.r}),x:Q,y:R,r:_e,classNames:[`circle-data-${b}`],value:R,label:Q,cx:vt,cy:Et,radius:Pe,tooltipLabel:lt,color:Zt,opacity:vn,seriesName:r,isActive:St,transform:`translate(${vt},${Et})`}}}).filter(i=>void 0!==i)}getTooltipText(r){const i=typeof r.r<"u",b=r.tooltipLabel&&r.tooltipLabel.length,R=r.seriesName&&r.seriesName.length,Q=i?Ur(r.r):"",_e=this.xAxisLabel&&""!==this.xAxisLabel?`${this.xAxisLabel}:`:"",Pe=this.yAxisLabel&&""!==this.yAxisLabel?`${this.yAxisLabel}:`:"",lt=Ur(r.x),vt=Ur(r.y),Et=R&&b?`${r.seriesName} \u2022 ${r.tooltipLabel}`:r.seriesName+r.tooltipLabel;return`\n ${R||b?`${fs(Et)}`:""}\n \n ${fs(lt)}
\n ${fs(vt)}\n
\n \n ${fs(Q)}\n \n `}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isVisible(r){return this.activeEntries.length>0?this.isActive({name:r.seriesName}):0!==r.opacity}activateCircle(r){r.barVisible=!0,this.activate.emit({name:this.data.name})}deactivateCircle(r){r.barVisible=!1,this.deactivate.emit({name:this.data.name})}trackBy(r,i){return`${i.data.series} ${i.data.name}`}}D1.\u0275fac=function(r){return new(r||D1)(e.Y36(e.Lbi))},D1.\u0275cmp=e.Xpm({type:D1,selectors:[["g","ngx-charts-bubble-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",rScale:"rScale",xScaleType:"xScaleType",yScaleType:"yScaleType",colors:"colors",visibleValue:"visibleValue",activeEntries:"activeEntries",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-bubble-series",""],decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-circle","","class","circle","ngx-tooltip","",3,"cx","cy","r","fill","opacity","active","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngIf"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","pointerEvents","data","classNames","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&e.YNc(0,bd,4,3,"g",0),2&r&&e.Q6J("ngForOf",i.circles)("ngForTrackBy",i.trackBy)},dependencies:[C1,t.sg,t.O5,ho],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({opacity:0,transform:"scale(0)"}),(0,u.jt)(250,(0,u.oB)({opacity:1,transform:"scale(1)"}))])])]},changeDetection:0});class b2 extends ja{constructor(){super(...arguments),this.showGridLines=!0,this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.xAxis=!0,this.yAxis=!0,this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.maxRadius=10,this.minRadius=3,this.schemeType=Cn.Ordinal,this.tooltipDisabled=!1,this.activate=new e.vpe,this.deactivate=new e.vpe,this.scaleType=Cn.Linear,this.margin=[10,20,10,20],this.bubblePadding=[0,0,0,0],this.xAxisHeight=0,this.yAxisWidth=0,this.activeEntries=[],this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.seriesDomain=this.results.map(i=>i.name),this.rDomain=this.getRDomain(),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.transform=`translate(${this.dims.xOffset},${this.margin[0]})`;const r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.rDomain;this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors),this.data=this.results,this.minRadius=Math.max(this.minRadius,1),this.maxRadius=Math.max(this.maxRadius,1),this.rScale=this.getRScale(this.rDomain,[this.minRadius,this.maxRadius]),this.bubblePadding=[0,0,0,0],this.setScales(),this.bubblePadding=this.getBubblePadding(),this.setScales(),this.legendOptions=this.getLegendOptions(),this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}hideCircles(){this.deactivateAll()}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}getBubblePadding(){let r=0,i=0,b=this.dims.height,R=this.dims.width;for(const Q of this.data)for(const _e of Q.series){const Pe=this.rScale(_e.r),lt=this.xScaleType===Cn.Linear?this.xScale(Number(_e.x)):this.xScale(_e.x),vt=this.yScaleType===Cn.Linear?this.yScale(Number(_e.y)):this.yScale(_e.y);i=Math.max(Pe-lt,i),r=Math.max(Pe-vt,r),b=Math.max(vt+Pe,b),R=Math.max(lt+Pe,R)}return R=Math.max(R-this.dims.width,0),b=Math.max(b-this.dims.height,0),[r,R,b,i]}setScales(){let r=this.dims.width;void 0===this.xScaleMin&&void 0===this.xScaleMax&&(r-=this.bubblePadding[1]);let i=this.dims.height;void 0===this.yScaleMin&&void 0===this.yScaleMax&&(i-=this.bubblePadding[2]),this.xScale=this.getXScale(this.xDomain,r),this.yScale=this.getYScale(this.yDomain,i)}getYScale(r,i){return k4(r,[i,this.bubblePadding[0]],this.yScaleType,this.roundDomains)}getXScale(r,i){return k4(r,[this.bubblePadding[3],i],this.xScaleType,this.roundDomains)}getRScale(r,i){const b=Ga().range(i).domain(r);return this.roundDomains?b.nice():b}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],position:this.legendPosition,title:void 0};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.rDomain,r.colors=this.colors.scale),r}getXDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.x)||r.push(b.x);return this.xScaleType=Io(r),fp(r,this.xScaleType,this.autoScale,this.xScaleMin,this.xScaleMax)}getYDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.y)||r.push(b.y);return this.yScaleType=Io(r),fp(r,this.yScaleType,this.autoScale,this.yScaleMin,this.yScaleMax)}getRDomain(){let r=1/0,i=-1/0;for(const b of this.results)for(const R of b.series){const Q=Number(R.r)||1;r=Math.min(r,Q),i=Math.max(i,Q)}return[r,i]}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}trackBy(r,i){return`${i.name}`}}b2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(b2)))(i||b2)}}(),b2.\u0275cmp=e.Xpm({type:b2,selectors:[["ngx-charts-bubble-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{showGridLines:"showGridLines",legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",maxRadius:"maxRadius",minRadius:"minRadius",autoScale:"autoScale",schemeType:"schemeType",tooltipDisabled:"tooltipDisabled",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:10,vars:19,consts:[[3,"view","showLegend","activeEntries","legendOptions","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"bubble-chart","chart"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"showGridLines","yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["x","0","y","0",1,"bubble-chart-area",2,"fill","rgb(255, 0, 0)","opacity","0","cursor","auto",3,"mouseenter"],[4,"ngIf"],["ngx-charts-x-axis","",3,"showGridLines","dims","xScale","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"showGridLines","yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-bubble-series","",3,"xScale","yScale","rScale","xScaleType","yScaleType","xAxisLabel","yAxisLabel","colors","data","activeEntries","tooltipDisabled","tooltipTemplate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,xd,1,10,"g",2),e.YNc(6,_1,1,9,"g",3),e.TgZ(7,"rect",4),e.NdJ("mouseenter",function(){return i.deactivateAll()}),e.qZA(),e.YNc(8,Md,2,3,"g",5),e.YNc(9,Dd,2,3,"g",5),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(16,Ya,i.width,i.height))("showLegend",i.legend)("activeEntries",i.activeEntries)("legendOptions",i.legendOptions)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("width",i.dims.width)("height",i.dims.height),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,ps,ts,D1,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class x2{}x2.\u0275fac=function(r){return new(r||x2)},x2.\u0275mod=e.oAB({type:x2}),x2.\u0275inj=e.cJS({imports:[[Ds]]});class C2{constructor(r){this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.barOrientation=Fa,this.element=r.nativeElement}ngOnChanges(r){this.transform=`translate(${this.x} , ${this.y})`,this.startOpacity=.3,this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.gradientStops=this.getGradientStops(),this.animations&&this.loadAnimation()}getGradientStops(){return[{offset:0,color:this.fill,opacity:this.startOpacity},{offset:100,color:this.fill,opacity:1}]}loadAnimation(){Ln(this.element).select(".cell").attr("opacity",0),this.animateToCurrentForm()}animateToCurrentForm(){Ln(this.element).select(".cell").transition().duration(750).attr("opacity",1)}onClick(){this.select.emit(this.data)}onMouseEnter(){this.activate.emit(this.data)}onMouseLeave(){this.deactivate.emit(this.data)}}C2.\u0275fac=function(r){return new(r||C2)(e.Y36(e.SBq))},C2.\u0275cmp=e.Xpm({type:C2,selectors:[["g","ngx-charts-heat-map-cell",""]],hostBindings:function(r,i){1&r&&e.NdJ("mouseenter",function(){return i.onMouseEnter()})("mouseleave",function(){return i.onMouseLeave()})},inputs:{fill:"fill",x:"x",y:"y",width:"width",height:"height",data:"data",gradient:"gradient",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-heat-map-cell",""],decls:3,vars:5,consts:[[1,"cell"],[4,"ngIf"],["rx","3",1,"cell",3,"click"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,kf,2,3,"defs",1),e.TgZ(2,"rect",2),e.NdJ("click",function(){return i.onClick()}),e.qZA()()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.uIk("fill",i.gradient?i.gradientUrl:i.fill)("width",i.width)("height",i.height))},dependencies:[ll,t.O5],encapsulation:2,changeDetection:0});class ou{constructor(){this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}ngOnInit(){this.tooltipText||(this.tooltipText=this.getTooltipText)}ngOnChanges(r){this.update()}update(){this.cells=this.getCells()}getCells(){const r=[];return this.data.map(i=>{i.series.map(b=>{const R=b.value;b.series=i.name,r.push({row:i,cell:b,x:this.xScale(i.name),y:this.yScale(b.name),width:this.xScale.bandwidth(),height:this.yScale.bandwidth(),fill:this.colors.getColor(R),data:R,label:Ur(b.name),series:i.name})})}),r}getTooltipText({label:r,data:i,series:b}){return`\n ${fs(b)} \u2022 ${fs(r)}\n ${i.toLocaleString()}\n `}trackBy(r,i){return i.label}onClick(r){this.select.emit(r)}}ou.\u0275fac=function(r){return new(r||ou)},ou.\u0275cmp=e.Xpm({type:ou,selectors:[["g","ngx-charts-heat-map-cell-series",""]],inputs:{data:"data",colors:"colors",xScale:"xScale",yScale:"yScale",gradient:"gradient",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-heat-map-cell-series",""],decls:1,vars:2,consts:[["ngx-charts-heat-map-cell","","ngx-tooltip","",3,"x","y","width","height","fill","data","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-heat-map-cell","","ngx-tooltip","",3,"x","y","width","height","fill","data","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&e.YNc(0,Bf,1,18,"g",0),2&r&&e.Q6J("ngForOf",i.cells)("ngForTrackBy",i.trackBy)},dependencies:[C2,t.sg,ho],encapsulation:2,changeDetection:0});class Fc extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.innerPadding=8,this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.tooltipDisabled=!1,this.activeEntries=[],this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.scaleType=Cn.Linear}update(){if(super.update(),this.formatDates(),this.xDomain=this.getXDomain(),this.yDomain=this.getYDomain(),this.valueDomain=this.getValueDomain(),this.scaleType=Io(this.valueDomain,!1),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.scaleType,legendPosition:this.legendPosition}),this.scaleType===Cn.Linear){let r=this.min,i=this.max;this.min||(r=Math.min(0,...this.valueDomain)),this.max||(i=Math.max(...this.valueDomain)),this.valueDomain=[r,i]}this.xScale=this.getXScale(),this.yScale=this.getYScale(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.rects=this.getRects()}getXDomain(){const r=[];for(const i of this.results)r.includes(i.name)||r.push(i.name);return r}getYDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.name)||r.push(b.name);return r}getValueDomain(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.value)||r.push(b.value);return r}getDimension(r,i=0,b,R){return"string"==typeof r&&((r=r.replace("[","").replace("]","").replace("px","").replace("'","")).includes(",")&&(r=r.split(","))),Array.isArray(r)&&"number"==typeof i?this.getDimension(r[i],null,b,R):"string"==typeof r&&r.includes("%")?+r.replace("%","")/100:b/(R/+r+1)}getXScale(){const r=this.getDimension(this.innerPadding,0,this.xDomain.length,this.dims.width);return qr().rangeRound([0,this.dims.width]).domain(this.xDomain).paddingInner(r)}getYScale(){const r=this.getDimension(this.innerPadding,1,this.yDomain.length,this.dims.height);return qr().rangeRound([this.dims.height,0]).domain(this.yDomain).paddingInner(r)}getRects(){const r=[];return this.xDomain.map(i=>{this.yDomain.map(b=>{r.push({x:this.xScale(i),y:this.yScale(b),rx:3,width:this.xScale.bandwidth(),height:this.yScale.bandwidth(),fill:"rgba(200,200,200,0.03)"})})}),r}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,this.scaleType,this.valueDomain)}getLegendOptions(){return{scaleType:this.scaleType,domain:this.valueDomain,colors:this.scaleType===Cn.Ordinal?this.colors:this.colors.scale,title:this.scaleType===Cn.Ordinal?this.legendTitle:void 0,position:this.legendPosition}}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name);const Q=this.results.map(_e=>_e.series).flat().filter(_e=>b?_e.label===R.name:_e.name===R.name&&_e.series===R.series);this.activeEntries=[...Q],this.activate.emit({value:R,entries:this.activeEntries})}onDeactivate(r,i,b=!1){const R=Object.assign({},r);i&&(R.series=i.name),this.activeEntries=this.activeEntries.filter(Q=>b?Q.label!==R.name:!(Q.name===R.name&&Q.series===R.series)),this.deactivate.emit({value:R,entries:this.activeEntries})}}Fc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Fc)))(i||Fc)}}(),Fc.\u0275cmp=e.Xpm({type:Fc,selectors:[["ngx-charts-heat-map"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",gradient:"gradient",innerPadding:"innerPadding",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",min:"min",max:"max",activeEntries:"activeEntries"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:6,vars:20,consts:[[3,"view","showLegend","animations","legendOptions","legendLabelClick"],[1,"heat-map","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],[4,"ngFor","ngForOf"],["ngx-charts-heat-map-cell-series","",3,"xScale","yScale","colors","data","gradient","animations","tooltipDisabled","tooltipTemplate","tooltipText","select","activate","deactivate"],["ngx-charts-x-axis","",3,"xScale","dims","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,Nf,1,9,"g",2),e.YNc(3,zh,1,8,"g",3),e.YNc(4,Ff,1,6,"rect",4),e.TgZ(5,"g",5),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R,void 0)})("deactivate",function(R){return i.onDeactivate(R,void 0)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("animations",i.animations)("legendOptions",i.legendOptions),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngForOf",i.rects),e.xp6(1),e.Q6J("xScale",i.xScale)("yScale",i.yScale)("colors",i.colors)("data",i.results)("gradient",i.gradient)("animations",i.animations)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText))},dependencies:[Qa,ps,ts,ou,t.O5,t.sg],styles:[$r],encapsulation:2,changeDetection:0});class ic{}ic.\u0275fac=function(r){return new(r||ic)},ic.\u0275mod=e.oAB({type:ic}),ic.\u0275inj=e.cJS({imports:[[Ds]]});class M2{constructor(r,i){this.element=r,this.platformId=i,this.fill="none",this.animations=!0,this.initialized=!1,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}ngOnChanges(r){this.initialized?this.updatePathEl():(this.initialized=!0,this.initialPath=this.path)}updatePathEl(){const r=Ln(this.element.nativeElement).select(".line");this.animations?r.transition().duration(750).attr("d",this.path):r.attr("d",this.path)}}M2.\u0275fac=function(r){return new(r||M2)(e.Y36(e.SBq),e.Y36(e.Lbi))},M2.\u0275cmp=e.Xpm({type:M2,selectors:[["g","ngx-charts-line",""]],inputs:{path:"path",stroke:"stroke",data:"data",fill:"fill",animations:"animations"},features:[e.TTD],attrs:["ngx-charts-line",""],decls:2,vars:2,consts:[[4,"ngIf"],["stroke-width","1.5px",1,"line"]],template:function(r,i){1&r&&(e.YNc(0,zf,2,4,"g",0),e.YNc(1,m6,2,3,"g",0)),2&r&&(e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[t.O5],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":enter",[(0,u.oB)({strokeDasharray:2e3,strokeDashoffset:2e3}),(0,u.jt)(1e3,(0,u.oB)({strokeDashoffset:0}))])])]},changeDetection:0});class lu{constructor(){this.animations=!0,this.barOrientation=Fa}ngOnChanges(r){this.update()}update(){this.updateGradients();const r=this.sortData(this.data.series),i=this.getLineGenerator();this.path=i(r)||"";const b=this.getAreaGenerator();if(this.areaPath=b(r)||"",this.hasRange){const R=this.getRangeGenerator();this.outerPath=R(r)||""}if(this.hasGradient){this.stroke=this.gradientUrl;const R=this.data.series.map(Pe=>Pe.value),Q=Math.max(...R);Q===Math.min(...R)&&(this.stroke=this.colors.getColor(Q))}else this.stroke=this.colors.getColor(this.data.name)}getLineGenerator(){return tl().x(r=>{const i=r.name;let b;return b=this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i),b}).y(r=>this.yScale(r.value)).curve(this.curve)}getRangeGenerator(){return Xl().x(r=>{const i=r.name;let b;return b=this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i),b}).y0(r=>this.yScale("number"==typeof r.min?r.min:r.value)).y1(r=>this.yScale("number"==typeof r.max?r.max:r.value)).curve(this.curve)}getAreaGenerator(){return Xl().x(i=>{const b=i.name;return this.xScale(b)}).y0(()=>this.yScale.range()[0]).y1(i=>this.yScale(i.value)).curve(this.curve)}sortData(r){return r=this.scaleType===Cn.Linear?Sd(r,"name"):this.scaleType===Cn.Time?au(r,"name"):hp(r,"name","asc",this.xScale.domain())}updateGradients(){if(this.colors.scaleType===Cn.Linear){this.hasGradient=!0,this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`;const r=this.data.series.map(R=>R.value),i=Math.max(...r),b=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(i,b),this.areaGradientStops=this.colors.getLinearGradientStops(i)}else this.hasGradient=!1,this.gradientStops=void 0,this.areaGradientStops=void 0}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}}lu.\u0275fac=function(r){return new(r||lu)},lu.\u0275cmp=e.Xpm({type:lu,selectors:[["g","ngx-charts-line-series",""]],inputs:{data:"data",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",curve:"curve",activeEntries:"activeEntries",rangeFillOpacity:"rangeFillOpacity",hasRange:"hasRange",animations:"animations"},features:[e.TTD],attrs:["ngx-charts-line-series",""],decls:6,vars:22,consts:[["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops",4,"ngIf"],["ngx-charts-area","",1,"line-highlight",3,"data","path","fill","opacity","startOpacity","gradient","stops","animations"],["ngx-charts-line","",1,"line-series",3,"data","path","stroke","animations"],["ngx-charts-area","","class","line-series-range",3,"data","path","fill","active","inactive","opacity","animations",4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],["ngx-charts-area","",1,"line-series-range",3,"data","path","fill","opacity","animations"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g")(1,"defs"),e.YNc(2,Uf,1,3,"g",0),e.qZA(),e._UZ(3,"g",1)(4,"g",2),e.YNc(5,v6,1,9,"g",3),e.qZA()),2&r&&(e.xp6(2),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.areaPath)("fill",i.hasGradient?i.gradientUrl:i.colors.getColor(i.data.name))("opacity",.25)("startOpacity",0)("gradient",!0)("stops",i.areaGradientStops)("animations",i.animations),e.xp6(1),e.ekj("active",i.isActive(i.data))("inactive",i.isInactive(i.data)),e.Q6J("data",i.data)("path",i.path)("stroke",i.stroke)("animations",i.animations),e.xp6(1),e.Q6J("ngIf",i.hasRange))},dependencies:[ll,f2,M2,t.O5],encapsulation:2,changeDetection:0});class Fd extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.showGridLines=!0,this.curve=Ec,this.activeEntries=[],this.trimXAxisTicks=!0,this.trimYAxisTicks=!0,this.rotateXAxisTicks=!0,this.maxXAxisTickLength=16,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.showRefLines=!1,this.showRefLabels=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.timelineHeight=50,this.timelinePadding=10,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition}),this.timeline&&(this.dims.height-=this.timelineHeight+this.margin[2]+this.timelinePadding),this.xDomain=this.getXDomain(),this.filteredDomain&&(this.xDomain=this.filteredDomain),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,this.dims.width),this.yScale=this.getYScale(this.yDomain,this.dims.height),this.updateTimeline(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`,this.clipPathId="clip"+Ys().toString(),this.clipPath=`url(#${this.clipPathId})`}updateTimeline(){this.timeline&&(this.timelineWidth=this.dims.width,this.timelineXDomain=this.getXDomain(),this.timelineXScale=this.getXScale(this.timelineXDomain,this.timelineWidth),this.timelineYScale=this.getYScale(this.yDomain,this.timelineHeight),this.timelineTransform=`translate(${this.dims.xOffset}, ${-this.margin[2]})`)}getXDomain(){let r=iu(this.results);this.scaleType=Io(r);let b,R,i=[];return this.scaleType===Cn.Linear&&(r=r.map(Q=>Number(Q))),(this.scaleType===Cn.Time||this.scaleType===Cn.Linear)&&(b=this.xScaleMin?this.xScaleMin:Math.min(...r),R=this.xScaleMax?this.xScaleMax:Math.max(...r)),this.scaleType===Cn.Time?(i=[new Date(b),new Date(R)],this.xSet=[...r].sort((Q,_e)=>{const Pe=Q.getTime(),lt=_e.getTime();return Pe>lt?1:lt>Pe?-1:0})):this.scaleType===Cn.Linear?(i=[b,R],this.xSet=[...r].sort((Q,_e)=>Q-_e)):(i=r,this.xSet=r),i}getYDomain(){const r=[];for(const Q of this.results)for(const _e of Q.series)r.indexOf(_e.value)<0&&r.push(_e.value),void 0!==_e.min&&(this.hasRange=!0,r.indexOf(_e.min)<0&&r.push(_e.min)),void 0!==_e.max&&(this.hasRange=!0,r.indexOf(_e.max)<0&&r.push(_e.max));const i=[...r];this.autoScale||i.push(0);return[this.yScaleMin?this.yScaleMin:Math.min(...i),this.yScaleMax?this.yScaleMax:Math.max(...i)]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){let b;return this.scaleType===Cn.Time?b=Ql().range([0,i]).domain(r):this.scaleType===Cn.Linear?(b=Ga().range([0,i]).domain(r),this.roundDomains&&(b=b.nice())):this.scaleType===Cn.Ordinal&&(b=er().range([0,i]).padding(.1).domain(r)),b}getYScale(r,i){const b=Ga().range([i,0]).domain(r);return this.roundDomains?b.nice():b}updateDomain(r){this.filteredDomain=r,this.xDomain=this.filteredDomain,this.xScale=this.getXScale(this.xDomain,this.dims.width)}updateHoveredVertical(r){this.hoveredVertical=r.value,this.deactivateAll()}hideCircles(){this.hoveredVertical=null,this.deactivateAll()}onClick(r){this.select.emit(r)}trackBy(r,i){return`${i.name}`}setColors(){let r;r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain,this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){const r={scaleType:this.schemeType,colors:void 0,domain:[],title:void 0,position:this.legendPosition};return r.scaleType===Cn.Ordinal?(r.domain=this.seriesDomain,r.colors=this.colors,r.title=this.legendTitle):(r.domain=this.yDomain,r.colors=this.colors.scale),r}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.deactivateAll(),!(this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1)&&(this.activeEntries=[r],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}}Fd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Fd)))(i||Fd)}}(),Fd.\u0275cmp=e.Xpm({type:Fd,selectors:[["ngx-charts-line-chart"]],contentQueries:function(r,i,b){if(1&r&&(e.Suo(b,Ir,5),e.Suo(b,yd,5)),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first),e.iGM(R=e.CRH())&&(i.seriesTooltipTemplate=R.first)}},hostBindings:function(r,i){1&r&&e.NdJ("mouseleave",function(){return i.hideCircles()})},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",autoScale:"autoScale",timeline:"timeline",gradient:"gradient",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",rangeFillOpacity:"rangeFillOpacity",trimXAxisTicks:"trimXAxisTicks",trimYAxisTicks:"trimYAxisTicks",rotateXAxisTicks:"rotateXAxisTicks",maxXAxisTickLength:"maxXAxisTickLength",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",xAxisTicks:"xAxisTicks",yAxisTicks:"yAxisTicks",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",showRefLines:"showRefLines",referenceLines:"referenceLines",showRefLabels:"showRefLabels",xScaleMin:"xScaleMin",xScaleMax:"xScaleMax",yScaleMin:"yScaleMin",yScaleMax:"yScaleMax"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:12,vars:20,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"line-chart","chart"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged",4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","referenceLines","showRefLines","showRefLabels","dimensionsChanged",4,"ngIf"],[4,"ngIf"],[3,"mouseleave",4,"ngIf"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","scaleType","legend","onDomainChange",4,"ngIf"],["ngx-charts-x-axis","",3,"xScale","dims","showGridLines","showLabel","labelText","trimTicks","rotateTicks","maxTickLength","tickFormatting","ticks","dimensionsChanged"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","ticks","referenceLines","showRefLines","showRefLabels","dimensionsChanged"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-line-series","",3,"xScale","yScale","colors","data","activeEntries","scaleType","curve","rangeFillOpacity","hasRange","animations"],[3,"mouseleave"],["ngx-charts-tooltip-area","",3,"dims","xSet","xScale","yScale","results","colors","tooltipDisabled","tooltipTemplate","hover"],[4,"ngFor","ngForOf"],["ngx-charts-circle-series","",3,"xScale","yScale","colors","data","scaleType","visibleValue","activeEntries","tooltipDisabled","tooltipTemplate","select","activate","deactivate"],["ngx-charts-timeline","",3,"results","view","height","scheme","customColors","scaleType","legend","onDomainChange"],["ngx-charts-line-series","",3,"xScale","yScale","colors","data","scaleType","curve","hasRange","animations"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"defs")(2,"clipPath"),e._UZ(3,"rect"),e.qZA()(),e.TgZ(4,"g",1),e.YNc(5,f4,1,10,"g",2),e.YNc(6,p4,1,12,"g",3),e.TgZ(7,"g"),e.YNc(8,y6,2,2,"g",4),e.YNc(9,Uh,2,2,"g",4),e.YNc(10,b6,3,9,"g",5),e.qZA()(),e.YNc(11,Vh,2,13,"g",6),e.qZA()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(2),e.uIk("id",i.clipPathId),e.xp6(1),e.uIk("width",i.dims.width+10)("height",i.dims.height+10)("transform","translate(-5, -5)"),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.uIk("clip-path",i.clipPath),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR),e.xp6(1),e.Q6J("ngIf",!i.tooltipDisabled),e.xp6(1),e.Q6J("ngIf",i.timeline&&"ordinal"!=i.scaleType))},dependencies:[Qa,ps,ts,lu,tc,Pc,Il,t.O5,t.sg],styles:[$r],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class A1{}A1.\u0275fac=function(r){return new(r||A1)},A1.\u0275mod=e.oAB({type:A1}),A1.\u0275inj=e.cJS({imports:[[Ds]]});class E2{constructor(r){this.platformId=r,this.animations=!0,this.labelTrim=!0,this.labelTrimSize=10,this.trimLabel=wl}ngOnChanges(r){this.setTransforms(),this.update()}setTransforms(){if((0,t.PM)(this.platformId))this.styleTransform=`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=`translate(${this.textX},${this.textY})`,this.textTransition=this.animations?"transform 0.75s":null;else{const r=/(edge|msie|trident)/i.test(navigator.userAgent);this.styleTransform=r?null:`translate3d(${this.textX}px,${this.textY}px, 0)`,this.attrTransform=r?`translate(${this.textX},${this.textY})`:null,this.textTransition=r||!this.animations?null:"transform 0.75s"}}update(){let r=this.radius;this.explodeSlices&&(r=this.radius*this.value/this.max);const b=hd().innerRadius(r).outerRadius(r).centroid(this.data);let R=this.data.pos[1]/b[1];(0===this.data.pos[1]||0===b[1])&&(R=1);const Q=[R*b[0],R*b[1]];this.line=`M${b}L${Q}L${this.data.pos}`}get textX(){return this.data.pos[0]}get textY(){return this.data.pos[1]}textAnchor(){return this.midAngle(this.data){const Pe=this.getAngle(_e),lt=this.getRadius(_e),vt=_e.value,Et=this.colors.getColor(R?Math.abs(vt):b);return{data:Object.assign({},_e,{series:b,value:vt,name:_e.name}),cx:lt*Math.sin(Pe),cy:-lt*Math.cos(Pe),value:vt,color:Et,label:_e.name}}),this.active=this.isActive(this.data),this.inactive=this.isInactive(this.data),this.tooltipText=this.tooltipText||(_e=>this.defaultTooltipText(_e))}getAngle(r){const i=r.name;return this.scaleType===Cn.Time?this.xScale(i):this.scaleType===Cn.Linear?this.xScale(Number(i)):this.xScale(i)}getRadius(r){return this.yScale(r.value)}getLineGenerator(){return V0().angle(r=>this.getAngle(r)).radius(r=>this.getRadius(r)).curve(this.curve)}sortData(r){return this.scaleType===Cn.Linear?Sd(r,"name"):this.scaleType===Cn.Time?au(r,"name"):hp(r,"name","asc",this.xScale.domain())}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name)}isInactive(r){return!(!this.activeEntries||0===this.activeEntries.length)&&void 0===this.activeEntries.find(b=>r.name===b.name)}defaultTooltipText({label:r,value:i}){return`\n ${fs(this.data.name)} \u2022 ${fs(r)}\n ${i.toLocaleString()}\n `}updateGradients(){if(this.hasGradient=this.gradient||this.colors.scaleType===Cn.Linear,this.hasGradient)if(this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.colors.scaleType===Cn.Linear){const r=this.data.series.map(R=>R.value),i=Math.max(...r),b=Math.min(...r);this.gradientStops=this.colors.getLinearGradientStops(i,b)}else this.gradientStops=void 0}}Hd.\u0275fac=function(r){return new(r||Hd)},Hd.\u0275cmp=e.Xpm({type:Hd,selectors:[["g","ngx-charts-polar-series",""]],inputs:{name:"name",data:"data",xScale:"xScale",yScale:"yScale",colors:"colors",scaleType:"scaleType",curve:"curve",activeEntries:"activeEntries",rangeFillOpacity:"rangeFillOpacity",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",gradient:"gradient",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-polar-series",""],decls:5,vars:11,consts:[[1,"polar-charts-series"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity","endOpacity","stops",4,"ngIf"],["ngx-charts-line","",1,"polar-series-path",3,"path","stroke","fill","animations"],["ngx-charts-circle","","class","circle","ngx-tooltip","",3,"cx","cy","r","fill","opacity","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate",4,"ngFor","ngForOf"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity","endOpacity","stops"],["ngx-charts-circle","","ngx-tooltip","",1,"circle",3,"cx","cy","r","fill","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0)(1,"defs"),e.YNc(2,Wh,1,5,"g",1),e.qZA(),e._UZ(3,"g",2),e.YNc(4,Vf,1,12,"g",3),e.qZA()),2&r&&(e.xp6(2),e.Q6J("ngIf",i.hasGradient),e.xp6(1),e.ekj("active",i.active)("inactive",i.inactive),e.Q6J("path",i.path)("stroke",i.hasGradient?i.gradientUrl:i.seriesColor)("fill",i.hasGradient?i.gradientUrl:i.seriesColor)("animations",i.animations),e.uIk("fill-opacity",i.rangeFillOpacity),e.xp6(1),e.Q6J("ngForOf",i.circles))},dependencies:[M1,M2,C1,t.O5,t.sg,ho],encapsulation:2,changeDetection:0});const pp=2*Math.PI;class zd extends ja{constructor(){super(...arguments),this.legendTitle="Legend",this.legendPosition=hr.Right,this.showGridLines=!0,this.curve=_d,this.activeEntries=[],this.rangeFillOpacity=.15,this.trimYAxisTicks=!0,this.maxYAxisTickLength=16,this.roundDomains=!1,this.tooltipDisabled=!1,this.showSeriesOnHover=!0,this.gradient=!1,this.yAxisMinScale=0,this.labelTrim=!0,this.labelTrimSize=10,this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[10,20,10,20],this.xAxisHeight=0,this.yAxisWidth=0,this.orientation=es,this.isSSR=!1}ngOnInit(){(0,t.PM)(this.platformId)&&(this.isSSR=!0)}update(){super.update(),this.setDims(),this.setScales(),this.setColors(),this.legendOptions=this.getLegendOptions(),this.setTicks()}setDims(){this.dims=fr({width:this.width,height:this.height,margins:this.margin,showXAxis:this.xAxis,showYAxis:this.yAxis,xAxisHeight:this.xAxisHeight,yAxisWidth:this.yAxisWidth,showXLabel:this.showXAxisLabel,showYLabel:this.showYAxisLabel,showLegend:this.legend,legendType:this.schemeType,legendPosition:this.legendPosition});const r=Math.floor(this.dims.width/2),i=Math.floor(this.dims.height/2),b=this.outerRadius=Math.min(i/1.5,r/1.5),R=Math.max(0,i-b);this.yAxisDims={...this.dims,width:r},this.transform=`translate(${this.dims.xOffset}, ${this.margin[0]})`,this.transformYAxis=`translate(0, ${R})`,this.labelOffset=this.dims.height+40,this.transformPlot=`translate(${r}, ${i})`}setScales(){const r=this.getXValues();this.scaleType=Io(r),this.xDomain=this.filteredDomain||this.getXDomain(r),this.yDomain=this.getYDomain(),this.seriesDomain=this.getSeriesDomain(),this.xScale=this.getXScale(this.xDomain,pp),this.yScale=this.getYScale(this.yDomain,this.outerRadius),this.yAxisScale=this.getYScale(this.yDomain.reverse(),this.outerRadius)}setTicks(){let r;r=this.xAxisTickFormatting?this.xAxisTickFormatting:this.xScale.tickFormat?this.xScale.tickFormat.apply(this.xScale,[5]):Q=>l2(Q)?Q.toLocaleDateString():Q.toLocaleString();const i=this.outerRadius;this.thetaTicks=this.xDomain.map(Q=>{const _e=this.xScale(Q),Pe=1.1*i*(_e>Math.PI?-1:1),lt=r(Q),vt=[i*Math.sin(_e),-i*Math.cos(_e)],Et=[Pe,1.1*vt[1]];return{innerRadius:0,outerRadius:i,startAngle:_e,endAngle:_e,value:i,label:lt,startPos:vt,pos:Et}});for(let Q=0;Q0){const vt=10-Math.abs(lt.pos[1]-_e.pos[1]);vt>0&&(lt.pos[1]+=Math.sign(lt.pos[0])*vt)}}}this.radiusTicks=this.yAxisScale.ticks(Math.floor(this.dims.height/50)).map(Q=>this.yScale(Q))}getXValues(){const r=[];for(const i of this.results)for(const b of i.series)r.includes(b.name)||r.push(b.name);return r}getXDomain(r=this.getXValues()){if(this.scaleType===Cn.Time){return[Math.min(...r),Math.max(...r)]}if(this.scaleType===Cn.Linear){r=r.map(R=>Number(R));return[Math.min(...r),Math.max(...r)]}return r}getYValues(){const r=[];for(const i of this.results)for(const b of i.series)r.indexOf(b.value)<0&&r.push(b.value),void 0!==b.min&&r.indexOf(b.min)<0&&r.push(b.min),void 0!==b.max&&r.indexOf(b.max)<0&&r.push(b.max);return r}getYDomain(r=this.getYValues()){let i=Math.min(...r);const b=Math.max(this.yAxisMinScale,...r);return i=Math.max(0,i),this.autoScale||(i=Math.min(0,i)),[i,b]}getSeriesDomain(){return this.results.map(r=>r.name)}getXScale(r,i){switch(this.scaleType){case Cn.Time:return Ql().range([0,i]).domain(r);case Cn.Linear:const b=Ga().range([0,i]).domain(r);return this.roundDomains?b.nice():b;default:return er().range([0,i-pp/r.length]).padding(0).domain(r)}}getYScale(r,i){const b=Ga().range([0,i]).domain(r);return this.roundDomains?b.nice():b}onClick(r,i){i&&(r.series=i.name),this.select.emit(r)}setColors(){const r=this.schemeType===Cn.Ordinal?this.seriesDomain:this.yDomain.reverse();this.colors=new Lr(this.scheme,this.schemeType,r,this.customColors)}getLegendOptions(){return this.schemeType===Cn.Ordinal?{scaleType:this.schemeType,colors:this.colors,domain:this.seriesDomain,title:this.legendTitle,position:this.legendPosition}:{scaleType:this.schemeType,colors:this.colors.scale,domain:this.yDomain,title:void 0,position:this.legendPosition}}updateYAxisWidth({width:r}){this.yAxisWidth=r,this.update()}updateXAxisHeight({height:r}){this.xAxisHeight=r,this.update()}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=this.showSeriesOnHover?[r,...this.activeEntries]:this.activeEntries,this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}deactivateAll(){this.activeEntries=[...this.activeEntries];for(const r of this.activeEntries)this.deactivate.emit({value:r,entries:[]});this.activeEntries=[]}trackBy(r,i){return`${i.name}`}}zd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(zd)))(i||zd)}}(),zd.\u0275cmp=e.Xpm({type:zd,selectors:[["ngx-charts-polar-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",xAxis:"xAxis",yAxis:"yAxis",showXAxisLabel:"showXAxisLabel",showYAxisLabel:"showYAxisLabel",xAxisLabel:"xAxisLabel",yAxisLabel:"yAxisLabel",autoScale:"autoScale",showGridLines:"showGridLines",curve:"curve",activeEntries:"activeEntries",schemeType:"schemeType",rangeFillOpacity:"rangeFillOpacity",trimYAxisTicks:"trimYAxisTicks",maxYAxisTickLength:"maxYAxisTickLength",xAxisTickFormatting:"xAxisTickFormatting",yAxisTickFormatting:"yAxisTickFormatting",roundDomains:"roundDomains",tooltipDisabled:"tooltipDisabled",showSeriesOnHover:"showSeriesOnHover",gradient:"gradient",yAxisMinScale:"yAxisMinScale",labelTrim:"labelTrim",labelTrimSize:"labelTrimSize"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:10,vars:17,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"polar-chart","chart"],["cx","0","cy","0",1,"polar-chart-background"],[4,"ngIf"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","dimensionsChanged",4,"ngIf"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width",4,"ngIf"],["class","gridline-path radial-gridline-path","cx","0","cy","0",4,"ngFor","ngForOf"],["cx","0","cy","0",1,"gridline-path","radial-gridline-path"],["ngx-charts-pie-label","",3,"data","radius","label","max","value","explodeSlices","animations","labelTrim","labelTrimSize",4,"ngFor","ngForOf"],["ngx-charts-pie-label","",3,"data","radius","label","max","value","explodeSlices","animations","labelTrim","labelTrimSize"],["ngx-charts-y-axis","",3,"yScale","dims","showGridLines","showLabel","labelText","trimTicks","maxTickLength","tickFormatting","dimensionsChanged"],["ngx-charts-axis-label","",3,"label","offset","orient","height","width"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-polar-series","",3,"gradient","xScale","yScale","colors","data","activeEntries","scaleType","curve","rangeFillOpacity","animations","tooltipDisabled","tooltipTemplate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g"),e._UZ(3,"circle",2),e.YNc(4,Kh,2,1,"g",3),e.YNc(5,x6,2,1,"g",3),e.qZA(),e.YNc(6,b4,1,9,"g",4),e.YNc(7,Kf,1,5,"g",5),e.YNc(8,Zf,2,3,"g",3),e.YNc(9,x4,2,3,"g",3),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(14,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.uIk("transform",i.transformPlot),e.xp6(1),e.uIk("r",i.outerRadius),e.xp6(1),e.Q6J("ngIf",i.showGridLines),e.xp6(1),e.Q6J("ngIf",i.xAxis),e.xp6(1),e.Q6J("ngIf",i.yAxis),e.xp6(1),e.Q6J("ngIf",i.xAxis&&i.showXAxisLabel),e.xp6(1),e.Q6J("ngIf",!i.isSSR),e.xp6(1),e.Q6J("ngIf",i.isSSR))},dependencies:[Qa,E2,ts,Oc,Hd,t.O5,t.sg],styles:[$r,".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\n",".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{stroke-dasharray:10 10;fill:none}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area,.polar-series-path{pointer-events:none}\n"],encapsulation:2,data:{animation:[(0,u.X$)("animationState",[(0,u.eR)(":leave",[(0,u.oB)({opacity:1}),(0,u.jt)(500,(0,u.oB)({opacity:0}))])])]},changeDetection:0});class T1{constructor(r){this.startAngle=0,this.endAngle=2*Math.PI,this.cornerRadius=0,this.explodeSlices=!1,this.gradient=!1,this.animate=!0,this.pointerEvents=!0,this.isActive=!1,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dblclick=new e.vpe,this.barOrientation=Fa,this.initialized=!1,this.element=r.nativeElement}ngOnChanges(r){this.update()}getGradient(){return this.gradient?this.gradientFill:this.fill}getPointerEvents(){return this.pointerEvents?"auto":"none"}update(){const r=this.calculateArc();this.startOpacity=.5,this.radialGradientId="linearGrad"+Ys().toString(),this.gradientFill=`url(#${this.radialGradientId})`,this.animate?this.initialized?this.updateAnimation():(this.loadAnimation(),this.initialized=!0):this.path=r.startAngle(this.startAngle).endAngle(this.endAngle)()}calculateArc(){let r=this.outerRadius;return this.explodeSlices&&0===this.innerRadius&&(r=this.outerRadius*this.value/this.max),hd().innerRadius(this.innerRadius).outerRadius(r).cornerRadius(this.cornerRadius)}loadAnimation(){const r=Ln(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),i=this.calculateArc();r.transition().attrTween("d",function(b){this._current=this._current||b;const R=Object.assign({},b);R.endAngle=R.startAngle;const Q=xt(R,R);return this._current=Q(0),function(_e){return i(Q(_e))}}).transition().duration(750).attrTween("d",function(b){this._current=this._current||b;const R=xt(this._current,b);return this._current=R(0),function(Q){return i(R(Q))}})}updateAnimation(){const r=Ln(this.element).selectAll(".arc").data([{startAngle:this.startAngle,endAngle:this.endAngle}]),i=this.calculateArc();r.transition().duration(750).attrTween("d",function(b){this._current=this._current||b;const R=xt(this._current,b);return this._current=R(0),function(Q){return i(R(Q))}})}onClick(){clearTimeout(this._timeout),this._timeout=setTimeout(()=>this.select.emit(this.data),200)}onDblClick(r){r.preventDefault(),r.stopPropagation(),clearTimeout(this._timeout),this.dblclick.emit({data:this.data,nativeEvent:r})}}T1.\u0275fac=function(r){return new(r||T1)(e.Y36(e.SBq))},T1.\u0275cmp=e.Xpm({type:T1,selectors:[["g","ngx-charts-pie-arc",""]],inputs:{fill:"fill",startAngle:"startAngle",endAngle:"endAngle",innerRadius:"innerRadius",outerRadius:"outerRadius",cornerRadius:"cornerRadius",value:"value",max:"max",data:"data",explodeSlices:"explodeSlices",gradient:"gradient",animate:"animate",pointerEvents:"pointerEvents",isActive:"isActive"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.TTD],attrs:["ngx-charts-pie-arc",""],decls:3,vars:7,consts:[[1,"arc-group"],[4,"ngIf"],[1,"arc",3,"click","dblclick","mouseenter","mouseleave"],["ngx-charts-svg-radial-gradient","",3,"color","name","startOpacity"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,C4,2,3,"defs",1),e.TgZ(2,"path",2),e.NdJ("click",function(){return i.onClick()})("dblclick",function(R){return i.onDblClick(R)})("mouseenter",function(){return i.activate.emit(i.data)})("mouseleave",function(){return i.deactivate.emit(i.data)}),e.qZA()()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.Udp("pointer-events",i.getPointerEvents()),e.ekj("active",i.isActive),e.uIk("d",i.path)("fill",i.getGradient()))},dependencies:[M1,t.O5],encapsulation:2,changeDetection:0});class Ud{constructor(){this.series=[],this.innerRadius=60,this.outerRadius=80,this.trimLabels=!0,this.maxLabelLength=10,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.dblclick=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}ngOnChanges(r){this.update()}update(){const i=fh().value(b=>b.value).sort(null)(this.series);this.max=r1(i,b=>b.value),this.data=this.calculateLabelPositions(i),this.tooltipText=this.tooltipText||this.defaultTooltipText}midAngle(r){return r.startAngle+(r.endAngle-r.startAngle)/2}outerArc(){return hd().innerRadius(1.5*this.outerRadius).outerRadius(1.5*this.outerRadius)}calculateLabelPositions(r){const R=r;R.forEach(Q=>{Q.pos=this.outerArc().centroid(Q),Q.pos[0]=1.5*this.outerRadius*(this.midAngle(Q)0){const vt=10-Math.abs(lt.pos[1]-_e.pos[1]);vt>0&&(lt.pos[1]+=Math.sign(lt.pos[0])*vt)}}}return R}labelVisible(r){return this.showLabels&&r.endAngle-r.startAngle>Math.PI/30}getTooltipTitle(r){return this.tooltipTemplate?void 0:this.tooltipText(r)}labelText(r){return this.labelFormatting?this.labelFormatting(r.data.name):this.label(r)}label(r){return Ur(r.data.name)}defaultTooltipText(r){const i=this.label(r),b=Ur(r.data.value);return`\n ${fs(i)}\n ${b}\n `}color(r){return this.colors.getColor(this.label(r))}trackBy(r,i){return i.data.name}onClick(r){this.select.emit(r)}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.series===b.series)}}Ud.\u0275fac=function(r){return new(r||Ud)},Ud.\u0275cmp=e.Xpm({type:Ud,selectors:[["g","ngx-charts-pie-series",""]],inputs:{colors:"colors",series:"series",dims:"dims",innerRadius:"innerRadius",outerRadius:"outerRadius",explodeSlices:"explodeSlices",showLabels:"showLabels",gradient:"gradient",activeEntries:"activeEntries",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate",dblclick:"dblclick"},features:[e.TTD],attrs:["ngx-charts-pie-series",""],decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations",4,"ngIf"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","gradient","data","max","explodeSlices","isActive","animate","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate","dblclick"],["ngx-charts-pie-label","",3,"data","radius","color","label","labelTrim","labelTrimSize","max","value","explodeSlices","animations"]],template:function(r,i){1&r&&e.YNc(0,E4,3,19,"g",0),2&r&&e.Q6J("ngForOf",i.data)("ngForTrackBy",i.trackBy)},dependencies:[E2,T1,t.sg,t.O5,ho],encapsulation:2,changeDetection:0});class D2 extends ja{constructor(){super(...arguments),this.activeEntries=[],this.tooltipDisabled=!1,this.label="Total",this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[20,20,20,20]}update(){super.update(),this.dims=fr({width:4*this.width/12,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors();const r=this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.legendWidth=this.width-this.dims.width-this.margin[1],this.outerRadius=Math.min(this.dims.width,this.dims.height)/2.5,this.innerRadius=.75*this.outerRadius,this.transform=`translate(${r} , ${i})`}getDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}D2.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(D2)))(i||D2)}}(),D2.\u0275cmp=e.Xpm({type:D2,selectors:[["ngx-charts-advanced-pie-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",valueFormatting:"valueFormatting",nameFormatting:"nameFormatting",percentageFormatting:"percentageFormatting"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:7,vars:37,consts:[[1,"advanced-pie","chart"],[3,"view","showLegend","animations"],[1,"pie","chart"],["ngx-charts-pie-series","",3,"colors","series","innerRadius","activeEntries","outerRadius","gradient","tooltipDisabled","tooltipTemplate","tooltipText","animations","select","activate","deactivate"],[1,"advanced-pie-legend-wrapper"],[3,"data","colors","width","label","animations","valueFormatting","labelFormatting","percentageFormatting","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"div")(1,"div",0)(2,"ngx-charts-chart",1),e.O4$(),e.TgZ(3,"g",2)(4,"g",3),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)}),e.qZA()()()(),e.kcU(),e.TgZ(5,"div",4)(6,"ngx-charts-advanced-legend",5),e.NdJ("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R,!0)})("deactivate",function(R){return i.onDeactivate(R,!0)}),e.qZA()()()),2&r&&(e.Udp("width",i.width,"px")("height",i.height,"px"),e.xp6(1),e.Udp("width",i.dims.width,"px")("height",i.dims.height,"px"),e.xp6(1),e.Q6J("view",e.WLB(34,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("series",i.results)("innerRadius",i.innerRadius)("activeEntries",i.activeEntries)("outerRadius",i.outerRadius)("gradient",i.gradient)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText)("animations",i.animations),e.xp6(1),e.Udp("width",i.width-i.dims.width,"px")("height",i.height,"px"),e.xp6(1),e.Q6J("data",i.results)("colors",i.colors)("width",i.width-i.dims.width-i.margin[1])("label",i.label)("animations",i.animations)("valueFormatting",i.valueFormatting)("labelFormatting",i.nameFormatting)("percentageFormatting",i.percentageFormatting))},dependencies:[Qa,Ud,p2],styles:[$r,".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\n"],encapsulation:2,changeDetection:0});class e3 extends ja{constructor(){super(...arguments),this.labels=!1,this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.explodeSlices=!1,this.doughnut=!1,this.arcWidth=.25,this.activeEntries=[],this.tooltipDisabled=!1,this.trimLabels=!0,this.maxLabelLength=10,this.dblclick=new e.vpe,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe}update(){super.update(),this.labels&&this.hasNoOptionalMarginsSet()?this.margins=[30,80,30,80]:!this.labels&&this.hasNoOptionalMarginsSet()&&(this.margins=[20,20,20,20]),this.dims=fr({width:this.width,height:this.height,margins:this.margins,showLegend:this.legend,legendPosition:this.legendPosition}),this.formatDates();const r=this.margins[3]+this.dims.width/2,i=this.margins[0]+this.dims.height/2;this.translation=`translate(${r}, ${i})`,this.outerRadius=Math.min(this.dims.width,this.dims.height),this.labels?this.outerRadius/=3:this.outerRadius/=2,this.innerRadius=0,this.doughnut&&(this.innerRadius=this.outerRadius*(1-this.arcWidth)),this.domain=this.getDomain(),this.data=this.results.sort((b,R)=>this.domain.indexOf(b.name)-this.domain.indexOf(R.name)),this.setColors(),this.legendOptions=this.getLegendOptions()}getDomain(){return this.results.map(r=>r.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}getLegendOptions(){return{scaleType:Cn.Ordinal,domain:this.domain,colors:this.colors,title:this.legendTitle,position:this.legendPosition}}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}hasNoOptionalMarginsSet(){return!this.margins||this.margins.length<=0}}function O6(f,r,i){let b=1,R=r;const Q=f.width;if(Q>i)for(;Q/Rr?r.value:0).reduce((r,i)=>r+i,0)}(r),wn=R.bandwidth(),Zn=Q.bandwidth();for(let _n=0;_n0?St[_n].data.value/vn:0,St[_n].data.total=vn;return St}e3.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(e3)))(i||e3)}}(),e3.\u0275cmp=e.Xpm({type:e3,selectors:[["ngx-charts-pie-chart"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{labels:"labels",legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",explodeSlices:"explodeSlices",doughnut:"doughnut",arcWidth:"arcWidth",gradient:"gradient",activeEntries:"activeEntries",tooltipDisabled:"tooltipDisabled",labelFormatting:"labelFormatting",trimLabels:"trimLabels",maxLabelLength:"maxLabelLength",tooltipText:"tooltipText",margins:"margins"},outputs:{dblclick:"dblclick",select:"select",activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:3,vars:24,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelActivate","legendLabelDeactivate","legendLabelClick"],[1,"pie-chart","chart"],["ngx-charts-pie-series","",3,"colors","series","showLabels","labelFormatting","trimLabels","maxLabelLength","activeEntries","innerRadius","outerRadius","explodeSlices","gradient","animations","tooltipDisabled","tooltipTemplate","tooltipText","dblclick","select","activate","deactivate"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelActivate",function(R){return i.onActivate(R,!0)})("legendLabelDeactivate",function(R){return i.onDeactivate(R,!0)})("legendLabelClick",function(R){return i.onClick(R)}),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("dblclick",function(R){return i.dblclick.emit(R)})("select",function(R){return i.onClick(R)})("activate",function(R){return i.onActivate(R)})("deactivate",function(R){return i.onDeactivate(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(21,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.translation),e.xp6(1),e.Q6J("colors",i.colors)("series",i.data)("showLabels",i.labels)("labelFormatting",i.labelFormatting)("trimLabels",i.trimLabels)("maxLabelLength",i.maxLabelLength)("activeEntries",i.activeEntries)("innerRadius",i.innerRadius)("outerRadius",i.outerRadius)("explodeSlices",i.explodeSlices)("gradient",i.gradient)("animations",i.animations)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("tooltipText",i.tooltipText))},dependencies:[Qa,Ud],styles:[$r,".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\n"],encapsulation:2,changeDetection:0});class cu{constructor(r){this.innerRadius=70,this.outerRadius=80,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.element=r.nativeElement}ngOnChanges(r){this.update()}update(){this.layout=fh().value(r=>r.data.value).sort(null),this.arcs=this.getArcs()}getArcs(){return this.layout(this.data).map((r,i)=>{const b=r.data.data.name,R=r.data.data.other;0===i&&(r.startAngle=0);const Q=this.colors(b);return{data:r.data.data,class:"arc arc"+i,fill:Q,startAngle:R?0:r.startAngle,endAngle:r.endAngle,animate:this.animations&&!R,pointerEvents:!R}})}onClick(r){this.select.emit(this.data[0].data)}trackBy(r,i){return i.data.name}label(r){return r.data.name}color(r){return this.colors(this.label(r))}}cu.\u0275fac=function(r){return new(r||cu)(e.Y36(e.SBq))},cu.\u0275cmp=e.Xpm({type:cu,selectors:[["g","ngx-charts-pie-grid-series",""]],inputs:{colors:"colors",data:"data",innerRadius:"innerRadius",outerRadius:"outerRadius",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},features:[e.TTD],attrs:["ngx-charts-pie-grid-series",""],decls:2,vars:2,consts:[[1,"pie-grid-arcs"],["ngx-charts-pie-arc","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","data","gradient","pointerEvents","animate","select","activate","deactivate",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-pie-arc","",3,"startAngle","endAngle","innerRadius","outerRadius","fill","value","data","gradient","pointerEvents","animate","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.YNc(1,qf,1,11,"g",1),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngForOf",i.arcs)("ngForTrackBy",i.trackBy))},dependencies:[T1,t.sg],encapsulation:2,changeDetection:0});class Vd extends ja{constructor(){super(...arguments),this.tooltipDisabled=!1,this.label="Total",this.minWidth=150,this.activeEntries=[],this.activate=new e.vpe,this.deactivate=new e.vpe,this.margin=[20,20,20,20],this.placementTypes=Ri,this.styleTypes=Zs}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.data=P6(this.dims,this.results,this.minWidth,this.designatedTotal),this.transform=`translate(${this.margin[3]} , ${this.margin[0]})`,this.series=this.getSeries(),this.setColors(),this.tooltipText=this.tooltipText||this.defaultTooltipText}defaultTooltipText({data:r}){return`\n ${wl(Ur(r.name))}\n ${r.value.toLocaleString()}\n `}getDomain(){return this.results.map(r=>r.label)}getSeries(){const r=this.designatedTotal?this.designatedTotal:this.getTotal();return this.data.map(i=>{const Q=i.data.name,_e=Ur(Q),Pe=i.data.value,lt=Q1([i.width-10,i.height-20])/2-5,vt=.9*lt;let Et=0;return{transform:`translate(${i.x+(i.width-10)/2}, ${i.y+(i.height-20)/2})`,colors:()=>(Et+=1,1===Et?"rgba(100,100,100,0.3)":this.colorScale.getColor(_e)),innerRadius:vt,outerRadius:lt,name:Q,label:wl(_e),total:Pe,value:Pe,percent:el(".1%")(i.data.percent),data:[i,{data:{other:!0,value:r-Pe,name:i.data.name}}]}})}getTotal(){return this.results.map(r=>r.value).reduce((r,i)=>r+i,0)}onClick(r){this.select.emit(r)}setColors(){this.colorScale=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name),!(this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series)>-1)&&(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r,i=!1){r=this.results.find(R=>i?R.label===r.name:R.name===r.name);const b=this.activeEntries.findIndex(R=>R.name===r.name&&R.value===r.value&&R.series===r.series);this.activeEntries.splice(b,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}}Vd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Vd)))(i||Vd)}}(),Vd.\u0275cmp=e.Xpm({type:Vd,selectors:[["ngx-charts-pie-grid"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{designatedTotal:"designatedTotal",tooltipDisabled:"tooltipDisabled",tooltipText:"tooltipText",label:"label",minWidth:"minWidth",activeEntries:"activeEntries"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:3,vars:8,consts:[[3,"view","showLegend","animations"],[1,"pie-grid","chart"],["class","pie-grid-item",4,"ngFor","ngForOf"],[1,"pie-grid-item"],["ngx-charts-pie-grid-series","","ngx-tooltip","",3,"colors","data","innerRadius","outerRadius","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"],["class","label percent-label","dy","-0.5em","x","0","y","5","ngx-charts-count-up","","text-anchor","middle",3,"countTo","countSuffix",4,"ngIf"],["class","label percent-label","dy","-0.5em","x","0","y","5","text-anchor","middle",4,"ngIf"],["dy","0.5em","x","0","y","5","text-anchor","middle",1,"label"],["class","label","dy","1.23em","x","0","text-anchor","middle","ngx-charts-count-up","",3,"countTo","countPrefix",4,"ngIf"],["class","label","dy","1.23em","x","0","text-anchor","middle",4,"ngIf"],["dy","-0.5em","x","0","y","5","ngx-charts-count-up","","text-anchor","middle",1,"label","percent-label",3,"countTo","countSuffix"],["dy","-0.5em","x","0","y","5","text-anchor","middle",1,"label","percent-label"],["dy","1.23em","x","0","text-anchor","middle","ngx-charts-count-up","",1,"label",3,"countTo","countPrefix"],["dy","1.23em","x","0","text-anchor","middle",1,"label"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,C6,8,19,"g",2),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(5,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.series))},dependencies:[Qa,cu,kc,t.sg,ho,t.O5],styles:[$r,".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\n"],encapsulation:2,changeDetection:0});class Sl{}Sl.\u0275fac=function(r){return new(r||Sl)},Sl.\u0275mod=e.oAB({type:Sl}),Sl.\u0275inj=e.cJS({imports:[[Ds]]});class Wd{}function _p(f,r,i=8){return r.split("").reduce((b,R)=>b+(f[R]||i),0)}Wd.\u0275fac=function(r){return new(r||Wd)},Wd.\u0275mod=e.oAB({type:Wd}),Wd.\u0275inj=e.cJS({imports:[[Ds,Sl,A1]]});const R4={0:10,1:10,2:10,3:10,4:10,5:10,6:10,7:10,8:10,9:10,A:11,B:11,C:11,D:12,E:10,F:9,G:12,H:12,I:7,J:7,K:11,L:9,M:13,N:12,O:13,P:10,Q:13,R:11,S:11,T:10,U:12,V:11,W:16,X:11,Y:10,Z:11,a:10,b:10,c:8,d:10,e:10,f:6,g:10,h:10,i:4,j:6,k:9,l:4,m:16,n:10,o:10,p:10,q:10,r:7,s:8,t:6,u:10,v:9,w:13,x:9,y:9,z:8,"!":6,"@":16,"#":13,$:10,"%":17,"^":13,"&":12,"*":10,"(":7,")":7,_:10,"-":7,"+":13,"=":13,",":6,".":6,"/":7,"'":4,":":7,"|":7,"?":9,";":7,"<":13,">":13};class ac{constructor(r,i,b,R){this.cd=i,this.zone=b,this.platformId=R,this.animations=!0,this.select=new e.vpe,this.value="",this.textFontSize=12,this.textTransform="",this.initialized=!1,this.bandHeight=10,this.textPadding=[10,20,5,20],this.labelFontSize=15,this.element=r.nativeElement}ngOnChanges(r){this.update()}ngOnInit(){(0,t.PM)(this.platformId)&&this.scaleTextSSR()}ngOnDestroy(){(0,t.NF)(this.platformId)&&cancelAnimationFrame(this.animationReq)}update(){this.zone.run(()=>{const r=this.data&&typeof this.data.value<"u",i=this.valueFormatting||(_e=>_e.value.toLocaleString()),b=this.labelFormatting||(_e=>fs(wl(_e.label,55)));this.transform=`translate(${this.x} , ${this.y})`,this.textWidth=Math.max(0,this.width)-this.textPadding[1]-this.textPadding[3],this.cardWidth=Math.max(0,this.width),this.cardHeight=Math.max(0,this.height),this.label=this.label?this.label:this.data.name;const R={label:this.label,data:this.data,value:this.data.value};this.formattedLabel=b(R),this.transformBand=`translate(0 , ${this.cardHeight-this.bandHeight})`;const Q=r?i(R):"";this.value=this.paddedValue(Q),this.setPadding(),this.bandPath=ol(0,0,this.cardWidth,this.bandHeight,3,[!1,!1,!0,!0]),setTimeout(()=>{(0,t.NF)(this.platformId)&&this.scaleText(),this.value=Q,r&&!this.initialized&&setTimeout(()=>this.startCount(),20)},8)})}paddedValue(r){return this.medianSize&&this.medianSize>r.length&&(r+="\u2007".repeat(this.medianSize-r.length)),r}startCount(){if(!this.initialized&&this.animations){cancelAnimationFrame(this.animationReq);const r=this.data.value,i=Qh(r),b=this.valueFormatting||(Q=>Q.value.toLocaleString()),R=({value:Q,finished:_e})=>{this.zone.run(()=>{Q=_e?r:Q,this.value=b({label:this.label,data:this.data,value:Q}),_e||(this.value=this.paddedValue(this.value)),this.cd.markForCheck()})};this.animationReq=dp(0,r,i,1,R),this.initialized=!0}}scaleText(){this.zone.run(()=>{const{width:r,height:i}=this.textEl.nativeElement.getBoundingClientRect();if(0===r||0===i)return;const b=this.textPadding[1]=this.textPadding[3]=this.cardWidth/8,R=this.cardWidth-2*b,Q=this.cardHeight/3,_e=Math.min(R/r,Q/i);this.textFontSize=Math.floor(this.textFontSize*_e),this.labelFontSize=Math.min(this.textFontSize,15),this.setPadding(),this.cd.markForCheck()})}scaleTextSSR(){const r=_p(R4,this.value,10),b=this.textPadding[1]=this.textPadding[3]=this.cardWidth/8,R=this.cardWidth-2*b,Q=this.cardHeight/3,_e=Math.min(R/r,Q/18);this.textFontSize=Math.floor(this.textFontSize*_e),this.labelFontSize=Math.min(this.textFontSize,15),this.setPadding()}setPadding(){this.textPadding[1]=this.textPadding[3]=this.cardWidth/8;const r=this.cardHeight/2;this.textPadding[0]=r-this.textFontSize-this.labelFontSize/2,this.textPadding[2]=r-this.labelFontSize}onClick(){this.select.emit(this.data)}}function mp(f){const r=xa(f),{r:i,g:b,b:R,opacity:Q}=r;if(0===Q)return r.toString();return function gp({r:f,g:r,b:i},b){const R=b<0?0:255,Q=b<0?-1*b:b;return f=Math.round((R-f)*Q)+f,r=Math.round((R-r)*Q)+r,i=Math.round((R-i)*Q)+i,`rgb(${f}, ${r}, ${i})`}(r,(299*i+587*b+114*R)/1e3>=128?-.8:.8)}ac.\u0275fac=function(r){return new(r||ac)(e.Y36(e.SBq),e.Y36(e.sBO),e.Y36(e.R0b),e.Y36(e.Lbi))},ac.\u0275cmp=e.Xpm({type:ac,selectors:[["g","ngx-charts-card",""]],viewQuery:function(r,i){if(1&r&&e.Gf(T4,5),2&r){let b;e.iGM(b=e.CRH())&&(i.textEl=b.first)}},inputs:{color:"color",bandColor:"bandColor",textColor:"textColor",x:"x",y:"y",width:"width",height:"height",label:"label",data:"data",medianSize:"medianSize",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-card",""],decls:10,vars:25,consts:[[1,"cell",3,"click"],["rx","3","ry","3",1,"card"],["class","card-band","stroke","none",4,"ngIf"],["x","5","alignment-baseline","hanging",1,"trimmed-label"],[3,"innerHTML"],["text-anchor","start","alignment-baseline","hanging",1,"value-text"],["textEl",""],["stroke","none",1,"card-band"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g",0),e.NdJ("click",function(){return i.onClick()}),e._UZ(1,"rect",1),e.YNc(2,g1,1,3,"path",2),e.TgZ(3,"title"),e._uU(4),e.qZA(),e.TgZ(5,"foreignObject",3),e.kcU(),e._UZ(6,"p",4),e.qZA(),e.O4$(),e.TgZ(7,"text",5,6),e._uU(9),e.qZA()()),2&r&&(e.uIk("transform",i.transform),e.xp6(1),e.Udp("fill",i.color),e.uIk("width",i.cardWidth)("height",i.cardHeight),e.xp6(1),e.Q6J("ngIf",i.bandColor&&i.bandColor!==i.color),e.xp6(2),e.Oqu(i.label),e.xp6(1),e.uIk("x",i.textPadding[3])("y",i.cardHeight-i.textPadding[2])("width",i.textWidth)("height",i.labelFontSize+i.textPadding[2]),e.xp6(1),e.Udp("color",i.textColor)("font-size",i.labelFontSize,"px")("line-height",i.labelFontSize,"px"),e.Q6J("innerHTML",i.formattedLabel,e.oJD),e.xp6(1),e.Udp("fill",i.textColor)("font-size",i.textFontSize,"pt"),e.uIk("x",i.textPadding[3])("y",i.textPadding[0]),e.xp6(2),e.hij(" ",i.value," "))},dependencies:[t.O5],encapsulation:2,changeDetection:0});class du{constructor(){this.innerPadding=15,this.emptyColor="rgba(0, 0, 0, 0)",this.animations=!0,this.select=new e.vpe}ngOnChanges(r){this.update()}update(){if(this.data.length>2){const i=this.valueFormatting||(Q=>Q.value.toLocaleString()),b=this.data.map(Q=>Q&&Q.data&&typeof Q.data.value<"u"&&null!==Q.data.value?i({data:Q.data,label:Q?Q.data.name:"",value:Q&&Q.data?Q.data.value:""}).length:0).sort((Q,_e)=>_e-Q),R=Math.ceil(this.data.length/2);this.medianSize=b[R]}const r=this.getCards();this.cards=r.filter(i=>null!==i.data.value),this.emptySlots=r.filter(i=>null===i.data.value)}getCards(){const r="number"==typeof this.innerPadding?this.innerPadding:this.innerPadding[0]+this.innerPadding[2],i="number"==typeof this.innerPadding?this.innerPadding:this.innerPadding[1]+this.innerPadding[3];return this.data.map((b,R)=>{let Q=b.data.name;Q=Q&&"Date"===Q.constructor.name?Q.toLocaleDateString():Q&&Q.toLocaleString();const _e=b.data.value,Pe=Q?this.colors.getColor(Q):this.emptyColor,lt=this.cardColor||Pe||"#000";return{x:b.x,y:b.y,width:b.width-i,height:b.height-r,color:lt,bandColor:this.bandColor||Pe,textColor:this.textColor||mp(lt),label:Q,data:b.data,tooltipText:`${Q}: ${_e}`}})}trackBy(r,i){return i.label}onClick(r){this.select.emit(r)}}du.\u0275fac=function(r){return new(r||du)},du.\u0275cmp=e.Xpm({type:du,selectors:[["g","ngx-charts-card-series",""]],inputs:{data:"data",dims:"dims",colors:"colors",innerPadding:"innerPadding",cardColor:"cardColor",bandColor:"bandColor",emptyColor:"emptyColor",textColor:"textColor",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-card-series",""],decls:2,vars:4,consts:[["class","card-empty","rx","3","ry","3",3,"fill",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-card","",3,"x","y","width","height","color","bandColor","textColor","data","label","medianSize","valueFormatting","labelFormatting","animations","select",4,"ngFor","ngForOf","ngForTrackBy"],["rx","3","ry","3",1,"card-empty"],["ngx-charts-card","",3,"x","y","width","height","color","bandColor","textColor","data","label","medianSize","valueFormatting","labelFormatting","animations","select"]],template:function(r,i){1&r&&(e.YNc(0,M6,1,6,"rect",0),e.YNc(1,Yh,1,13,"g",1)),2&r&&(e.Q6J("ngForOf",i.emptySlots)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngForOf",i.cards)("ngForTrackBy",i.trackBy))},dependencies:[ac,t.sg],encapsulation:2,changeDetection:0});class uu extends ja{constructor(){super(...arguments),this.emptyColor="rgba(0, 0, 0, 0)",this.innerPadding=15,this.margin=[10,10,10,10]}get clickable(){return!!this.select.observers.length}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.formatDates(),this.domain=this.getDomain(),this.setColors(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`;const r=O6(this.dims,this.results.length,150),i=r[0]*r[1],b=this.results.slice();for(;b.lengthr.label)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}}uu.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(uu)))(i||uu)}}(),uu.\u0275cmp=e.Xpm({type:uu,selectors:[["ngx-charts-number-card"]],inputs:{cardColor:"cardColor",bandColor:"bandColor",emptyColor:"emptyColor",innerPadding:"innerPadding",textColor:"textColor",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",designatedTotal:"designatedTotal"},features:[e.qOj],decls:3,vars:20,consts:[[3,"view","showLegend","animations"],[1,"number-card","chart"],["ngx-charts-card-series","",3,"colors","cardColor","bandColor","textColor","emptyColor","data","dims","innerPadding","valueFormatting","labelFormatting","animations","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("select",function(R){return i.onClick(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(17,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.ekj("clickable",i.clickable),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("cardColor",i.cardColor)("bandColor",i.bandColor)("textColor",i.textColor)("emptyColor",i.emptyColor)("data",i.data)("dims",i.dims)("innerPadding",i.innerPadding)("valueFormatting",i.valueFormatting)("labelFormatting",i.labelFormatting)("animations",i.animations))},dependencies:[Qa,du],styles:[$r,"ngx-charts-number-card .cell .trimmed-label{font-size:12px;pointer-events:none;overflow:hidden;text-align:left;line-height:1em}ngx-charts-number-card .cell .trimmed-label p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0;margin:0}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\n"],encapsulation:2,changeDetection:0});class A2{}A2.\u0275fac=function(r){return new(r||A2)},A2.\u0275mod=e.oAB({type:A2}),A2.\u0275inj=e.cJS({imports:[[Ds]]});class Kd{constructor(r){this.gradient=!1,this.animations=!0,this.select=new e.vpe,this.initialized=!1,this.orientation=Fa,this.element=r.nativeElement}ngOnChanges(){this.update(),this.valueFormatting=this.valueFormatting||(b=>b.toLocaleString());const r=this.labelFormatting||(b=>fs(wl(b.label,55))),i={data:this.data,label:this.label,value:this.value};this.formattedValue=this.valueFormatting(i.value),this.formattedLabel=r(i),this.gradientId="grad"+Ys().toString(),this.gradientUrl=`url(#${this.gradientId})`,this.gradientStops=this.getGradientStops()}update(){this.initialized?this.animateToCurrentForm():(this.animations&&this.loadAnimation(),this.initialized=!0)}loadAnimation(){Ln(this.element).select(".cell").attr("opacity",0).attr("x",this.x).attr("y",this.y),this.animateToCurrentForm()}getTextColor(){return mp(this.fill)}animateToCurrentForm(){const r=Ln(this.element).select(".cell");this.animations?r.transition().duration(750).attr("opacity",1).attr("x",this.x).attr("y",this.y).attr("width",this.width).attr("height",this.height):r.attr("opacity",1).attr("x",this.x).attr("y",this.y).attr("width",this.width).attr("height",this.height)}onClick(){this.select.emit(this.data)}getGradientStops(){return[{offset:0,color:this.fill,opacity:.3},{offset:100,color:this.fill,opacity:1}]}}Kd.\u0275fac=function(r){return new(r||Kd)(e.Y36(e.SBq))},Kd.\u0275cmp=e.Xpm({type:Kd,selectors:[["g","ngx-charts-tree-map-cell",""]],inputs:{data:"data",fill:"fill",x:"x",y:"y",width:"width",height:"height",label:"label",value:"value",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-tree-map-cell",""],decls:4,vars:7,consts:[[4,"ngIf"],[1,"cell",3,"click"],["class","treemap-label",3,"pointer-events",4,"ngIf"],["ngx-charts-svg-linear-gradient","",3,"orientation","name","stops"],[1,"treemap-label"],[1,"treemap-label",3,"innerHTML"],["class","treemap-val","ngx-charts-count-up","",3,"countTo","valueFormatting",4,"ngIf"],["class","treemap-val",4,"ngIf"],["ngx-charts-count-up","",1,"treemap-val",3,"countTo","valueFormatting"],[1,"treemap-val"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,D_,2,3,"defs",0),e.TgZ(2,"rect",1),e.NdJ("click",function(){return i.onClick()}),e.qZA(),e.YNc(3,ep,6,15,"foreignObject",2),e.qZA()),2&r&&(e.xp6(1),e.Q6J("ngIf",i.gradient),e.xp6(1),e.uIk("fill",i.gradient?i.gradientUrl:i.fill)("width",i.width)("height",i.height)("x",i.x)("y",i.y),e.xp6(1),e.Q6J("ngIf",i.width>=70&&i.height>=35))},dependencies:[ll,kc,t.O5],encapsulation:2,changeDetection:0});class Gd{constructor(){this.gradient=!1,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.styleTypes=Zs,this.placementTypes=Ri}ngOnChanges(r){this.cells=this.getCells()}getCells(){return this.data.children.filter(r=>1===r.depth).map((r,i)=>{const b=r.id;return{data:r.data,x:r.x0,y:r.y0,width:r.x1-r.x0,height:r.y1-r.y0,fill:this.colors.getColor(b),label:b,value:r.value}})}getTooltipText({label:r,value:i}){return`\n ${fs(r)}\n ${i.toLocaleString()}\n `}onClick(r){this.select.emit(r)}trackBy(r,i){return i.label}}Gd.\u0275fac=function(r){return new(r||Gd)},Gd.\u0275cmp=e.Xpm({type:Gd,selectors:[["g","ngx-charts-tree-map-cell-series",""]],inputs:{data:"data",dims:"dims",colors:"colors",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient",tooltipDisabled:"tooltipDisabled",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select"},features:[e.TTD],attrs:["ngx-charts-tree-map-cell-series",""],decls:1,vars:2,consts:[["ngx-charts-tree-map-cell","","ngx-tooltip","",3,"data","x","y","width","height","fill","label","value","valueFormatting","labelFormatting","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select",4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-tree-map-cell","","ngx-tooltip","",3,"data","x","y","width","height","fill","label","value","valueFormatting","labelFormatting","gradient","animations","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select"]],template:function(r,i){1&r&&e.YNc(0,Hr,1,18,"g",0),2&r&&e.Q6J("ngForOf",i.cells)("ngForTrackBy",i.trackBy)},dependencies:[Kd,t.sg,ho],encapsulation:2,changeDetection:0});class rc extends ja{constructor(){super(...arguments),this.tooltipDisabled=!1,this.gradient=!1,this.select=new e.vpe,this.margin=[10,10,10,10]}update(){super.update(),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.domain=this.getDomain(),this.treemap=function Z3(){var f=mh,r=!1,i=1,b=1,R=[0],Q=t2,_e=t2,Pe=t2,lt=t2,vt=t2;function Et(St){return St.x0=St.y0=0,St.x1=i,St.y1=b,St.eachBefore(Zt),R=[0],r&&St.eachBefore(ph),St}function Zt(St){var vn=R[St.depth],wn=St.x0+vn,Zn=St.y0+vn,_n=St.x1-vn,jn=St.y1-vn;_n0)throw new Error("cycle");return lt}return i.id=function(b){return arguments.length?(f=Dl(b),i):f},i.parentId=function(b){return arguments.length?(r=Dl(b),i):r},i}().id(b=>{let R=b.name;return R="Date"===R.constructor.name?R.toLocaleDateString():R.toLocaleString(),R}).parentId(b=>b.isRoot?null:"root")([{name:"root",value:0,isRoot:!0},...this.results]).sum(b=>b.value);this.data=this.treemap(i),this.setColors(),this.transform=`translate(${this.dims.xOffset} , ${this.margin[0]})`}getDomain(){return this.results.map(r=>r.name)}onClick(r){this.select.emit(r)}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}}rc.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(rc)))(i||rc)}}(),rc.\u0275cmp=e.Xpm({type:rc,selectors:[["ngx-charts-tree-map"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},inputs:{results:"results",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",labelFormatting:"labelFormatting",gradient:"gradient"},outputs:{select:"select"},features:[e.qOj],decls:3,vars:16,consts:[[3,"view","showLegend","animations"],[1,"tree-map","chart"],["ngx-charts-tree-map-cell-series","",3,"colors","data","dims","tooltipDisabled","tooltipTemplate","valueFormatting","labelFormatting","gradient","animations","select"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.O4$(),e.TgZ(1,"g",1)(2,"g",2),e.NdJ("select",function(R){return i.onClick(R)}),e.qZA()()()),2&r&&(e.Q6J("view",e.WLB(13,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("colors",i.colors)("data",i.data)("dims",i.dims)("tooltipDisabled",i.tooltipDisabled)("tooltipTemplate",i.tooltipTemplate)("valueFormatting",i.valueFormatting)("labelFormatting",i.labelFormatting)("gradient",i.gradient)("animations",i.animations))},dependencies:[Qa,Gd],styles:[".tree-map .treemap-val{font-size:1.3em;padding-top:5px;display:inline-block}.tree-map .treemap-label p{display:table-cell;text-align:center;line-height:1.2em;vertical-align:middle}\n"],encapsulation:2,changeDetection:0});class Zd{}var Hc;Zd.\u0275fac=function(r){return new(r||Zd)},Zd.\u0275mod=e.oAB({type:Zd}),Zd.\u0275inj=e.cJS({imports:[[Ds]]}),function(f){f.Value="value",f.Units="units"}(Hc||(Hc={}));class hu extends ja{constructor(){super(...arguments),this.min=0,this.max=100,this.value=0,this.margin=[10,20,10,20],this.valueResizeScale=1,this.unitsResizeScale=1,this.valueTextTransform="",this.valueTranslate="",this.unitsTextTransform="",this.unitsTranslate="",this.barOrientation=Fa}ngAfterViewInit(){super.ngAfterViewInit(),setTimeout(()=>{this.scaleText(Hc.Value),this.scaleText(Hc.Units)})}update(){super.update(),this.hasPreviousValue=void 0!==this.previousValue,this.max=Math.max(this.max,this.value),this.min=Math.min(this.min,this.value),this.hasPreviousValue&&(this.max=Math.max(this.max,this.previousValue),this.min=Math.min(this.min,this.previousValue)),this.dims=fr({width:this.width,height:this.height,margins:this.margin}),this.valueDomain=this.getValueDomain(),this.valueScale=this.getValueScale(),this.displayValue=this.getDisplayValue(),this.setColors();const r=this.margin[3]+this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.transform=`translate(${r}, ${i})`,this.transformLine=`translate(${this.margin[3]+this.valueScale(this.previousValue)}, ${i})`,this.valueTranslate="translate(0, -15)",this.unitsTranslate="translate(0, 15)",(0,t.PM)(this.platformId)?(this.scaleTextSSR("value"),this.scaleTextSSR("units")):(setTimeout(()=>this.scaleText(Hc.Value),50),setTimeout(()=>this.scaleText(Hc.Units),50))}getValueDomain(){return[this.min,this.max]}getValueScale(){return Ga().range([0,this.dims.width]).domain(this.valueDomain)}getDisplayValue(){return this.valueFormatting?this.valueFormatting(this.value):this.value.toLocaleString()}scaleText(r,i=!0){let b,R;r===Hc.Value?(b=this.valueTextEl,R=this.valueResizeScale):(b=this.unitsTextEl,R=this.unitsResizeScale);const{width:Q,height:_e}=b.nativeElement.getBoundingClientRect();if(0===Q||0===_e)return;const Pe=R,lt=this.dims.width,vt=Math.max(this.dims.height/2-15,0),Et=Math.floor(lt/(Q/R)*100)/100,Zt=Math.floor(vt/(_e/R)*100)/100;R=Math.min(Zt,Et),R!==Pe&&(r===Hc.Value?(this.valueResizeScale=R,this.valueTextTransform=`scale(${R}, ${R})`):(this.unitsResizeScale=R,this.unitsTextTransform=`scale(${R}, ${R})`),this.cd.markForCheck(),i&&(0,t.NF)(this.platformId)&&setTimeout(()=>{this.scaleText(r,!1)},50))}scaleTextSSR(r){let i=1;const b="value"===r?this.displayValue:this.units,R=_p(R4,b,10),_e=this.dims.width,Pe=Math.max(this.dims.height/2-15,0),lt=Math.floor(_e/(R/i)*100)/100,vt=Math.floor(Pe/(25/i)*100)/100;i=Math.min(vt,lt),"value"===r?(this.valueResizeScale=i,this.valueTextTransform=`scale(${i}, ${i})`):(this.unitsResizeScale=i,this.unitsTextTransform=`scale(${i}, ${i})`),this.cd.markForCheck()}onClick(){this.select.emit({name:"Value",value:this.value})}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,[this.value],this.customColors)}}hu.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(hu)))(i||hu)}}(),hu.\u0275cmp=e.Xpm({type:hu,selectors:[["ngx-charts-linear-gauge"]],viewQuery:function(r,i){if(1&r&&(e.Gf(tp,5),e.Gf(A6,5)),2&r){let b;e.iGM(b=e.CRH())&&(i.valueTextEl=b.first),e.iGM(b=e.CRH())&&(i.unitsTextEl=b.first)}},inputs:{min:"min",max:"max",value:"value",units:"units",previousValue:"previousValue",valueFormatting:"valueFormatting"},features:[e.qOj],decls:15,vars:38,consts:[[3,"view","showLegend","animations","click"],[1,"linear-gauge","chart"],["ngx-charts-bar","",1,"background-bar",3,"width","height","x","y","data","orientation","roundEdges","animations"],["ngx-charts-bar","",3,"width","height","x","y","fill","data","orientation","roundEdges","animations"],["x1","0","y1","5","x2","0","y2","15",4,"ngIf"],["x1","0","y1","-5","x2","0","y2","-15",4,"ngIf"],["alignment-baseline","after-edge",1,"value"],["valueTextEl",""],["alignment-baseline","before-edge",1,"units"],["unitsTextEl",""],["x1","0","y1","5","x2","0","y2","15"],["x1","0","y1","-5","x2","0","y2","-15"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("click",function(){return i.onClick()}),e.O4$(),e.TgZ(1,"g",1),e._UZ(2,"g",2)(3,"g",3),e.YNc(4,T6,1,2,"line",4),e.YNc(5,np,1,2,"line",5),e.TgZ(6,"g")(7,"g")(8,"text",6,7),e._uU(10),e.qZA()(),e.TgZ(11,"g")(12,"text",8,9),e._uU(14),e.qZA()()()()()),2&r&&(e.Q6J("view",e.WLB(33,Ya,i.width,i.height))("showLegend",!1)("animations",i.animations),e.xp6(2),e.Q6J("width",i.dims.width)("height",3)("x",i.margin[3])("y",i.dims.height/2+i.margin[0]-2)("data",e.DdM(36,ip))("orientation",i.barOrientation.Horizontal)("roundEdges",!0)("animations",i.animations),e.xp6(1),e.Q6J("width",i.valueScale(i.value))("height",3)("x",i.margin[3])("y",i.dims.height/2+i.margin[0]-2)("fill",i.colors.getColor(i.units))("data",e.DdM(37,ip))("orientation",i.barOrientation.Horizontal)("roundEdges",!0)("animations",i.animations),e.xp6(1),e.Q6J("ngIf",i.hasPreviousValue),e.xp6(1),e.Q6J("ngIf",i.hasPreviousValue),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.uIk("transform",i.valueTranslate),e.xp6(1),e.Udp("text-anchor","middle"),e.uIk("transform",i.valueTextTransform),e.xp6(2),e.hij(" ",i.displayValue," "),e.xp6(1),e.uIk("transform",i.unitsTranslate),e.xp6(1),e.Udp("text-anchor","middle"),e.uIk("transform",i.unitsTextTransform),e.xp6(2),e.hij(" ",i.units," "))},dependencies:[Qa,_2,t.O5],styles:[$r,".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:#0000000d}.linear-gauge .units{fill:#666}\n"],encapsulation:2,changeDetection:0});class Yd{constructor(){this.isActive=!1,this.tooltipDisabled=!1,this.animations=!0,this.select=new e.vpe,this.activate=new e.vpe,this.deactivate=new e.vpe,this.placementTypes=Ri,this.styleTypes=Zs}tooltipText(r){const i=Ur(r.data.name);let b;return b=this.valueFormatting?this.valueFormatting(r.data.value):Ur(r.data.value),`\n ${fs(i)}\n ${b}\n `}}Yd.\u0275fac=function(r){return new(r||Yd)},Yd.\u0275cmp=e.Xpm({type:Yd,selectors:[["g","ngx-charts-gauge-arc",""]],inputs:{backgroundArc:"backgroundArc",valueArc:"valueArc",cornerRadius:"cornerRadius",colors:"colors",isActive:"isActive",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",tooltipTemplate:"tooltipTemplate",animations:"animations"},outputs:{select:"select",activate:"activate",deactivate:"deactivate"},attrs:["ngx-charts-gauge-arc",""],decls:2,vars:23,consts:[["ngx-charts-pie-arc","",1,"background-arc",3,"startAngle","endAngle","innerRadius","outerRadius","cornerRadius","data","animate","pointerEvents"],["ngx-charts-pie-arc","","ngx-tooltip","",3,"startAngle","endAngle","innerRadius","outerRadius","cornerRadius","fill","data","animate","isActive","tooltipDisabled","tooltipPlacement","tooltipType","tooltipTitle","tooltipTemplate","tooltipContext","select","activate","deactivate"]],template:function(r,i){1&r&&(e.O4$(),e._UZ(0,"g",0),e.TgZ(1,"g",1),e.NdJ("select",function(R){return i.select.emit(R)})("activate",function(R){return i.activate.emit(R)})("deactivate",function(R){return i.deactivate.emit(R)}),e.qZA()),2&r&&(e.Q6J("startAngle",0)("endAngle",i.backgroundArc.endAngle)("innerRadius",i.backgroundArc.innerRadius)("outerRadius",i.backgroundArc.outerRadius)("cornerRadius",i.cornerRadius)("data",i.backgroundArc.data)("animate",!1)("pointerEvents",!1),e.xp6(1),e.Q6J("startAngle",0)("endAngle",i.valueArc.endAngle)("innerRadius",i.valueArc.innerRadius)("outerRadius",i.valueArc.outerRadius)("cornerRadius",i.cornerRadius)("fill",i.colors.getColor(i.valueArc.data.name))("data",i.valueArc.data)("animate",i.animations)("isActive",i.isActive)("tooltipDisabled",i.tooltipDisabled)("tooltipPlacement",i.placementTypes.Top)("tooltipType",i.styleTypes.tooltip)("tooltipTitle",i.tooltipTemplate?void 0:i.tooltipText(i.valueArc))("tooltipTemplate",i.tooltipTemplate)("tooltipContext",i.valueArc.data))},dependencies:[T1,ho],encapsulation:2,changeDetection:0});class fu{constructor(){this.rotate=""}ngOnChanges(r){this.update()}update(){this.rotationAngle=-90+this.startAngle,this.rotate=`rotate(${this.rotationAngle})`,this.ticks=this.getTicks()}getTicks(){const r=this.angleSpan/this.bigSegments,i=r/this.smallSegments,R={big:[],small:[]},Q=this.radius+10,_e=Q+20+10;for(let Pe=0;Pe<=this.bigSegments;Pe++){const lt=Pe*r,vt=lt*Math.PI/180,Et=this.getTextAnchor(lt);let Zt=!1;if(0===Pe&&360===this.angleSpan&&(Zt=!0),!Zt){let St=Number.parseFloat(this.valueScale.invert(lt).toString()).toLocaleString();this.tickFormatting&&(St=this.tickFormatting(St)),R.big.push({line:this.getTickPath(Q,20,vt),textAnchor:Et,text:St,textTransform:`\n translate(${_e*Math.cos(vt)}, ${_e*Math.sin(vt)}) rotate(${-this.rotationAngle})\n `})}if(Pe!==this.bigSegments)for(let St=1;St<=this.smallSegments;St++){const wn=(lt+St*i)*Math.PI/180;R.small.push({line:this.getTickPath(Q,10,wn)})}}return R}getTextAnchor(r){r=(this.startAngle+r)%360;let i=Gs.Middle;return r>45&&r<=135?i=Gs.Start:r>225&&r<=315&&(i=Gs.End),i}getTickPath(r,i,b){const R=r*Math.sin(b),Q=(r+i)*Math.sin(b),lt=[{x:r*Math.cos(b),y:R},{x:(r+i)*Math.cos(b),y:Q}];return tl().x(Et=>Et.x).y(Et=>Et.y)(lt)}}fu.\u0275fac=function(r){return new(r||fu)},fu.\u0275cmp=e.Xpm({type:fu,selectors:[["g","ngx-charts-gauge-axis",""]],inputs:{bigSegments:"bigSegments",smallSegments:"smallSegments",min:"min",max:"max",angleSpan:"angleSpan",startAngle:"startAngle",radius:"radius",valueScale:"valueScale",tickFormatting:"tickFormatting"},features:[e.TTD],attrs:["ngx-charts-gauge-axis",""],decls:4,vars:4,consts:[["class","gauge-tick gauge-tick-large",4,"ngFor","ngForOf"],["class","gauge-tick gauge-tick-small",4,"ngFor","ngForOf"],[1,"gauge-tick","gauge-tick-large"],["alignment-baseline","central"],[1,"gauge-tick","gauge-tick-small"]],template:function(r,i){1&r&&(e.O4$(),e.TgZ(0,"g"),e.YNc(1,wd,2,1,"g",0),e.YNc(2,w6,3,4,"g",0),e.YNc(3,I6,2,1,"g",1),e.qZA()),2&r&&(e.uIk("transform",i.rotate),e.xp6(1),e.Q6J("ngForOf",i.ticks.big),e.xp6(1),e.Q6J("ngForOf",i.ticks.big),e.xp6(1),e.Q6J("ngForOf",i.ticks.small))},dependencies:[t.sg],encapsulation:2,changeDetection:0});class Qd extends ja{constructor(){super(...arguments),this.legend=!1,this.legendTitle="Legend",this.legendPosition=hr.Right,this.min=0,this.max=100,this.bigSegments=10,this.smallSegments=5,this.showAxis=!0,this.startAngle=-120,this.angleSpan=240,this.activeEntries=[],this.tooltipDisabled=!1,this.showText=!0,this.activate=new e.vpe,this.deactivate=new e.vpe,this.resizeScale=1,this.rotation="",this.textTransform="scale(1, 1)",this.cornerRadius=10}ngAfterViewInit(){super.ngAfterViewInit(),setTimeout(()=>this.scaleText())}update(){super.update(),this.showAxis?this.margin||(this.margin=[60,100,60,100]):this.margin||(this.margin=[10,20,10,20]),this.startAngle<0&&(this.startAngle=this.startAngle%360+360),this.angleSpan=Math.min(this.angleSpan,360),this.dims=fr({width:this.width,height:this.height,margins:this.margin,showLegend:this.legend,legendPosition:this.legendPosition}),this.domain=this.getDomain(),this.valueDomain=this.getValueDomain(),this.valueScale=this.getValueScale(),this.displayValue=this.getDisplayValue(),this.outerRadius=Math.min(this.dims.width,this.dims.height)/2,this.arcs=this.getArcs(),this.setColors(),this.legendOptions=this.getLegendOptions();const r=this.margin[3]+this.dims.width/2,i=this.margin[0]+this.dims.height/2;this.transform=`translate(${r}, ${i})`,this.rotation=`rotate(${this.startAngle})`,setTimeout(()=>this.scaleText(),50)}getArcs(){const r=[],i=.7*this.outerRadius,b=Math.min(i/this.results.length,10),R=.7*b;this.textRadius=this.outerRadius-this.results.length*b,this.cornerRadius=Math.floor(R/2);let Q=0;for(const _e of this.results){const Pe=this.outerRadius-Q*b,lt=Pe-R,Zt={backgroundArc:{endAngle:this.angleSpan*Math.PI/180,innerRadius:lt,outerRadius:Pe,data:{value:this.max,name:_e.name}},valueArc:{endAngle:Math.min(this.valueScale(_e.value),this.angleSpan)*Math.PI/180,innerRadius:lt,outerRadius:Pe,data:{value:_e.value,name:_e.name}}};r.push(Zt),Q++}return r}getDomain(){return this.results.map(r=>r.name)}getValueDomain(){const r=this.results.map(R=>R.value),i=Math.min(...r),b=Math.max(...r);return void 0!==this.min?this.min=Math.min(this.min,i):this.min=i,void 0!==this.max?this.max=Math.max(this.max,b):this.max=b,[this.min,this.max]}getValueScale(){return Ga().range([0,this.angleSpan]).nice().domain(this.valueDomain)}getDisplayValue(){const r=this.results.map(i=>i.value).reduce((i,b)=>i+b,0);return this.textValue&&0!==this.textValue.length?this.textValue.toLocaleString():this.valueFormatting?this.valueFormatting(r):r.toLocaleString()}scaleText(r=!0){if(!this.showText)return;const{width:i}=this.textEl.nativeElement.getBoundingClientRect(),b=this.resizeScale;if(0===i)this.resizeScale=1;else{const R=this.textRadius;this.resizeScale=Math.floor(R/(i/this.resizeScale)*100)/100}this.resizeScale!==b&&(this.textTransform=`scale(${this.resizeScale}, ${this.resizeScale})`,this.cd.markForCheck(),r&&setTimeout(()=>this.scaleText(!1),50))}onClick(r){this.select.emit(r)}getLegendOptions(){return{scaleType:Cn.Ordinal,colors:this.colors,domain:this.domain,title:this.legendTitle,position:this.legendPosition}}setColors(){this.colors=new Lr(this.scheme,Cn.Ordinal,this.domain,this.customColors)}onActivate(r){this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value)>-1||(this.activeEntries=[r,...this.activeEntries],this.activate.emit({value:r,entries:this.activeEntries}))}onDeactivate(r){const i=this.activeEntries.findIndex(b=>b.name===r.name&&b.value===r.value);this.activeEntries.splice(i,1),this.activeEntries=[...this.activeEntries],this.deactivate.emit({value:r,entries:this.activeEntries})}isActive(r){return!!this.activeEntries&&void 0!==this.activeEntries.find(b=>r.name===b.name&&r.series===b.series)}trackBy(r,i){return i.valueArc.data.name}}Qd.\u0275fac=function(){let f;return function(i){return(f||(f=e.n5z(Qd)))(i||Qd)}}(),Qd.\u0275cmp=e.Xpm({type:Qd,selectors:[["ngx-charts-gauge"]],contentQueries:function(r,i,b){if(1&r&&e.Suo(b,Ir,5),2&r){let R;e.iGM(R=e.CRH())&&(i.tooltipTemplate=R.first)}},viewQuery:function(r,i){if(1&r&&e.Gf(T4,5),2&r){let b;e.iGM(b=e.CRH())&&(i.textEl=b.first)}},inputs:{legend:"legend",legendTitle:"legendTitle",legendPosition:"legendPosition",min:"min",max:"max",textValue:"textValue",units:"units",bigSegments:"bigSegments",smallSegments:"smallSegments",results:"results",showAxis:"showAxis",startAngle:"startAngle",angleSpan:"angleSpan",activeEntries:"activeEntries",axisTickFormatting:"axisTickFormatting",tooltipDisabled:"tooltipDisabled",valueFormatting:"valueFormatting",showText:"showText",margin:"margin"},outputs:{activate:"activate",deactivate:"deactivate"},features:[e.qOj],decls:5,vars:13,consts:[[3,"view","showLegend","legendOptions","activeEntries","animations","legendLabelClick","legendLabelActivate","legendLabelDeactivate"],[1,"gauge","chart"],[4,"ngFor","ngForOf","ngForTrackBy"],["ngx-charts-gauge-axis","",3,"bigSegments","smallSegments","min","max","radius","angleSpan","valueScale","startAngle","tickFormatting",4,"ngIf"],["alignment-baseline","central",3,"textAnchor",4,"ngIf"],["ngx-charts-gauge-arc","",3,"backgroundArc","valueArc","cornerRadius","colors","isActive","tooltipDisabled","tooltipTemplate","valueFormatting","animations","select","activate","deactivate"],["ngx-charts-gauge-axis","",3,"bigSegments","smallSegments","min","max","radius","angleSpan","valueScale","startAngle","tickFormatting"],["alignment-baseline","central"],["textEl",""],["x","0","dy","0"],["x","0","dy","1.2em"]],template:function(r,i){1&r&&(e.TgZ(0,"ngx-charts-chart",0),e.NdJ("legendLabelClick",function(R){return i.onClick(R)})("legendLabelActivate",function(R){return i.onActivate(R)})("legendLabelDeactivate",function(R){return i.onDeactivate(R)}),e.O4$(),e.TgZ(1,"g",1),e.YNc(2,sp,2,10,"g",2),e.YNc(3,L6,1,9,"g",3),e.YNc(4,L4,6,5,"text",4),e.qZA()()),2&r&&(e.Q6J("view",e.WLB(10,Ya,i.width,i.height))("showLegend",i.legend)("legendOptions",i.legendOptions)("activeEntries",i.activeEntries)("animations",i.animations),e.xp6(1),e.uIk("transform",i.transform),e.xp6(1),e.Q6J("ngForOf",i.arcs)("ngForTrackBy",i.trackBy),e.xp6(1),e.Q6J("ngIf",i.showAxis),e.xp6(1),e.Q6J("ngIf",i.showText))},dependencies:[Qa,Yd,fu,t.sg,t.O5],styles:[$r,".gauge .background-arc path{fill:#0000000d}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{font-size:12px;fill:#666;font-weight:700}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\n"],encapsulation:2,changeDetection:0});class jd{}jd.\u0275fac=function(r){return new(r||jd)},jd.\u0275mod=e.oAB({type:jd}),jd.\u0275inj=e.cJS({imports:[[Ds,Sl,y2]]});class qd{constructor(){!function B4(){typeof SVGElement<"u"&&typeof SVGElement.prototype.contains>"u"&&(SVGElement.prototype.contains=HTMLDivElement.prototype.contains)}()}}qd.\u0275fac=function(r){return new(r||qd)},qd.\u0275mod=e.oAB({type:qd}),qd.\u0275inj=e.cJS({imports:[Ds,Od,y2,Nd,x2,ic,A1,Wd,A2,Sl,Zd,jd]})},6021:(Ve,X,m)=>{"use strict";function e(P,M,z,I,W,Z,j){try{var ae=P[Z](j),re=ae.value}catch(pe){return void z(pe)}ae.done?M(re):Promise.resolve(re).then(I,W)}m.d(X,{uU:()=>S,OF:()=>A});var _=m(2560),E=m(4666),s=m(5646);function D(P,M){if(1&P&&_._UZ(0,"canvas",1),2&P){const z=_.oxw();_.Q6J("qrCode",z.value)("qrCodeErrorCorrectionLevel",z.errorCorrectionLevel)("qrCodeCenterImageSrc",z.centerImageSrc)("qrCodeCenterImageWidth",z.centerImageSize)("qrCodeCenterImageHeight",z.centerImageSize)("qrCodeMargin",z.margin)("width",z.size)("height",z.size)("darkColor",z.darkColor)("lightColor",z.lightColor)}}const u=/^#(?:[0-9a-fA-F]{3,4}){1,2}$/;class k{constructor(M){this.viewContainerRef=M,this.errorCorrectionLevel=k.DEFAULT_ERROR_CORRECTION_LEVEL,this.darkColor="#000000FF",this.lightColor="#FFFFFFFF",this.margin=16}ngOnChanges(){var M=this;return function t(P){return function(){var M=this,z=arguments;return new Promise(function(I,W){var Z=P.apply(M,z);function j(re){e(Z,I,W,j,ae,"next",re)}function ae(re){e(Z,I,W,j,ae,"throw",re)}j(void 0)})}}(function*(){if(!M.value)return;M.version&&M.version>40?(console.warn("[qrCode] max version is 40, clamping"),M.version=40):M.version&&M.version<1?(console.warn("[qrCode] min version is 1, clamping"),M.version=1):void 0!==M.version&&isNaN(M.version)&&(console.warn("[qrCode] version should be set to a number, defaulting to auto"),M.version=void 0);const z=M.viewContainerRef.element.nativeElement;if(!z)return;const I=z.getContext("2d");I&&I.clearRect(0,0,I.canvas.width,I.canvas.height);const W=M.errorCorrectionLevel??k.DEFAULT_ERROR_CORRECTION_LEVEL,Z=u.test(M.darkColor)?M.darkColor:void 0,j=u.test(M.lightColor)?M.lightColor:void 0;(0,_.X6Q)()&&(!Z&&M.darkColor&&console.error("[ng-qrcode] darkColor set to invalid value, must be RGBA hex color string, eg: #3050A1FF"),!j&&M.lightColor&&console.error("[ng-qrcode] lightColor set to invalid value, must be RGBA hex color string, eg: #3050A130")),yield s.toCanvas(z,M.value,{version:M.version,errorCorrectionLevel:W,width:M.width,margin:M.margin,color:{dark:Z,light:j}});const ae=M.centerImageSrc,re=p(M.centerImageWidth,k.DEFAULT_CENTER_IMAGE_SIZE),pe=p(M.centerImageHeight,k.DEFAULT_CENTER_IMAGE_SIZE);if(ae&&I){M.centerImage||(M.centerImage=new Image(re,pe)),ae!==M.centerImage?.src&&(M.centerImage.src=ae),re!==M.centerImage.width&&(M.centerImage.width=re),pe!==M.centerImage.height&&(M.centerImage.height=pe);const le=M.centerImage;le.onload=()=>{I.drawImage(le,z.width/2-re/2,z.height/2-pe/2,re,pe)}}})()}}function p(P,M){return void 0===P||""===P?M:"string"==typeof P?parseInt(P,10):P}k.DEFAULT_ERROR_CORRECTION_LEVEL="M",k.DEFAULT_CENTER_IMAGE_SIZE=40,k.\u0275fac=function(M){return new(M||k)(_.Y36(_.s_b))},k.\u0275dir=_.lG2({type:k,selectors:[["canvas","qrCode",""]],inputs:{value:["qrCode","value"],version:["qrCodeVersion","version"],errorCorrectionLevel:["qrCodeErrorCorrectionLevel","errorCorrectionLevel"],width:"width",height:"height",darkColor:"darkColor",lightColor:"lightColor",centerImageSrc:["qrCodeCenterImageSrc","centerImageSrc"],centerImageWidth:["qrCodeCenterImageWidth","centerImageWidth"],centerImageHeight:["qrCodeCenterImageHeight","centerImageHeight"],margin:["qrCodeMargin","margin"]},features:[_.TTD]});class S{}S.\u0275fac=function(M){return new(M||S)},S.\u0275cmp=_.Xpm({type:S,selectors:[["qr-code"]],inputs:{value:"value",size:"size",darkColor:"darkColor",lightColor:"lightColor",errorCorrectionLevel:"errorCorrectionLevel",centerImageSrc:"centerImageSrc",centerImageSize:"centerImageSize",margin:"margin"},decls:1,vars:1,consts:[[3,"qrCode","qrCodeErrorCorrectionLevel","qrCodeCenterImageSrc","qrCodeCenterImageWidth","qrCodeCenterImageHeight","qrCodeMargin","width","height","darkColor","lightColor",4,"ngIf"],[3,"qrCode","qrCodeErrorCorrectionLevel","qrCodeCenterImageSrc","qrCodeCenterImageWidth","qrCodeCenterImageHeight","qrCodeMargin","width","height","darkColor","lightColor"]],template:function(M,z){1&M&&_.YNc(0,D,1,10,"canvas",0),2&M&&_.Q6J("ngIf",z.value)},dependencies:[E.O5,k],encapsulation:2});class A{}A.\u0275fac=function(M){return new(M||A)},A.\u0275mod=_.oAB({type:A}),A.\u0275inj=_.cJS({imports:[E.ez]})},8822:(Ve,X,m)=>{"use strict";m.d(X,{op:()=>At,$V:()=>ze,Xd:()=>Ue});var e=m(253),t=m(3280),_=m(6646),E=m(9211),s=m(8951),D=m(8977),u=m(73),k=m(2560),p=m(4666);function S(Me){return getComputedStyle(Me)}function A(Me,Ce){for(var Je in Ce){var Ut=Ce[Je];"number"==typeof Ut&&(Ut+="px"),Me.style[Je]=Ut}return Me}function P(Me){var Ce=document.createElement("div");return Ce.className=Me,Ce}var M=typeof Element<"u"&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function z(Me,Ce){if(!M)throw new Error("No element matching method supported");return M.call(Me,Ce)}function I(Me){Me.remove?Me.remove():Me.parentNode&&Me.parentNode.removeChild(Me)}function W(Me,Ce){return Array.prototype.filter.call(Me.children,function(Je){return z(Je,Ce)})}var Z_main="ps",Z_rtl="ps__rtl",Z_element={thumb:function(Me){return"ps__thumb-"+Me},rail:function(Me){return"ps__rail-"+Me},consuming:"ps__child--consume"},Z_state={focus:"ps--focus",clicking:"ps--clicking",active:function(Me){return"ps--active-"+Me},scrolling:function(Me){return"ps--scrolling-"+Me}},j={x:null,y:null};function ae(Me,Ce){var Je=Me.element.classList,Ut=Z_state.scrolling(Ce);Je.contains(Ut)?clearTimeout(j[Ce]):Je.add(Ut)}function re(Me,Ce){j[Ce]=setTimeout(function(){return Me.isAlive&&Me.element.classList.remove(Z_state.scrolling(Ce))},Me.settings.scrollingThreshold)}var le=function(Ce){this.element=Ce,this.handlers={}},ve={isEmpty:{configurable:!0}};le.prototype.bind=function(Ce,Je){typeof this.handlers[Ce]>"u"&&(this.handlers[Ce]=[]),this.handlers[Ce].push(Je),this.element.addEventListener(Ce,Je,!1)},le.prototype.unbind=function(Ce,Je){var Ut=this;this.handlers[Ce]=this.handlers[Ce].filter(function(Dt){return!(!Je||Dt===Je)||(Ut.element.removeEventListener(Ce,Dt,!1),!1)})},le.prototype.unbindAll=function(){for(var Ce in this.handlers)this.unbind(Ce)},ve.isEmpty.get=function(){var Me=this;return Object.keys(this.handlers).every(function(Ce){return 0===Me.handlers[Ce].length})},Object.defineProperties(le.prototype,ve);var de=function(){this.eventElements=[]};function $(Me){if("function"==typeof window.CustomEvent)return new CustomEvent(Me);var Ce=document.createEvent("CustomEvent");return Ce.initCustomEvent(Me,!1,!1,void 0),Ce}function ue(Me,Ce,Je,Ut,Dt){var Tt;if(void 0===Ut&&(Ut=!0),void 0===Dt&&(Dt=!1),"top"===Ce)Tt=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==Ce)throw new Error("A proper axis should be provided");Tt=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function w(Me,Ce,Je,Ut,Dt){var Tt=Je[0],Ht=Je[1],He=Je[2],$e=Je[3],$t=Je[4],Rt=Je[5];void 0===Ut&&(Ut=!0),void 0===Dt&&(Dt=!1);var Xt=Me.element;Me.reach[$e]=null,Xt[He]<1&&(Me.reach[$e]="start"),Xt[He]>Me[Tt]-Me[Ht]-1&&(Me.reach[$e]="end"),Ce&&(Xt.dispatchEvent($("ps-scroll-"+$e)),Ce<0?Xt.dispatchEvent($("ps-scroll-"+$t)):Ce>0&&Xt.dispatchEvent($("ps-scroll-"+Rt)),Ut&&function pe(Me,Ce){ae(Me,Ce),re(Me,Ce)}(Me,$e)),Me.reach[$e]&&(Ce||Dt)&&Xt.dispatchEvent($("ps-"+$e+"-reach-"+Me.reach[$e]))}(Me,Je,Tt,Ut,Dt)}function n(Me){return parseInt(Me,10)||0}de.prototype.eventElement=function(Ce){var Je=this.eventElements.filter(function(Ut){return Ut.element===Ce})[0];return Je||(Je=new le(Ce),this.eventElements.push(Je)),Je},de.prototype.bind=function(Ce,Je,Ut){this.eventElement(Ce).bind(Je,Ut)},de.prototype.unbind=function(Ce,Je,Ut){var Dt=this.eventElement(Ce);Dt.unbind(Je,Ut),Dt.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(Dt),1)},de.prototype.unbindAll=function(){this.eventElements.forEach(function(Ce){return Ce.unbindAll()}),this.eventElements=[]},de.prototype.once=function(Ce,Je,Ut){var Dt=this.eventElement(Ce),Tt=function(Ht){Dt.unbind(Je,Tt),Ut(Ht)};Dt.bind(Je,Tt)};var d={isWebKit:typeof document<"u"&&"WebkitAppearance"in document.documentElement.style,supportsTouch:typeof window<"u"&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:typeof navigator<"u"&&navigator.msMaxTouchPoints,isChrome:typeof navigator<"u"&&/Chrome/i.test(navigator&&navigator.userAgent)};function y(Me){var Ce=Me.element,Je=Math.floor(Ce.scrollTop),Ut=Ce.getBoundingClientRect();Me.containerWidth=Math.round(Ut.width),Me.containerHeight=Math.round(Ut.height),Me.contentWidth=Ce.scrollWidth,Me.contentHeight=Ce.scrollHeight,Ce.contains(Me.scrollbarXRail)||(W(Ce,Z_element.rail("x")).forEach(function(Dt){return I(Dt)}),Ce.appendChild(Me.scrollbarXRail)),Ce.contains(Me.scrollbarYRail)||(W(Ce,Z_element.rail("y")).forEach(function(Dt){return I(Dt)}),Ce.appendChild(Me.scrollbarYRail)),!Me.settings.suppressScrollX&&Me.containerWidth+Me.settings.scrollXMarginOffset=Me.railXWidth-Me.scrollbarXWidth&&(Me.scrollbarXLeft=Me.railXWidth-Me.scrollbarXWidth),Me.scrollbarYTop>=Me.railYHeight-Me.scrollbarYHeight&&(Me.scrollbarYTop=Me.railYHeight-Me.scrollbarYHeight),function B(Me,Ce){var Je={width:Ce.railXWidth},Ut=Math.floor(Me.scrollTop);Ce.isRtl?Je.left=Ce.negativeScrollAdjustment+Me.scrollLeft+Ce.containerWidth-Ce.contentWidth:Je.left=Me.scrollLeft,Ce.isScrollbarXUsingBottom?Je.bottom=Ce.scrollbarXBottom-Ut:Je.top=Ce.scrollbarXTop+Ut,A(Ce.scrollbarXRail,Je);var Dt={top:Ut,height:Ce.railYHeight};Ce.isScrollbarYUsingRight?Ce.isRtl?Dt.right=Ce.contentWidth-(Ce.negativeScrollAdjustment+Me.scrollLeft)-Ce.scrollbarYRight-Ce.scrollbarYOuterWidth-9:Dt.right=Ce.scrollbarYRight-Me.scrollLeft:Ce.isRtl?Dt.left=Ce.negativeScrollAdjustment+Me.scrollLeft+2*Ce.containerWidth-Ce.contentWidth-Ce.scrollbarYLeft-Ce.scrollbarYOuterWidth:Dt.left=Ce.scrollbarYLeft+Me.scrollLeft,A(Ce.scrollbarYRail,Dt),A(Ce.scrollbarX,{left:Ce.scrollbarXLeft,width:Ce.scrollbarXWidth-Ce.railBorderXWidth}),A(Ce.scrollbarY,{top:Ce.scrollbarYTop,height:Ce.scrollbarYHeight-Ce.railBorderYWidth})}(Ce,Me),Me.scrollbarXActive?Ce.classList.add(Z_state.active("x")):(Ce.classList.remove(Z_state.active("x")),Me.scrollbarXWidth=0,Me.scrollbarXLeft=0,Ce.scrollLeft=!0===Me.isRtl?Me.contentWidth:0),Me.scrollbarYActive?Ce.classList.add(Z_state.active("y")):(Ce.classList.remove(Z_state.active("y")),Me.scrollbarYHeight=0,Me.scrollbarYTop=0,Ce.scrollTop=0)}function L(Me,Ce){return Me.settings.minScrollbarLength&&(Ce=Math.max(Ce,Me.settings.minScrollbarLength)),Me.settings.maxScrollbarLength&&(Ce=Math.min(Ce,Me.settings.maxScrollbarLength)),Ce}function C(Me,Ce){var Je=Ce[0],Ut=Ce[1],Dt=Ce[2],Tt=Ce[3],Ht=Ce[4],He=Ce[5],$e=Ce[6],$t=Ce[7],Rt=Ce[8],Xt=Me.element,Vn=null,zn=null,Tn=null;function Yn(Be){Be.touches&&Be.touches[0]&&(Be[Dt]=Be.touches[0].pageY),Xt[$e]=Vn+Tn*(Be[Dt]-zn),ae(Me,$t),y(Me),Be.stopPropagation(),Be.type.startsWith("touch")&&Be.changedTouches.length>1&&Be.preventDefault()}function Mt(){re(Me,$t),Me[Rt].classList.remove(Z_state.clicking),Me.event.unbind(Me.ownerDocument,"mousemove",Yn)}function Ze(Be,ht){Vn=Xt[$e],ht&&Be.touches&&(Be[Dt]=Be.touches[0].pageY),zn=Be[Dt],Tn=(Me[Ut]-Me[Je])/(Me[Tt]-Me[He]),ht?Me.event.bind(Me.ownerDocument,"touchmove",Yn):(Me.event.bind(Me.ownerDocument,"mousemove",Yn),Me.event.once(Me.ownerDocument,"mouseup",Mt),Be.preventDefault()),Me[Rt].classList.add(Z_state.clicking),Be.stopPropagation()}Me.event.bind(Me[Ht],"mousedown",function(Be){Ze(Be)}),Me.event.bind(Me[Ht],"touchstart",function(Be){Ze(Be,!0)})}var ke={"click-rail":function v(Me){Me.element,Me.event.bind(Me.scrollbarY,"mousedown",function(Je){return Je.stopPropagation()}),Me.event.bind(Me.scrollbarYRail,"mousedown",function(Je){var Dt=Je.pageY-window.pageYOffset-Me.scrollbarYRail.getBoundingClientRect().top>Me.scrollbarYTop?1:-1;Me.element.scrollTop+=Dt*Me.containerHeight,y(Me),Je.stopPropagation()}),Me.event.bind(Me.scrollbarX,"mousedown",function(Je){return Je.stopPropagation()}),Me.event.bind(Me.scrollbarXRail,"mousedown",function(Je){var Dt=Je.pageX-window.pageXOffset-Me.scrollbarXRail.getBoundingClientRect().left>Me.scrollbarXLeft?1:-1;Me.element.scrollLeft+=Dt*Me.containerWidth,y(Me),Je.stopPropagation()})},"drag-thumb":function a(Me){C(Me,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),C(Me,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function N(Me){var Ce=Me.element;Me.event.bind(Me.ownerDocument,"keydown",function(Tt){if(!(Tt.isDefaultPrevented&&Tt.isDefaultPrevented()||Tt.defaultPrevented)&&(z(Ce,":hover")||z(Me.scrollbarX,":focus")||z(Me.scrollbarY,":focus"))){var Ht=document.activeElement?document.activeElement:Me.ownerDocument.activeElement;if(Ht){if("IFRAME"===Ht.tagName)Ht=Ht.contentDocument.activeElement;else for(;Ht.shadowRoot;)Ht=Ht.shadowRoot.activeElement;if(function o(Me){return z(Me,"input,[contenteditable]")||z(Me,"select,[contenteditable]")||z(Me,"textarea,[contenteditable]")||z(Me,"button,[contenteditable]")}(Ht))return}var He=0,$e=0;switch(Tt.which){case 37:He=Tt.metaKey?-Me.contentWidth:Tt.altKey?-Me.containerWidth:-30;break;case 38:$e=Tt.metaKey?Me.contentHeight:Tt.altKey?Me.containerHeight:30;break;case 39:He=Tt.metaKey?Me.contentWidth:Tt.altKey?Me.containerWidth:30;break;case 40:$e=Tt.metaKey?-Me.contentHeight:Tt.altKey?-Me.containerHeight:-30;break;case 32:$e=Tt.shiftKey?Me.containerHeight:-Me.containerHeight;break;case 33:$e=Me.containerHeight;break;case 34:$e=-Me.containerHeight;break;case 36:$e=Me.contentHeight;break;case 35:$e=-Me.contentHeight;break;default:return}Me.settings.suppressScrollX&&0!==He||Me.settings.suppressScrollY&&0!==$e||(Ce.scrollTop-=$e,Ce.scrollLeft+=He,y(Me),function Dt(Tt,Ht){var He=Math.floor(Ce.scrollTop);if(0===Tt){if(!Me.scrollbarYActive)return!1;if(0===He&&Ht>0||He>=Me.contentHeight-Me.containerHeight&&Ht<0)return!Me.settings.wheelPropagation}var $e=Ce.scrollLeft;if(0===Ht){if(!Me.scrollbarXActive)return!1;if(0===$e&&Tt<0||$e>=Me.contentWidth-Me.containerWidth&&Tt>0)return!Me.settings.wheelPropagation}return!0}(He,$e)&&Tt.preventDefault())}})},wheel:function F(Me){var Ce=Me.element;function Tt(Ht){var He=function Ut(Ht){var He=Ht.deltaX,$e=-1*Ht.deltaY;return(typeof He>"u"||typeof $e>"u")&&(He=-1*Ht.wheelDeltaX/6,$e=Ht.wheelDeltaY/6),Ht.deltaMode&&1===Ht.deltaMode&&(He*=10,$e*=10),He!=He&&$e!=$e&&(He=0,$e=Ht.wheelDelta),Ht.shiftKey?[-$e,-He]:[He,$e]}(Ht),$e=He[0],$t=He[1];if(!function Dt(Ht,He,$e){if(!d.isWebKit&&Ce.querySelector("select:focus"))return!0;if(!Ce.contains(Ht))return!1;for(var $t=Ht;$t&&$t!==Ce;){if($t.classList.contains(Z_element.consuming))return!0;var Rt=S($t);if($e&&Rt.overflowY.match(/(scroll|auto)/)){var Xt=$t.scrollHeight-$t.clientHeight;if(Xt>0&&($t.scrollTop>0&&$e<0||$t.scrollTop0))return!0}if(He&&Rt.overflowX.match(/(scroll|auto)/)){var Vn=$t.scrollWidth-$t.clientWidth;if(Vn>0&&($t.scrollLeft>0&&He<0||$t.scrollLeft0))return!0}$t=$t.parentNode}return!1}(Ht.target,$e,$t)){var Rt=!1;Me.settings.useBothWheelAxes?Me.scrollbarYActive&&!Me.scrollbarXActive?($t?Ce.scrollTop-=$t*Me.settings.wheelSpeed:Ce.scrollTop+=$e*Me.settings.wheelSpeed,Rt=!0):Me.scrollbarXActive&&!Me.scrollbarYActive&&($e?Ce.scrollLeft+=$e*Me.settings.wheelSpeed:Ce.scrollLeft-=$t*Me.settings.wheelSpeed,Rt=!0):(Ce.scrollTop-=$t*Me.settings.wheelSpeed,Ce.scrollLeft+=$e*Me.settings.wheelSpeed),y(Me),Rt=Rt||function Je(Ht,He){var $e=Math.floor(Ce.scrollTop),$t=0===Ce.scrollTop,Rt=$e+Ce.offsetHeight===Ce.scrollHeight,Xt=0===Ce.scrollLeft,Vn=Ce.scrollLeft+Ce.offsetWidth===Ce.scrollWidth;return!(Math.abs(He)>Math.abs(Ht)?$t||Rt:Xt||Vn)||!Me.settings.wheelPropagation}($e,$t),Rt&&!Ht.ctrlKey&&(Ht.stopPropagation(),Ht.preventDefault())}}typeof window.onwheel<"u"?Me.event.bind(Ce,"wheel",Tt):typeof window.onmousewheel<"u"&&Me.event.bind(Ce,"mousewheel",Tt)},touch:function J(Me){if(d.supportsTouch||d.supportsIePointer){var Ce=Me.element,Dt={},Tt=0,Ht={},He=null;d.supportsTouch?(Me.event.bind(Ce,"touchstart",Rt),Me.event.bind(Ce,"touchmove",Vn),Me.event.bind(Ce,"touchend",zn)):d.supportsIePointer&&(window.PointerEvent?(Me.event.bind(Ce,"pointerdown",Rt),Me.event.bind(Ce,"pointermove",Vn),Me.event.bind(Ce,"pointerup",zn)):window.MSPointerEvent&&(Me.event.bind(Ce,"MSPointerDown",Rt),Me.event.bind(Ce,"MSPointerMove",Vn),Me.event.bind(Ce,"MSPointerUp",zn)))}function Ut(Tn,Yn){Ce.scrollTop-=Yn,Ce.scrollLeft-=Tn,y(Me)}function $e(Tn){return Tn.targetTouches?Tn.targetTouches[0]:Tn}function $t(Tn){return(!Tn.pointerType||"pen"!==Tn.pointerType||0!==Tn.buttons)&&!!(Tn.targetTouches&&1===Tn.targetTouches.length||Tn.pointerType&&"mouse"!==Tn.pointerType&&Tn.pointerType!==Tn.MSPOINTER_TYPE_MOUSE)}function Rt(Tn){if($t(Tn)){var Yn=$e(Tn);Dt.pageX=Yn.pageX,Dt.pageY=Yn.pageY,Tt=(new Date).getTime(),null!==He&&clearInterval(He)}}function Vn(Tn){if($t(Tn)){var Yn=$e(Tn),Mt={pageX:Yn.pageX,pageY:Yn.pageY},Ze=Mt.pageX-Dt.pageX,Be=Mt.pageY-Dt.pageY;if(function Xt(Tn,Yn,Mt){if(!Ce.contains(Tn))return!1;for(var Ze=Tn;Ze&&Ze!==Ce;){if(Ze.classList.contains(Z_element.consuming))return!0;var Be=S(Ze);if(Mt&&Be.overflowY.match(/(scroll|auto)/)){var ht=Ze.scrollHeight-Ze.clientHeight;if(ht>0&&(Ze.scrollTop>0&&Mt<0||Ze.scrollTop0))return!0}if(Yn&&Be.overflowX.match(/(scroll|auto)/)){var se=Ze.scrollWidth-Ze.clientWidth;if(se>0&&(Ze.scrollLeft>0&&Yn<0||Ze.scrollLeft0))return!0}Ze=Ze.parentNode}return!1}(Tn.target,Ze,Be))return;Ut(Ze,Be),Dt=Mt;var ht=(new Date).getTime(),se=ht-Tt;se>0&&(Ht.x=Ze/se,Ht.y=Be/se,Tt=ht),function Je(Tn,Yn){var Mt=Math.floor(Ce.scrollTop),Ze=Ce.scrollLeft,Be=Math.abs(Tn),ht=Math.abs(Yn);if(ht>Be){if(Yn<0&&Mt===Me.contentHeight-Me.containerHeight||Yn>0&&0===Mt)return 0===window.scrollY&&Yn>0&&d.isChrome}else if(Be>ht&&(Tn<0&&Ze===Me.contentWidth-Me.containerWidth||Tn>0&&0===Ze))return!0;return!0}(Ze,Be)&&Tn.preventDefault()}}function zn(){Me.settings.swipeEasing&&(clearInterval(He),He=setInterval(function(){Me.isInitialized?clearInterval(He):Ht.x||Ht.y?Math.abs(Ht.x)<.01&&Math.abs(Ht.y)<.01?clearInterval(He):Me.element?(Ut(30*Ht.x,30*Ht.y),Ht.x*=.8,Ht.y*=.8):clearInterval(He):clearInterval(He)},10))}}},Ge=function(Ce,Je){var Ut=this;if(void 0===Je&&(Je={}),"string"==typeof Ce&&(Ce=document.querySelector(Ce)),!Ce||!Ce.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var Dt in this.element=Ce,Ce.classList.add(Z_main),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},Je)this.settings[Dt]=Je[Dt];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var Rt,$t,Tt=function(){return Ce.classList.add(Z_state.focus)},Ht=function(){return Ce.classList.remove(Z_state.focus)};this.isRtl="rtl"===S(Ce).direction,!0===this.isRtl&&Ce.classList.add(Z_rtl),this.isNegativeScroll=($t=Ce.scrollLeft,Ce.scrollLeft=-1,Rt=Ce.scrollLeft<0,Ce.scrollLeft=$t,Rt),this.negativeScrollAdjustment=this.isNegativeScroll?Ce.scrollWidth-Ce.clientWidth:0,this.event=new de,this.ownerDocument=Ce.ownerDocument||document,this.scrollbarXRail=P(Z_element.rail("x")),Ce.appendChild(this.scrollbarXRail),this.scrollbarX=P(Z_element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",Tt),this.event.bind(this.scrollbarX,"blur",Ht),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var He=S(this.scrollbarXRail);this.scrollbarXBottom=parseInt(He.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=n(He.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=n(He.borderLeftWidth)+n(He.borderRightWidth),A(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=n(He.marginLeft)+n(He.marginRight),A(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=P(Z_element.rail("y")),Ce.appendChild(this.scrollbarYRail),this.scrollbarY=P(Z_element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",Tt),this.event.bind(this.scrollbarY,"blur",Ht),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var $e=S(this.scrollbarYRail);this.scrollbarYRight=parseInt($e.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=n($e.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function h(Me){var Ce=S(Me);return n(Ce.width)+n(Ce.paddingLeft)+n(Ce.paddingRight)+n(Ce.borderLeftWidth)+n(Ce.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=n($e.borderTopWidth)+n($e.borderBottomWidth),A(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=n($e.marginTop)+n($e.marginBottom),A(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:Ce.scrollLeft<=0?"start":Ce.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:Ce.scrollTop<=0?"start":Ce.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function($t){return ke[$t](Ut)}),this.lastScrollTop=Math.floor(Ce.scrollTop),this.lastScrollLeft=Ce.scrollLeft,this.event.bind(this.element,"scroll",function($t){return Ut.onScroll($t)}),y(this)};Ge.prototype.update=function(){!this.isAlive||(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,A(this.scrollbarXRail,{display:"block"}),A(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=n(S(this.scrollbarXRail).marginLeft)+n(S(this.scrollbarXRail).marginRight),this.railYMarginHeight=n(S(this.scrollbarYRail).marginTop)+n(S(this.scrollbarYRail).marginBottom),A(this.scrollbarXRail,{display:"none"}),A(this.scrollbarYRail,{display:"none"}),y(this),ue(this,"top",0,!1,!0),ue(this,"left",0,!1,!0),A(this.scrollbarXRail,{display:""}),A(this.scrollbarYRail,{display:""}))},Ge.prototype.onScroll=function(Ce){!this.isAlive||(y(this),ue(this,"top",this.element.scrollTop-this.lastScrollTop),ue(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},Ge.prototype.destroy=function(){!this.isAlive||(this.event.unbindAll(),I(this.scrollbarX),I(this.scrollbarY),I(this.scrollbarXRail),I(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},Ge.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(Ce){return!Ce.match(/^ps([-_].+|)$/)}).join(" ")};const je=Ge;var We=function(){if(typeof Map<"u")return Map;function Me(Ce,Je){var Ut=-1;return Ce.some(function(Dt,Tt){return Dt[0]===Je&&(Ut=Tt,!0)}),Ut}return function(){function Ce(){this.__entries__=[]}return Object.defineProperty(Ce.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),Ce.prototype.get=function(Je){var Ut=Me(this.__entries__,Je),Dt=this.__entries__[Ut];return Dt&&Dt[1]},Ce.prototype.set=function(Je,Ut){var Dt=Me(this.__entries__,Je);~Dt?this.__entries__[Dt][1]=Ut:this.__entries__.push([Je,Ut])},Ce.prototype.delete=function(Je){var Ut=this.__entries__,Dt=Me(Ut,Je);~Dt&&Ut.splice(Dt,1)},Ce.prototype.has=function(Je){return!!~Me(this.__entries__,Je)},Ce.prototype.clear=function(){this.__entries__.splice(0)},Ce.prototype.forEach=function(Je,Ut){void 0===Ut&&(Ut=null);for(var Dt=0,Tt=this.__entries__;Dt0},Me.prototype.connect_=function(){!be||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),De?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},Me.prototype.disconnect_=function(){!be||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},Me.prototype.onTransitionEnd_=function(Ce){var Je=Ce.propertyName,Ut=void 0===Je?"":Je;Le.some(function(Tt){return!!~Ut.indexOf(Tt)})&&this.refresh()},Me.getInstance=function(){return this.instance_||(this.instance_=new Me),this.instance_},Me.instance_=null,Me}(),fe=function(Me,Ce){for(var Je=0,Ut=Object.keys(Ce);Je"u")&&Element instanceof Object){if(!(Ce instanceof ee(Ce).Element))throw new TypeError('parameter 1 is not of type "Element".');var Je=this.observations_;Je.has(Ce)||(Je.set(Ce,new yn(Ce)),this.controller_.addObserver(this),this.controller_.refresh())}},Me.prototype.unobserve=function(Ce){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u")&&Element instanceof Object){if(!(Ce instanceof ee(Ce).Element))throw new TypeError('parameter 1 is not of type "Element".');var Je=this.observations_;!Je.has(Ce)||(Je.delete(Ce),Je.size||this.controller_.removeObserver(this))}},Me.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},Me.prototype.gatherActive=function(){var Ce=this;this.clearActive(),this.observations_.forEach(function(Je){Je.isActive()&&Ce.activeObservations_.push(Je)})},Me.prototype.broadcastActive=function(){if(this.hasActive()){var Ce=this.callbackCtx_,Je=this.activeObservations_.map(function(Ut){return new Jt(Ut.target,Ut.broadcastRect())});this.callback_.call(Ce,Je,Ce),this.clearActive()}},Me.prototype.clearActive=function(){this.activeObservations_.splice(0)},Me.prototype.hasActive=function(){return this.activeObservations_.length>0},Me}(),In=typeof WeakMap<"u"?new WeakMap:new We,an=function Me(Ce){if(!(this instanceof Me))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var Je=ne.getInstance(),Ut=new Gt(Ce,Je,this);In.set(this,Ut)};["observe","unobserve","disconnect"].forEach(function(Me){an.prototype[Me]=function(){var Ce;return(Ce=In.get(this))[Me].apply(Ce,arguments)}});const pn=typeof Ye.ResizeObserver<"u"?Ye.ResizeObserver:an;function nt(Me,Ce){if(1&Me&&(k.TgZ(0,"div",3),k._UZ(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7),k.qZA()),2&Me){const Je=k.oxw();k.ekj("ps-at-top",Je.states.top)("ps-at-left",Je.states.left)("ps-at-right",Je.states.right)("ps-at-bottom",Je.states.bottom),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorY&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorX&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorX&&Je.interaction),k.xp6(1),k.ekj("ps-indicator-show",Je.indicatorY&&Je.interaction)}}const At=new k.OlP("PERFECT_SCROLLBAR_CONFIG");class we{constructor(Ce,Je,Ut,Dt){this.x=Ce,this.y=Je,this.w=Ut,this.h=Dt}}class Y{constructor(Ce,Je){this.x=Ce,this.y=Je}}const te=["psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart"];class xe{constructor(Ce={}){this.assign(Ce)}assign(Ce={}){for(const Je in Ce)this[Je]=Ce[Je]}}class ze{constructor(Ce,Je,Ut,Dt,Tt){this.zone=Ce,this.differs=Je,this.elementRef=Ut,this.platformId=Dt,this.defaults=Tt,this.instance=null,this.ro=null,this.timeout=null,this.animation=null,this.configDiff=null,this.ngDestroy=new e.x,this.disabled=!1,this.psScrollY=new k.vpe,this.psScrollX=new k.vpe,this.psScrollUp=new k.vpe,this.psScrollDown=new k.vpe,this.psScrollLeft=new k.vpe,this.psScrollRight=new k.vpe,this.psYReachEnd=new k.vpe,this.psYReachStart=new k.vpe,this.psXReachEnd=new k.vpe,this.psXReachStart=new k.vpe}ngOnInit(){if(!this.disabled&&(0,p.NF)(this.platformId)){const Ce=new xe(this.defaults);Ce.assign(this.config),this.zone.runOutsideAngular(()=>{this.instance=new je(this.elementRef.nativeElement,Ce)}),this.configDiff||(this.configDiff=this.differs.find(this.config||{}).create(),this.configDiff.diff(this.config||{})),this.zone.runOutsideAngular(()=>{this.ro=new pn(()=>{this.update()}),this.elementRef.nativeElement.children[0]&&this.ro.observe(this.elementRef.nativeElement.children[0]),this.ro.observe(this.elementRef.nativeElement)}),this.zone.runOutsideAngular(()=>{te.forEach(Je=>{const Ut=Je.replace(/([A-Z])/g,Dt=>`-${Dt.toLowerCase()}`);(0,t.R)(this.elementRef.nativeElement,Ut).pipe((0,E.e)(20),(0,s.R)(this.ngDestroy)).subscribe(Dt=>{this[Je].emit(Dt)})})})}}ngOnDestroy(){(0,p.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.complete(),this.ro&&this.ro.disconnect(),this.timeout&&typeof window<"u"&&window.clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.instance&&this.instance.destroy()}),this.instance=null)}ngDoCheck(){!this.disabled&&this.configDiff&&(0,p.NF)(this.platformId)&&this.configDiff.diff(this.config||{})&&(this.ngOnDestroy(),this.ngOnInit())}ngOnChanges(Ce){Ce.disabled&&!Ce.disabled.isFirstChange()&&(0,p.NF)(this.platformId)&&Ce.disabled.currentValue!==Ce.disabled.previousValue&&(!0===Ce.disabled.currentValue?this.ngOnDestroy():!1===Ce.disabled.currentValue&&this.ngOnInit())}ps(){return this.instance}update(){typeof window<"u"&&(this.timeout&&window.clearTimeout(this.timeout),this.timeout=window.setTimeout(()=>{if(!this.disabled&&this.configDiff)try{this.zone.runOutsideAngular(()=>{this.instance&&this.instance.update()})}catch{}},0))}geometry(Ce="scroll"){return new we(this.elementRef.nativeElement[Ce+"Left"],this.elementRef.nativeElement[Ce+"Top"],this.elementRef.nativeElement[Ce+"Width"],this.elementRef.nativeElement[Ce+"Height"])}position(Ce=!1){return!Ce&&this.instance?new Y(this.instance.reach.x||0,this.instance.reach.y||0):new Y(this.elementRef.nativeElement.scrollLeft,this.elementRef.nativeElement.scrollTop)}scrollable(Ce="any"){const Je=this.elementRef.nativeElement;return"any"===Ce?Je.classList.contains("ps--active-x")||Je.classList.contains("ps--active-y"):"both"===Ce?Je.classList.contains("ps--active-x")&&Je.classList.contains("ps--active-y"):Je.classList.contains("ps--active-"+Ce)}scrollTo(Ce,Je,Ut){this.disabled||(null==Je&&null==Ut?this.animateScrolling("scrollTop",Ce,Ut):(null!=Ce&&this.animateScrolling("scrollLeft",Ce,Ut),null!=Je&&this.animateScrolling("scrollTop",Je,Ut)))}scrollToX(Ce,Je){this.animateScrolling("scrollLeft",Ce,Je)}scrollToY(Ce,Je){this.animateScrolling("scrollTop",Ce,Je)}scrollToTop(Ce,Je){this.animateScrolling("scrollTop",Ce||0,Je)}scrollToLeft(Ce,Je){this.animateScrolling("scrollLeft",Ce||0,Je)}scrollToRight(Ce,Je){const Ut=this.elementRef.nativeElement.scrollWidth-this.elementRef.nativeElement.clientWidth;this.animateScrolling("scrollLeft",Ut-(Ce||0),Je)}scrollToBottom(Ce,Je){const Ut=this.elementRef.nativeElement.scrollHeight-this.elementRef.nativeElement.clientHeight;this.animateScrolling("scrollTop",Ut-(Ce||0),Je)}scrollToElement(Ce,Je,Ut){if("string"==typeof Ce&&(Ce=this.elementRef.nativeElement.querySelector(Ce)),Ce){const Dt=Ce.getBoundingClientRect(),Tt=this.elementRef.nativeElement.getBoundingClientRect();if(this.elementRef.nativeElement.classList.contains("ps--active-x")){const Ht=this.elementRef.nativeElement.scrollLeft,He=Dt.left-Tt.left+Ht;this.animateScrolling("scrollLeft",He+(Je||0),Ut)}if(this.elementRef.nativeElement.classList.contains("ps--active-y")){const Ht=this.elementRef.nativeElement.scrollTop,He=Dt.top-Tt.top+Ht;this.animateScrolling("scrollTop",He+(Je||0),Ut)}}}animateScrolling(Ce,Je,Ut){if(this.animation&&(window.cancelAnimationFrame(this.animation),this.animation=null),!Ut||typeof window>"u")this.elementRef.nativeElement[Ce]=Je;else if(Je!==this.elementRef.nativeElement[Ce]){let Dt=0,Tt=0,Ht=performance.now(),He=this.elementRef.nativeElement[Ce];const $e=(He-Je)/2,$t=Rt=>{Tt+=Math.PI/(Ut/(Rt-Ht)),Dt=Math.round(Je+$e+$e*Math.cos(Tt)),this.elementRef.nativeElement[Ce]===He&&(Tt>=Math.PI?this.animateScrolling(Ce,Je,0):(this.elementRef.nativeElement[Ce]=Dt,He=this.elementRef.nativeElement[Ce],Ht=Rt,this.animation=window.requestAnimationFrame($t)))};window.requestAnimationFrame($t)}}}ze.\u0275fac=function(Ce){return new(Ce||ze)(k.Y36(k.R0b),k.Y36(k.aQg),k.Y36(k.SBq),k.Y36(k.Lbi),k.Y36(At,8))},ze.\u0275dir=k.lG2({type:ze,selectors:[["","perfectScrollbar",""]],inputs:{disabled:"disabled",config:["perfectScrollbar","config"]},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],features:[k.TTD]});class _t{constructor(Ce,Je,Ut){this.zone=Ce,this.cdRef=Je,this.platformId=Ut,this.states={},this.indicatorX=!1,this.indicatorY=!1,this.interaction=!1,this.scrollPositionX=0,this.scrollPositionY=0,this.scrollDirectionX=0,this.scrollDirectionY=0,this.usePropagationX=!1,this.usePropagationY=!1,this.allowPropagationX=!1,this.allowPropagationY=!1,this.stateTimeout=null,this.ngDestroy=new e.x,this.stateUpdate=new e.x,this.disabled=!1,this.usePSClass=!0,this.autoPropagation=!1,this.scrollIndicators=!1,this.psScrollY=new k.vpe,this.psScrollX=new k.vpe,this.psScrollUp=new k.vpe,this.psScrollDown=new k.vpe,this.psScrollLeft=new k.vpe,this.psScrollRight=new k.vpe,this.psYReachEnd=new k.vpe,this.psYReachStart=new k.vpe,this.psXReachEnd=new k.vpe,this.psXReachStart=new k.vpe}ngOnInit(){(0,p.NF)(this.platformId)&&(this.stateUpdate.pipe((0,s.R)(this.ngDestroy),(0,D.x)((Ce,Je)=>Ce===Je&&!this.stateTimeout)).subscribe(Ce=>{this.stateTimeout&&typeof window<"u"&&(window.clearTimeout(this.stateTimeout),this.stateTimeout=null),"x"===Ce||"y"===Ce?(this.interaction=!1,"x"===Ce?(this.indicatorX=!1,this.states.left=!1,this.states.right=!1,this.autoPropagation&&this.usePropagationX&&(this.allowPropagationX=!1)):"y"===Ce&&(this.indicatorY=!1,this.states.top=!1,this.states.bottom=!1,this.autoPropagation&&this.usePropagationY&&(this.allowPropagationY=!1))):("left"===Ce||"right"===Ce?(this.states.left=!1,this.states.right=!1,this.states[Ce]=!0,this.autoPropagation&&this.usePropagationX&&(this.indicatorX=!0)):("top"===Ce||"bottom"===Ce)&&(this.states.top=!1,this.states.bottom=!1,this.states[Ce]=!0,this.autoPropagation&&this.usePropagationY&&(this.indicatorY=!0)),this.autoPropagation&&typeof window<"u"&&(this.stateTimeout=window.setTimeout(()=>{this.indicatorX=!1,this.indicatorY=!1,this.stateTimeout=null,this.interaction&&(this.states.left||this.states.right)&&(this.allowPropagationX=!0),this.interaction&&(this.states.top||this.states.bottom)&&(this.allowPropagationY=!0),this.cdRef.markForCheck()},500))),this.cdRef.markForCheck(),this.cdRef.detectChanges()}),this.zone.runOutsideAngular(()=>{if(this.directiveRef){const Ce=this.directiveRef.elementRef.nativeElement;(0,t.R)(Ce,"wheel").pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{if(!this.disabled&&this.autoPropagation){const Ut=Je.deltaX,Dt=Je.deltaY;this.checkPropagation(Je,Ut,Dt)}}),(0,t.R)(Ce,"touchmove").pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{if(!this.disabled&&this.autoPropagation){const Ut=Je.touches[0].clientX,Dt=Je.touches[0].clientY,Tt=Ut-this.scrollPositionX,Ht=Dt-this.scrollPositionY;this.checkPropagation(Je,Tt,Ht),this.scrollPositionX=Ut,this.scrollPositionY=Dt}}),(0,_.T)((0,t.R)(Ce,"ps-scroll-x").pipe((0,u.h)("x")),(0,t.R)(Ce,"ps-scroll-y").pipe((0,u.h)("y")),(0,t.R)(Ce,"ps-x-reach-end").pipe((0,u.h)("right")),(0,t.R)(Ce,"ps-y-reach-end").pipe((0,u.h)("bottom")),(0,t.R)(Ce,"ps-x-reach-start").pipe((0,u.h)("left")),(0,t.R)(Ce,"ps-y-reach-start").pipe((0,u.h)("top"))).pipe((0,s.R)(this.ngDestroy)).subscribe(Je=>{!this.disabled&&(this.autoPropagation||this.scrollIndicators)&&this.stateUpdate.next(Je)})}}),window.setTimeout(()=>{te.forEach(Ce=>{this.directiveRef&&(this.directiveRef[Ce]=this[Ce])})},0))}ngOnDestroy(){(0,p.NF)(this.platformId)&&(this.ngDestroy.next(),this.ngDestroy.unsubscribe(),this.stateTimeout&&typeof window<"u"&&window.clearTimeout(this.stateTimeout))}ngDoCheck(){if((0,p.NF)(this.platformId)&&!this.disabled&&this.autoPropagation&&this.directiveRef){const Ce=this.directiveRef.elementRef.nativeElement;this.usePropagationX=Ce.classList.contains("ps--active-x"),this.usePropagationY=Ce.classList.contains("ps--active-y")}}checkPropagation(Ce,Je,Ut){this.interaction=!0;const Dt=Je<0?-1:1,Tt=Ut<0?-1:1;(this.usePropagationX&&this.usePropagationY||this.usePropagationX&&(!this.allowPropagationX||this.scrollDirectionX!==Dt)||this.usePropagationY&&(!this.allowPropagationY||this.scrollDirectionY!==Tt))&&(Ce.preventDefault(),Ce.stopPropagation()),Je&&(this.scrollDirectionX=Dt),Ut&&(this.scrollDirectionY=Tt),this.stateUpdate.next("interaction"),this.cdRef.detectChanges()}}_t.\u0275fac=function(Ce){return new(Ce||_t)(k.Y36(k.R0b),k.Y36(k.sBO),k.Y36(k.Lbi))},_t.\u0275cmp=k.Xpm({type:_t,selectors:[["perfect-scrollbar"]],viewQuery:function(Ce,Je){if(1&Ce&&k.Gf(ze,7),2&Ce){let Ut;k.iGM(Ut=k.CRH())&&(Je.directiveRef=Ut.first)}},hostVars:4,hostBindings:function(Ce,Je){2&Ce&&k.ekj("ps-show-limits",Je.autoPropagation)("ps-show-active",Je.scrollIndicators)},inputs:{disabled:"disabled",usePSClass:"usePSClass",autoPropagation:"autoPropagation",scrollIndicators:"scrollIndicators",config:"config"},outputs:{psScrollY:"psScrollY",psScrollX:"psScrollX",psScrollUp:"psScrollUp",psScrollDown:"psScrollDown",psScrollLeft:"psScrollLeft",psScrollRight:"psScrollRight",psYReachEnd:"psYReachEnd",psYReachStart:"psYReachStart",psXReachEnd:"psXReachEnd",psXReachStart:"psXReachStart"},exportAs:["ngxPerfectScrollbar"],ngContentSelectors:["*"],decls:4,vars:5,consts:[[2,"position","static",3,"perfectScrollbar","disabled"],[1,"ps-content"],["class","ps-overlay",3,"ps-at-top","ps-at-left","ps-at-right","ps-at-bottom",4,"ngIf"],[1,"ps-overlay"],[1,"ps-indicator-top"],[1,"ps-indicator-left"],[1,"ps-indicator-right"],[1,"ps-indicator-bottom"]],template:function(Ce,Je){1&Ce&&(k.F$t(),k.TgZ(0,"div",0)(1,"div",1),k.Hsn(2),k.qZA(),k.YNc(3,nt,5,16,"div",2),k.qZA()),2&Ce&&(k.ekj("ps",Je.usePSClass),k.Q6J("perfectScrollbar",Je.config)("disabled",Je.disabled),k.xp6(3),k.Q6J("ngIf",Je.scrollIndicators))},dependencies:[ze,p.O5],styles:["perfect-scrollbar{position:relative;display:block;overflow:hidden;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar[hidden]{display:none}perfect-scrollbar[fxflex]{display:flex;flex-direction:column;height:auto;min-width:0;min-height:0}perfect-scrollbar[fxflex]>.ps{flex:1 1 auto;width:auto;height:auto;min-width:0;min-height:0;-webkit-box-flex:1}perfect-scrollbar[fxlayout]>.ps,perfect-scrollbar[fxlayout]>.ps>.ps-content{display:flex;flex:1 1 auto;flex-direction:inherit;align-items:inherit;align-content:inherit;justify-content:inherit;width:100%;height:100%;-webkit-box-align:inherit;-webkit-box-flex:1;-webkit-box-pack:inherit}perfect-scrollbar[fxlayout=row]>.ps,perfect-scrollbar[fxlayout=row]>.ps>.ps-content{flex-direction:row!important}perfect-scrollbar[fxlayout=column]>.ps,perfect-scrollbar[fxlayout=column]>.ps>.ps-content{flex-direction:column!important}perfect-scrollbar>.ps{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%}perfect-scrollbar>.ps textarea{-ms-overflow-style:scrollbar}perfect-scrollbar>.ps>.ps-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;pointer-events:none}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{position:absolute;opacity:0;transition:opacity .3s ease-in-out}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{left:0;min-width:100%;min-height:24px}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left,perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{top:0;min-width:24px;min-height:100%}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-top{top:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-left{left:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-right{right:0}perfect-scrollbar>.ps>.ps-overlay .ps-indicator-bottom{bottom:0}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y{top:0!important;right:0!important;left:auto!important;width:10px;cursor:default;transition:width .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-y>.ps__rail-y:hover,perfect-scrollbar>.ps.ps--active-y>.ps__rail-y.ps--clicking{width:15px}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x{top:auto!important;bottom:0!important;left:0!important;height:10px;cursor:default;transition:height .2s linear,opacity .2s linear,background-color .2s linear}perfect-scrollbar>.ps.ps--active-x>.ps__rail-x:hover,perfect-scrollbar>.ps.ps--active-x>.ps__rail-x.ps--clicking{height:15px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-y{margin:0 0 10px}perfect-scrollbar>.ps.ps--active-x.ps--active-y>.ps__rail-x{margin:0 10px 0 0}perfect-scrollbar>.ps.ps--scrolling-y>.ps__rail-y,perfect-scrollbar>.ps.ps--scrolling-x>.ps__rail-x{opacity:.9;background-color:#eee}perfect-scrollbar.ps-show-always>.ps.ps--active-y>.ps__rail-y,perfect-scrollbar.ps-show-always>.ps.ps--active-x>.ps__rail-x{opacity:.6}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-top) .ps-indicator-top{opacity:1;background:linear-gradient(to bottom,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-y>.ps-overlay:not(.ps-at-bottom) .ps-indicator-bottom{opacity:1;background:linear-gradient(to top,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-left) .ps-indicator-left{opacity:1;background:linear-gradient(to right,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active>.ps.ps--active-x>.ps-overlay:not(.ps-at-right) .ps-indicator-right{opacity:1;background:linear-gradient(to left,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top{background:linear-gradient(to bottom,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom{background:linear-gradient(to top,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left{background:linear-gradient(to right,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right{background:linear-gradient(to left,rgba(170,170,170,.5) 0%,rgba(170,170,170,0) 100%)}perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-top .ps-indicator-top.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-y>.ps-overlay.ps-at-bottom .ps-indicator-bottom.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-left .ps-indicator-left.ps-indicator-show,perfect-scrollbar.ps-show-active.ps-show-limits>.ps.ps--active-x>.ps-overlay.ps-at-right .ps-indicator-right.ps-indicator-show{opacity:1}\n",".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0px;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style: none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto!important}}\n"],encapsulation:2});class ct{constructor(Ce,Je){this.renderer=Ce,["ps__child","ps__child--consume"].forEach(Ut=>{this.renderer.addClass(Je?.nativeElement,Ut)})}}ct.\u0275fac=function(Ce){return new(Ce||ct)(k.Y36(k.Qsj),k.Y36(k.SBq))},ct.\u0275dir=k.lG2({type:ct,selectors:[["","forceNativeScrolling",""]]});class Ue{}Ue.\u0275fac=function(Ce){return new(Ce||Ue)},Ue.\u0275mod=k.oAB({type:Ue}),Ue.\u0275inj=k.cJS({imports:[[p.ez],p.ez]})},4946:Ve=>{"use strict";Ve.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},5207:Ve=>{"use strict";Ve.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},7036:Ve=>{"use strict";Ve.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},9799:Ve=>{"use strict";Ve.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},8597:Ve=>{"use strict";Ve.exports={i8:"6.5.4"}},2562:Ve=>{"use strict";Ve.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')}},Ve=>{var e;e=2693,Ve(Ve.s=e)}]); +//# sourceMappingURL=main.6bd99fe2d1e0d6f8.js.map \ No newline at end of file diff --git a/frontend/main.453d519df5a5d71c.js.map b/frontend/main.6bd99fe2d1e0d6f8.js.map similarity index 63% rename from frontend/main.453d519df5a5d71c.js.map rename to frontend/main.6bd99fe2d1e0d6f8.js.map index 3af6162e..b23cddf0 100644 --- a/frontend/main.453d519df5a5d71c.js.map +++ b/frontend/main.6bd99fe2d1e0d6f8.js.map @@ -1 +1 @@ -{"version":3,"file":"main.453d519df5a5d71c.js","mappings":"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,mCACAA,2CACAA,2BACAA,wBACF,CArCA,CAAYA,MAAU,KAuCtB,SAAYiV,IACVA,qCACAA,2DACAA,6DACAA,qDACAA,iDACAA,mDACAA,mCACAA,+BACAA,qCACAA,iCACAA,yCACAA,+CACAA,qCACAA,qCACAA,+CACAA,qDACAA,qCACAA,mCACAA,+BACAA,+DACAA,2DACAA,yCACAA,qCACAA,2CACAA,2DACAA,yDACAA,uCACAA,uDACAA,qDACAA,2CACAA,+CACAA,yCACAA,2CACAA,6CACAA,2CACAA,qDACAA,mDACAA,yDACAA,iEACAA,+CACAA,uDACAA,2CACAA,uCACAA,2CACAA,2CACAA,mDACAA,mDACAA,+CACAA,qCACAA,iCACAA,2CACAA,uCACAA,uCACAA,qDACAA,+CACAA,2CACAA,6CACAA,6CACAA,6DACAA,qEACAA,+BACAA,iDACAA,qCACAA,uDACAA,yCACAA,qCACAA,2CACAA,2CACAA,2CACAA,mCACAA,2DACAA,2DACAA,+CACAA,+CACAA,yEACAA,wEACF,CA7EA,CAAYA,QAAU,KA+EtB,SAAYnb,IACVA,qCACAA,2DACAA,6DACAA,qDACAA,iDACAA,mDACAA,sCACAA,+BACAA,mCACAA,+BACAA,6CACAA,yCACAA,yCACAA,qCACAA,mEACAA,+DACAA,6CACAA,6CACAA,qCACAA,iCACAA,qCACAA,iCACAA,yCACAA,+CACAA,+BACAA,qCACAA,qCACAA,2CACAA,uCACAA,2CACAA,+CACAA,yCACAA,2CACAA,2CACAA,uCACAA,uCACAA,qDACAA,+CACAA,+CACAA,qCACAA,2CACAA,2CACAA,mCACAA,2DACAA,2DACAA,yEACAA,yEACAA,qFACAA,qFACAA,2CACAA,uCACAA,+CACAA,qCACAA,2CACAA,2DACAA,6DACAA,qEACAA,qDACAA,iDACAA,uCACAA,mCACAA,2CACAA,iCACAA,yCACAA,uCACAA,yDACAA,qDACAA,iEACAA,yDACAA,uDACF,CAvEA,CAAYA,QAAU,KAyEtB,SAAYgW,IACVA,qCACAA,2DACAA,6DACAA,qDACAA,iDACAA,mDACAA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AAE51B,QAASw0B,MAAkB4B,SAAU7B,IACvCyC,KAAaC,KAAeC,KAAU52B,MAAwBG,MAAeK,MAA0BH,OACxGw2B,SA7MC7C,KACA8C,KACAC,KACAC,KACA/S,GACAgT,MACAC,MACAC,MACAzM,GACA0M,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,KACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,KACAC,MACAC,MACA7E,GACA8E,MACAC,MACAC,MACAC,MACAC,MACAC,KACAC,KACAC,MAGAtC,KACAC,KACAC,KACA/S,GACAgT,MACAC,MACAC,MACAzM,GACA0M,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,KACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,MACAC,KACAC,MACAC,MACA7E,GACA8E,MACAC,MACAC,MACAC,MACAC,MACAG,oUC5NSC,EAAapoD,MAAamG,WAAhC,MAEMV,KAAYzF,MAAamG,wBAA4BjG,SAErDqlC,KAA0BvlC,MAAamG,oCAAwCjG,SAE/E2G,KAAkB7G,MAAamG,wBAE/BkD,KAAerJ,MAAamG,uBAA2BjG,SAEvD4F,KAAc9F,MAAamG,qBAAyBjG,SAEpD0G,KAAe5G,MAAamG,sBAA0BjG,SAEtD6G,KAAY/G,MAAamG,mBAAuBjG,SAEhDmoD,KAAaroD,MAAamG,oBAAwBjG,SAElDooD,KAAmBtoD,MAAamG,0BAA8BjG,SAE9DqoD,KAAoBvoD,MAAamG,2BAA+BjG,SAEhEsoD,KAAaxoD,MAAamG,kBAE1BsiD,KAAczoD,MAAamG,qBAAyBjG,SAIpDwoD,IAFAC,EAAa3oD,MAAamG,oBAAwBjG,UAElDwoD,EAA4B1oD,MAAamG,oCAEzCyiD,KAAiB5oD,MAAamG,yBAA6BjG,SAE3D2oD,MAAiB7oD,MAAamG,uBAE9B2iD,MAAe9oD,MAAamG,uBAA2BjG,SAEvD6oD,MAAe/oD,MAAamG,sBAA0BjG,SAEtD8oD,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CA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,sEAINN,IAAK,CACHvoB,IAAK,EACL6oB,OAAQ,CACN,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,iEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,kEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,mEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEACA,oEAEF,CACE,mEA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AW,UAAW,UAAW,UAAW,UAAW,YAE1F,CACIlie,KAAM,QACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUlN,OACjB9G,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,MACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUlN,OACjB9G,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,OACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUlN,OACjB9G,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,QACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,QACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,SACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,UACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,QACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,SACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YAGR,CACIlie,KAAM,QACNu5U,YAAY,EACZxoV,MAAOmlf,GAAUQ,QACjBxU,OAAQ,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UAC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","names":["updateCLAPICallStatus","createAction","CLNActions","props","resetCLStore","setChildNodeSettingsCL","fetchPageSettings","setPageSettings","savePageSettings","fetchInfoCL","setInfo","fetchFees","setFees","fetchFeeRates","setFeeRates","fetchBalance","setBalance","fetchLocalRemoteBalance","setLocalRemoteBalance","getNewAddress","fetchPeers","setNewAddress","setPeers","saveNewPeer","addPeer","newlyAddedPeer","detachPeer","removePeer","fetchPayments","setPayments","sendPayment","sendPaymentStatus","getQueryRoutes","setQueryRoutes","fetchChannels","setChannels","updateChannel","saveNewChannel","closeChannel","removeChannel","peerLookup","channelLookup","invoiceLookup","setLookup","getForwardingHistory","setForwardingHistory","fetchInvoices","setInvoices","saveNewInvoice","addInvoice","updateInvoice","deleteExpiredInvoice","setChannelTransaction","fetchUTXOs","setChannelTransactionRes","setUTXOs","fetchOfferInvoice","setOfferInvoice","fetchOffers","setOffers","saveNewOffer","addOffer","disableOffer","updateOffer","fetchOfferBookmarks","setOfferBookmarks","addUpdateOfferBookmark","deleteOfferBookmark","removeOfferBookmark","CLNEffects","constructor","actions","httpClient","store","sessionService","commonService","logger","router","wsService","location","this","API_URL","Subject","createEffect","pipe","ofType","mergeMap","action","flgInitialized","dispatch","setApiUrl","payload","CHILD_API_URL","status","APICallStatusEnum","openSpinner","UI_MESSAGES","get","environment","takeUntil","RTLActions","map","info","chains","length","hasOwnProperty","chain","toLowerCase","indexOf","closeSpinner","closeAllDialogs","setTimeout","openAlert","data","type","AlertTypeEnum","alertTitle","titleMessage","initializeRemainingData","loadPage","catchError","err","code","extractErrorCode","msg","extractErrorMessage","navigate","state","errorCode","errorMessage","handleErrorWithoutAlert","error","of","fees","feeRates","balance","lrBalance","addressCode","newAddress","address","handleErrorWithAlert","addressId","peers","post","id","postRes","peer","find","delete","force","openSnackBar","channels","sortedChannels","activeChannels","pendingChannels","inactiveChannels","forEach","channel","connected","push","newPayload","peerId","satoshis","feeRate","announce","minconf","utxos","requestAmount","request_amt","compactLease","compact_lease","channelId","base","baseFeeMsat","ppm","message","duration","queryParam","payments","fetchedInvoice","uiMessage","sendRes","snackBarMessageStr","saveToDBError","saveToDBResponse","paymentResponse","JSON","stringify","fromDialog","destPubkey","amount","qrRes","routes","resPeer","shortChannelID","resChannel","showError","resInvoice","invoices","statusInitial","charAt","toUpperCase","fhRes","CLNForwardingEventsStatusEnum","totalForwards","listForwards","queryStr","num_max_invoices","reversed","label","description","expiry","private","msatoshi","expires_at","Math","round","Date","getTime","invoice","newlyAdded","component","CLNInvoiceInformationComponent","vendor","offer","CLNOfferInformationComponent","index_offset","res","offers","offer_id","bolt12","outputs","pageSettings","select","allAPIsCallStatus","unSubs","subscribe","allApisCallStatus","FetchInfo","FetchFees","FetchChannels","FetchBalance","FetchLocalRemoteBalance","clWSMessages","newMessage","event","CLNWSEventTypeEnum","landingPage","setItem","node_data","identity_pubkey","alias","testnet","network","uris","version","api_version","numberOfPendingChannels","num_pending_channels","setNodeData","newRoute","path","includes","replace","actionName","genericErrorMessage","logout","errMsg","statusCode","toString","errURL","URL","ErrorMessageComponent","ngOnDestroy","completeSub","next","complete","static","_angular_core__WEBPACK_IMPORTED_MODULE_19__","factory","clnState","createFeatureSelector","clnNodeSettings","createSelector","nodeSettings","clnPageSettings","apiCallStatus","apisCallStatus","FetchPageSettings","clnNodeInformation","information","apiCallStatusNodeInfo","FetchPayments","FetchPeers","feeRatesPerKB","FetchFeeRatesperkb","feeRatesPerKW","FetchFeeRatesperkw","listInvoices","FetchInvoices","FetchUTXOs","localRemoteBalance","forwardingHistory","FetchForwardingHistoryS","failedForwardingHistory","FetchForwardingHistoryF","localFailedForwardingHistory","FetchForwardingHistoryL","nodeInfoAndNodeSettingsAndBalance","nodeInfoAndBalanceAndNumPeers","numPeers","nodeInfoAndBalance","nodeInfoAndNodeSettingsAndAPIsStatus","FetchOffers","offerBookmarks","offersBookmarks","FetchOfferBookmarks","i0","dialogRef","snackBar","faReceipt","faExclamationTriangle","ScreenSizeEnum","ngOnInit","screenSize","getScreenSize","qrWidth","nodeInfo","flgVersionCompatible","isVersionCompatible","invoicesSelector","invoiceStatus","foundInvoice","payment_hash","flgInvoicePaid","onClose","close","onShowAdvanced","showAdvanced","onCopyPayment","open","_angular_core__WEBPACK_IMPORTED_MODULE_6__","MAT_DIALOG_DATA","selectors","ctx","dataService","decodePayment","decodedOffer","offerDecoded","amount_msat","slice","onCopyOffer","_angular_core__WEBPACK_IMPORTED_MODULE_7__","updateECLAPICallStatus","ECLActions","resetECLStore","setChildNodeSettingsECL","fetchInfoECL","setActiveChannels","setPendingChannels","setInactiveChannels","fetchOnchainBalance","setOnchainBalance","setLightningBalance","setChannelsStatus","disconnectPeer","fetchTransactions","setTransactions","sendOnchainFunds","sendOnchainFundsRes","createInvoice","updateChannelState","updateRelayedPayment","ECLEffects","channelsRes","rawChannelsList","setChannelsAndStatusAndBalances","nodeId","substring","reqBody","fundingSatoshis","announceChannel","fundingFeerateSatByte","nodeIds","channelIds","flgReceivedPaymentUpdateFromWS","latestPaymentRes","handleSendPaymentStatus","transactions","timestamp","expiresAt","expireIn","ECLInvoiceInformationComponent","FetchOnchainBalance","eclWSMessages","snackBarMsg","ECLWSEventTypeEnum","paymentHash","failures","t","e","failureMessage","source","currentState","remoteNodeId","channelTotal","totalLocalBalance","totalRemoteBalance","lightningBalances","localBalance","remoteBalance","channelStatus","active","capacity","inactive","pending","i","toLocal","toRemote","balancedness","abs","toFixed","sortDescByKey","balances","publicAddresses","_angular_core__WEBPACK_IMPORTED_MODULE_18__","eclState","eclNodeSettings","eclPageSettings","eclNodeInformation","nodeInfoStatus","allChannelsInfo","lightningBalance","channelsStatus","FetchTransactions","onchainBalance","updateLNDAPICallStatus","LNDActions","resetLNDStore","setChildNodeSettingsLND","fetchInfoLND","newlySavedInvoice","fetchBalanceBlockchain","setBalanceBlockchain","fetchNetwork","setNetwork","fetchPendingChannels","fetchClosedChannels","setClosedChannels","backupChannels","verifyChannel","restoreChannelsList","backupChannelsRes","verifyChannelRes","setRestoreChannelsList","restoreChannels","restoreChannelsRes","updatePayment","fetchGraphNode","setGraphNode","genSeed","initWallet","genSeedResponse","unlockWallet","initWalletResponse","paymentLookup","getAllLightningTransactions","setAllLightningTransactions","LNDEffects","dialog","PAGE_SIZE","lnImplementation","removeItem","pubkey","host","perm","memo","value","is_amp","pageSize","openModal","cltv_expiry","creation_date","InvoiceInformationComponent","paymentRequest","payment_request","node_pubkey","selectedPeerPubkey","local_funding_amount","fundingAmount","trans_type","transType","trans_type_value","transTypeValue","spend_unconfirmed","spendUnconfirmed","channelPoint","showMessage","timeLockDelta","max_htlc_msat","maxHtlcMsat","min_htlc_msat","minHtlcMsat","chanPoint","forcibly","reqUrl","targetConf","satPerByte","list","forwarding_events_history","total_balance","networkInfo","pendingChannelsSummary","num_channels","limbo_balance","closing","force_closing","waiting_close","total_channels","total_limbo_balance","pending_closing_channels","closingChannel","local_balance","pending_force_closing_channels","pending_open_channels","openingChannel","waiting_close_channels","total_invoices","last_index_offset","withLatestFrom","lndNodeInformation","block_height","max_payments","queryHeaders","paymentReq","paymentAmount","outgoingChannel","chan_id","allowSelfPayment","lastHopPubkey","feeLimitType","FEE_LIMIT_TYPES","feeLimit","payment_error","invoicesPageSize","paymentsPageSize","payment_route","total_fees_msat","graphNode","node","sendAll","blocks","num_max_events","end_time","start_time","url","outgoingChanId","cipher_seed_mnemonic","wallet_password","pwd","cipher","aezeed_passphrase","passphrase","channelID","lookupUrl","paymentAddress","resPayment","resRestoreList","all_restore_exists","files","response","settings","Object","keys","page","pageId","tables","table","tableId","LND_DEFAULT_PAGE_SETTINGS","recordsPerPage","invPgSz","payPgSz","FetchBalanceBlockchain","FetchAllChannels","FetchPendingChannels","lndWSMessages","LNDWSEventTypeEnum","result","split","lndState","lndNodeSettings","lndPageSettings","FetchForwardingHistory","listPayments","channelsSummary","closedChannels","FetchClosedChannels","blockchainBalance","FetchNetwork","allLightningTransactions","FetchLightningTransactions","allChannels","nodeInfoAndNodeSettingsAndAPIStatus","container","containerContent","scrollContainer","parse","invoiceToCompare","r_hash","flgOpened","onScrollDown","nativeElement","scrollTop","onExpansionClosed","getDecimalFormat","htlc","amt_msat","opacityAnimation","trigger","transition","style","opacity","animate","fadeIn","keyframes","transform","routeAnimation","query","position","width","optional","group","sliderAnimation","_angular_core__WEBPACK_IMPORTED_MODULE_2__","LoopQuoteComponent","flgShowPanel","LoopStatusComponent","LoopInInfoGraphicsComponent","EventEmitter","onSwipe","direction","stepNumber","animationDirection","stepNumberChange","emit","core","LoopOutInfoGraphicsComponent","LoopModalComponent","loopService","formBuilder","decimalPipe","faInfoCircle","LoopTypeEnum","minQuote","maxQuote","loopDirectionCaption","inputFormLabel","inputFormGroup","Validators","sweepConfTarget","routingFeePercent","fast","setErrors","Invalid","quoteFormGroup","addressFormGroup","addressType","disabled","statusFormGroup","onFormValueChanges","channelsSelector","localBalanceToCompare","local","valueChanges","changedValues","onAddressTypeChange","controls","setValidators","markAsTouched","enable","markAsPristine","disable","setValue","onValidateAmount","stepper","onLoop","trim","flgEditable","selected","stepControl","loopIn","quote","swap_fee_sat","htlc_publish_fee_sat","loopStatus","listSwaps","swapRoutingFee","ceil","destAddress","swapPublicationDeadline","loopOut","htlc_sweep_fee_sat","prepayRoutingFee","prepay_amt_sat","onEstimateQuote","getLoopInQuote","off_chain_swap_routing_fee_percentage","getLoopOutQuote","stepSelectionChanged","selectedIndex","quoteFormLabel","addressFormLabel","previouslySelectedIndex","selectedStep","goToLoop","navigateByUrl","showInfo","flgShowInfo","onReadMore","window","onStepChanged","index","onRestart","reset","NotFoundComponent","faTimes","goToHelp","_angular_core__WEBPACK_IMPORTED_MODULE_1__","AutoFocusDirective","el","ngAfterContentInit","focus","_angular_core__WEBPACK_IMPORTED_MODULE_0__","ClipboardDirective","onClick","preventDefault","navigator","clipboard","writeText","then","copied","MaxValidator","validate","control","max","provide","NG_VALIDATORS","useExisting","multi","MinValidator","min","RemoveLeadingZerosPipe","args","pure","CamelCasePipe","word","CamelCaseWithSpacesPipe","arg1","arg2","CamelCaseWithReplacePipe","RegExp","AuthGuard","canActivate","route","getItem","LNDUnlockedGuard","watchSession","session","lndUnlocked","CLNUnlockedGuard","clUnlocked","ECLUnlockedGuard","eclUnlocked","CommonService","CurrencyUnitEnum","last_fetched","height","BehaviorSubject","containerSize","setScreenSize","getContainerSize","setContainerSize","containerSizeUpdated","sortByKey","array","key","keyDataType","sort","a","b","x","y","sortAscByKey","camelCase","str","titleCase","searchValue","replaceValue","reduce","accumulator","currentStr","convertCurrency","from","to","otherCurrencyUnit","fiatConversion","latest_date","valueOf","ratesAPIStatus","conversionData","convertWithFiat","getFiatRates","take","throwError","convertWithoutFiat","returnValue","unit","symbol","last","convertTime","TimeUnitEnum","downloadFile","filename","fromFormat","toFormat","blob","Blob","convertToCSV","downloadUrl","document","createElement","createObjectURL","userAgent","setAttribute","visibility","body","appendChild","click","removeChild","objArray","dataRow","arrayField","csvStrArray","obj","findIndex","keyEle","join","Array","isArray","arrEl","currentVersion","checkVersion","versionsArr","checkVersionsArr","text","genericErrorCode","extractErrorNumber","genericErrorNumber","errNum","errno","_angular_core__WEBPACK_IMPORTED_MODULE_9__","getPaginatorLabel","field","appPaginator","MatPaginatorIntl","itemsPerPageLabel","CURRENCY_UNITS","CURRENCY_UNIT_FORMATS","Sats","BTC","OTHER","FIAT_CURRENCY_UNITS","name","TIME_UNITS","PAGE_SIZE_OPTIONS","ADDRESS_TYPES","addressTp","addressDetails","TRANS_TYPES","placeholder","FEE_RATE_TYPES","feeRateId","feeRateType","NODE_SETTINGS","themes","modes","UserPersonaEnum","AuthenticateWith","DataTypeEnum","CHANNEL_CLOSURE_TYPE","COOPERATIVE_CLOSE","tooltip","LOCAL_FORCE_CLOSE","REMOTE_FORCE_CLOSE","BREACH_CLOSE","FUNDING_CANCELED","ABANDONED","WALLET_ADDRESS_TYPE","WITNESS_PUBKEY_HASH","NESTED_PUBKEY_HASH","UNUSED_WITNESS_PUBKEY_HASH","UNUSED_NESTED_PUBKEY_HASH","TAPROOT_PUBKEY","CLNFailReason","CLNChannelPendingState","LoopStateEnum","SwapTypeEnum","SwapStateEnum","MONTHS","days","SCROLL_RANGES","ServicesEnum","PASSWORD_BLACKLIST","NO_SPINNER","GET_NODE_INFO","INITALIZE_NODE_DATA","GENERATE_NEW_ADDRESS","SEND_FUNDS","UPDATE_CHAN_POLICY","GET_CHAN_POLICY","GET_REMOTE_POLICY","CLOSE_CHANNEL","FORCE_CLOSE_CHANNEL","OPEN_CHANNEL","CONNECT_PEER","DISCONNECT_PEER","ADD_INVOICE","CREATE_INVOICE","DELETE_INVOICE","DECODE_PAYMENT","DECODE_OFFER","DECODE_PAYMENTS","FETCH_INVOICE","GET_SENT_PAYMENTS","SEND_PAYMENT","SEND_KEYSEND","SEARCHING_NODE","SEARCHING_CHANNEL","SEARCHING_INVOICE","SEARCHING_PAYMENT","BACKUP_CHANNEL","VERIFY_CHANNEL","DOWNLOAD_BACKUP_FILE","RESTORE_CHANNEL","GET_TERMS_QUOTES","LABEL_UTXO","GET_NODE_ADDRESS","GEN_SEED","INITIALIZE_WALLET","UNLOCK_WALLET","WAIT_SYNC_NODE","UPDATE_BOLTZ_SETTINGS","UPDATE_LOOP_SETTINGS","UPDATE_PEERSWAP_SETTINGS","UPDATE_SETTING","UPDATE_UI_SETTINGS","UPDATE_NODE_SETTINGS","UPDATE_SELECTED_NODE","OPEN_CONFIG_FILE","GET_SERVICE_INFO","GET_QUOTE","UPDATE_DEFAULT_NODE_SETTING","GET_BOLTZ_SWAPS","SIGN_MESSAGE","VERIFY_MESSAGE","BUMP_FEE","LEASE_UTXO","GET_LOOP_SWAPS","GET_FORWARDING_HISTORY","GET_LOOKUP_DETAILS","GET_RTL_CONFIG","VERIFY_TOKEN","DISABLE_OFFER","CREATE_OFFER","DELETE_OFFER_BOOKMARK","GET_FUNDER_POLICY","GET_LIST_CONFIGS","LIST_NETWORK_NODES","GET_PAGE_SETTINGS","SET_PAGE_SETTINGS","UPDATE_PAGE_SETTINGS","LOG_OUT","PaymentTypes","ReportBy","NODE_FEATURES_CLN","range","NodeFeaturesECL","NodeFeaturesLND","LADS_POLICY","PeerswapTypes","PeerswapRoles","PeerswapStates","PeerswapPeersLists","SortOrderEnum","SORT_ORDERS","CLN_DEFAULT_PAGE_SETTINGS","sortBy","sortOrder","DESCENDING","columnSelectionSM","columnSelection","ASCENDING","CLN_PAGE_DEFS","on_chain","maxColumns","allowedColumns","column","dust_utxos","peers_channels","open_channels","pending_inactive_channels","liquidity_ads","offer_bookmarks","routing","forwarding_history","routing_peers","failed","local_failed","reports","graph_lookup","query_routes","peerswap","swaps","LND_PAGE_DEFS","pending_open","disablePageSize","pending_force_closing","pending_closing","pending_waiting_close","closed","active_HTLCs","non_routing_peers","loop","boltz","swap_out","swap_in","ECL_DEFAULT_PAGE_SETTINGS","ECL_PAGE_DEFS","transaction","pending_channels","inactive_channels","DataService","titleCasePipe","storedChannels","fhEvent","idx","short_channel_id","in_channel","in_channel_alias","out_channel_alias","out_channel","setLnImplementation","lnImplementationUpdated","payment","first","val","updatedLnImplementation","APIUrl","Error","decodePayments","getAliasesFromPubkeys","multiple","pubkey_params","HttpParams","set","params","signMessage","verifyMessage","sign","signature","bumpFee","txid","outputIndex","bumpFeeBody","labelUTXO","overwrite","labelBody","leaseUTXO","output_index","leaseBody","expirationDate","expiration","expiryDateInSeconds","getTimezoneOffset","implementation","start","end","allChannelsSelector","forwarding_events","chan_id_in","alias_in","remote_alias","alias_out","chan_id_out","forwardsWithAlias","mapAliases","listNetworkNodes","queryParams","listConfigs","getOrUpdateFunderPolicy","policy","policyMod","lease_feeBaseMsat","lease_fee_basis","channelFeeMaxBaseMsat","channelFeeMaxProportional","postParams","policy_mod","lease_fee_base_msat","channel_fee_max_base_msat","channel_fee_max_proportional_thousandths","updateRootAPICallStatus","isDebugMode","noop","LoggerService","invokeConsoleMethod","ConsoleLoggerService","console","log","bind","warn","apply","LoopService","getSwapsList","loopUrl","swapResponse","swapsChanged","chanId","minerFee","prepayAmt","swapFee","requestBody","getLoopOutTerms","append","getLoopOutTermsAndQuotes","lastHop","externalHtlc","getLoopInTerms","getLoopInTermsAndQuotes","getSwap","errCode","_angular_core__WEBPACK_IMPORTED_MODULE_14__","SessionService","sessionSub","asObservable","sessionStorage","getAllItems","clearAll","clear","DEFAULT_WEBSOCKET_CONFIG","deserializer","serializer","WebSocketSubject","AnonymousSubject","urlConfigOrSource","destination","super","_socket","Observable","config","_config","assign","_output","WebSocketCtor","WebSocket","ReplaySubject","lift","operator","sock","_resetState","multiplex","subMsg","unsubMsg","messageFilter","self","observer","subscription","unsubscribe","_connectSocket","protocol","binaryType","socket","Subscription","readyState","onopen","evt","openObserver","queue","Subscriber","send","closingObserver","undefined","reason","TypeError","add","onerror","onclose","closeObserver","wasClean","onmessage","_subscribe","subscriber","observers","WebSocketClientService","connectWebSocket","finalWSUrl","nodeIndex","wsUrl","subscribeToMessages","reconnectOnError","RECONNECT_TIMEOUT","RETRY_SECONDS","closeConnection","handleError","ROW_DEFAULT","COL_DEFAULT","GridAlignStyleBuilder","StyleBuilder","buildStyles","input","buildCss$2","align","css","rowAxis","columnAxis","ɵfac","ɵprov","GridAlignDirective","BaseDirective2","elementRef","styleBuilder","styler","marshal","DIRECTIVE_KEY","styleCache","alignCache","init","i1","ɵdir","features","Map","inputs$a","DefaultGridAlignDirective","arguments","inputs","DEFAULT_MAIN$1","DEFAULT_CROSS$1","GridAlignColumnsStyleBuilder","parent","buildCss$1","inline","mainAxis","crossAxis","display","GridAlignColumnsDirective","_inline","coerceBooleanProperty","updateWithValue","alignColumnsInlineCache","alignColumnsCache","addStyles","inputs$9","DefaultGridAlignColumnsDirective","DEFAULT_MAIN","DEFAULT_CROSS","GridAlignRowsStyleBuilder","buildCss","GridAlignRowsDirective","alignRowsInlineCache","alignRowsCache","inputs$8","DefaultGridAlignRowsDirective","GridAreaStyleBuilder","GridAreaDirective","elRef","styleUtils","gridAreaCache","inputs$7","DefaultGridAreaDirective","GridAreasStyleBuiler","areas","v","GridAreasDirective","areasInlineCache","areasCache","inputs$6","DefaultGridAreasDirective","GridAutoStyleBuilder","dense","GridAutoDirective","autoInlineCache","autoCache","inputs$5","DefaultGridAutoDirective","GridColumnStyleBuilder","GridColumnDirective","columnCache","inputs$4","DefaultGridColumnDirective","GridColumnsStyleBuilder","auto","endsWith","GridColumnsDirective","columnsInlineCache","columnsCache","inputs$3","DefaultGridColumnsDirective","GridGapStyleBuilder","GridGapDirective","gapInlineCache","gapCache","inputs$2","DefaultGridGapDirective","GridRowStyleBuilder","GridRowDirective","rowCache","inputs$1","DefaultGridRowDirective","GridRowsStyleBuilder","GridRowsDirective","rowsInlineCache","rowsCache","DefaultGridRowsDirective","GridModule","ɵmod","ɵinj","CoreModule","Version","FlexLayoutModule","serverModuleLoaded","platformId","isPlatformServer","configOptions","breakpoints","ngModule","providers","serverLoaded","LAYOUT_CONFIG","useValue","DEFAULT_CONFIG","BREAKPOINT","SERVER_TOKEN","PLATFORM_ID","FlexModule","ExtendedModule","MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS","InjectionToken","MAT_BUTTON_TOGGLE_GROUP","MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","MatButtonToggleGroup","uniqueIdCounter","MatButtonToggleChange","_changeDetector","defaultOptions","_vertical","_multiple","_disabled","_controlValueAccessorChangeFn","_onTouched","_name","valueChange","change","appearance","_markButtonsForCheck","vertical","_selectionModel","toggle","newValue","_setSelectionByValue","SelectionModel","_buttonToggles","filter","checked","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","_emitChangeEvent","_syncButtonToggle","isUserInput","deferEvents","deselect","Promise","resolve","_updateModelValue","_isSelected","isSelected","_isPrechecked","_rawValue","some","_clearSelection","currentValue","_selectValue","correspondingOption","_markForCheck","dirIndex","MatButtonToggle","_t","_MatButtonToggleBase","mixinDisableRipple","toggleGroup","_changeDetectorRef","_elementRef","_focusMonitor","defaultTabIndex","_checked","ariaLabelledby","parsedTabIndex","Number","tabIndex","buttonToggleGroup","buttonId","_appearance","ngAfterViewInit","monitor","stopMonitoring","options","_buttonElement","_onButtonClick","newChecked","_isSingleSelector","_getButtonName","ɵcmp","_c0","ngContentSelectors","decls","i2","styles","MatButtonToggleModule","MatCommonModule","MatRippleModule","activeEventOptions","normalizePassiveListenerOptions","passive","MAT_SLIDER_VALUE_ACCESSOR","MatSlider","MatSliderChange","_MatSliderBase","mixinTabIndex","mixinColor","mixinDisabled","_dir","_ngZone","_document","_animationMode","_invert","_max","_min","_step","_thumbLabel","_tickInterval","_value","onTouched","_percent","_isSliding","_isActive","_tickIntervalPercent","_sliderDimensions","_dirChangeSubscription","_pointerDown","isTouchEvent","button","run","_touchId","getTouchIdForSlider","sliderHost","touches","target","contains","identifier","pointerPosition","getPointerPositionOnPage","oldValue","_lastPointerEvent","_focusHostElement","_onMouseenter","_bindGlobalEvents","_updateValueFromPosition","_valueOnSlideStart","cancelable","_emitInputEvent","_pointerMove","_pointerUp","findMatchingTouch","changedTouches","_removeGlobalEvents","_windowBlur","parseInt","runOutsideAngular","element","addEventListener","invert","coerceNumberProperty","_calculatePercentage","step","_roundToDecimal","pop","thumbLabel","tickInterval","parseFloat","displayValue","displayWith","blur","_blurHostElement","percent","_clamp","_shouldInvertAxis","_isMinValue","_getThumbGap","_getTrackBackgroundStyles","axis","scale","_shouldInvertMouseCoords","_getTrackFillStyles","_getTicksContainerStyles","_getDirection","_getTicksStyles","tickSize","backgroundSize","shouldInvertAxis","side","_getThumbContainerStyles","origin","detectChanges","removeEventListener","_getSliderDimensions","_updateTickIntervalPercent","_onFocus","_onBlur","_onKeydown","hasModifierKey","keyCode","PAGE_UP","_increment","PAGE_DOWN","END","HOME","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","_onKeyup","_getWindow","defaultView","triggerEvent","isTouch","moveEventName","endEventName","numSteps","clampedValue","pos","offset","top","left","size","posComponent","exactValue","_calculateValue","closestValue","_createChangeEvent","tickIntervalPercent","trackSize","pixelsPerStep","isSafeNumber","percentage","_sliderWrapper","getBoundingClientRect","isNaN","isFinite","point","clientX","clientY","DOCUMENT","ANIMATION_MODULE_TYPE","slider_c0","$event","i3","MatSliderModule","CommonModule","ThemeOverlay","OverlayContainer","_platform","_createContainer","_containerElement","querySelector","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","suppressScrollY","DefaultDateAdapter","NativeDateAdapter","matDateLocale","platform","format","date","displayFormat","day","getDate","getMonth","getFullYear","MAT_DATE_LOCALE","DEFAULT_DATE_FORMAT","dateInput","month","year","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SharedModule","useClass","PERFECT_SCROLLBAR_CONFIG","MAT_SNACK_BAR_DEFAULT_OPTIONS","verticalPosition","panelClass","MAT_DIALOG_DEFAULT_OPTIONS","hasBackdrop","autoFocus","disableClose","role","DateAdapter","MAT_DATE_FORMATS","DecimalPipe","TitleCasePipe","DatePipe","imports","FormsModule","ReactiveFormsModule","FontAwesomeModule","LayoutModule","MatDialogModule","MatButtonModule","MatCardModule","MatCheckboxModule","MatExpansionModule","MatGridListModule","MatDatepickerModule","MatNativeDateModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatTreeModule","MatChipsModule","MatSelectModule","MatSidenavModule","MatSlideToggleModule","MatSortModule","MatTableModule","MatToolbarModule","MatTooltipModule","MatBadgeModule","MatPaginatorModule","MatStepperModule","MatTabsModule","MatSnackBarModule","MatAutocompleteModule","NgxChartsModule","QrCodeModule","RouterModule","HttpClientModule","PerfectScrollbarModule","voidAction","closeAlert","openConfirmation","closeConfirmation","showPubkey","fetchConfig","updateSelectedNodeOptions","showConfig","resetRootStore","fetchRTLConfig","setRTLConfig","saveSettings","twoFASaveSettings","setSelectedNode","updateRootNodeSettings","updateServiceSettings","saveSSO","resetPassword","isAuthorized","resetPasswordRes","login","isAuthorizedRes","fetchFile","verifyTwoFA","showFile","SpinnerDialogComponent","AlertMessageComponent","renderer","unlistenEnd","listen","scrollDirection","unlistenStart","messageObjs","showQRField","showQRName","showCopyName","showCopyField","ngAfterViewChecked","shouldScroll","classList","onScroll","onCopyField","ConfirmationMessageComponent","inputType","inputValue","hintText","hintFunction","advancedField","informationMessage","warningMessage","flgShowInput","getInputs","noBtnText","yesBtnText","hasAdvanced","dialogRes","current","ShowPubkeyComponent","infoID","infoKey","infoName","infoTypes","uri","onCopyPubkey","selInfoType","RTLEffects","closeAll","componentInstance","openDialogs","localDialog","updatedPayload","alertWidth","confirmWidth","rootNodeData","nodeData","rtlConfig","searchNode","nodes","currencyUnits","currencyUnit","selectedNodeIndex","prevLnNodeIndex","currentLnNode","isInitialSetup","updateSettingReq","defaultNodeIndex","settingsRes","updatedSettings","defaultNodeRes","forkJoin","updateStatus","secret2fa","rootAppConfig","appConfig","enable2FA","configFile","authenticateWith","authenticationValue","password","twoFAToken","setLoggedInDetails","defaultPassword","sso","rtlSSO","authentication2FA","token","authResponse","href","logoutRedirectLink","currPassword","newPassword","SetToken","initializeNode","fetchedFile","selNode","userPersona","channelBackupPath","unannouncedChannels","selCurrencyUnit","swapServerUrl","boltzServerUrl","enableOffers","enablePeerswap","nodeLnImplementation","apiUrl","statusText","rootState","rootSelectedNode","rootAPIUrl","apiURL","loginStatus","Login","authorizedStatus","IsAuthorized","rootSelNodeAndNodeData","nodeDate","production","AUTHENTICATE_API","CONF_API","PAGE_SETTINGS_API","BALANCE_API","FEES_API","PEERS_API","CHANNELS_API","CHANNELS_BACKUP_API","GETINFO_API","WALLET_API","NETWORK_API","NEW_ADDRESS_API","TRANSACTIONS_API","PAYMENTS_API","INVOICES_API","SWITCH_API","ON_CHAIN_API","MESSAGE_API","OFFERS_API","UTILITY_API","LOOP_API","BOLTZ_API","Web_SOCKET_API","VERSION","invalidTimingValue","exp","ɵRuntimeError","ngDevMode","isNode","process","call","optimizeGroupPlayer","players","NoopAnimationPlayer","ɵAnimationGroupPlayer","normalizeKeyframes$1","driver","normalizer","preStyles","postStyles","errors","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","prop","normalizedProp","normalizedValue","normalizePropertyName","ɵPRE_STYLE","AUTO_STYLE","normalizeStyleValue","animationFailed","listenOnPlayer","player","eventName","callback","onStart","copyAnimationEvent","onDone","onDestroy","phaseName","totalTime","makeAnimationEvent","triggerName","fromState","toState","_data","getOrSetDefaultValue","defaultValue","parseTimelineCommand","command","separatorPos","_contains","elm1","elm2","_query","selector","_documentElement","getParentElement","parentNode","Element","isBrowser","documentElement","querySelectorAll","elem","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","containsVendorPrefix","containsElement","invokeQuery","NoopAnimationDriver","matchesElement","_element","_selector","computeStyle","delay","easing","previousPlayers","scrubberAccessRequested","AnimationDriver","NOOP","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","matches","match","_convertTimeValueToMS","resolveTiming","timings","allowNegativeValues","parseTimeExpression","regex","delayMatch","easingVal","containsErrors","startIndex","negativeStepValue","negativeDelayValue","splice","copyObj","convertToMap","styleMap","copyStyles","backfill","getStyleAttributeString","writeStyleAttribute","styleAttrValue","item","getPropertyValue","startsWith","camelCaseToDashCase","setStyles","formerStyles","camelProp","dashCaseToCamelCase","has","eraseStyles","_","normalizeAnimationEntry","steps","sequence","validateStyleParams","extractStyleParams","varName","invalidStyleParams","PARAM_REGEX","exec","lastIndex","interpolateParams","original","localVal","invalidParamValue","iteratorToArray","iterator","arr","done","DASH_CASE_REGEXP","m","visitDslNode","visitor","context","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","invalidNodeType","nodeType","getComputedStyle","parseTransitionExpr","transitionValue","expressions","parseInnerTransitionStr","eventStr","parseAnimationAlias","invalidTransitionAlias","invalidExpression","expr","separator","makeLambdaFromStates","isFullAnyStateExpr","TRUE_BOOLEAN_VALUES","Set","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","metadata","warnings","AnimationAstBuilderVisitor","build","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","states","transitions","invalidTrigger","definitions","def","stateDef","n","invalidDefinition","styleAst","astParams","containsDynamicStyles","missingSubs","sub","values","invalidState","metadataName","animation","matchers","normalizeAnimationOptions","s","furthestTime","innerAst","timingAst","constructTimingAst","makeTimingAst","strValue","ast","dynamic","currentAnimateTimings","styleMetadata","isEmpty","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","metadataStyles","styleTuple","collectedEasing","styleData","endTime","startTime","tuple","collectedEntry","updateCollectedStyle","invalidParallelAnimation","firstStart","firstEnd","secondStart","secondEnd","invalidKeyframes","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","invalidOffset","keyframeOffsetsOutOfOrder","generatedOffset","keyframesMissingOffsets","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","includeSelf","normalizeSelector","hasAmpersand","originalSelector","invalidStagger","currentTransition","unsupportedCSSPropertiesFound","normalizeParams","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","delayNextStep","timelines","timeline","containsAnimation","lastRootTimeline","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","_applyAnimationRefDelays","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","hasCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","parentContext","tl","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","_copyOptions","oldParams","newTime","fork","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","time","results","elements","invalidQuery","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_localTimelineStyles","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","flattenStyles","allStyles","allProperties","getFinalKeyframe","properties","details1","details0","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","timeAtKeyframe","decimalPoints","mult","pow","AnimationStyleNormalizer","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","propertyName","userProvidedProperty","normalizedProperty","strVal","valAndSuffixMatch","invalidCssUnitValue","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","nextState","oneOrMoreTransitionsMatch","matchFns","stateName","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","queriedElementsList","userParams","defaults","AnimationStateStyles","defaultParams","combinedParams","AnimationTrigger","_normalizer","transitionFactories","balanceProperties","fallbackTransition","createFallbackTransition","containsQueries","matchTransition","f","matchStyles","stateMap","key1","key2","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","bodyNode","_animations","_playersById","register","registerFailed","_buildPlayer","create","autoStylesMap","inst","missingOrDestroyedAnimation","createAnimationFailed","destroy","_getPlayer","missingPlayer","baseEvent","play","pause","restart","finish","setPosition","QUEUED_CLASSNAME","DISABLED_CLASSNAME","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","isObj","normalizeTriggerValue","absorbOptions","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","_triggers","_queue","_elementListeners","_hostClassName","addClass","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","listeners","triggersWithStates","statesByElement","afterFlush","_getTrigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","k1","k2","reportError","playersOnElement","playersByElement","queued","isFallbackTransition","totalQueuedPlayers","removeClass","deregister","entry","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","namespaces","fetchNamespacesByElement","ns","triggerLeaveAnimation","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","previousTriggersValues","markElementAsRemoved","processLeaveNode","prepareLeaveAnimationListeners","elementStates","visitedTriggers","listener","removeNode","engine","childElementCount","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","removalFlag","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microtaskId","destroyed","markedForDestroy","d0","d1","p","elementContainsData","containsData","TransitionAnimationEngine","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","queuedPlayers","createNamespace","_balanceNamespaceList","collectEnterElement","namespaceList","found","ancestor","ancestorNs","unshift","registerTrigger","_fetchNamespace","stateValue","isElementNode","insertBefore","details","markElementAsDisabled","isHostElement","hostNS","_buildInstruction","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","whenRenderingDone","flush","cleanupFns","_flushAnimations","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","root","className","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","previousValue","nodeIsOrphaned","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","pre","entries","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","parentPlayer","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","j","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","getRealPlayer","beforeDestroy","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","flattenGroupPlayers","finalPlayers","_flattenGroupPlayersRecur","pp","wrappedPlayer","deleteOrUnsetInMap","currentValues","_player","_containsRealPlayer","_queuedCallbacks","callbacks","triggerCallback","_queueEvent","hasStarted","getPosition","cloakElement","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","nodeSet","localRootMap","getRoot","remove","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","triggerBuildFailed","buildTrigger","onInsert","onRemove","disableAnimations","property","eventPhase","concat","SpecialCasedStyles","_startStyles","_endStyles","_state","initialStyles","initialStylesByElement","_initialStyles","filterNonAnimatableStyles","isNonAnimatableStyle","WeakMap","WebAnimationsPlayer","_specialStyles","_onDoneFns","_onStartFns","_onDestroyFns","_initialized","_finished","_started","_destroyed","_originalOnDoneFns","_originalOnStartFns","currentSnapshot","_duration","_delay","_onFinish","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","_resetDomPlayerState","_convertKeyframesToObject","kfs","frame","fromEntries","cancel","methods","WebAnimationsDriver","validateAnimatableStyleProperty","playerOptions","fill","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","normalizeKeyframes","balancePreviousStylesIntoKeyframes","startingKeyframe","missingStyleProps","specialStyles","packageNonAnimatableStyles","startStyles","endStyles","BrowserAnimationBuilder","AnimationBuilder","rootRenderer","doc","_nextAnimationId","typeData","encapsulation","ViewEncapsulation","_renderer","createRenderer","issueAnimationCommand","BrowserAnimationFactory","AnimationFactory","_id","RendererAnimationPlayer","_command","_listen","setProperty","DISABLE_ANIMATIONS_FLAG","AnimationRendererFactory","delegate","_zone","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","promise","onRendererDestroy","BaseAnimationRenderer","animationTriggers","AnimationRenderer","begin","_scheduleCountTask","scheduleListenerCallback","count","_onDestroy","destroyNode","namespace","createComment","createText","newChild","refChild","isMove","oldChild","selectRootElement","selectorOrNode","preserveContent","nextSibling","removeAttribute","setStyle","flags","removeStyle","resolveElementFromTarget","parseTriggerCallbackName","dotIndex","countId","InjectableAnimationEngine","ɵAnimationEngine","appRef","SHARED_ANIMATION_PROVIDERS","ɵAnimationStyleNormalizer","useFactory","instantiateDefaultStyleNormalizer","ɵWebAnimationsStyleNormalizer","RendererFactory2","instantiateRendererFactory","zone","deps","ɵDomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","ɵWebAnimationsDriver","BROWSER_NOOP_ANIMATIONS_PROVIDERS","ɵNoopAnimationDriver","BrowserAnimationsModule","BrowserModule","NoopAnimationsModule","interval","period","scheduler","asyncScheduler","timer","UserIdleConfig","UserIdleService","timerStart$","idleDetected$","timeout$","idleMillisec","idleSensitivityMillisec","timeout","pingMillisec","isTimeout","isInactivityTimer","isIdleDetected","setConfig","startWatching","activityEvents$","merge","fromEvent","idle$","idleSubscription","bufferTime","bufferTimeSpan","otherArgs","_a","_b","popScheduler","bufferCreationInterval","maxBufferSize","Infinity","operate","bufferRecords","restartOnEmit","record","buffer","subs","arrRemove","startBuffer","executeSchedule","bufferTimeSubscriber","createOperatorSubscriber","recordsCopy","shift","tap","switchMap","finalize","setupTimer","setupPing","stopWatching","stopTimer","resetTimer","onTimerStart","distinctUntilChanged","timer$","onIdleStatusChanged","onTimeout","getConfigValue","idle","idleSensitivity","ping","setConfigValues","setCustomActivityEvents","customEvents","startDate","elapsed","ping$","UserIdleModule","link","SettingsComponent","faUserCog","linkFound","links","activeLink","events","ResolveEnd","urlAfterRedirects","showBitcoind","bitcoindConfigPath","AppSettingsComponent","faWindowRestore","faPlus","previousDefaultNode","onAddNewNode","onUpdateSettings","onResetSettings","unsub","TwoFactorAuthComponent","rtlEffects","faCopy","hiddenPassword","secret","showDisableStepper","secretFormGroup","generateSecret","authenticator","otpauth","onAuthenticate","passwordFormGroup","flgValidated","sha256","authRes","onCopySecret","onVerifyToken","isTokenValid","tokenFormGroup","notValid","passwordFormLabel","AuthSettingsComponent","faUserLock","faUserClock","faLock","initializeNodeData","form","resetForm","onChangePassword","confirmPassword","matchOldAndNewPasswords","invalid","newpassword","errorMsg","totalList","currentPass","matchNewPasswords","confirmpassword","errorConfirmMsg","on2FAuth","onResetPassword","BitcoinConfigComponent","faCog","showLnConfig","fileFormat","configData","IsAuthorizedComponent","isAuthenticated","NodeConfigComponent","activatedRoute","faTools","lnImplementationStr","authentication","configPath","showLnConfigClicked","maxWidth","alertRes","relativeTo","LNPConfigComponent","NodeSettingsComponent","faMoneyBillAlt","faPaintBrush","faEyeSlash","selectedThemeMode","themeModes","themeMode","selectedThemeColor","themeColor","previousSettings","onCurrencyChange","toggleSettings","toggleField","changeThemeColor","newThemeColor","chooseThemeMode","prevIndex","PageSettingsComponent","faPenRuler","initialPageSettings","defaultSettings","nodePageDefs","updatedPageSettings","transactionsPage","pg","offerIdx","tb","offerBookmarkIdx","psIdx","loopIdx","boltzIdx","oncolumnSelectionChange","onUpdatePageSettings","pacc","acc","savePageSettingsCLN","savePageSettingsECL","savePageSettingsLND","onTableReset","currPageId","currTable","pageIdx","tableIdx","tableToReplace","onResetPageSettings","prev","ServicesSettingsComponent","faLayerGroup","LoopServiceSettingsComponent","enableLoop","previousSelNode","onEnableServiceChanged","swapMacaroonPath","onUpdateService","srvrUrl","service","serverUrl","macaroonPath","onReset","BoltzServiceSettingsComponent","enableBoltz","boltzMacaroonPath","LNServicesComponent","SwapsComponent","datePipe","camelCaseWithReplace","faHistory","MatTableDataSource","tableSetting","PAGE_ID","displayedColumns","swapsData","paginator","loadSwapsTable","colWidth","ngOnChanges","swapCaption","selectedSwapType","applyFilter","selFilter","getLabel","returnColumn","col","setFilterPredicate","filterPredicate","rowData","fltr","rowToFilter","selFilterBy","onSwapClick","selSwap","id_bytes","fetchedSwap","reorderedSwap","title","amt","initiation_time","last_update_time","cost_server","cost_offchain","cost_onchain","htlc_address","openedBy","sortingDataAccessor","sortHeaderId","toLocaleLowerCase","disableClear","onDownloadCSV","MatSort","MatPaginator","LoopComponent","faInfinity","activeTab","flgLoading","storedSwaps","filteredSwaps","swap","emptyTableMessage","onSelectedIndexChange","BoltzService","swapUrl","swapInfo","serviceInfo","swapOut","swapIn","SwapStatusComponent","SwapServiceInfoComponent","SwapInInfoGraphicsComponent","SwapOutInfoGraphicsComponent","SwapModalComponent","boltzService","miner","normal","reverse","limits","minimal","maximal","swapDirectionCaption","onSwap","swapStatus","BoltzSwapsComponent","tableSettingSwapOut","tableSettingSwapIn","setTableColumns","changes","firstChange","swapStateEnum","reverseSwap","onchainAmount","expectedAmount","timeoutBlockHeight","claimAddress","lockupAddress","privateKey","preimage","redeemScript","lockupTransactionId","claimTransactionId","refundTransactionId","firstPage","BoltzRootComponent","reverseSwaps","HelpTopic","help","HelpComponent","faQuestion","LNPLink","addHelpTopics","flgLoggedIn","helpTopics","question","answer","linkCaption","LoginTokenComponent","LoginComponent","faUnlockAlt","combineLatest","loginCallRes","isAuthorizedCallRes","loginErrorMessage","onLogin","resetData","flgShow","ErrorComponent","routeReuseStrategy","shouldReuseRoute","onSameUrlNavigation","paramMap","unsubs","history","ExperimentalSettingsComponent","faCode","enabled","balanceSeletor","policyTypes","totalBalance","onPanelExpanded","panelId","fundingPolicy","selPolicyType","lease_fee_base_sat","channelFeeMaxBaseSat","onUpdateFeature","onUpdateFundingPolicy","flgUpdateCalled","updateMsg","updatePolicyRes","onResetPolicy","pathMatch","redirectTo","loadChildren","childModule","LNDModule","CLNModule","ECLModule","children","scrollPositionRestoration","MENU_DATA","LNDChildren","parentId","iconType","icon","faTachometerAlt","faLink","faBolt","faUsers","faExchangeAlt","faMapSigns","faChartBar","faSearch","faUserCheck","faDownload","faProjectDiagram","faServer","CLNChildren","faBullhorn","faPercentage","ECLChildren","SideNavigationComponent","faEject","faEye","NestedTreeControl","MatTreeNestedDataSource","navMenus","navMenusLogout","logoutNode","navMenusShowData","showDataNodes","showLogout","rootData","informationChain","getInfoChain","innerWidth","smallScreen","selConfigNodeIndex","filterSideMenuNodes","closeConfirm","confirmRes","ChildNavClicked","onChildNavClicked","loadCLNMenu","loadECLMenu","loadLNDMenu","clonedMenu","navMenuData","navMenuChild","onShowData","onNodeSelectionChange","selNodeValue","foundNode","MatTree","TopMenuComponent","faCodeBranch","AppComponent","userIdle","breakpointObserver","NavigationEnd","getElementsByTagName","scrollTo","observe","Breakpoints","accessKey","readAccessKey","flgSideNavOpened","sideNavContent","clientWidth","clientHeight","lastIndexOf","sideNavigation","sideNavToggle","onNavigationClicked","copiedText","flgCopied","AuthInterceptor","intercept","req","cloned","clone","headers","withCredentials","handle","initNodeSettings","initNodeAuthentication","initRootState","lnNode","allowPasswordUpdate","RootReducer","createReducer","on","updatedApisCallStatus","filePath","updatedSelNode","initLNDState","channel_fees","day_fee_sum","week_fee_sum","month_fee_sum","daily_tx_count","weekly_tx_count","monthly_tx_count","remote","listPaymentsAll","first_index_offset","listInvoicesAll","last_offset_index","total_fee_msat","flgTransactionsSet","flgUTXOsSet","LNDReducer","modifiedPeers","removePeerIdx","pub_key","newListInvoices","modifiedListInvoices","modifiedListPayments","localBal","remoteBal","totalCapacityActive","totalCapacityInactive","remote_balance","modifiedChannels","removeChannelIdx","channel_point","modifiedUTXOs","utxo","foundTransaction","tx_hash","outpoint","txid_str","allLtTrans","newPageSettings","defaultPage","pageSetting","tablesSettings","defaultTable","initCLNState","CLNReducer","perkb","perkw","netaddr","modifiedFeeWithTxCount","totalTxCount","newInvoices","modifiedInvoices","newOffers","modifiedOffers","updateOfferIdx","newOfferBMs","offerBMExistsIdx","updatedOffer","amountMSat","lastUpdatedAt","modifiedOfferBookmarks","removeOfferBookmarkIdx","ob","initECLState","total","confirmed","unconfirmed","ECLReducer","sent","sentPayment","peerFound","recipientNodeId","recipientNodeAlias","parts","part","channelFound","toChannelId","toChannelAlias","relayed","rlEvent","updatedInvoice","amountSettled","receivedAt","modifiedPendingChannels","pendingChannel","modifiedPayments","amountIn","amountOut","feeSats","modifiedLightningBalance","modifiedChannelStatus","modifiedFees","daily_fee","daily_txs","weekly_fee","weekly_txs","monthly_fee","monthly_txs","modifiedActiveChannels","foundFrom","foundTo","fromChannelId","fromChannelAlias","fromShortChannelId","shortChannelId","toShortChannelId","incoming","incomingEvent","channelAlias","outgoing","outgoingEvent","curr","AppModule","bootstrap","HTTP_INTERCEPTORS","HammerModule","StoreModule","lnd","cln","ecl","runtimeChecks","strictStateImmutability","strictActionImmutability","EffectsModule","StoreDevtoolsModule","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch","objectValues","HashAlgorithms","exports","SHA1","SHA256","SHA512","HASH_ALGORITHMS","KeyEncodings","ASCII","BASE64","HEX","LATIN1","UTF8","KEY_ENCODINGS","Strategy","HOTP","TOTP","STRATEGY","createDigestPlaceholder","test","padStart","maxLength","fillString","keyuri","tmpl","counter","digits","algorithm","issuer","encodeURIComponent","accountName","OTP","_defaultOptions","freeze","_options","instance","allOptions","resetOptions","hotpOptionsValidator","createDigest","createHmacKey","encoding","hotpCreateHmacKey","Buffer","hotpDefaultOptions","hotpOptions","opt","hotpCounter","hotpDigestToToken","hexDigest","digest","String","hotpToken","hotpDigest","hexCounter","hmacKey","hotpCheck","hotpKeyuri","generate","check","verify","opts","parseWindowBounds","win","past","future","totpOptionsValidator","epoch","totpPadSecret","minLength","currentLength","hexSecret","newSecret","totpCreateHmacKey","totpDefaultOptions","now","totpOptions","totpCounter","floor","totpToken","totpEpochsInWindow","deltaPerEpoch","numOfEpoches","delta","totpEpochAvailable","bounds","totpCheck","totpCheckByEpoch","epochs","totpCheckWithWindow","backward","totpTimeUsed","totpTimeRemaining","totpKeyuri","checkDelta","timeRemaining","timeUsed","authenticatorOptionValidator","keyDecoder","keyEncoder","authenticatorDefaultOptions","authenticatorOptions","authenticatorEncoder","authenticatorDecoder","authenticatorGenerateSecret","numberOfBytes","createRandomBytes","authenticatorToken","authenticatorCheckWithWindow","Authenticator","encode","decode","crypto","_interopDefault","ex","default","require","createHmac","update","randomBytes","thirtyTwo","encodedSecret","pluginCrypto","pluginThirtyTwo","hotp","totp","asn1","bignum","define","constants","decoders","encoders","inherits","Entity","prototype","_createNamed","Base","Generated","entity","_initNamed","_getDecoder","enc","_getEncoder","reporter","Reporter","DecoderBuffer","isBuffer","EncoderBuffer","isEncoderBuffer","byteLength","isDecoderBuffer","save","restore","readUInt8","skip","raw","fail","bytes","_reporterState","out","alloc","write","copy","Node","assert","tags","_baseState","tag","reverseArgs","choice","any","use","useDecoder","explicit","implicit","_wrap","module","stateProps","cstate","method","_init","child","equal","_useArgs","arg","num","newKey","_decode","wrapResult","prevObj","present","prevKey","enterKey","_peekTag","isError","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","track","_getUse","leaveObject","exitKey","leaveKey","_decodeList","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","_isPrintstr","ReporterError","rethrow","pathLen","inherited","stack","partial","captureStackTrace","tagClass","_reverse","der","DERDecoder","tree","DERNode","derDecodeTag","buf","oct","tagStr","derDecodeLen","len","decodedTag","_skipUntilEnd","decoder","possibleEnd","unused","fromCharCode","readUInt16BE","numstr","printstr","relative","identifiers","ident","subident","second","tmp","mon","hour","sec","UTC","pem","PEMDecoder","lines","re","base64","DEREncoder","two","encodedTag","encodeTag","tagByName","tagClassByName","header","lenOctets","writeUInt16BE","charCodeAt","objid","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","toArray","dataBuffer","defaultBuffer","PEMEncoder","ctor","superCtor","super_","TempCtor","BN","number","endian","isBN","negative","words","red","wordSize","parseHex4Bits","string","c","parseHexByte","lowerBound","r","parseBase","mul","right","cmp","_initNumber","_initArray","_parseHex","_parseBase","w","off","strip","limbLen","limbPow","mod","imuln","_iaddn","dest","_expand","_normSign","inspect","zeros","groupSizes","groupBases","smallMulTo","lo","carry","k","ncarry","rword","maxJ","padding","groupSize","groupBase","isZero","modn","idivn","toNumber","ret","toJSON","toBuffer","toArrayLike","ArrayType","reqLength","littleEndian","q","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","hi","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","comb10MulTo","mid","o","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","bigMulTo","hncarry","makeRBT","N","l","revBin","rb","permute","rbt","rws","iws","rtws","itws","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","ws","convert13b","stub","ph","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","toBitArray","iushln","bits","carryMask","newCarry","ishln","hint","extended","h","mask","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","mode","bhi","diff","qj","div","divmod","positive","divn","umod","divRound","dm","half","r2","egcd","A","B","C","D","g","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","x1","x2","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","eq","Red","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","_strip","output","outLen","mod3","one","nOne","lpow","z","inv","wnd","currentLen","mont","u","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","tripletToBase64","move","src","_move","Symbol","for","modrn","allocUnsafe","allocate","_toArrayLikeLE","_toArrayLikeBE","isNegNum","Rand","rand","_rand","getBytes","getByte","getRandomValues","msCrypto","asUInt32Array","readUInt32BE","scrubVec","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","G","d","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","blockSize","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","m1","scrub","aes","Transform","GHASH","incr32","StreamCipher","iv","decrypt","_cipher","ck","_ghash","calcIv","_finID","ghash","toPad","ivBits","tail","writeUIntBE","_prev","_cache","_secCache","_decrypt","_alen","_len","_mode","_authTag","_called","_update","chunk","rump","encrypt","_final","final","xorTest","getAuthTag","setAuthTag","setAAD","ciphers","deciphers","createCipher","createCipheriv","createDecipher","createDecipheriv","getCiphers","AuthCipher","MODES","ebtk","Decipher","Splitter","_last","_autopadding","cache","suite","thing","unpad","padded","setAutoPadding","setTo","autoPadding","Cipher","PADDING","equals","padBuff","writeUInt8","ZEROES","fromArray","block","_multiply","lsbVi","Vi","Zi","abl","bl","pad","encryptStart","encryptByte","byteParam","shiftIn","getBlock","chunkNum","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","DES","aesModes","desModes","keyLen","ivLen","CipherBase","des","instantiate","EDE","modeName","_des","des3","getr","priv","modulus","prime1","prime2","crt","blinds","blind","blinder","publicExponent","unblinder","blinded","c1","c2","qinv","coefficient","exponent1","m2","exponent2","createHash","stream","algorithms","Sign","Writable","_hashType","hash","_hash","_tag","_signType","Verify","createSign","createVerify","_write","sig","EC","parseKeys","curves","getKey","algo","hlen","hbits","bits2octets","bits2int","obits","makeKey","kv","makeR","hashType","signType","curve","ecSign","curveId","keyFromPrivate","toDER","dsaSign","priv_key","H","checkValue","pub","ecVerify","subjectPrivateKey","dsaVerify","unpacked","montp","padNum","ieee754","customInspectSymbol","SlowBuffer","K_MAX_LENGTH","createBuffer","RangeError","setPrototypeOf","encodingOrOffset","fromString","isEncoding","actual","ArrayBuffer","isView","fromArrayView","arrayView","isInstance","fromArrayBuffer","byteOffset","fromArrayLike","SharedArrayBuffer","fromObject","numberIsNaN","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","hexWrite","remaining","strLen","parsed","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","byteArray","base64Write","ucs2Write","utf16leToBytes","units","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","TYPED_ARRAY_SUPPORT","typedArraySupport","proto","foo","defineProperty","enumerable","poolSize","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","toLocaleString","INSPECT_MAX_BYTES","thisStart","thisEnd","thisCopy","targetCopy","_arr","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","readUintBE","readUIntBE","readUint8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUint8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","INVALID_BASE64_RE","leadSurrogate","base64clean","dst","alphabet","i16","StringDecoder","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","_transform","_flush","fin","typeOf","isPlainObject","cloneDeep","instanceClone","cloneObjectDeep","cloneArrayDeep","globals","convertHex","bytesToHex","arrBytesToHex","padLeft","orig","hexToBytes","hex","convertString","bytesToString","stringToBytes","decodeURIComponent","escape","unescape","elliptic","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","ec","formatReturnValue","bn","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","other","inenc","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_priv","_importPrivate","MD5","RIPEMD160","sha","Hash","alg","Legacy","md5","ZEROS","Hmac","blocksize","_alg","ipad","_ipad","opad","_opad","algos","algoKeys","hashes","pbkdf2","pbkdf2Sync","Cipheriv","Decipheriv","listCiphers","dh","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","CBCState","_cbcInit","_cbcState","inp","inOff","outOff","superProto","bufferOff","_updateDecrypt","_updateEncrypt","_buffer","_flushBuffer","inputOff","outputOff","_finalEncrypt","_finalDecrypt","_pad","_unpad","utils","DESState","_desState","deriveKeys","shiftTable","kL","kR","pc1","r28shl","pc2","ip","_encrypt","lStart","rStart","keyL","keyR","expand","substitute","rip","EDEState","k3","_edeState","inL","inR","outL","outR","pc2table","sTable","permuteTable","generatePrime","DH","ENCODINGS","binary","gen","generator","genc","millerRabin","TWENTYFOUR","ELEVEN","TEN","THREE","SEVEN","_pub","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","checkPrime","rem","simpleSieve","fermatTest","__gen","_gen","getPrime","front","getGenerator","findPrime","ONE","TWO","FIVE","FOUR","_getPrimes","n2","dijkstra","single_source_shortest_paths","graph","predecessors","costs","closest","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","PriorityQueue","make","empty","cost","extract_shortest_path_from_predecessor_list","find_path","T","sorter","default_sorter","eddsa","getNAF","getJSF","BaseCurve","conf","zero","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","precomputed","_fixedNafMul","doubles","_getDoubles","naf","I","nafW","repr","jpoint","mixedAdd","points","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","jsf","ja","jb","decodePoint","pointFromX","encodeCompressed","compact","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","EdwardsCurve","twisted","mOneA","dd","oneC","Point","zOne","_mulA","_mulC","y2","pointFromY","isInfinity","normalize","fromJSON","_extDbl","nx","ny","nt","nz","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","zi","eqXToP","xc","short","edwards","MontCurve","i4","a24","aa","bb","diffAdd","da","cb","jumlAdd","ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","isRed","inf","JPoint","lambda","betas","_getEndoRoots","lambdas","basis","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","y1","len1","_endoSplit","v1","v2","p1","p2","q1","q2","ax","_endoWnafMulAdd","npoints","ncoeffs","endoMul","obj2point","ys1","dyinv","_precompute","negate","zinv","zinv2","ay","pz2","z2","u1","u2","h2","h3","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","c8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","ee","yyu4","kbase","z3","pz3","zs","PresetCurve","defineCurve","configurable","sha384","sha512","HmacDRBG","KeyPair","Signature","nh","keyPair","fromPrivate","fromPublic","drbg","pers","persEnc","entropy","hmacStrength","entropyEnc","nonce","ns2","_truncateToN","truncOnly","bkey","ns1","iter","kp","kpX","recoveryParam","canonical","sinv","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","privEnc","pubEnc","derive","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","LN2","slen","backHalf","parseBytes","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","R","Rencoded","encodePoint","s_","pubBytes","S","makeSignature","SG","intFromLE","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","cachedProperty","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","toHex","minAssert","minUtils","zero2","m8","d2","m14","m24","computer","ReflectOwnKeys","Reflect","ReflectApply","receiver","Function","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","once","emitter","reject","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","handler","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","that","_addListener","prepend","existing","newListener","warned","ProcessEmitWarning","warning","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","wrapListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","addListener","prependListener","prependOnceListener","originalListener","spliceOne","removeAllListeners","rawListeners","eventNames","EVP_BytesToKey","salt","keyBits","used","keyStart","ivStart","HashBase","_block","_blockSize","_blockOffset","_length","_finalized","throwIfNotStringOrBuffer","prefix","_digest","common","ripemd","hmac","sha1","sha224","ripemd160","BlockHash","pendingTotal","outSize","padLength","_delta8","_delta32","join32","inner","outer","rotl32","sum32","sum32_3","sum32_4","Kh","E","Ah","Bh","Ch","Dh","Eh","rh","sh","toHex32","split32","shaCommon","sum32_5","ft_1","sha1_K","W","SHA224","ch32","maj32","s0_256","s1_256","g0_256","g1_256","sha256_K","T1","T2","SHA384","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","sha512_K","ch64_hi","xh","xl","yh","yl","zh","ch64_lo","zl","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_hi","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_hi","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","ah","al","bh","ch","cl","dl","eh","fh","fl","gh","gl","hh","hl","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","rotr32","p32","isSurrogatePair","htonl","zero8","predResist","minEntropy","_reseed","reseedInterval","K","V","nonceEnc","seed","_hmac","kmac","reseed","addEnc","temp","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","writable","isObject","isObjectObject","prot","ctorName","isGeneratorFn","isArguments","callee","isDate","toDateString","setDate","stackTraceLimit","isRegexp","ignoreCase","multiline","global","isGeneratorObj","throw","return","ARRAY16","_c","_d","rotl","fnF","fnG","fnH","fnI","brorand","MillerRabin","_randbelow","min_bytes","_randrange","stop","rone","n1","rn1","getDivisor","presetDefault","RSAPrivateKey","seq","int","RSAPublicKey","PublicKey","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","EncryptedPrivateKeyInfo","DSAPrivateKey","ECPrivateKey","ECParameters","namedCurve","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","bool","TBSCertificate","X509Certificate","findProc","startRegex","fullRegex","evp","okey","decrypted","cipherText","cipherKey","match2","aesid","fixProc","compat","subtype","ndata","stripped","certificate","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","DSAparam","kde","kdeparams","iters","keylen","EncryptedPrivateKey","PrivateKey","parameters","ZERO_BUF","nextTick","checkParameters","defaultEncoding","sync","subtle","toBrowser","checks","getNextTick","queueMicrotask","setImmediate","browserPbkdf2","iterations","importKey","deriveBits","resolvePromise","checkNative","browser","prom","resp","MAX_ALLOC","sizes","rmd160","saltLen","getDigest","shaFunc","rmd160Func","ipad1","ipad2","DK","block1","destPos","hLen","U","i2ops","mgf","withPublic","zBuffer","oaep","iHash","maskedSeed","maskedDb","db","dif","pkcs1","ps","publicKey","paddedMsg","hLen2","dblen","nonZero","cur","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","argsNum","isLastArgCb","getContext","render","renderToDataURL","getSymbolSize","posCount","intervals","positions","coords","getRowColCoords","posLength","Mode","ALPHA_NUM_CHARS","AlphanumericData","ALPHANUMERIC","getBitsLength","bitBuffer","put","BitBuffer","bufIndex","putBit","getLengthInBits","BitMatrix","reservedBit","row","reserved","isReserved","encodeUtf8","ByteData","BYTE","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionLevel","L","level","isValid","Utils","G15_BCH","getBCHDigit","EXP_TABLE","LOG_TABLE","KanjiData","KANJI","toSJIS","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","Patterns","sameCountCol","sameCountRow","lastCol","lastRow","bitsCol","bitsRow","darkCount","modulesCount","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","applyMask","penalty","getPenaltyN1","getPenaltyN2","getPenaltyN3","getPenaltyN4","VersionCheck","Regex","ccBits","dataStr","testNumeric","NUMERIC","testAlphanumeric","testKanji","NumericData","remainingNum","GF","coeff","divident","divisor","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","FormatInfo","Segments","setupFormatInfo","matrix","getEncodedBits","createData","segments","getCharCountIndicator","dataTotalCodewordsBits","getSymbolTotalCodewords","getTotalCodewordsCount","remainingByte","createCodewords","totalCodewords","ecTotalCodewords","dataTotalCodewords","ecTotalBlocks","getBlocksCount","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","setupFinderPattern","getPositions","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","setupData","inc","bitIndex","byteIndex","dark","getBestMask","toSJISFunc","setToSJISFunction","Polynomial","genPoly","initialize","generateECPolynomial","paddedData","remainder","buff","numeric","kanji","byte","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","isKanjiModeEnabled","BYTE_KANJI","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","getBestModeForData","seg","buildNodes","segs","buildGraph","prevNodeIds","nodeGroup","currentNodeIds","lastCount","prevNodeId","optimizedSegs","mergeSegments","prevSeg","toSJISFunction","CODEWORDS_COUNT","digit","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","MIXED","usableBits","getBestVersionForMixedData","getCapacity","getBestVersionForDataLength","qrData","canvasEl","getCanvasElement","getOptions","getImageWidth","image","createImageData","qrToImageData","clearCanvas","clearRect","putImageData","rendererOpts","toDataURL","quality","getColorAttrib","color","attrib","svgCmd","cmd","qrcodesize","margin","bg","light","qrToPath","moveBy","newRow","lineLength","viewBox","svgTag","hex2rgba","hexCode","hexValue","qrSize","getScale","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","MAX_BYTES","generated","oldBrowser","safeBuffer","randombytes","kBufferMaxLength","kMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","uint","codes","createErrorType","NodeError","_Base","arg3","getMessage","_inheritsLoose","subClass","superClass","__proto__","oneOf","expected","determiner","search","this_len","objectKeys","Duplex","Readable","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","highWaterMark","getBuffer","_readableState","PassThrough","ReadableState","EElistenerCount","Stream","OurUint8Array","debug","debugUtil","debuglog","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_INVALID_ARG_TYPE","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","_read","_destroy","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","emitReadable","emitReadable_","chunkInvalid","_isUint8Array","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","head","MAX_HWM","howMuchToRead","computeNewHighWaterMark","flow","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","xs","nOrig","doRead","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","cleanup","onfinish","ondrain","ondata","cleanedUp","needDrain","pipeOnDrain","dests","ev","wrap","_this","asyncIterator","_fromList","iterable","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","err2","CorkedRequest","onCorkedFinish","corkReq","pendingcb","corkedRequestsFree","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","onwriteStateUpdate","writelen","onwriteError","finishMaybe","errorEmitted","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","hasInstance","object","writeAfterEnd","validChunk","writeOrBuffer","newChunk","decodeChunk","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","_defineProperty","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_this2","_Object$create","enumerableOnly","symbols","sym","getOwnPropertyDescriptor","_defineProperties","descriptor","custom","copyBuffer","_classCallCheck","Constructor","_createClass","protoProps","staticProps","hasStrings","_getString","_getBuffer","nb","_objectSpread","getOwnPropertyDescriptors","defineProperties","depth","customInspect","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","onlegacyfinish","writableEnded","readableEnded","onrequest","isRequest","setHeader","abort","ERR_MISSING_ARGS","destroyer","popCallback","streams","pipeline","destroys","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","zr","sl","sr","hr","_e","fn1","fn2","fn3","fn4","fn5","ar","br","cr","dr","tr","getValue","hasError","thrownError","_throwIfClosed","observable","observerOrNext","isSubscriber","isObserver","isFunction","isSubscription","SafeSubscriber","errorContext","_trySubscribe","sink","promiseCtor","getPromiseCtor","Symbol_observable","operations","pipeFromArray","toPromise","_bufferSize","_windowTime","_timestampProvider","dateTimestampProvider","_infiniteTimeWindow","isStopped","_trimBuffer","_innerSubscribe","_checkFinalizedStatuses","adjustedBufferSize","ObjectUnsubscribedError","createErrorClass","_super","currentObservers","subject","observed","EMPTY_SUBSCRIPTION","COMPLETE_NOTIFICATION","createNotification","kind","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","_next","errorNotification","_error","_complete","_bind","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","captureError","reportUnhandledError","notification","onStoppedNotification","timeoutProvider","defaultErrorHandler","UnsubscriptionError","initialTeardown","_parentage","_finalizers","initialFinalizer","finalizer","execFinalizer","teardown","_hasParent","_addParent","_removeParent","EMPTY","onUnhandledError","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","ConnectableObservable","subjectFactory","_subject","_refCount","_connection","hasLift","getSubject","_teardown","connect","connection","refCount","higherOrderRefCount","resultSelector","popResultSelector","observables","argsArgArrayOrObject","combineLatestInit","valueTransform","identity","maybeSchedule","remainingFirstValues","hasFirstValue","createObject","mapOneOrManyArgs","execute","concatAll","mergeAll","defer","observableFactory","innerFrom","sources","remainingCompletions","remainingEmissions","sourceIndex","hasValue","subscribeOn","schedule","scheduleAsyncIterable","scheduled","isInteropObservable","scheduleObservable","observeOn","isArrayLike","scheduleArray","isPromise","schedulePromise","isAsyncIterable","isIterable","scheduleIterable","Symbol_iterator","isReadableStreamLike","scheduleReadableStreamLike","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","nodeEventEmitterMethods","eventTargetMethods","jqueryMethods","isEventTarget","methodName","isNodeStyleEventEmitter","toCommonHandlerRegistry","isJQueryStyleEventEmitter","subTarget","fromInteropObservable","obs","fromPromise","fromAsyncIterable","fromIterable","fromReadableStreamLike","readableStream","asyncIterable","asyncIterable_1","asyncIterable_1_1","e_1","__awaiter","__asyncValues","e_1_1","concurrent","popNumber","errorOrErrorFactory","errorFactory","dueTime","intervalOrScheduler","intervalDuration","isScheduler","due","isValidDate","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","auditTime","audit","durationSelector","lastValue","durationSubscriber","isComplete","endDuration","cleanupDuration","handledResult","innerSub","syncUnsub","concatMap","project","debounceTime","activeTask","lastTime","emitWhenIdle","targetTime","defaultIfEmpty","delayWhen","delayDurationSelector","subscriptionDelay","ignoreElements","mapTo","comparator","keySelector","defaultCompare","previousKey","currentKey","predicate","hasDefaultValue","throwIfEmpty","EmptyError","ii","mergeInternals","onBeforeNext","innerSubScheduler","additionalFinalizer","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","refCounter","sharedConnection","conn","scanInternals","hasSeed","emitOnNext","emitBeforeComplete","hasState","scan","share","connector","resetOnError","resetOnComplete","resetOnRefCountZero","wrapperSource","resetConnection","hasCompleted","hasErrored","cancelReset","resetAndUnsubscribe","handleReset","onSubscriber","startWith","innerSubscriber","innerIndex","outerIndex","seen","notifier","takeWhile","inclusive","tapObserver","isUnsub","defaultErrorFactory","TimeoutError","schedulerArg","each","with","_with","timeoutErrorFactory","meta","originalSourceSubscription","timerSubscription","startTimer","otherValues","ready","every","Action","work","intervalProvider","setInterval","clearInterval","AsyncAction","recycleAsyncId","requestAsyncId","_scheduler","_execute","errorValue","errored","Scheduler","schedulerActionCtor","AsyncScheduler","SchedulerAction","_active","resolved","nextHandle","activeHandles","findAndClearHandle","Immediate","clearImmediate","immediateProvider","AsapAction","_scheduled","AsapScheduler","flushId","asapScheduler","async","QueueAction","QueueScheduler","queueScheduler","clearTimeout","getSymbolIterator","objectProto","getKeys","isPOJO","createImpl","ctorFunc","isRoot","errorThrown","parentSubscription","repeat","scheduleSubscription","isObservable","__asyncGenerator","reader","getReader","__await","releaseLock","liftedSource","callOrApply","fns","copyProps","SafeBuffer","safer","Safer","kStringMaxLength","binding","MAX_LENGTH","MAX_STRING_LENGTH","finalSize","_finalSize","accum","assigned","lowBits","highBits","Algorithm","Sha","_w","rotl5","rotl30","ft","Sha1","rotl1","Sha256","Sha224","_f","_g","_h","maj","sigma0","sigma1","gamma0","gamma1","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","_imports","isPrime","sqrtN","factor","nPrime","processBlock","gamma0x","gamma1x","bytesToWords","digestbytes","wordsToBytes","asBytes","asString","deep","cloneBuffer","cloneSymbol","cloneArrayBuffer","cloneTypedArray","cloneRegExp","EE","_isStdio","didOnEnd","normalizeEncoding","nenc","_normalizeEncoding","retried","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","utf8CheckExtraBytes","utf8End","utf8Text","utf8CheckIncomplete","base32","byteTable","plain","shiftIndex","encoded","quintetCount","quintets","plainChar","plainDigit","plainPos","decoded","encodedByte","localStorage","deprecated","trace","adopt","verb","settle","tokens","stateChangeExpr","animateChild","scheduleMicroTask","_position","_onStart","triggerMicrotask","AnimationGroupPlayer","_players","doneCount","destroyCount","startCount","timeAtPosition","longestPlayer","longestSoFar","getAriaReferenceIds","attr","getAttribute","CDK_DESCRIBEDBY_ID_PREFIX","CDK_DESCRIBEDBY_HOST_ATTRIBUTE","nextId","AriaDescriber","_messageRegistry","_messagesContainer","inject","APP_ID","describe","_canBeDescribed","setMessageId","messageElement","referenceCount","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","removeDescription","_isElementNode","_removeMessageReference","registeredMessage","_deleteMessageElement","childNodes","describedElements","_removeCdkDescribedByReferenceIds","textContent","_createMessagesContainer","containerClassName","serverContainers","messagesContainer","originalReferenceIds","addAriaReferencedId","ids","existingId","removeAriaReferencedId","filteredIds","referenceIds","messageId","trimmedMessage","ariaLabel","ELEMENT_NODE","serviceId","ListKeyManager","_items","_activeItemIndex","_activeItem","_letterKeyStream","_typeaheadSubscription","_allowedModifierKeys","_homeAndEnd","_skipPredicateFn","_pressedLetters","tabOut","QueryList","newItems","newIndex","skipPredicate","withWrap","shouldWrap","withVerticalOrientation","withHorizontalOrientation","_horizontal","withAllowedModifierKeys","withTypeAhead","debounceInterval","letter","inputString","items","_getItemsArray","setActiveItem","withHomeAndEnd","previousActiveItem","updateActiveItem","onKeydown","isModifierAllowed","modifier","TAB","setNextItemActive","setPreviousItemActive","setFirstItemActive","setLastItemActive","toLocaleUpperCase","Z","ZERO","NINE","activeItemIndex","activeItem","isTyping","_setActiveItemByIndex","_setActiveItemByDelta","itemArray","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","ActiveDescendantKeyManager","setInactiveStyles","setActiveStyles","FocusKeyManager","_origin","setFocusOrigin","InteractivityChecker","hasAttribute","isVisible","hasGeometry","offsetWidth","offsetHeight","getClientRects","isTabbable","frameElement","getFrameElement","getWindow","ownerDocument","getTabIndexValue","nodeName","tabIndexValue","WEBKIT","IOS","isPotentiallyTabbableIOS","FIREFOX","isFocusable","isPotentiallyFocusable","isHiddenInput","isInputElement","isNativeFormElement","isAnchorWithHref","isAnchorElement","hasValidTabIndex","ignoreVisibility","FocusTrap","_checker","deferAnchors","_hasAttached","startAnchorListener","focusLastTabbableElement","endAnchorListener","focusFirstTabbableElement","_enabled","attachAnchors","_startAnchor","_endAnchor","_toggleAnchorTabIndex","startAnchor","endAnchor","_createAnchor","focusInitialElementWhenReady","_executeOnStable","focusInitialElement","focusFirstTabbableElementWhenReady","focusLastTabbableElementWhenReady","_getRegionBoundary","bound","markers","_getFirstTabbableElement","_getLastTabbableElement","redirectToElement","focusableChild","hasAttached","tabbableChild","anchor","isEnabled","toggleAnchors","isStable","onStable","FocusTrapFactory","deferCaptureElements","CdkTrapFocus","_focusTrapFactory","_previouslyFocusedElement","focusTrap","autoCapture","_autoCapture","_captureFocus","ngDoCheck","autoCaptureChange","_getFocusedElementPierceShadowDom","ConfigurableFocusTrap","_focusTrapManager","_inertStrategy","_enable","preventFocus","_disable","allowFocus","FOCUS_TRAP_INERT_STRATEGY","EventListenerFocusTrapInertStrategy","_listener","_trapFocus","focusTrapRoot","activeElement","FocusTrapManager","_focusTrapStack","ConfigurableFocusTrapFactory","configObject","isFakeMousedownFromScreenReader","buttons","offsetX","offsetY","isFakeTouchstartFromScreenReader","touch","radiusX","radiusY","INPUT_MODALITY_DETECTOR_OPTIONS","INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS","ignoreKeys","ALT","CONTROL","MAC_META","META","SHIFT","modalityEventListenerOptions","capture","InputModalityDetector","ngZone","_mostRecentTarget","_modality","_lastTouchMs","_getEventTarget","_onMousedown","_onTouchstart","modalityDetected","modalityChanged","mostRecentModality","LIVE_ANNOUNCER_ELEMENT_TOKEN","providedIn","LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY","LIVE_ANNOUNCER_DEFAULT_OPTIONS","LiveAnnouncer","elementToken","_liveElement","_createLiveElement","politeness","_previousTimeout","_currentPromise","_currentResolve","elementClass","previousElements","getElementsByClassName","liveEl","CdkAriaLive","_liveAnnouncer","_contentObserver","_politeness","_subscription","elementText","_previousAnnouncedText","i1$1","FOCUS_MONITOR_DEFAULT_OPTIONS","captureEventListenerOptions","FocusMonitor","_inputModalityDetector","_windowFocused","_originFromTouchInteraction","_elementInfo","_monitoredElementCount","_rootNodeFocusListenerCount","_windowFocusListener","_windowFocusTimeoutId","_stopInputModalityDetector","_rootNodeFocusAndBlurListener","parentElement","_detectionMode","detectionMode","checkChildren","coerceElement","rootNode","_getShadowRoot","_getDocument","cachedInfo","_registerGlobalListeners","elementInfo","_setClasses","_removeGlobalListeners","focusVia","_getClosestElementsInfo","currentElement","_originChanged","_setOrigin","_info","_getFocusOrigin","focusEventTarget","_shouldBeAttributedToTouch","_lastFocusOrigin","_isLastInteractionFromInputLabel","isFromInteraction","_originTimeoutId","ms","relatedTarget","_emitOrigin","rootNodeFocusListeners","modality","mostRecentTarget","labels","CdkMonitorFocus","_focusOrigin","cdkFocusChange","focusOrigin","_monitorSubscription","BLACK_ON_WHITE_CSS_CLASS","WHITE_ON_BLACK_CSS_CLASS","HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS","HighContrastModeDetector","_breakpointSubscription","BreakpointObserver","_hasCheckedHighContrastMode","_applyBodyHighContrastModeCssClasses","getHighContrastMode","testElement","backgroundColor","documentWindow","computedStyle","computedColor","bodyClasses","A11yModule","highContrastModeDetector","ObserversModule","DIR_DOCUMENT","DIR_DOCUMENT_FACTORY","RTL_LOCALE_PATTERN","_resolveDirectionality","rawValue","language","Directionality","bodyDir","htmlDir","Dir","_isInitialized","_rawDir","BidiModule","fallbackValue","_isNumberValue","coerceArray","coerceCssPixelValue","elementOrRef","ElementRef","coerceStringArray","sourceValues","sourceValue","trimmedString","DataSource","isDataSource","ArrayDataSource","disconnect","_DisposeViewRepeaterStrategy","applyChanges","viewContainerRef","itemContextFactory","itemValueResolver","itemViewChanged","forEachOperation","adjustedPreviousIndex","currentIndex","view","operation","previousIndex","insertContext","createEmbeddedView","templateRef","detach","_RecycleViewRepeaterStrategy","viewCacheSize","_viewCache","viewArgsFactory","_insertView","_detachAndCacheView","_moveView","cachedView","_insertViewFromCache","$implicit","viewArgs","detachedView","_maybeCacheView","insert","initiallySelectedValues","_emitChanges","compareWith","_selection","_deselectedToEmit","_selectedToEmit","changed","_markSelected","_selected","_verifyValueAssignment","_hasQueuedChanges","_unmarkSelected","setSelection","oldValues","newSelectedSet","flushEvent","_unmarkAll","otherValue","isMultipleSelection","added","removed","UniqueSelectionDispatcher","notify","registered","_VIEW_REPEATER_STRATEGY","BACKSPACE","ENTER","ESCAPE","SPACE","DELETE","modifiers","altKey","shiftKey","ctrlKey","metaKey","mediaQueriesForWebkitCompatibility","mediaQueryStyleNode","MediaMatcher","_matchMedia","matchMedia","noopMatchMedia","BLINK","createEmptyStyleRule","sheet","insertRule","media","_mediaMatcher","_queries","_destroySubject","isMatched","splitQueries","mediaQuery","_registerQuery","mql","stateObservable","breakpointStates","queries","XSmall","Small","Medium","Large","XLarge","Handset","Tablet","Web","HandsetPortrait","TabletPortrait","WebPortrait","HandsetLandscape","TabletLandscape","WebLandscape","MutationObserverFactory","MutationObserver","ContentObserver","_mutationObserverFactory","_observedElements","_cleanupObserver","_observeElement","_unobserveElement","mutations","characterData","childList","subtree","CdkObserveContent","_currentSubscription","_unsubscribe","debounce","_debounce","scrollBehaviorSupported","supportsScrollBehavior","BlockScrollStrategy","_viewportRuler","_previousHTMLStyles","_isEnabled","attach","_canBeEnabled","_previousScrollPosition","getViewportScrollPosition","html","htmlStyle","bodyStyle","previousHtmlScrollBehavior","scrollBehavior","previousBodyScrollBehavior","scroll","viewport","getViewportSize","scrollHeight","scrollWidth","CloseScrollStrategy","_scrollDispatcher","_scrollSubscription","_detach","_overlayRef","overlayRef","scrolled","threshold","_initialScrollPosition","scrollPosition","updatePosition","NoopScrollStrategy","isElementScrolledOutsideView","scrollContainers","containerBounds","outsideAbove","bottom","outsideBelow","outsideLeft","outsideRight","isElementClippedByScrolling","scrollContainerRect","clippedAbove","clippedBelow","clippedLeft","clippedRight","RepositionScrollStrategy","throttle","scrollThrottle","autoClose","overlayRect","overlayElement","ScrollStrategyOptions","reposition","OverlayConfig","scrollStrategy","backdropClass","disposeOnNavigation","configKeys","ConnectedOverlayPositionChange","connectionPair","scrollableViewProperties","BaseOverlayDispatcher","_attachedOverlays","OverlayKeyboardDispatcher","_keydownListener","overlays","_keydownEvents","keydownEvents","_isAttached","OverlayOutsideClickDispatcher","_cursorStyleIsSet","_pointerDownListener","_pointerDownEventTarget","_clickListener","_outsidePointerEvents","outsidePointerEvents","_addEventListeners","_cursorOriginalValue","cursor","getContainerElement","containerClass","_isTestEnvironment","oppositePlatformContainers","OverlayRef","_portalOutlet","_host","_pane","_keyboardDispatcher","_location","_outsideClickDispatcher","_animationsDisabled","_backdropElement","_backdropClick","_attachments","_detachments","_locationChanges","_backdropClickHandler","_backdropTransitionendHandler","_disposeBackdrop","_scrollStrategy","_positionStrategy","positionStrategy","backdropElement","portal","_previousHostParent","attachResult","_updateStackingOrder","_updateElementSize","_updateElementDirection","_togglePointerEvents","_attachBackdrop","_toggleClasses","dispose","detachBackdrop","detachmentResult","_detachContentWhenStable","isAttached","_disposeScrollStrategy","backdropClick","attachments","detachments","getConfig","updatePositionStrategy","strategy","updateSize","sizeConfig","setDirection","addPanelClass","classes","removePanelClass","getDirection","updateScrollStrategy","minWidth","minHeight","maxHeight","enablePointer","pointerEvents","showingClass","requestAnimationFrame","backdropToDetach","_backdropTimeout","cssClasses","isAdd","backdrop","boundingBoxClass","cssUnitPattern","FlexibleConnectedPositionStrategy","connectedTo","_overlayContainer","_lastBoundingBoxSize","_isPushed","_canPush","_growAfterOpen","_hasFlexibleDimensions","_positionLocked","_viewportMargin","_scrollables","_preferredPositions","_positionChanges","_resizeSubscription","_offsetX","_offsetY","_appliedPanelClasses","positionChanges","setOrigin","_validatePositions","_boundingBox","_isDisposed","_isInitialRender","_lastPosition","reapplyLastPosition","_clearPanelClasses","_resetOverlayElementStyles","_resetBoundingBoxStyles","_viewportRect","_getNarrowedViewportRect","_originRect","_getOriginRect","_overlayRect","_containerRect","originRect","viewportRect","containerRect","flexibleFits","fallback","originPoint","_getOriginPoint","overlayPoint","_getOverlayPoint","overlayFit","_getOverlayFit","isCompletelyWithinViewport","_applyPosition","_canFitWithFlexibleDimensions","boundingBoxRect","_calculateBoundingBoxRect","visibleArea","bestFit","bestScore","fit","score","weight","_previousPushAmount","extendStyles","alignItems","justifyContent","lastPosition","withScrollableContainers","scrollables","withPositions","withViewportMargin","withFlexibleDimensions","flexibleDimensions","withGrowAfterOpen","growAfterOpen","withPush","canPush","withLockedPosition","isLocked","withDefaultOffsetX","withDefaultOffsetY","withTransformOriginOn","_transformOriginSelector","originX","startX","_isRtl","endX","originY","overlayStartX","overlayStartY","overlayX","overlayY","rawOverlayRect","overlay","getRoundedBoundingClientRect","_getOffset","leftOverflow","rightOverflow","topOverflow","bottomOverflow","visibleWidth","_subtractOverflows","visibleHeight","fitsInViewportVertically","fitsInViewportHorizontally","availableHeight","availableWidth","getPixelValue","verticalFit","horizontalFit","_pushOverlayOnScreen","overflowRight","overflowBottom","overflowTop","overflowLeft","pushX","pushY","_setTransformOrigin","_setOverlayElementStyles","_setBoundingBoxStyles","_addPanelClasses","_getScrollVisibility","changeEvent","xOrigin","yOrigin","transformOrigin","isRtl","smallestDistanceToViewportEdge","previousHeight","isBoundedByRightViewportEdge","previousWidth","_hasExactPosition","hasExactPosition","hasFlexibleDimensions","_getExactOverlayY","_getExactOverlayX","transformString","documentHeight","horizontalStyleProperty","documentWidth","originBounds","overlayBounds","scrollContainerBounds","scrollable","getElementRef","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","overflows","currentOverflow","cssClass","clientRect","wrapperClass","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_alignItems","_xPosition","_xOffset","_width","_height","centerHorizontally","centerVertically","parentStyles","shouldBeFlushHorizontally","shouldBeFlushVertically","xPosition","xOffset","marginLeft","marginRight","marginTop","marginBottom","OverlayPositionBuilder","flexibleConnectedTo","nextUniqueId","Overlay","scrollStrategies","_componentFactoryResolver","_positionBuilder","_injector","_directionality","_animationsModuleType","_createHostElement","pane","_createPaneElement","portalOutlet","_createPortalOutlet","overlayConfig","_appRef","ApplicationRef","DomPortalOutlet","i5","i6","defaultPositionList","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY","CdkOverlayOrigin","CdkConnectedOverlay","_overlay","scrollStrategyFactory","_hasBackdrop","_lockPosition","_flexibleDimensions","_push","_backdropSubscription","_attachSubscription","_detachSubscription","_positionSubscription","viewportMargin","positionChange","overlayKeydown","overlayOutsideClick","_templatePortal","TemplatePortal","_scrollStrategyFactory","_updatePositionStrategy","lockPosition","_attachOverlay","_detachOverlay","_createOverlay","_buildConfig","_createPositionStrategy","currentPosition","_getFlexibleConnectedPositionStrategyOrigin","transformOriginSelector","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","OverlayModule","PortalModule","ScrollingModule","FullscreenOverlayContainer","_fullScreenEventName","_fullScreenListener","_adjustParentForFullscreenChange","_addFullscreenChangeListener","getFullscreenElement","_getEventName","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","hasV8BreakIterator","supportedInputTypes","Intl","v8BreakIterator","Platform","_platformId","isPlatformBrowser","EDGE","TRIDENT","chrome","CSS","ANDROID","SAFARI","PlatformModule","candidateInputTypes","getSupportedInputTypes","featureTestInput","supportsPassiveEvents","rtlScrollAxisType","shadowDomIsSupported","supportsPassiveEventListeners","scrollToFunction","getRtlScrollAxisType","containerStyle","overflow","contentStyle","scrollLeft","_supportsShadowDom","createShadowRoot","attachShadow","getRootNode","ShadowRoot","shadowRoot","newActiveElement","composedPath","__karma__","jasmine","jest","Mocha","Portal","_attachedHost","setAttachedHost","ComponentPortal","injector","componentFactoryResolver","DomPortal","BasePortalOutlet","attachDomPortal","_attachedPortal","attachComponentPortal","attachTemplatePortal","_invokeDisposeFn","setDisposeFn","_disposeFn","outletElement","_defaultInjector","anchorNode","replaceChild","componentFactory","resolveComponentFactory","componentRef","createComponent","Injector","attachView","hostView","viewCount","detachView","_getComponentRootNode","viewContainer","viewRef","rootNodes","CdkPortal","TemplatePortalDirective","CdkPortalOutlet","_viewContainerRef","attached","_getRootNode","attachedRef","_attachedRef","ref","PortalHostDirective","animationFrameProvider","request","cancelAnimationFrame","AnimationFrameAction","AnimationFrameScheduler","animationFrameScheduler","VIRTUAL_SCROLL_STRATEGY","FixedSizeVirtualScrollStrategy","itemSize","minBufferPx","maxBufferPx","_scrolledIndexChange","scrolledIndexChange","_viewport","_itemSize","_minBufferPx","_maxBufferPx","_updateTotalContentSize","_updateRenderedRange","updateItemAndBufferSize","onContentScrolled","onDataLengthChanged","onContentRendered","onRenderedOffsetChanged","scrollToIndex","behavior","scrollToOffset","setTotalContentSize","getDataLength","renderedRange","getRenderedRange","newRange","viewportSize","dataLength","scrollOffset","measureScrollOffset","firstVisibleIndex","maxVisibleItems","newVisibleIndex","expandStart","endBuffer","expandEnd","setRenderedRange","setRenderedContentOffset","CdkFixedSizeVirtualScroll","_fixedSizeVirtualScrollStrategyFactory","fixedSizeDir","ScrollDispatcher","_scrolled","_globalSubscription","_scrolledCount","elementScrolled","scrollableReference","auditTimeInMs","_addGlobalListener","_removeGlobalListener","ancestorScrolled","elementOrElementRef","ancestors","getAncestorScrollContainers","scrollingContainers","_scrollableContainsElement","scrollableElement","CdkScrollable","scrollDispatcher","_elementScrolled","_applyScrollToOptions","LEFT","RIGHT","ViewportRuler","_change","_changeListener","_viewportSize","_updateViewportSize","getViewportRect","documentRect","scrollY","scrollX","throttleTime","innerHeight","VIRTUAL_SCROLLABLE","CdkVirtualScrollable","measureViewportSize","orientation","viewportEl","SCROLL_SCHEDULER","CdkVirtualScrollViewport","viewportRuler","_detachedSubject","_renderedRangeSubject","_orientation","_appendOnly","renderedRangeStream","_totalContentSize","_totalContentWidth","_totalContentHeight","_renderedRange","_dataLength","_renderedContentOffset","_renderedContentOffsetNeedsRewrite","_isChangeDetectionPending","_runAfterChangeDetection","_viewportChanges","checkViewportSize","_calculateSpacerSize","appendOnly","_measureViewportSize","_markChangeDetectionNeeded","forOf","_forOf","dataStream","newLength","_doChangeDetection","measureBoundingClientRectWithScrollOffset","rangesEqual","r1","getOffsetToRenderedContentStart","isHorizontal","_renderedContentTransform","measureRenderedContentSize","_from","measureViewportOffset","fromRect","scrollerClientRect","contentEl","_contentWrapper","measureRangeSize","runAfter","runAfterChangeDetection","getOffset","rect","virtualScrollable","Optional","Inject","CdkVirtualForOf","_template","_differs","_viewRepeater","viewChange","_dataSourceChanges","pairwise","hasPrev","_changeDataSource","shareReplay","configOrBufferSize","windowTime","bufferSize","_differ","_needsUpdate","_onRenderedDataChange","cdkVirtualForOf","_cdkVirtualForOf","cdkVirtualForTrackBy","_cdkVirtualForTrackBy","cdkVirtualForTemplate","cdkVirtualForTemplateCacheSize","renderedStartIndex","rangeLen","firstNode","lastNode","_renderedItems","_applyChanges","_updateContext","oldDs","newDs","_updateComputedContextProperties","_adjustedPreviousIndex","_getEmbeddedViewArgs","forEachIdentityChange","even","CdkVirtualScrollableElement","CdkVirtualScrollableWindow","CdkScrollableModule","CdkStepHeader","CdkStepLabel","template","STEP_STATE","STEPPER_GLOBAL_OPTIONS","CdkStep","_stepper","stepperOptions","interacted","interactedStream","_editable","_optional","_completedOverride","_customError","_stepperOptions","_displayDefaultIndicatorType","displayDefaultIndicatorType","editable","completed","_getDefaultCompleted","valid","_getDefaultError","_stateChanged","_markAsInteracted","_showError","CdkStepper","TemplateRef","_sortedHeaders","_linear","_selectedIndex","selectionChange","_groupId","linear","_steps","_isValidIndex","_anyControlsInvalidOrPending","_updateSelectedItemIndex","_keyManager","notifyOnChanges","_stepHeader","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","_layoutDirection","previous","_getStepLabelId","_getStepContentId","_getAnimationDirection","_getIndicatorType","isCurrentStep","_isCurrentStep","_getDefaultIndicatorLogic","_getGuidelineLogic","_getFocusIndex","stepsArray","previouslySelectedStep","_containsFocus","hasModifier","manager","stepperElement","focusedElement","CdkStepperNext","CdkStepperPrevious","CdkStepperModule","BaseTreeControl","expansionModel","dataNode","_trackByValue","collapse","isExpanded","toggleDescendants","collapseDescendants","expandDescendants","collapseAll","toBeProcessed","getDescendants","trackBy","getChildren","expandAll","allNodes","dataNodes","descendants","_getDescendants","childrenNodes","Boolean","CDK_TREE_NODE_OUTLET_NODE","CdkTreeNodeOutlet","_node","CdkTreeNodeOutletContext","CdkTreeNodeDef","CdkTree","_levels","MAX_VALUE","dataSource","_dataSource","_switchDataSource","_dataDiffer","treeControl","_nodeOutlet","_dataSubscription","ngAfterContentChecked","defaultNodeDefs","_nodeDefs","when","_defaultNodeDef","_observeRenderChanges","renderNodeChanges","dataDiffer","parentData","_getNodeDef","getLevel","CdkTreeNode","mostRecentTreeNode","_tree","_dataChanges","_role","_setRoleFromData","_parentNodeAriaLevel","getParentNodeAriaLevel","nodeElement","isNodeElement","isExpandable","CdkNestedTreeNode","updateChildrenNodes","nodeOutlet","_clear","outlet","_getNodeOutlet","_children","outlets","CdkTreeNodePadding","_treeNode","indentUnits","_indent","_setPadding","_level","_setLevelInput","indent","_setIndentInput","_paddingIndent","nodeLevel","forceChange","_currentPadding","paddingProp","resetProp","CdkTreeNodeToggle","_recursive","recursive","_toggle","stopPropagation","CdkTreeModule","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","historyGo","relativePosition","useBrowserPlatformLocation","ɵɵinject","BrowserPlatformLocation","LOCATION_INITIALIZED","_doc","_history","getBaseHrefFromDOM","getBaseHref","onPopState","getGlobalEventTarget","onHashChange","hostname","port","pathname","newPath","pushState","supportsState","replaceState","forward","back","go","getState","joinWithSlash","slashes","stripTrailingSlash","pathEndIdx","droppedSlashIdx","normalizeQueryParams","createBrowserPlatformLocation","LocationStrategy","PathLocationStrategy","APP_BASE_HREF","_platformLocation","_removeListenerFns","_baseHref","prepareExternalUrl","internal","includeHash","externalUrl","HashLocationStrategy","Location","locationStrategy","_urlChangeListeners","_urlChangeSubscription","_locationStrategy","browserBaseHref","_stripIndexHtml","isCurrentPathEqualTo","_stripBaseHref","baseHref","_notifyUrlChangeListeners","onUrlChange","fnIndex","onThrow","onReturn","createLocation","CURRENCIES_EN","ADP","AFN","ALL","AMD","AOA","ARS","AUD","AZN","BAM","BBD","BDT","BHD","BIF","BMD","BND","BOB","BRL","BSD","BWP","BYN","BYR","BZD","CAD","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CZK","DJF","DKK","DOP","EGP","ESP","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GNF","GTQ","GYD","HKD","HNL","HRK","HUF","IDR","ILS","INR","IQD","IRR","ISK","ITL","JMD","JOD","JPY","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LTL","LUF","LVL","LYD","MGA","MGF","MMK","MNT","MRO","MUR","MXN","MYR","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PHP","PKR","PLN","PYG","RON","RSD","RUB","RWF","SBD","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STD","STN","SYP","THB","TMM","TND","TOP","TRL","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYI","UYU","UYW","UZS","VEF","VND","VUV","XAF","XCD","XOF","XPF","XXX","YER","ZAR","ZMK","ZMW","ZWD","NumberFormatStyle","Plural","FormStyle","TranslationWidth","FormatWidth","NumberSymbol","WeekDay","getLocaleDateFormat","locale","getLastDefinedValue","ɵfindLocaleData","ɵLocaleDataIndex","getLocaleTimeFormat","getLocaleDateTimeFormat","dateTimeFormatData","getLocaleNumberSymbol","CurrencyDecimal","Decimal","CurrencyGroup","Group","getLocaleNumberFormat","Percent","Currency","Scientific","Zero","One","Two","Few","Many","Other","Format","Standalone","Narrow","Abbreviated","Wide","Short","Long","Full","List","PercentSign","PlusSign","MinusSign","Exponential","SuperscriptingExponent","PerMille","TimeSeparator","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","getLocalePluralCase","ɵgetLocalePluralCase","checkFullData","extractTime","hours","minutes","getCurrencySymbol","currency","getLocaleCurrencies","symbolNarrow","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","DateType","TranslationType","formatDate","timezone","toDate","createDate","parsedNb","isoStringToDate","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","getNamedFormat","dateTimezoneOffset","timezoneToOffset","convertTimezoneToLocal","reverseValue","timezoneOffset","addDateMinutes","setMinutes","getMinutes","dateFormatter","getDateFormatter","DATE_FORMATS","formatter","dateStrGetter","Eras","dateGetter","FullYear","weekNumberingYearGetter","Month","Months","weekGetter","Day","Days","DayPeriods","Hours","Minutes","Seconds","FractionalSeconds","timeZoneGetter","Extended","ShortGMT","newDate","localeId","getLocaleId","formatValue","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","padNumber","minusSign","negWrap","strNum","getDatePart","getHours","getSeconds","getMilliseconds","getDay","formatFractionalSeconds","milliseconds","localeMinus","getDateTranslation","getLocaleMonthNames","formStyle","months","getLocaleDayNames","currentHours","currentMinutes","rules","getLocaleExtraDayPeriodRules","rule","dayPeriods","getLocaleExtraDayPeriods","afterFrom","beforeTo","getLocaleDayPeriods","amPm","getLocaleEraNames","erasData","getThursdayThisWeek","datetime","monthBased","nbDaysBefore1stDayOfMonth","today","thisThurs","firstThurs","getFirstThursdayOfYear","firstDayOfYear","THURSDAY","requestedTimezoneOffset","NUMBER_FORMAT_REGEXP","formatNumberToLocaleString","groupSymbol","decimalSymbol","digitsInfo","isPercent","formattedText","parsedNumber","parseNumber","integerLen","numStr","exponent","MAX_DIGITS","toPercent","fractionLen","minInt","minFraction","minFrac","maxFraction","maxFrac","minIntPart","minFractionPart","maxFractionPart","parseIntAutoRadix","roundNumber","fractionSize","roundAt","dropTrailingZeros","minLen","reduceRight","decimals","groups","lgSize","gSize","negPre","negSuf","posPre","posSuf","formatCurrency","currencyCode","parseNumberFormat","getNumberOfCurrencyDigits","patternParts","positiveParts","integer","fraction","trunkLen","NgLocalization","getPluralCategory","cases","ngLocalization","LOCALE_ID","NgLocaleLocalization","parseCookieValue","cookieStr","cookie","eqIndex","cookieName","cookieValue","NgClass","_iterableDiffers","_keyValueDiffers","_ngEl","_iterableDiffer","_keyValueDiffer","_initialClasses","_rawClass","klass","_removeClasses","_applyClasses","ngClass","ɵisListLikeIterable","iterableChanges","_applyIterableChanges","keyValueChanges","_applyKeyValueChanges","forEachAddedItem","_toggleClass","forEachChangedItem","forEachRemovedItem","ɵstringify","rawClassVal","NgComponentOutlet","ngComponentOutlet","ngComponentOutletNgModule","ngComponentOutletNgModuleFactory","ngModuleFactory","_componentRef","ngComponentOutletInjector","parentInjector","_moduleRef","createNgModule","getParentInjector","ngModuleRef","projectableNodes","ngComponentOutletContent","NgModuleRef","NgForOfContext","ngForOf","NgForOf","_viewContainer","_ngForOf","_ngForOfDirty","ngForTrackBy","_trackByFn","ngForTemplate","applyViewChange","ilen","NgIf","_context","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","ngIf","condition","_updateView","ngIfThen","assertTemplate","ngIfElse","SwitchView","_templateRef","_created","enforceState","created","NgSwitch","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","ngSwitch","_ngSwitch","_updateDefaultCases","_addCase","_addDefault","_defaultViews","_matchCase","matched","useDefault","NgSwitchCase","_view","ngSwitchCase","NgSwitchDefault","NgPlural","_localization","_caseViews","ngPlural","_switchValue","addCase","switchView","_clearViews","_activateView","_activeView","NgPluralCase","isANumber","NgStyle","_ngStyle","ngStyle","_setStyle","nameAndUnit","RendererStyleFlags2","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector","invalidPipeArgumentError","_promiseStrategy","PromiseStrategy","createSubscription","updateLatestValue","_subscribableStrategy","SubscribableStrategy","AsyncPipe","_latestValue","_obj","_strategy","_ref","_dispose","_selectStrategy","_updateLatestValue","ɵisPromise","ɵisSubscribable","ɵpipe","LowerCasePipe","unicodeWordMatch","txt","UpperCasePipe","DATE_PIPE_DEFAULT_TIMEZONE","DATE_PIPE_DEFAULT_OPTIONS","defaultTimezone","_format","dateFormat","_timezone","_INTERPOLATION_REGEXP","I18nPluralPipe","pluralMap","I18nSelectPipe","mapping","JsonPipe","KeyValuePipe","differs","keyValues","compareFn","defaultComparator","differ","differChanges","compareFnChanged","forEachItem","makeKeyValuePair","keyValueA","keyValueB","aString","bString","_locale","isValue","formatNumber","strToNumber","PercentPipe","formatPercent","CurrencyPipe","_defaultCurrencyCode","DEFAULT_CURRENCY_CODE","SlicePipe","supports","PLATFORM_BROWSER_ID","ViewportScroller","ɵɵdefineInjectable","BrowserViewportScroller","setOffset","getScrollPosition","supportsScrolling","pageXOffset","pageYOffset","scrollToPosition","scrollToAnchor","elSelected","findAnchorFromDocument","documentResult","getElementById","getElementsByName","createTreeWalker","treeWalker","NodeFilter","SHOW_ELEMENT","currentNode","nextNode","scrollToElement","setHistoryScrollRestoration","scrollRestoration","supportScrollRestoration","scrollRestorationDescriptor","getScrollRestorationProperty","XhrFactory","getUrl","isAbsoluteUrl","extractHostname","normalizeSrc","noopImageLoader","IMAGE_LOADER","createImageLoader","buildUrlFn","exampleUrls","isValidPath","throwInvalidPathError","normalizePath","throwUnexpectedAbsoluteUrlError","createCloudflareUrl","createCloudinaryUrl","createImagekitUrl","createImgixUrl","searchParams","imgDirectiveDetails","ngSrc","includeNgSrc","assertDevMode","checkName","LCPImageObserver","images","alreadyWarned","PerformanceObserver","initPerformanceObserver","entryList","getEntries","imgSrc","logMissingPriorityWarning","directiveDetails","ɵformatRuntimeError","buffered","registerImage","rewrittenSrc","originalNgSrc","unregisterImage","INTERNAL_PRECONNECT_CHECK_BLOCKLIST","PRECONNECT_CHECK_BLOCKLIST","PreconnectLinkChecker","preconnectLinks","alreadySeen","blocklist","populateBlocklist","origins","deepForEach","assertPreconnect","imgUrl","queryPreconnectLinks","preconnectUrls","PRELOADED_IMAGES","PreloadLinkCreator","preloadedImages","createPreloadLinkTag","srcset","preload","VALID_WIDTH_DESCRIPTOR_SRCSET","DENSITY_SRCSET_MULTIPLIERS","defaultConfig","IMAGE_CONFIG","NgOptimizedImage","imageLoader","processConfig","sortedBreakpoints","Renderer2","imgElement","isServer","preloadLinkChecker","lcpObserver","_renderedSrc","_priority","_disableOptimizedSrcset","_fill","inputToInteger","priority","inputToBoolean","disableOptimizedSrcset","setHostAttributes","setHostAttribute","getLoadingBehavior","getFetchPriority","getRewrittenSrc","rewrittenSrcset","ngSrcset","getRewrittenSrcset","getAutomaticSrcset","loading","imgConfig","widthSrcSet","srcStr","getResponsiveSrcset","getFixedSrcset","filteredBreakpoints","bp","multiplier","HttpHandler","HttpBackend","HttpHeaders","normalizedNames","lazyUpdate","lazyInit","line","maybeSetNormalizedName","getAll","op","lcName","copyFrom","applyUpdate","toDelete","HttpUrlEncodingCodec","encodeKey","standardEncoding","encodeValue","decodeKey","decodeValue","STANDARD_ENCODING_REGEX","STANDARD_ENCODING_REPLACEMENTS","valueToString","updates","cloneFrom","encoder","paramParser","rawParams","codec","param","eqIdx","appendAll","eKey","HttpContext","isArrayBuffer","isBlob","isFormData","FormData","HttpRequest","third","fourth","reportProgress","responseType","mightHaveBody","urlWithParams","qIdx","sep","serializeBody","isUrlSearchParams","URLSearchParams","detectContentTypeHeader","setHeaders","setParams","HttpEventType","Sent","UploadProgress","ResponseHeader","DownloadProgress","Response","User","HttpResponseBase","defaultStatus","defaultStatusText","ok","HttpHeaderResponse","HttpResponse","HttpErrorResponse","addBody","HttpClient","events$","res$","jsonp","callbackParam","patch","interceptorChainEndFn","finalHandlerFn","adaptLegacyInterceptorToChain","chainTailFn","interceptor","initialRequest","downstreamRequest","HTTP_INTERCEPTOR_FNS","legacyInterceptorFnFactory","HttpInterceptorHandler","backend","dedupedInterceptorFns","nextSequencedFn","interceptorFn","chainedInterceptorFn","runInContext","foreignDocument","nextRequestId","JsonpCallbackContext","jsonpCallbackContext","JsonpClientBackend","callbackMap","resolvedPromise","nextCallback","removeListeners","script","createHTMLDocument","adoptNode","jsonpInterceptorFn","JsonpInterceptor","XSSI_PREFIX","HttpXhrBackend","xhrFactory","xhr","setRequestHeader","detectedType","headerResponse","partialFromXhr","getAllResponseHeaders","getResponseUrl","responseURL","getResponseHeader","onLoad","responseText","originalBody","sentHeaders","onDownProgress","progressEvent","loaded","lengthComputable","partialText","onUpProgress","progress","upload","DONE","XSRF_ENABLED","XSRF_DEFAULT_COOKIE_NAME","XSRF_COOKIE_NAME","XSRF_DEFAULT_HEADER_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","lastCookieString","lastToken","parseCount","getToken","cookieString","ɵparseCookieValue","xsrfInterceptorFn","lcUrl","headerName","HttpXsrfInterceptor","HttpFeatureKind","makeHttpFeature","ɵkind","ɵproviders","Interceptors","LegacyInterceptors","CustomXsrfConfiguration","NoXsrfProtection","JsonpSupport","RequestsMadeViaParent","LEGACY_INTERCEPTOR_FN","withXsrfConfiguration","HttpClientXsrfModule","provideHttpClient","feature","makeEnvironmentProviders","withInterceptorsFromDi","HttpClientJsonpModule","withJsonpSupport","XhrFactory$1","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","overriddenName","newLineIndex","concatStringsWithSpace","before","after","__forward_ref__","forwardRefFn","resolveForwardRef","isForwardRef","isEnvironmentProviders","XSS_SECURITY_URL","RuntimeError","formatRuntimeError","renderStringify","stringifyForError","throwProviderNotFoundError","injectorName","assertEqual","assertDefined","comparison","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","isInjectable","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","injectableDef","Default","Host","Self","SkipSelf","_global","globalThis","WorkerGlobalScope","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NEW_LINE","SOURCE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","getInjectImplementation","ɵɵinvalidFactoryDep","convertToBitFlags","skipSelf","injectArgs","types","flag","getInjectFlag","attachInjectFlag","decorator","catchInjectorError","injectorErrorName","tokenPath","formatError","NG_TOKEN_PATH","noSideEffects","ChangeDetectionStrategy","ChangeDetectorStatus","ViewEncapsulation$1","OnPush","CheckOnce","Checked","CheckAlways","Detached","Errored","Destroyed","Emulated","None","ShadowDom","EMPTY_OBJ","EMPTY_ARRAY","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","NG_MOD_DEF","NG_FACTORY_DEF","NG_ELEMENT_ID","__NG_ELEMENT_ID__","componentDefCount","ɵɵdefineComponent","componentDefinition","standalone","declaredInputs","providersResolver","vars","consts","hostBindings","hostVars","hostAttrs","contentQueries","exportAs","onPush","changeDetection","directiveDefs","pipeDefs","dependencies","getStandaloneInjector","viewQuery","setInput","schemas","tView","findHostDirectiveDefs","hostDirectives","invertObject","extractDirectiveDef","nonNull","getPipeDef$1","ɵɵsetComponentScope","directives","getComponentDef","getDirectiveDef","ɵɵdefineNgModule","declarations","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","isStandalone","throwNotFound","isLView","isLContainer","isContentQueryHost","tNode","isComponentHost","componentOffset","isDirectiveHost","isComponentDef","isRootView","getFactoryDef","SimpleChange","isFirstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","SIMPLE_CHANGES_STORE","previousChange","ngInherit","profilerCallback","profiler","hookOrListener","MATH_ML_NAMESPACE","unwrapRNode","getNativeByIndex","lView","getNativeByTNode","getTNode","load","getComponentLViewByIndex","slotValue","viewAttachedToChangeDetector","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","ɵɵresetView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","isParent","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setInI18nBlock","isInI18nBlock","inI18n","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","parentTNode","parentLView","allocLFrame","enterView","newView","newLFrame","firstChild","currentLFrame","childLFrame","elementDepthCount","currentNamespace","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","callHook","isInitHook","hook","directive","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","setUpAttributes","native","attrs","namespaceURI","attrName","attrVal","isAnimationProp","isNameOnlyAttributeMarker","marker","mergeHostAttrs","srcMarker","mergeHostAttribute","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorView","startView","viewOffset","getParentInjectorViewOffset","parentView","includeViewProviders","setIncludeViewProviders","nextNgElementId","NOT_FOUND","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","firstCreatePass","injectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","footer","declarationViewOffset","lViewCursor","getTNodeFromLView","diPublicInInjector","bloomAdd","bloomHash","notFoundValueOrThrow","lookupTokenUsingModuleInjector","moduleInjector","previousInjectImplementation","getOrCreateInjectable","embeddedInjectorValue","lookupTokenUsingEmbeddedInjector","currentLView","nodeInjectorValue","lookupTokenUsingNodeInjector","embeddedViewInjector","embeddedViewInjectorValue","bloomHashBitOrFactory","tokenId","createNodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","currentTView","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","canAccessViewProviders","isHostSpecialCase","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","endIndex","providerTokenOrDef","dirDef","isFactory","throwCyclicDependencyError","depPath","previousIncludeViewProviders","registerPreOrderHooks","directiveIndex","directiveDef","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","injectorView","isFirstHostTNode","NodeInjector","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","tViewType","ɵɵinjectAttribute","attrNameToInject","injectAttributeImpl","attrsLength","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","ngMetadataName","annotationCls","propName","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","annotation","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","Attribute","attributeName","_desc","Query","ContentChildren","isViewQuery","emitDistinctChangesOnly","ContentChild","ViewChildren","ViewChild","FactoryTarget","R3TemplateDependencyKind","getCompilerFacade","globalNg","ng","ɵcompilerFacade","Directive","Component","Injectable","Pipe","NgModule","Type","isType","flatten","addToArray","removeFromArray","newArray","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","arrayInsert2","value1","value2","previousEnd","keyValueArrayGet","_arrayIndexOfSorted","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","ReflectionCapabilities","reflect","_reflect","_zipTypesAndAnnotations","paramTypes","paramAnnotations","_ownParameters","parentCtor","isDelegateCtor","typeStr","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","decorators","getOwnMetadata","getParentCtor","_ownAnnotations","typeOrFunc","annotations","ownAnnotations","_ownPropMetadata","propMetadata","propDecorators","parentPropMetadata","ownPropMetadata","hasLifecycleHook","lcProperty","decoratorInvocations","decoratorInvocation","parentProto","getReflect","reflectDependencies","convertDependencies","dep","reflectDependency","attribute","componentResourceResolutionQueue","componentDefPendingResolution","componentNeedsResolution","templateUrl","styleUrls","checkForDuplicateNgModules","registerNgModuleType","ngModuleType","assertSameOrNotExisting","Important","DashCase","COMMENT_DISALLOWED","COMMENT_DELIMITER","escapeCommentText","TRACKED_LVIEWS","MONKEY_PATCH_KEY_NAME","attachPatchData","registerLView","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","getLViewParent","getFirstLContainer","getNearestLContainer","getNextLContainer","applyToElementOrContainer","lNodeToHandle","beforeNode","isComponent","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","applyContainer","parentRElement","applyView","createTextNode","updateTextNode","createCommentNode","createElementNode","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","declarationContainer","movedViews","insertedComponentLView","lQueries","detachMovedView","declarationViewIndex","insertionLContainer","removeIndex","viewToDetach","removedLView","removeViewFromContainer","destroyLView","destroyViewTree","rootView","lViewOrLContainer","cleanUpView","firstView","executeOnDestroys","toCall","callContext","processCleanups","tCleanup","lCleanup","lastLCleanupIndex","targetIdx","instanceCleanupFn","unregisterLView","getParentRElement","getClosestRElement","nativeAppendOrInsertBefore","nativeParentNode","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","policy$1","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","projectionNodes","getProjectionNodes","componentHost","slotIdx","projection","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","nativeRemoveChild","applyNodes","isProjection","rawSlotValue","nextRNode","applyProjectionRecursive","projectionNext","tProjectionNode","componentLView","nodeToProjectOrRNodes","writeDirectClass","setupStaticAttributes","mergedAttrs","writeDirectStyle","getPolicy$1","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","ɵɵvalidateIframeAttribute","attrValue","tagName","iframe","srcdoc","setDocument","getDocument","getPolicy","trustedHTMLFromStringBypass","trustedScriptFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","getTypeName","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParser","parseFromString","DOMParserHelper","getInertBodyElement","inertDocument","inertHtml","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attributes","childNode","SAFE_URL_PATTERN","_sanitizeUrl","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","sanitizeChildren","traverseContent","startElement","TEXT_NODE","chars","nodeValue","endElement","checkClobberedElement","elAttr","lower","encodeEntities","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","mXSSAttempts","parsedHtml","getTemplateContent","isTemplateElement","SecurityContext","ɵɵsanitizeHtml","sanitizer","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","ɵɵtrustConstantHtml","ɵɵtrustConstantResourceUrl","trustedScriptURLFromString","ɵɵsanitizeUrlOrResourceUrl","getUrlSanitizer","NONE","ENVIRONMENT_INITIALIZER","INJECTOR","INJECTOR_DEF_TYPES","NullInjector","importProvidersFrom","internalImportProvidersFrom","ɵfromNgModule","checkForStandaloneCmp","providersOut","dedup","injectorTypesWithProviders","internalSource","walkProviderTree","processInjectorTypesWithProviders","typesWithProviders","deepForEachProvider","provider","parents","defType","injDef","cmpDef","isDuplicate","importTypesWithProviders","imported","defProviders","USE_VALUE$1","isValueProvider","isExistingProvider","isFactoryProvider","isTypeProvider","INJECTOR_SCOPE","NOT_YET","CIRCULAR","NULL_INJECTOR$1","getNullInjector","EnvironmentInjector","R3Injector","scopes","records","_ngOnDestroyHooks","_onDestroyHooks","forEachSingleProvider","processProvider","makeRecord","injectorDefTypes","assertNotDestroyed","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","resolveInjectorInitializers","initializers","initializer","providerToRecord","providerToFactory","multiRecord","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","getInheritedInjectableDef","typeName","unwrappedProvider","classRef","hasDeps","ComponentRef$1","ComponentFactory$1","ERROR_COMPONENT","_NullComponentFactoryResolver","noComponentFactoryError","ComponentFactoryResolver$1","createElementRef","NULL","unwrapElementRef","injectElementRef","injectRenderer2","nodeAtIndex","Sanitizer","full","major","minor","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","ERROR_ORIGINAL_ERROR","getOriginalError","ErrorHandler","_console","originalError","_findOriginalError","ɵɵresolveWindow","ɵɵresolveDocument","ɵɵresolveBody","maybeUnwrapFn","classIndexOf","classToSearch","startingIndex","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","stringifyCSSSelector","currentChunk","valueOrMarker","NO_CHANGE","ɵɵadvance","selectIndexInternal","checkNoChangesMode","angularCoreDiEnv","compileInjectable","ngFactoryDef","getInjectableMetadata","srcMeta","compilerMeta","typeArgumentCount","isUseClassProvider","isUseFactoryProvider","isUseValueProvider","USE_VALUE","isUseExistingProvider","compiler","compileFactory","createInjector","additionalProviders","createInjectorWithoutInjectorInstances","constructResolvingPath","findFirstClosedCycle","injectionError","constructResolvingMessage","wrappedError","addKey","injectors","noAnnotationError","parameter","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","ReflectiveDependency","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","multiProvider","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","_extractToken","resolveReflectiveProvider","resolveReflectiveProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","resolvedProvider","_normalizeProviders","invalidProviderError","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","keyIds","objs","_getByKey","resolveAndCreateChild","createChildFromResolved","inj","resolveAndInstantiate","instantiateResolved","_instantiateProvider","getProviderAtIndex","outOfBoundsError","_new","_getMaxNumberOfObjects","cyclicDependencyError","_instantiate","_getByReflectiveDependency","instantiationError","originalException","originalStack","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","_getObjByKeyId","keyId","_throwOrNull","noProviderError","inj_","_mapProviders","ɵɵdirectiveInject","ɵɵinvalidFactory","refreshContentQueries","queryStartIdx","directiveDefIdx","createLView","tHostNode","rendererFactory","getUniqueLViewId","getOrCreateTNode","createTNodeAtIndex","createTNode","tParent","insertBeforeIndex","directiveStylingLast","propertyBindings","localNames","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","allocExpando","numSlotsToAlloc","initialValue","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","staticContentQueries","staticViewQueries","components","renderChildComponents","hostLView","renderComponent","incompleteFirstPass","refreshView","hooksInitPhaseCompleted","markTransplantedViewsForRefresh","movedLView","refreshEmbeddedViews","embeddedLView","embeddedTView","processHostBindingOpCodes","hostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshChildComponents","refreshComponent","firstUpdatePass","prevSelectedIndex","isUpdatePhase","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","addComponentLogic","setInputsFromAttrs","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","localIndex","getOrCreateComponentTView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","expandoStartIndex","directiveRegistry","pipeRegistry","storeCleanupWithContext","cleanupFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","generatePropertyAliases","aliasMap","propertyAliases","hostDirectiveAliasMap","internalName","addPropertyAlias","elementPropertyInternal","nativeOnly","dataValue","inputData","setInputsForProperty","markDirtyIfOnPush","mapPropName","viewIndex","childComponentLView","resolveDirectives","localRefs","hasDirectives","exportsMap","matchResult","findDirectiveDefMatches","registry","hostDirectiveDefs","hostDirectiveMatches","markAsComponentHost","initializeDirectives","cacheMatchingLocalNames","initTNodeFlags","numberOfDirectives","preOrderHooksFound","preOrderCheckHooksFound","configureViewWithDirective","saveNameToExportMap","lifeCycleHooks","initializeInputAndOutputAliases","hostDirectiveDefinitionMap","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","aliasData","aliasedInputs","aliasedOutputs","generateInitialInputs","elementIndex","getCurrentDirectiveIndex","invokeHostBindingsInCreationMode","hostTNode","directiveFactory","nodeInjectorFactory","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","componentView","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","inputsToStore","inputConfig","createLContainer","hostNative","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","detectChangesInternal","notifyErrorHandler","viewQueryFn","loadComponentRenderer","currentDef","unwrapLView","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef$1","_cdRefInjectingView","_attachedToViewContainer","viewRefs","reattach","checkNoChanges","attachToViewContainerRef","detachFromAppRef","renderDetachView","attachToAppRef","RootViewRef","ComponentFactoryResolver","componentDef","ComponentFactory","toRefArray","nonMinified","minified","templateName","ChainedInjector","componentType","stringifyCSSSelectorList","selectorList","isBoundToModule","rootSelectorOrNode","environmentInjector","realEnvironmentInjector","rootViewInjector","hostRenderer","elementName","hostRNode","locateHostElement","elementOrSelector","getNamespace","rootFlags","rootTView","rootLView","tElementNode","rootComponentDef","rootDirectives","createRootComponentTNode","createRootComponentView","applyRootComponentStyling","viewRenderer","setRootNodeAttributes","extractAttrsAndClassesFromSelector","projectNodes","nodesforSlot","createRootComponent","hostFeatures","rootTNode","LifecycleHooksFeature","ComponentRef","_rootLView","changeDetectorRef","getSuperType","ɵɵInheritDefinitionFeature","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","ɵɵHostDirectivesFeature","rawHostDirectives","bindingArrayToMap","matchedDefs","hostDirectiveConfig","hostDirectiveDef","patchDeclaredInputs","bindings","exposedInputs","remappedPublicName","_symbolIterator","isListLikeIterable","isJsObject","updateBinding","getBinding","bindingUpdated","is","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","suffix","interpolation2","interpolation3","interpolation4","v3","interpolation5","v4","interpolation6","v5","interpolation7","v6","interpolation8","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","ɵɵtemplate","attrsIndex","localRefsIndex","adjustedIndex","templateFirstCreatePass","tViewConsts","comment","ɵɵreference","getContextLView","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","isClassBased","ɵɵelementStart","getNamespace$1","elementStartFirstCreatePass","elementStart","getElementDepthCount","increaseElementDepthCount","ɵɵelementEnd","decreaseElementDepthCount","elementEnd","hasClassInput","hasStyleInput","ɵɵelement","ɵɵelementContainerStart","elementContainerStartFirstCreatePass","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isSubscribable","ɵɵlistener","listenerFn","useCapture","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","isTNodeDirectiveHost","processOutputs","lCleanupIndex","idxOrTargetGetter","existingListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","__ngLastListenerFn__","__ngNextListenerFn__","propsLength","minifiedName","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","getProjectAsAttrValue","ngProjectAsAttrIdx","ɵɵprojectionDef","componentNode","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","applyProjection","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","toTStylingRange","getTStylingRangePrev","tStylingRange","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","setTStylingRangeNextDuplicate","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","tStylingKey","isKeyDuplicateOfStatic","staticKeyValueArray","setTStylingRangePrev","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassNameNext","consumeClassToken","consumeWhitespace","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","ch1","ch2","ch3","lastChIndex","consumeQuotedText","resetParserState","quoteCharCode","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","parseStyle","ɵɵclassMap","classStringParser","parseClassName","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","toStylingKeyValueArray","styleKeyValueArray","unwrappedValue","isHostBindings","wrapInStaticStylingKey","stylingKey","collectStylingFromTAttrs","collectStylingFromDirectives","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","tRange","higherPriorityValue","getTStylingRangeNextDuplicate","findStylingValue","isStylingValuePresent","getTStylingRangePrevDuplicate","applyStyling","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","localeEn","plural","LOCALE_DATA","findLocaleData","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","LocaleDataIndex","PluralCase","locales","LocaleId","DayPeriodsFormat","DayPeriodsStandalone","DaysFormat","DaysStandalone","MonthsFormat","MonthsStandalone","FirstDayOfWeek","WeekendRange","DateFormat","TimeFormat","DateTimeFormat","NumberSymbols","NumberFormats","CurrencyCode","CurrencySymbol","CurrencyName","Currencies","ExtraData","pluralMapping","DEFAULT_LOCALE_ID","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","APPEND_EAGERLY","COMMENT","LOCALE_ID$1","setLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","createTNodePlaceholder","getCurrentICUCaseIndex","tIcu","currentCase","currentCaseLViewIndex","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","changeMask","changeMaskCounter","applyMutableOpCodes","mutableOpCodes","rootRNode","rootIdx","textNodeIndex","parentIdx","insertInFrontOf","refIdx","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","applyUpdateOpCodes","updateOpCodes","bindingsStartIndex","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","getCaseIndex","icuExpression","bindingValue","resolvedCase","getPluralCase","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","loadIcuContainerVisitor","_stack","_removes","_index","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","icuContainerIteratorStart","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","createOpCodes","existingTNodeStack","getTranslationForTemplate","isRootTemplateMessage","removeInnerTemplateTranslation","msgParts","replaceNgsp","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuStart","createTNodeAndAddOpCode","isClosing","existingTNodes","isICU","i18nNodeIdx","ensureIcuContainerVisitorLoaded","loader","setTNodeInsertBeforeIndex","hasBinding","generateBindingUpdateOpCodes","destinationNode","bindingStart","maskIndex","sizeIndex","textParts","textValue","toMaskBit","countBindings","opCodes","tagMatched","inTemplate","bindingMask","addUpdateIcuSwitch","mainBinding","setTIcu","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","icuType","prevPos","braceStack","braces","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","COMMENT_NODE","isNestedIcu","addRemoveNestedIcu","appendToParentIdx","createAtIdx","icuCreateOpCode","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","ɵɵi18nStart","messageIndex","tI18n","applyCreateOpCodes","isComment","appendNow","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","i18nAttributesFirstPass","previousElementIndex","ɵɵi18nExp","setMaskBit","hasChange","ɵɵi18nApply","applyI18n","ɵɵi18nPostprocess","replacements","i18nPostprocess","templateIdsStack","phs","placeholders","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","resolveProvider","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","componentProviders","multiFactoryAdd","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","contextIndex","indexInFactory","providerIsTypeProvider","providerIsClassProvider","isClassProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","ɵɵProvidersFeature","viewProviders","processProvidersFn","NgModuleRef$1","NgModuleFactory$1","_bootstrapComponents","destroyCbs","_r3Injector","NgModuleFactory","moduleType","EnvironmentNgModuleRefAdapter","createEnvironmentInjector","debugName","StandaloneService","cachedInjectors","getOrCreateStandaloneInjector","standaloneInjector","ɵɵStandaloneFeature","setClassMetadata","clazz","ɵɵpureFunction0","slotOffset","pureFn","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef","pipeFactory","pipeInstance","ɵɵpipeBind1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","EventEmitter_","isAsync","__isAsync","nextFn","errorFn","completeFn","_wrapInTimeout","symbolIterator","_results","_emitDistinctChangesOnly","dirty","_changesDetected","_changes","resultsTree","identityAccessor","newResultFlat","arrayEquals","valueA","valueB","setDirty","injectTemplateRef","createTemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","declarationViewLQueries","ViewContainerRef","injectViewContainerRef","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","indexOrOptions","componentFactoryOrType","isComponentFactory","contextInjector","viewAttachedToContainer","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","addViewToContainer","parentNativeNode","getOrCreateViewRefs","viewRefsArr","commentNode","nativeNextSibling","LQuery_","queryList","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultForNode","matchingIdx","createResultByTNodeType","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","isCreationMode","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","saveContentQueryAndDirectiveIndex","tViewContentQueries","lastSavedDirectiveIndex","ɵɵloadQuery","loadQueryInternal","ɵɵtemplateRefExtractor","angularCoreEnv","jitOptions","isModuleWithProviders","isNgModule","moduleQueue","flushingModuleQueue","isResolvedDeclaration","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","compileInjector","enqueueModuleForDelayedScoping","setScopeOnDeclaredComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","transitiveScopesForNgModule","exported","importedScope","declared","exportedType","exportedScope","compilationDepth","compileComponent","ngComponentDef","maybeQueueResolutionOfComponentResources","addDirectiveFactoryDef","getJitOptions","preserveWhitespaces","defaultEncapsulation","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","getStandaloneDefFunctions","cachedDirectiveDefs","cachedPipeDefs","rawDep","flushModuleScopingQueueAsMuchAsPossible","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","ann","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","getPipeMetadata","compilePipe","ngPipeDef","Input","bindingPropertyName","Output","HostBinding","hostPropertyName","HostListener","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","runInitializers","asyncInitPromises","initResult","observableAsPromise","all","_appIdRandomProviderFactory","_randomChar","random","PLATFORM_INITIALIZER","APP_BOOTSTRAP_LISTENER","Console","getGlobalLocale","$localize","MissingTranslationStrategy","Warning","Ignore","ModuleWithComponentFactories","componentFactories","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","clearCache","clearCacheFor","getModuleId","Zone","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","onUnstable","onMicrotaskEmpty","assertZonePatched","_nesting","_outer","_inner","TaskTrackingZoneSpec","longStackTraceZoneSpec","lastRequestAnimationFrameId","nativeRequestAnimationFrame","getNativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","forkInnerZoneWithAngularBehavior","delayChangeDetectionForEventsDelegate","delayChangeDetectionForEvents","isCheckStableRunning","fakeTopEventTask","scheduleEventTask","updateMicroTaskStatus","checkStable","invoke","isAngularZone","onInvokeTask","task","applyThis","applyArgs","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","isInAngularZone","runTask","EMPTY_PAYLOAD","cancelTask","runGuarded","NoopNgZone","TESTABILITY","TESTABILITY_GETTER","Testability","testabilityGetter","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_testabilityGetter","setTestabilityGetter","getter","addToWindow","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","increasePendingRequestCount","decreasePendingRequestCount","timeoutId","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","whenStable","getPendingRequestCount","registerApplication","unregisterApplication","findProviders","using","exactMatch","TestabilityRegistry","_applications","testability","unregisterAllApplications","getTestability","getAllTestabilities","getAllRootElements","findTestabilityInTree","findInAncestors","_platformInjector","ALLOW_MULTIPLE_PLATFORMS","PLATFORM_DESTROY_LISTENERS","NG_DEV_MODE","NgProbeToken","runPlatformInitializers","inits","createPlatformFactory","parentPlatformFactory","desc","extraProviders","getPlatform","platformProviders","createPlatform","PlatformRef","createPlatformInjector","assertPlatform","requiredToken","_modules","_destroyListeners","bootstrapModuleFactory","moduleFactory","getNgZone","getNgZoneOptions","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","_moduleDoBootstrap","compilerOptions","optionsReducer","compileNgModuleFactory","ngDoBootstrap","destroyListeners","ngZoneEventCoalescing","ngZoneRunCoalescing","ngZoneToUse","_exceptionHandler","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","tick","isCurrentlyStable","stableSub","unstableSub","assertInAngularZone","merge$1","componentOrFactory","cf","compRef","_loadComponent","warnIfDestroyed","isDevMode","ChangeDetectorRef","injectChangeDetectorRef","createViewRef","isPipe","hostComponentView","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","localMovePreviousIndex","localCurrentIndex","forEachPreviousItem","_nextPrevious","_nextAdded","forEachMovedItem","_nextMoved","_nextIdentityChange","collection","itemTrackBy","mayBeDirty","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","iterateListLike","_truncate","isDirty","previousRecord","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_records","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","defaultKeyValueDiffersFactory","KeyValueDiffers","keyValDiff","iterableDiff","platformCore","ApplicationModule","coerceToBoolean","applyCssPrefixes","order","INLINE","LAYOUT_VALUES","buildLayoutCSS","isInline","validateValue","buildCSS","validateWrapValue","isFlowHorizontal","extendObject","BROWSER_PROVIDER","removeStyles","CLASS_NAME","classRegex","MediaChange","mqAlias","StylesheetMap","stylesheet","addStyleToElement","clearStyles","getStyleForElement","styleName","addFlexToParent","addOrientationBps","disableDefaultBps","disableVendorPrefixes","useColumnBasisZero","printWithBreakpoints","mediaTriggerAutoRestore","ssrObserveBreakpoints","defaultUnit","detectLayoutDisplay","mergeAlias","shouldCache","sideEffect","_input","_styles","StyleUtils","_serverStylesheet","_serverModuleLoaded","layoutConfig","applyStyleToElement","_applyMultiValueStyleToElement","applyStyleToElements","getFlowDirection","lookupStyle","lookupInlineStyle","hasWrap","lookupAttributeValue","getServerStyle","readStyleAttribute","inlineOnly","setServerStyle","styleValue","styleAttribute","styleList","colonIndex","sortDescendingPriority","priorityA","sortAscendingPriority","MatchMedia","pendingRemoveListenerFns","_observable$","activations","isActive","registerQuery","mqList","filterOthers","matchMedia$","registration$","lastChange","buildQueryCss","mediaQueries","it","ALL_STYLES","styleEl","styleSheet","cssText","mq","onMQLEvent","buildMQL","constructMql","buildMockMql","et","EventTarget","dispatchEvent","onchange","DEFAULT_BREAKPOINTS","overlapping","HANDSET_PORTRAIT","HANDSET_LANDSCAPE","TABLET_PORTRAIT","TABLET_LANDSCAPE","WEB_PORTRAIT","WEB_LANDSCAPE","ScreenTypes","HANDSET","TABLET","WEB","ORIENTATION_BREAKPOINTS","ALIAS_DELIMITERS","firstUpperCase","validateSuffixes","BREAKPOINTS","bpFlattenArray","mergeByAlias","dict","BreakPointRegistry","findByMap","findByAlias","findWithPredicate","findByQuery","overlappings","suffixes","searchFn","PRINT","BREAKPOINT_PRINT","PrintHook","registeredBeforeAfterPrintHooks","isPrintingBeforeAfterEvent","beforePrintEventListeners","afterPrintEventListeners","formerActivations","isPrinting","PrintQueue","deactivations","withPrintQuery","isPrintEvent","printAlias","printBreakPoints","getEventBreakpoints","updateEvent","registerBeforeAfterPrintHooks","beforePrintListener","startPrinting","updateStyles","afterPrintListener","stopPrinting","interceptEvents","collectActivations","blockPropagation","bpList","activatedBreakpoints","addPrintBreakpoints","hasFormerBp","wasActivated","printBreakpoints","addBreakpoint","isPrintBreakPoint","MediaMarshaller","_useFallbacks","_activatedBreakpoints","elementMap","elementKeyMap","watcherMap","updateMap","clearMap","observeActivations","activatedAlias","bps","useFallbacks","onMediaChange","mc","bpIndex","updateFn","clearFn","extraTriggers","initBuilderMap","buildElementKeyMap","watchExtraTriggers","bpMap","getActivatedValues","updateElement","trackValue","keyMap","valueMap","clearElement","builders","releaseElement","triggerUpdate","triggers","watchers","newSubscription","activatedBp","lastHope","oldMap","mru","destroySubject","activatedValue","useCache","genStyles","getFlexFlowDirection","addIfMissing","hasInlineValue","MockMatchMedia","_breakpoints","autoRegisterQueries","useOverlaps","activate","_validateQuery","_deactivateAll","_registerMediaQuery","_activateWithOverlaps","hasActivated","queryOrAlias","_activateByAlias","_activateByQuery","deactivate","MockMediaQueryList","_mediaQuery","MediaObserver","filterOverlaps","destroyed$","_media$","watchActivations","flatMap","toMediaQuery","locator","buildObservable","findAllActivations","previousMqs","currentMqs","MediaTrigger","hasCachedRegistryMatches","originalActivations","originalRegistry","saveActivations","deactivateAll","setActivations","prepareAutoRestore","extractQuery","restoreRegistryMatches","resizeSubscription","resize$","currentActivations","forceRegistryMatches","simulateMediaChanges","toMediaChange","mergeMQAlias","cacheRegistryMatches","emitChangeEvent","validateBasis","grow","shrink","_validateCalcValue","calc","multiply","transformValue","possibleValue","numberValue","ImgSrcStyleBuilder","ImgSrcDirective","defaultSrc","imgSrcCache","DefaultImgSrcDirective","ClassDirective","iterableDiffers","keyValueDiffers","renderer2","ngClassInstance","DefaultClassDirective","ShowHideStyleBuilder","show","ShowHideDirective","hasLayout","hasFlexChild","trackExtraTriggers","DISPLAY_MAP","getDisplayStyle","inputKey","shouldShow","DefaultShowHideDirective","NgStyleKeyValue","noQuotes","getType","what","buildMapFromSet","buildMapFromList$1","stringToKeyValue","keyValuesToMap","vals","StyleDirective","ngStyleInstance","fallbackStyles","buildStyleMap","buildMapFromList","buildRawList","delimiter","i2$1","DefaultStyleDirective","LayoutStyleBuilder","LayoutDirective","cacheMap","DefaultLayoutDirective","CLEAR_MARGIN_CSS","LayoutGapStyleBuilder","_styler","gapValue","GRID_SPECIFIER","buildGridMargin","directionality","between","below","minus","ɵmultiply","paddingStyles","buildGridPadding","paddingRight","paddingLeft","addFallbackUnit","lastItem","gapCss","buildGapCSS","getMarginType","layout","margins","LayoutGapDirective","observerSubject","onLayoutChange","buildChildObservable","matcher","willDisplay","orderA","orderB","layoutGapCacheRowRtl","layoutGapCacheRowLtr","layoutGapCacheColumnRtl","layoutGapCacheColumnLtr","gridMode","childrenStyle","J","addedNodes","removedNodes","DefaultLayoutGapDirective","FlexStyleBuilder","basisParts","hasCalc","usingCalc","hasUnits","isFixed","flex","FlexDirective","flexGrow","flexShrink","triggerReflow","layoutParts","flexRowWrapCache","flexRowCache","flexColumnWrapCache","flexColumnCache","DefaultFlexDirective","FlexOrderStyleBuilder","FlexOrderDirective","flexOrderCache","DefaultFlexOrderDirective","FlexOffsetStyleBuilder","horizontalLayoutKey","Ye","FlexOffsetDirective","flexOffsetCacheRowRtl","flexOffsetCacheColumnRtl","flexOffsetCacheColumnLtr","flexOffsetCacheRowLtr","DefaultFlexOffsetDirective","FlexAlignStyleBuilder","FlexAlignDirective","flexAlignCache","DefaultFlexAlignDirective","FLEX_FILL_CSS","FlexFillStyleBuilder","FlexFillDirective","flexFillCache","LayoutAlignStyleBuilder","LayoutAlignDirective","layoutAlignHorizontalInlineCache","layoutAlignHorizontalRevInlineCache","layoutAlignVerticalInlineCache","layoutAlignVerticalRevInlineCache","layoutAlignVerticalRevCache","layoutAlignVerticalCache","layoutAlignHorizontalRevCache","layoutAlignHorizontalCache","layoutKeys","DefaultLayoutAlignDirective","BaseControlValueAccessor","onChange","BuiltInControlValueAccessor","CHECKBOX_VALUE_ACCESSOR","CheckboxControlValueAccessor","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","_compositionMode","_composing","_isAndroid","ɵgetDOM","getUserAgent","_handleInput","_compositionStart","_compositionEnd","isEmptyInputValue","hasValidLength","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","minValidator","maxValidator","requiredValidator","requiredTrueValidator","emailValidator","minLengthValidator","maxLengthValidator","patternValidator","validators","compose","composeAsync","required","email","minlength","requiredLength","actualLength","maxlength","nullValidator","regexStr","requiredPattern","actualValue","isPresent","toObservable","mergeErrors","arrayOfErrors","executeValidators","validator","normalizeValidators","isValidatorFn","presentValidators","composeValidators","composeAsyncValidators","mergeValidators","controlValidators","dirValidator","getControlValidators","_rawValidators","getControlAsyncValidators","_rawAsyncValidators","makeValidatorsArray","hasValidator","addValidators","currentValidators","validatorsToAdd","removeValidators","AbstractControlDirective","_onDestroyCallbacks","pristine","touched","untouched","statusChanges","_setValidators","_composedValidatorFn","_setAsyncValidators","_composedAsyncValidatorFn","asyncValidator","_registerOnDestroy","_invokeOnDestroyCallbacks","getError","ControlContainer","formDirective","NgControl","valueAccessor","AbstractControlStatus","cd","_cd","isTouched","isUntouched","isPristine","isInvalid","isPending","isSubmitted","submitted","NgControlStatus","NgControlStatusGroup","VALID","INVALID","PENDING","DISABLED","pickValidators","validatorOrOpts","isOptionsObj","pickAsyncValidators","asyncValidators","assertControlPresent","isGroup","assertAllValuesPresent","_forEachChild","AbstractControl","_pendingDirty","_hasOwnPendingAsyncValidator","_pendingTouched","_onCollectionChange","_onDisabledChange","_assignValidators","_assignAsyncValidators","validatorFn","asyncValidatorFn","updateOn","_updateOn","setAsyncValidators","addAsyncValidators","removeAsyncValidators","hasAsyncValidator","clearValidators","clearAsyncValidators","onlySelf","markAllAsTouched","markAsUntouched","_updateTouched","markAsDirty","_updatePristine","markAsPending","emitEvent","skipPristineCheck","_parentMarkedDirty","_updateValue","_updateAncestors","changeFn","updateValueAndValidity","setParent","getRawValue","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","_updateTreeValidity","ctrl","_allControlsDisabled","_asyncValidationSubscription","_updateControlsErrors","currPath","_find","_initObservables","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","_registerOnCollectionChange","_setUpdateStrategy","parentDirty","coerceToValidator","coerceToAsyncValidator","FormGroup","_setUpControls","registerControl","addControl","removeControl","setControl","controlName","patchValue","_reduceChildren","_syncPendingControls","subtreeUpdated","updated","_reduceValue","initValue","FormRecord","CALL_SET_DISABLED_STATE","setDisabledStateDefault","controlPath","setUpControl","callSetDisabledState","setUpValidators","setUpViewChangePipeline","_pendingValue","_pendingChange","updateControl","setUpModelChangePipeline","emitModelEvent","viewToModelUpdate","_unregisterOnChange","setUpBlurPipeline","setUpDisabledChangeHandler","onDisabledChange","registerOnDisabledChange","_unregisterOnDisabledChange","cleanUpControl","validateControlPresenceOnChange","cleanUpValidators","registerOnValidatorChange","onValidatorChange","isControlUpdated","updatedValidators","updatedAsyncValidators","emitModelToViewChange","setUpFormContainer","isPropertyUpdated","viewModel","model","syncPendingControls","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","isBuiltInAccessor","formDirectiveProvider$1","NgForm","resolvedPromise$1","_directives","ngSubmit","_findContainer","getControl","addFormGroup","removeFormGroup","getFormGroup","updateModel","onSubmit","removeListItem","isFormControlState","formState","FormControl","_onChange","_applyFormState","nonNullable","initialValueIsDefault","emitViewToModelChange","UntypedFormControl","AbstractFormGroupDirective","_checkParentType","modelGroupProvider","NgModelGroup","formControlBinding$1","NgModel","_registered","_checkForErrors","_checkName","oldName","_getPath","_setUpControl","_updateDisabled","_isStandalone","_setUpStandalone","disabledValue","ɵcoerceToBoolean","ɵNgNoValidate","NUMBER_VALUE_ACCESSOR","NumberValueAccessor","RADIO_VALUE_ACCESSOR","RadioControlValueAccessor","RadioControlRegistryModule","RadioControlRegistry","_accessors","accessor","_isSameGroup","fireUncheck","controlPair","_control","_registry","_fn","formControlName","RANGE_VALUE_ACCESSOR","RangeValueAccessor","NG_MODEL_WITH_FORM_CONTROL_WARNING","formControlBinding","FormControlDirective","_ngModelWarningConfig","_ngModelWarningSent","_isControlChanged","previousForm","_ngModelWarningSentOnce","formDirectiveProvider","FormGroupDirective","_updateDomValue","_checkFormPresent","_updateValidators","_updateRegistrations","_oldForm","removeListItem$1","_setUpFormContainer","_cleanUpFormContainer","addFormArray","removeFormArray","getFormArray","oldCtrl","newCtrl","cleanUpFormContainer","formGroupNameProvider","FormGroupName","_hasInvalidParent","formArrayNameProvider","FormArrayName","controlNameBinding","FormControlName","_added","SELECT_VALUE_ACCESSOR","SelectControlValueAccessor","_buildValueString$1","_optionMap","_idCounter","_compareWith","valueString","_getOptionId","_getOptionValue","_registerOption","_extractId$1","NgSelectOption","_select","ngValue","_setElementValue","SELECT_MULTIPLE_VALUE_ACCESSOR","SelectMultipleControlValueAccessor","_buildValueString","optionSelectedStateSetter","_setSelected","selectedOptions","_extractId","ɵNgSelectMultipleOption","toInteger","toFloat","AbstractValidatorDirective","_validator","inputName","normalizeInput","createValidator","MAX_VALIDATOR","MIN_VALIDATOR","REQUIRED_VALIDATOR","RequiredValidator","CHECKBOX_REQUIRED_VALIDATOR","CheckboxRequiredValidator","EMAIL_VALIDATOR","EmailValidator","MIN_LENGTH_VALIDATOR","MinLengthValidator","MAX_LENGTH_VALIDATOR","MaxLengthValidator","PATTERN_VALIDATOR","PatternValidator","ɵInternalFormsSharedModule","warnOnNgModelWithFormControl","FormArray","at","_registerControl","removeAt","isAbstractControlOptions","FormBuilder","useNonNullable","nnfb","reducedControls","_reduceControls","createdControls","_createControl","NonNullableFormBuilder","UntypedFormBuilder","controlsConfig","_uniqueAutocompleteIdCounter","MatAutocompleteSelectedEvent","option","_MatAutocompleteMixinBase","MAT_AUTOCOMPLETE_DEFAULT_OPTIONS","MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY","autoActiveFirstOption","autoSelectActiveOption","_MatAutocompleteBase","_activeOptionChanges","showPanel","_isOpen","optionSelected","opened","optionActivated","_classList","inertGroups","_autoActiveFirstOption","_autoSelectActiveOption","isOpen","_setVisibilityClasses","_setVisibility","_setScrollTop","panel","_getScrollTop","_emitSelectEvent","_getPanelAriaLabelledby","labelId","labelExpression","_visibleClass","_hiddenClass","MatAutocomplete","MAT_OPTGROUP","MatOption","MAT_OPTION_PARENT_COMPONENT","_MatAutocompleteOriginBase","MatAutocompleteOrigin","MAT_AUTOCOMPLETE_SCROLL_STRATEGY","MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY","MAT_AUTOCOMPLETE_VALUE_ACCESSOR","MatAutocompleteTrigger","_MatAutocompleteTriggerBase","_formField","_defaults","_componentDestroyed","_autocompleteDisabled","_manuallyFloatingLabel","_viewportSubscription","_canOpenOnNextFocus","_closeKeyEventStream","_windowBlurHandler","panelOpen","autocompleteAttribute","_overlayAttached","optionSelections","autocomplete","onSelectionChange","autocompleteDisabled","_setStrategyPositions","_destroyPanel","openPanel","_floatLabel","closePanel","_resetLabel","_pendingAutoselectedOption","_closingActionsSubscription","panelClosingActions","_getOutsideClickStream","MatOptionSelectionChange","activeOption","clickTarget","formField","customOrigin","_assignOptionValue","_handleKeydown","_selectViaInteraction","_resetActiveItem","prevActiveItem","isArrowKey","_canOpen","_scrollToOption","_valueBeforeAutoSelection","_previousValue","_handleFocus","_handleClick","shouldAnimate","floatLabel","_animateAndLockLabel","_subscribeToClosingActions","firstStable","optionChanges","wasOpen","_setValueAndClose","toDisplay","_updateNativeInputValue","toSelect","_clearPreviousSelectedOption","_getConnectedElement","_getPanelWidth","_portal","getLabelId","_getOverlayConfig","_handleOverlayEvents","_getOverlayPosition","overlayPanelClass","belowPositions","_aboveClass","abovePositions","getConnectedOverlayOrigin","panelWidth","_getHostWidth","readOnly","labelCount","_countGroupLabelsBeforeOption","optionGroups","_getHostElement","newScrollPosition","_getOptionScrollPosition","offsetTop","MAT_FORM_FIELD","MatOptionModule","_MatBadgeBase","BADGE_CONTENT_CLASS","MatBadge","_ariaDescriber","_color","_overlap","_setColor","overlap","_content","newContent","_updateRenderedContent","_description","newDescription","_updateHostAriaDescription","hidden","_hidden","isAbove","isAfter","getBadgeElement","_badgeElement","_clearExistingBadges","_createBadgeElement","badgeElement","activeClass","newContentNormalized","colorPalette","badges","BUTTON_HOST_ATTRIBUTES","_MatButtonBase","MatButton","isRoundButton","_hasHostAttributes","isIconButton","_isRippleDisabled","disableRipple","MatRipple","MatAnchor","focusMonitor","animationMode","_haltDisabledEvents","stopImmediatePropagation","MatCardContent","MatCardTitle","MatCardSubtitle","MatCardActions","MatCardFooter","MatCardImage","MatCardSmImage","MatCardMdImage","MatCardLgImage","MatCardXlImage","MatCardAvatar","MatCard","MatCardHeader","_c2","MatCardTitleGroup","_c4","MAT_CHECKBOX_DEFAULT_OPTIONS","MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY","clickAction","MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR","MatCheckbox","MatCheckboxChange","_MatCheckboxMixinBase","_MatCheckboxBase","idPrefix","labelPosition","indeterminateChange","_currentAnimationClass","_currentCheckState","_indeterminate","defaultColor","_uniqueId","inputId","_required","_syncIndeterminate","indeterminate","_transitionCheckState","_onLabelTextChange","_getAriaChecked","newState","oldState","_getAnimationTargetElement","_getAnimationClassForCheckStateTransition","animationClass","_inputElement","_handleInputClick","_onInteractionEvent","_animationClasses","uncheckedToChecked","checkedToIndeterminate","uncheckedToIndeterminate","checkedToUnchecked","indeterminateToChecked","indeterminateToUnchecked","nativeCheckbox","_c1","isChecked","_onInputClick","MAT_CHECKBOX_REQUIRED_VALIDATOR","MatCheckboxRequiredValidator","_MatCheckboxRequiredValidatorModule","MAT_CHIP_REMOVE","MAT_CHIP_AVATAR","MAT_CHIP_TRAILING_ICON","_MatChipMixinBase","MatChipBase","MatChipAvatar","MatChipTrailingIcon","MatChip","globalRippleOptions","_hasFocus","chipListSelectable","_chipListMultiple","_chipListDisabled","_selectable","_removable","_addHostClassName","_chipRippleTarget","_chipRipple","RippleRenderer","setupTriggerEvents","rippleConfig","rippleDisabled","coercedValue","_dispatchSelectionChange","selectable","removable","ariaSelected","basicChipAttrName","chip","_removeTriggerEvents","selectViaInteraction","toggleSelected","_blur","MAT_RIPPLE_GLOBAL_OPTIONS","MatChipRemove","_parentChip","parentChip","MAT_CHIPS_DEFAULT_OPTIONS","_MatChipListBase","mixinErrorState","_defaultErrorStateMatcher","_parentForm","_parentFormGroup","ngControl","stateChanges","nextUniqueId$1","MatChipListChange","MatChipList","controlType","_lastDestroyedChipIndex","_uid","_tabIndex","_userTabIndex","o1","o2","ariaOrientation","_explicitRole","_syncChipsState","_initializeSelection","_chipInput","_placeholder","focused","_hasFocusedChip","chips","shouldLabelFloat","chipSelectionChanges","chipFocusChanges","chipBlurChanges","chipRemoveChanges","_allowFocusEscape","_resetChips","_updateTabIndex","_updateFocusForDestroyedChips","updateErrorState","_dropSubscriptions","registerInput","inputElement","setDescribedByIds","onContainerClick","_originatesFromChip","_focusInput","_keydown","newChipIndex","_sortValues","correspondingChip","_propagateChanges","valueToEmit","_markAsTouched","_listenToChipsFocus","_listenToChipsSelection","_listenToChipsRemoved","_chipFocusSubscription","_chipBlurSubscription","_chipSelectionSubscription","_chipRemoveSubscription","chipIndex","MatFormFieldControl","MatChipInput","_addOnBlur","separatorKeyCodes","chipEnd","chipList","_chipList","addOnBlur","_focusLastChipOnBackspace","_emitChipEnd","_keyup","_focus","_isSeparatorKey","chipInput","_onInput","ErrorStateMatcher","AnimationCurves","STANDARD_CURVE","DECELERATION_CURVE","ACCELERATION_CURVE","SHARP_CURVE","AnimationDurations","COMPLEX","ENTERING","EXITING","MATERIAL_SANITY_CHECKS","MATERIAL_SANITY_CHECKS_FACTORY","_sanityChecks","_hasDoneGlobalChecks","_checkIsEnabled","_disableRipple","errorState","errorStateMatcher","isErrorState","mixinInitialized","_pendingSubscribers","_notifySubscriber","_markInitialized","MAT_DATE_LOCALE_FACTORY","_localeChanges","localeChanges","getValidDateOrNull","isDateInstance","deserialize","setLocale","compareDate","getYear","sameDate","firstValid","secondValid","clampDate","ISO_8601_REGEX","valueFunction","valuesArray","useUtcForDisplay","getDayOfWeek","getMonthNames","dtf","timeZone","getDateNames","getDayOfWeekNames","weekday","getYearName","getFirstDayOfWeek","getNumDaysInMonth","_createDateWithOverflow","parseFormat","addCalendarYears","years","addCalendarMonths","addCalendarDays","toIso8601","_2digit","NativeDateModule","ShowOnDirtyErrorStateMatcher","MatLine","setLines","setClass","MatLineModule","RippleRef","_animationForciblyDisabledThroughCss","fadeOut","fadeOutRipple","defaultRippleAnimationConfig","enterDuration","exitDuration","passiveEventOptions","pointerDownEvents","pointerUpEvents","_target","_isPointerDown","_activeRipples","_pointerUpEventsRegistered","fadeInRipple","animationConfig","centered","radius","distanceToFurthestCorner","distX","distY","ripple","transitionDuration","computedStyles","userTransitionProperty","transitionProperty","userTransitionDuration","animationForciblyDisabledThroughCss","rippleRef","persistent","_mostRecentTransientRipple","eventListeners","onTransitionEnd","_finishRippleTransition","onTransitionCancel","_destroyRipple","rippleEl","fadeOutAll","_getActiveRipples","fadeOutAllNonPersistent","_triggerElement","_registerEvents","handleEvent","_onTouchStart","_onPointerUp","_startFadeOutTransition","isMostRecentTransientRipple","isFakeMousedown","isSyntheticEvent","_lastTouchStartEvent","terminateOnPointerUp","eventTypes","globalOptions","_globalOptions","_rippleRenderer","_setupTriggerEventsIfEnabled","_trigger","launch","configOrX","MatPseudoCheckbox","MatPseudoCheckboxModule","_MatOptgroupMixinBase","_uniqueOptgroupIdCounter","_MatOptgroupBase","_labelId","_inert","MatOptgroup","_uniqueIdCounter","_MatOptionBase","_mostRecentViewValue","_stateChanges","viewValue","_emitSelectionChangeEvent","_getAriaSelected","_getTabIndex","optionIndex","optionsArray","groupCounter","optionOffset","optionHeight","currentScrollPosition","panelHeight","_r9","ctx_r8","ctx_r10","day_r1","_r5","ctx_r4","ctx_r6","_r8","ctx_r7","ctx_r9","_r12","ctx_r11","ctx_r13","ctx_r14","MatDatepickerIntl","calendarLabel","openCalendarLabel","closeCalendarLabel","prevMonthLabel","nextMonthLabel","prevYearLabel","nextYearLabel","prevMultiYearLabel","nextMultiYearLabel","switchToMonthViewLabel","switchToMultiYearViewLabel","startDateLabel","endDateLabel","formatYearRange","formatYearRangeLabel","MatCalendarCell","compareValue","MatCalendarBody","_focusActiveCellAfterViewChecked","numCols","activeCell","isRange","cellAspectRatio","previewStart","previewEnd","selectedValueChange","previewChange","activeDateChange","_enterHandler","_skipNextFocus","cell","_getCellFromElement","_leaveHandler","_focusActiveCell","_cellClicked","_emitActiveDateChange","startValue","endValue","columnChanges","rows","_firstRowOffset","_cellPadding","_cellWidth","_isActiveCell","rowIndex","colIndex","cellNumber","movePreview","_scheduleFocusActiveCellAfterViewChecked","_isRangeStart","isStart","_isRangeEnd","isEnd","_isInRange","isInRange","_isComparisonStart","comparisonStart","comparisonEnd","_isComparisonBridgeStart","previousCell","previousRow","_isComparisonBridgeEnd","_isComparisonEnd","nextCell","nextRow","_isInComparisonRange","_isComparisonIdentical","_isPreviewStart","_isPreviewEnd","_isInPreview","isTableCell","rangeEnabled","DateRange","MatDateSelectionModel","selection","_adapter","_selectionChanged","selectionChanged","updateSelection","_isValidDateInstance","MatSingleDateSelectionModel","MatRangeDateSelectionModel","MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER","MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY","MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER","MAT_RANGE_DATE_SELECTION_MODEL_FACTORY","MAT_DATE_RANGE_SELECTION_STRATEGY","DefaultMatCalendarRangeStrategy","_dateAdapter","selectionFinished","currentRange","createPreview","activeDate","MAT_CALENDAR_RANGE_STRATEGY_PROVIDER","MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY","MatMonthView","_dateFormats","_rangeStrategy","_rerenderSubscription","selectedChange","_userSelection","_activeDate","oldActiveDate","validDate","minDate","maxDate","_hasSameMonthAndYear","_setRanges","_minDate","_maxDate","comparisonChange","_dateSelected","selectedDate","_getDateFromDayOfMonth","rangeStartDate","rangeEndDate","_getDateInCurrentMonth","_previewStart","_previewEnd","_updateActiveDate","_handleCalendarBodyKeydown","_selectionKeyPressed","_canSelect","_handleCalendarBodyKeyup","_todayDate","_getCellCompareValue","_monthLabel","monthLabel","firstOfMonth","_firstWeekOffset","_initWeekdays","_createWeekCells","_matCalendarBody","_previewChanged","previewRange","dayOfMonth","firstDayOfWeek","narrowWeekdays","weekdays","long","narrow","_weekdays","daysInMonth","dateNames","_weeks","_shouldEnableDate","cellClasses","dateClass","dateFilter","selectedValue","_rangeStart","_rangeEnd","_isRange","_comparisonRangeStart","_comparisonRangeEnd","MatMultiYearView","yearSelected","isSameMultiYearView","_setSelectedYear","_todayYear","minYearOfPage","getActiveOffset","_years","_createCellForYear","_yearSelected","selectedYear","_getDateFromYear","yearsPerPage","_getActiveCell","activeMonth","yearName","_shouldEnableYear","_selectedYear","dateAdapter","date1","date2","year1","year2","startingYear","getStartingYear","euclideanModulo","MatYearView","monthSelected","_setSelectedMonth","_monthSelected","selectedMonth","_getDateFromMonth","_todayMonth","_getMonthInCurrentYear","_yearLabel","monthNames","_months","_createCellForMonth","normalizedDate","monthName","_shouldEnableMonth","activeYear","_isYearAndMonthAfterMaxDate","_isYearAndMonthBeforeMinDate","maxYear","maxMonth","minYear","minMonth","_selectedMonth","uniqueId","MatCalendarHeader","_intl","calendar","_buttonDescriptionId","periodButtonText","maxYearOfPage","minYearName","maxYearName","periodButtonLabel","prevButtonLabel","nextButtonLabel","currentPeriodClicked","previousClicked","nextClicked","previousEnabled","_isSameView","nextEnabled","MatCalendar","_moveFocusOnNextTick","viewChanged","_intlChanges","startAt","_startAt","_clampedActiveDate","_currentView","viewChangedResult","_calendarHeaderPortal","headerComponent","focusActiveCell","minDateChange","maxDateChange","_getCurrentViewComponent","updateTodaysDate","_yearSelectedInMultiYearView","normalizedYear","_monthSelectedInYearView","normalizedMonth","_goToDateInView","monthView","yearView","multiYearView","matDatepickerAnimations","transformPanel","fadeInCalendar","datepickerUid","MAT_DATEPICKER_SCROLL_STRATEGY","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY","_MatDatepickerContentBase","MatDatepickerContent","_globalModel","_rangeSelectionStrategy","intl","_subscriptions","_animationDone","_actionsPortal","_closeButtonText","_animationState","datepicker","touchUi","_calendar","_handleUserSelection","_model","newSelection","_startExitAnimation","_getSelected","_applyPendingSelection","_assignActions","forceRerender","MatDatepickerBase","_inputStateChanges","_touchUi","yPosition","_restoreFocus","openedStream","closedStream","_opened","_focusedElementBeforeOpen","_backdropHarnessClass","datepickerInput","getStartValue","getThemePalette","restoreFocus","_panelClass","_getMinDate","_getMaxDate","_getDateFilter","_setConnectedPositions","_destroyOverlay","_selectYear","_selectMonth","_viewChanged","registerActions","removeActions","_openOverlay","canRestoreFocus","completeClose","_forwardContentValues","_dialogLabelId","getOverlayLabelId","isDialog","_getDialogStrategy","_getDropdownStrategy","_getCloseStream","primaryX","secondaryX","primaryY","secondaryY","i9","MatDatepicker","MatDatepickerInputEvent","targetElement","MatDatepickerInputBase","dateChange","_validatorOnChange","_cvaOnChange","_valueChangesSubscription","_localeSubscription","_parseValidator","_lastValueValid","matDatepickerParse","_filterValidator","controlValue","_matchesFilter","matDatepickerFilter","_minValidator","matDatepickerMin","_maxValidator","matDatepickerMax","_assignValueProgrammatically","_getValueFromModel","_parentDisabled","_getValidators","_registerModel","_assignValue","_shouldHandleChangeEvent","_isValidValue","_formatValue","dateInputsHaveChanged","_openPopup","lastValueWasValid","hasChanged","_assignValueToModel","MAT_DATEPICKER_VALUE_ACCESSOR","MatDatepickerInput","MAT_DATEPICKER_VALIDATORS","dateFormats","_closedSubscription","matDatepicker","_datepicker","validValue","_dateFilter","wasMatchingValue","modelValue","MAT_INPUT_VALUE_ACCESSOR","MatDatepickerToggleIcon","MatDatepickerToggle","_watchStateChanges","_open","datepickerStateChanged","inputStateChanged","datepickerToggled","_c3","MAT_DATE_RANGE_INPUT_PARENT","MatDateRangeInputPartBase","_rangeInput","_getPlaceholder","_handleChildValueChange","_openDatepicker","_groupDisabled","_startInput","_endInput","i2$2","_MatDateRangeInputBase","MatStartDate","rangeInput","defaultErrorStateMatcher","parentForm","parentFormGroup","_startValidator","matStartDateInvalid","getMirrorValue","endInput","isLtr","selectionStart","selectionEnd","setSelectionRange","MatEndDate","_endValidator","matEndDateInvalid","startInput","endPosition","MatDateRangeInput","_ariaDescribedBy","rangePicker","_rangePicker","wasMatchingStart","wasMatchingEnd","_revalidate","startEmpty","endEmpty","_getInputMirrorValue","_shouldHidePlaceholders","_shouldHideSeparator","_shouldLabelFloat","_getAriaLabelledby","_hasFloatingLabel","_updateFocus","_c5","MatDateRangePicker","MatDatepickerApply","_applySelection","MatDatepickerCancel","MatDatepickerActions","DialogConfig","ariaDescribedBy","ariaLabelledBy","ariaModal","closeOnNavigation","closeOnDestroy","CdkDialogContainer","_interactivityChecker","_elementFocusedBeforeDialogWasOpened","_closeInteractionType","_contentAttached","_ariaLabelledBy","_initializeFocusTrap","_handleBackdropClicks","_captureInitialFocus","_recaptureFocus","_forceFocus","_focusByCssSelector","elementToFocus","_focusTrap","focusedSuccessfully","_focusDialogContainer","focusConfig","focusTargetElement","DialogRef","containerInstance","closedSubject","DIALOG_SCROLL_STRATEGY","DIALOG_DATA","DEFAULT_DIALOG_CONFIG","DIALOG_SCROLL_STRATEGY_PROVIDER","DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY","Dialog","_parentDialog","_openDialogsAtThisLevel","_afterAllClosedAtThisLevel","_afterOpenedAtThisLevel","_ariaHiddenElements","afterAllClosed","_getAfterAllClosed","afterOpened","componentOrTemplateRef","getDialogById","dialogContainer","_attachContainer","_attachDialogContent","_hideNonDialogContentFromAssistiveTechnology","_removeOpenDialog","reverseForEach","userInjector","containerType","containerPortal","_createInjector","templateContext","contentRef","fallbackInjector","overlayContainer","siblings","sibling","DialogModule","enterAnimationDuration","exitAnimationDuration","matDialogAnimations","MatDialogConfig","delayFocusTrap","_MatDialogContainerBase","focusTrapFactory","dialogConfig","interactivityChecker","_animationStateChanged","_openAnimationDone","MatDialogContainer","checker","_onAnimationDone","_onAnimationStart","_getAnimationState","MatDialogRef","_containerInstance","_afterOpened","_beforeClosed","_closeFallbackTimeout","_finishDialogClose","_result","_closeDialogVia","dialogResult","afterClosed","beforeClosed","interactionType","MAT_DIALOG_SCROLL_STRATEGY","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER","MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY","_MatDialogBase","_dialogRefConstructor","_dialogContainerType","_dialogDataToken","_idPrefix","_dialog","cdkRef","cdkConfig","_closeDialogs","dialogs","MatDialog","parentDialog","dialogElementUid","MatDialogClose","getClosestDialog","proxiedChange","_matDialogClose","_matDialogCloseResult","screenX","screenY","MatDialogTitle","_dialogRef","MatDialogContent","MatDialogActions","MatDivider","_inset","inset","MatDividerModule","nextId$1","CDK_ACCORDION","CdkAccordion","_openCloseAllActions","_multi","openAll","CdkAccordionItem","accordion","_expansionDispatcher","_openCloseAllSubscription","expandedChange","_expanded","_removeUniqueSelectionListener","accordionId","expanded","_subscribeToOpenCloseAllActions","CdkAccordionModule","MAT_ACCORDION","EXPANSION_PANEL_ANIMATION_TIMING","matExpansionAnimations","indicatorRotate","bodyExpansion","MAT_EXPANSION_PANEL","MatExpansionPanelContent","_expansionPanel","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","MatExpansionPanel","_uniqueSelectionDispatcher","_hideToggle","afterExpand","afterCollapse","_inputChanges","_headerId","_bodyAnimationDone","hideToggle","togglePosition","_togglePosition","_hasSpacing","displayMode","_getExpandedState","_lazyContent","_body","bodyElement","MatExpansionPanelActionRow","_MatExpansionPanelHeaderMixinBase","MatExpansionPanelHeaderBase","MatExpansionPanelHeader","_parentChangeSubscription","accordionHideToggleChange","expandedHeight","collapsedHeight","_isExpanded","_getPanelId","_getTogglePosition","_showToggle","_getHeaderHeight","_handleHeaderKeydown","_handleHeaderFocus","MatExpansionPanelDescription","MatExpansionPanelTitle","MatAccordion","_ownHeaders","_headers","_r10","ctx_r12","_r16","ctx_r15","ctx_r17","nextUniqueId$2","MAT_ERROR","MatError","ariaLive","matFormFieldAnimations","transitionMessages","_MAT_HINT","MatHint","MatLabel","MatPlaceholder","MAT_PREFIX","MatPrefix","MAT_SUFFIX","MatSuffix","_MatFormFieldBase","MAT_FORM_FIELD_DEFAULT_OPTIONS","MatFormField","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_hideRequiredMarker","_showAlwaysAnimate","_subscriptAnimationState","_hintLabel","_hintLabelId","_getDefaultFloatLabelState","_animationsEnabled","hideRequiredMarker","_shouldAlwaysFloat","_canLabelFloat","hintLabel","_processHints","_explicitFormFieldControl","_controlNonStatic","_controlStatic","_connectionContainerRef","_validateControlChild","_validatePlaceholders","_syncDescribedByIds","updateOutlineGap","_prefixChildren","_suffixChildren","_hintChildren","_errorChildren","_shouldForward","_hasPlaceholder","_placeholderChild","_hasLabel","_labelChildNonStatic","_labelChildStatic","_hideControlPlaceholder","_getDisplayedMessages","_label","_validateHints","userAriaDescribedBy","startHint","endHint","labelEl","outlineStartSelector","outlineGapSelector","gapElements","_isAttachedToDOM","startWidth","gapWidth","startEls","gapEls","containerStart","_getStartEnd","labelChildren","labelStart","labelWidth","outlineGapPadding","MatFormFieldModule","TileCoordinator","columnIndex","rowCount","rowspan","lastRowMax","tracker","numColumns","tiles","tile","_trackTile","gapStartIndex","_findMatchingGap","colspan","_markTilePosition","TilePosition","tileCols","gapEndIndex","_nextRow","_findGapEndIndex","MAT_GRID_LIST","MatGridTile","_gridList","_rowspan","_colspan","MatGridTileText","_lines","MatGridAvatarCssMatStyler","MatGridTileHeaderCssMatStyler","MatGridTileFooterCssMatStyler","cssCalcAllowedValue","TileStyler","_rows","gutterSize","cols","_gutterSize","normalizeUnits","_cols","_direction","getBaseTileSize","sizePercent","gutterFraction","getTilePosition","baseSize","getTileSize","span","percentWidthPerTile","gutterWidthFractionPerTile","setColStyles","setRowStyles","percentWidth","gutterWidth","baseTileWidth","getGutterSpan","getTileSpan","tileHeight","getComputedHeight","FixedTileStyler","fixedRowHeight","_setListStyle","_tiles","RatioTileStyler","_parseRatio","percentHeightPerTile","rowHeightRatio","baseTileHeight","ratioParts","FitTileStyler","gutterHeightPerTile","MatGridList","_gutter","rowHeight","_rowHeight","_setTileStyler","_checkCols","_checkRowHeight","_layoutTiles","_tileStyler","_tileCoordinator","ttWindow","getMatIconNameNotFoundError","iconName","getMatIconFailedToSanitizeUrlError","getMatIconFailedToSanitizeLiteralError","literal","SvgIconConfig","svgText","MatIconRegistry","_httpClient","_sanitizer","_errorHandler","_svgIconConfigs","_iconSetConfigs","_cachedIconsByUrl","_inProgressUrlFetches","_fontCssClassesByAlias","_resolvers","_defaultFontSetClass","addSvgIcon","addSvgIconInNamespace","addSvgIconLiteral","addSvgIconLiteralInNamespace","_addSvgIconConfig","addSvgIconResolver","cleanLiteral","trustedLiteral","addSvgIconSet","addSvgIconSetInNamespace","addSvgIconSetLiteral","addSvgIconSetLiteralInNamespace","_addSvgIconSetConfig","registerFontClassAlias","classNames","classNameForFontAlias","setDefaultFontSetClass","getDefaultFontSetClass","getSvgIconFromUrl","safeUrl","cachedIcon","cloneSvg","_loadSvgIconFromConfig","svg","getNamedSvgIcon","iconKey","_getSvgFromConfig","_getIconConfigFromResolvers","iconSetConfigs","_getSvgFromIconSetConfigs","_svgElementFromConfig","namedIcon","_extractIconWithNameFromAnySet","iconSetFetchRequests","iconSetConfig","_loadSvgIconSetFromConfig","foundIcon","_extractSvgIconFromSet","_fetchIcon","iconSet","iconSource","iconElement","cloneNode","_setSvgAttributes","_toSvgElement","_svgElementFromString","iconConfig","getMatIconNoHttpProviderError","inProgressFetch","configNamespace","svgElement","DomSanitizer","_MatIconBase","MAT_ICON_DEFAULT_OPTIONS","MAT_ICON_LOCATION","MAT_ICON_LOCATION_FACTORY","getPathname","funcIriAttributes","funcIriAttributeSelector","funcIriPattern","MatIcon","_iconRegistry","ariaHidden","_previousFontSetClass","_currentIconFetch","fontSet","svgIcon","_svgIcon","_updateSvgIcon","_clearSvgElement","_fontSet","_cleanupFontValue","_updateFontIconClasses","fontIcon","_fontIcon","_splitIconName","cachedElements","_elementsWithExternalReferences","_previousPath","_prependPathToReferences","_usingFontIcon","_setSvgElement","_cacheChildrenWithExternalReferences","layoutElement","childCount","fontSetClasses","_previousFontIconClass","elementsWithFuncIri","elementWithReference","rawName","_svgNamespace","_svgName","listenerOptions","AutofillMonitor","_monitoredElements","animationName","isAutofilled","unlisten","CdkAutofill","_autofillMonitor","cdkAutofill","CdkTextareaAutosize","_previousMinRows","_isViewInited","_handleFocusEvent","_textareaElement","minRows","_minRows","_setMinHeight","maxRows","_maxRows","_setMaxHeight","resizeToFitContent","_cachedPlaceholderHeight","_cacheTextareaPlaceholderHeight","_cachedLineHeight","_initialHeight","_cacheTextareaLineHeight","textareaClone","border","_measureScrollHeight","previousMargin","isFirefox","needsMarginFiller","measuringClass","textarea","_scrollToCaretPosition","_noopInputHandler","TextFieldModule","MAT_INPUT_INVALID_TYPES","_MatInputBase","MatInput","inputValueAccessor","autofilled","_readonly","_neverEmptyInputTypes","_iOSKeyupListener","_inputValueAccessor","_previousNativeValue","_isServer","_isNativeSelect","_isTextarea","_isInFormField","_validateType","readonly","_dirtyCheckNativeValue","_dirtyCheckPlaceholder","_focusChanged","isFocused","_previousPlaceholder","_isNeverEmpty","_isBadInput","validity","badInput","selectElement","firstOption","_isInlineSelect","_MatListBase","_MatListItemMixinBase","MAT_LIST","MAT_NAV_LIST","MatNavList","MatList","_getListType","MatListAvatarCssMatStyler","MatListIconCssMatStyler","MatListSubheaderCssMatStyler","MatListItem","navList","_isInteractiveList","_list","_MatSelectionListBase","_MatListOptionBase","MAT_SELECTION_LIST_VALUE_ACCESSOR","MatSelectionList","MatSelectionListChange","MatListOption","selectionList","checkboxPosition","_inputsInitialized","_reportValueChange","wasSelected","hadFocus","newActiveItem","_removeOptionFromList","_text","_setFocusedOption","_handleBlur","_contentInitialized","_markOptionsForCheck","_setOptionsFromValues","toFocus","disableRippleChanges","colorChanges","_isDestroyed","selectAll","_setAllOptionsSelected","deselectAll","_getOptionIndex","previousFocusIndex","_toggleFocusedOption","shouldSelect","_getSelectedOptionValues","focusedIndex","focusedOption","skipDisabled","changedOptions","_r2","ctx_r1","ctx_r3","ctx_r5","matMenuAnimations","transformMenu","fadeInItems","MAT_MENU_CONTENT","_MatMenuContentBase","_attached","_outlet","MatMenuContent","MAT_MENU_PANEL","_MatMenuItemBase","MatMenuItem","_parentMenu","_hovered","_focused","_highlighted","_triggersSubmenu","addItem","_checkDisabled","_handleMouseEnter","icons","_setHighlighted","isHighlighted","MAT_MENU_DEFAULT_OPTIONS","MAT_MENU_DEFAULT_OPTIONS_FACTORY","overlapTrigger","menuPanelUid","_MatMenuBase","_yPosition","_directDescendantItems","_tabSubscription","_panelAnimationState","_overlapTrigger","setPositionClasses","previousPanelClass","_previousPanelClass","_updateDirectDescendants","focusedItem","itemsList","_item","parentMenu","focusFirstItem","menuPanel","resetActiveItem","setElevation","elevation","_baseElevation","newElevation","_elevationPrefix","customElevation","_previousElevation","posX","posY","_startAnimation","_resetAnimation","_isAnimating","_allItems","MatMenu","MAT_MENU_SCROLL_STRATEGY","MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_MENU_SCROLL_STRATEGY_FACTORY","passiveEventListenerOptions","_MatMenuTriggerBase","_menuItemInstance","_menuOpen","_hoverSubscription","_menuCloseSubscription","_handleTouchStart","_openedBy","menuOpened","onMenuOpen","menuClosed","onMenuClose","_parentMaterialMenu","triggersSubmenu","_deprecatedMatMenuTriggerFor","menu","_menu","_destroyMenu","_handleHover","menuOpen","toggleMenu","closeMenu","openMenu","_setPosition","_getPortal","lazyContent","menuData","_menuClosingActions","_initMenu","_setIsMenuOpen","_setMenuElevation","_subscribeToPositions","originFallbackX","overlayFallbackY","originFallbackY","overlayFallbackX","_parentInnerPadding","firstItem","parentClose","hover","_handleMousedown","i3$1","MatMenuTrigger","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","getRangeLabel","MAT_PAGINATOR_INTL_PROVIDER","MAT_PAGINATOR_INTL_PROVIDER_FACTORY","parentIntl","MAT_PAGINATOR_DEFAULT_OPTIONS","_MatPaginatorMixinBase","_MatPaginatorBase","_pageIndex","_pageSizeOptions","_hidePageSize","_showFirstLastButtons","selectConfig","pageSizeOptions","hidePageSize","showFirstLastButtons","_pageSize","pageIndex","_updateDisplayedPageSizeOptions","nextPage","hasNextPage","previousPageIndex","_emitPageEvent","previousPage","hasPreviousPage","lastPage","getNumberOfPages","maxPageIndex","_changePageSize","_nextButtonsDisabled","_previousButtonsDisabled","_displayedPageSizeOptions","formFieldAppearance","_formFieldAppearance","i7","_MatProgressBarBase","MAT_PROGRESS_BAR_LOCATION","MAT_PROGRESS_BAR_LOCATION_FACTORY","MAT_PROGRESS_BAR_DEFAULT_OPTIONS","progressbarId","MatProgressBar","_isNoopAnimation","_bufferValue","animationEnd","_animationEndSubscription","_rectangleFillValue","clamp","bufferValue","_primaryTransform","_bufferTransform","_primaryValueBar","_r0","_MatProgressSpinnerBase","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","INDETERMINATE_ANIMATION_TEMPLATE","MatProgressSpinner","_diameter","trackedDiameters","_diameters","_spinnerAnimationLabel","_getSpinnerAnimationLabel","_noopAnimations","_forceAnimations","strokeWidth","_styleRoot","_attachStyleNode","_strokeWidth","_getCircleRadius","_getViewBox","_getStrokeCircumference","_getStrokeDashOffset","_getCircleStrokeWidth","_getCircleTransformOrigin","currentScale","styleRoot","currentDiameter","diameters","diametersForElement","styleTag","_getAnimationText","strokeCircumference","MAT_RADIO_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS_FACTORY","MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","MatRadioGroup","MatRadioChange","MAT_RADIO_GROUP","_MatRadioGroupBase","_labelPosition","_updateRadioButtonNames","_markRadiosForCheck","_updateSelectedRadioFromValue","_checkSelectedRadioButton","_touch","_radios","radio","isAlreadySelected","MatRadioButton","_MatRadioButtonMixinBase","MatRadioButtonBase","_MatRadioButtonBase","radioGroup","_radioDispatcher","_providerOverride","newCheckedState","_setDisabled","_onInputInteraction","groupValueChanged","_previousTabIndex","changeDetector","radioDispatcher","providerOverride","ctx_r2","matSelectAnimations","transformPanelWrap","SELECT_PANEL_MAX_HEIGHT","SELECT_PANEL_PADDING_X","MAT_SELECT_SCROLL_STRATEGY","MAT_SELECT_CONFIG","MAT_SELECT_SCROLL_STRATEGY_PROVIDER","MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY","MatSelectChange","_MatSelectMixinBase","MAT_SELECT_TRIGGER","MatSelectTrigger","_MatSelectBase","_parentFormField","_panelOpen","_triggerAriaLabelledBy","_valueId","_panelDoneAnimatingStream","_overlayPanelClass","_disableOptionCentering","disableOptionCentering","optionSelectionChanges","openedChange","_openedStream","_closedStream","typeaheadDebounceInterval","_typeaheadDebounceInterval","_panelDoneAnimating","_initKeyManager","_resetOptions","newAriaLabelledby","_getTriggerAriaLabelledby","_previousControl","_highlightCorrectOption","triggerValue","_handleOpenKeydown","_handleClosedKeydown","isOpenKey","previouslySelectedOption","selectedOption","hasDeselectedOptions","previouslyFocusedIndex","_onAttached","_overlayDir","_positioningSettled","_getPanelTheme","_selectOptionByValue","_scrollOptionIntoView","changedOrDestroyed","_onSelect","sortComparator","_getChangeEvent","_getAriaActiveDescendant","MatSelect","_scrollTop","_triggerFontSize","_transformOrigin","_positions","_calculateOverlayScroll","scrollBuffer","maxScroll","itemHeight","_getItemHeight","optimalScrollPosition","_triggerRect","fontSize","_calculateOverlayPosition","_calculateOverlayOffsetX","paddingWidth","SELECT_MULTIPLE_PANEL_PADDING_X","_calculateOverlayOffsetY","optionHeightAdjustment","maxOptionsDisplayed","optionOffsetFromPanelTop","_getItemCount","_checkOverlayWithinViewport","topSpaceAvailable","bottomSpaceAvailable","panelHeightTop","panelHeightBottom","_adjustPanelUp","_adjustPanelDown","_getOriginBasedOnOption","distanceBelowViewport","distanceAboveViewport","selectedOptionOffset","i8","_r3","matDrawerAnimations","transformDrawer","MAT_DRAWER_DEFAULT_AUTOSIZE","MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY","MAT_DRAWER_CONTAINER","MatDrawerContent","_container","_contentMarginChanges","MatDrawerContainer","MatDrawer","_elementFocusedBeforeDrawerWasOpened","_enableAnimations","_disableClose","_animationStarted","_animationEnd","openedStart","closedStart","onPositionChanged","_modeChanged","_takeFocus","_isFocusWithinDrawer","_openedVia","_updatePositionInParent","_updateFocusTrapState","_autoFocus","hasMovedFocus","activeEl","_anchor","openedVia","_closeViaBackdropClick","_setOpen","_getWidth","newPosition","defaultAutosize","_drawers","_doCheckSubject","_contentMargins","_validateDrawers","updateContentMargins","_autosize","_start","_end","autosize","_backdropOverride","_userContent","_allDrawers","drawer","_watchDrawerToggle","_watchDrawerPosition","_watchDrawerMode","_isDrawerOpen","_left","_right","_setContainerClass","_onBackdropClicked","_closeModalDrawersViaBackdrop","_canHaveBackdrop","_isShowingBackdrop","MatSidenavContent","MatSidenavContainer","MatSidenav","_fixedInViewport","_fixedTopGap","_fixedBottomGap","fixedInViewport","fixedTopGap","fixedBottomGap","MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS","disableToggleValue","MAT_SLIDE_TOGGLE_VALUE_ACCESSOR","MatSlideToggle","MatSlideToggleChange","_MatSlideToggleMixinBase","_MatSlideToggleBase","toggleChange","_onChangeEvent","MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR","MatSlideToggleRequiredValidator","_MatSlideToggleRequiredValidatorModule","ctx_r0","MAT_SNACK_BAR_DATA","MatSnackBarConfig","announcementMessage","horizontalPosition","MAX_TIMEOUT","MatSnackBarRef","_afterDismissed","_onAction","_dismissedByAction","_onExit","_finishDismiss","dismiss","exit","_durationTimeoutId","dismissWithAction","closeWithAction","_dismissAfter","dismissedByAction","afterDismissed","_onEnter","onAction","SimpleSnackBar","snackBarRef","hasAction","matSnackBarAnimations","snackBarState","_MatSnackBarContainerBase","snackBarConfig","_announceDelay","_onAnnounce","_assertNotAttached","_afterPortalAttached","_live","onAnimationEnd","_completeExit","enter","_screenReaderAnnounce","_announceTimeoutId","panelClasses","inertElement","liveElement","HTMLElement","MatSnackBarContainer","MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY","_MatSnackBarBase","_breakpointObserver","_parentSnackBar","_defaultConfig","_snackBarRefAtThisLevel","_openedSnackBarRef","openFromComponent","_attach","openFromTemplate","simpleSnackBarComponent","_attachSnackBarContainer","snackBarContainerComponent","containerRef","userConfig","handsetCssClass","_animateSnackBar","isLeft","isRight","i3$2","MatSnackBar","live","parentSnackBar","MAT_SORT_DEFAULT_OPTIONS","_MatSortBase","sortables","sortChange","_disableClear","sortable","getNextSortDirection","sortDirectionCycle","getSortDirectionCycle","nextDirectionIndex","SORT_ANIMATION_TRANSITION","matSortAnimations","indicator","leftPointer","rightPointer","arrowOpacity","arrowPosition","allowChildren","MatSortHeaderIntl","MAT_SORT_HEADER_INTL_PROVIDER","MAT_SORT_HEADER_INTL_PROVIDER_FACTORY","_MatSortHeaderBase","MatSortHeader","_sort","_columnDef","_showIndicatorHint","_viewState","_arrowDirection","_disableViewStateAnimation","_sortActionDescription","_handleStateChanges","sortActionDescription","_updateSortActionDescription","_updateArrowDirection","_setAnimationTransitionState","_isSorted","_sortButton","_setIndicatorHintVisible","visible","_isDisabled","viewState","_toggleOnInteraction","_getArrowDirectionState","_getArrowViewState","_getAriaSortAttribute","_renderArrow","_r13","_r19","ctx_r18","_r23","step_r20","ctx_r24","MatStepLabel","MatStepperIntl","optionalLabel","completedLabel","editableLabel","MAT_STEPPER_INTL_PROVIDER","MAT_STEPPER_INTL_PROVIDER_FACTORY","_MatStepHeaderBase","MatStepHeader","_intlSubscription","_stringLabel","_templateLabel","_getIconContext","_getDefaultTextForState","matStepperAnimations","horizontalStepTransition","animationDuration","verticalStepTransition","MatStepperIcon","MatStepContent","MatStep","_errorStateMatcher","originalErrorState","customErrorState","MatStepper","animationDone","headerPosition","_iconOverrides","_animationDuration","_icons","_stepIsNavigable","_getAnimationDuration","MatStepperNext","MatStepperPrevious","mixinHasStickyInput","_sticky","_hasStickyChanged","sticky","prevValue","hasStickyChanged","resetStickyChanged","CDK_TABLE","TEXT_COLUMN_OPTIONS","CdkCellDef","CdkHeaderCellDef","CdkFooterCellDef","_CdkColumnDefBase","CdkColumnDefBase","CdkColumnDef","_table","_stickyEnd","_setNameInput","stickyEnd","_updateColumnCssClassName","_columnCssClassName","cssClassFriendlyName","BaseCdkCell","columnDef","CdkHeaderCell","CdkFooterCell","tableRole","CdkCell","_Schedule","tasks","endTasks","_COALESCED_STYLE_SCHEDULER","_CoalescedStyleScheduler","_currentSchedule","_createScheduleIfNeeded","scheduleEnd","_getScheduleObservable","BaseRowDef","_columnsDiffer","columns","getColumnsDiff","extractCellTemplate","CdkHeaderRowDef","headerCell","CdkFooterRowDef","footerCell","_CdkHeaderRowDefBase","CdkHeaderRowDefBase","_CdkFooterRowDefBase","CdkFooterRowDefBase","CdkRowDef","CdkCellOutlet","mostRecentCellOutlet","CdkHeaderRow","CdkFooterRow","CdkRow","CdkNoDataRow","_contentClassName","STICKY_DIRECTIONS","StickyStyler","_isNativeHtmlTable","_stickCellCss","_coalescedStyleScheduler","_isBrowser","_needsPositionStickyOnElement","_positionListener","_cachedCellWidths","_borderCellCss","clearStickyPositioning","stickyDirections","elementsToClear","_removeStickyStyle","updateStickyColumns","stickyStartStates","stickyEndStates","recalculateCellWidths","stickyColumnsUpdated","stickyEndColumnsUpdated","firstRow","numCells","cellWidths","_getCellWidths","startPositions","_getStickyStartColumnPositions","endPositions","_getStickyEndColumnPositions","lastStickyStart","firstStickyEnd","_addStickyStyle","stickRows","rowsToStick","stickyStates","stickyOffsets","stickyCellHeights","elementsToStick","stickyOffset","borderedRowIndex","isBorderedRowIndex","stickyHeaderRowsUpdated","stickyFooterRowsUpdated","updateStickyFooterContainer","tableElement","tfoot","zIndex","_getCalculatedZIndex","dirValue","isBorderElement","zIndexIncrements","firstRowCells","widths","nextPosition","STICKY_POSITIONING_LISTENER","CdkRecycleRows","DataRowOutlet","HeaderRowOutlet","FooterRowOutlet","NoDataRowOutlet","CdkTable","_stickyPositioningListener","_columnDefsByName","_customColumnDefs","_customRowDefs","_customHeaderRowDefs","_customFooterRowDefs","_headerRowDefChanged","_footerRowDefChanged","_stickyColumnStylesNeedReset","_forceRecalculateCellWidths","_cachedRenderRowsMap","stickyCssClass","needsPositionStickyOnElement","_isShowingNoDataRow","_multiTemplateDataRows","_fixedLayout","contentChanged","multiTemplateDataRows","_rowOutlet","_forceRenderDataRows","updateStickyColumnStyles","fixedLayout","_setupStickyStyler","_applyNativeTableSections","_i","dataIndex","_cacheRowDefs","_cacheColumnDefs","_headerRowDefs","_footerRowDefs","_rowDefs","rowDefsChanged","_renderUpdatedColumns","_forceRenderHeaderRows","_forceRenderFooterRows","_renderChangeSubscription","_checkStickyStates","_headerRowOutlet","_footerRowOutlet","_defaultRowDef","renderRows","_renderRows","_getAllRenderRows","_updateNoDataRow","_renderCellTemplateForItem","rowDef","_updateRowIndexContext","addColumnDef","removeColumnDef","addRowDef","removeRowDef","addHeaderRowDef","headerRowDef","removeHeaderRowDef","addFooterRowDef","footerRowDef","removeFooterRowDef","setNoDataRow","noDataRow","_customNoDataRow","updateStickyHeaderRowStyles","headerRows","_getRenderedRows","thead","_stickyStyler","updateStickyFooterRowStyles","footerRows","dataRows","headerRow","_addStickyColumnStyles","footerRow","prevCachedRenderRows","renderRowsForData","_getRenderRowsForData","renderRow","_getRowDefs","cachedRenderRows","mergeArrayAndSet","_getOwnDefs","_contentColumnDefs","_contentHeaderRowDefs","_contentFooterRowDefs","_contentRowDefs","defaultRowDefs","columnsDiffReducer","dataColumnsChanged","headerColumnsChanged","footerColumnsChanged","_renderRow","columnDefs","columnName","rowOutlet","renderedRows","rowDefs","cellTemplate","_getCellTemplates","renderIndex","columnId","documentFragment","createDocumentFragment","sections","_noDataRowOutlet","section","stickyCheckReducer","_noDataRow","CdkTextColumn","justify","_syncColumnDefName","headerText","_createDefaultHeaderText","dataAccessor","defaultDataAccessor","defaultHeaderTextTransform","CdkTableModule","MatRecycleRows","MatTable","table_c0","MatCellDef","MatHeaderCellDef","MatFooterCellDef","MatColumnDef","MatHeaderCell","MatFooterCell","MatCell","MatHeaderRowDef","MatFooterRowDef","MatRowDef","MatHeaderRow","MatFooterRow","MatRow","MatNoDataRow","MatTextColumn","_MatTableDataSource","initialData","_renderData","_filter","_internalPageChanges","_renderChangesSubscription","sortData","valueAType","valueBType","comparatorResult","currentTerm","transformedFilter","_updateChangeSubscription","_filterData","_paginator","pageChange","filteredData","orderedData","_orderData","paginatedData","_pageData","_updatePaginator","filteredDataLength","lastPageIndex","newPageIndex","tab_r4","_r18","ctx_r19","_MAT_INK_BAR_POSITIONER","_MAT_INK_BAR_POSITIONER_FACTORY","offsetLeft","MatInkBar","_inkBarPositioner","alignToElement","inkBar","hide","MAT_TAB_CONTENT","MatTabContent","MAT_TAB_LABEL","MAT_TAB","MatTabLabel","_closestTab","_MatTabBase","MAT_TAB_GROUP","MatTab","_closestTabGroup","textLabel","_contentPortal","templateLabel","_setTemplateLabelInput","_explicitContent","_implicitContent","matTabsAnimations","translateTab","MatTabBodyPortal","_centeringSub","_leavingSub","_beforeCentering","_isCenterPosition","isCentering","_afterLeavingCenter","MatTabBody","_MatTabBodyBase","_translateTabComplete","_onCentering","_onCentered","_computePositionAnimationState","_positionIndex","_computePositionFromOrigin","_onTranslateTabStarted","_getLayoutDirection","MAT_TABS_CONFIG","_MatTabLabelWrapperBase","MatTabLabelWrapper","getOffsetLeft","getOffsetWidth","MatPaginatedTabHeader","_scrollDistance","_selectedIndexChanged","_showPaginationControls","_disableScrollAfter","_disableScrollBefore","_stopScrolling","_disablePagination","selectFocusedIndex","indexFocused","_stopInterval","disablePagination","_previousPaginator","_handlePaginatorPress","_nextPaginator","dirChange","resize","realign","updatePagination","_alignInkBarToSelectedTab","_itemsResized","_getMaxScrollDistance","newFocusIndex","_setTabFocus","ResizeObserver","tabItems","resizeObserver","contentRect","_tabLabelCount","_scrollToLabel","_checkScrollingControls","_scrollDistanceChanged","_updateTabScrollPosition","focusIndex","_itemSelected","_onContentChanges","_currentTextContent","_checkPaginationEnabled","tab","containerEl","_tabListContainer","scrollDistance","translateX","_tabList","_scrollTo","_scrollHeader","scrollAmount","_handlePaginatorClick","labelIndex","selectedLabel","viewLength","labelBeforePos","labelAfterPos","_tabListInner","beforeVisiblePos","afterVisiblePos","selectedItem","selectedLabelWrapper","_inkBar","mouseEvent","maxScrollDistance","distance","_MatTabHeaderBase","MatTabHeader","_c6","_c7","MatTabChangeEvent","_MatTabGroupMixinBase","_MatTabGroupBase","_tabs","_indexToSelect","_lastFocusedTabIndex","_tabBodyWrapperHeight","_tabsSubscription","_tabLabelSubscription","_dynamicHeight","_preserveContent","selectedIndexChange","focusChange","selectedTabChange","dynamicHeight","contentTabIndex","_contentTabIndex","_backgroundColor","indexToSelect","_clampTabIndex","isFirstRun","wrapper","_tabBodyWrapper","_subscribeToAllTabChanges","_subscribeToTabLabels","tabs","selectedTab","_allTabs","realignInkBar","_tabHeader","focusTab","_getTabLabelId","_getTabContentId","_setTabBodyWrapperHeight","tabHeight","_removeTabBodyWrapperHeight","tabHeader","_tabFocusChanged","MatTabGroup","_c8","_c9","i1$2","_MatTabNavBase","updateActiveLink","tabPanel","_activeTabId","_getRole","MatTabNav","MatTabLink","_MatTabLinkMixinBase","_MatTabLinkBase","_tabNavBar","_getAriaControls","_getAriaCurrent","tabNavBar","_tabLinkRipple","MatTabNavPanel","_MatToolbarBase","MatToolbarRow","MatToolbar","_checkToolbarMixedModes","_toolbarRows","PANEL_CLASS","passiveListenerOptions","MAT_TOOLTIP_SCROLL_STRATEGY","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","MAT_TOOLTIP_DEFAULT_OPTIONS","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","_MatTooltipBase","_viewInitialized","_pointerExitEventsInitialized","_cssClassPrefix","_showDelay","_hideDelay","touchGestures","_message","_passiveListeners","_updatePosition","_tooltipInstance","_setupPointerEnterEventsIfNeeded","_mouseLeaveHideDelay","_isTooltipVisible","_updateTooltipMessage","tooltipClass","_tooltipClass","_setTooltipClass","_touchstartTimeout","_cancelPendingAnimations","_tooltipComponent","afterHidden","scrollableAncestors","_updateCurrentPositionClass","_handleBodyInteraction","disableTooltipInteractivity","_getOrigin","_addOffset","main","originPosition","_invertPosition","overlayPosition","_currentPosition","classPrefix","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","_addListeners","exitListeners","newTarget","_wheelListener","touchendListener","elementUnderPointer","elementFromPoint","gestures","userSelect","msUserSelect","webkitUserSelect","MozUserSelect","draggable","webkitUserDrag","touchAction","webkitTapHighlightColor","MatTooltip","ariaDescriber","TooltipComponent","_TooltipComponentBase","_closeOnInteraction","_isVisible","_onHide","_hideTimeoutId","_showTimeoutId","_toggleVisibility","_handleMouseLeave","_finalizeAnimation","_onShow","_handleAnimationEnd","_showAnimation","_hideAnimation","toVisible","_tooltip","showClass","hideClass","_isHandset","tooltipState","_MatTreeNodeBase","MatTreeNode","MatTreeNodeDef","MatNestedTreeNode","MatTreeNodePadding","MatTreeNodeOutlet","MatTreeNodeToggle","collectionViewer","GenericBrowserDomAdapter","ɵDomAdapter","supportsDOMEvents","BrowserDomAdapter","ɵsetRootDomAdapter","onAndCancel","getDefaultDocument","createHtmlDocument","isShadowRoot","DocumentFragment","getBaseElementHref","baseElement","relativePath","urlParsingNode","pathName","resetBaseElement","getCookie","TRANSITION_ID","SERVER_TRANSITION_PROVIDERS","appInitializerFactory","transitionId","dom","BrowserXhr","XMLHttpRequest","EVENT_MANAGER_PLUGINS","EventManager","plugins","_eventNameToPlugin","_plugins","_findPluginFor","addGlobalEventListener","getZone","plugin","EventManagerPlugin","SharedStylesHost","_stylesSet","additions","onStylesAdded","getAllStyles","DomSharedStylesHost","_hostNodes","_addStylesToHost","styleNodes","addHost","hostNode","removeHost","styleNode","NAMESPACE_URIS","xhtml","xlink","xml","xmlns","math","COMPONENT_REGEX","HOST_ATTR","CONTENT_ATTR","compId","decoratePreventDefault","eventHandler","DomRendererFactory2","eventManager","sharedStylesHost","appId","rendererByCompId","defaultRenderer","DefaultDomRenderer2","EmulatedEncapsulationDomRenderer2","applyToHost","ShadowDomRenderer","createElementNS","isTemplateNode","namespaceUri","setAttributeNS","removeAttributeNS","removeProperty","contentAttr","shimContentAttribute","componentShortId","hostAttr","shimHostAttribute","hostEl","nodeOrShadowRoot","DomEventsPlugin","MODIFIER_KEYS","_keyMap","Del","Esc","Left","Right","Up","Down","Menu","Scroll","Win","MODIFIER_KEY_GETTERS","alt","KeyEventsPlugin","parseEventName","parsedEvent","outsideHandler","eventCallback","fullKey","domEventName","_normalizeKey","codeIX","modifierName","fullKeyCode","keycode","modifierGetter","matchEventFullKeyCode","keyName","INTERNAL_BROWSER_PLATFORM_PROVIDERS","ɵPLATFORM_BROWSER_ID","initDomAdapter","makeCurrent","ɵsetDocument","platformBrowser","BROWSER_MODULE_PROVIDERS_MARKER","TESTABILITY_PROVIDERS","ɵTESTABILITY_GETTER","BrowserGetTestability","ɵglobal","testabilities","didWork","decrement","didWork_","ɵTESTABILITY","BROWSER_MODULE_PROVIDERS","ɵINJECTOR_SCOPE","providersAlreadyPresent","Meta","_dom","addTag","forceCreation","_getOrCreateElement","addTags","getTag","attrSelector","getTags","updateTag","_parseSelector","_setMetaElementAttributes","removeTag","removeTagElement","_containsAttributes","_getMetaKeyMap","META_KEYS_MAP","createMeta","httpEquiv","Title","getTitle","setTitle","newTitle","createTitle","TransferState","onSerializeCallbacks","hasKey","onSerialize","toJson","retrieveTransferredState","initialState","unescapeHtml","unescapedText","BrowserTransferStateModule","EVENT_NAMES","pan","panstart","panmove","panend","pancancel","panleft","panright","panup","pandown","pinch","pinchstart","pinchmove","pinchend","pinchcancel","pinchin","pinchout","press","pressup","rotate","rotatestart","rotatemove","rotateend","rotatecancel","swipe","swipeleft","swiperight","swipeup","swipedown","doubletap","HAMMER_GESTURE_CONFIG","HAMMER_LOADER","HammerGestureConfig","overrides","buildHammer","Hammer","HammerGesturesPlugin","_loaderPromise","isCustomEvent","cancelRegistration","eventObj","ɵConsole","DomSanitizerImpl","ɵallowSanitizationBypassAndThrow","ɵunwrapSafeValue","ɵ_sanitizeHtml","ɵ_sanitizeUrl","ɵXSS_SECURITY_URL","bypassSecurityTrustHtml","ɵbypassSanitizationTrustHtml","bypassSecurityTrustStyle","ɵbypassSanitizationTrustStyle","bypassSecurityTrustScript","ɵbypassSanitizationTrustScript","bypassSecurityTrustUrl","ɵbypassSanitizationTrustUrl","bypassSecurityTrustResourceUrl","ɵbypassSanitizationTrustResourceUrl","domSanitizerImplFactory","takeLast","PRIMARY_OUTLET","RouteTitleKey","ParamsAsMap","convertToParamMap","defaultUrlMatcher","segmentGroup","hasChildren","posParams","segment","consumed","shallowEqual","equalArraysOrString","aSorted","bSorted","wrapIntoObservable","ɵisObservable","NG_DEV_MODE$a","pathCompareMap","exact","equalSegmentGroups","containee","matrixParams","equalPath","matrixParamsMatch","numberOfChildren","subset","containsSegmentGroup","paramCompareMap","equalParams","containsParams","ignored","containsTree","paths","fragment","containsSegmentGroupHelper","containeePaths","containerPaths","containeeSegment","UrlTree","UrlSegmentGroup","queryParamMap","_queryParamMap","DEFAULT_SERIALIZER","serialize","serializePaths","UrlSegment","parameterMap","_parameterMap","serializePath","as","bs","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","serializeSegment","serializeQueryParams","strParams","encodeUriQuery","encodeUriFragment","encodeURI","primary","mapChildrenIntoArray","childOutlet","encodeUriString","encodeUriSegment","decodeQuery","serializeMatrixParams","SEGMENT_RE","matchSegments","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","parseParens","parseMatrixParams","parseParam","valueMatch","matchQueryParams","matchUrlQueryParamValue","decodedKey","decodedVal","currentVal","allowPrimary","outletName","createRoot","rootCandidate","X","squashSegmentGroup","newChildren","childCandidate","mergeTrivialChildren","isUrlTree","createUrlTree","urlTree","commands","nav","computeNavigation","toRoot","createTreeUsingPathIndex","lastPathIndex","startingPosition","findStartingPosition","isAbsolute","processChildren","isMatrixParams","createPositionApplyingDoubleDots","numberOfDoubleDots","snapshot","_urlSegment","updateSegmentGroupChildren","updateSegmentGroup","_lastPathIndex","segmentPath","isCommandWithOutlets","oldRoot","oldSegmentGroup","newSegmentGroup","qp","replaceSegment","newRoot","oldSegment","newSegment","Navigation","cmdWithOutlet","cmdIdx","urlPart","partIndex","ci","prefixedWith","currentCommandIndex","currentPathIndex","noMatch","pathIndex","commandIndex","slicedCommands","createNewSegmentGroup","getOutlets","createNewSegmentChildren","RouterEvent","NavigationStart","navigationTrigger","restoredState","NavigationCancel","NavigationError","RoutesRecognized","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","RouteConfigLoadStart","RouteConfigLoadEnd","ChildActivationStart","routeConfig","ChildActivationEnd","ActivationStart","ActivationEnd","routerEvent","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","rootComponent","createEmptyStateSnapshot","activated","ActivatedRouteSnapshot","RouterStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","ActivatedRoute","futureSnapshot","_futureSnapshot","_routerState","_paramMap","inheritedParamsDataResolve","paramsInheritanceStrategy","inheritingStartingFrom","flattenInherited","_resolvedData","urlSegment","_resolve","serializeNode","advanceActivatedRoute","nextSnapshot","shallowEqualArrays","equalParamsAndUrlSegments","equalUrlParams","equalSegments","parentsMismatch","createNode","prevState","createOrReuseChildren","shouldAttach","detachedRouteHandle","retrieve","createActivatedRoute","NAVIGATION_CANCELING_ERROR","redirectingNavigationError","urlSerializer","redirect","navigationBehaviorOptions","navigationCancelingError","redirectUrl","cancellationCode","isRedirectingNavigationCancelingError$1","isNavigationCancelingError$1","OutletContext","ChildrenOutletContexts","attachRef","contexts","onChildOutletCreated","childName","getOrCreateContext","onChildOutletDestroyed","onOutletDeactivated","onOutletReAttached","NG_DEV_MODE$8","RouterOutlet","_activatedRoute","activateEvents","deactivateEvents","attachEvents","detachEvents","parentContexts","isTrackedInParentContexts","initializeOutletWithName","activateWith","isActivated","activatedRouteData","resolverOrInjector","childContexts","OutletInjector","isComponentFactoryResolver","ɵEmptyOutletComponent","getOrCreateRouteInjectorIfNeeded","currentInjector","standardizeConfig","loadComponent","getOutlet","sortByMatchingOutlets","sortedConfig","getClosestRouteInjector","_loadedInjector","ActivateRoutes","futureState","currState","forwardEvent","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","futureChild","childOutletName","deactivateRoutes","deactivateRouteAndItsChildren","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","activateRoutes","stored","cmpFactoryResolver","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","getTokenOrFunctionIdentity","tokenOrFunction","ɵisInjectable","futurePath","canDeactivateChecks","canActivateChecks","prevChildren","getRouteGuards","shouldRun","shouldRunGuardsAndResolvers","runGuardsAndResolvers","isEmptyError","INITIAL_VALUE","prioritizedGuardValue","checkGuards","targetSnapshot","guards","guardsResult","runCanDeactivateChecks","futureRSS","currRSS","runCanDeactivate","currARS","canDeactivate","canDeactivateObservables","closestInjector","guard","isCanDeactivate","isBoolean","runCanActivateChecks","fireChildActivationStart","fireActivationStart","runCanActivateChild","futureARS","canActivateChildGuardsMapped","getCanActivateChild","canActivateChild","guardsMapped","isCanActivateChild","runCanActivate","canActivateObservables","isCanActivate","runCanLoadGuards","canLoad","canLoadObservables","injectionToken","isCanLoad","redirectIfUrlTree","runCanMatchGuards","canMatch","canMatchObservables","isCanMatch","noMatch$1","consumedSegments","remainingSegments","positionalParamSegments","matchWithChecks","slicedSegments","containsEmptyPathMatchesWithNamedOutlets","emptyPathMatch","createChildrenForEmptyPaths","primarySegment","_sourceSegment","_segmentIndexShift","containsEmptyPathMatches","addEmptyPathsToChildrenIfNeeded","isImmediateMatch","rawSegment","noLeftoversInUrl","NG_DEV_MODE$7","NoMatch$1","AbsoluteRedirect","absoluteRedirect","newTree","ApplyRedirects","configLoader","allowRedirects","splitGroup","rootSegmentGroup","expandSegmentGroup","noMatchError","expandChildren","expandSegment","childOutlets","sortedRoutes","expandedChild","last$1","expandSegmentAgainstRoute","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","expandWildCardWithParamsAgainstRouteUsingRedirect","expandRegularSegmentAgainstRouteUsingRedirect","applyRedirectCommands","lineralizeSegments","newSegments","rawSegmentGroup","_loadedRoutes","cfg","getChildConfig","routerConfig","childInjector","childConfig","splitSegmentGroup","matchedOnOutlet","cs","shouldLoadResult","canLoadFails","applyRedirectCreateUrlTree","createSegmentGroup","createQueryParams","redirectToParams","actualParams","sourceName","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","applyRedirects","applyRedirects$1","extractedUrl","NoMatch","recognize$1","rootComponentType","Recognizer","recognize","newObservableError","processSegmentGroup","routeState","inheritParamsAndData","routeNode","processSegment","outletChildren","mergedChildren","mergeEmptyPathMatches","sortActivatedRouteSnapshots","localeCompare","processSegmentAgainstRoute","pathIndexShift","getPathIndexShift","getData","_loadedComponent","getSourceSegmentGroup","getResolve","hasEmptyPathConfig","mergedNodes","duplicateEmptyPathNode","resultNode","mergedNode","resolveData","canActivateChecksResolved","runResolve","hasStaticTitle","resolveNode","getDataKeys","getResolver","resolvedData","switchTap","nextResult","ROUTES","RouterConfigLoader","componentLoaders","childrenLoaders","onLoadStartListener","loadRunner","maybeUnwrapDefaultExport","onLoadEndListener","loadModuleFactoryOrRoutes","factoryOrRoutes","rawRoutes","requireStandaloneComponents","NG_DEV_MODE$5","isWrappedDefaultExport","NavigationTransitions","currentNavigation","lastSuccessfulNavigation","rootContexts","navigationId","hasRequestedNavigation","handleNavigationRequest","setupNavigations","targetPageId","currentUrlTree","currentRawUrl","urlHandlingStrategy","extract","rawUrl","extras","routerState","currentRouterState","targetRouterState","overallTransitionState","initialUrl","previousNavigation","browserUrlTree","urlTransition","navigated","shouldProcessUrl","isBrowserTriggeredNavigation","finalUrl","urlUpdateStrategy","skipLocationChange","setBrowserUrl","routesRecognized","rawUrlTree","navStart","replaceUrl","guardsStart","guardsEnd","restoreHistory","cancelNavigationTransition","resolveStart","dataResolved","resolveEnd","loadComponents","loaders","loadedComponent","afterPreactivation","createRouterState","titleStrategy","updateTitle","cancelationReason","navCancel","mergedTree","scheduleNavigation","navError","TitleStrategy","buildTitle","pageTitle","getResolvedTitleForRoute","DefaultTitleStrategy","RouteReuseStrategy","DefaultRouteReuseStrategy","BaseRouteReuseStrategy","detachedTree","ROUTER_CONFIGURATION","UrlHandlingStrategy","DefaultUrlHandlingStrategy","newUrlPart","wholeUrl","defaultMalformedUriErrorHandler","exactMatchOptions","subsetMatchOptions","setupRouter","Router","assignExtraOptionsToRouter","malformedUriErrorHandler","canceledNavigationResolution","disposed","currentPageId","isNgZoneEnabled","lastSuccessfulId","navigationTransitions","resetConfig","browserPageId","ɵrouterPageId","resetRootComponentType","initialNavigation","setUpLocationChangeListener","locationSubscription","stateCopy","parseUrl","serializeUrl","getCurrentNavigation","navigationExtras","queryParamsHandling","preserveFragment","removeEmptyProps","validateCommands","matchOptions","priorPromise","generateNgRouterState","restoringFromCaughtError","targetPagePosition","resetState","resetUrlToCurrentUrlTree","routerPageId","RouterLink","tabIndexAttribute","_preserveFragment","_skipLocationChange","_replaceUrl","onChanges","updateHref","setTabIndexIfNotOnNativeEl","newTabIndex","applyAttributeValue","routerLink","sanitizedValue","RouterLinkActive","cdr","routerLinkActiveOptions","isActiveChange","routerEventsSubscription","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","isLinkActive","routerLinkActive","hasActiveLinks","ariaCurrentWhenActive","isActiveMatchOptions","isActiveCheckFn","PreloadingStrategy","PreloadAllModules","NoPreloading","RouterPreloader","preloadingStrategy","setUpPreloading","processRoutes","injectorForCurrentRoute","injectorForChildren","preloadConfig","loadedChildren$","recursiveLoadChildren$","loadComponent$","ROUTER_SCROLLER","RouterScroller","viewportScroller","lastId","lastSource","restoredId","anchorScrolling","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","scheduleScrollEvent","rootRoute","routerFeature","ROUTER_IS_PROVIDED","getBootstrapListener","bootstrappedComponentRef","bootstrapDone","BOOTSTRAP_DONE","INITIAL_NAVIGATION","ROUTER_PRELOADER","withEnabledBlockingInitialNavigation","locationInitialized","afterNextNavigation","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","routerNgProbeToken","provideForRootGuard","useHash","provideInitialNavigation","ROUTER_INITIALIZER","_objectSpread2","_typeof","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_s","_n","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_arrayLikeToArray","_iterableToArray","_nonIterableSpread","arr2","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","performance","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","WINDOW","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","Proxy","PREFIX_TO_STYLE","fa","fas","far","fal","fat","fad","fab","fak","fass","STYLE_TO_PREFIX","solid","regular","thin","duotone","brands","kit","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","prefixes","RESERVED_CLASSES","FontAwesomeConfig","_ref2","coerce","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_onChangeCb","meaninglessTransform","flipX","flipY","classArray","htmlEscape","joinStyles","transformIsMeaningful","drc","fp","rc","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","insertCss","headChildren","beforeChild","InjectCSS","mixout","beforeDOMElementCreation","beforeI2svg","shims","functions","domready","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","joinAttributes","iconFromMapping","doScroll","thisContext","func","bindInternal4","unicode","ucs2decode","extra","normalizeIcons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","reducer","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","rest","aliasIconName","Library","_pullDefinitions","longPrefix","_normalized$key","_hooks","defaultProviderKeys","chainHooks","hookFns","hookFn","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","i2svg","watch","autoReplaceSvgRoot","autoReplace","api","noAuto","_icon","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","abstract","makeInlineSvgAbstract","_params$icons","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","class","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","transformForCss","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","preamble","perf","noop$2","isWatched","convertSVG","abstractObj","_params$ceFn","ceFn","mutators","mutation","nodeAsComment","nest","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","perform","callbackFunction","mutator","getMutator","disableObservation","enableObservation","mo","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","hasPrefixAndIcon","_getCanonicalIcon","hasBeenReplaced","styleParser","classParser","existingPrefix","existingIconName","innerText","byLigature","ligature","attributesParser","extraAttributes","focusable","parseMeta","parser","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","candidates","resolvedMutations","onNode","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","_ref3","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","LayersText","generateLayersText","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","fontWeight","_hexValueFromContent","hexValueFromContent","cleaned","codePointAt","isPrependTen","isDoubled","isSecondary","isV4","iconIdentifier","iconName4","byOldUnicode","oldUnicode","newUnicode","blankMeta","processable","_unwatched","parseTransformString","ALL_SPACE","fillBlack","registerPlugins","nextPlugins","mixoutsTo","tk","sk","pseudoElements2svg","unwatch","parseNodeAttributes","generateAbstractTransformGrouping","innerTranslate","innerScale","innerRotate","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","reduceMotion","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","symbolData","parse$1","faClassList","spin","pulse","fixedWidth","inverse","flip","pull","stackItemSize","FaConfig","fallbackIcon","FaIconLibrary","addIcons","addIconPacks","packs","pack","getIconDefinition","FaStackItemSizeDirective","FaStackComponent","FaIconComponent","iconLibrary","stackItem","faWarnIfIconSpecMissing","iconToBeRendered","buildParams","renderIcon","iconSpec","isIconLookup","faNormalizeIconSpec","faWarnIfIconDefinitionMissing","classOpts","parsedTransform","a11yRole","renderedIcon","renderedIconHTML","FaDuotoneIconComponent","swapOpacity","primaryOpacity","secondaryOpacity","primaryColor","secondaryColor","faWarnIfParentNotExist","parentName","FaLayersComponent","FaLayersCounterComponent","updateContent","renderedHTML","FaLayersTextComponent","faAnglesDown","faAngleDoubleDown","faBoxArchive","faArchive","faUnlockKeyhole","faPaintbrush","faMoneyBillWave","faBurst","faArrowsTurnRight","faChartPie","faSignsPost","faScrewdriverWrench","faWallet","faRoute","faUserGear","faAnglesUp","faAngleDoubleUp","faCircleInfo","faDumbbell","faMoneyBill1","faGear","faNetworkWired","faArrowsTurnToDots","faGaugeHigh","faMagnifyingGlass","faDiagramProject","faXmark","faPercent","faClockRotateLeft","faScaleBalanced","faBalanceScale","faTriangleExclamation","faRightLeft","NotificationKind","NEXT","ERROR","COMPLETE","Notification","observeNotification","do","nextHandler","completeHandler","accept","nextOrObserver","completeNotification","groupBy","elementOrOptions","consumer","activeGroups","teardownAttempted","groupBySourceSubscriber","grouped","createGroupedObservable","groupSubject","groupSubscriber","exhaustMap","outerValue","DEFAULT_EFFECT_CONFIG","useEffectsErrorHandler","CREATE_EFFECT_METADATA_KEY","effect","getCreateEffectMetadata","getSourceForInstance","METADATA_KEY","getEffectDecoratorMetadata","getEffectMetadataEntries","hasMetadataEntries","sourceProto","getSourceMetadata","mergeEffects","sourceInstance","globalErrorHandler","effectsErrorHandler","observables$","observable$","effectAction$","materialize","defaultEffectsErrorHandler","retryAttemptLeft","Actions","allowedTypes","typeOrActionCreator","ScannedActionsSubject","_ROOT_EFFECTS_GUARD","USER_PROVIDED_EFFECTS","_ROOT_EFFECTS","ROOT_EFFECTS","_FEATURE_EFFECTS","FEATURE_EFFECTS","EFFECTS_ERROR_HANDLER","ROOT_EFFECTS_INIT","rootEffectsInit","reportInvalidActions","isAction","getEffectName","isMethod","isOnInitEffects","functionName","EffectSources","addEffects","effectSourceInstance","toActions","source$","effectsInstance","effect$","resolveEffectSource","mergedEffects$","isOnRunEffects","ngrxOnRunEffects","dematerialize","init$","ngrxOnInitEffects","isOnIdentifyEffects","ngrxOnIdentifyEffects","EffectsRunner","effectSources","effectsSubscription","isStarted","EffectsRootModule","runner","rootEffects","storeRootModule","storeFeatureModule","EffectsFeatureModule","effectSourceGroups","featureEffects","createEffects","_provideForRootGuard","effectGroups","userProvidedEffectGroups","mergedEffects","effectGroup","userProvidedEffectGroup","createEffectInstances","effects","PERFORM_ACTION","REFRESH","RESET","ROLLBACK","COMMIT","SWEEP","TOGGLE_ACTION","SET_ACTIONS_ACTIVE","JUMP_TO_STATE","JUMP_TO_ACTION","IMPORT_STATE","LOCK_CHANGES","PAUSE_RECORDING","PerformAction","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","SetActionsActive","JumpToState","JumpToAction","actionId","ImportState","nextLiftedState","LockChanges","PauseRecording","StoreDevtoolsConfig","maxAge","STORE_DEVTOOLS_CONFIG","INITIAL_OPTIONS","noMonitor","DEFAULT_NAME","createConfig","optionsInput","DEFAULT_OPTIONS","actionSanitizer","stateSanitizer","logOnly","autoPause","lock","persist","export","import","jump","reorder","difference","unliftState","liftedState","computedStates","currentStateIndex","unliftAction","actionsById","nextActionId","liftAction","sanitizeActions","sanitizedActions","actionIdx","sanitizeAction","sanitizeStates","computedState","sanitizeState","stateIdx","shouldFilterActions","actionsSafelist","actionsBlocklist","filterLiftedState","safelist","filteredStagedActionIds","filteredActionsById","filteredComputedStates","stagedActionIds","liftedAction","isActionFiltered","blockedlist","predicateMatch","safelistMatch","escapeRegExp","blocklistMatch","DevtoolsDispatcher","ActionsSubject","ExtensionActionTypes","START","DISPATCH","STOP","ACTION","REDUX_DEVTOOLS_EXTENSION","DevtoolsExtension","devtoolsExtension","dispatcher","createActionStreams","sanitizedState","sanitizedAction","sendToReduxDevtools","extensionConnection","sanitizedLiftedState","getExtensionConfig","createChangesObservable","changes$","start$","stop$","liftedActions$","unwrapAction","UPDATE","actionsUntilStop$","liftedUntilStop$","actions$","eval","extensionOptions","INIT_ACTION","INIT","RECOMPUTE","RECOMPUTE_ACTION","computeNextEntry","nextError","recomputeStates","minInvalidatedStateIndex","committedState","skippedActionIds","nextComputedStates","lastIncludedActionId","previousEntry","previousState","previousError","liftInitialState","initialCommittedState","monitorReducer","monitorState","liftReducerWith","initialLiftedState","commitExcessActions","excess","idsToDelete","commitChanges","actionIds","lastState","StoreDevtools","reducers$","extension","scannedActions","liftedInitialState","liftReducer","liftedAction$","liftedReducer$","liftedStateSubject","liftedStateSubscription","reducedLiftedState","unliftedAction","extensionStartSubscription","refresh","liftedState$","state$","stateSubscription","performAction","rollback","commit","sweep","toggleAction","jumpToAction","jumpToState","importState","lockChanges","pauseRecording","INITIAL_STATE","IS_EXTENSION_OR_MONITOR_PRESENT","createIsExtensionOrMonitorPresent","createReduxDevtoolsExtension","extensionKey","provideStoreDevtools","StateObservable","createStateObservable","ReducerManagerDispatcher","devtools","REGISTERED_ACTION_TYPES","defineType","_as","_p","creator","ACTIONS_SUBJECT_PROVIDERS","_ROOT_STORE_GUARD","_INITIAL_STATE","REDUCER_FACTORY","_REDUCER_FACTORY","INITIAL_REDUCERS","_INITIAL_REDUCERS","STORE_FEATURES","_STORE_REDUCERS","_FEATURE_REDUCERS","_FEATURE_CONFIGS","_STORE_FEATURES","_FEATURE_REDUCERS_TOKEN","FEATURE_REDUCERS","USER_PROVIDED_META_REDUCERS","META_REDUCERS","_RESOLVED_META_REDUCERS","USER_RUNTIME_CHECKS","_USER_RUNTIME_CHECKS","ACTIVE_RUNTIME_CHECKS","_ACTION_TYPE_UNIQUENESS_CHECK","ROOT_STORE_PROVIDER","FEATURE_STATE_PROVIDER","combineReducers","reducers","reducerKeys","finalReducers","finalReducerKeys","previousStateForKey","nextStateForKey","composed","createReducerFactory","reducerFactory","metaReducers","ReducerObservable","ReducerManager","currentReducers","addFeature","addFeatures","reducerDict","createFeatureReducerFactory","addReducers","removeFeature","removeFeatures","removeReducers","addReducer","Ft","updateReducers","removeReducer","featureKey","featureKeys","omit","keyToRemove","En","REDUCER_MANAGER_PROVIDERS","SCANNED_ACTIONS_SUBJECT_PROVIDERS","State","reducer$","stateAndAction$","reduceState","stateActionPair","STATE_PROVIDERS","Store","actionsObserver","reducerManager","pathOrMapFn","STORE_PROVIDERS","propsOrPath","mapped$","pathSlices","pluck","currentProp","RUNTIME_CHECK_URL","isUndefined","isNull","isObjectLike","targetPrototype","_ngrxMockEnvironment","isEqualCheck","isArgumentsChanged","lastArguments","defaultMemoize","projectionFn","isArgumentsEqual","isResultEqual","overrideResult","lastResult","memoized","newResult","setResult","clearResult","createSelectorFactory","memoize","stateFn","defaultStateFn","projector","memoizedSelectors","release","memoizedProjector","memoizedState","featureName","featureState","isNgrxMockEnvironment","_createStoreReducers","_createFeatureStore","configs","featureStores","feat","_createFeatureReducers","reducerCollection","_initialStateFactory","_concatMetaReducers","userProvidedMetaReducers","targetIsFunction","propValue","isFrozen","getUnserializable","isNumber","isString","throwIfUnserializable","unserializable","unserializablePath","createActiveRuntimeChecks","strictStateSerializability","strictActionSerializability","strictActionWithinNgZone","strictActionTypeUniqueness","createSerializationCheckMetaReducer","serializationCheckMetaReducer","ignoreNgrxAction","createImmutabilityCheckMetaReducer","immutabilityCheckMetaReducer","act","createInNgZoneCheckMetaReducer","inNgZoneAssertMetaReducer","provideRuntimeChecks","_runtimeChecksFactory","checkForActionTypeUniqueness","_actionTypeUniquenessCheck","registrations","_provideStore","_provideState","featureNameOrSlice","StoreRootModule","scannedActions$","actionCheck","StoreFeatureModule","featureReducers","feats","ons","existingReducer","newReducer","none","childMatcher","childFirst","firstElementChild","EnterNode","datum","__data__","bindIndex","groupLength","bindKey","keyValue","nodeByKeyValue","ascending","space","attrRemove","attrRemoveNS","fullname","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","styleRemove","styleConstant","styleFunction","propertyRemove","propertyConstant","propertyFunction","ClassList","_names","classedAdd","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","previousSibling","creatorInherit","creatorFixed","constantNull","selection_cloneShallow","selection_cloneDeep","parseTypenames","typenames","typename","__on","onAdd","contextListener","CustomEvent","createEvent","initEvent","bubbles","detail","dispatchConstant","dispatchFunction","Selection","_groups","_parents","subgroups","subnode","subgroup","arrayAll","selectorAll","selectChild","childFind","selectChildren","childrenFilter","constant","enterGroup","updateGroup","exitGroup","_enter","_exit","sparse","onenter","onupdate","onexit","groups0","groups1","m0","merges","group0","group1","selection_selection","compareNode","sortgroups","sortgroup","getAttributeNS","classed","Dispatch","noevent","__noselect","yesdrag","noclick","extend","Color","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","hslConvert","hsl2rgb","displayable","formatHsl","color_formatHsl","darker","hsl","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","colors","genericArray","na","setTime","reA","reB","am","bm","bi","isNumberArray","DataView","numberArray","sourceEvent","currentTarget","ownerSVGElement","createSVGPoint","matrixTransform","getScreenCTM","clientLeft","clientTop","pageX","pageY","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","setFrame","clearNow","Timer","_call","_time","wake","timerFlush","nap","sleep","poke","emptyOn","emptyTween","timing","schedules","__transition","tween","ease","svgNode","degrees","translateY","skewX","scaleX","scaleY","atan2","atan","interpolateTransform","pxComma","pxParen","degParen","translate","xa","ya","xb","yb","interpolateTransformCss","parseCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","interpolateTransformSvg","parseSvg","baseVal","consolidate","tweenRemove","tween0","tween1","tweenFunction","tweenValue","interpolateNumber","interpolateRgb","interpolateString","interpolate","string00","interpolate0","string1","string0","string10","attrInterpolate","attrInterpolateNS","attrTweenNS","attrTween","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","onFunction","on0","on1","sit","styleInterpolate","styleTween","textInterpolate","textTween","Transition","newId","selection_prototype","inherit","id0","id1","styleNull","styleMaybeRemove","listener0","removeFunction","easeVarying","interrupt","defaultTiming","cubicInOut","BrushEvent","nopropagation","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","number1","number2","handles","xy","Y","cursors","nw","ne","se","sw","signsX","signsY","defaultFilter","defaultExtent","defaultTouchable","maxTouchPoints","__brush","extent","brush","dim","touchending","touchable","handleSize","redraw","started","touchmoved","touchended","clean","Emitter","n0","e0","e1","moving","lockX","lockY","signX","signY","dx","dy","shifting","pointer","point0","pts","beforestart","moved","keydowned","keyupped","dragDisable","dragEnable","selection0","selection1","starting","keyModifiers","ascendingComparator","center","e10","e5","e2","tickIncrement","LN10","tickStep","step0","step1","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","newInterval","floori","offseti","millisecond","minute","sunday","monday","tuesday","wednesday","thursday","friday","saturday","setMonth","utcMinute","setUTCSeconds","utcHour","setUTCMinutes","utcDay","setUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","utcYear","ticker","week","tickIntervals","bisector","ticks","utcTicks","utcTickInterval","utcWeek","timeTicks","timeTickInterval","localDate","utcDate","timeFormat","pads","numberRe","percentRe","requoteRe","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekNumberMonday","parseFullYear","parseYear","parseZone","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","defaultLocale","formatLocale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","locale_shortWeekdays","shortDays","locale_months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatPeriod","formatQuarter","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCPeriod","formatUTCQuarter","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseSpecifier","parsePeriod","parseLocaleDate","parseLocaleTime","newFormat","specifier","newParse","utcFormat","utcParse","ascendingBisect","bisectRight","bisect","bimap","domain","r0","polymap","unknown","transformer","untransform","piecewise","interpolateValue","rescale","clamper","rangeRound","interpolateRound","continuous","initRange","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickFormat","nice","x0","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","prefixExponent","formatSpecifier","FormatSpecifier","comma","precision","formatDecimalParts","toExponential","toPrecision","formatRounded","formatPrefix","grouping","thousands","formatGroup","currencyPrefix","currencySuffix","decimal","numerals","formatNumerals","nan","formatTypes","formatType","maybeSuffix","valuePrefix","valueNegative","formatTrim","precisionPrefix","precisionRound","precisionFixed","linearish","prestep","maxIter","ordinal","band","bandwidth","ordinalRange","paddingInner","paddingOuter","pointish","valueof","quickselect","sd","quantile","Float64Array","numbers","value0","quantileSorted","thresholds","invertExtent","quantiles","pi","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","arc","ccw","cw","Linear","curveLinear","defined0","lineStart","lineEnd","pointX","pointY","area","x0z","y0z","areaStart","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","_line","_point","halfPi","asin","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","startAngle","arcEndAngle","endAngle","arcPadAngle","padAngle","intersect","x3","y3","x10","y10","x32","y32","cornerTangents","ox","oy","x11","y11","x00","y00","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cornerRadius","padRadius","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","oc","bx","by","kc","lc","centroid","curveRadialLinear","curveRadial","Radial","_curve","radial","lineRadial","angle","_k","_x2","_y2","Cardinal","tension","cardinal","CardinalClosed","_x3","_x4","_x5","_y3","_y4","_y5","sortValues","descending","pie","sum","arcs","pa","sinInOut","ratio","squarify","squarifyRatio","sumValue","minValue","maxValue","newRatio","minRatio","dice","treemapDice","treemapSlice","constantZero","hierarchy","mapChildren","objectChildren","childs","eachBefore","computeHeight","copyData","eachAfter","leastCommonAncestor","aNodes","bNodes","leaves","node_copy","preroot","ambiguous","defaultId","defaultParentId","_r4","legendItem_r3","_r6","_r17","ctx_r16","_r22","ctx_r21","_r11","_r7","_r20","ctx_r22","ctx_r23","_r14","_r21","ctx_r20","_r26","ctx_r25","_r15","wait","later","leading","trailing","PlacementTypes","Top","Bottom","Center","elDimensions","popoverDimensions","alignment","PositionHelper","caretDimensions","popoverPosition","placement","spacing","elmDim","hostDim","calculateVerticalCaret","calculateHorizontalCaret","calculateVerticalAlignment","calculateHorizontalAlignment","shouldFlip","TooltipContentComponent","clz","nativeElm","checkFlip","positionContent","showCaret","positionCaret","caretElm","determinePlacement","onWindowResize","__decorate","throttleable","InjectionRegisteryService","injectionService","getByType","createByType","assignDefaults","injectComponent","compsByType","destroyAll","destroyByType","comps","appendComponent","InjectionService","applicationRef","globalRootViewContainer","getRootViewContainer","setRootViewContainer","getComponentRootNode","isViewContainerRef","getRootViewContainerNode","projectComponentBindings","bindingKeys","bindingName","eventKeys","componentClass","appendLocation","portalHost","TooltipService","LegendPosition","LegendType","ScaleType","Orientation","TextAnchor","StyleTypes","ShowTypes","Below","ScaleLegend","Legend","Ordinal","Quantile","ScaleLegendComponent","horizontal","gradientValues","gradientString","gradient","splits","pairs","formatLabel","toLocaleDateString","escapeLabel","LegendEntryComponent","trimmedLabel","formattedLabel","onMouseEnter","onMouseLeave","LegendComponent","labelClick","labelActivate","labelDeactivate","legendEntries","getLegendEntries","getColor","activeEntries","ChartComponent","showLegend","legendLabelClick","legendLabelActivate","legendLabelDeactivate","legendColumns","legendType","getLegendType","legendOptions","chartColumns","chartWidth","legendWidth","scaleType","VisibilityObserver","runCheck","onVisibilityChange","BaseChartComponent","chartElement","scheme","schemeType","bindWindowResizeEvent","visibilityObserver","unbindEvents","cloneData","dims","getContainerDims","hostElem","formatDates","series","seriesItem","seriesItemCopy","AxisLabelComponent","textHeight","textAnchor","orient","trimLabel","reduceTicks","maxTicks","reduced","Start","Middle","End","XAxisTicksComponent","tickArguments","tickStroke","trimTicks","maxTickLength","showGridLines","rotateTicks","dimensionsChanged","verticalSpacing","rotateLabels","innerTickSize","outerTickSize","tickPadding","maxTicksLength","maxAllowedLength","approxHeight","updateDims","ticksElement","getTicks","tickFormatting","getRotationAngle","adjustedScale","textTransform","tickLength","tickTrim","wordWidth","baseWidth","maxBaseWidth","getMaxTicks","maxScaleTicks","tickValues","tickWidth","tickTransform","gridLineTransform","XAxisComponent","xOrient","xAxisOffset","xAxisClassName","labelOffset","stroke","xAxisTickCount","emitTicksHeight","newLabelOffset","roundedRect","retval","YAxisTicksComponent","showRefLabels","showRefLines","referenceLineLength","getApproximateAxisWidth","tickSpacing","referenceLines","setReferencelines","refMin","refMax","referenceAreaPath","gridLineWidth","tickHeight","YAxisComponent","yOrient","yAxisOffset","yAxisClassName","yAxisTickCount","emitTicksWidth","AxesModule","popover","mouseover","TooltipDirective","tooltipService","tooltipCssClass","tooltipAppendToBody","tooltipSpacing","tooltipDisabled","tooltipShowCaret","tooltipPlacement","tooltipAlignment","tooltipType","tooltipCloseOnClickOutside","tooltipCloseOnMouseLeave","tooltipHideTimeout","tooltipShowTimeout","tooltipShowEvent","tooltipImmediateExit","listensForFocus","listensForHover","hideTooltip","onFocus","showTooltip","onBlur","onMouseClick","immediate","createBoundOptions","addHideListeners","mouseEnterContentEvent","mouseLeaveContentEvent","documentClickEvent","destroyFn","tooltipTitle","tooltipTemplate","tooltipContext","TooltipModule","BarOrientation","SeriesType","ClassEnum","Vertical","Horizontal","SvgLinearGradientComponent","CircleComponent","Standard","Stacked","CircleSeriesComponent","barVisible","barOrientation","placementTypes","styleTypes","isSSR","gradientId","gradientFill","circle","getActiveCircle","indexActiveDataPoint","visibleValue","mapDataPointToCircle","seriesName","tooltipLabel","xScale","yScale","gradientStops","getGradientStops","getTooltipText","getTooltipMinMaxText","activateCircle","deactivateCircle","GridPanelComponent","Odd","Even","GridPanelSeriesComponent","gridPanels","getGridPanels","SvgRadialGradientComponent","endOpacity","stops","stopsInput","stopsDefault","startOpacity","AreaComponent","animationsLoaded","hasGradient","loadAnimation","getGradient","updatePathEl","areaPath","startingPath","easeOutExpo","countFrom","countTo","countDecimals","countDuration","startVal","endVal","countDown","dec","runCount","frameVal","decimalChecker","CountUpDirective","countPrefix","countSuffix","countChange","countFinish","_countDecimals","_countTo","_countFrom","animationReq","valueFormatting","MouseEvent","createMouseEvent","TooltipArea","anchorOpacity","anchorPos","anchorValues","showPercentage","getValues","xVal","groupName","mouseMove","xPos","closestIndex","findClosestPointIndex","closestPoint","xSet","lastAnchorPos","tooltipAnchor","minIndex","maxIndex","minDiff","curDiff","getToolTipText","tooltipItem","_c18","Timeline","onDomainChange","addBrush","getDims","xDomain","getXDomain","getXScale","updateBrush","filterId","scaleTime","scaleLinear","scalePoint","brushX","newDomain","AdvancedLegendComponent","legendItems","labelFormatting","percentageFormatting","defaultValueFormatting","getTotal","roundedTotal","getLegendItems","displayLabel","origialLabel","ChartCommonModule","calculateViewDimensions","showXAxis","showYAxis","xAxisHeight","yAxisWidth","showXLabel","showYLabel","legendPosition","chartHeight","colorSets","ColorHelper","customColors","colorDomain","generateColorScheme","colorScale","scaleQuantile","scaleOrdinal","valueScale","formattedValue","getLinearGradientStops","colorValueScale","scaleBand","endColor","startColor","originalOffset","getUniqueXDomainValues","valueSet","getScaleType","checkDateType","sortLinear","sortByDomain","aVal","bVal","aIdx","bIdx","sortByTime","aDate","bDate","AreaSeriesComponent","baseValue","stacked","currentArea","startingArea","updateGradient","xProperty","d0values","d1values","isInactive","AreaChartComponent","legend","legendTitle","xAxis","yAxis","autoScale","trimXAxisTicks","trimYAxisTicks","rotateXAxisTicks","maxXAxisTickLength","maxYAxisTickLength","roundDomains","timelineHeight","timelinePadding","showXAxisLabel","showYAxisLabel","filteredDomain","yDomain","getYDomain","seriesDomain","getSeriesDomain","getYScale","updateTimeline","setColors","getLegendOptions","clipPathId","clipPath","timelineWidth","timelineXDomain","timelineXScale","timelineYScale","timelineTransform","xScaleMin","xScaleMax","yScaleMin","yScaleMax","updateDomain","updateHoveredVertical","hoveredVertical","hideCircles","updateYAxisWidth","updateXAxisHeight","onActivate","onDeactivate","AreaChartNormalizedComponent","seriesType","AreaChartStackedComponent","AreaChartModule","BarComponent","roundEdges","noBarWhenZero","hideBar","checkToHideBar","getStartingPath","getPath","getStartOpacity","getRadius","edges","BarChartType","D0Types","Normalized","BarLabelComponent","horizontalPadding","verticalPadding","getSize","formatedValue","barX","barWidth","barY","barHeight","SeriesHorizontal","showDataLabel","dataLabelWidthChanged","barsForDataLabels","updateTooltipSettings","d0Type","bars","bar","offset0","offset1","tooltipText","dataLabelFormatting","updateDataLabels","totalPositive","totalNegative","dataItem","trackDataLabelBy","barLabel","BarHorizontalComponent","barPadding","dataLabelMaxWidth","onDataLabelMaxWidthChanged","fromLegend","BarHorizontal2DComponent","groupPadding","groupDomain","getGroupDomain","innerDomain","getInnerDomain","valueDomain","getValueDomain","groupScale","getGroupScale","getInnerScale","getValueScale","groupTransform","groupIndex","flat","BarHorizontalNormalizedComponent","barChartType","BarHorizontalStackedComponent","smallest","biggest","smallestSum","biggestSum","SeriesVerticalComponent","dataLabelHeightChanged","BarVerticalComponent","dataLabelMaxHeight","yAxisTicks","onDataLabelMaxHeightChanged","BarVertical2DComponent","BarVerticalNormalizedComponent","BarVerticalStackedComponent","BarChartModule","BoxComponent","boxStrokeWidth","whiskerStrokeWidth","medianLineWidth","updateLineEl","maskLineId","maskLine","boxPath","oldPath","oldLineCoordinates","getStartingLineCoordinates","nodeBar","easeSinInOut","pathTween","lineEl","lineCoordinates","lineTween","path0","path1","getTotalLength","distances","dt","getPointAtLength","BoxSeriesComponent","counts","mappedCounts","serie","whiskers","groupCounts","quartiles","getBoxQuantiles","getLinesCoordinates","box","formattedTooltipLabel","whiskerLineWidth","whiskerZero","whiskerOne","median","BoxChartComponent","strokeColor","setScales","getUniqueBoxChartXDomainValues","mappedValues","legendOpts","BoxChartModule","getDomain","minVal","maxVal","BubbleSeriesComponent","circles","getCircles","rScale","xScaleType","yScaleType","hasRadius","hasTooltipLabel","hasSeriesName","radiusValue","xAxisLabel","yAxisLabel","BubbleChartComponent","maxRadius","minRadius","bubblePadding","rDomain","getRDomain","getRScale","getBubblePadding","yMin","xMin","yMax","xMax","BubbleChartModule","HeatMapCellComponent","gradientUrl","animateToCurrentForm","HeatCellSeriesComponent","cells","getCells","HeatMapComponent","innerPadding","rects","getRects","getDimension","yVal","HeatMapModule","LineComponent","initialPath","strokeDasharray","strokeDashoffset","LineSeriesComponent","updateGradients","lineGen","getLineGenerator","areaGen","getAreaGenerator","hasRange","getRangeGenerator","outerPath","areaGradientStops","LineChartComponent","LineChartModule","PieLabelComponent","labelTrim","labelTrimSize","setTransforms","styleTransform","textX","textY","attrTransform","textTransition","isIE","startRadius","explodeSlices","innerPos","outerPos","midAngle","PolarSeriesComponent","circleRadius","linearScaleType","seriesColor","getAngle","defaultTooltipText","twoPI","PolarChartComponent","curveCardinalClosed","rangeFillOpacity","showSeriesOnHover","yAxisMinScale","setDims","setTicks","halfWidth","halfHeight","yOffset","yAxisDims","transformYAxis","transformPlot","xValues","getXValues","yAxisScale","xAxisTickFormatting","thetaTicks","startPos","radiusTicks","getYValues","PieArcComponent","dblclick","getPointerEvents","calculateArc","radialGradientId","updateAnimation","_current","copyOfD","interpolater","_timeout","onDblClick","nativeEvent","PieSeriesComponent","trimLabels","maxLabelLength","arcData","calculateLabelPositions","outerArc","pieData","labelPositions","labelVisible","minDistance","myArc","showLabels","getTooltipTitle","labelText","AdvancedPieChartComponent","PieChartComponent","doughnut","arcWidth","hasNoOptionalMarginsSet","translation","gridSize","gridLayout","designatedTotal","cardWidth","cardHeight","PieGridSeriesComponent","getArcs","PieGridComponent","getSeries","baselineLabelHeight","PieChartModule","PolarChartModule","calculateTextWidth","fontFamilyKey","defaultWidth","VERDANA_FONT_WIDTHS_16_PX","F","O","P","$","CardComponent","textFontSize","bandHeight","textPadding","labelFontSize","scaleTextSSR","card","textWidth","cardData","transformBand","paddedValue","setPadding","bandPath","scaleText","medianSize","decs","textEl","resizeScale","invertColor","d3_color","shadeRGBColor","_c45","CardSeriesComponent","emptyColor","sortedLengths","cards","getCards","emptySlots","yPadding","xPadding","valueColor","cardColor","bandColor","textColor","NumberCardComponent","clickable","NumberCardModule","TreeMapCellComponent","cellData","getTextColor","TreeMapCellSeriesComponent","TreeMapComponent","treemap","paddingStack","paddingTop","paddingBottom","positionNode","roundNode","stratify","nodeKey","nodeByKey","TreeMapModule","ElementType","Value","Units","LinearGaugeComponent","valueResizeScale","unitsResizeScale","valueTextTransform","valueTranslate","unitsTextTransform","unitsTranslate","hasPreviousValue","getDisplayValue","transformLine","valueTextEl","unitsTextEl","oldScale","resizeScaleWidth","resizeScaleHeight","_c50","_c51","GaugeArcComponent","GaugeAxisComponent","rotationAngle","bigTickSegment","angleSpan","bigSegments","smallTickSegment","smallSegments","big","small","startDistance","textDist","angleDeg","getTextAnchor","getTickPath","smallAngle","GaugeComponent","showAxis","showText","rotation","availableRadius","radiusPerArc","textRadius","backgroundArc","valueArc","dataMin","dataMax","availableSpace","GaugeModule","ngxChartsPolyfills","SVGElement","HTMLDivElement","validColorRegex","QrCodeDirective","DEFAULT_ERROR_CORRECTION_LEVEL","darkColor","lightColor","asyncGeneratorStep","_asyncToGenerator","qrcode","centerImageSrc","centerImageWidth","getIntOrDefault","DEFAULT_CENTER_IMAGE_SIZE","centerImageHeight","centerImage","Image","onload","drawImage","QrCodeComponent","elMatches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","queryChildren","thumb","rail","consuming","clicking","scrolling","scrollingClassTimeout","addScrollingClass","removeScrollingClass","isAlive","scrollingThreshold","EventElement","handlers","prototypeAccessors","unbind","this$1","unbindAll","eventElements","initCustomEvent","processScrollDiff","useScrollingClass","forceFireReachEvent","fields","processScrollDiff$1","contentHeight","containerHeight","up","down","reach","setScrollingClassInstantly","toInt","eventElement","onceHandler","env","isWebKit","supportsTouch","DocumentTouch","supportsIePointer","msMaxTouchPoints","isChrome","updateGeometry","roundedScrollTop","contentWidth","scrollbarXRail","scrollbarYRail","scrollXMarginOffset","scrollbarXActive","railXWidth","railXMarginWidth","railXRatio","scrollbarXWidth","getThumbSize","scrollbarXLeft","negativeScrollAdjustment","scrollYMarginOffset","scrollbarYActive","railYHeight","railYMarginHeight","railYRatio","scrollbarYHeight","scrollbarYTop","updateCss","xRailOffset","isScrollbarXUsingBottom","scrollbarXBottom","scrollbarXTop","yRailOffset","isScrollbarYUsingRight","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarX","railBorderXWidth","scrollbarY","railBorderYWidth","thumbSize","minScrollbarLength","maxScrollbarLength","bindMouseScrollHandler","startingScrollTop","startingMousePageY","scrollBy","mouseMoveHandler","mouseUpHandler","bindMoves","touchMode","clickRail","dragThumb","keyboard","isDefaultPrevented","defaultPrevented","contentDocument","isEditable","deltaX","deltaY","which","shouldPreventDefault","wheelPropagation","wheel","mousewheelHandler","getDeltaFromEvent","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","shouldBeConsumedByChild","overflowY","maxScrollTop","overflowX","maxScrollLeft","shouldPrevent","useBothWheelAxes","wheelSpeed","isTop","isBottom","onwheel","onmousewheel","startOffset","speed","easingLoop","touchStart","touchMove","touchEnd","PointerEvent","MSPointerEvent","applyTouchMove","differenceX","differenceY","getTouch","targetTouches","shouldHandle","pointerType","MSPOINTER_TYPE_MOUSE","currentOffset","timeGap","magnitudeX","magnitudeY","swipeEasing","isInitialized","PerfectScrollbar","userSettings","originalScrollLeft","isNegativeScroll","railXStyle","borderLeftWidth","borderRightWidth","railYStyle","outerWidth","borderTopWidth","borderBottomWidth","handlerName","lastScrollTop","lastScrollLeft","removePsClasses","MapShim","getIndex","class_1","__entries__","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","connect_","removeObserver","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","getBordersSize","getHTMLElementContentRect","paddings","getPaddings","positions_1","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","getBBox","getContentRect","getSVGContentRect","bbox","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","createReadOnlyRect","Constr","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","Geometry","PerfectScrollbarEvents","PerfectScrollbarConfig","PerfectScrollbarDirective","configDiff","ngDestroy","psScrollY","psScrollX","psScrollUp","psScrollDown","psScrollLeft","psScrollRight","psYReachEnd","psYReachStart","psXReachEnd","psXReachStart","eventType","geometry","absolute","animateScrolling","scrollToX","scrollToY","scrollToTop","scrollToLeft","scrollToRight","scrollToBottom","elementPos","scrollerPos","currentPos","scrollCount","oldTimestamp","cosParameter","newTimestamp","PerfectScrollbarComponent","cdRef","indicatorX","indicatorY","interaction","scrollPositionX","scrollPositionY","scrollDirectionX","scrollDirectionY","usePropagationX","usePropagationY","allowPropagationX","allowPropagationY","stateTimeout","stateUpdate","usePSClass","autoPropagation","scrollIndicators","directiveRef","scrollDeltaX","scrollDeltaY","checkPropagation","ForceNativeScrollDirective"],"sourceRoot":"webpack:///","sources":["./src/app/cln/store/cln.actions.ts","./src/app/cln/store/cln.effects.ts","./src/app/cln/store/cln.selector.ts","./src/app/cln/transactions/invoices/invoice-information-modal/invoice-information.component.html","./src/app/cln/transactions/invoices/invoice-information-modal/invoice-information.component.ts","./src/app/cln/transactions/offers/offer-information-modal/offer-information.component.html","./src/app/cln/transactions/offers/offer-information-modal/offer-information.component.ts","./src/app/eclair/store/ecl.actions.ts","./src/app/eclair/store/ecl.effects.ts","./src/app/eclair/store/ecl.selector.ts","./src/app/eclair/transactions/invoice-information-modal/invoice-information.component.html","./src/app/eclair/transactions/invoice-information-modal/invoice-information.component.ts","./src/app/lnd/store/lnd.actions.ts","./src/app/lnd/store/lnd.effects.ts","./src/app/lnd/store/lnd.selector.ts","./src/app/lnd/transactions/invoice-information-modal/invoice-information.component.html","./src/app/lnd/transactions/invoice-information-modal/invoice-information.component.ts","./src/app/shared/animation/opacity-animation.ts","./src/app/shared/animation/route-animation.ts","./src/app/shared/animation/slider-animation.ts","./src/app/shared/components/data-modal/error-message/error-message.component.html","./src/app/shared/components/data-modal/error-message/error-message.component.ts","./src/app/shared/components/ln-services/loop/loop-quote/loop-quote.component.html","./src/app/shared/components/ln-services/loop/loop-quote/loop-quote.component.ts","./src/app/shared/components/ln-services/loop/loop-status/loop-status.component.html","./src/app/shared/components/ln-services/loop/loop-status/loop-status.component.ts","./src/app/shared/components/ln-services/loop/loop-in-info-graphics/info-graphics.component.html","./src/app/shared/components/ln-services/loop/loop-in-info-graphics/info-graphics.component.ts","./src/app/shared/components/ln-services/loop/loop-out-info-graphics/info-graphics.component.html","./src/app/shared/components/ln-services/loop/loop-out-info-graphics/info-graphics.component.ts","./src/app/shared/components/ln-services/loop/loop-modal/loop-modal.component.html","./src/app/shared/components/ln-services/loop/loop-modal/loop-modal.component.ts","./src/app/shared/components/not-found/not-found.component.ts","./src/app/shared/components/not-found/not-found.component.html","./src/app/shared/directive/auto-focus.directive.ts","./src/app/shared/directive/clipboard.directive.ts","./src/app/shared/directive/max-amount.directive.ts","./src/app/shared/directive/min-amount.directive.ts","./src/app/shared/pipes/app.pipe.ts","./src/app/shared/services/auth.guard.ts","./src/app/shared/services/common.service.ts","./src/app/shared/services/consts-enums-functions.ts","./src/app/shared/services/data.service.ts","./src/app/shared/services/logger.service.ts","./src/app/shared/services/loop.service.ts","./src/app/shared/services/session.service.ts","./node_modules/rxjs/dist/esm/internal/observable/dom/WebSocketSubject.js","./src/app/shared/services/web-socket.service.ts","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-grid.mjs","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout.mjs","./node_modules/@angular/material/fesm2020/button-toggle.mjs","./node_modules/@angular/material/fesm2020/slider.mjs","./src/app/shared/theme/overlay-container/theme-overlay.ts","./src/app/shared/shared.module.ts","./src/app/store/rtl.actions.ts","./src/app/shared/components/data-modal/spinner-dialog/spinner-dialog.component.ts","./src/app/shared/components/data-modal/spinner-dialog/spinner-dialog.component.html","./src/app/shared/components/data-modal/alert-message/alert-message.component.html","./src/app/shared/components/data-modal/alert-message/alert-message.component.ts","./src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.html","./src/app/shared/components/data-modal/confirmation-message/confirmation-message.component.ts","./src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.html","./src/app/shared/components/data-modal/show-pubkey/show-pubkey.component.ts","./src/app/store/rtl.effects.ts","./src/app/store/rtl.selector.ts","./src/environments/environment.prod.ts","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/rxjs/dist/esm/internal/observable/interval.js","./node_modules/angular-user-idle/fesm2020/angular-user-idle.mjs","./node_modules/rxjs/dist/esm/internal/operators/bufferTime.js","./src/app/shared/components/settings/settings.component.html","./src/app/shared/components/settings/settings.component.ts","./src/app/shared/components/settings/app-settings/app-settings.component.html","./src/app/shared/components/settings/app-settings/app-settings.component.ts","./src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.html","./src/app/shared/components/data-modal/two-factor-auth/two-factor-auth.component.ts","./src/app/shared/components/settings/auth-settings/auth-settings.component.html","./src/app/shared/components/settings/auth-settings/auth-settings.component.ts","./src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.html","./src/app/shared/components/settings/bitcoin-config/bitcoin-config.component.ts","./src/app/shared/components/data-modal/is-authorized/is-authorized.component.html","./src/app/shared/components/data-modal/is-authorized/is-authorized.component.ts","./src/app/shared/components/node-config/node-config.component.html","./src/app/shared/components/node-config/node-config.component.ts","./src/app/shared/components/node-config/lnp-config/lnp-config.component.html","./src/app/shared/components/node-config/lnp-config/lnp-config.component.ts","./src/app/shared/components/node-config/node-settings/node-settings.component.html","./src/app/shared/components/node-config/node-settings/node-settings.component.ts","./src/app/shared/components/node-config/page-settings/page-settings.component.html","./src/app/shared/components/node-config/page-settings/page-settings.component.ts","./src/app/shared/components/node-config/services-settings/services-settings.component.html","./src/app/shared/components/node-config/services-settings/services-settings.component.ts","./src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.html","./src/app/shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component.ts","./src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.html","./src/app/shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component.ts","./src/app/shared/components/ln-services/ln-services.component.ts","./src/app/shared/components/ln-services/ln-services.component.html","./src/app/shared/components/ln-services/loop/swaps/swaps.component.html","./src/app/shared/components/ln-services/loop/swaps/swaps.component.ts","./src/app/shared/components/ln-services/loop/loop.component.html","./src/app/shared/components/ln-services/loop/loop.component.ts","./src/app/shared/services/boltz.service.ts","./src/app/shared/components/ln-services/boltz/swap-status/swap-status.component.html","./src/app/shared/components/ln-services/boltz/swap-status/swap-status.component.ts","./src/app/shared/components/ln-services/boltz/swap-service-info/swap-service-info.component.ts","./src/app/shared/components/ln-services/boltz/swap-service-info/swap-service-info.component.html","./src/app/shared/components/ln-services/boltz/swap-in-info-graphics/info-graphics.component.html","./src/app/shared/components/ln-services/boltz/swap-in-info-graphics/info-graphics.component.ts","./src/app/shared/components/ln-services/boltz/swap-out-info-graphics/info-graphics.component.html","./src/app/shared/components/ln-services/boltz/swap-out-info-graphics/info-graphics.component.ts","./src/app/shared/components/ln-services/boltz/swap-modal/swap-modal.component.html","./src/app/shared/components/ln-services/boltz/swap-modal/swap-modal.component.ts","./src/app/shared/components/ln-services/boltz/swaps/swaps.component.html","./src/app/shared/components/ln-services/boltz/swaps/swaps.component.ts","./src/app/shared/components/ln-services/boltz/boltz-root.component.html","./src/app/shared/components/ln-services/boltz/boltz-root.component.ts","./src/app/shared/models/RTLconfig.ts","./src/app/shared/components/help/help.component.html","./src/app/shared/components/help/help.component.ts","./src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.html","./src/app/shared/components/data-modal/login-2fa-token/login-2fa-token.component.ts","./src/app/shared/components/login/login.component.html","./src/app/shared/components/login/login.component.ts","./src/app/shared/components/error/error.component.ts","./src/app/shared/components/error/error.component.html","./src/app/shared/components/node-config/experimental-settings/experimental-settings.component.html","./src/app/shared/components/node-config/experimental-settings/experimental-settings.component.ts","./src/app/app.routing.ts","./src/app/shared/models/navMenu.ts","./src/app/shared/components/navigation/side-navigation/side-navigation.component.html","./src/app/shared/components/navigation/side-navigation/side-navigation.component.ts","./src/app/shared/components/navigation/top-menu/top-menu.component.html","./src/app/shared/components/navigation/top-menu/top-menu.component.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/shared/services/auth.interceptor.ts","./src/app/store/rtl.state.ts","./src/app/store/rtl.reducers.ts","./src/app/lnd/store/lnd.state.ts","./src/app/lnd/store/lnd.reducers.ts","./src/app/cln/store/cln.state.ts","./src/app/cln/store/cln.reducers.ts","./src/app/eclair/store/ecl.state.ts","./src/app/eclair/store/ecl.reducers.ts","./src/app/app.module.ts","./src/main.ts","./node_modules/@otplib/core/index.js","./node_modules/@otplib/plugin-crypto/index.js","./node_modules/@otplib/plugin-thirty-two/index.js","./node_modules/@otplib/preset-default/index.js","./node_modules/asn1.js/lib/asn1.js","./node_modules/asn1.js/lib/asn1/api.js","./node_modules/asn1.js/lib/asn1/base/buffer.js","./node_modules/asn1.js/lib/asn1/base/index.js","./node_modules/asn1.js/lib/asn1/base/node.js","./node_modules/asn1.js/lib/asn1/base/reporter.js","./node_modules/asn1.js/lib/asn1/constants/der.js","./node_modules/asn1.js/lib/asn1/constants/index.js","./node_modules/asn1.js/lib/asn1/decoders/der.js","./node_modules/asn1.js/lib/asn1/decoders/index.js","./node_modules/asn1.js/lib/asn1/decoders/pem.js","./node_modules/asn1.js/lib/asn1/encoders/der.js","./node_modules/asn1.js/lib/asn1/encoders/index.js","./node_modules/asn1.js/lib/asn1/encoders/pem.js","./node_modules/create-ecdh/node_modules/bn.js/lib/bn.js","./node_modules/base64-js/index.js","./node_modules/bn.js/lib/bn.js","./node_modules/brorand/index.js","./node_modules/browserify-aes/aes.js","./node_modules/browserify-aes/authCipher.js","./node_modules/browserify-aes/browser.js","./node_modules/browserify-aes/decrypter.js","./node_modules/browserify-aes/encrypter.js","./node_modules/browserify-aes/ghash.js","./node_modules/browserify-aes/incr32.js","./node_modules/browserify-aes/modes/cbc.js","./node_modules/browserify-aes/modes/cfb.js","./node_modules/browserify-aes/modes/cfb1.js","./node_modules/browserify-aes/modes/cfb8.js","./node_modules/browserify-aes/modes/ctr.js","./node_modules/browserify-aes/modes/ecb.js","./node_modules/browserify-aes/modes/index.js","./node_modules/browserify-aes/modes/ofb.js","./node_modules/browserify-aes/streamCipher.js","./node_modules/browserify-cipher/browser.js","./node_modules/browserify-des/index.js","./node_modules/browserify-des/modes.js","./node_modules/browserify-rsa/index.js","./node_modules/browserify-sign/algos.js","./node_modules/browserify-sign/browser/index.js","./node_modules/browserify-sign/browser/sign.js","./node_modules/browserify-sign/browser/verify.js","./node_modules/buffer-xor/index.js","./node_modules/buffer/index.js","./node_modules/cipher-base/index.js","./node_modules/clone-deep/index.js","./node_modules/convert-hex/convert-hex.js","./node_modules/convert-string/convert-string.js","./node_modules/create-ecdh/browser.js","./node_modules/create-hash/browser.js","./node_modules/create-hash/md5.js","./node_modules/create-hmac/browser.js","./node_modules/create-hmac/legacy.js","./node_modules/crypto-browserify/index.js","./node_modules/des.js/lib/des.js","./node_modules/des.js/lib/des/cbc.js","./node_modules/des.js/lib/des/cipher.js","./node_modules/des.js/lib/des/des.js","./node_modules/des.js/lib/des/ede.js","./node_modules/des.js/lib/des/utils.js","./node_modules/diffie-hellman/browser.js","./node_modules/diffie-hellman/lib/dh.js","./node_modules/diffie-hellman/lib/generatePrime.js","./node_modules/dijkstrajs/dijkstra.js","./node_modules/elliptic/lib/elliptic.js","./node_modules/elliptic/lib/elliptic/curve/base.js","./node_modules/elliptic/lib/elliptic/curve/edwards.js","./node_modules/elliptic/lib/elliptic/curve/index.js","./node_modules/elliptic/lib/elliptic/curve/mont.js","./node_modules/elliptic/lib/elliptic/curve/short.js","./node_modules/elliptic/lib/elliptic/curves.js","./node_modules/elliptic/lib/elliptic/ec/index.js","./node_modules/elliptic/lib/elliptic/ec/key.js","./node_modules/elliptic/lib/elliptic/ec/signature.js","./node_modules/elliptic/lib/elliptic/eddsa/index.js","./node_modules/elliptic/lib/elliptic/eddsa/key.js","./node_modules/elliptic/lib/elliptic/eddsa/signature.js","./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","./node_modules/elliptic/lib/elliptic/utils.js","./node_modules/encode-utf8/index.js","./node_modules/events/events.js","./node_modules/evp_bytestokey/index.js","./node_modules/hash-base/index.js","./node_modules/hash.js/lib/hash.js","./node_modules/hash.js/lib/hash/common.js","./node_modules/hash.js/lib/hash/hmac.js","./node_modules/hash.js/lib/hash/ripemd.js","./node_modules/hash.js/lib/hash/sha.js","./node_modules/hash.js/lib/hash/sha/1.js","./node_modules/hash.js/lib/hash/sha/224.js","./node_modules/hash.js/lib/hash/sha/256.js","./node_modules/hash.js/lib/hash/sha/384.js","./node_modules/hash.js/lib/hash/sha/512.js","./node_modules/hash.js/lib/hash/sha/common.js","./node_modules/hash.js/lib/hash/utils.js","./node_modules/hmac-drbg/lib/hmac-drbg.js","./node_modules/ieee754/index.js","./node_modules/inherits/inherits_browser.js","./node_modules/is-plain-object/index.js","./node_modules/isobject/index.js","./node_modules/kind-of/index.js","./node_modules/md5.js/index.js","./node_modules/miller-rabin/lib/mr.js","./node_modules/minimalistic-assert/index.js","./node_modules/minimalistic-crypto-utils/lib/utils.js","./node_modules/otplib/index.js","./node_modules/parse-asn1/asn1.js","./node_modules/parse-asn1/certificate.js","./node_modules/parse-asn1/fixProc.js","./node_modules/parse-asn1/index.js","./node_modules/pbkdf2/browser.js","./node_modules/pbkdf2/lib/async.js","./node_modules/pbkdf2/lib/default-encoding.js","./node_modules/pbkdf2/lib/precondition.js","./node_modules/pbkdf2/lib/sync-browser.js","./node_modules/pbkdf2/lib/to-buffer.js","./node_modules/public-encrypt/browser.js","./node_modules/public-encrypt/mgf.js","./node_modules/public-encrypt/privateDecrypt.js","./node_modules/public-encrypt/publicEncrypt.js","./node_modules/public-encrypt/withPublic.js","./node_modules/public-encrypt/xor.js","./node_modules/qrcode/lib/browser.js","./node_modules/qrcode/lib/can-promise.js","./node_modules/qrcode/lib/core/alignment-pattern.js","./node_modules/qrcode/lib/core/alphanumeric-data.js","./node_modules/qrcode/lib/core/bit-buffer.js","./node_modules/qrcode/lib/core/bit-matrix.js","./node_modules/qrcode/lib/core/byte-data.js","./node_modules/qrcode/lib/core/error-correction-code.js","./node_modules/qrcode/lib/core/error-correction-level.js","./node_modules/qrcode/lib/core/finder-pattern.js","./node_modules/qrcode/lib/core/format-info.js","./node_modules/qrcode/lib/core/galois-field.js","./node_modules/qrcode/lib/core/kanji-data.js","./node_modules/qrcode/lib/core/mask-pattern.js","./node_modules/qrcode/lib/core/mode.js","./node_modules/qrcode/lib/core/numeric-data.js","./node_modules/qrcode/lib/core/polynomial.js","./node_modules/qrcode/lib/core/qrcode.js","./node_modules/qrcode/lib/core/reed-solomon-encoder.js","./node_modules/qrcode/lib/core/regex.js","./node_modules/qrcode/lib/core/segments.js","./node_modules/qrcode/lib/core/utils.js","./node_modules/qrcode/lib/core/version-check.js","./node_modules/qrcode/lib/core/version.js","./node_modules/qrcode/lib/renderer/canvas.js","./node_modules/qrcode/lib/renderer/svg-tag.js","./node_modules/qrcode/lib/renderer/utils.js","./node_modules/randombytes/browser.js","./node_modules/randomfill/browser.js","./node_modules/readable-stream/errors-browser.js","./node_modules/readable-stream/lib/_stream_duplex.js","./node_modules/readable-stream/lib/_stream_passthrough.js","./node_modules/readable-stream/lib/_stream_readable.js","./node_modules/readable-stream/lib/_stream_transform.js","./node_modules/readable-stream/lib/_stream_writable.js","./node_modules/readable-stream/lib/internal/streams/async_iterator.js","./node_modules/readable-stream/lib/internal/streams/buffer_list.js","./node_modules/readable-stream/lib/internal/streams/destroy.js","./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","./node_modules/readable-stream/lib/internal/streams/from-browser.js","./node_modules/readable-stream/lib/internal/streams/pipeline.js","./node_modules/readable-stream/lib/internal/streams/state.js","./node_modules/readable-stream/lib/internal/streams/stream-browser.js","./node_modules/readable-stream/readable-browser.js","./node_modules/ripemd160/index.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/queue.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/safe-buffer/index.js","./node_modules/safer-buffer/safer.js","./node_modules/sha.js/hash.js","./node_modules/sha.js/index.js","./node_modules/sha.js/sha.js","./node_modules/sha.js/sha1.js","./node_modules/sha.js/sha224.js","./node_modules/sha.js/sha256.js","./node_modules/sha.js/sha384.js","./node_modules/sha.js/sha512.js","./node_modules/sha256/lib/sha256.js","./node_modules/shallow-clone/index.js","./node_modules/stream-browserify/index.js","./node_modules/string_decoder/lib/string_decoder.js","./node_modules/thirty-two/lib/thirty-two/index.js","./node_modules/thirty-two/lib/thirty-two/thirty-two.js","./node_modules/util-deprecate/browser.js","./node_modules/tslib/tslib.es6.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/cdk/fesm2020/a11y.mjs","./node_modules/@angular/cdk/fesm2020/bidi.mjs","./node_modules/@angular/cdk/fesm2020/coercion.mjs","./node_modules/@angular/cdk/fesm2020/collections.mjs","./node_modules/@angular/cdk/fesm2020/keycodes.mjs","./node_modules/@angular/cdk/fesm2020/layout.mjs","./node_modules/@angular/cdk/fesm2020/observers.mjs","./node_modules/@angular/cdk/fesm2020/overlay.mjs","./node_modules/@angular/cdk/fesm2020/platform.mjs","./node_modules/@angular/cdk/fesm2020/portal.mjs","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/@angular/cdk/fesm2020/scrolling.mjs","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/@angular/cdk/fesm2020/stepper.mjs","./node_modules/@angular/cdk/fesm2020/tree.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-_private-utils.mjs","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-core.mjs","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-extended.mjs","./node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-flex.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/material/fesm2020/autocomplete.mjs","./node_modules/@angular/material/fesm2020/badge.mjs","./node_modules/@angular/material/fesm2020/button.mjs","./node_modules/@angular/material/fesm2020/card.mjs","./node_modules/@angular/material/fesm2020/checkbox.mjs","./node_modules/@angular/material/fesm2020/chips.mjs","./node_modules/@angular/cdk/fesm2020/cdk.mjs","./node_modules/@angular/material/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/datepicker.mjs","./node_modules/@angular/cdk/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/divider.mjs","./node_modules/@angular/cdk/fesm2020/accordion.mjs","./node_modules/@angular/material/fesm2020/expansion.mjs","./node_modules/@angular/material/fesm2020/form-field.mjs","./node_modules/@angular/material/fesm2020/grid-list.mjs","./node_modules/@angular/material/fesm2020/icon.mjs","./node_modules/@angular/cdk/fesm2020/text-field.mjs","./node_modules/@angular/material/fesm2020/input.mjs","./node_modules/@angular/material/fesm2020/list.mjs","./node_modules/@angular/material/fesm2020/menu.mjs","./node_modules/@angular/material/fesm2020/paginator.mjs","./node_modules/@angular/material/fesm2020/progress-bar.mjs","./node_modules/@angular/material/fesm2020/progress-spinner.mjs","./node_modules/@angular/material/fesm2020/radio.mjs","./node_modules/@angular/material/fesm2020/select.mjs","./node_modules/@angular/material/fesm2020/sidenav.mjs","./node_modules/@angular/material/fesm2020/slide-toggle.mjs","./node_modules/@angular/material/fesm2020/snack-bar.mjs","./node_modules/@angular/material/fesm2020/sort.mjs","./node_modules/@angular/material/fesm2020/stepper.mjs","./node_modules/@angular/cdk/fesm2020/table.mjs","./node_modules/@angular/material/fesm2020/table.mjs","./node_modules/@angular/material/fesm2020/tabs.mjs","./node_modules/@angular/material/fesm2020/toolbar.mjs","./node_modules/@angular/material/fesm2020/tooltip.mjs","./node_modules/@angular/material/fesm2020/tree.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/@fortawesome/fontawesome-svg-core/index.mjs","./node_modules/@fortawesome/angular-fontawesome/fesm2020/angular-fontawesome.mjs","./node_modules/@fortawesome/free-solid-svg-icons/index.mjs","./node_modules/rxjs/dist/esm/internal/Notification.js","./node_modules/rxjs/dist/esm/internal/operators/groupBy.js","./node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js","./node_modules/@ngrx/effects/fesm2020/ngrx-effects.mjs","./node_modules/rxjs/dist/esm/internal/operators/materialize.js","./node_modules/rxjs/dist/esm/internal/operators/dematerialize.js","./node_modules/@ngrx/store-devtools/fesm2020/ngrx-store-devtools.mjs","./node_modules/@ngrx/store/fesm2020/ngrx-store.mjs","./node_modules/rxjs/dist/esm/internal/operators/pluck.js","./node_modules/d3-selection/src/selector.js","./node_modules/d3-selection/src/array.js","./node_modules/d3-selection/src/selectorAll.js","./node_modules/d3-selection/src/matcher.js","./node_modules/d3-selection/src/selection/selectChild.js","./node_modules/d3-selection/src/selection/selectChildren.js","./node_modules/d3-selection/src/selection/sparse.js","./node_modules/d3-selection/src/selection/enter.js","./node_modules/d3-selection/src/constant.js","./node_modules/d3-selection/src/selection/data.js","./node_modules/d3-selection/src/selection/sort.js","./node_modules/d3-selection/src/namespaces.js","./node_modules/d3-selection/src/namespace.js","./node_modules/d3-selection/src/selection/attr.js","./node_modules/d3-selection/src/window.js","./node_modules/d3-selection/src/selection/style.js","./node_modules/d3-selection/src/selection/property.js","./node_modules/d3-selection/src/selection/classed.js","./node_modules/d3-selection/src/selection/text.js","./node_modules/d3-selection/src/selection/html.js","./node_modules/d3-selection/src/selection/raise.js","./node_modules/d3-selection/src/selection/lower.js","./node_modules/d3-selection/src/creator.js","./node_modules/d3-selection/src/selection/insert.js","./node_modules/d3-selection/src/selection/remove.js","./node_modules/d3-selection/src/selection/clone.js","./node_modules/d3-selection/src/selection/on.js","./node_modules/d3-selection/src/selection/dispatch.js","./node_modules/d3-selection/src/selection/index.js","./node_modules/d3-selection/src/selection/select.js","./node_modules/d3-selection/src/selection/selectAll.js","./node_modules/d3-selection/src/selection/filter.js","./node_modules/d3-selection/src/selection/exit.js","./node_modules/d3-selection/src/selection/join.js","./node_modules/d3-selection/src/selection/merge.js","./node_modules/d3-selection/src/selection/order.js","./node_modules/d3-selection/src/selection/call.js","./node_modules/d3-selection/src/selection/nodes.js","./node_modules/d3-selection/src/selection/node.js","./node_modules/d3-selection/src/selection/size.js","./node_modules/d3-selection/src/selection/empty.js","./node_modules/d3-selection/src/selection/each.js","./node_modules/d3-selection/src/selection/append.js","./node_modules/d3-selection/src/selection/datum.js","./node_modules/d3-selection/src/selection/iterator.js","./node_modules/d3-selection/src/select.js","./node_modules/d3-dispatch/src/dispatch.js","./node_modules/d3-drag/src/noevent.js","./node_modules/d3-drag/src/nodrag.js","./node_modules/d3-color/src/define.js","./node_modules/d3-color/src/color.js","./node_modules/d3-interpolate/src/basis.js","./node_modules/d3-interpolate/src/constant.js","./node_modules/d3-interpolate/src/color.js","./node_modules/d3-interpolate/src/rgb.js","./node_modules/d3-interpolate/src/basisClosed.js","./node_modules/d3-interpolate/src/array.js","./node_modules/d3-interpolate/src/date.js","./node_modules/d3-interpolate/src/number.js","./node_modules/d3-interpolate/src/object.js","./node_modules/d3-interpolate/src/string.js","./node_modules/d3-interpolate/src/numberArray.js","./node_modules/d3-interpolate/src/value.js","./node_modules/d3-selection/src/pointer.js","./node_modules/d3-selection/src/sourceEvent.js","./node_modules/d3-timer/src/timer.js","./node_modules/d3-timer/src/timeout.js","./node_modules/d3-transition/src/transition/schedule.js","./node_modules/d3-transition/src/interrupt.js","./node_modules/d3-interpolate/src/transform/decompose.js","./node_modules/d3-interpolate/src/transform/parse.js","./node_modules/d3-interpolate/src/transform/index.js","./node_modules/d3-transition/src/transition/tween.js","./node_modules/d3-transition/src/transition/interpolate.js","./node_modules/d3-transition/src/transition/attr.js","./node_modules/d3-transition/src/transition/attrTween.js","./node_modules/d3-transition/src/transition/delay.js","./node_modules/d3-transition/src/transition/duration.js","./node_modules/d3-transition/src/transition/ease.js","./node_modules/d3-transition/src/transition/on.js","./node_modules/d3-transition/src/transition/selection.js","./node_modules/d3-transition/src/transition/style.js","./node_modules/d3-transition/src/transition/styleTween.js","./node_modules/d3-transition/src/transition/textTween.js","./node_modules/d3-transition/src/transition/index.js","./node_modules/d3-transition/src/transition/select.js","./node_modules/d3-transition/src/transition/selectAll.js","./node_modules/d3-transition/src/transition/filter.js","./node_modules/d3-transition/src/transition/merge.js","./node_modules/d3-transition/src/transition/transition.js","./node_modules/d3-transition/src/transition/text.js","./node_modules/d3-transition/src/transition/remove.js","./node_modules/d3-transition/src/transition/easeVarying.js","./node_modules/d3-transition/src/transition/end.js","./node_modules/d3-transition/src/selection/transition.js","./node_modules/d3-ease/src/cubic.js","./node_modules/d3-transition/src/selection/index.js","./node_modules/d3-transition/src/selection/interrupt.js","./node_modules/d3-brush/src/constant.js","./node_modules/d3-brush/src/event.js","./node_modules/d3-brush/src/noevent.js","./node_modules/d3-brush/src/brush.js","./node_modules/d3-array/src/ascending.js","./node_modules/d3-array/src/bisector.js","./node_modules/d3-array/src/ticks.js","./node_modules/d3-time/src/duration.js","./node_modules/d3-time/src/interval.js","./node_modules/d3-time/src/millisecond.js","./node_modules/d3-time/src/second.js","./node_modules/d3-time/src/minute.js","./node_modules/d3-time/src/hour.js","./node_modules/d3-time/src/day.js","./node_modules/d3-time/src/week.js","./node_modules/d3-time/src/month.js","./node_modules/d3-time/src/year.js","./node_modules/d3-time/src/utcMinute.js","./node_modules/d3-time/src/utcHour.js","./node_modules/d3-time/src/utcDay.js","./node_modules/d3-time/src/utcWeek.js","./node_modules/d3-time/src/utcMonth.js","./node_modules/d3-time/src/utcYear.js","./node_modules/d3-time/src/ticks.js","./node_modules/d3-time-format/src/locale.js","./node_modules/d3-time-format/src/defaultLocale.js","./node_modules/d3-array/src/number.js","./node_modules/d3-array/src/bisect.js","./node_modules/d3-interpolate/src/round.js","./node_modules/d3-scale/src/number.js","./node_modules/d3-scale/src/continuous.js","./node_modules/d3-scale/src/constant.js","./node_modules/d3-scale/src/init.js","./node_modules/d3-scale/src/time.js","./node_modules/d3-scale/src/nice.js","./node_modules/d3-format/src/formatSpecifier.js","./node_modules/d3-format/src/formatPrefixAuto.js","./node_modules/d3-format/src/formatDecimal.js","./node_modules/d3-format/src/exponent.js","./node_modules/d3-format/src/formatRounded.js","./node_modules/d3-format/src/formatTypes.js","./node_modules/d3-format/src/identity.js","./node_modules/d3-format/src/locale.js","./node_modules/d3-format/src/defaultLocale.js","./node_modules/d3-format/src/formatGroup.js","./node_modules/d3-format/src/formatNumerals.js","./node_modules/d3-format/src/formatTrim.js","./node_modules/d3-scale/src/tickFormat.js","./node_modules/d3-format/src/precisionPrefix.js","./node_modules/d3-format/src/precisionRound.js","./node_modules/d3-format/src/precisionFixed.js","./node_modules/d3-scale/src/linear.js","./node_modules/d3-array/src/range.js","./node_modules/d3-scale/src/ordinal.js","./node_modules/d3-scale/src/band.js","./node_modules/d3-array/src/max.js","./node_modules/d3-array/src/min.js","./node_modules/d3-array/src/quickselect.js","./node_modules/d3-array/src/quantile.js","./node_modules/d3-scale/src/quantile.js","./node_modules/d3-path/src/path.js","./node_modules/d3-shape/src/array.js","./node_modules/d3-shape/src/constant.js","./node_modules/d3-shape/src/curve/linear.js","./node_modules/d3-shape/src/point.js","./node_modules/d3-shape/src/line.js","./node_modules/d3-shape/src/area.js","./node_modules/d3-shape/src/math.js","./node_modules/d3-shape/src/arc.js","./node_modules/d3-shape/src/curve/radial.js","./node_modules/d3-shape/src/lineRadial.js","./node_modules/d3-shape/src/noop.js","./node_modules/d3-shape/src/curve/cardinal.js","./node_modules/d3-shape/src/curve/cardinalClosed.js","./node_modules/d3-shape/src/descending.js","./node_modules/d3-shape/src/identity.js","./node_modules/d3-shape/src/pie.js","./node_modules/d3-ease/src/sin.js","./node_modules/d3-hierarchy/src/treemap/round.js","./node_modules/d3-hierarchy/src/treemap/dice.js","./node_modules/d3-hierarchy/src/treemap/slice.js","./node_modules/d3-hierarchy/src/treemap/squarify.js","./node_modules/d3-hierarchy/src/accessors.js","./node_modules/d3-hierarchy/src/constant.js","./node_modules/d3-hierarchy/src/hierarchy/count.js","./node_modules/d3-hierarchy/src/hierarchy/index.js","./node_modules/d3-hierarchy/src/hierarchy/each.js","./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","./node_modules/d3-hierarchy/src/hierarchy/find.js","./node_modules/d3-hierarchy/src/hierarchy/sum.js","./node_modules/d3-hierarchy/src/hierarchy/sort.js","./node_modules/d3-hierarchy/src/hierarchy/path.js","./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","./node_modules/d3-hierarchy/src/hierarchy/descendants.js","./node_modules/d3-hierarchy/src/hierarchy/leaves.js","./node_modules/d3-hierarchy/src/hierarchy/links.js","./node_modules/d3-hierarchy/src/hierarchy/iterator.js","./node_modules/d3-hierarchy/src/stratify.js","./node_modules/@swimlane/ngx-charts/fesm2020/swimlane-ngx-charts.mjs","./node_modules/d3-hierarchy/src/treemap/index.js","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","./node_modules/ng-qrcode/fesm2020/ng-qrcode.mjs","./node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js","./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","./node_modules/ngx-perfect-scrollbar-next/fesm2020/ngx-perfect-scrollbar-next.mjs"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\n\nimport { CLNActions } from '../../shared/services/consts-enums-functions';\nimport { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload';\nimport { SelNodeChild } from '../../shared/models/RTLconfig';\nimport { GetInfo, Fees, Peer, Payment, QueryRoutes, Channel, FeeRates, Invoice, ListInvoices, OnChain, UTXO, SaveChannel,\n GetNewAddress, DetachPeer, UpdateChannel, CloseChannel, SendPayment, GetQueryRoutes, ChannelLookup, OfferInvoice, Offer, OfferBookmark, ListForwards, FetchListForwards } from '../../shared/models/clnModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport const updateCLAPICallStatus = createAction(CLNActions.UPDATE_API_CALL_STATUS_CLN, props<{ payload: ApiCallStatusPayload }>());\n\nexport const resetCLStore = createAction(CLNActions.RESET_CLN_STORE, props<{ payload: SelNodeChild | null }>());\n\nexport const setChildNodeSettingsCL = createAction(CLNActions.SET_CHILD_NODE_SETTINGS_CLN, props<{ payload: SelNodeChild }>());\n\nexport const fetchPageSettings = createAction(CLNActions.FETCH_PAGE_SETTINGS_CLN);\n\nexport const setPageSettings = createAction(CLNActions.SET_PAGE_SETTINGS_CLN, props<{ payload: PageSettings[] }>());\n\nexport const savePageSettings = createAction(CLNActions.SAVE_PAGE_SETTINGS_CLN, props<{ payload: PageSettings[] }>());\n\nexport const fetchInfoCL = createAction(CLNActions.FETCH_INFO_CLN, props<{ payload: { loadPage: string } }>());\n\nexport const setInfo = createAction(CLNActions.SET_INFO_CLN, props<{ payload: GetInfo }>());\n\nexport const fetchFees = createAction(CLNActions.FETCH_FEES_CLN);\n\nexport const setFees = createAction(CLNActions.SET_FEES_CLN, props<{ payload: Fees }>());\n\nexport const fetchFeeRates = createAction(CLNActions.FETCH_FEE_RATES_CLN, props<{ payload: string }>());\n\nexport const setFeeRates = createAction(CLNActions.SET_FEE_RATES_CLN, props<{ payload: FeeRates }>());\n\nexport const fetchBalance = createAction(CLNActions.FETCH_BALANCE_CLN);\n\nexport const setBalance = createAction(CLNActions.SET_BALANCE_CLN, props<{ payload: any }>());\n\nexport const fetchLocalRemoteBalance = createAction(CLNActions.FETCH_LOCAL_REMOTE_BALANCE_CLN);\n\nexport const setLocalRemoteBalance = createAction(CLNActions.SET_LOCAL_REMOTE_BALANCE_CLN, props<{ payload: { localBalance: number, remoteBalance: number } }>());\n\nexport const getNewAddress = createAction(CLNActions.GET_NEW_ADDRESS_CLN, props<{ payload: GetNewAddress }>());\n\nexport const setNewAddress = createAction(CLNActions.SET_NEW_ADDRESS_CLN, props<{ payload: string }>());\n\nexport const fetchPeers = createAction(CLNActions.FETCH_PEERS_CLN);\n\nexport const setPeers = createAction(CLNActions.SET_PEERS_CLN, props<{ payload: Peer[] }>());\n\nexport const saveNewPeer = createAction(CLNActions.SAVE_NEW_PEER_CLN, props<{ payload: { id: string } }>());\n\nexport const newlyAddedPeer = createAction(CLNActions.NEWLY_ADDED_PEER_CLN, props<{ payload: { peer: Peer, balance: number } }>());\n\nexport const addPeer = createAction(CLNActions.ADD_PEER_CLN, props<{ payload: Peer }>());\n\nexport const detachPeer = createAction(CLNActions.DETACH_PEER_CLN, props<{ payload: DetachPeer }>());\n\nexport const removePeer = createAction(CLNActions.REMOVE_PEER_CLN, props<{ payload: { id: string } }>());\n\nexport const fetchPayments = createAction(CLNActions.FETCH_PAYMENTS_CLN);\n\nexport const setPayments = createAction(CLNActions.SET_PAYMENTS_CLN, props<{ payload: Payment[] }>());\n\nexport const sendPayment = createAction(CLNActions.SEND_PAYMENT_CLN, props<{ payload: SendPayment }>());\n\nexport const sendPaymentStatus = createAction(CLNActions.SEND_PAYMENT_STATUS_CLN, props<{ payload: any }>());\n\nexport const getQueryRoutes = createAction(CLNActions.GET_QUERY_ROUTES_CLN, props<{ payload: GetQueryRoutes }>());\n\nexport const setQueryRoutes = createAction(CLNActions.SET_QUERY_ROUTES_CLN, props<{ payload: QueryRoutes }>());\n\nexport const fetchChannels = createAction(CLNActions.FETCH_CHANNELS_CLN);\n\nexport const setChannels = createAction(CLNActions.SET_CHANNELS_CLN, props<{ payload: { activeChannels: Channel[], pendingChannels: Channel[], inactiveChannels: Channel[] } }>());\n\nexport const updateChannel = createAction(CLNActions.UPDATE_CHANNEL_CLN, props<{ payload: UpdateChannel }>());\n\nexport const saveNewChannel = createAction(CLNActions.SAVE_NEW_CHANNEL_CLN, props<{ payload: SaveChannel }>());\n\nexport const closeChannel = createAction(CLNActions.CLOSE_CHANNEL_CLN, props<{ payload: CloseChannel }>());\n\nexport const removeChannel = createAction(CLNActions.REMOVE_CHANNEL_CLN, props<{ payload: CloseChannel }>());\n\nexport const peerLookup = createAction(CLNActions.PEER_LOOKUP_CLN, props<{ payload: string }>());\n\nexport const channelLookup = createAction(CLNActions.CHANNEL_LOOKUP_CLN, props<{ payload: ChannelLookup }>());\n\nexport const invoiceLookup = createAction(CLNActions.INVOICE_LOOKUP_CLN, props<{ payload: string }>());\n\nexport const setLookup = createAction(CLNActions.SET_LOOKUP_CLN, props<{ payload: any }>());\n\nexport const getForwardingHistory = createAction(CLNActions.GET_FORWARDING_HISTORY_CLN, props<{ payload: FetchListForwards }>());\n\nexport const setForwardingHistory = createAction(CLNActions.SET_FORWARDING_HISTORY_CLN, props<{ payload: ListForwards }>());\n\nexport const fetchInvoices = createAction(CLNActions.FETCH_INVOICES_CLN, props<{ payload: { num_max_invoices?: number, index_offset?: number, reversed?: boolean } }>());\n\nexport const setInvoices = createAction(CLNActions.SET_INVOICES_CLN, props<{ payload: ListInvoices }>());\n\nexport const saveNewInvoice = createAction(CLNActions.SAVE_NEW_INVOICE_CLN, props<{ payload: { amount: number, label: string, description: string, expiry: number, private: boolean } }>());\n\nexport const addInvoice = createAction(CLNActions.ADD_INVOICE_CLN, props<{ payload: Invoice }>());\n\nexport const updateInvoice = createAction(CLNActions.UPDATE_INVOICE_CLN, props<{ payload: Invoice }>());\n\nexport const deleteExpiredInvoice = createAction(CLNActions.DELETE_EXPIRED_INVOICE_CLN, props<{ payload?: number | null }>());\n\nexport const setChannelTransaction = createAction(CLNActions.SET_CHANNEL_TRANSACTION_CLN, props<{ payload: OnChain }>());\n\nexport const setChannelTransactionRes = createAction(CLNActions.SET_CHANNEL_TRANSACTION_RES_CLN, props<{ payload: any }>());\n\nexport const fetchUTXOs = createAction(CLNActions.FETCH_UTXOS_CLN);\n\nexport const setUTXOs = createAction(CLNActions.SET_UTXOS_CLN, props<{ payload: UTXO[] }>());\n\nexport const fetchOfferInvoice = createAction(CLNActions.FETCH_OFFER_INVOICE_CLN, props<{ payload: { offer: string, msatoshi?: number } }>());\n\nexport const setOfferInvoice = createAction(CLNActions.SET_OFFER_INVOICE_CLN, props<{ payload: OfferInvoice }>());\n\nexport const fetchOffers = createAction(CLNActions.FETCH_OFFERS_CLN);\n\nexport const setOffers = createAction(CLNActions.SET_OFFERS_CLN, props<{ payload: Offer[] }>());\n\nexport const saveNewOffer = createAction(CLNActions.SAVE_NEW_OFFER_CLN, props<{ payload: { amount: string, description: string, vendor: string } }>());\n\nexport const addOffer = createAction(CLNActions.ADD_OFFER_CLN, props<{ payload: Offer }>());\n\nexport const disableOffer = createAction(CLNActions.DISABLE_OFFER_CLN, props<{ payload: { offer_id: string } }>());\n\nexport const updateOffer = createAction(CLNActions.UPDATE_OFFER_CLN, props<{ payload: { offer: Offer } }>());\n\nexport const fetchOfferBookmarks = createAction(CLNActions.FETCH_OFFER_BOOKMARKS_CLN);\n\nexport const setOfferBookmarks = createAction(CLNActions.SET_OFFER_BOOKMARKS_CLN, props<{ payload: OfferBookmark[] }>());\n\nexport const addUpdateOfferBookmark = createAction(CLNActions.ADD_UPDATE_OFFER_BOOKMARK_CLN, props<{ payload: OfferBookmark }>());\n\nexport const deleteOfferBookmark = createAction(CLNActions.DELETE_OFFER_BOOKMARK_CLN, props<{ payload: { bolt12: string } }>());\n\nexport const removeOfferBookmark = createAction(CLNActions.REMOVE_OFFER_BOOKMARK_CLN, props<{ payload: { bolt12: string } }>());\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Subject, of } from 'rxjs';\nimport { map, mergeMap, catchError, takeUntil } from 'rxjs/operators';\nimport { Location } from '@angular/common';\n\nimport { environment, API_URL } from '../../../environments/environment';\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { CommonService } from '../../shared/services/common.service';\nimport { SessionService } from '../../shared/services/session.service';\nimport { WebSocketClientService } from '../../shared/services/web-socket.service';\nimport { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component';\nimport { CLNInvoiceInformationComponent } from '../transactions/invoices/invoice-information-modal/invoice-information.component';\nimport { GetInfo, Fees, Balance, LocalRemoteBalance, Payment, FeeRates, ListInvoices, Invoice, Peer, OnChain, QueryRoutes, SaveChannel, GetNewAddress, DetachPeer, UpdateChannel, CloseChannel, SendPayment, GetQueryRoutes, ChannelLookup, FetchInvoices, Channel, OfferInvoice, Offer } from '../../shared/models/clnModels';\nimport { AlertTypeEnum, APICallStatusEnum, UI_MESSAGES, CLNWSEventTypeEnum, CLNActions, RTLActions, CLNForwardingEventsStatusEnum } from '../../shared/services/consts-enums-functions';\nimport { closeAllDialogs, closeSpinner, logout, openAlert, openSnackBar, openSpinner, setApiUrl, setNodeData } from '../../store/rtl.actions';\n\nimport { RTLState } from '../../store/rtl.state';\nimport { addUpdateOfferBookmark, fetchBalance, fetchChannels, fetchFeeRates, fetchFees, fetchInvoices, fetchLocalRemoteBalance,\n fetchPayments, fetchPeers, fetchUTXOs, setLookup, setPeers, setQueryRoutes, updateCLAPICallStatus, updateInvoice, setOfferInvoice,\n sendPaymentStatus, setForwardingHistory, fetchPageSettings } from './cln.actions';\nimport { allAPIsCallStatus } from './cln.selector';\nimport { ApiCallsListCL } from '../../shared/models/apiCallsPayload';\nimport { CLNOfferInformationComponent } from '../transactions/offers/offer-information-modal/offer-information.component';\n\n@Injectable()\nexport class CLNEffects implements OnDestroy {\n\n CHILD_API_URL = API_URL + '/cln';\n private flgInitialized = false;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(\n private actions: Actions,\n private httpClient: HttpClient,\n private store: Store,\n private sessionService: SessionService,\n private commonService: CommonService,\n private logger: LoggerService,\n private router: Router,\n private wsService: WebSocketClientService,\n private location: Location\n ) {\n this.store.select(allAPIsCallStatus).pipe(takeUntil(this.unSubs[0])).subscribe((allApisCallStatus: ApiCallsListCL) => {\n if (\n ((allApisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchChannels.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchBalance.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchBalance.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchLocalRemoteBalance.status === APICallStatusEnum.ERROR)) &&\n !this.flgInitialized\n ) {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.flgInitialized = true;\n }\n });\n this.wsService.clWSMessages.pipe(\n takeUntil(this.unSubs[1])).\n subscribe((newMessage) => {\n this.logger.info('Received new message from the service: ' + JSON.stringify(newMessage));\n if (newMessage) {\n switch (newMessage.event) {\n case CLNWSEventTypeEnum.INVOICE:\n this.logger.info(newMessage);\n if (newMessage && newMessage.data && newMessage.data.label) {\n this.store.dispatch(updateInvoice({ payload: newMessage.data }));\n }\n break;\n case CLNWSEventTypeEnum.SEND_PAYMENT:\n this.logger.info(newMessage);\n break;\n case CLNWSEventTypeEnum.BLOCK_HEIGHT:\n this.logger.info(newMessage);\n break;\n default:\n this.logger.info('Received Event from WS: ' + JSON.stringify(newMessage));\n break;\n }\n }\n });\n }\n\n infoFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_INFO_CLN),\n mergeMap((action: { type: string, payload: { loadPage: string } }) => {\n this.flgInitialized = false;\n this.store.dispatch(setApiUrl({ payload: this.CHILD_API_URL }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.INITIATED } }));\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API).\n pipe(\n takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))),\n map((info) => {\n this.logger.info(info);\n if (info.chains && info.chains.length && info.chains[0] &&\n (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info?.chains[0].chain &&\n (info?.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0 && info?.chains[0].chain.toLowerCase().indexOf('liquid') < 0)\n )\n ) {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n this.store.dispatch(closeAllDialogs());\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.ERROR,\n alertTitle: 'Shitcoin Found',\n titleMessage: 'Sorry Not Sorry, RTL is Bitcoin Only!'\n }\n }\n }));\n }, 500);\n return {\n type: RTLActions.LOGOUT\n };\n } else {\n this.initializeRemainingData(info, action.payload.loadPage);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n return {\n type: CLNActions.SET_INFO_CLN,\n payload: info ? info : {}\n };\n }\n }),\n catchError((err) => {\n const code = this.commonService.extractErrorCode(err);\n const msg = (code === 'ETIMEDOUT') ? 'Unable to Connect to Core Lightning Server.' : this.commonService.extractErrorMessage(err);\n this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } });\n this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg });\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n fetchFeesCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_FEES_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API);\n }),\n map((fees) => {\n this.logger.info(fees);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_FEES_CLN,\n payload: fees ? fees : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n fetchFeeRatesCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_FEE_RATES_CLN),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchFeeRates' + action.payload, status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/feeRates/' + action.payload).\n pipe(\n map((feeRates) => {\n this.logger.info(feeRates);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchFeeRates' + action.payload, status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_FEE_RATES_CLN,\n payload: feeRates ? feeRates : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchFeeRates' + action.payload, UI_MESSAGES.NO_SPINNER, 'Fetching Fee Rates Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n fetchBalanceCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_BALANCE_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchBalance', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.BALANCE_API);\n }),\n map((balance) => {\n this.logger.info(balance);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchBalance', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_BALANCE_CLN,\n payload: balance ? balance : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Balances Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n fetchLocalRemoteBalanceCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_LOCAL_REMOTE_BALANCE_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchLocalRemoteBalance', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/localRemoteBalance');\n }),\n map((lrBalance) => {\n this.logger.info(lrBalance);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchLocalRemoteBalance', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_LOCAL_REMOTE_BALANCE_CLN,\n payload: lrBalance ? lrBalance : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchLocalRemoteBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Balances Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n getNewAddressCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.GET_NEW_ADDRESS_CLN),\n mergeMap((action: { type: string, payload: GetNewAddress }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressCode).\n pipe(\n map((newAddress: any) => {\n this.logger.info(newAddress);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return {\n type: CLNActions.SET_NEW_ADDRESS_CLN,\n payload: (newAddress && newAddress.address) ? newAddress.address : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('GenerateNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API + '?type=' + action.payload.addressId, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setNewAddressCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.SET_NEW_ADDRESS_CLN),\n map((action: { type: string, payload: string }) => {\n this.logger.info(action.payload);\n return action.payload;\n })\n ),\n { dispatch: false }\n );\n\n peersFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_PEERS_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API).\n pipe(\n map((peers: any) => {\n this.logger.info(peers);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_PEERS_CLN,\n payload: peers || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n saveNewPeerCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SAVE_NEW_PEER_CLN),\n mergeMap((action: { type: string, payload: { id: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { id: action.payload.id }).\n pipe(\n map((postRes: Peer[]) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(setPeers({ payload: (postRes || []) }));\n return {\n type: CLNActions.NEWLY_ADDED_PEER_CLN,\n payload: { peer: postRes.find((peer: Peer) => action.payload.id.indexOf(peer.id ? peer.id : '') === 0) }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n detachPeerCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.DETACH_PEER_CLN),\n mergeMap((action: { type: string, payload: DetachPeer }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id + '?force=' + action.payload.force).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n this.store.dispatch(openSnackBar({ payload: 'Peer Disconnected Successfully!' }));\n return {\n type: CLNActions.REMOVE_PEER_CLN,\n payload: { id: action.payload.id }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('PeerDisconnect', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.id, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n channelsFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_CHANNELS_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listChannels');\n }),\n map((channels: Channel[]) => {\n this.logger.info(channels);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.COMPLETED } }));\n // this.store.dispatch(getForwardingHistory({ payload: { status: CLNForwardingEventsStatusEnum.SETTLED } }));\n const sortedChannels = { activeChannels: [], pendingChannels: [], inactiveChannels: [] };\n channels.forEach((channel) => {\n if (channel.state === 'CHANNELD_NORMAL') {\n if (channel.connected) {\n sortedChannels.activeChannels.push(channel);\n } else {\n sortedChannels.inactiveChannels.push(channel);\n }\n } else {\n sortedChannels.pendingChannels.push(channel);\n }\n });\n return {\n type: CLNActions.SET_CHANNELS_CLN,\n payload: sortedChannels\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Channels Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n openNewChannelCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SAVE_NEW_CHANNEL_CLN),\n mergeMap((action: { type: string, payload: SaveChannel }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED } }));\n const newPayload = { id: action.payload.peerId, satoshis: action.payload.satoshis, feeRate: action.payload.feeRate, announce: action.payload.announce };\n if (action.payload.minconf) { newPayload['minconf'] = action.payload.minconf; }\n if (action.payload.utxos) { newPayload['utxos'] = action.payload.utxos; }\n if (action.payload.requestAmount) { newPayload['request_amt'] = action.payload.requestAmount; }\n if (action.payload.compactLease) { newPayload['compact_lease'] = action.payload.compactLease; }\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, newPayload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(openSnackBar({ payload: 'Channel Added Successfully!' }));\n this.store.dispatch(fetchBalance());\n this.store.dispatch(fetchUTXOs());\n return {\n type: CLNActions.FETCH_CHANNELS_CLN\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n updateChannelCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.UPDATE_CHANNEL_CLN),\n mergeMap((action: { type: string, payload: UpdateChannel }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n return this.httpClient.post(\n this.CHILD_API_URL + environment.CHANNELS_API + '/setChannelFee',\n { id: action.payload.channelId, base: action.payload.baseFeeMsat, ppm: action.payload.feeRate }\n ).pipe(map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n if (action.payload.channelId === 'all') {\n this.store.dispatch(openSnackBar({ payload: { message: 'All Channels Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000 } }));\n } else {\n this.store.dispatch(openSnackBar({ payload: { message: 'Channel Updated Successfully. Fee policy updates may take some time to reflect on the channel.', duration: 5000 } }));\n }\n return {\n type: CLNActions.FETCH_CHANNELS_CLN\n };\n }), catchError((err: any) => {\n this.handleErrorWithAlert('UpdateChannel', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n closeChannelCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.CLOSE_CHANNEL_CLN),\n mergeMap((action: { type: string, payload: CloseChannel }) => {\n this.store.dispatch(openSpinner({ payload: (action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL) }));\n const queryParam = action.payload.force ? '?force=' + action.payload.force : '';\n return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelId + queryParam).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL }));\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchLocalRemoteBalance());\n this.store.dispatch(openSnackBar({ payload: 'Channel Closed Successfully!' }));\n return {\n type: CLNActions.REMOVE_CHANNEL_CLN,\n payload: action.payload\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('CloseChannel', (action.payload.force ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n paymentsFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_PAYMENTS_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API);\n }),\n map((payments) => {\n this.logger.info(payments);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_PAYMENTS_CLN,\n payload: payments || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n fetchOfferInvoiceCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.FETCH_OFFER_INVOICE_CLN),\n mergeMap((action: { type: string, payload: { offer: string, msatoshi?: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.FETCH_INVOICE }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOfferInvoice', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.OFFERS_API + '/fetchOfferInvoice', action.payload).\n pipe(\n map((fetchedInvoice: any) => {\n this.logger.info(fetchedInvoice);\n setTimeout(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOfferInvoice', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.FETCH_INVOICE }));\n this.store.dispatch(setOfferInvoice({ payload: (fetchedInvoice ? fetchedInvoice : {}) }));\n }, 500);\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchOfferInvoice', UI_MESSAGES.FETCH_INVOICE, 'Offer Invoice Fetch Failed', err);\n return of({ type: RTLActions.VOID });\n }));\n })),\n { dispatch: false }\n );\n\n setOfferInvoiceCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.SET_OFFER_INVOICE_CLN),\n map((action: { type: string, payload: OfferInvoice }) => {\n this.logger.info(action.payload);\n return action.payload;\n })\n ),\n { dispatch: false }\n );\n\n sendPaymentCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.SEND_PAYMENT_CLN),\n mergeMap((action: { type: string, payload: SendPayment }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.PAYMENTS_API, action.payload).pipe(\n map((sendRes: any) => {\n this.logger.info(sendRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.COMPLETED } }));\n let snackBarMessageStr = 'Payment Sent Successfully!';\n if (sendRes.saveToDBError) {\n snackBarMessageStr = 'Payment Sent Successfully but Offer Saving to Database Failed.';\n }\n if (sendRes.saveToDBResponse && sendRes.saveToDBResponse !== 'NA') {\n this.store.dispatch(addUpdateOfferBookmark({ payload: sendRes.saveToDBResponse }));\n snackBarMessageStr = 'Payment Sent Successfully and Offer Saved to Database.';\n }\n setTimeout(() => {\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchBalance());\n this.store.dispatch(fetchPayments());\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(openSnackBar({ payload: snackBarMessageStr }));\n this.store.dispatch(sendPaymentStatus({ payload: sendRes.paymentResponse }));\n }, 1000);\n }),\n catchError((err: any) => {\n this.logger.error('Error: ' + JSON.stringify(err));\n if (action.payload.fromDialog) {\n this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err);\n } else {\n this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, err);\n }\n return of({ type: RTLActions.VOID });\n })\n );\n })),\n { dispatch: false }\n );\n\n queryRoutesFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.GET_QUERY_ROUTES_CLN),\n mergeMap((action: { type: string, payload: GetQueryRoutes }) => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'GetQueryRoutes', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount).\n pipe(\n map((qrRes: any) => {\n this.logger.info(qrRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'GetQueryRoutes', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_QUERY_ROUTES_CLN,\n payload: qrRes\n };\n }),\n catchError((err: any) => {\n this.store.dispatch(setQueryRoutes({ payload: { routes: [] } }));\n this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setQueryRoutesCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.SET_QUERY_ROUTES_CLN),\n map((action: { type: string, payload: QueryRoutes }) => action.payload)\n ),\n { dispatch: false }\n );\n\n peerLookupCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.PEER_LOOKUP_CLN),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload).\n pipe(\n map((resPeer) => {\n this.logger.info(resPeer);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n return {\n type: CLNActions.SET_LOOKUP_CLN,\n payload: resPeer\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listNode/' + action.payload, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n channelLookupCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.CHANNEL_LOOKUP_CLN),\n mergeMap((action: { type: string, payload: ChannelLookup }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID).\n pipe(\n map((resChannel) => {\n this.logger.info(resChannel);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n return {\n type: CLNActions.SET_LOOKUP_CLN,\n payload: resChannel\n };\n }),\n catchError((err: any) => {\n if (action.payload.showError) {\n this.handleErrorWithAlert('Lookup', action.payload.uiMessage, 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/listChannel/' + action.payload.shortChannelID, err);\n } else {\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n }\n this.store.dispatch(setLookup({ payload: [] }));\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n invoiceLookupCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.INVOICE_LOOKUP_CLN),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?label=' + action.payload).\n pipe(\n map((resInvoice: any) => {\n this.logger.info(resInvoice);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n if (resInvoice.invoices && resInvoice.invoices.length && resInvoice.invoices.length > 0) {\n this.store.dispatch(updateInvoice({ payload: resInvoice.invoices[0] }));\n }\n return {\n type: CLNActions.SET_LOOKUP_CLN,\n payload: resInvoice.invoices && resInvoice.invoices.length && resInvoice.invoices.length > 0 ? resInvoice.invoices[0] : resInvoice\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err);\n this.store.dispatch(openSnackBar({ payload: { message: 'Invoice Refresh Failed.', type: 'ERROR' } }));\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setLookupCL = createEffect(\n () => this.actions.pipe(\n ofType(CLNActions.SET_LOOKUP_CLN),\n map((action: { type: string, payload: any }) => {\n this.logger.info(action.payload);\n return action.payload;\n })\n ),\n { dispatch: false }\n );\n\n fetchForwardingHistoryCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.GET_FORWARDING_HISTORY_CLN),\n mergeMap((action: { type: string, payload: { status: string } }) => {\n const statusInitial = action.payload.status.charAt(0).toUpperCase();\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchForwardingHistory' + statusInitial, status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=' + action.payload.status).\n pipe(\n map((fhRes: any) => {\n this.logger.info(fhRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchForwardingHistory' + statusInitial, status: APICallStatusEnum.COMPLETED } }));\n if (action.payload.status === CLNForwardingEventsStatusEnum.FAILED) {\n this.store.dispatch(setForwardingHistory({ payload: { status: CLNForwardingEventsStatusEnum.FAILED, totalForwards: fhRes.length, listForwards: fhRes } }));\n } else if (action.payload.status === CLNForwardingEventsStatusEnum.LOCAL_FAILED) {\n this.store.dispatch(setForwardingHistory({ payload: { status: CLNForwardingEventsStatusEnum.LOCAL_FAILED, totalForwards: fhRes.length, listForwards: fhRes } }));\n } else if (action.payload.status === CLNForwardingEventsStatusEnum.SETTLED) {\n this.store.dispatch(setForwardingHistory({ payload: { status: CLNForwardingEventsStatusEnum.SETTLED, totalForwards: fhRes.length, listForwards: fhRes } }));\n }\n return { type: RTLActions.VOID };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('FetchForwardingHistory' + statusInitial, UI_MESSAGES.NO_SPINNER, 'Get ' + action.payload.status + ' Forwarding History Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/listForwards?status=' + action.payload.status, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n deleteExpiredInvoiceCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.DELETE_EXPIRED_INVOICE_CLN),\n mergeMap((action: { type: string, payload: number }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DELETE_INVOICE }));\n const queryStr = (action.payload) ? '?maxexpiry=' + action.payload : '';\n return this.httpClient.delete(this.CHILD_API_URL + environment.INVOICES_API + queryStr).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DELETE_INVOICE }));\n this.store.dispatch(openSnackBar({ payload: 'Invoices Deleted Successfully!' }));\n return {\n type: CLNActions.FETCH_INVOICES_CLN,\n payload: { num_max_invoices: 1000000, reversed: true }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('DeleteInvoices', UI_MESSAGES.DELETE_INVOICE, 'Delete Invoice Failed', this.CHILD_API_URL + environment.INVOICES_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n saveNewInvoiceCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SAVE_NEW_INVOICE_CLN),\n mergeMap((action: { type: string, payload: { amount: number, label: string, description: string, expiry: number, private: boolean } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.ADD_INVOICE }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewInvoice', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, {\n label: action.payload.label, amount: action.payload.amount, description: action.payload.description, expiry: action.payload.expiry, private: action.payload.private\n }).\n pipe(\n map((postRes: Invoice) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewInvoice', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.ADD_INVOICE }));\n postRes.msatoshi = action.payload.amount;\n postRes.label = action.payload.label;\n postRes.expires_at = Math.round((new Date().getTime() / 1000) + action.payload.expiry);\n postRes.description = action.payload.description;\n postRes.status = 'unpaid';\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n invoice: postRes,\n newlyAdded: true,\n component: CLNInvoiceInformationComponent\n }\n }\n }));\n }, 200);\n return {\n type: CLNActions.ADD_INVOICE_CLN,\n payload: postRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewInvoice', UI_MESSAGES.ADD_INVOICE, 'Add Invoice Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n saveNewOfferCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SAVE_NEW_OFFER_CLN),\n mergeMap((action: { type: string, payload: { amount: string, description: string, vendor: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CREATE_OFFER }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewOffer', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.OFFERS_API, {\n amount: action.payload.amount, description: action.payload.description, vendor: action.payload.vendor\n }).pipe(map((postRes: Offer) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SaveNewOffer', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.CREATE_OFFER }));\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n offer: postRes,\n newlyAdded: true,\n component: CLNOfferInformationComponent\n }\n }\n }));\n }, 100);\n return {\n type: CLNActions.ADD_OFFER_CLN,\n payload: postRes\n };\n }), catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewOffer', UI_MESSAGES.CREATE_OFFER, 'Create Offer Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n invoicesFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_INVOICES_CLN),\n mergeMap((action: { type: string, payload: FetchInvoices }) => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.INITIATED } }));\n const num_max_invoices = (action.payload.num_max_invoices) ? action.payload.num_max_invoices : 1000000;\n const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0;\n const reversed = (action.payload.reversed) ? action.payload.reversed : true;\n return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed).\n pipe(\n map((res: ListInvoices) => {\n this.logger.info(res);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_INVOICES_CLN,\n payload: res\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n offersFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_OFFERS_CLN),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOffers', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.OFFERS_API).\n pipe(map((res: any) => {\n this.logger.info(res);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOffers', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_OFFERS_CLN,\n payload: res.offers ? res.offers : []\n };\n }), catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchOffers', UI_MESSAGES.NO_SPINNER, 'Fetching Offers Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n })\n ));\n\n offersDisableCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.DISABLE_OFFER_CLN),\n mergeMap((action: { type: string, payload: { offer_id: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DISABLE_OFFER }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'DisableOffer', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.OFFERS_API + '/' + action.payload.offer_id).\n pipe(map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'DisableOffer', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DISABLE_OFFER }));\n this.store.dispatch(openSnackBar({ payload: 'Offer Disabled Successfully!' }));\n return {\n type: CLNActions.UPDATE_OFFER_CLN,\n payload: { offer: postRes }\n };\n }), catchError((err: any) => {\n this.handleErrorWithoutAlert('DisableOffer', UI_MESSAGES.DISABLE_OFFER, 'Disabling Offer Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n })\n ));\n\n offerBookmarksFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_OFFER_BOOKMARKS_CLN),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOfferBookmarks', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.OFFERS_API + '/offerbookmarks').\n pipe(map((res: any) => {\n this.logger.info(res);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchOfferBookmarks', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_OFFER_BOOKMARKS_CLN,\n payload: res || []\n };\n }), catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchOfferBookmarks', UI_MESSAGES.NO_SPINNER, 'Fetching Offer Bookmarks Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n })\n ));\n\n peidOffersDeleteCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.DELETE_OFFER_BOOKMARK_CLN),\n mergeMap((action: { type: string, payload: { bolt12: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DELETE_OFFER_BOOKMARK }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'DeleteOfferBookmark', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.OFFERS_API + '/offerbookmark/' + action.payload.bolt12).\n pipe(map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'DeleteOfferBookmark', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DELETE_OFFER_BOOKMARK }));\n this.store.dispatch(openSnackBar({ payload: 'Offer Bookmark Deleted Successfully!' }));\n return {\n type: CLNActions.REMOVE_OFFER_BOOKMARK_CLN,\n payload: { bolt12: action.payload.bolt12 }\n };\n }), catchError((err: any) => {\n this.handleErrorWithAlert('DeleteOfferBookmark', UI_MESSAGES.DELETE_OFFER_BOOKMARK, 'Deleting Offer Bookmark Failed.', this.CHILD_API_URL + environment.OFFERS_API + '/offerbookmark/' + action.payload.bolt12, err);\n return of({ type: RTLActions.VOID });\n }));\n })\n ));\n\n SetChannelTransactionCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SET_CHANNEL_TRANSACTION_CLN),\n mergeMap((action: { type: string, payload: OnChain }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SetChannelTransaction', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SetChannelTransaction', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(fetchBalance());\n this.store.dispatch(fetchUTXOs());\n return {\n type: CLNActions.SET_CHANNEL_TRANSACTION_RES_CLN,\n payload: postRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SetChannelTransaction', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n utxosFetch = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_UTXOS_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchUTXOs', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/utxos');\n }),\n map((utxos: any) => {\n this.logger.info(utxos);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchUTXOs', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_UTXOS_CLN,\n payload: utxos.outputs || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchUTXOs', UI_MESSAGES.NO_SPINNER, 'Fetching UTXOs Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n pageSettingsFetchCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.FETCH_PAGE_SETTINGS_CLN),\n mergeMap(() => {\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(environment.PAGE_SETTINGS_API).pipe(\n map((pageSettings: any) => {\n this.logger.info(pageSettings);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: CLNActions.SET_PAGE_SETTINGS_CLN,\n payload: pageSettings || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPageSettings', UI_MESSAGES.NO_SPINNER, 'Fetching Page Settings Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n savePageSettingsCL = createEffect(() => this.actions.pipe(\n ofType(CLNActions.SAVE_PAGE_SETTINGS_CLN),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.PAGE_SETTINGS_API, action.payload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(openSnackBar({ payload: 'Page Layout Updated Successfully!' }));\n return {\n type: CLNActions.SET_PAGE_SETTINGS_CLN,\n payload: postRes || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('SavePageSettings', UI_MESSAGES.UPDATE_PAGE_SETTINGS, 'Page Settings Update Failed.', environment.PAGE_SETTINGS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n initializeRemainingData(info: any, landingPage: string) {\n this.sessionService.setItem('clUnlocked', 'true');\n const node_data = {\n identity_pubkey: info.id,\n alias: info.alias,\n testnet: (info.network.toLowerCase() === 'testnet'),\n chains: info.chains,\n uris: info.uris,\n version: info.version,\n api_version: info.api_version,\n numberOfPendingChannels: info.num_pending_channels\n };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.store.dispatch(setNodeData({ payload: node_data }));\n let newRoute = this.location.path();\n if (newRoute.includes('/lnd/')) {\n newRoute = newRoute?.replace('/lnd/', '/cln/');\n } else if (newRoute.includes('/ecl/')) {\n newRoute = newRoute?.replace('/ecl/', '/cln/');\n }\n if (newRoute.includes('/login') || newRoute.includes('/error') || newRoute === '' || landingPage === 'HOME' || newRoute.includes('?access-key=')) {\n newRoute = '/cln/home';\n }\n this.router.navigate([newRoute]);\n this.store.dispatch(fetchPageSettings());\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: 1000000, index_offset: 0, reversed: true } }));\n this.store.dispatch(fetchFees());\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchBalance());\n this.store.dispatch(fetchLocalRemoteBalance());\n this.store.dispatch(fetchFeeRates({ payload: 'perkw' }));\n this.store.dispatch(fetchFeeRates({ payload: 'perkb' }));\n this.store.dispatch(fetchPeers());\n this.store.dispatch(fetchUTXOs());\n this.store.dispatch(fetchPayments());\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) {\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.commonService.extractErrorMessage(err, genericErrorMessage);\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg } }));\n }\n }\n\n handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) {\n this.logger.error(err);\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.commonService.extractErrorMessage(err);\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: alertTitle,\n message: { code: err.status, message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n this.store.dispatch(updateCLAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL } }));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { Offer } from '../../shared/models/clnModels';\nimport { CLNState } from './cln.state';\n\nexport const clnState = createFeatureSelector('cln');\nexport const clnNodeSettings = createSelector(clnState, (state: CLNState) => state.nodeSettings);\nexport const clnPageSettings = createSelector(clnState, (state: CLNState) => ({ pageSettings: state.pageSettings, apiCallStatus: state.apisCallStatus.FetchPageSettings }));\nexport const clnNodeInformation = createSelector(clnState, (state: CLNState) => state.information);\nexport const apiCallStatusNodeInfo = createSelector(clnState, (state: CLNState) => state.apisCallStatus.FetchInfo);\nexport const allAPIsCallStatus = createSelector(clnState, (state: CLNState) => state.apisCallStatus);\nexport const payments = createSelector(clnState, (state: CLNState) => ({ payments: state.payments, apiCallStatus: state.apisCallStatus.FetchPayments }));\nexport const peers = createSelector(clnState, (state: CLNState) => ({ peers: state.peers, apiCallStatus: state.apisCallStatus.FetchPeers }));\nexport const fees = createSelector(clnState, (state: CLNState) => ({ fees: state.fees, apiCallStatus: state.apisCallStatus.FetchFees }));\nexport const feeRatesPerKB = createSelector(clnState, (state: CLNState) => ({ feeRatesPerKB: state.feeRatesPerKB, apiCallStatus: state.apisCallStatus.FetchFeeRatesperkb }));\nexport const feeRatesPerKW = createSelector(clnState, (state: CLNState) => ({ feeRatesPerKW: state.feeRatesPerKW, apiCallStatus: state.apisCallStatus.FetchFeeRatesperkw }));\nexport const listInvoices = createSelector(clnState, (state: CLNState) => ({ listInvoices: state.invoices, apiCallStatus: state.apisCallStatus.FetchInvoices }));\nexport const utxos = createSelector(clnState, (state: CLNState) => ({ utxos: state.utxos, apiCallStatus: state.apisCallStatus.FetchUTXOs }));\nexport const channels = createSelector(clnState, (state: CLNState) => ({ activeChannels: state.activeChannels, pendingChannels: state.pendingChannels, inactiveChannels: state.inactiveChannels, apiCallStatus: state.apisCallStatus.FetchChannels }));\nexport const balance = createSelector(clnState, (state: CLNState) => ({ balance: state.balance, apiCallStatus: state.apisCallStatus.FetchBalance }));\nexport const localRemoteBalance = createSelector(clnState, (state: CLNState) => ({ localRemoteBalance: state.localRemoteBalance, apiCallStatus: state.apisCallStatus.FetchLocalRemoteBalance }));\nexport const forwardingHistory = createSelector(clnState, (state: CLNState) => ({ forwardingHistory: state.forwardingHistory, apiCallStatus: state.apisCallStatus.FetchForwardingHistoryS }));\nexport const failedForwardingHistory = createSelector(clnState, (state: CLNState) => ({ failedForwardingHistory: state.failedForwardingHistory, apiCallStatus: state.apisCallStatus.FetchForwardingHistoryF }));\nexport const localFailedForwardingHistory = createSelector(clnState, (state: CLNState) => ({ localFailedForwardingHistory: state.localFailedForwardingHistory, apiCallStatus: state.apisCallStatus.FetchForwardingHistoryL }));\nexport const nodeInfoAndNodeSettingsAndBalance = createSelector(clnState, (state: CLNState) => ({ information: state.information, nodeSettings: state.nodeSettings, balance: state.balance }));\nexport const nodeInfoAndBalanceAndNumPeers = createSelector(clnState, (state: CLNState) => ({ information: state.information, balance: state.balance, numPeers: state.peers.length }));\nexport const nodeInfoAndBalance = createSelector(clnState, (state: CLNState) => ({ information: state.information, balance: state.balance }));\nexport const nodeInfoAndNodeSettingsAndAPIsStatus = createSelector(clnState, (state: CLNState) => ({ information: state.information, nodeSettings: state.nodeSettings, apisCallStatus: [state.apisCallStatus.FetchInfo, state.apisCallStatus.FetchForwardingHistoryS] }));\nexport const offers = createSelector(clnState, (state: CLNState) => ({ offers: state.offers, apiCallStatus: state.apisCallStatus.FetchOffers }));\nexport const offerBookmarks = createSelector(clnState, (state: CLNState) => ({ offersBookmarks: state.offersBookmarks, apiCallStatus: state.apisCallStatus.FetchOfferBookmarks }));\nexport const getoffer = (bolt12Str) => createSelector(clnState, (state: CLNState) => (state.offers.find((offer: Offer) => offer.bolt12 === bolt12Str)));\n","
\n
\n \n N/A\n
\n
\n \n
\n \n \n {{screenSize === screenSizeEnum.XS ? (newlyAdded ? 'Created' : 'Invoice') : (newlyAdded ? 'Invoice Created' : 'Invoice Information')}}\n \n \n \n \n
\n \n
\n \n
\n
\n \n QR Code Not Applicable\n
\n \n
\n
\n \n {{invoice?.warning_capacity}}\n
\n
\n
\n
\n

{{screenSize === screenSizeEnum.XS ? 'Amount' : 'Amount Requested'}}

\n \n {{(invoice?.msatoshi/1000 || 0) | number}} Sats (zero amount) \n \n
\n
\n

Amount Received

\n \n \n
\n
\n {{invoice?.msatoshi_received/1000 | number}} Sats\n \n
\n
\n
{{invoice?.msatoshi_received/1000 | number}} Sats
\n
\n \n -\n \n \n
\n
\n
\n \n
\n
\n

Date Expiry

\n {{(invoice?.expires_at * 1000) | date:'dd/MMM/y HH:mm'}}\n
\n
\n

Date Settled

\n {{((invoice?.paid_at * 1000) | date:'dd/MMM/y HH:mm') || '-'}}\n
\n
\n \n
\n
\n

Description

\n {{invoice?.description || '-'}}\n
\n
\n \n
\n
\n

{{ invoice?.bolt12 ? 'Bolt12' : (invoice?.bolt11 && !invoice.label.includes('keysend-')) ? 'Bolt11' : 'Keysend' }} Invoice

\n {{invoice?.bolt11 || invoice?.bolt12}}\n
\n
\n
\n \n
\n
\n

Payment Hash

\n {{invoice?.payment_hash}}\n
\n
\n \n
\n
\n

Label

\n {{invoice?.label}}\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faReceipt, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { LoggerService } from '../../../../shared/services/logger.service';\nimport { CommonService } from '../../../../shared/services/common.service';\nimport { CLNInvoiceInformation } from '../../../../shared/models/alertData';\nimport { ScreenSizeEnum } from '../../../../shared/services/consts-enums-functions';\n\nimport { GetInfo, Invoice, ListInvoices } from '../../../../shared/models/clnModels';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { clnNodeInformation, listInvoices } from '../../../store/cln.selector';\nimport { ApiCallStatusPayload } from '../../../../shared/models/apiCallsPayload';\n\n@Component({\n selector: 'rtl-cln-invoice-information',\n templateUrl: './invoice-information.component.html',\n styleUrls: ['./invoice-information.component.scss']\n})\nexport class CLNInvoiceInformationComponent implements OnInit, OnDestroy {\n\n public faReceipt = faReceipt;\n public faExclamationTriangle = faExclamationTriangle;\n public showAdvanced = false;\n public newlyAdded = false;\n public invoice: Invoice;\n public qrWidth = 240;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public flgInvoicePaid = false;\n public flgVersionCompatible = true;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLNInvoiceInformation, private logger: LoggerService, private commonService: CommonService, private snackBar: MatSnackBar, private store: Store) { }\n\n ngOnInit() {\n this.invoice = this.data.invoice;\n this.newlyAdded = !!this.data.newlyAdded;\n this.screenSize = this.commonService.getScreenSize();\n if (this.screenSize === ScreenSizeEnum.XS) {\n this.qrWidth = 220;\n }\n this.store.select(clnNodeInformation).pipe(takeUntil(this.unSubs[0])).\n subscribe((nodeInfo: GetInfo) => {\n this.flgVersionCompatible = this.commonService.isVersionCompatible(nodeInfo.api_version, '0.6.0');\n });\n this.store.select(listInvoices).pipe(takeUntil(this.unSubs[1])).\n subscribe((invoicesSelector: { listInvoices: ListInvoices, apiCallStatus: ApiCallStatusPayload }) => {\n const invoiceStatus = this.invoice.status;\n const invoices = invoicesSelector.listInvoices.invoices || [];\n const foundInvoice = invoices?.find((invoice) => invoice.payment_hash === this.invoice.payment_hash) || null;\n if (foundInvoice) { this.invoice = foundInvoice; }\n if (invoiceStatus !== this.invoice.status && this.invoice.status === 'paid') {\n this.flgInvoicePaid = true;\n setTimeout(() => { this.flgInvoicePaid = false; }, 4000);\n }\n this.logger.info(invoicesSelector);\n });\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n onShowAdvanced() {\n this.showAdvanced = !this.showAdvanced;\n }\n\n onCopyPayment(payload: string) {\n this.snackBar.open('Invoice copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n \n N/A\n
\n
\n \n
\n \n {{screenSize === screenSizeEnum.XS ? (newlyAdded ? 'Created' : 'Offer') : (newlyAdded ? 'Offer Created' : 'Offer Information')}}\n
\n \n
\n \n
\n
\n \n QR Code Not Applicable\n
\n \n
\n
\n

Amount Requested (Sats)

\n \n {{ !offerDecoded?.amount_msat || offerDecoded?.amount === 0 ? 'Open Offer' : ((offerDecoded?.amount / 1000) | number) }}\n \n
\n
\n

Active

\n \n {{!offer?.active ? 'N/K' : offer?.active ? 'Active' : 'Inactive'}}\n \n
\n
\n \n
\n
\n

Description

\n \n {{offerDecoded?.description}}\n \n
\n
\n \n
\n
\n

Offer Request

\n {{offer?.bolt12}}\n
\n
\n
\n \n
\n
\n

Used

\n \n {{ !offer?.used ? 'N/K' : offer?.used ? 'Yes' : 'No' }}\n \n
\n
\n

Single Use

\n \n {{ !offer?.single_use ? 'N/K' : offer?.single_use ? 'Yes' : 'No' }}\n \n
\n
\n \n
\n
\n

Vendor

\n {{offerDecoded?.vendor || offerDecoded?.issuer}}\n
\n
\n \n
\n
\n

Offer ID

\n {{ offerDecoded.offer_id }}\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faReceipt, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { DataService } from '../../../../shared/services/data.service';\nimport { LoggerService } from '../../../../shared/services/logger.service';\nimport { CommonService } from '../../../../shared/services/common.service';\nimport { CLNOfferInformation } from '../../../../shared/models/alertData';\nimport { ScreenSizeEnum } from '../../../../shared/services/consts-enums-functions';\n\nimport { GetInfo, Offer, OfferRequest } from '../../../../shared/models/clnModels';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { clnNodeInformation } from '../../../store/cln.selector';\n\n@Component({\n selector: 'rtl-cln-offer-information',\n templateUrl: './offer-information.component.html',\n styleUrls: ['./offer-information.component.scss']\n})\nexport class CLNOfferInformationComponent implements OnInit, OnDestroy {\n\n public faReceipt = faReceipt;\n public faExclamationTriangle = faExclamationTriangle;\n public showAdvanced = false;\n public newlyAdded = false;\n public offer: Offer;\n public offerDecoded: OfferRequest = {};\n public qrWidth = 240;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public flgOfferPaid = false;\n public flgVersionCompatible = true;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: CLNOfferInformation, private logger: LoggerService, private commonService: CommonService, private snackBar: MatSnackBar, private store: Store, private dataService: DataService) { }\n\n ngOnInit() {\n this.offer = this.data.offer;\n this.newlyAdded = !!this.data.newlyAdded;\n this.screenSize = this.commonService.getScreenSize();\n if (this.screenSize === ScreenSizeEnum.XS) {\n this.qrWidth = 220;\n }\n this.store.select(clnNodeInformation).pipe(takeUntil(this.unSubs[0])).\n subscribe((nodeInfo: GetInfo) => {\n this.flgVersionCompatible = this.commonService.isVersionCompatible(nodeInfo.api_version, '0.6.0');\n });\n this.dataService.decodePayment(this.offer.bolt12!, true).\n pipe(takeUntil(this.unSubs[1])).subscribe((decodedOffer: OfferRequest) => {\n this.offerDecoded = decodedOffer;\n if (this.offerDecoded.offer_id && !this.offerDecoded.amount_msat) {\n this.offerDecoded.amount_msat = '0msat';\n this.offerDecoded.amount = 0;\n } else {\n this.offerDecoded.amount = this.offerDecoded.amount ? +this.offerDecoded.amount : this.offerDecoded.amount_msat ? +(this.offerDecoded.amount_msat)?.slice(0, -4) : null;\n }\n });\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n onShowAdvanced() {\n this.showAdvanced = !this.showAdvanced;\n }\n\n onCopyOffer(payload: string) {\n this.snackBar.open('Offer copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n\n","import { createAction, props } from '@ngrx/store';\n\nimport { ECLActions } from '../../shared/services/consts-enums-functions';\nimport { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload';\nimport { SelNodeChild } from '../../shared/models/RTLconfig';\nimport { GetInfo, Channel, Fees, Peer, LightningBalance, OnChainBalance, ChannelsStatus, Payments, QueryRoutes, Transaction,\n SendPaymentOnChain, Invoice, PaymentReceived, ChannelStateUpdate, SaveChannel, UpdateChannel, CloseChannel, GetQueryRoutes,\n CreateInvoice, SendPayment, PaymentRelayed } from '../../shared/models/eclModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport const updateECLAPICallStatus = createAction(ECLActions.UPDATE_API_CALL_STATUS_ECL, props<{ payload: ApiCallStatusPayload }>());\n\nexport const resetECLStore = createAction(ECLActions.RESET_ECL_STORE, props<{ payload: SelNodeChild | null }>());\n\nexport const setChildNodeSettingsECL = createAction(ECLActions.SET_CHILD_NODE_SETTINGS_ECL, props<{ payload: SelNodeChild }>());\n\nexport const fetchPageSettings = createAction(ECLActions.FETCH_PAGE_SETTINGS_ECL);\n\nexport const setPageSettings = createAction(ECLActions.SET_PAGE_SETTINGS_ECL, props<{ payload: PageSettings[] }>());\n\nexport const savePageSettings = createAction(ECLActions.SAVE_PAGE_SETTINGS_ECL, props<{ payload: PageSettings[] }>());\n\nexport const fetchInfoECL = createAction(ECLActions.FETCH_INFO_ECL, props<{ payload: { loadPage: string } }>());\n\nexport const setInfo = createAction(ECLActions.SET_INFO_ECL, props<{ payload: GetInfo }>());\n\nexport const fetchFees = createAction(ECLActions.FETCH_FEES_ECL);\n\nexport const setFees = createAction(ECLActions.SET_FEES_ECL, props<{ payload: Fees }>());\n\nexport const fetchChannels = createAction(ECLActions.FETCH_CHANNELS_ECL, props<{ payload: { fetchPayments: boolean } }>());\n\nexport const setActiveChannels = createAction(ECLActions.SET_ACTIVE_CHANNELS_ECL, props<{ payload: Channel[] }>());\n\nexport const setPendingChannels = createAction(ECLActions.SET_PENDING_CHANNELS_ECL, props<{ payload: Channel[] }>());\n\nexport const setInactiveChannels = createAction(ECLActions.SET_INACTIVE_CHANNELS_ECL, props<{ payload: Channel[] }>());\n\nexport const fetchOnchainBalance = createAction(ECLActions.FETCH_ONCHAIN_BALANCE_ECL);\n\nexport const setOnchainBalance = createAction(ECLActions.SET_ONCHAIN_BALANCE_ECL, props<{ payload: OnChainBalance }>());\n\nexport const setLightningBalance = createAction(ECLActions.SET_LIGHTNING_BALANCE_ECL, props<{ payload: LightningBalance }>());\n\nexport const setChannelsStatus = createAction(ECLActions.SET_CHANNELS_STATUS_ECL, props<{ payload: ChannelsStatus }>());\n\nexport const fetchPeers = createAction(ECLActions.FETCH_PEERS_ECL);\n\nexport const setPeers = createAction(ECLActions.SET_PEERS_ECL, props<{ payload: Peer[] }>());\n\nexport const saveNewPeer = createAction(ECLActions.SAVE_NEW_PEER_ECL, props<{ payload: { id: string } }>());\n\nexport const newlyAddedPeer = createAction(ECLActions.NEWLY_ADDED_PEER_ECL, props<{ payload: { peer: Peer } }>());\n\nexport const addPeer = createAction(ECLActions.ADD_PEER_ECL, props<{ payload: Peer }>());\n\nexport const disconnectPeer = createAction(ECLActions.DETACH_PEER_ECL, props<{ payload: { nodeId: string } }>());\n\nexport const removePeer = createAction(ECLActions.REMOVE_PEER_ECL, props<{ payload: { nodeId: string } }>());\n\nexport const getNewAddress = createAction(ECLActions.GET_NEW_ADDRESS_ECL);\n\nexport const setNewAddress = createAction(ECLActions.SET_NEW_ADDRESS_ECL, props<{ payload: string }>());\n\nexport const saveNewChannel = createAction(ECLActions.SAVE_NEW_CHANNEL_ECL, props<{ payload: SaveChannel }>());\n\nexport const updateChannel = createAction(ECLActions.UPDATE_CHANNEL_ECL, props<{ payload: UpdateChannel }>());\n\nexport const closeChannel = createAction(ECLActions.CLOSE_CHANNEL_ECL, props<{ payload: CloseChannel }>());\n\nexport const removeChannel = createAction(ECLActions.REMOVE_CHANNEL_ECL, props<{ payload: { channelId: string } }>());\n\nexport const fetchPayments = createAction(ECLActions.FETCH_PAYMENTS_ECL);\n\nexport const setPayments = createAction(ECLActions.SET_PAYMENTS_ECL, props<{ payload: Payments }>());\n\nexport const getQueryRoutes = createAction(ECLActions.GET_QUERY_ROUTES_ECL, props<{ payload: GetQueryRoutes }>());\n\nexport const setQueryRoutes = createAction(ECLActions.SET_QUERY_ROUTES_ECL, props<{ payload: QueryRoutes[] }>());\n\nexport const sendPayment = createAction(ECLActions.SEND_PAYMENT_ECL, props<{ payload: SendPayment }>());\n\nexport const sendPaymentStatus = createAction(ECLActions.SEND_PAYMENT_STATUS_ECL, props<{ payload: any }>());\n\nexport const fetchTransactions = createAction(ECLActions.FETCH_TRANSACTIONS_ECL);\n\nexport const setTransactions = createAction(ECLActions.SET_TRANSACTIONS_ECL, props<{ payload: Transaction[] }>());\n\nexport const sendOnchainFunds = createAction(ECLActions.SEND_ONCHAIN_FUNDS_ECL, props<{ payload: SendPaymentOnChain }>());\n\nexport const sendOnchainFundsRes = createAction(ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL, props<{ payload: any }>());\n\nexport const fetchInvoices = createAction(ECLActions.FETCH_INVOICES_ECL);\n\nexport const setInvoices = createAction(ECLActions.SET_INVOICES_ECL, props<{ payload: Invoice[] }>());\n\nexport const createInvoice = createAction(ECLActions.CREATE_INVOICE_ECL, props<{ payload: CreateInvoice }>());\n\nexport const addInvoice = createAction(ECLActions.ADD_INVOICE_ECL, props<{ payload: Invoice }>());\n\nexport const updateInvoice = createAction(ECLActions.UPDATE_INVOICE_ECL, props<{ payload: Invoice | PaymentReceived }>());\n\nexport const peerLookup = createAction(ECLActions.PEER_LOOKUP_ECL, props<{ payload: string }>());\n\nexport const invoiceLookup = createAction(ECLActions.INVOICE_LOOKUP_ECL, props<{ payload: string }>());\n\nexport const setLookup = createAction(ECLActions.SET_LOOKUP_ECL, props<{ payload: any }>());\n\nexport const updateChannelState = createAction(ECLActions.UPDATE_CHANNEL_STATE_ECL, props<{ payload: ChannelStateUpdate }>());\n\nexport const updateRelayedPayment = createAction(ECLActions.UPDATE_RELAYED_PAYMENT_ECL, props<{ payload: PaymentRelayed }>());\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Subject, of } from 'rxjs';\nimport { map, mergeMap, catchError, takeUntil } from 'rxjs/operators';\nimport { Location } from '@angular/common';\n\nimport { environment, API_URL } from '../../../environments/environment';\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { SessionService } from '../../shared/services/session.service';\nimport { CommonService } from '../../shared/services/common.service';\nimport { WebSocketClientService } from '../../shared/services/web-socket.service';\nimport { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component';\nimport { GetInfo, OnChainBalance, Peer, Audit, Transaction, Invoice, Channel, ChannelStateUpdate, SaveChannel, UpdateChannel, CloseChannel,\n GetQueryRoutes, QueryRoutes, SendPayment, SendPaymentOnChain, CreateInvoice } from '../../shared/models/eclModels';\nimport { RTLActions, ECLActions, APICallStatusEnum, UI_MESSAGES, ECLWSEventTypeEnum } from '../../shared/services/consts-enums-functions';\nimport { closeAllDialogs, closeSpinner, logout, openAlert, openSnackBar, openSpinner, setApiUrl, setNodeData } from '../../store/rtl.actions';\nimport { ECLInvoiceInformationComponent } from '../transactions/invoice-information-modal/invoice-information.component';\n\nimport { RTLState } from '../../store/rtl.state';\nimport { fetchChannels, fetchFees, fetchInvoices, fetchOnchainBalance, fetchPayments, fetchPeers, sendPaymentStatus, setActiveChannels,\n setChannelsStatus, setInactiveChannels, setLightningBalance, setPeers, setPendingChannels, setQueryRoutes, updateECLAPICallStatus,\n updateChannelState, updateInvoice, updateRelayedPayment, fetchPageSettings } from './ecl.actions';\nimport { allAPIsCallStatus } from './ecl.selector';\nimport { ApiCallsListECL } from '../../shared/models/apiCallsPayload';\n\n@Injectable()\nexport class ECLEffects implements OnDestroy {\n\n CHILD_API_URL = API_URL + '/ecl';\n private flgInitialized = false;\n private flgReceivedPaymentUpdateFromWS = false;\n private latestPaymentRes = '';\n private rawChannelsList: Channel[] = [];\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(\n private actions: Actions,\n private httpClient: HttpClient,\n private store: Store,\n private sessionService: SessionService,\n private commonService: CommonService,\n private logger: LoggerService,\n private router: Router,\n private wsService: WebSocketClientService,\n private location: Location\n ) {\n this.store.select(allAPIsCallStatus).pipe(takeUntil(this.unSubs[0])).subscribe((allApisCallStatus: ApiCallsListECL) => {\n if (\n ((allApisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchOnchainBalance.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchOnchainBalance.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchChannels.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchChannels.status === APICallStatusEnum.ERROR)) &&\n !this.flgInitialized\n ) {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.flgInitialized = true;\n }\n });\n this.wsService.eclWSMessages.pipe(\n takeUntil(this.unSubs[1])).\n subscribe((newMessage) => {\n this.logger.info('Received new message from the service: ' + JSON.stringify(newMessage));\n let snackBarMsg = '';\n if (newMessage) {\n switch (newMessage.type) {\n case ECLWSEventTypeEnum.PAYMENT_SENT:\n if (newMessage && newMessage.id && this.latestPaymentRes === newMessage.id) {\n this.flgReceivedPaymentUpdateFromWS = true;\n snackBarMsg = 'Payment Sent: ' + ((newMessage.paymentHash) ? ('with payment hash ' + newMessage.paymentHash) : JSON.stringify(newMessage));\n this.handleSendPaymentStatus(snackBarMsg);\n }\n break;\n case ECLWSEventTypeEnum.PAYMENT_FAILED:\n if (newMessage && newMessage.id && this.latestPaymentRes === newMessage.id) {\n this.flgReceivedPaymentUpdateFromWS = true;\n snackBarMsg = 'Payment Failed: ' + ((newMessage.failures && newMessage.failures.length && newMessage.failures.length > 0 &&\n newMessage.failures[0].t) ? newMessage.failures[0].t : (newMessage.failures && newMessage.failures.length && newMessage.failures.length > 0 &&\n newMessage.failures[0].e && newMessage.failures[0].e.failureMessage) ? newMessage.failures[0].e.failureMessage : JSON.stringify(newMessage));\n this.handleSendPaymentStatus(snackBarMsg);\n }\n break;\n case ECLWSEventTypeEnum.PAYMENT_RECEIVED:\n this.store.dispatch(updateInvoice({ payload: newMessage }));\n break;\n case ECLWSEventTypeEnum.PAYMENT_RELAYED:\n delete newMessage.source;\n this.store.dispatch(updateRelayedPayment({ payload: newMessage }));\n break;\n case ECLWSEventTypeEnum.CHANNEL_STATE_CHANGED:\n if ((newMessage).currentState === 'NORMAL' || (newMessage).currentState === 'CLOSED') {\n this.rawChannelsList = this.rawChannelsList?.map((channel) => {\n if (channel.channelId === (newMessage).channelId && channel.nodeId === (newMessage).remoteNodeId) {\n channel.state = (newMessage).currentState;\n }\n return channel;\n });\n this.setChannelsAndStatusAndBalances();\n } else {\n this.store.dispatch(updateChannelState({ payload: newMessage }));\n }\n break;\n default:\n this.logger.info('Received Event from WS: ' + JSON.stringify(newMessage));\n break;\n }\n }\n });\n }\n\n infoFetchECL = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_INFO_ECL),\n mergeMap((action: { type: string, payload: { loadPage: string } }) => {\n this.flgInitialized = false;\n this.store.dispatch(setApiUrl({ payload: this.CHILD_API_URL }));\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API).\n pipe(\n takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))),\n map((info) => {\n this.logger.info(info);\n this.initializeRemainingData(info, action.payload.loadPage);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n return {\n type: ECLActions.SET_INFO_ECL,\n payload: info ? info : {}\n };\n }),\n catchError((err) => {\n const code = this.commonService.extractErrorCode(err);\n const msg = (code === 503) ? 'Unable to Connect to Eclair Server.' : this.commonService.extractErrorMessage(err);\n this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } });\n this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg });\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n fetchFees = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_FEES_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/fees').\n pipe(\n map((fees: any) => {\n this.logger.info(fees);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_FEES_ECL,\n payload: fees ? fees : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n fetchPayments = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_PAYMENTS_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API + '/payments').\n pipe(\n map((payments: any) => {\n this.logger.info(payments);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_PAYMENTS_ECL,\n payload: payments ? payments : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n channelsFetch = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_CHANNELS_ECL),\n mergeMap((action: { type: string, payload: { fetchPayments: boolean } }) => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API).\n pipe(\n map((channelsRes: Channel[]) => {\n this.logger.info(channelsRes);\n this.rawChannelsList = channelsRes;\n this.setChannelsAndStatusAndBalances();\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.COMPLETED } }));\n if (action.payload && action.payload.fetchPayments) {\n this.store.dispatch(fetchPayments());\n }\n return { type: RTLActions.VOID };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Channels Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n fetchOnchainBalance = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_ONCHAIN_BALANCE_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchOnchainBalance', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/balance');\n }),\n map((balance) => {\n this.logger.info(balance);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchOnchainBalance', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_ONCHAIN_BALANCE_ECL,\n payload: balance ? balance : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchOnchainBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Onchain Balances Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n peersFetch = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_PEERS_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API).\n pipe(\n map((peers: Peer[]) => {\n this.logger.info(peers);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_PEERS_ECL,\n payload: peers || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n getNewAddress = createEffect(() => this.actions.pipe(\n ofType(ECLActions.GET_NEW_ADDRESS_ECL),\n mergeMap(() => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API).\n pipe(\n map((newAddress: any) => {\n this.logger.info(newAddress);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return {\n type: ECLActions.SET_NEW_ADDRESS_ECL,\n payload: newAddress\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('GetNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.ON_CHAIN_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setNewAddress = createEffect(\n () => this.actions.pipe(\n ofType(ECLActions.SET_NEW_ADDRESS_ECL),\n map((action: { type: string, payload: string }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n saveNewPeer = createEffect(() => this.actions.pipe(\n ofType(ECLActions.SAVE_NEW_PEER_ECL),\n mergeMap((action: { type: string, payload: { id: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API + ((action.payload.id.includes('@') ? '?uri=' : '?nodeId=') + action.payload.id), {}).\n pipe(\n map((postRes: Peer[]) => {\n this.logger.info(postRes);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED } }));\n postRes = postRes || [];\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(setPeers({ payload: postRes }));\n return {\n type: ECLActions.NEWLY_ADDED_PEER_ECL,\n payload: { peer: postRes.find((peer) => peer.nodeId === (action.payload.id.includes('@') ? action.payload.id.substring(0, action.payload.id.indexOf('@')) : action.payload.id)) }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n detachPeer = createEffect(() => this.actions.pipe(\n ofType(ECLActions.DETACH_PEER_ECL),\n mergeMap((action: { type: string, payload: { nodeId: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n this.store.dispatch(openSnackBar({ payload: 'Disconnecting Peer!' }));\n return {\n type: ECLActions.REMOVE_PEER_ECL,\n payload: { nodeId: action.payload.nodeId }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('DisconnectPeer', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.nodeId, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n openNewChannel = createEffect(() => this.actions.pipe(\n ofType(ECLActions.SAVE_NEW_CHANNEL_ECL),\n mergeMap((action: { type: string, payload: SaveChannel }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED } }));\n const reqBody = { nodeId: action.payload.nodeId, fundingSatoshis: action.payload.amount, announceChannel: !action.payload.private };\n if (action.payload.feeRate && action.payload.feeRate > 0) {\n reqBody['fundingFeerateSatByte'] = action.payload.feeRate;\n }\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, reqBody).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(fetchPeers());\n this.store.dispatch(fetchOnchainBalance());\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(openSnackBar({ payload: 'Channel Added Successfully!' }));\n return {\n type: ECLActions.FETCH_CHANNELS_ECL,\n payload: { fetchPayments: false }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n updateChannel = createEffect(() => this.actions.pipe(\n ofType(ECLActions.UPDATE_CHANNEL_ECL),\n mergeMap((action: { type: string, payload: UpdateChannel }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n let queryParam = '?feeBaseMsat=' + action.payload.baseFeeMsat + '&feeProportionalMillionths=' + action.payload.feeRate;\n if (action.payload.nodeIds) {\n queryParam = queryParam + '&nodeIds=' + action.payload.nodeIds;\n } else if (action.payload.nodeId) {\n queryParam = queryParam + '&nodeId=' + action.payload.nodeId;\n } else if (action.payload.channelIds) {\n queryParam = queryParam + '&channelIds=' + action.payload.channelIds;\n } else {\n queryParam = queryParam + '&channelId=' + action.payload.channelId;\n }\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/updateRelayFee' + queryParam, {}).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n if (action.payload.nodeIds || action.payload.channelIds) {\n this.store.dispatch(openSnackBar({ payload: 'Channels Updated Successfully.' }));\n } else {\n this.store.dispatch(openSnackBar({ payload: 'Channel Updated Successfully!' }));\n }\n return {\n type: ECLActions.FETCH_CHANNELS_ECL,\n payload: { fetchPayments: false }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('UpdateChannels', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n closeChannel = createEffect(() => this.actions.pipe(\n ofType(ECLActions.CLOSE_CHANNEL_ECL),\n mergeMap((action: { type: string, payload: CloseChannel }) => {\n this.store.dispatch(openSpinner({ payload: ((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL) }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.CHANNELS_API + '?channelId=' + action.payload.channelId + '&force=' + action.payload.force).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n setTimeout(() => {\n this.store.dispatch(closeSpinner({ payload: ((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL) }));\n this.store.dispatch(fetchChannels({ payload: { fetchPayments: false } }));\n this.store.dispatch(openSnackBar({ payload: (action.payload.force ? 'Channel Force Closed Successfully!' : 'Channel Closed Successfully!') }));\n }, 2000);\n return {\n type: RTLActions.VOID\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('CloseChannel', ((action.payload.force) ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n queryRoutesFetch = createEffect(() => this.actions.pipe(\n ofType(ECLActions.GET_QUERY_ROUTES_ECL),\n mergeMap((action: { type: string, payload: GetQueryRoutes }) => this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount).\n pipe(\n map((qrRes: any) => {\n this.logger.info(qrRes);\n return {\n type: ECLActions.SET_QUERY_ROUTES_ECL,\n payload: qrRes\n };\n }),\n catchError((err: any) => {\n this.store.dispatch(setQueryRoutes({ payload: [] }));\n this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.PAYMENTS_API + '/route?nodeId=' + action.payload.nodeId + '&amountMsat=' + action.payload.amount, err);\n return of({ type: RTLActions.VOID });\n })\n ))\n ));\n\n setQueryRoutes = createEffect(\n () => this.actions.pipe(\n ofType(ECLActions.SET_QUERY_ROUTES_ECL),\n map((action: { type: string, payload: QueryRoutes[] }) => action.payload)),\n { dispatch: false }\n );\n\n sendPayment = createEffect(() => this.actions.pipe(\n ofType(ECLActions.SEND_PAYMENT_ECL),\n mergeMap((action: { type: string, payload: SendPayment }) => {\n this.flgReceivedPaymentUpdateFromWS = false;\n this.latestPaymentRes = '';\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEND_PAYMENT }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.PAYMENTS_API, action.payload).\n pipe(\n map((sendRes: any) => {\n this.logger.info(sendRes);\n this.latestPaymentRes = sendRes;\n setTimeout(() => {\n if (!this.flgReceivedPaymentUpdateFromWS) {\n this.handleSendPaymentStatus('Payment Submitted!');\n }\n }, 3000);\n return { type: RTLActions.VOID };\n }),\n catchError((err: any) => {\n this.logger.error('Error: ' + JSON.stringify(err));\n if (action.payload.fromDialog) {\n this.handleErrorWithoutAlert('SendPayment', UI_MESSAGES.SEND_PAYMENT, 'Send Payment Failed.', err);\n } else {\n this.handleErrorWithAlert('SendPayment', UI_MESSAGES.SEND_PAYMENT, 'Send Payment Failed', this.CHILD_API_URL + environment.PAYMENTS_API, err);\n }\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n transactionsFetch = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_TRANSACTIONS_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchTransactions', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.ON_CHAIN_API + '/transactions?count=1000&skip=0');\n }),\n map((transactions) => {\n this.logger.info(transactions);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchTransactions', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_TRANSACTIONS_ECL,\n payload: transactions || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching Transactions Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n ));\n\n SendOnchainFunds = createEffect(() => this.actions.pipe(\n ofType(ECLActions.SEND_ONCHAIN_FUNDS_ECL),\n mergeMap((action: { type: string, payload: SendPaymentOnChain }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SendOnchainFunds', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.ON_CHAIN_API, action.payload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SendOnchainFunds', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(fetchOnchainBalance());\n return {\n type: ECLActions.SEND_ONCHAIN_FUNDS_RES_ECL,\n payload: postRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SendOnchainFunds', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n createInvoice = createEffect(() => this.actions.pipe(\n ofType(ECLActions.CREATE_INVOICE_ECL),\n mergeMap((action: { type: string, payload: CreateInvoice }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CREATE_INVOICE }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'CreateInvoice', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, action.payload).\n pipe(\n map((postRes: Invoice) => {\n this.logger.info(postRes);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'CreateInvoice', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.CREATE_INVOICE }));\n postRes.timestamp = Math.round(new Date().getTime() / 1000);\n postRes.expiresAt = Math.round(postRes.timestamp + action.payload.expireIn);\n postRes.description = action.payload.description;\n postRes.status = 'unpaid';\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n invoice: postRes,\n newlyAdded: true,\n component: ECLInvoiceInformationComponent\n }\n }\n }));\n }, 200);\n return {\n type: ECLActions.ADD_INVOICE_ECL,\n payload: postRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('CreateInvoice', UI_MESSAGES.CREATE_INVOICE, 'Create Invoice Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n invoicesFetch = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_INVOICES_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API).\n pipe(\n map((res: Invoice[]) => {\n this.logger.info(res);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_INVOICES_ECL,\n payload: res\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n peerLookup = createEffect(() => this.actions.pipe(\n ofType(ECLActions.PEER_LOOKUP_ECL),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload).\n pipe(\n map((resPeer) => {\n this.logger.info(resPeer);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n return {\n type: ECLActions.SET_LOOKUP_ECL,\n payload: resPeer\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/nodes/' + action.payload, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n invoiceLookup = createEffect(() => this.actions.pipe(\n ofType(ECLActions.INVOICE_LOOKUP_ECL),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '/' + action.payload).\n pipe(\n map((resInvoice) => {\n this.logger.info(resInvoice);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n this.store.dispatch(updateInvoice({ payload: resInvoice }));\n return {\n type: ECLActions.SET_LOOKUP_ECL,\n payload: resInvoice\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err);\n this.store.dispatch(openSnackBar({ payload: { message: 'Invoice Refresh Failed.', type: 'ERROR' } }));\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setLookup = createEffect(\n () => this.actions.pipe(\n ofType(ECLActions.SET_LOOKUP_ECL),\n map((action: { type: string, payload: any }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n pageSettingsFetchCL = createEffect(() => this.actions.pipe(\n ofType(ECLActions.FETCH_PAGE_SETTINGS_ECL),\n mergeMap(() => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(environment.PAGE_SETTINGS_API).pipe(\n map((pageSettings: any) => {\n this.logger.info(pageSettings);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: ECLActions.SET_PAGE_SETTINGS_ECL,\n payload: pageSettings || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPageSettings', UI_MESSAGES.NO_SPINNER, 'Fetching Page Settings Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n savePageSettingsCL = createEffect(() => this.actions.pipe(\n ofType(ECLActions.SAVE_PAGE_SETTINGS_ECL),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.PAGE_SETTINGS_API, action.payload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(openSnackBar({ payload: 'Page Layout Updated Successfully!' }));\n return {\n type: ECLActions.SET_PAGE_SETTINGS_ECL,\n payload: postRes || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('SavePageSettings', UI_MESSAGES.UPDATE_PAGE_SETTINGS, 'Page Settings Update Failed.', environment.PAGE_SETTINGS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n setChannelsAndStatusAndBalances() {\n let channelTotal = 0;\n let totalLocalBalance = 0;\n let totalRemoteBalance = 0;\n let lightningBalances = { localBalance: 0, remoteBalance: 0 };\n let activeChannels: Channel[] = [];\n const pendingChannels: Channel[] = [];\n const inactiveChannels: Channel[] = [];\n const channelStatus = { active: { channels: 0, capacity: 0 }, inactive: { channels: 0, capacity: 0 }, pending: { channels: 0, capacity: 0 } };\n this.rawChannelsList.forEach((channel: Channel, i) => {\n if (channel) {\n if (channel.state === 'NORMAL') {\n channelTotal = (channel.toLocal || 0) + (channel.toRemote || 0);\n totalLocalBalance = totalLocalBalance + (channel.toLocal || 0);\n totalRemoteBalance = totalRemoteBalance + (channel.toRemote || 0);\n channel.balancedness = (channelTotal === 0) ? 1 : +(1 - Math.abs(((channel.toLocal || 0) - (channel.toRemote || 0)) / channelTotal)).toFixed(3);\n activeChannels.push(channel);\n channelStatus.active.channels = channelStatus.active.channels + 1;\n channelStatus.active.capacity = channelStatus.active.capacity + (channel.toLocal || 0);\n } else if (channel.state?.includes('WAIT') || channel.state?.includes('CLOSING') || channel.state?.includes('SYNCING')) {\n channel.state = channel.state?.replace(/_/g, ' ');\n pendingChannels.push(channel);\n channelStatus.pending.channels = channelStatus.pending.channels + 1;\n channelStatus.pending.capacity = channelStatus.pending.capacity + (channel.toLocal || 0);\n } else {\n channel.state = channel.state?.replace(/_/g, ' ');\n inactiveChannels.push(channel);\n channelStatus.inactive.channels = channelStatus.inactive.channels + 1;\n channelStatus.inactive.capacity = channelStatus.inactive.capacity + (channel.toLocal || 0);\n }\n }\n });\n lightningBalances = { localBalance: totalLocalBalance, remoteBalance: totalRemoteBalance };\n activeChannels = this.commonService.sortDescByKey(activeChannels, 'balancedness');\n this.logger.info('Active Channels: ' + JSON.stringify(activeChannels));\n this.logger.info('Pending Channels: ' + JSON.stringify(pendingChannels));\n this.logger.info('Inactive Channels: ' + JSON.stringify(inactiveChannels));\n this.logger.info('Lightning Balances: ' + JSON.stringify(lightningBalances));\n this.logger.info('Channels Status: ' + JSON.stringify(channelStatus));\n this.logger.info('Channel, status and balances: ' + JSON.stringify({ active: activeChannels, pending: pendingChannels, inactive: inactiveChannels, balances: lightningBalances, status: channelStatus }));\n this.store.dispatch(setActiveChannels({ payload: activeChannels }));\n this.store.dispatch(setPendingChannels({ payload: pendingChannels }));\n this.store.dispatch(setInactiveChannels({ payload: inactiveChannels }));\n this.store.dispatch(setLightningBalance({ payload: lightningBalances }));\n this.store.dispatch(setChannelsStatus({ payload: channelStatus }));\n }\n\n handleSendPaymentStatus = (msg: string) => {\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEND_PAYMENT }));\n this.store.dispatch(sendPaymentStatus({ payload: this.latestPaymentRes }));\n this.store.dispatch(fetchChannels({ payload: { fetchPayments: true } }));\n this.store.dispatch(openSnackBar({ payload: msg }));\n };\n\n initializeRemainingData(info: any, landingPage: string) {\n this.sessionService.setItem('eclUnlocked', 'true');\n const node_data = {\n identity_pubkey: info.nodeId,\n alias: info.alias,\n testnet: info.network === 'testnet',\n chains: info.publicAddresses,\n uris: info.uris,\n version: info.version,\n numberOfPendingChannels: 0\n };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.store.dispatch(setNodeData({ payload: node_data }));\n let newRoute = this.location.path();\n if (newRoute.includes('/lnd/')) {\n newRoute = newRoute?.replace('/lnd/', '/ecl/');\n } else if (newRoute.includes('/cln/')) {\n newRoute = newRoute?.replace('/cln/', '/ecl/');\n }\n if (newRoute.includes('/login') || newRoute.includes('/error') || newRoute === '' || landingPage === 'HOME' || newRoute.includes('?access-key=')) {\n newRoute = '/ecl/home';\n }\n this.router.navigate([newRoute]);\n this.store.dispatch(fetchPageSettings());\n this.store.dispatch(fetchInvoices());\n this.store.dispatch(fetchChannels({ payload: { fetchPayments: true } }));\n this.store.dispatch(fetchFees());\n this.store.dispatch(fetchOnchainBalance());\n this.store.dispatch(fetchPeers());\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) {\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.commonService.extractErrorMessage(err, genericErrorMessage) } }));\n }\n }\n\n handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) {\n this.logger.error(err);\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.commonService.extractErrorMessage(err);\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: alertTitle,\n message: { code: err.status, message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n this.store.dispatch(updateECLAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL } }));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { APICallStatusEnum } from '../../shared/services/consts-enums-functions';\nimport { ECLState } from './ecl.state';\n\nexport const eclState = createFeatureSelector('ecl');\nexport const eclNodeSettings = createSelector(eclState, (state: ECLState) => state.nodeSettings);\nexport const eclPageSettings = createSelector(eclState, (state: ECLState) => ({ pageSettings: state.pageSettings, apiCallStatus: state.apisCallStatus.FetchPageSettings }));\nexport const eclNodeInformation = createSelector(eclState, (state: ECLState) => state.information);\nexport const nodeInfoStatus = createSelector(eclState, (state: ECLState) => ({ information: state.information, apiCallStatus: state.apisCallStatus.FetchInfo }));\nexport const apiCallStatusNodeInfo = createSelector(eclState, (state: ECLState) => state.apisCallStatus.FetchInfo);\nexport const allAPIsCallStatus = createSelector(eclState, (state: ECLState) => state.apisCallStatus);\nexport const payments = createSelector(eclState, (state: ECLState) => ({ payments: state.payments, apiCallStatus: state.apisCallStatus.FetchPayments }));\nexport const fees = createSelector(eclState, (state: ECLState) => ({ fees: state.fees, apiCallStatus: state.apisCallStatus.FetchFees }));\nexport const allChannelsInfo = createSelector(eclState, (state: ECLState) => ({ activeChannels: state.activeChannels, pendingChannels: state.pendingChannels, inactiveChannels: state.inactiveChannels,\n lightningBalance: state.lightningBalance, channelsStatus: state.channelsStatus, apiCallStatus: state.apisCallStatus.FetchChannels }));\nexport const transactions = createSelector(eclState, (state: ECLState) => ({ transactions: state.transactions, apiCallStatus: state.apisCallStatus.FetchTransactions }));\nexport const invoices = createSelector(eclState, (state: ECLState) => ({ invoices: state.invoices, apiCallStatus: state.apisCallStatus.FetchInvoices }));\nexport const peers = createSelector(eclState, (state: ECLState) => ({ peers: state.peers, apiCallStatus: state.apisCallStatus.FetchPeers }));\nexport const onchainBalance = createSelector(eclState, (state: ECLState) => ({ onchainBalance: state.onchainBalance, apiCallStatus: state.apisCallStatus.FetchOnchainBalance }));\n","
\n
\n \n N/A\n
\n
\n \n
\n \n {{screenSize === screenSizeEnum.XS ? (newlyAdded ? 'Created' : 'Invoice') : (newlyAdded ? 'Invoice Created' : 'Invoice Information')}}\n
\n \n
\n \n
\n
\n \n QR Code Not Applicable\n
\n \n
\n
\n

Amount Requested

\n {{(invoice?.amount || 0) | number}} Sats (zero amount) \n
\n
\n

Amount Settled

\n \n \n
\n
\n {{invoice?.amountSettled | number}} Sats\n \n
\n
\n
{{invoice?.amountSettled | number}} Sats
\n
\n \n -\n \n \n
\n
\n
\n \n
\n
\n

Date Created

\n {{(invoice?.timestamp * 1000) | date:'dd/MMM/y HH:mm'}}\n
\n
\n

Status

\n {{invoice?.status | titlecase}}\n
\n
\n \n
\n
\n

Description

\n {{invoice?.description || '-'}}\n
\n
\n \n
\n
\n

Invoice

\n {{invoice?.serialized || 'N/A'}}\n
\n
\n
\n \n
\n
\n

Date Expiry

\n {{(invoice?.expiresAt * 1000) | date:'dd/MMM/y HH:mm'}}\n
\n
\n

Date Settled

\n {{(invoice?.receivedAt * 1000) | date:'dd/MMM/y HH:mm'}}\n
\n
\n \n
\n
\n

Payment Hash

\n {{invoice?.paymentHash}}\n
\n
\n \n
\n
\n

Node ID

\n {{invoice?.nodeId}}\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faReceipt, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { LoggerService } from '../../../shared/services/logger.service';\nimport { CommonService } from '../../../shared/services/common.service';\nimport { GetInfo, Invoice } from '../../../shared/models/eclModels';\nimport { ECLInvoiceInformation } from '../../../shared/models/alertData';\nimport { ScreenSizeEnum } from '../../../shared/services/consts-enums-functions';\nimport { RTLState } from '../../../store/rtl.state';\nimport { eclNodeInformation, invoices } from '../../store/ecl.selector';\nimport { ApiCallStatusPayload } from '../../../shared/models/apiCallsPayload';\n\n@Component({\n selector: 'rtl-ecl-invoice-information',\n templateUrl: './invoice-information.component.html',\n styleUrls: ['./invoice-information.component.scss']\n})\nexport class ECLInvoiceInformationComponent implements OnInit, OnDestroy {\n\n public faReceipt = faReceipt;\n public faExclamationTriangle = faExclamationTriangle;\n public showAdvanced = false;\n public newlyAdded = false;\n public invoice: Invoice;\n public qrWidth = 240;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public flgInvoicePaid = false;\n public flgVersionCompatible = true;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ECLInvoiceInformation, private logger: LoggerService, private commonService: CommonService, private snackBar: MatSnackBar, private store: Store) { }\n\n ngOnInit() {\n this.invoice = this.data.invoice;\n this.newlyAdded = !!this.data.newlyAdded;\n this.screenSize = this.commonService.getScreenSize();\n if (this.screenSize === ScreenSizeEnum.XS) {\n this.qrWidth = 220;\n }\n this.store.select(eclNodeInformation).pipe(takeUntil(this.unSubs[0])).\n subscribe((nodeInfo: GetInfo) => {\n this.flgVersionCompatible = this.commonService.isVersionCompatible(nodeInfo.version, '0.5.0');\n });\n this.store.select(invoices).pipe(takeUntil(this.unSubs[1])).\n subscribe((invoicesSelector: { invoices: Invoice[], apiCallStatus: ApiCallStatusPayload }) => {\n const invoiceStatus = this.invoice.status;\n const invoices = (invoicesSelector.invoices && invoicesSelector.invoices.length > 0) ? invoicesSelector.invoices : [];\n const foundInvoice = invoices?.find((invoice) => invoice.paymentHash === this.invoice.paymentHash) || null;\n if (foundInvoice) { this.invoice = foundInvoice; }\n if (invoiceStatus !== this.invoice.status && this.invoice.status === 'received') {\n this.flgInvoicePaid = true;\n setTimeout(() => { this.flgInvoicePaid = false; }, 4000);\n }\n this.logger.info(invoicesSelector);\n });\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n onShowAdvanced() {\n this.showAdvanced = !this.showAdvanced;\n }\n\n onCopyPayment(payload: string) {\n this.snackBar.open('Invoice copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { createAction, props } from '@ngrx/store';\n\nimport { LNDActions } from '../../shared/services/consts-enums-functions';\nimport { ApiCallStatusPayload } from '../../shared/models/apiCallsPayload';\nimport { SelNodeChild } from '../../shared/models/RTLconfig';\nimport {\n GetInfo, Peer, NetworkInfo, Fees, Channel, Invoice, ListInvoices, ChannelsTransaction, ClosedChannel, Transaction, SwitchReq,\n SwitchRes, QueryRoutes, LightningNode, UTXO, ListPayments, SavePeer, SaveInvoice, SaveChannel, CloseChannel, FetchInvoices,\n FetchPayments, SendPayment, GetNewAddress, GetQueryRoutes, InitWallet, ChannelLookup, SetRestoreChannelsList, NewlyAddedPeer,\n BlockchainBalance, SetPendingChannels, BackupChannels, SetAllLightningTransactions, Payment\n} from '../../shared/models/lndModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport const updateLNDAPICallStatus = createAction(LNDActions.UPDATE_API_CALL_STATUS_LND, props<{ payload: ApiCallStatusPayload }>());\n\nexport const resetLNDStore = createAction(LNDActions.RESET_LND_STORE, props<{ payload: SelNodeChild | null }>());\n\nexport const setChildNodeSettingsLND = createAction(LNDActions.SET_CHILD_NODE_SETTINGS_LND, props<{ payload: SelNodeChild }>());\n\nexport const fetchPageSettings = createAction(LNDActions.FETCH_PAGE_SETTINGS_LND);\n\nexport const setPageSettings = createAction(LNDActions.SET_PAGE_SETTINGS_LND, props<{ payload: PageSettings[] }>());\n\nexport const savePageSettings = createAction(LNDActions.SAVE_PAGE_SETTINGS_LND, props<{ payload: PageSettings[] }>());\n\nexport const fetchInfoLND = createAction(LNDActions.FETCH_INFO_LND, props<{ payload: { loadPage: string } }>());\n\nexport const setInfo = createAction(LNDActions.SET_INFO_LND, props<{ payload: GetInfo }>());\n\nexport const fetchPeers = createAction(LNDActions.FETCH_PEERS_LND);\n\nexport const setPeers = createAction(LNDActions.SET_PEERS_LND, props<{ payload: Peer[] }>());\n\nexport const saveNewPeer = createAction(LNDActions.SAVE_NEW_PEER_LND, props<{ payload: SavePeer }>());\n\nexport const newlyAddedPeer = createAction(LNDActions.NEWLY_ADDED_PEER_LND, props<{ payload: NewlyAddedPeer }>());\n\nexport const detachPeer = createAction(LNDActions.DETACH_PEER_LND, props<{ payload: { pubkey: string } }>());\n\nexport const removePeer = createAction(LNDActions.REMOVE_PEER_LND, props<{ payload: { pubkey: string } }>());\n\nexport const saveNewInvoice = createAction(LNDActions.SAVE_NEW_INVOICE_LND, props<{ payload: SaveInvoice }>());\n\nexport const newlySavedInvoice = createAction(LNDActions.NEWLY_SAVED_INVOICE_LND, props<{ payload: { paymentRequest: string } }>());\n\nexport const addInvoice = createAction(LNDActions.ADD_INVOICE_LND, props<{ payload: Invoice }>());\n\nexport const fetchFees = createAction(LNDActions.FETCH_FEES_LND);\n\nexport const setFees = createAction(LNDActions.SET_FEES_LND, props<{ payload: Fees }>());\n\nexport const fetchBalanceBlockchain = createAction(LNDActions.FETCH_BLOCKCHAIN_BALANCE_LND);\n\nexport const setBalanceBlockchain = createAction(LNDActions.SET_BLOCKCHAIN_BALANCE_LND, props<{ payload: BlockchainBalance }>());\n\nexport const fetchNetwork = createAction(LNDActions.FETCH_NETWORK_LND);\n\nexport const setNetwork = createAction(LNDActions.SET_NETWORK_LND, props<{ payload: NetworkInfo }>());\n\nexport const fetchChannels = createAction(LNDActions.FETCH_CHANNELS_LND);\n\nexport const setChannels = createAction(LNDActions.SET_CHANNELS_LND, props<{ payload: Channel[] }>());\n\nexport const fetchPendingChannels = createAction(LNDActions.FETCH_PENDING_CHANNELS_LND);\n\nexport const setPendingChannels = createAction(LNDActions.SET_PENDING_CHANNELS_LND, props<{ payload: SetPendingChannels }>());\n\nexport const fetchClosedChannels = createAction(LNDActions.FETCH_CLOSED_CHANNELS_LND);\n\nexport const setClosedChannels = createAction(LNDActions.SET_CLOSED_CHANNELS_LND, props<{ payload: ClosedChannel[] }>());\n\nexport const updateChannel = createAction(LNDActions.UPDATE_CHANNEL_LND, props<{ payload: any }>());\n\nexport const saveNewChannel = createAction(LNDActions.SAVE_NEW_CHANNEL_LND, props<{ payload: SaveChannel }>());\n\nexport const closeChannel = createAction(LNDActions.CLOSE_CHANNEL_LND, props<{ payload: CloseChannel }>());\n\nexport const removeChannel = createAction(LNDActions.REMOVE_CHANNEL_LND, props<{ payload: { channelPoint: string } }>());\n\nexport const backupChannels = createAction(LNDActions.BACKUP_CHANNELS_LND, props<{ payload: BackupChannels }>());\n\nexport const verifyChannel = createAction(LNDActions.VERIFY_CHANNEL_LND, props<{ payload: { channelPoint: string } }>());\n\nexport const backupChannelsRes = createAction(LNDActions.BACKUP_CHANNELS_RES_LND, props<{ payload: string }>());\n\nexport const verifyChannelRes = createAction(LNDActions.VERIFY_CHANNEL_RES_LND, props<{ payload: string }>());\n\nexport const restoreChannelsList = createAction(LNDActions.RESTORE_CHANNELS_LIST_LND);\n\nexport const setRestoreChannelsList = createAction(LNDActions.SET_RESTORE_CHANNELS_LIST_LND, props<{ payload: SetRestoreChannelsList }>());\n\nexport const restoreChannels = createAction(LNDActions.RESTORE_CHANNELS_LND, props<{ payload: { channelPoint: string } }>());\n\nexport const restoreChannelsRes = createAction(LNDActions.RESTORE_CHANNELS_RES_LND, props<{ payload: string }>());\n\nexport const fetchInvoices = createAction(LNDActions.FETCH_INVOICES_LND, props<{ payload: FetchInvoices }>());\n\nexport const setInvoices = createAction(LNDActions.SET_INVOICES_LND, props<{ payload: ListInvoices }>());\n\nexport const updateInvoice = createAction(LNDActions.UPDATE_INVOICE_LND, props<{ payload: Invoice }>());\n\nexport const updatePayment = createAction(LNDActions.UPDATE_PAYMENT_LND, props<{ payload: Payment }>());\n\nexport const fetchTransactions = createAction(LNDActions.FETCH_TRANSACTIONS_LND);\n\nexport const setTransactions = createAction(LNDActions.SET_TRANSACTIONS_LND, props<{ payload: Transaction[] }>());\n\nexport const fetchUTXOs = createAction(LNDActions.FETCH_UTXOS_LND);\n\nexport const setUTXOs = createAction(LNDActions.SET_UTXOS_LND, props<{ payload: UTXO[] }>());\n\nexport const fetchPayments = createAction(LNDActions.FETCH_PAYMENTS_LND, props<{ payload: FetchPayments }>());\n\nexport const setPayments = createAction(LNDActions.SET_PAYMENTS_LND, props<{ payload: ListPayments }>());\n\nexport const sendPayment = createAction(LNDActions.SEND_PAYMENT_LND, props<{ payload: SendPayment }>());\n\nexport const sendPaymentStatus = createAction(LNDActions.SEND_PAYMENT_STATUS_LND, props<{ payload: any }>());\n\nexport const fetchGraphNode = createAction(LNDActions.FETCH_GRAPH_NODE_LND, props<{ payload: { pubkey: string } }>());\n\nexport const setGraphNode = createAction(LNDActions.SET_GRAPH_NODE_LND, props<{ payload: { node: LightningNode } }>());\n\nexport const getNewAddress = createAction(LNDActions.GET_NEW_ADDRESS_LND, props<{ payload: GetNewAddress }>());\n\nexport const setNewAddress = createAction(LNDActions.SET_NEW_ADDRESS_LND, props<{ payload: string }>());\n\nexport const setChannelTransaction = createAction(LNDActions.SET_CHANNEL_TRANSACTION_LND, props<{ payload: ChannelsTransaction }>());\n\nexport const setChannelTransactionRes = createAction(LNDActions.SET_CHANNEL_TRANSACTION_RES_LND, props<{ payload: any }>());\n\nexport const genSeed = createAction(LNDActions.GEN_SEED_LND, props<{ payload: string }>());\n\nexport const genSeedResponse = createAction(LNDActions.GEN_SEED_RESPONSE_LND, props<{ payload: Array }>());\n\nexport const initWallet = createAction(LNDActions.INIT_WALLET_LND, props<{ payload: InitWallet }>());\n\nexport const initWalletResponse = createAction(LNDActions.INIT_WALLET_RESPONSE_LND, props<{ payload: string }>());\n\nexport const unlockWallet = createAction(LNDActions.UNLOCK_WALLET_LND, props<{ payload: { pwd: string } }>());\n\nexport const peerLookup = createAction(LNDActions.PEER_LOOKUP_LND, props<{ payload: string }>());\n\nexport const channelLookup = createAction(LNDActions.CHANNEL_LOOKUP_LND, props<{ payload: ChannelLookup }>());\n\nexport const invoiceLookup = createAction(LNDActions.INVOICE_LOOKUP_LND, props<{ payload: { openSnackBar: boolean, paymentHash?: string, paymentAddress?: string } }>());\n\nexport const paymentLookup = createAction(LNDActions.PAYMENT_LOOKUP_LND, props<{ payload: string }>());\n\nexport const setLookup = createAction(LNDActions.SET_LOOKUP_LND, props<{ payload: any }>());\n\nexport const getForwardingHistory = createAction(LNDActions.GET_FORWARDING_HISTORY_LND, props<{ payload: SwitchReq }>());\n\nexport const setForwardingHistory = createAction(LNDActions.SET_FORWARDING_HISTORY_LND, props<{ payload: SwitchRes }>());\n\nexport const getQueryRoutes = createAction(LNDActions.GET_QUERY_ROUTES_LND, props<{ payload: GetQueryRoutes }>());\n\nexport const setQueryRoutes = createAction(LNDActions.SET_QUERY_ROUTES_LND, props<{ payload: QueryRoutes }>());\n\nexport const getAllLightningTransactions = createAction(LNDActions.GET_ALL_LIGHTNING_TRANSATIONS_LND);\n\nexport const setAllLightningTransactions = createAction(LNDActions.SET_ALL_LIGHTNING_TRANSATIONS_LND, props<{ payload: SetAllLightningTransactions }>());\n","/* eslint-disable no-unsafe-optional-chaining */\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { of, Subject } from 'rxjs';\nimport { map, mergeMap, catchError, withLatestFrom, takeUntil } from 'rxjs/operators';\nimport { Location } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { environment, API_URL } from '../../../environments/environment';\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { CommonService } from '../../shared/services/common.service';\nimport { SessionService } from '../../shared/services/session.service';\nimport { GetInfo, Fees, BlockchainBalance, NetworkInfo, GraphNode, Transaction, SwitchReq, ListInvoices,\n PendingChannelsSummary, UTXO, ListPayments, SavePeer, SaveInvoice, SaveChannel, CloseChannel, FetchInvoices, FetchPayments,\n SendPayment, LightningNode, GetNewAddress, ChannelsTransaction, GetQueryRoutes, QueryRoutes, InitWallet, ChannelLookup,\n SetRestoreChannelsList } from '../../shared/models/lndModels';\nimport { InvoiceInformationComponent } from '../transactions/invoice-information-modal/invoice-information.component';\nimport { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component';\nimport { RTLActions, LNDActions, AlertTypeEnum, APICallStatusEnum, FEE_LIMIT_TYPES, PAGE_SIZE, UI_MESSAGES, LNDWSEventTypeEnum, LND_DEFAULT_PAGE_SETTINGS } from '../../shared/services/consts-enums-functions';\nimport { closeAllDialogs, closeSpinner, logout, openAlert, openSnackBar, openSpinner, setApiUrl, setNodeData } from '../../store/rtl.actions';\nimport { RTLState } from '../../store/rtl.state';\n\nimport { backupChannels, fetchBalanceBlockchain, fetchClosedChannels, fetchFees, fetchInfoLND, fetchInvoices, fetchNetwork, fetchPayments,\n fetchPeers, fetchPendingChannels, fetchTransactions, setForwardingHistory, setPeers, setQueryRoutes, setRestoreChannelsList,\n updateLNDAPICallStatus, updateInvoice, fetchChannels, updatePayment, fetchPageSettings } from './lnd.actions';\nimport { allAPIsCallStatus, lndNodeInformation, lndPageSettings } from './lnd.selector';\nimport { ApiCallsListLND, ApiCallStatusPayload } from '../../shared/models/apiCallsPayload';\nimport { WebSocketClientService } from '../../shared/services/web-socket.service';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\n@Injectable()\nexport class LNDEffects implements OnDestroy {\n\n dialogRef: any;\n CHILD_API_URL = API_URL + '/lnd';\n private invoicesPageSize = PAGE_SIZE;\n private paymentsPageSize = PAGE_SIZE;\n private flgInitialized = false;\n private unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(\n private actions: Actions,\n private httpClient: HttpClient,\n private store: Store,\n private logger: LoggerService,\n private commonService: CommonService,\n private sessionService: SessionService,\n public dialog: MatDialog,\n private router: Router,\n private wsService: WebSocketClientService,\n private location: Location\n ) {\n this.store.select(allAPIsCallStatus).pipe(takeUntil(this.unSubs[0])).\n subscribe((allApisCallStatus: ApiCallsListLND) => {\n if (\n ((allApisCallStatus.FetchInfo.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchInfo.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchFees.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchFees.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchBalanceBlockchain.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchBalanceBlockchain.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchAllChannels.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchAllChannels.status === APICallStatusEnum.ERROR) &&\n (allApisCallStatus.FetchPendingChannels.status === APICallStatusEnum.COMPLETED || allApisCallStatus.FetchPendingChannels.status === APICallStatusEnum.ERROR)) &&\n !this.flgInitialized\n ) {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.flgInitialized = true;\n }\n });\n this.wsService.lndWSMessages.pipe(takeUntil(this.unSubs[1])).\n subscribe((newMessage) => {\n this.logger.info('Received new message from the service: ' + JSON.stringify(newMessage));\n if (newMessage) {\n switch (newMessage.type) {\n case LNDWSEventTypeEnum.INVOICE:\n this.logger.info(newMessage);\n if (newMessage && newMessage.result && newMessage.result.payment_request) {\n this.store.dispatch(updateInvoice({ payload: newMessage.result }));\n }\n break;\n default:\n this.logger.info('Received Event from WS: ' + JSON.stringify(newMessage));\n break;\n }\n }\n });\n }\n\n infoFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_INFO_LND),\n mergeMap((action: { type: string, payload: { loadPage: string } }) => {\n this.flgInitialized = false;\n this.store.dispatch(setApiUrl({ payload: this.CHILD_API_URL }));\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_NODE_INFO }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.GETINFO_API).pipe(\n takeUntil(this.actions.pipe(ofType(RTLActions.SET_SELECTED_NODE))),\n map((info) => {\n this.logger.info(info);\n if (info.chains && info.chains.length && info.chains[0] && (\n (typeof info.chains[0] === 'string' && info.chains[0].toLowerCase().indexOf('bitcoin') < 0) ||\n (typeof info.chains[0] === 'object' && info.chains[0].hasOwnProperty('chain') && info.chains[0].chain && info.chains[0].chain.toLowerCase().indexOf('bitcoin') < 0)\n )\n ) {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.ERROR,\n alertTitle: 'Shitcoin Found',\n titleMessage: 'Sorry Not Sorry, RTL is Bitcoin Only!'\n }\n }\n }));\n return { type: RTLActions.LOGOUT };\n } else if (!info.identity_pubkey) {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE\n this.sessionService.removeItem('lndUnlocked');\n this.logger.info('Redirecting to Unlock');\n this.router.navigate(['/lnd/wallet']);\n return {\n type: LNDActions.SET_INFO_LND,\n payload: {}\n };\n } else {\n info.lnImplementation = 'LND';\n this.initializeRemainingData(info, action.payload.loadPage);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInfo', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeAllDialogs()); // Multiple UI_MESSAGES.GET_NODE_INFO after unlock & UI_MESSAGES.WAIT_SYNC_NODE\n return {\n type: LNDActions.SET_INFO_LND,\n payload: info ? info : {}\n };\n }\n }),\n catchError((err) => {\n if (\n (typeof err.error.error === 'string' && err.error.error.includes('Not Found')) ||\n (typeof err.error.error === 'string' && err.error.error.includes('wallet locked')) ||\n (err.status === 502 && !err.error.message.includes('Bad or Missing Macaroon'))\n ) {\n this.sessionService.removeItem('lndUnlocked');\n this.logger.info('Redirecting to Unlock');\n this.router.navigate(['/lnd/wallet']);\n this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', err);\n } else if (typeof err.error.error === 'string' && err.error.error.includes('starting up') && err.status === 500) {\n setTimeout(() => {\n this.store.dispatch(fetchInfoLND({ payload: { loadPage: 'HOME' } }));\n }, 2000);\n } else {\n const code = this.commonService.extractErrorCode(err);\n const msg = (code === 503) ? 'Unable to Connect to LND Server.' : this.commonService.extractErrorMessage(err);\n this.router.navigate(['/error'], { state: { errorCode: code, errorMessage: msg } });\n this.handleErrorWithoutAlert('FetchInfo', UI_MESSAGES.GET_NODE_INFO, 'Fetching Node Info Failed.', { status: code, error: msg });\n }\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n peersFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_PEERS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PEERS_API).pipe(\n map((peers: any) => {\n this.logger.info(peers);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPeers', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_PEERS_LND,\n payload: peers || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPeers', UI_MESSAGES.NO_SPINNER, 'Fetching Peers Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n saveNewPeer = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SAVE_NEW_PEER_LND),\n mergeMap((action: { type: string, payload: SavePeer }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.PEERS_API, { pubkey: action.payload.pubkey, host: action.payload.host, perm: action.payload.perm }).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.CONNECT_PEER }));\n this.store.dispatch(setPeers({ payload: (postRes || []) }));\n return {\n type: LNDActions.NEWLY_ADDED_PEER_LND,\n payload: { peer: postRes[0] }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewPeer', UI_MESSAGES.CONNECT_PEER, 'Peer Connection Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n detachPeer = createEffect(() => this.actions.pipe(\n ofType(LNDActions.DETACH_PEER_LND),\n mergeMap((action: { type: string, payload: { pubkey: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n return this.httpClient.delete(this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DISCONNECT_PEER }));\n this.store.dispatch(openSnackBar({ payload: 'Peer Disconnected Successfully.' }));\n return {\n type: LNDActions.REMOVE_PEER_LND,\n payload: { pubkey: action.payload.pubkey }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('DetachPeer', UI_MESSAGES.DISCONNECT_PEER, 'Unable to Detach Peer. Try again later.', this.CHILD_API_URL + environment.PEERS_API + '/' + action.payload.pubkey, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n saveNewInvoice = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SAVE_NEW_INVOICE_LND),\n mergeMap((action: { type: string, payload: SaveInvoice }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewInvoice', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.INVOICES_API, {\n memo: action.payload.memo, value: action.payload.value, private: action.payload.private, expiry: action.payload.expiry, is_amp: action.payload.is_amp\n }).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewInvoice', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: action.payload.pageSize, reversed: true } }));\n if (action.payload.openModal) {\n postRes.memo = action.payload.memo;\n postRes.value = action.payload.value;\n postRes.expiry = action.payload.expiry;\n postRes.private = action.payload.private;\n postRes.is_amp = action.payload.is_amp;\n postRes.cltv_expiry = '144';\n postRes.creation_date = Math.round(new Date().getTime() / 1000).toString();\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n invoice: postRes,\n newlyAdded: true,\n component: InvoiceInformationComponent\n }\n }\n }));\n }, 200);\n return {\n type: RTLActions.CLOSE_SPINNER,\n payload: action.payload.uiMessage\n };\n } else {\n return {\n type: LNDActions.NEWLY_SAVED_INVOICE_LND,\n payload: { paymentRequest: postRes.payment_request }\n };\n }\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewInvoice', action.payload.uiMessage, 'Add Invoice Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n openNewChannel = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SAVE_NEW_CHANNEL_LND),\n mergeMap((action: { type: string, payload: SaveChannel }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API, {\n node_pubkey: action.payload.selectedPeerPubkey, local_funding_amount: action.payload.fundingAmount, private: action.payload.private,\n trans_type: action.payload.transType, trans_type_value: action.payload.transTypeValue, spend_unconfirmed: action.payload.spendUnconfirmed\n }).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SaveNewChannel', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.OPEN_CHANNEL }));\n this.store.dispatch(fetchBalanceBlockchain());\n this.store.dispatch(fetchChannels());\n this.store.dispatch(backupChannels({ payload: { uiMessage: UI_MESSAGES.NO_SPINNER, channelPoint: 'ALL', showMessage: 'Channel Added Successfully!' } }));\n return {\n type: LNDActions.FETCH_PENDING_CHANNELS_LND\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SaveNewChannel', UI_MESSAGES.OPEN_CHANNEL, 'Opening Channel Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n updateChannel = createEffect(() => this.actions.pipe(\n ofType(LNDActions.UPDATE_CHANNEL_LND),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/chanPolicy',\n { baseFeeMsat: action.payload.baseFeeMsat,\n feeRate: action.payload.feeRate,\n timeLockDelta: action.payload.timeLockDelta,\n max_htlc_msat: action.payload.maxHtlcMsat,\n min_htlc_msat: action.payload.minHtlcMsat,\n chanPoint: action.payload.chanPoint }\n ).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_CHAN_POLICY }));\n if (action.payload.chanPoint === 'all') {\n this.store.dispatch(openSnackBar({ payload: 'All Channels Updated Successfully.' }));\n } else {\n this.store.dispatch(openSnackBar({ payload: 'Channel Updated Successfully!' }));\n }\n return {\n type: LNDActions.FETCH_CHANNELS_LND\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('UpdateChannels', UI_MESSAGES.UPDATE_CHAN_POLICY, 'Update Channel Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/chanPolicy', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n closeChannel = createEffect(() => this.actions.pipe(\n ofType(LNDActions.CLOSE_CHANNEL_LND),\n mergeMap((action: { type: string, payload: CloseChannel }) => {\n this.store.dispatch(openSpinner({ payload: (action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL) }));\n let reqUrl = this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelPoint + '?force=' + action.payload.forcibly;\n if (action.payload.targetConf) {\n reqUrl = reqUrl + '&target_conf=' + action.payload.targetConf;\n }\n if (action.payload.satPerByte) {\n reqUrl = reqUrl + '&sat_per_byte=' + action.payload.satPerByte;\n }\n return this.httpClient.delete(reqUrl).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL }));\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchPendingChannels());\n this.store.dispatch(backupChannels({ payload: { uiMessage: UI_MESSAGES.NO_SPINNER, channelPoint: 'ALL', showMessage: postRes.message } }));\n return { type: RTLActions.VOID };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('CloseChannel', (action.payload.forcibly ? UI_MESSAGES.FORCE_CLOSE_CHANNEL : UI_MESSAGES.CLOSE_CHANNEL), 'Unable to Close Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_API + '/' + action.payload.channelPoint + '?force=' + action.payload.forcibly, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n backupChannels = createEffect(() => this.actions.pipe(\n ofType(LNDActions.BACKUP_CHANNELS_LND),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'BackupChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'BackupChannels', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(openSnackBar({ payload: action.payload.showMessage + ' ' + postRes.message }));\n return {\n type: LNDActions.BACKUP_CHANNELS_RES_LND,\n payload: postRes.message\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('BackupChannels', action.payload.uiMessage, action.payload.showMessage + ' Unable to Backup Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/' + action.payload.channelPoint, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n verifyChannel = createEffect(() => this.actions.pipe(\n ofType(LNDActions.VERIFY_CHANNEL_LND),\n mergeMap((action: { type: string, payload: { channelPoint: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.VERIFY_CHANNEL }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'VerifyChannel', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, {}).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'VerifyChannel', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.VERIFY_CHANNEL }));\n this.store.dispatch(openSnackBar({ payload: postRes.message }));\n return {\n type: LNDActions.VERIFY_CHANNEL_RES_LND,\n payload: postRes.message\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('VerifyChannel', UI_MESSAGES.VERIFY_CHANNEL, 'Unable to Verify Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/verify/' + action.payload.channelPoint, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n restoreChannels = createEffect(() => this.actions.pipe(\n ofType(LNDActions.RESTORE_CHANNELS_LND),\n mergeMap((action: { type: string, payload: { channelPoint: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.RESTORE_CHANNEL }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'RestoreChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, {}).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'RestoreChannels', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.RESTORE_CHANNEL }));\n this.store.dispatch(openSnackBar({ payload: postRes.message }));\n this.store.dispatch(setRestoreChannelsList({ payload: postRes.list }));\n return {\n type: LNDActions.RESTORE_CHANNELS_RES_LND,\n payload: postRes.message\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('RestoreChannels', UI_MESSAGES.RESTORE_CHANNEL, 'Unable to Restore Channel. Try again later.', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/' + action.payload.channelPoint, err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n fetchFees = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_FEES_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.FEES_API);\n }),\n map((fees) => {\n this.logger.info(fees);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchFees', status: APICallStatusEnum.COMPLETED } }));\n if (fees.forwarding_events_history) {\n this.store.dispatch(setForwardingHistory({ payload: fees.forwarding_events_history }));\n delete fees.forwarding_events_history;\n }\n return {\n type: LNDActions.SET_FEES_LND,\n payload: fees ? fees : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchFees', UI_MESSAGES.NO_SPINNER, 'Fetching Fees Failed.', err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n balanceBlockchainFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_BLOCKCHAIN_BALANCE_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchBalance', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.BALANCE_API);\n }),\n map((res: any) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchBalance', status: APICallStatusEnum.COMPLETED } }));\n this.logger.info(res);\n return {\n type: LNDActions.SET_BLOCKCHAIN_BALANCE_LND,\n payload: res ? res : { total_balance: '' }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchBalance', UI_MESSAGES.NO_SPINNER, 'Fetching Blockchain Balance Failed.', err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n networkInfoFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_NETWORK_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchNetwork', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/info');\n }),\n map((networkInfo) => {\n this.logger.info(networkInfo);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchNetwork', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_NETWORK_LND,\n payload: networkInfo ? networkInfo : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchNetwork', UI_MESSAGES.NO_SPINNER, 'Fetching Network Failed.', err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n channelsFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_CHANNELS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API).pipe(\n map((channels: any) => {\n this.logger.info(channels);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchChannels', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_CHANNELS_LND,\n payload: channels.channels || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Channels Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n channelsPendingFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_PENDING_CHANNELS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPendingChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/pending').pipe(\n map((pendingChannels: any) => {\n this.logger.info(pendingChannels);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPendingChannels', status: APICallStatusEnum.COMPLETED } }));\n const pendingChannelsSummary: PendingChannelsSummary = { open: { num_channels: 0, limbo_balance: 0 }, closing: { num_channels: 0, limbo_balance: 0 }, force_closing: { num_channels: 0, limbo_balance: 0 }, waiting_close: { num_channels: 0, limbo_balance: 0 }, total_channels: 0, total_limbo_balance: 0 };\n if (pendingChannels) {\n pendingChannelsSummary.total_limbo_balance = pendingChannels.total_limbo_balance;\n if (pendingChannels.pending_closing_channels) {\n pendingChannelsSummary.closing!.num_channels = pendingChannels.pending_closing_channels.length;\n pendingChannelsSummary.total_channels = pendingChannelsSummary.total_channels + pendingChannels.pending_closing_channels.length;\n pendingChannels.pending_closing_channels.forEach((closingChannel) => {\n pendingChannelsSummary.closing!.limbo_balance = +pendingChannelsSummary.closing!.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0);\n });\n }\n if (pendingChannels.pending_force_closing_channels) {\n pendingChannelsSummary.force_closing!.num_channels = pendingChannels.pending_force_closing_channels.length;\n pendingChannelsSummary.total_channels = pendingChannelsSummary.total_channels + pendingChannels.pending_force_closing_channels.length;\n pendingChannels.pending_force_closing_channels.forEach((closingChannel) => {\n pendingChannelsSummary.force_closing!.limbo_balance = +pendingChannelsSummary.force_closing!.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0);\n });\n }\n if (pendingChannels.pending_open_channels) {\n pendingChannelsSummary.open!.num_channels = pendingChannels.pending_open_channels.length;\n pendingChannelsSummary.total_channels = pendingChannelsSummary.total_channels + pendingChannels.pending_open_channels.length;\n pendingChannels.pending_open_channels.forEach((openingChannel) => {\n pendingChannelsSummary.open!.limbo_balance = +pendingChannelsSummary.open!.limbo_balance + (openingChannel.channel.local_balance ? +openingChannel.channel.local_balance : 0);\n });\n }\n if (pendingChannels.waiting_close_channels) {\n pendingChannelsSummary.waiting_close!.num_channels = pendingChannels.waiting_close_channels.length;\n pendingChannelsSummary.total_channels = pendingChannelsSummary.total_channels + pendingChannels.waiting_close_channels.length;\n pendingChannels.waiting_close_channels.forEach((closingChannel) => {\n pendingChannelsSummary.waiting_close!.limbo_balance = +pendingChannelsSummary.waiting_close!.limbo_balance + (closingChannel.channel.local_balance ? +closingChannel.channel.local_balance : 0);\n });\n }\n }\n return {\n type: LNDActions.SET_PENDING_CHANNELS_LND,\n payload: pendingChannels ? { pendingChannels: pendingChannels, pendingChannelsSummary: pendingChannelsSummary } : { pendingChannels: {}, pendingChannelsSummary: pendingChannelsSummary }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPendingChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Pending Channels Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n channelsClosedFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_CLOSED_CHANNELS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchClosedChannels', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_API + '/closed').pipe(\n map((channels: any) => {\n this.logger.info(channels);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchClosedChannels', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_CLOSED_CHANNELS_LND,\n payload: channels.channels || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchClosedChannels', UI_MESSAGES.NO_SPINNER, 'Fetching Closed Channels Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n invoicesFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_INVOICES_LND),\n mergeMap((action: { type: string, payload: FetchInvoices }) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.INITIATED } }));\n const num_max_invoices = (action.payload.num_max_invoices) ? action.payload.num_max_invoices : 100;\n const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0;\n const reversed = (action.payload.reversed) ? action.payload.reversed : false;\n return this.httpClient.get(this.CHILD_API_URL + environment.INVOICES_API + '?num_max_invoices=' + num_max_invoices + '&index_offset=' + index_offset + '&reversed=' + reversed).pipe(\n map((res: ListInvoices) => {\n this.logger.info(res);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchInvoices', status: APICallStatusEnum.COMPLETED } }));\n if (action.payload.reversed && !action.payload.index_offset) {\n res['total_invoices'] = +(res.last_index_offset || 0);\n }\n return {\n type: LNDActions.SET_INVOICES_LND,\n payload: res\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchInvoices', UI_MESSAGES.NO_SPINNER, 'Fetching Invoices Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n transactionsFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_TRANSACTIONS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchTransactions', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.TRANSACTIONS_API);\n }),\n map((transactions) => {\n this.logger.info(transactions);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchTransactions', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_TRANSACTIONS_LND,\n payload: transactions || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching Transactions Failed.', err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n utxosFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_UTXOS_LND),\n withLatestFrom(this.store.select(lndNodeInformation)),\n mergeMap(([action, nodeInfo]: [{ type: string, payload: any }, GetInfo]) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchUTXOs', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/getUTXOs?max_confs=' + (nodeInfo && nodeInfo.block_height ? nodeInfo.block_height : 1000000000));\n }),\n map((utxos) => {\n this.logger.info(utxos);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchUTXOs', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_UTXOS_LND,\n payload: utxos || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchUTXOs', UI_MESSAGES.NO_SPINNER, 'Fetching UTXOs Failed.', err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n paymentsFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_PAYMENTS_LND),\n mergeMap((action: { type: string, payload: FetchPayments }) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.INITIATED } }));\n const max_payments = (action.payload.max_payments) ? action.payload.max_payments : 100;\n const index_offset = (action.payload.index_offset) ? action.payload.index_offset : 0;\n const reversed = (action.payload.reversed) ? action.payload.reversed : false;\n return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '?max_payments=' + max_payments + '&index_offset=' + index_offset + '&reversed=' + reversed).\n pipe(map((res: ListPayments) => {\n this.logger.info(res);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPayments', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_PAYMENTS_LND,\n payload: res\n };\n }), catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPayments', UI_MESSAGES.NO_SPINNER, 'Fetching Payments Failed.', err);\n return of({\n type: LNDActions.SET_PAYMENTS_LND,\n payload: { payments: [] }\n });\n }));\n }))\n );\n\n sendPayment = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SEND_PAYMENT_LND),\n mergeMap((action: { type: string, payload: SendPayment }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.INITIATED } }));\n const queryHeaders = {};\n queryHeaders['paymentReq'] = action.payload.paymentReq;\n if (action.payload.paymentAmount) {\n queryHeaders['paymentAmount'] = action.payload.paymentAmount;\n }\n if (action.payload.outgoingChannel) {\n queryHeaders['outgoingChannel'] = action.payload.outgoingChannel.chan_id;\n }\n if (action.payload.allowSelfPayment) {\n queryHeaders['allowSelfPayment'] = action.payload.allowSelfPayment;\n } // Channel Rebalancing\n if (action.payload.lastHopPubkey) {\n queryHeaders['lastHopPubkey'] = action.payload.lastHopPubkey;\n }\n if (action.payload.feeLimitType && action.payload.feeLimitType !== FEE_LIMIT_TYPES[0].id) {\n queryHeaders['feeLimit'] = {};\n queryHeaders['feeLimit'][action.payload.feeLimitType] = action.payload.feeLimit;\n }\n return this.httpClient.post(this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', queryHeaders).pipe(\n map((sendRes: any) => {\n this.logger.info(sendRes);\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.COMPLETED } }));\n if (sendRes.payment_error) {\n if (action.payload.allowSelfPayment) {\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: this.invoicesPageSize, reversed: true } }));\n return {\n type: LNDActions.SEND_PAYMENT_STATUS_LND,\n payload: sendRes\n };\n } else {\n if (action.payload.fromDialog) {\n this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', sendRes.payment_error);\n } else {\n this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', sendRes.payment_error);\n }\n return { type: RTLActions.VOID };\n }\n } else {\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SendPayment', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchPayments({ payload: { max_payments: this.paymentsPageSize, reversed: true } }));\n if (action.payload.allowSelfPayment) {\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: this.invoicesPageSize, reversed: true } }));\n } else {\n let msg = 'Payment Sent Successfully.';\n if (sendRes.payment_route && sendRes.payment_route.total_fees_msat) {\n msg = 'Payment sent successfully with the total fee ' + sendRes.payment_route.total_fees_msat + ' (mSats).';\n }\n this.store.dispatch(openSnackBar({ payload: msg }));\n }\n return {\n type: LNDActions.SEND_PAYMENT_STATUS_LND,\n payload: sendRes\n };\n }\n }),\n catchError((err: any) => {\n this.logger.error('Error: ' + JSON.stringify(err));\n if (action.payload.allowSelfPayment) {\n this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err);\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: this.invoicesPageSize, reversed: true } }));\n return of({\n type: LNDActions.SEND_PAYMENT_STATUS_LND,\n payload: { error: this.commonService.extractErrorMessage(err) }\n });\n } else {\n if (action.payload.fromDialog) {\n this.handleErrorWithoutAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed.', err);\n } else {\n this.handleErrorWithAlert('SendPayment', action.payload.uiMessage, 'Send Payment Failed', this.CHILD_API_URL + environment.CHANNELS_API + '/transactions', err);\n }\n return of({ type: RTLActions.VOID });\n }\n }));\n }))\n );\n\n graphNodeFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_GRAPH_NODE_LND),\n mergeMap((action: { type: string, payload: { pubkey: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_NODE_ADDRESS }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchGraphNode', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload.pubkey).pipe(\n map((graphNode: any) => {\n this.logger.info(graphNode);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_NODE_ADDRESS }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchGraphNode', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_GRAPH_NODE_LND,\n payload: graphNode && graphNode.node ? { node: graphNode.node } : { node: null }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchGraphNode', UI_MESSAGES.GET_NODE_ADDRESS, 'Fetching Graph Node Failed.', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n setGraphNode = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.SET_GRAPH_NODE_LND),\n map((action: { type: string, payload: { node: LightningNode } }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n getNewAddress = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.GET_NEW_ADDRESS_LND),\n mergeMap((action: { type: string, payload: GetNewAddress }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId).pipe(\n map((newAddress: any) => {\n this.logger.info(newAddress);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GENERATE_NEW_ADDRESS }));\n return {\n type: LNDActions.SET_NEW_ADDRESS_LND,\n payload: (newAddress && newAddress.address) ? newAddress.address : {}\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('GetNewAddress', UI_MESSAGES.GENERATE_NEW_ADDRESS, 'Generate New Address Failed', this.CHILD_API_URL + environment.NEW_ADDRESS_API + '?type=' + action.payload.addressId, err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n setNewAddress = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.SET_NEW_ADDRESS_LND),\n map((action: { type: string, payload: string }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n SetChannelTransaction = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SET_CHANNEL_TRANSACTION_LND),\n mergeMap((action: { type: string, payload: ChannelsTransaction }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SetChannelTransaction', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(\n this.CHILD_API_URL + environment.TRANSACTIONS_API,\n { amount: action.payload.amount, address: action.payload.address, sendAll: action.payload.sendAll, fees: action.payload.fees, blocks: action.payload.blocks }\n ).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SetChannelTransaction', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEND_FUNDS }));\n this.store.dispatch(fetchTransactions());\n this.store.dispatch(fetchBalanceBlockchain());\n this.store.dispatch(fetchChannels());\n return {\n type: LNDActions.SET_CHANNEL_TRANSACTION_RES_LND,\n payload: postRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('SetChannelTransaction', UI_MESSAGES.SEND_FUNDS, 'Sending Fund Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n fetchForwardingHistory = createEffect(() => this.actions.pipe(\n ofType(LNDActions.GET_FORWARDING_HISTORY_LND),\n mergeMap((action: { type: string, payload: SwitchReq }) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchForwardingHistory', status: APICallStatusEnum.INITIATED } }));\n const queryHeaders: SwitchReq = {\n num_max_events: action.payload.num_max_events, index_offset: action.payload.index_offset, end_time: action.payload.end_time, start_time: action.payload.start_time\n };\n return this.httpClient.post(this.CHILD_API_URL + environment.SWITCH_API, queryHeaders).pipe(\n map((fhRes: any) => {\n this.logger.info(fhRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchForwardingHistory', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_FORWARDING_HISTORY_LND,\n payload: fhRes\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('FetchForwardingHistory', UI_MESSAGES.NO_SPINNER, 'Get Forwarding History Failed', this.CHILD_API_URL + environment.SWITCH_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n queryRoutesFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.GET_QUERY_ROUTES_LND),\n mergeMap((action: { type: string, payload: GetQueryRoutes }) => {\n let url = this.CHILD_API_URL + environment.NETWORK_API + '/routes/' + action.payload.destPubkey + '/' + action.payload.amount;\n if (action.payload.outgoingChanId) {\n url = url + '?outgoing_chan_id=' + action.payload.outgoingChanId;\n }\n return this.httpClient.get(url).pipe(\n map((qrRes: any) => {\n this.logger.info(qrRes);\n return {\n type: LNDActions.SET_QUERY_ROUTES_LND,\n payload: qrRes\n };\n }),\n catchError((err: any) => {\n this.store.dispatch(setQueryRoutes({ payload: { routes: [] } }));\n this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + environment.NETWORK_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n setQueryRoutes = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.SET_QUERY_ROUTES_LND),\n map((action: { type: string, payload: QueryRoutes }) => action.payload)),\n { dispatch: false }\n );\n\n genSeed = createEffect(() => this.actions.pipe(\n ofType(LNDActions.GEN_SEED_LND),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GEN_SEED }));\n return this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload).pipe(\n map((postRes: any) => {\n this.logger.info('Generated GenSeed!');\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GEN_SEED }));\n return {\n type: LNDActions.GEN_SEED_RESPONSE_LND,\n payload: postRes.cipher_seed_mnemonic\n };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('GenSeed', UI_MESSAGES.GEN_SEED, 'Genseed Generation Failed', this.CHILD_API_URL + environment.WALLET_API + '/genseed/' + action.payload, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n updateSelNodeOptions = createEffect(() => this.actions.pipe(\n ofType(RTLActions.UPDATE_SELECTED_NODE_OPTIONS),\n mergeMap(() => this.httpClient.get(this.CHILD_API_URL + environment.WALLET_API + '/updateSelNodeOptions').pipe(\n map((postRes: any) => {\n this.logger.info('Update Sel Node Successfull');\n this.logger.info(postRes);\n return {\n type: RTLActions.VOID\n };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('UpdateSelectedNodeOptions', UI_MESSAGES.NO_SPINNER, 'Update macaroon for newly initialized node failed! Please check the macaroon path and restart the server!', 'Update Macaroon', err);\n return of({ type: RTLActions.VOID });\n })\n )))\n );\n\n genSeedResponse = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.GEN_SEED_RESPONSE_LND),\n map((action: { type: string, payload: Array }) => action.payload)),\n { dispatch: false }\n );\n\n initWalletRes = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.INIT_WALLET_RESPONSE_LND),\n map((action: { type: string, payload: string }) => action.payload)),\n { dispatch: false }\n );\n\n initWallet = createEffect(() => this.actions.pipe(\n ofType(LNDActions.INIT_WALLET_LND),\n mergeMap((action: { type: string, payload: InitWallet }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.INITIALIZE_WALLET }));\n return this.httpClient.post(\n this.CHILD_API_URL + environment.WALLET_API + '/wallet/initwallet',\n {\n wallet_password: action.payload.pwd,\n cipher_seed_mnemonic: action.payload.cipher ? action.payload.cipher : '',\n aezeed_passphrase: action.payload.passphrase ? action.payload.passphrase : ''\n }\n ).pipe(\n map((postRes) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.INITIALIZE_WALLET }));\n return {\n type: LNDActions.INIT_WALLET_RESPONSE_LND,\n payload: postRes\n };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('InitWallet', UI_MESSAGES.INITIALIZE_WALLET, 'Wallet Initialization Failed', this.CHILD_API_URL + environment.WALLET_API + '/initwallet', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n unlockWallet = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.UNLOCK_WALLET_LND),\n mergeMap((action: { type: string, payload: { pwd: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UNLOCK_WALLET }));\n return this.httpClient.post(this.CHILD_API_URL + environment.WALLET_API + '/wallet/unlockwallet', { wallet_password: action.payload.pwd }).pipe(\n map((postRes) => {\n this.logger.info(postRes);\n this.logger.info('Successfully Unlocked!');\n this.sessionService.setItem('lndUnlocked', 'true');\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UNLOCK_WALLET }));\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.WAIT_SYNC_NODE }));\n setTimeout(() => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.WAIT_SYNC_NODE }));\n this.store.dispatch(fetchInfoLND({ payload: { loadPage: 'HOME' } }));\n }, 5000);\n return { type: RTLActions.VOID };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('UnlockWallet', UI_MESSAGES.UNLOCK_WALLET, 'Unlock Wallet Failed', this.CHILD_API_URL + environment.WALLET_API + '/unlockwallet', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })),\n { dispatch: false }\n );\n\n peerLookup = createEffect(() => this.actions.pipe(\n ofType(LNDActions.PEER_LOOKUP_LND),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload).pipe(\n map((resPeer) => {\n this.logger.info(resPeer);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_NODE }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_LOOKUP_LND,\n payload: resPeer\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/node/' + action.payload, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n channelLookup = createEffect(() => this.actions.pipe(\n ofType(LNDActions.CHANNEL_LOOKUP_LND),\n mergeMap((action: { type: string, payload: ChannelLookup }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload.channelID).pipe(\n map((resChannel) => {\n this.logger.info(resChannel);\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_LOOKUP_LND,\n payload: resChannel\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('Lookup', action.payload.uiMessage, 'Channel Lookup Failed', this.CHILD_API_URL + environment.NETWORK_API + '/edge/' + action.payload.channelID, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n invoiceLookup = createEffect(() => this.actions.pipe(\n ofType(LNDActions.INVOICE_LOOKUP_LND),\n mergeMap((action: { type: string, payload: { openSnackBar: boolean, paymentHash?: string, paymentAddress?: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n let lookupUrl = this.CHILD_API_URL + environment.INVOICES_API + '/lookup';\n if (action.payload.paymentAddress && action.payload.paymentAddress !== '') {\n lookupUrl = lookupUrl + '?payment_addr=' + action.payload.paymentAddress;\n } else {\n lookupUrl = lookupUrl + '?payment_hash=' + action.payload.paymentHash;\n }\n return this.httpClient.get(lookupUrl).pipe(\n map((resInvoice) => {\n this.logger.info(resInvoice);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_INVOICE }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(updateInvoice({ payload: resInvoice }));\n return {\n type: LNDActions.SET_LOOKUP_LND,\n payload: resInvoice\n };\n }),\n catchError((err: any) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.ERROR } }));\n this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_INVOICE, 'Invoice Lookup Failed', err);\n if (action.payload.openSnackBar) {\n this.store.dispatch(openSnackBar({ payload: { message: 'Invoice Refresh Failed.', type: 'ERROR' } }));\n }\n return of({\n type: LNDActions.SET_LOOKUP_LND,\n payload: { error: err }\n });\n })\n );\n }))\n );\n\n paymentLookup = createEffect(() => this.actions.pipe(\n ofType(LNDActions.PAYMENT_LOOKUP_LND),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_PAYMENT }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/lookup/' + action.payload).pipe(\n map((resPayment: any) => {\n this.logger.info(resPayment);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SEARCHING_PAYMENT }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(updatePayment({ payload: resPayment }));\n return {\n type: LNDActions.SET_LOOKUP_LND,\n payload: resPayment\n };\n }),\n catchError((err: any) => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.ERROR } }));\n this.handleErrorWithoutAlert('Lookup', UI_MESSAGES.SEARCHING_PAYMENT, 'Payment Lookup Failed', err);\n return of({\n type: LNDActions.SET_LOOKUP_LND,\n payload: { error: err }\n });\n })\n );\n }))\n );\n\n setLookup = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.SET_LOOKUP_LND),\n map((action: { type: string, payload: any }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n getRestoreChannelList = createEffect(() => this.actions.pipe(\n ofType(LNDActions.RESTORE_CHANNELS_LIST_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'RestoreChannelsList', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.CHANNELS_BACKUP_API + '/restore/list').pipe(\n map((resRestoreList) => {\n this.logger.info(resRestoreList);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'RestoreChannelsList', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_RESTORE_CHANNELS_LIST_LND,\n payload: (resRestoreList) ? resRestoreList : { all_restore_exists: false, files: [] }\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('RestoreChannelsList', UI_MESSAGES.NO_SPINNER, 'Restore Channels List Failed', this.CHILD_API_URL + environment.CHANNELS_BACKUP_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n setRestoreChannelList = createEffect(\n () => this.actions.pipe(\n ofType(LNDActions.SET_RESTORE_CHANNELS_LIST_LND),\n map((action: { type: string, payload: SetRestoreChannelsList }) => {\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n allLightningTransactionsFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.GET_ALL_LIGHTNING_TRANSATIONS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchLightningTransactions', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(this.CHILD_API_URL + environment.PAYMENTS_API + '/alltransactions').pipe(\n map((response: any) => {\n this.logger.info(response);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchLightningTransactions', status: APICallStatusEnum.COMPLETED } }));\n return {\n type: LNDActions.SET_ALL_LIGHTNING_TRANSATIONS_LND,\n payload: response\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchLightningTransactions', UI_MESSAGES.NO_SPINNER, 'Fetching All Lightning Transaction Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n pageSettingsFetch = createEffect(() => this.actions.pipe(\n ofType(LNDActions.FETCH_PAGE_SETTINGS_LND),\n mergeMap(() => {\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(environment.PAGE_SETTINGS_API).pipe(\n map((settings: any) => {\n this.logger.info(settings);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'FetchPageSettings', status: APICallStatusEnum.COMPLETED } }));\n this.invoicesPageSize = (settings && Object.keys(settings).length > 0 ? (settings.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'invoices')) :\n LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'invoices')).recordsPerPage;\n this.paymentsPageSize = (settings && Object.keys(settings).length > 0 ? (settings.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'payments')) :\n LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'payments')).recordsPerPage;\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: this.invoicesPageSize, reversed: true } }));\n // this.store.dispatch(fetchPayments({ payload: { max_payments: 100000, reversed: true } }));\n return {\n type: LNDActions.SET_PAGE_SETTINGS_LND,\n payload: settings || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithoutAlert('FetchPageSettings', UI_MESSAGES.NO_SPINNER, 'Fetching Page Settings Failed.', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n savePageSettings = createEffect(() => this.actions.pipe(\n ofType(LNDActions.SAVE_PAGE_SETTINGS_LND),\n mergeMap((action: { type: string, payload: any }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.PAGE_SETTINGS_API, action.payload).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: 'SavePageSettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_PAGE_SETTINGS }));\n this.store.dispatch(openSnackBar({ payload: 'Page Layout Updated Successfully!' }));\n const invPgSz = (postRes.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'invoices') || LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'invoices')).recordsPerPage;\n const payPgSz = (postRes.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'payments') || LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === 'transactions')?.tables.find((table) => table.tableId === 'payments')).recordsPerPage;\n if (invPgSz !== this.invoicesPageSize) {\n this.invoicesPageSize = invPgSz;\n this.store.dispatch(fetchInvoices({ payload: { num_max_invoices: this.invoicesPageSize, reversed: true } }));\n }\n if (payPgSz !== this.paymentsPageSize) {\n this.paymentsPageSize = payPgSz;\n // this.store.dispatch(fetchPayments({ payload: { max_payments: 100000, reversed: true } }));\n }\n return {\n type: LNDActions.SET_PAGE_SETTINGS_LND,\n payload: postRes || []\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('SavePageSettings', UI_MESSAGES.UPDATE_PAGE_SETTINGS, 'Page Settings Update Failed.', environment.PAGE_SETTINGS_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n })\n ));\n\n initializeRemainingData(info: any, landingPage: string) {\n this.sessionService.setItem('lndUnlocked', 'true');\n const node_data = {\n identity_pubkey: info.identity_pubkey,\n alias: info.alias,\n testnet: info.testnet,\n chains: info.chains,\n uris: info.uris,\n version: (!info.version) ? '' : info.version.split(' ')[0]\n };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.INITALIZE_NODE_DATA }));\n this.store.dispatch(setNodeData({ payload: node_data }));\n let newRoute = this.location.path();\n if (newRoute.includes('/cln/')) {\n newRoute = newRoute?.replace('/cln/', '/lnd/');\n } else if (newRoute.includes('/ecl/')) {\n newRoute = newRoute?.replace('/ecl/', '/lnd/');\n }\n if (newRoute.includes('/unlock') || newRoute.includes('/login') || newRoute.includes('/error') || newRoute === '' || landingPage === 'HOME' || newRoute.includes('?access-key=')) {\n newRoute = '/lnd/home';\n }\n this.router.navigate([newRoute]);\n this.store.dispatch(fetchPageSettings());\n this.store.dispatch(fetchBalanceBlockchain());\n this.store.dispatch(fetchChannels());\n this.store.dispatch(fetchPendingChannels());\n this.store.dispatch(fetchClosedChannels());\n this.store.dispatch(fetchPeers());\n this.store.dispatch(fetchNetwork());\n this.store.dispatch(fetchFees()); // Fetches monthly forwarding history as well, to count total number of events\n this.store.dispatch(fetchPayments({ payload: { max_payments: 100000, reversed: true } }));\n // Fetching Invoices in pagesettings to get page size\n // this.store.dispatch(fetchPayments({ payload: { max_payments: 10, reversed: true } }));\n // this.store.dispatch(getAllLightningTransactions());\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, genericErrorMessage: string, err: { status: number, error: any }) {\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.commonService.extractErrorMessage(err, genericErrorMessage) } }));\n }\n }\n\n handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) {\n this.logger.error(err);\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.commonService.extractErrorMessage(err);\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: alertTitle,\n message: { code: err.status, message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n this.store.dispatch(updateLNDAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL } }));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { LNDState } from './lnd.state';\n\nexport const lndState = createFeatureSelector('lnd');\nexport const lndNodeSettings = createSelector(lndState, (state: LNDState) => state.nodeSettings);\nexport const lndPageSettings = createSelector(lndState, (state: LNDState) => ({ pageSettings: state.pageSettings, apiCallStatus: state.apisCallStatus.FetchPageSettings }));\nexport const lndNodeInformation = createSelector(lndState, (state: LNDState) => state.information);\nexport const nodeInfoStatus = createSelector(lndState, (state: LNDState) => ({ information: state.information, apiCallStatus: state.apisCallStatus.FetchInfo }));\nexport const allAPIsCallStatus = createSelector(lndState, (state: LNDState) => state.apisCallStatus);\nexport const forwardingHistory = createSelector(lndState, (state: LNDState) => ({ forwardingHistory: state.forwardingHistory, apiCallStatus: state.apisCallStatus.FetchForwardingHistory }));\nexport const payments = createSelector(lndState, (state: LNDState) => ({ listPayments: state.listPayments, apiCallStatus: state.apisCallStatus.FetchPayments }));\nexport const fees = createSelector(lndState, (state: LNDState) => ({ fees: state.fees, apiCallStatus: state.apisCallStatus.FetchFees }));\nexport const peers = createSelector(lndState, (state: LNDState) => ({ peers: state.peers, apiCallStatus: state.apisCallStatus.FetchPeers }));\nexport const transactions = createSelector(lndState, (state: LNDState) => ({ transactions: state.transactions, apiCallStatus: state.apisCallStatus.FetchTransactions }));\nexport const invoices = createSelector(lndState, (state: LNDState) => ({ listInvoices: state.listInvoices, apiCallStatus: state.apisCallStatus.FetchInvoices }));\nexport const channels = createSelector(lndState, (state: LNDState) => ({ channels: state.channels, channelsSummary: state.channelsSummary, lightningBalance: state.lightningBalance, apiCallStatus: state.apisCallStatus.FetchAllChannels }));\nexport const channelsSummary = createSelector(lndState, (state: LNDState) => ({ channelsSummary: state.channelsSummary, pendingChannels: state.pendingChannels, closedChannels: state.closedChannels, apiCallStatus: state.apisCallStatus.FetchAllChannels }));\nexport const pendingChannels = createSelector(lndState, (state: LNDState) => ({ pendingChannels: state.pendingChannels, pendingChannelsSummary: state.pendingChannelsSummary, apiCallStatus: state.apisCallStatus.FetchPendingChannels }));\nexport const closedChannels = createSelector(lndState, (state: LNDState) => ({ closedChannels: state.closedChannels, apiCallStatus: state.apisCallStatus.FetchClosedChannels }));\nexport const blockchainBalance = createSelector(lndState, (state: LNDState) => ({ blockchainBalance: state.blockchainBalance, apiCallStatus: state.apisCallStatus.FetchBalanceBlockchain }));\nexport const lightningBalance = createSelector(lndState, (state: LNDState) => ({ lightningBalance: state.lightningBalance, apiCallStatus: state.apisCallStatus.FetchAllChannels }));\nexport const utxos = createSelector(lndState, (state: LNDState) => ({ utxos: state.utxos, apiCallStatus: state.apisCallStatus.FetchUTXOs }));\nexport const networkInfo = createSelector(lndState, (state: LNDState) => ({ networkInfo: state.networkInfo, apiCallStatus: state.apisCallStatus.FetchNetwork }));\nexport const allLightningTransactions = createSelector(lndState, (state: LNDState) => ({ allLightningTransactions: state.allLightningTransactions, apiCallStatus: state.apisCallStatus.FetchLightningTransactions }));\nexport const allChannels = createSelector(lndState, (state: LNDState) => ({ channels: state.channels, pendingChannels: state.pendingChannels, closedChannels: state.closedChannels }));\nexport const nodeInfoAndNodeSettingsAndAPIStatus = createSelector(lndState, (state: LNDState) => ({ information: state.information, nodeSettings: state.nodeSettings, apiCallStatus: state.apisCallStatus.FetchInfo }));\n","
\n
\n \n N/A\n
\n
\n \n
\n \n {{screenSize === screenSizeEnum.XS ? (newlyAdded ? 'Created' : 'Invoice') : (newlyAdded ? 'Invoice Created' : 'Invoice Information')}}\n
\n \n
\n \n
\n
\n \n QR Code Not Applicable\n
\n \n
0 && showAdvanced}\">\n
\n
\n

{{screenSize === screenSizeEnum.XS ? 'Amount' : 'Amount Requested'}}

\n {{(invoice?.value || 0) | number}} Sats (zero amount) \n
\n
\n

Amount Settled

\n \n \n
\n
\n {{invoice?.amt_paid_sat | number}} Sats\n \n
\n
\n
{{invoice?.amt_paid_sat | number}} Sats
\n
\n \n -\n \n \n
\n
\n
\n \n
\n
\n

Date Created

\n {{invoice?.creation_date * 1000 | date:'dd/MMM/y HH:mm'}}\n
\n
\n

Date Settled

\n {{(+invoice?.settle_date !== 0 ? ((+invoice?.settle_date * 1000) | date:'dd/MMM/y HH:mm') : '-')}}\n
\n
\n \n
\n
\n

Memo

\n {{invoice?.memo}}\n
\n
\n \n
\n
\n

Payment Request

\n {{invoice?.payment_request || 'N/A'}}\n
\n
\n \n
\n
\n

Payment Hash

\n {{invoice?.r_hash || ''}}\n
\n
\n
\n \n
\n
\n
\n
\n
0 && showAdvanced && flgOpened\" fxLayout=\"row\" fxLayoutAlign=\"start end\" class=\"btn-sticky-container padding-gap-x-large\">\n \n
\n
\n \n \n \n
\n
\n
\n\n \n
\n
\n

Preimage

\n {{invoice?.r_preimage || '-'}}\n
\n
\n \n
\n
\n

State

\n {{invoice?.state}}\n
\n
\n

Expiry

\n {{(+invoice?.creation_date + +invoice?.expiry) * 1000 | date:'dd/MMM/y HH:mm'}}\n
\n
\n \n
\n
\n

Private Routing Hints

\n {{invoice?.private ? 'Yes' : 'No'}}\n
\n
\n

AMP Invoice

\n {{invoice?.is_amp ? 'Yes' : 'No'}}\n
\n
\n \n
0\" fxLayout=\"row\">\n \n \n \n

HTLCs

\n
\n
\n
\n
\n Channel ID\n Amount (Sats)\n
\n \n
\n
\n \n \n \n \n {{htlc.chan_id}}\n \n {{((+htlc.amt_msat/1000) || 0) | number:getDecimalFormat(htlc)}}\n
\n \n
\n
\n
\n
\n 0\" class=\"my-1\" [inset]=\"true\">\n
","import { Component, OnInit, Inject, ElementRef, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faReceipt } from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { LoggerService } from '../../../shared/services/logger.service';\nimport { CommonService } from '../../../shared/services/common.service';\nimport { InvoiceInformation } from '../../../shared/models/alertData';\nimport { GetInfo, Invoice, ListInvoices } from '../../../shared/models/lndModels';\nimport { ScreenSizeEnum } from '../../../shared/services/consts-enums-functions';\nimport { RTLState } from '../../../store/rtl.state';\nimport { invoices, lndNodeInformation } from '../../store/lnd.selector';\nimport { ApiCallStatusPayload } from '../../../shared/models/apiCallsPayload';\n\n@Component({\n selector: 'rtl-invoice-information',\n templateUrl: './invoice-information.component.html',\n styleUrls: ['./invoice-information.component.scss']\n})\nexport class InvoiceInformationComponent implements OnInit, OnDestroy {\n\n private scrollContainer: ElementRef;\n @ViewChild('scrollContainer') set container(containerContent: ElementRef) {\n if (containerContent) {\n this.scrollContainer = containerContent;\n }\n }\n public faReceipt = faReceipt;\n public showAdvanced = false;\n public newlyAdded = false;\n public invoice: Invoice | null = null;\n public qrWidth = 240;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public flgOpened = false;\n public flgInvoicePaid = false;\n public flgVersionCompatible = true;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: InvoiceInformation, private logger: LoggerService, private commonService: CommonService, private snackBar: MatSnackBar, private store: Store) { }\n\n ngOnInit() {\n this.invoice = JSON.parse(JSON.stringify(this.data.invoice));\n this.newlyAdded = !!this.data.newlyAdded;\n this.screenSize = this.commonService.getScreenSize();\n if (this.screenSize === ScreenSizeEnum.XS) {\n this.qrWidth = 220;\n }\n this.store.select(lndNodeInformation).pipe(takeUntil(this.unSubs[0])).\n subscribe((nodeInfo: GetInfo) => {\n this.flgVersionCompatible = this.commonService.isVersionCompatible(nodeInfo.version, '0.11.0');\n });\n const invoiceToCompare = JSON.parse(JSON.stringify(this.invoice));\n this.store.select(invoices).pipe(takeUntil(this.unSubs[1])).\n subscribe((invoicesSelector: { listInvoices: ListInvoices, apiCallStatus: ApiCallStatusPayload }) => {\n const invoiceStatus = this.invoice?.state;\n const invoices = invoicesSelector.listInvoices.invoices || [];\n const foundInvoice = invoices.find((invoice) => invoice.r_hash === invoiceToCompare.r_hash) || null;\n if (foundInvoice) { this.invoice = foundInvoice; }\n if (invoiceStatus !== this.invoice?.state && this.invoice?.state === 'SETTLED') {\n this.flgInvoicePaid = true;\n setTimeout(() => { this.flgInvoicePaid = false; }, 4000);\n }\n this.logger.info(invoicesSelector);\n });\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n onShowAdvanced() {\n this.showAdvanced = !this.showAdvanced;\n this.flgOpened = false;\n }\n\n onScrollDown() {\n this.scrollContainer.nativeElement.scrollTop = this.scrollContainer.nativeElement.scrollTop + 60;\n }\n\n onExpansionClosed() {\n this.flgOpened = false;\n this.scrollContainer.nativeElement.scrollTop = 0;\n }\n\n onCopyPayment(payload: string) {\n this.snackBar.open('Payment request copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n getDecimalFormat(htlc: any): string {\n return htlc.amt_msat < 1000 ? '1.0-4' : '1.0-0';\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { animate, keyframes, style, transition, trigger } from '@angular/animations';\n\nexport const opacityAnimation = [\n trigger('opacityAnimation', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('1000ms ease-in', style({ opacity: 1 }))\n ]),\n transition(':leave', [\n animate('0ms', style({ opacity: 0 }))\n ])\n ])\n];\n\nexport const fadeIn = [\n trigger('fadeIn', [\n transition('void => *', []), // When the item is created\n transition('* => void', []), // When the item is removed\n transition('* => *', [ // When the item is changed\n animate(800, keyframes([ // Animate for 800 ms\n style({ opacity: 0, transform: 'translateY(100%)' }),\n style({ opacity: 1, transform: 'translateY(0%)' })\n ]))\n ])\n ])\n];\n","import { transition, trigger, query, style, animate, group } from '@angular/animations';\n\nexport const routeAnimation = trigger('routeAnimation', [\n transition('* => *', [\n query(':enter, :leave', style({ position: 'fixed', width: '100%' }), { optional: true }),\n group([\n query(':enter', [\n style({ transform: 'translateX(100%)' }),\n animate('1000ms ease-in-out', style({ transform: 'translateX(0%)' }))\n ], { optional: true }),\n query(':leave', [\n style({ transform: 'translateX(0%)' }),\n animate('1000ms ease-in-out', style({ transform: 'translateX(-100%)' }))\n ], { optional: true })\n ])\n ])\n]);\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const sliderAnimation = [\n trigger('sliderAnimation', [\n state('*', style({ transform: 'translateX(0)' })),\n transition('void => backward', [\n style({ transform: 'translateX(-100%' }), animate('800ms')\n ]),\n transition('backward => void', [\n animate('0ms', style({ transform: 'translateX(100%)' }))\n ]),\n transition('void => forward', [\n style({ transform: 'translateX(100%' }), animate('800ms')\n ]),\n transition('forward => void', [\n animate('0ms', style({ transform: 'translateX(-100%)' }))\n ])\n ])\n];\n","
\n
\n \n
\n {{data.alertTitle || 'ERROR'}}\n
\n \n
\n \n
\n

{{data.titleMessage}}

\n

Error Code

\n {{data.message.code}}\n \n

Error Message

\n {{errorMessage}}\n \n

API URL

\n {{data.message.URL}}\n \n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport { LoggerService } from '../../../services/logger.service';\nimport { ErrorData } from '../../../models/alertData';\n\n@Component({\n selector: 'rtl-error-message',\n templateUrl: './error-message.component.html',\n styleUrls: ['./error-message.component.scss']\n})\nexport class ErrorMessageComponent implements OnInit {\n\n public errorMessage = '';\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ErrorData, private logger: LoggerService) { }\n\n ngOnInit() {\n this.errorMessage = (this.data.message && this.data.message.message && typeof (this.data.message.message) === 'object') ? JSON.stringify(this.data.message.message) : (this.data.message && this.data.message.message) ? this.data.message.message : '';\n if (!this.data.message && !this.data.titleMessage && !this.data.message) {\n this.data.titleMessage = 'Please Check Server Connection';\n }\n this.logger.info(this.data.message);\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n}\n","\n\n \n \n \n Quote for {{termCaption}} amount ({{quote.amount | number}} Sats)\n \n \n \n \n\n\n
\n
\n
\n

\n Swap Fee (Sats)\n info_outline\n

\n {{quote?.swap_fee_sat | number}}\n
\n
\n

\n {{quote?.htlc_sweep_fee_sat ? 'HTLC Sweep Fee (Sats)' : quote?.htlc_publish_fee_sat ? 'HTLC Publish Fee (Sats)' : ''}}\n info_outline\n

\n {{(quote?.htlc_sweep_fee_sat ? quote.htlc_sweep_fee_sat : quote?.htlc_publish_fee_sat ? quote.htlc_publish_fee_sat : 0) | number}}\n
\n
\n

\n Prepay Amount (Sats)\n info_outline\n

\n {{quote?.prepay_amt_sat | number}}\n
\n
\n \n
\n
\n

\n Max Off-chain Swap Routing Fee (Sats)\n info_outline\n

\n {{(quote?.amount * ((quote?.off_chain_swap_routing_fee_percentage ? quote?.off_chain_swap_routing_fee_percentage : 2) / 100)) | number}}\n
\n
\n

\n Max Off-chain Prepay Routing Fee (Sats)\n info_outline\n

\n 36\n
\n
\n \n
\n
\n

\n Swap Server Node Pubkey\n info_outline\n

\n {{quote?.swap_payment_dest}}\n
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { LoopQuote } from '../../../../models/loopModels';\n\n@Component({\n selector: 'rtl-loop-quote',\n templateUrl: './loop-quote.component.html',\n styleUrls: ['./loop-quote.component.scss']\n})\nexport class LoopQuoteComponent implements OnInit {\n\n @Input() quote: LoopQuote = {};\n @Input() termCaption = '';\n @Input() showPanel = true;\n @Input() panelExpanded = false;\n public flgShowPanel = false;\n\n constructor() { }\n\n ngOnInit() {\n setTimeout(() => {\n this.flgShowPanel = true;\n }, 1200);\n }\n\n}\n","\n\n
{{loopStatus?.error ? loopStatus?.error : 'Unknown Error.'}}\n
\n
\n\n
\n
\n
\n

ID

\n {{loopStatus?.id_bytes}}\n
\n
\n \n
\n
\n

HTLC Address

\n {{loopStatus?.htlc_address}}\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { LoopStatus } from '../../../../models/loopModels';\n\n@Component({\n selector: 'rtl-loop-status',\n templateUrl: './loop-status.component.html',\n styleUrls: ['./loop-status.component.scss']\n})\nexport class LoopStatusComponent {\n\n @Input() loopStatus: LoopStatus;\n\n constructor() {}\n\n}\n","\n\n\n
\n \n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Loop In explained.\n
\n
\n \n Lightning Loop is a non custodial service offered by Lightning Labs to bridge\n on-chain and off-chain Bitcoin using Submarine swaps.\n \n
\n
\n
\n\n
\n \n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 1: Deciding to Loop In\n
\n
\n \n Your outgoing capacity is depleted and you want to regain it without opening new channels.\n \n
\n
\n
\n\n
\n \n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 2: Send payment out\n
\n
\n \n Your node sends funds on-chain to loop server to be swapped with off-chain liquidity.\n \n
\n
\n
\n\n
\n \n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 3: Recieve Funds Off-chain\n
\n
\n \n Loop server sends equivalent funds off-chain to your node by making a lightning payment to you.\n \n
\n
\n
\n\n
\n \n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Done!\n
\n
\n \n You send the payment on-chain from your wallet and also move remote\n balance to the local side of the node, gaining outgoing capacity.\n \n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ScreenSizeEnum } from '../../../../services/consts-enums-functions';\n\nimport { sliderAnimation } from '../../../../animation/slider-animation';\nimport { CommonService } from '../../../../services/common.service';\n\n@Component({\n selector: 'rtl-loop-in-info-graphics',\n templateUrl: './info-graphics.component.html',\n styleUrls: ['./info-graphics.component.scss'],\n animations: [sliderAnimation]\n})\nexport class LoopInInfoGraphicsComponent implements OnInit {\n\n @Input() animationDirection = 'forward';\n @Input() stepNumber = 1;\n @Output() readonly stepNumberChange = new EventEmitter();\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n\n constructor(private commonService: CommonService) {}\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n onSwipe(event: any) {\n if (event.direction === 2 && this.stepNumber < 5) {\n this.stepNumber++;\n this.animationDirection = 'forward';\n this.stepNumberChange.emit(this.stepNumber);\n } else if (event.direction === 4 && this.stepNumber > 1) {\n this.stepNumber--;\n this.animationDirection = 'backward';\n this.stepNumberChange.emit(this.stepNumber);\n }\n }\n\n}\n","\n\n\n
\n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Loop Out explained.\n
\n
\n \n Lightning Loop is a non custodial service offered by Lightning Labs to bridge\n on-chain and off-chain Bitcoin using Submarine swaps.\n \n
\n
\n
\n\n
\n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 1: Deciding to Loop Out \n
\n
\n \n You have a channel with a local balance amount and you want to gain inbound liquidity.\n \n
\n
\n
\n\n
\n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 2: Send lightning payment\n
\n
\n \n Your node pays a lightning invoice for the amount requested via the loop\n service. This moves the local balance, for the amount paid, to the remote side of the channel.\n \n
\n
\n
\n\n
\n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 3: Receive funds back\n
\n
\n \n Loop service then sends you a payment on-chain for the amount same as the lightning payment minus the fee.\n \n
\n
\n
\n\n
\n \n Created with Sketch.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Done!\n
\n
\n \n Final settlement occurs when your node sweeps the on-chain payment and the loop server settles the lightning invoice. You receive the payment on-chain in your wallet and also move local\n balance to the remote side of the channel, gaining inbound capacity.\n \n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ScreenSizeEnum } from '../../../../services/consts-enums-functions';\n\nimport { sliderAnimation } from '../../../../animation/slider-animation';\nimport { CommonService } from '../../../../services/common.service';\n\n@Component({\n selector: 'rtl-loop-out-info-graphics',\n templateUrl: './info-graphics.component.html',\n styleUrls: ['./info-graphics.component.scss'],\n animations: [sliderAnimation]\n})\nexport class LoopOutInfoGraphicsComponent implements OnInit {\n\n @Input() animationDirection = 'forward';\n @Input() stepNumber = 1;\n @Output() readonly stepNumberChange = new EventEmitter();\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n\n constructor(private commonService: CommonService) {}\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n onSwipe(event: any) {\n if (event.direction === 2 && this.stepNumber < 5) {\n this.stepNumber++;\n this.animationDirection = 'forward';\n this.stepNumberChange.emit(this.stepNumber);\n } else if (event.direction === 4 && this.stepNumber > 1) {\n this.stepNumber--;\n this.animationDirection = 'backward';\n this.stepNumberChange.emit(this.stepNumber);\n }\n }\n\n}\n","
\n
\n \n
{{channel ? ('Channel ' + loopDirectionCaption) : loopDirectionCaption}}
\n
\n \n \n
\n
\n \n
\n
\n

Channel Peer: {{channel.remote_alias | titlecase}}

\n

Channel ID: {{channel.chan_id}}

\n

\n
\n \n \n
\n {{inputFormLabel}}\n
\n \n \n
\n
\n \n \n Range: {{minQuote.amount | number}}-{{maxQuote.amount | number}}\n Sats\n Amount is required.\n Amount must be greater than or equal to {{minQuote.amount | number}}.\n Amount must be less than or equal to {{maxQuote.amount | number}}.\n \n \n \n Confirmation target is required.\n Confirmation target must be a positive number.\n \n \n \n Percentage is required.\n Percentage must be a positive number.\n \n
\n
\n Fast\n info_outline\n
\n
\n \n
\n
\n
\n \n
\n {{quoteFormLabel}}\n \n

localBalanceToCompare\" fxFlex=\"100\" class=\"color-warn mt-2\" fxLayoutAlign=\"start center\">closeLocal balance amount is insufficient for swap.

\n
\n \n \n
\n
\n
\n \n
\n {{addressFormLabel}}\n
\n \n Node Local Address\n External Address\n \n \n \n Address is required.\n \n
\n
\n \n
\n
\n
\n \n
\n {{loopDirectionCaption}} Status\n
\n \n \n \n {{(!loopStatus) ? ('Waiting for ' + loopDirectionCaption + ' request...') : (loopStatus.id_bytes) ? (loopDirectionCaption + ' request details') : (loopDirectionCaption + ' error details')}}{{(loopStatus && loopStatus?.id_bytes) ? 'check' : 'close'}}\n \n \n
\n
\n \n
\n

{{(loopStatus && loopStatus.error) ? (loopDirectionCaption + ' failed.') : (loopStatus && loopStatus.id_bytes && channel) ? (loopDirectionCaption + ' request placed successfully. You can check the status of the request on the \\'Loop\\' menu.') : (loopDirectionCaption + ' request placed successfully.')}}

\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n \n\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n
\n \n

\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n","import { Component, OnInit, Inject, OnDestroy, ViewChild } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { DecimalPipe } from '@angular/common';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatStepper } from '@angular/material/stepper';\nimport { Store } from '@ngrx/store';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\n\nimport { opacityAnimation } from '../../../../animation/opacity-animation';\nimport { ScreenSizeEnum, LoopTypeEnum } from '../../../../services/consts-enums-functions';\nimport { LoopQuote, LoopStatus } from '../../../../models/loopModels';\nimport { LoopAlert } from '../../../../models/alertData';\nimport { LoopService } from '../../../../services/loop.service';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { CommonService } from '../../../../services/common.service';\nimport { Channel, ChannelsSummary, LightningBalance } from '../../../../models/lndModels';\n\nimport { RTLState } from '../../../../../store/rtl.state';\nimport { channels } from '../../../../../lnd/store/lnd.selector';\nimport { ApiCallStatusPayload } from '../../../../models/apiCallsPayload';\n\n@Component({\n selector: 'rtl-loop-modal',\n templateUrl: './loop-modal.component.html',\n styleUrls: ['./loop-modal.component.scss'],\n animations: [opacityAnimation]\n})\nexport class LoopModalComponent implements OnInit, OnDestroy {\n\n @ViewChild('stepper', { static: false }) stepper: MatStepper;\n public faInfoCircle = faInfoCircle;\n public quote: LoopQuote;\n public channel: Channel;\n public minQuote: LoopQuote;\n public maxQuote: LoopQuote;\n public LoopTypeEnum = LoopTypeEnum;\n public direction = LoopTypeEnum.LOOP_OUT;\n public loopDirectionCaption = 'Loop out';\n public loopStatus: LoopStatus | null = null;\n public inputFormLabel = 'Amount to loop out';\n public quoteFormLabel = 'Confirm Quote';\n public addressFormLabel = 'Withdrawal Address';\n public prepayRoutingFee = 36;\n public flgShowInfo = false;\n public stepNumber = 1;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public animationDirection = 'forward';\n public flgEditable = true;\n public localBalanceToCompare: number | null = null;\n inputFormGroup: UntypedFormGroup;\n quoteFormGroup: UntypedFormGroup;\n addressFormGroup: UntypedFormGroup;\n statusFormGroup: UntypedFormGroup;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: LoopAlert,\n private store: Store,\n private loopService: LoopService,\n private formBuilder: UntypedFormBuilder,\n private decimalPipe: DecimalPipe,\n private logger: LoggerService,\n private router: Router,\n private commonService: CommonService) { }\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n this.channel = this.data.channel;\n this.minQuote = this.data.minQuote ? this.data.minQuote : {};\n this.maxQuote = this.data.maxQuote ? this.data.maxQuote : {};\n this.direction = this.data.direction || LoopTypeEnum.LOOP_OUT;\n this.loopDirectionCaption = this.direction === LoopTypeEnum.LOOP_IN ? 'Loop in' : 'Loop out';\n this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption;\n this.inputFormGroup = this.formBuilder.group({\n amount: [this.minQuote.amount, [Validators.required, Validators.min(this.minQuote.amount || 0), Validators.max(this.maxQuote.amount || 0)]],\n sweepConfTarget: [6, [Validators.required, Validators.min(1)]],\n routingFeePercent: [2, [Validators.required, Validators.min(0)]],\n fast: [false, [Validators.required]]\n });\n this.inputFormGroup.setErrors({ Invalid: true });\n this.quoteFormGroup = this.formBuilder.group({});\n this.addressFormGroup = this.formBuilder.group({\n addressType: ['local', [Validators.required]],\n address: [{ value: '', disabled: true }]\n });\n if (this.direction === LoopTypeEnum.LOOP_OUT) {\n this.addressFormGroup.setErrors({ Invalid: true });\n }\n this.statusFormGroup = this.formBuilder.group({});\n this.onFormValueChanges();\n this.store.select(channels).pipe(takeUntil(this.unSubs[6])).\n subscribe((channelsSelector: { channels: Channel[], channelsSummary: ChannelsSummary, lightningBalance: LightningBalance, apiCallStatus: ApiCallStatusPayload }) => {\n this.localBalanceToCompare = (this.channel && this.channel.local_balance) ? +this.channel.local_balance : (channelsSelector.lightningBalance && channelsSelector.lightningBalance.local) ? +channelsSelector.lightningBalance.local : null;\n });\n }\n\n onFormValueChanges() {\n this.inputFormGroup.valueChanges.pipe(takeUntil(this.unSubs[4])).subscribe((changedValues) => {\n this.inputFormGroup.setErrors({ Invalid: true });\n });\n if (this.direction === LoopTypeEnum.LOOP_OUT) {\n this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[5])).subscribe((changedValues) => {\n this.addressFormGroup.setErrors({ Invalid: true });\n });\n }\n }\n\n onAddressTypeChange(event: any) {\n if (event.value === 'external') {\n this.addressFormGroup.controls.address.setValidators([Validators.required]);\n this.addressFormGroup.controls.address.markAsTouched();\n this.addressFormGroup.controls.address.enable();\n } else {\n this.addressFormGroup.controls.address.setValidators(null);\n this.addressFormGroup.controls.address.markAsPristine();\n this.addressFormGroup.controls.address.disable();\n this.addressFormGroup.controls.address.setValue('');\n }\n this.addressFormGroup.setErrors({ Invalid: true });\n }\n\n onValidateAmount() {\n if (this.localBalanceToCompare && this.inputFormGroup.controls.amount.value <= this.localBalanceToCompare) {\n this.stepper.next();\n }\n }\n\n onLoop(): boolean | void {\n if (!this.inputFormGroup.controls.amount.value || (this.minQuote.amount && this.inputFormGroup.controls.amount.value < this.minQuote.amount) || (this.maxQuote.amount && this.inputFormGroup.controls.amount.value > this.maxQuote.amount) ||\n !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2 ||\n (this.direction === LoopTypeEnum.LOOP_OUT && (!this.inputFormGroup.controls.routingFeePercent.value || this.inputFormGroup.controls.routingFeePercent.value < 0)) ||\n (this.direction === LoopTypeEnum.LOOP_OUT && this.addressFormGroup.controls.addressType.value === 'external' &&\n (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) {\n return true;\n }\n this.flgEditable = false;\n this.stepper.selected?.stepControl.setErrors(null);\n this.stepper.next();\n if (this.direction === LoopTypeEnum.LOOP_IN) {\n this.loopService.loopIn(this.inputFormGroup.controls.amount.value, +(this.quote.swap_fee_sat || 0), +(this.quote.htlc_publish_fee_sat || 0), '', true).pipe(takeUntil(this.unSubs[0])).\n subscribe({\n next: (loopStatus: any) => {\n this.loopStatus = loopStatus;\n this.loopService.listSwaps();\n this.flgEditable = true;\n }, error: (err) => {\n this.loopStatus = { error: err };\n this.flgEditable = true;\n this.logger.error(err);\n }\n });\n } else {\n const swapRoutingFee = Math.ceil(this.inputFormGroup.controls.amount.value * (this.inputFormGroup.controls.routingFeePercent.value / 100));\n const destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : '';\n const swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000);\n this.loopService.loopOut(\n this.inputFormGroup.controls.amount.value, (this.channel && this.channel.chan_id ? this.channel.chan_id : ''),\n this.inputFormGroup.controls.sweepConfTarget.value, swapRoutingFee, +(this.quote.htlc_sweep_fee_sat || 0), this.prepayRoutingFee,\n +(this.quote.prepay_amt_sat || 0), +(this.quote.swap_fee_sat || 0), swapPublicationDeadline, destAddress).pipe(takeUntil(this.unSubs[1])).\n subscribe({\n next: (loopStatus: any) => {\n this.loopStatus = loopStatus;\n this.loopService.listSwaps();\n this.flgEditable = true;\n }, error: (err) => {\n this.loopStatus = { error: err };\n this.flgEditable = true;\n this.logger.error(err);\n }\n });\n }\n }\n\n onEstimateQuote(): boolean | void {\n if (!this.inputFormGroup.controls.amount.value || (this.minQuote.amount && this.inputFormGroup.controls.amount.value < this.minQuote.amount) ||\n (this.maxQuote.amount && this.inputFormGroup.controls.amount.value > this.maxQuote.amount) ||\n !this.inputFormGroup.controls.sweepConfTarget.value || this.inputFormGroup.controls.sweepConfTarget.value < 2) {\n return true;\n }\n const swapPublicationDeadline = this.inputFormGroup.controls.fast.value ? 0 : new Date().getTime() + (30 * 60000);\n if (this.direction === LoopTypeEnum.LOOP_IN) {\n this.loopService.getLoopInQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline).\n pipe(takeUntil(this.unSubs[2])).\n subscribe((response) => {\n this.quote = response;\n this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2;\n });\n } else {\n this.loopService.getLoopOutQuote(this.inputFormGroup.controls.amount.value, this.inputFormGroup.controls.sweepConfTarget.value, swapPublicationDeadline).\n pipe(takeUntil(this.unSubs[3])).\n subscribe((response) => {\n this.quote = response;\n this.quote.off_chain_swap_routing_fee_percentage = this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : 2;\n });\n }\n this.stepper.selected?.stepControl.setErrors(null);\n this.stepper.next();\n }\n\n stepSelectionChanged(event: any) {\n switch (event.selectedIndex) {\n case 0:\n this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption;\n this.quoteFormLabel = 'Confirm Quote';\n this.addressFormLabel = 'Withdrawal Address';\n break;\n\n case 1:\n if (this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.sweepConfTarget.value) {\n if (this.direction === LoopTypeEnum.LOOP_IN) {\n this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' +\n (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) +\n ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6);\n } else {\n this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' +\n (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' +\n (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Percentage: ' +\n (this.inputFormGroup.controls.routingFeePercent.value ? this.inputFormGroup.controls.routingFeePercent.value : '2') + ' | Fast: ' +\n (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled');\n }\n } else {\n this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption;\n }\n this.quoteFormLabel = 'Confirm Quote';\n this.addressFormLabel = 'Withdrawal Address';\n break;\n\n case 2:\n if (this.inputFormGroup.controls.amount.value || this.inputFormGroup.controls.sweepConfTarget.value) {\n if (this.direction === LoopTypeEnum.LOOP_IN) {\n this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' +\n (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) +\n ' Sats | Target Confirmation: ' + (this.inputFormGroup.controls.sweepConfTarget.value ?\n this.inputFormGroup.controls.sweepConfTarget.value : 6);\n } else {\n this.inputFormLabel = this.loopDirectionCaption + ' Amount: ' +\n (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats | Target Confirmation: ' +\n (this.inputFormGroup.controls.sweepConfTarget.value ? this.inputFormGroup.controls.sweepConfTarget.value : 6) + ' | Fast: ' +\n (this.inputFormGroup.controls.fast.value ? 'Enabled' : 'Disabled');\n }\n } else {\n this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption;\n }\n if (this.quote && this.quote.swap_fee_sat && (this.quote.htlc_sweep_fee_sat || this.quote.htlc_publish_fee_sat) && this.quote.prepay_amt_sat) {\n this.quoteFormLabel = 'Quote confirmed | Estimated Fees: ' + this.decimalPipe.transform(+this.quote.swap_fee_sat + +(this.quote.htlc_sweep_fee_sat ? this.quote.htlc_sweep_fee_sat : this.quote.htlc_publish_fee_sat ? this.quote.htlc_publish_fee_sat : 0)) + ' Sats';\n } else {\n this.quoteFormLabel = 'Quote confirmed';\n }\n if (this.addressFormGroup.controls.addressType.value) {\n this.addressFormLabel = 'Withdrawal Address | Type: ' + this.addressFormGroup.controls.addressType.value;\n } else {\n this.addressFormLabel = 'Withdrawal Address';\n }\n break;\n\n default:\n this.inputFormLabel = 'Amount to ' + this.loopDirectionCaption;\n this.quoteFormLabel = 'Confirm Quote';\n this.addressFormLabel = 'Withdrawal Address';\n break;\n }\n if ((this.direction === LoopTypeEnum.LOOP_OUT && event.selectedIndex !== 1 && event.selectedIndex < event.previouslySelectedIndex) ||\n (this.direction === LoopTypeEnum.LOOP_IN && event.selectedIndex < event.previouslySelectedIndex)) {\n event.selectedStep.stepControl.setErrors({ Invalid: true });\n }\n }\n\n goToLoop() {\n this.dialogRef.close(true);\n this.router.navigateByUrl('/services/loop');\n }\n\n onClose() {\n this.dialogRef.close(true);\n }\n\n showInfo() {\n this.flgShowInfo = true;\n }\n\n onReadMore() {\n if (this.direction === LoopTypeEnum.LOOP_IN) {\n window.open('https://blog.lightning.engineering/announcement/2019/06/25/loop-in.html', '_blank');\n } else {\n window.open('https://blog.lightning.engineering/technical/posts/2019/04/15/loop-out-in-depth.html', '_blank');\n }\n this.onClose();\n }\n\n onStepChanged(index: number) {\n this.animationDirection = index < this.stepNumber ? 'backward' : 'forward';\n this.stepNumber = index;\n }\n\n onRestart() {\n this.stepper.reset();\n this.flgEditable = true;\n this.inputFormGroup.reset({ amount: this.minQuote.amount, sweepConfTarget: 6, routingFeePercent: 2, fast: false });\n this.quoteFormGroup.reset();\n this.statusFormGroup.reset();\n this.addressFormGroup.reset({ addressType: 'local', address: '' });\n this.addressFormGroup.controls.address.disable();\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'rtl-not-found',\n templateUrl: './not-found.component.html'\n})\nexport class NotFoundComponent {\n\n public faTimes = faTimes;\n\n constructor(public router: Router) {}\n\n goToHelp(): void {\n this.router.navigate(['/help']);\n }\n\n}\n","
\n \n Page Not Found\n
\n
\n \n \n
\n
This page does not exist!
\n \n \n \n
\n
\n
\n
\n","import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n selector: '[autoFocus]'\n})\nexport class AutoFocusDirective implements AfterContentInit {\n\n @Input() public appAutoFocus: boolean;\n\n public constructor(private el: ElementRef) {}\n\n public ngAfterContentInit() {\n setTimeout(() => {\n this.el.nativeElement.focus();\n }, 500);\n }\n\n}\n","import { Directive, Input, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[rtlClipboard]'\n})\nexport class ClipboardDirective {\n\n @Input() payload: string;\n\n @Output()\n public readonly copied: EventEmitter = new EventEmitter();\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n event.preventDefault();\n if (!this.payload || !navigator.clipboard) {\n return;\n }\n navigator.clipboard.writeText(this.payload.toString()).then(() => {\n this.copied.emit(this.payload.toString());\n }, (err) => {\n this.copied.emit('Error could not copy text: ' + JSON.stringify(err));\n });\n }\n\n}\n","import { Directive, Input } from '@angular/core';\nimport { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/forms';\n\n@Directive({\n selector: 'input[max]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MaxValidator, multi: true }]\n})\nexport class MaxValidator implements Validator {\n\n @Input() max: number;\n\n validate(control: AbstractControl): any {\n return this.max ? Validators.max(+this.max)(control) : null;\n }\n\n}\n","import { Directive, Input } from '@angular/core';\nimport { NG_VALIDATORS, Validator, Validators, AbstractControl } from '@angular/forms';\n\n@Directive({\n selector: 'input[min]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MinValidator, multi: true }]\n})\nexport class MinValidator implements Validator {\n\n @Input() min: number;\n\n validate(control: AbstractControl): any {\n return this.min ? Validators.min(+this.min)(control) : null;\n }\n\n}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'removeleadingzeros'\n})\nexport class RemoveLeadingZerosPipe implements PipeTransform {\n\n transform(value: string, args?: any): string {\n return value?.replace(/^[0]+/g, '');\n }\n\n}\n\n@Pipe({\n name: 'camelcase'\n})\nexport class CamelCasePipe implements PipeTransform {\n\n transform(value: string, args?: any): string {\n return value?.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word, index) => (word.toUpperCase()))?.replace(/\\s+/g, '')?.replace(/-/g, ' ');\n }\n\n}\n\n@Pipe({\n name: 'camelCaseWithSpaces'\n})\nexport class CamelCaseWithSpacesPipe implements PipeTransform {\n\n transform(value: string, arg1?: string, arg2?: string): string {\n return value.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word, index) => (' ' + word.toUpperCase()));\n }\n\n}\n\n@Pipe({\n name: 'camelcaseWithReplace'\n})\nexport class CamelCaseWithReplacePipe implements PipeTransform {\n\n transform(value: string, arg1?: string, arg2?: string): string {\n value = value?.toLowerCase().replace(/\\s+/g, '')?.replace(/-/g, ' ');\n if (arg1) {\n value = value.replace(new RegExp(arg1, 'g'), ' ');\n }\n if (arg2) {\n value = value.replace(new RegExp(arg2, 'g'), ' ');\n }\n return value.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word, index) => (word.toUpperCase()));\n }\n\n}\n","import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { SessionService } from './session.service';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router, private sessionService: SessionService) { }\n\n canActivate(route: ActivatedRouteSnapshot): boolean | Observable | Promise {\n if (!this.sessionService.getItem('token')) {\n return false;\n } else if (route.url[0].path !== 'settings' && route.url[0].path !== 'auth' && this.sessionService.getItem('defaultPassword') === 'true') {\n this.router.navigate(['/settings/auth']);\n return false;\n } else {\n return true;\n }\n }\n\n}\n\n@Injectable()\nexport class LNDUnlockedGuard implements CanActivate {\n\n constructor(private sessionService: SessionService) { }\n\n canActivate(): boolean | Observable | Promise {\n return !!this.sessionService.watchSession().pipe(map((session) => session.lndUnlocked));\n }\n\n}\n\n@Injectable()\nexport class CLNUnlockedGuard implements CanActivate {\n\n constructor(private sessionService: SessionService) { }\n\n canActivate(): boolean | Observable | Promise {\n return !!this.sessionService.watchSession().pipe(map((session) => session.clUnlocked));\n }\n\n}\n\n@Injectable()\nexport class ECLUnlockedGuard implements CanActivate {\n\n constructor(private sessionService: SessionService) { }\n\n canActivate(): boolean | Observable | Promise {\n return !!this.sessionService.watchSession().pipe(map((session) => session.eclUnlocked));\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { of, Observable, throwError, BehaviorSubject } from 'rxjs';\nimport { take, map, catchError } from 'rxjs/operators';\n\nimport { LoggerService } from './logger.service';\nimport { DataService } from './data.service';\nimport { CurrencyUnitEnum, TimeUnitEnum, ScreenSizeEnum, APICallStatusEnum } from './consts-enums-functions';\n\n@Injectable()\nexport class CommonService implements OnDestroy {\n\n currencyUnits = [];\n CurrencyUnitEnum = CurrencyUnitEnum;\n conversionData: any = { data: null, last_fetched: null };\n private ratesAPIStatus = APICallStatusEnum.UN_INITIATED;\n private screenSize = ScreenSizeEnum.MD;\n private containerSize = { width: 0, height: 0 };\n public containerSizeUpdated: BehaviorSubject = new BehaviorSubject(this.containerSize);\n\n constructor(public dataService: DataService, private logger: LoggerService) { }\n\n getScreenSize() {\n return this.screenSize;\n }\n\n setScreenSize(screenSize: ScreenSizeEnum) {\n this.screenSize = screenSize;\n }\n\n getContainerSize() {\n return this.containerSize;\n }\n\n setContainerSize(width: number, height) {\n this.containerSize = { width: width, height: height };\n this.logger.info('Container Size: ' + JSON.stringify(this.containerSize));\n this.containerSizeUpdated.next(this.containerSize);\n }\n\n sortByKey(array: any[], key: string, keyDataType: string, direction = 'asc') {\n if (keyDataType === 'number') {\n if (direction === 'desc') {\n return array.sort((a, b) => (+a[key] > +b[key] ? -1 : 1));\n } else {\n return array.sort((a, b) => (+a[key] > +b[key] ? 1 : -1));\n }\n } else {\n if (direction === 'desc') {\n return array.sort((a, b) => (a[key] > b[key] ? -1 : 1));\n } else {\n return array.sort((a, b) => (a[key] > b[key] ? 1 : -1));\n }\n }\n }\n\n sortDescByKey(array, key) {\n return array.sort((a, b) => {\n const x = +a[key];\n const y = +b[key];\n return ((x > y) ? -1 : ((x < y) ? 1 : 0));\n });\n }\n\n sortAscByKey(array, key) {\n return array.sort((a, b) => {\n const x = +a[key];\n const y = +b[key];\n return ((x < y) ? -1 : ((x > y) ? 1 : 0));\n });\n }\n\n camelCase(str) {\n return str?.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, (word, index) => (word.toUpperCase()))?.replace(/\\s+/g, '')?.replace(/-/g, ' ');\n }\n\n titleCase(str: string, searchValue?: string, replaceValue?: string) {\n if (searchValue && replaceValue && searchValue !== '' && replaceValue !== '') {\n str = str?.replace(new RegExp(searchValue, 'g'), replaceValue);\n }\n if (str.indexOf('!\\n') > 0 || str.indexOf('.\\n') > 0) {\n return str.split('\\n')?.reduce((accumulator, currentStr) => accumulator + currentStr.charAt(0).toUpperCase() + currentStr.substring(1).toLowerCase() + '\\n', '');\n } else {\n if (str.indexOf(' ') > 0) {\n return str.split(' ')?.reduce((accumulator, currentStr) => accumulator + currentStr.charAt(0).toUpperCase() + currentStr.substring(1).toLowerCase() + ' ', '');\n } else {\n return str.charAt(0).toUpperCase() + str.substring(1).toLowerCase();\n }\n }\n }\n\n convertCurrency(value: number, from: string, to: string, otherCurrencyUnit: string, fiatConversion: boolean): Observable {\n const latest_date = new Date().valueOf();\n if (fiatConversion && otherCurrencyUnit && this.ratesAPIStatus !== APICallStatusEnum.INITIATED && (from === CurrencyUnitEnum.OTHER || to === CurrencyUnitEnum.OTHER)) {\n if (this.conversionData.data && this.conversionData.last_fetched && (latest_date < (this.conversionData.last_fetched + 300000))) {\n return of(this.convertWithFiat(value, from, otherCurrencyUnit));\n } else {\n this.ratesAPIStatus = APICallStatusEnum.INITIATED;\n return this.dataService.getFiatRates().pipe(take(1),\n map((data: any) => {\n this.ratesAPIStatus = APICallStatusEnum.COMPLETED;\n this.conversionData.data = (data && typeof data === 'object') ? data : (data && typeof data === 'string') ? JSON.parse(data) : {};\n this.conversionData.last_fetched = latest_date;\n return this.convertWithFiat(value, from, otherCurrencyUnit);\n }),\n catchError((err) => {\n this.ratesAPIStatus = APICallStatusEnum.ERROR;\n return throwError(() => this.extractErrorMessage(err, 'Currency Conversion Error.'));\n })\n );\n }\n } else {\n return of(this.convertWithoutFiat(value, from));\n }\n }\n\n convertWithoutFiat(value: number, from: string) {\n const returnValue = {};\n returnValue[CurrencyUnitEnum.SATS] = 0;\n returnValue[CurrencyUnitEnum.BTC] = 0;\n switch (from) {\n case CurrencyUnitEnum.SATS:\n returnValue[CurrencyUnitEnum.SATS] = value;\n returnValue[CurrencyUnitEnum.BTC] = value * 0.00000001;\n break;\n case CurrencyUnitEnum.BTC:\n returnValue[CurrencyUnitEnum.SATS] = value * 100000000;\n returnValue[CurrencyUnitEnum.BTC] = value;\n break;\n default:\n break;\n }\n return returnValue;\n }\n\n convertWithFiat(value: number, from: string, otherCurrencyUnit: string) {\n const returnValue = { unit: otherCurrencyUnit, symbol: this.conversionData.data[otherCurrencyUnit].symbol };\n returnValue[CurrencyUnitEnum.SATS] = 0;\n returnValue[CurrencyUnitEnum.BTC] = 0;\n returnValue[CurrencyUnitEnum.OTHER] = 0;\n switch (from) {\n case CurrencyUnitEnum.SATS:\n returnValue[CurrencyUnitEnum.SATS] = value;\n returnValue[CurrencyUnitEnum.BTC] = value * 0.00000001;\n returnValue[CurrencyUnitEnum.OTHER] = value * 0.00000001 * this.conversionData.data[otherCurrencyUnit].last;\n break;\n case CurrencyUnitEnum.BTC:\n returnValue[CurrencyUnitEnum.SATS] = value * 100000000;\n returnValue[CurrencyUnitEnum.BTC] = value;\n returnValue[CurrencyUnitEnum.OTHER] = value * this.conversionData.data[otherCurrencyUnit].last;\n break;\n case (CurrencyUnitEnum.OTHER):\n returnValue[CurrencyUnitEnum.SATS] = value / this.conversionData.data[otherCurrencyUnit].last * 100000000;\n returnValue[CurrencyUnitEnum.BTC] = value / this.conversionData.data[otherCurrencyUnit].last;\n returnValue[CurrencyUnitEnum.OTHER] = value;\n break;\n default:\n break;\n }\n return returnValue;\n }\n\n convertTime(value: number, from: string, to: string) {\n switch (from) {\n case TimeUnitEnum.SECS:\n switch (to) {\n case TimeUnitEnum.MINS:\n value = value / 60;\n break;\n case TimeUnitEnum.HOURS:\n value = value / 3600;\n break;\n case TimeUnitEnum.DAYS:\n value = value / (3600 * 24);\n break;\n default:\n break;\n }\n break;\n case TimeUnitEnum.MINS:\n switch (to) {\n case TimeUnitEnum.SECS:\n value = value * 60;\n break;\n case TimeUnitEnum.HOURS:\n value = value / 60;\n break;\n case TimeUnitEnum.DAYS:\n value = value / (60 * 24);\n break;\n default:\n break;\n }\n break;\n case TimeUnitEnum.HOURS:\n switch (to) {\n case TimeUnitEnum.SECS:\n value = value * 3600;\n break;\n case TimeUnitEnum.MINS:\n value = value * 60;\n break;\n case TimeUnitEnum.DAYS:\n value = value / 24;\n break;\n default:\n break;\n }\n break;\n case TimeUnitEnum.DAYS:\n switch (to) {\n case TimeUnitEnum.SECS:\n value = value * 3600 * 24;\n break;\n case TimeUnitEnum.MINS:\n value = value * 60 * 24;\n break;\n case TimeUnitEnum.HOURS:\n value = value * 24;\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n return value;\n }\n\n downloadFile(data: any[], filename: string, fromFormat = '.json', toFormat = '.csv') {\n let blob = new Blob();\n if (fromFormat === '.json') {\n blob = new Blob(['\\ufeff' + this.convertToCSV(data)], { type: 'text/csv;charset=utf-8;' });\n } else {\n blob = new Blob([data.toString()], { type: 'text/plain;charset=utf-8' });\n }\n const downloadUrl = document.createElement('a');\n const url = URL.createObjectURL(blob);\n const isSafariBrowser = navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1;\n if (isSafariBrowser) {\n downloadUrl.setAttribute('target', '_blank');\n }\n downloadUrl.setAttribute('href', url);\n downloadUrl.setAttribute('download', filename + toFormat);\n downloadUrl.style.visibility = 'hidden';\n document.body.appendChild(downloadUrl);\n downloadUrl.click();\n document.body.removeChild(downloadUrl);\n }\n\n convertToCSV(objArray: any[]) {\n const keys: string[] = [];\n let dataRow = '';\n let arrayField = '';\n let csvStrArray = '';\n if (typeof objArray !== 'object') {\n objArray = JSON.parse(objArray);\n }\n objArray.forEach((obj, i) => {\n for (const key in obj) {\n if (keys.findIndex((keyEle) => keyEle === key) < 0) {\n keys.push(key);\n }\n }\n });\n const header = keys.join(',');\n csvStrArray = header + '\\r\\n';\n objArray.forEach((obj) => {\n dataRow = '';\n keys.forEach((key) => {\n if (obj.hasOwnProperty(key)) {\n if (Array.isArray(obj[key])) {\n arrayField = '';\n obj[key].forEach((arrEl, i) => {\n if (typeof arrEl === 'object') {\n arrayField += '(' + JSON.stringify(arrEl)?.replace(/\\,/g, ';') + ')';\n } else {\n arrayField += '(' + arrEl + ')';\n }\n });\n dataRow += arrayField + ',';\n } else {\n if (typeof obj[key] === 'object') {\n dataRow += JSON.stringify(obj[key])?.replace(/\\,/g, ';') + ',';\n } else {\n dataRow += obj[key] + ',';\n }\n }\n } else {\n dataRow += ',';\n }\n });\n csvStrArray += dataRow.slice(0, -1) + '\\r\\n';\n });\n return csvStrArray;\n }\n\n isVersionCompatible(currentVersion, checkVersion) {\n if (currentVersion) {\n const versionsArr = currentVersion.trim()?.replace('v', '').split('-')[0].split('.') || [];\n const checkVersionsArr = checkVersion.split('.');\n return (+versionsArr[0] > +checkVersionsArr[0]) ||\n (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] > +checkVersionsArr[1]) ||\n (+versionsArr[0] === +checkVersionsArr[0] && +versionsArr[1] === +checkVersionsArr[1] && +versionsArr[2] >= +checkVersionsArr[2]);\n }\n return false;\n }\n\n extractErrorMessage(err: any, genericErrorMessage: string = 'Unknown Error.') {\n const msg = this.titleCase(\n (err.error && err.error.text && typeof err.error.text === 'string' && err.error.text.includes('')) ? 'API Route Does Not Exist.' :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error :\n (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error :\n (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error :\n (err.error && typeof err.error === 'string') ? err.error :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message :\n (err.error && err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message :\n (err.error && err.error.message && typeof err.error.message === 'string') ? err.error.message :\n (err.message && typeof err.message === 'string') ? err.message : genericErrorMessage);\n this.logger.info('Error Message: ' + msg);\n return msg;\n }\n\n extractErrorCode(err: any, genericErrorCode: number = 500) {\n const code = (err.error && err.error.error && err.error.error.message && err.error.error.message.code) ? err.error.error.message.code :\n (err.error && err.error.error && err.error.error.code) ? err.error.error.code :\n (err.error && err.error.code) ? err.error.code :\n err.code ? err.code :\n err.status ? err.status : genericErrorCode;\n this.logger.info('Error Code: ' + code);\n return code;\n }\n\n extractErrorNumber(err: any, genericErrorNumber: number = 500) {\n const errNum = (err.error && err.error.error && err.error.error.errno) ? err.error.error.errno :\n (err.error && err.error.errno) ? err.error.errno :\n err.errno ? err.errno :\n err.status ? err.status : genericErrorNumber;\n this.logger.info('Error Number: ' + errNum);\n return errNum;\n }\n\n ngOnDestroy() {\n this.containerSizeUpdated.next(null);\n this.containerSizeUpdated.complete();\n }\n\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { CLNPageDefinitions, ECLPageDefinitions, LNDPageDefinitions, PageSettings } from '../models/pageSettings';\n\nexport function getPaginatorLabel(field: string) {\n const appPaginator = new MatPaginatorIntl();\n appPaginator.itemsPerPageLabel = field + ' per page:';\n return appPaginator;\n}\n\nexport const CURRENCY_UNITS = ['Sats', 'BTC'];\nexport const CURRENCY_UNIT_FORMATS = { Sats: '1.0-0', BTC: '1.6-6', OTHER: '1.2-2' };\nexport const FIAT_CURRENCY_UNITS = [\n { id: 'USD', name: 'USD' },\n { id: 'AUD', name: 'AUD' }, { id: 'BRL', name: 'BRL' }, { id: 'CAD', name: 'CAD' },\n { id: 'CHF', name: 'CHF' }, { id: 'CLP', name: 'CLP' }, { id: 'CNY', name: 'CNY' },\n { id: 'DKK', name: 'DKK' }, { id: 'EUR', name: 'EUR' }, { id: 'GBP', name: 'GBP' },\n { id: 'HKD', name: 'HKD' }, { id: 'INR', name: 'INR' }, { id: 'ISK', name: 'ISK' },\n { id: 'JPY', name: 'JPY' }, { id: 'KRW', name: 'KRW' }, { id: 'NZD', name: 'NZD' },\n { id: 'PLN', name: 'PLN' }, { id: 'RUB', name: 'RUB' }, { id: 'SEK', name: 'SEK' },\n { id: 'SGD', name: 'SGD' }, { id: 'THB', name: 'THB' }, { id: 'TWD', name: 'TWD' }\n];\n\nexport const TIME_UNITS = ['SECS', 'MINS', 'HOURS', 'DAYS'];\n\nexport const PAGE_SIZE = 10;\nexport const PAGE_SIZE_OPTIONS = [5, 10, 25, 100];\n\nexport const ADDRESS_TYPES = [\n { addressId: '0', addressCode: 'bech32', addressTp: 'Bech32 (P2WKH)', addressDetails: 'Pay to witness key hash' },\n { addressId: '1', addressCode: 'p2sh-segwit', addressTp: 'P2SH (NP2WKH)', addressDetails: 'Pay to nested witness key hash (default)' },\n { addressId: '4', addressCode: 'p2tr', addressTp: 'Taproot (P2TR)', addressDetails: 'Pay to taproot pubkey' }\n];\n\nexport const TRANS_TYPES = [\n { id: '0', name: 'Priority (Default)' },\n { id: '1', name: 'Target Confirmation Blocks' },\n { id: '2', name: 'Fee' }\n];\n\nexport const FEE_LIMIT_TYPES = [\n { id: 'none', name: 'No Fee Limit', placeholder: 'No Limit' },\n { id: 'fixed', name: 'Fixed Limit (Sats)', placeholder: 'Fixed Limit in Sats' },\n { id: 'percent', name: 'Percentage of Payment Amount', placeholder: 'Percentage Limit' }\n];\n\nexport const FEE_RATE_TYPES = [\n { feeRateId: 'urgent', feeRateType: 'Urgent' },\n { feeRateId: 'normal', feeRateType: 'Normal' },\n { feeRateId: 'slow', feeRateType: 'Slow' },\n { feeRateId: 'customperkb', feeRateType: 'Custom (Sats/vByte)' }\n];\n\nexport const NODE_SETTINGS = {\n themes: [\n { id: 'PURPLE', name: 'Diogo' },\n { id: 'TEAL', name: 'My2Sats' },\n { id: 'INDIGO', name: 'RTL' },\n { id: 'PINK', name: 'BK' },\n { id: 'YELLOW', name: 'Gold' }\n ],\n modes: [{ id: 'DAY', name: 'Day' }, { id: 'NIGHT', name: 'Night' }]\n};\n\nexport enum ECLWSEventTypeEnum {\n PAYMENT_RECEIVED = 'payment-received',\n PAYMENT_RELAYED = 'payment-relayed',\n PAYMENT_SENT = 'payment-sent',\n PAYMENT_SETTLING_ONCHAIN = 'payment-settling-onchain',\n PAYMENT_FAILED = 'payment-failed',\n CHANNEL_OPENED = 'channel-opened',\n CHANNEL_STATE_CHANGED = 'channel-state-changed',\n CHANNEL_CLOSED = 'channel-closed'\n}\n\nexport enum CLNWSEventTypeEnum {\n INVOICE = 'invoice',\n BLOCK_HEIGHT = 'block-height',\n SEND_PAYMENT = 'send-payment'\n}\n\nexport enum LNDWSEventTypeEnum {\n INVOICE = 'invoice'\n}\n\nexport enum UserPersonaEnum {\n OPERATOR = 'OPERATOR',\n MERCHANT = 'MERCHANT',\n ALL = 'ALL'\n}\n\nexport enum AlertTypeEnum {\n INFORMATION = 'Information',\n WARNING = 'Warning',\n ERROR = 'Error',\n SUCCESS = 'Success',\n CONFIRM = 'Confirm'\n}\n\nexport enum AuthenticateWith {\n JWT = 'JWT',\n PASSWORD = 'PASSWORD'\n}\n\nexport enum TimeUnitEnum {\n SECS = 'SECS',\n MINS = 'MINS',\n HOURS = 'HOURS',\n DAYS = 'DAYS'\n}\n\nexport enum CurrencyUnitEnum {\n SATS = 'Sats',\n BTC = 'BTC',\n OTHER = 'OTHER' // Fiat currency for conversion\n}\n\nexport enum DataTypeEnum {\n ARRAY = 'ARRAY',\n NUMBER = 'NUMBER',\n STRING = 'STRING',\n BOOLEAN = 'BOOLEAN',\n PASSWORD = 'PASSWORD',\n DATE = 'DATE',\n DATE_TIME = 'DATE_TIME'\n}\n\nexport enum ScreenSizeEnum {\n XS = 'XS', // < 600 => mobile handsets\n SM = 'SM', // 600 - 839 => tab portrait\n MD = 'MD', // 840 - 1239 => tab landscape & small laptops\n LG = 'LG', // 1240 - 1800 => small laptops\n XL = 'XL' // >1801 => big laptops\n}\n\nexport const CHANNEL_CLOSURE_TYPE = {\n COOPERATIVE_CLOSE: { name: 'Co-operative Close', tooltip: 'Channel closed cooperatively' },\n LOCAL_FORCE_CLOSE: { name: 'Local Force Close', tooltip: 'Channel force-closed by the local node' },\n REMOTE_FORCE_CLOSE: { name: 'Remote Force Close', tooltip: 'Channel force-closed by the remote node' },\n BREACH_CLOSE: { name: 'Breach Close', tooltip: 'Remote node attempted to broadcast a prior revoked channel state' },\n FUNDING_CANCELED: { name: 'Funding Canceled', tooltip: 'Channel never fully opened' },\n ABANDONED: { name: 'Abandoned', tooltip: 'Channel abandoned by the local node' }\n};\n\nexport const WALLET_ADDRESS_TYPE = {\n WITNESS_PUBKEY_HASH: { name: 'Witness Pubkey Hash', tooltip: '' },\n NESTED_PUBKEY_HASH: { name: 'Nested Pubkey Hash', tooltip: '' },\n UNUSED_WITNESS_PUBKEY_HASH: { name: 'Unused Witness Pubkey Hash', tooltip: '' },\n UNUSED_NESTED_PUBKEY_HASH: { name: 'Unused Nested Pubkey Hash', tooltip: '' },\n TAPROOT_PUBKEY: { name: 'Taproot Pubkey Hash', tooltip: '' }\n};\n\nexport enum CLNFailReason {\n WIRE_INVALID_ONION_VERSION = 'Invalid Onion Version',\n WIRE_INVALID_ONION_HMAC = 'Invalid Onion HMAC',\n WIRE_INVALID_ONION_KEY = 'Invalid Onion Key',\n WIRE_TEMPORARY_CHANNEL_FAILURE = 'Temporary Channel Failure',\n WIRE_PERMANENT_CHANNEL_FAILURE = 'Permanent Channel Failure',\n WIRE_REQUIRED_CHANNEL_FEATURE_MISSING = 'Missing Required Channel Feature',\n WIRE_UNKNOWN_NEXT_PEER = 'Unknown Next Peer',\n WIRE_AMOUNT_BELOW_MINIMUM = 'Amount Below Minimum',\n WIRE_FEE_INSUFFICIENT = 'Insufficient Fee',\n WIRE_INCORRECT_CLTV_EXPIRY = 'Incorrect CLTV Expiry',\n WIRE_EXPIRY_TOO_FAR = 'Expiry Too Far',\n WIRE_EXPIRY_TOO_SOON = 'Expiry Too Soon',\n WIRE_CHANNEL_DISABLED = 'Channel Disabled',\n WIRE_INVALID_ONION_PAYLOAD = 'Invalid Onion Payload',\n WIRE_INVALID_REALM = 'Invalid Realm',\n WIRE_PERMANENT_NODE_FAILURE = 'Permanent Node Failure',\n WIRE_TEMPORARY_NODE_FAILURE = 'Temporary Node Failure',\n WIRE_REQUIRED_NODE_FEATURE_MISSING = 'Missing Required Node Feature',\n WIRE_INVALID_ONION_BLINDING = 'Invalid Onion Binding',\n WIRE_INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS = 'Incorrect or Unknow Payment Details',\n WIRE_MPP_TIMEOUT = 'MPP Timeout',\n WIRE_FINAL_INCORRECT_CLTV_EXPIRY = 'Incorrect CLTV Expiry',\n WIRE_FINAL_INCORRECT_HTLC_AMOUNT = 'Incorrect HTLC Amount'\n}\n\nexport enum CLNChannelPendingState {\n CHANNELD_NORMAL = 'Active',\n OPENINGD = 'Opening',\n CHANNELD_AWAITING_LOCKIN = 'Pending Open',\n CHANNELD_SHUTTING_DOWN = 'Shutting Down',\n CLOSINGD_SIGEXCHANGE = 'Closing: Sig Exchange',\n CLOSINGD_COMPLETE = 'Closed',\n AWAITING_UNILATERAL = 'Awaiting Unilateral Close',\n FUNDING_SPEND_SEEN = 'Funding Spend Seen',\n ONCHAIN = 'Onchain',\n DUALOPEND_OPEN_INIT = 'Dual Open Initialized',\n DUALOPEND_AWAITING_LOCKIN = 'Dual Pending Open'\n}\n\nexport enum LoopStateEnum {\n INITIATED = 'Initiated',\n PREIMAGE_REVEALED = 'Preimage Revealed',\n HTLC_PUBLISHED = 'HTLC Published',\n SUCCESS = 'Successful',\n FAILED = 'Failed',\n INVOICE_SETTLED = 'Invoice Settled'\n}\n\nexport enum LoopTypeEnum {\n LOOP_OUT = 'LOOP_OUT',\n LOOP_IN = 'LOOP_IN'\n}\n\nexport enum SwapTypeEnum {\n SWAP_OUT = 'SWAP_OUT',\n SWAP_IN = 'SWAP_IN'\n}\n\nexport enum SwapStateEnum {\n 'swap.created' = 'Swap Created',\n 'swap.expired' = 'Swap Expired',\n 'invoice.set' = 'Invoice Set',\n 'invoice.paid' = 'Invoice Paid',\n 'invoice.pending' = 'Invoice Pending',\n 'invoice.settled' = 'Invoice Settled',\n 'invoice.failedToPay' = 'Invoice Failed To Pay',\n 'channel.created' = 'Channel Created',\n 'transaction.failed' = 'Transaction Failed',\n 'transaction.mempool' = 'Transaction Mempool',\n 'transaction.claimed' = 'Transaction Claimed',\n 'transaction.refunded' = 'Transaction Refunded',\n 'transaction.confirmed' = 'Transaction Confirmed',\n 'swap.refunded' = 'Swap Refunded',\n 'swap.abandoned' = 'Swap Abandoned'\n}\n\nexport const MONTHS = [\n { name: 'Jan', days: 31 },\n { name: 'Feb', days: 28 },\n { name: 'Mar', days: 31 },\n { name: 'Apr', days: 30 },\n { name: 'May', days: 31 },\n { name: 'Jun', days: 30 },\n { name: 'Jul', days: 31 },\n { name: 'Aug', days: 31 },\n { name: 'Sep', days: 30 },\n { name: 'Oct', days: 31 },\n { name: 'Nov', days: 30 },\n { name: 'Dec', days: 31 }\n];\n\nexport const SCROLL_RANGES = ['MONTHLY', 'YEARLY'];\n\nexport enum ServicesEnum {\n LOOP = 'LOOP',\n BOLTZ = 'BOLTZ',\n OFFERS = 'OFFERS',\n PEERSWAP = 'PEERSWAP'\n}\n\nexport const PASSWORD_BLACKLIST = ['password', 'changeme', 'moneyprintergobrrr'];\n\nexport enum APICallStatusEnum {\n UN_INITIATED = 'UN_INITIATED',\n INITIATED = 'INITIATED',\n COMPLETED = 'COMPLETED',\n ERROR = 'ERROR'\n}\n\nexport const UI_MESSAGES = {\n NO_SPINNER: 'No Spinner...',\n GET_NODE_INFO: 'Getting Node Information...',\n INITALIZE_NODE_DATA: 'Initializing Node Data...',\n GENERATE_NEW_ADDRESS: 'Getting New Address...',\n SEND_FUNDS: 'Sending Funds...',\n UPDATE_CHAN_POLICY: 'Updating Channel Policy...',\n GET_CHAN_POLICY: 'Fetching Channel Policy...',\n GET_REMOTE_POLICY: 'Fetching Remote Policy...',\n CLOSE_CHANNEL: 'Closing Channel...',\n FORCE_CLOSE_CHANNEL: 'Force Closing Channel...',\n OPEN_CHANNEL: 'Opening Channel...',\n CONNECT_PEER: 'Connecting Peer...',\n DISCONNECT_PEER: 'Disconnecting Peer...',\n ADD_INVOICE: 'Adding Invoice...',\n CREATE_INVOICE: 'Creating Invoice...',\n DELETE_INVOICE: 'Deleting Invoices...',\n DECODE_PAYMENT: 'Decoding Payment...',\n DECODE_OFFER: 'Decoding Offer...',\n DECODE_PAYMENTS: 'Decoding Payments...',\n FETCH_INVOICE: 'Fetching Invoice...',\n GET_SENT_PAYMENTS: 'Getting Sent Payments...',\n SEND_PAYMENT: 'Sending Payment...',\n SEND_KEYSEND: 'Sending Keysend Payment...',\n SEARCHING_NODE: 'Searching Node...',\n SEARCHING_CHANNEL: 'Searching Channel...',\n SEARCHING_INVOICE: 'Searching Invoice...',\n SEARCHING_PAYMENT: 'Searching Payment...',\n BACKUP_CHANNEL: 'Backup Channels...',\n VERIFY_CHANNEL: 'Verify Channel...',\n DOWNLOAD_BACKUP_FILE: 'Downloading Backup File...',\n RESTORE_CHANNEL: 'Restoring Channels...',\n GET_TERMS_QUOTES: 'Getting Terms and Quotes...',\n LABEL_UTXO: 'Labelling UTXO...',\n GET_NODE_ADDRESS: 'Getting Node Address...',\n GEN_SEED: 'Generating Seed...',\n INITIALIZE_WALLET: 'Initializing Wallet...',\n UNLOCK_WALLET: 'Unlocking Wallet...',\n WAIT_SYNC_NODE: 'Waiting for Node Sync...',\n UPDATE_BOLTZ_SETTINGS: 'Updating Boltz Service Settings...',\n UPDATE_LOOP_SETTINGS: 'Updating Loop Service Settings...',\n UPDATE_PEERSWAP_SETTINGS: 'Updating Peerswap Service Settings...',\n UPDATE_SETTING: 'Updating Setting...',\n UPDATE_UI_SETTINGS: 'Updating Settings...',\n UPDATE_NODE_SETTINGS: 'Updating Node Settings...',\n UPDATE_SELECTED_NODE: 'Updating Selected Node...',\n OPEN_CONFIG_FILE: 'Opening Config File...',\n GET_SERVICE_INFO: 'Getting Service Info...',\n GET_QUOTE: 'Getting Quotes...',\n UPDATE_DEFAULT_NODE_SETTING: 'Updating Defaule Node Settings...',\n GET_BOLTZ_SWAPS: 'Getting Boltz Swaps...',\n SIGN_MESSAGE: 'Signing Message...',\n VERIFY_MESSAGE: 'Verifying Message...',\n BUMP_FEE: 'Bumping Fee...',\n LEASE_UTXO: 'Leasing UTXO...',\n GET_LOOP_SWAPS: 'Getting List Swaps...',\n GET_FORWARDING_HISTORY: 'Getting Forwarding History...',\n GET_LOOKUP_DETAILS: 'Getting Lookup Details...',\n GET_RTL_CONFIG: 'Getting RTL Config...',\n VERIFY_TOKEN: 'Verify Token...',\n DISABLE_OFFER: 'Disabling Offer...',\n CREATE_OFFER: 'Creating Offer...',\n DELETE_OFFER_BOOKMARK: 'Deleting Bookmark...',\n GET_FUNDER_POLICY: 'Getting Or Updating Funder Policy...',\n GET_LIST_CONFIGS: 'Getting Configurations List...',\n LIST_NETWORK_NODES: 'Getting Network Nodes List...',\n GET_PAGE_SETTINGS: 'Getting Page Settings...',\n SET_PAGE_SETTINGS: 'Setting Page Settings...',\n UPDATE_PAGE_SETTINGS: 'Updating Page Layout...',\n LOG_OUT: 'Logging Out...'\n};\n\nexport enum PaymentTypes {\n INVOICE = 'INVOICE',\n OFFER = 'OFFER',\n KEYSEND = 'KEYSEND'\n}\n\nexport enum ReportBy {\n FEES = 'FEES',\n EVENTS = 'EVENTS'\n}\n\nexport enum RTLActions {\n VOID = 'VOID',\n SET_API_URL_ECL = 'SET_API_URL_ECL',\n UPDATE_SELECTED_NODE_OPTIONS = 'UPDATE_SELECTED_NODE_OPTIONS',\n UPDATE_API_CALL_STATUS_ROOT = 'UPDATE_API_CALL_STATUS_ROOT',\n RESET_ROOT_STORE = 'RESET_ROOT_STORE',\n CLOSE_ALL_DIALOGS = 'CLOSE_ALL_DIALOGS',\n OPEN_SNACK_BAR = 'OPEN_SNACKBAR',\n OPEN_SPINNER = 'OPEN_SPINNER',\n CLOSE_SPINNER = 'CLOSE_SPINNER',\n OPEN_ALERT = 'OPEN_ALERT',\n CLOSE_ALERT = 'CLOSE_ALERT',\n OPEN_CONFIRMATION = 'OPEN_CONFIRMATION',\n CLOSE_CONFIRMATION = 'CLOSE_CONFIRMATION',\n SHOW_PUBKEY = 'SHOW_PUBKEY',\n FETCH_CONFIG = 'FETCH_CONFIG',\n SHOW_CONFIG = 'SHOW_CONFIG',\n FETCH_STORE = 'FETCH_STORE',\n SET_STORE = 'SET_STORE',\n FETCH_RTL_CONFIG = 'FETCH_RTL_CONFIG',\n SET_RTL_CONFIG = 'SET_RTL_CONFIG',\n SAVE_SSO = 'SAVE_SSO',\n SAVE_SETTINGS = 'SAVE_SETTINGS',\n TWO_FA_SAVE_SETTINGS = 'TWO_FA_SAVE_SETTINGS',\n SET_SELECTED_NODE = 'SET_SELECTED_NODE',\n UPDATE_ROOT_NODE_SETTINGS = 'UPDATE_ROOT_NODE_SETTINGS',\n UPDATE_SERVICE_SETTINGS = 'UPDATE_SERVICE_SETTINGS',\n SET_NODE_DATA = 'SET_NODE_DATA',\n IS_AUTHORIZED = 'IS_AUTHORIZED',\n IS_AUTHORIZED_RES = 'IS_AUTHORIZED_RES',\n LOGIN = 'LOGIN',\n VERIFY_TWO_FA = 'VERIFY_TWO_FA',\n LOGOUT = 'LOGOUT',\n RESET_PASSWORD = 'RESET_PASSWORD',\n RESET_PASSWORD_RES = 'RESET_PASSWORD_RES',\n FETCH_FILE = 'FETCH_FILE',\n SHOW_FILE = 'SHOW_FILE'\n};\n\nexport enum LNDActions {\n RESET_LND_STORE = 'RESET_LND_STORE',\n UPDATE_API_CALL_STATUS_LND = 'UPDATE_API_CALL_STATUS_LND',\n SET_CHILD_NODE_SETTINGS_LND = 'SET_CHILD_NODE_SETTINGS_LND',\n FETCH_PAGE_SETTINGS_LND = 'FETCH_PAGE_SETTINGS_LND',\n SET_PAGE_SETTINGS_LND = 'SET_PAGE_SETTINGS_LND',\n SAVE_PAGE_SETTINGS_LND = 'SAVE_PAGE_SETTINGS_LND',\n FETCH_INFO_LND = 'FETCH_INFO_LND',\n SET_INFO_LND = 'SET_INFO_LND',\n FETCH_PEERS_LND = 'FETCH_PEERS_LND',\n SET_PEERS_LND = 'SET_PEERS_LND',\n SAVE_NEW_PEER_LND = 'SAVE_NEW_PEER_LND',\n NEWLY_ADDED_PEER_LND = 'NEWLY_ADDED_PEER_LND',\n DETACH_PEER_LND = 'DETACH_PEER_LND',\n REMOVE_PEER_LND = 'REMOVE_PEER_LND',\n SAVE_NEW_INVOICE_LND = 'SAVE_NEW_INVOICE_LND',\n NEWLY_SAVED_INVOICE_LND = 'NEWLY_SAVED_INVOICE_LND',\n ADD_INVOICE_LND = 'ADD_INVOICE_LND',\n FETCH_FEES_LND = 'FETCH_FEES_LND',\n SET_FEES_LND = 'SET_FEES_LND',\n FETCH_BLOCKCHAIN_BALANCE_LND = 'FETCH_BLOCKCHAIN_BALANCE_LND',\n SET_BLOCKCHAIN_BALANCE_LND = 'SET_BLOCKCHAIN_BALANCE_LND',\n FETCH_NETWORK_LND = 'FETCH_NETWORK_LND',\n SET_NETWORK_LND = 'SET_NETWORK_LND',\n FETCH_CHANNELS_LND = 'FETCH_CHANNELS_LND',\n FETCH_PENDING_CHANNELS_LND = 'FETCH_PENDING_CHANNELS_LND',\n FETCH_CLOSED_CHANNELS_LND = 'FETCH_CLOSED_CHANNELS_LND',\n SET_CHANNELS_LND = 'SET_CHANNELS_LND',\n SET_PENDING_CHANNELS_LND = 'SET_PENDING_CHANNELS_LND',\n SET_CLOSED_CHANNELS_LND = 'SET_CLOSED_CHANNELS_LND',\n UPDATE_CHANNEL_LND = 'UPDATE_CHANNEL_LND',\n SAVE_NEW_CHANNEL_LND = 'SAVE_NEW_CHANNEL_LND',\n CLOSE_CHANNEL_LND = 'CLOSE_CHANNEL_LND',\n REMOVE_CHANNEL_LND = 'REMOVE_CHANNEL_LND',\n BACKUP_CHANNELS_LND = 'BACKUP_CHANNELS_LND',\n VERIFY_CHANNEL_LND = 'VERIFY_CHANNEL_LND',\n BACKUP_CHANNELS_RES_LND = 'BACKUP_CHANNELS_RES_LND',\n VERIFY_CHANNEL_RES_LND = 'VERIFY_CHANNEL_RES_LND',\n RESTORE_CHANNELS_LIST_LND = 'RESTORE_CHANNELS_LIST_LND',\n SET_RESTORE_CHANNELS_LIST_LND = 'SET_RESTORE_CHANNELS_LIST_LND',\n RESTORE_CHANNELS_LND = 'RESTORE_CHANNELS_LND',\n RESTORE_CHANNELS_RES_LND = 'RESTORE_CHANNELS_RES_LND',\n FETCH_INVOICES_LND = 'FETCH_INVOICES_LND',\n SET_INVOICES_LND = 'SET_INVOICES_LND',\n UPDATE_INVOICE_LND = 'UPDATE_INVOICE_LND',\n UPDATE_PAYMENT_LND = 'UPDATE_PAYMENT_LND',\n SET_TOTAL_INVOICES_LND = 'SET_TOTAL_INVOICES_LND',\n FETCH_TRANSACTIONS_LND = 'FETCH_TRANSACTIONS_LND',\n SET_TRANSACTIONS_LND = 'SET_TRANSACTIONS_LND',\n FETCH_UTXOS_LND = 'FETCH_UTXOS_LND',\n SET_UTXOS_LND = 'SET_UTXOS_LND',\n FETCH_PAYMENTS_LND = 'FETCH_PAYMENTS_LND',\n SET_PAYMENTS_LND = 'SET_PAYMENTS_LND',\n SEND_PAYMENT_LND = 'SEND_PAYMENT_LND',\n SEND_PAYMENT_STATUS_LND = 'SEND_PAYMENT_STATUS_LND',\n FETCH_GRAPH_NODE_LND = 'FETCH_GRAPH_NODE_LND',\n SET_GRAPH_NODE_LND = 'SET_GRAPH_NODE_LND',\n GET_NEW_ADDRESS_LND = 'GET_NEW_ADDRESS_LND',\n SET_NEW_ADDRESS_LND = 'SET_NEW_ADDRESS_LND',\n SET_CHANNEL_TRANSACTION_LND = 'SET_CHANNEL_TRANSACTION_LND',\n SET_CHANNEL_TRANSACTION_RES_LND = 'SET_CHANNEL_TRANSACTION_RES_LND',\n GEN_SEED_LND = 'GEN_SEED_LND',\n GEN_SEED_RESPONSE_LND = 'GEN_SEED_RESPONSE_LND',\n INIT_WALLET_LND = 'INIT_WALLET_LND',\n INIT_WALLET_RESPONSE_LND = 'INIT_WALLET_RESPONSE_LND',\n UNLOCK_WALLET_LND = 'UNLOCK_WALLET_LND',\n PEER_LOOKUP_LND = 'PEER_LOOKUP_LND',\n CHANNEL_LOOKUP_LND = 'CHANNEL_LOOKUP_LND',\n INVOICE_LOOKUP_LND = 'INVOICE_LOOKUP_LND',\n PAYMENT_LOOKUP_LND = 'PAYMENT_LOOKUP_LND',\n SET_LOOKUP_LND = 'SET_LOOKUP_LND',\n GET_FORWARDING_HISTORY_LND = 'GET_FORWARDING_HISTORY_LND',\n SET_FORWARDING_HISTORY_LND = 'SET_FORWARDING_HISTORY_LND',\n GET_QUERY_ROUTES_LND = 'GET_QUERY_ROUTES_LND',\n SET_QUERY_ROUTES_LND = 'SET_QUERY_ROUTES_LND',\n GET_ALL_LIGHTNING_TRANSATIONS_LND = 'GET_ALL_LIGHTNING_TRANSATIONS_LND',\n SET_ALL_LIGHTNING_TRANSATIONS_LND = 'SET_ALL_LIGHTNING_TRANSATIONS_LND'\n};\n\nexport enum CLNActions {\n RESET_CLN_STORE = 'RESET_CLN_STORE',\n UPDATE_API_CALL_STATUS_CLN = 'UPDATE_API_CALL_STATUS_CLN',\n SET_CHILD_NODE_SETTINGS_CLN = 'SET_CHILD_NODE_SETTINGS_CLN',\n FETCH_PAGE_SETTINGS_CLN = 'FETCH_PAGE_SETTINGS_CLN',\n SET_PAGE_SETTINGS_CLN = 'SET_PAGE_SETTINGS_CLN',\n SAVE_PAGE_SETTINGS_CLN = 'SAVE_PAGE_SETTINGS_CLN',\n FETCH_INFO_CLN = 'FETCH_INFO_CL_CLN',\n SET_INFO_CLN = 'SET_INFO_CLN',\n FETCH_FEES_CLN = 'FETCH_FEES_CLN',\n SET_FEES_CLN = 'SET_FEES_CLN',\n FETCH_FEE_RATES_CLN = 'FETCH_FEE_RATES_CLN',\n SET_FEE_RATES_CLN = 'SET_FEE_RATES_CLN',\n FETCH_BALANCE_CLN = 'FETCH_BALANCE_CLN',\n SET_BALANCE_CLN = 'SET_BALANCE_CLN',\n FETCH_LOCAL_REMOTE_BALANCE_CLN = 'FETCH_LOCAL_REMOTE_BALANCE_CLN',\n SET_LOCAL_REMOTE_BALANCE_CLN = 'SET_LOCAL_REMOTE_BALANCE_CLN',\n GET_NEW_ADDRESS_CLN = 'GET_NEW_ADDRESS_CLN',\n SET_NEW_ADDRESS_CLN = 'SET_NEW_ADDRESS_CLN',\n FETCH_UTXOS_CLN = 'FETCH_UTXOS_CLN',\n SET_UTXOS_CLN = 'SET_UTXOS_CLN',\n FETCH_PEERS_CLN = 'FETCH_PEERS_CLN',\n SET_PEERS_CLN = 'SET_PEERS_CLN',\n SAVE_NEW_PEER_CLN = 'SAVE_NEW_PEER_CLN',\n NEWLY_ADDED_PEER_CLN = 'NEWLY_ADDED_PEER_CLN',\n ADD_PEER_CLN = 'ADD_PEER_CLN',\n DETACH_PEER_CLN = 'DETACH_PEER_CLN',\n REMOVE_PEER_CLN = 'REMOVE_PEER_CLN',\n FETCH_CHANNELS_CLN = 'FETCH_CHANNELS_CLN',\n SET_CHANNELS_CLN = 'SET_CHANNELS_CLN',\n UPDATE_CHANNEL_CLN = 'UPDATE_CHANNEL_CLN',\n SAVE_NEW_CHANNEL_CLN = 'SAVE_NEW_CHANNEL_CLN',\n CLOSE_CHANNEL_CLN = 'CLOSE_CHANNEL_CLN',\n REMOVE_CHANNEL_CLN = 'REMOVE_CHANNEL_CLN',\n FETCH_PAYMENTS_CLN = 'FETCH_PAYMENTS_CLN',\n SET_PAYMENTS_CLN = 'SET_PAYMENTS_CLN',\n SEND_PAYMENT_CLN = 'SEND_PAYMENT_CLN',\n SEND_PAYMENT_STATUS_CLN = 'SEND_PAYMENT_STATUS_CLN',\n GET_QUERY_ROUTES_CLN = 'GET_QUERY_ROUTES_CLN',\n SET_QUERY_ROUTES_CLN = 'SET_QUERY_ROUTES_CLN',\n PEER_LOOKUP_CLN = 'PEER_LOOKUP_CLN',\n CHANNEL_LOOKUP_CLN = 'CHANNEL_LOOKUP_CLN',\n INVOICE_LOOKUP_CLN = 'INVOICE_LOOKUP_CLN',\n SET_LOOKUP_CLN = 'SET_LOOKUP_CLN',\n GET_FORWARDING_HISTORY_CLN = 'GET_FORWARDING_HISTORY_CLN',\n SET_FORWARDING_HISTORY_CLN = 'SET_FORWARDING_HISTORY_CLN',\n GET_FAILED_FORWARDING_HISTORY_CLN = 'GET_FAILED_FORWARDING_HISTORY_CLN',\n SET_FAILED_FORWARDING_HISTORY_CLN = 'SET_FAILED_FORWARDING_HISTORY_CLN',\n GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN = 'GET_LOCAL_FAILED_FORWARDING_HISTORY_CLN',\n SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN = 'SET_LOCAL_FAILED_FORWARDING_HISTORY_CLN',\n FETCH_INVOICES_CLN = 'FETCH_INVOICES_CLN',\n SET_INVOICES_CLN = 'SET_INVOICES_CLN',\n SAVE_NEW_INVOICE_CLN = 'SAVE_NEW_INVOICE_CLN',\n ADD_INVOICE_CLN = 'ADD_INVOICE_CLN',\n UPDATE_INVOICE_CLN = 'UPDATE_INVOICE_CLN',\n DELETE_EXPIRED_INVOICE_CLN = 'DELETE_EXPIRED_INVOICE_CLN',\n SET_CHANNEL_TRANSACTION_CLN = 'SET_CHANNEL_TRANSACTION_CLN',\n SET_CHANNEL_TRANSACTION_RES_CLN = 'SET_CHANNEL_TRANSACTION_RES_CLN',\n FETCH_OFFER_INVOICE_CLN = 'FETCH_OFFER_INVOICE_CLN',\n SET_OFFER_INVOICE_CLN = 'SET_OFFER_INVOICE_CLN',\n FETCH_OFFERS_CLN = 'FETCH_OFFERS_CLN',\n SET_OFFERS_CLN = 'SET_OFFERS_CLN',\n SAVE_NEW_OFFER_CLN = 'SAVE_NEW_OFFER_CLN',\n ADD_OFFER_CLN = 'ADD_OFFER_CLN',\n DISABLE_OFFER_CLN = 'DISABLE_OFFER_CLN',\n UPDATE_OFFER_CLN = 'UPDATE_OFFER_CLN',\n FETCH_OFFER_BOOKMARKS_CLN = 'FETCH_OFFER_BOOKMARKS_CLN',\n SET_OFFER_BOOKMARKS_CLN = 'SET_OFFER_BOOKMARKS_CLN',\n ADD_UPDATE_OFFER_BOOKMARK_CLN = 'ADD_UPDATE_OFFER_BOOKMARK_CLN',\n DELETE_OFFER_BOOKMARK_CLN = 'DELETE_OFFER_BOOKMARK_CLN',\n REMOVE_OFFER_BOOKMARK_CLN = 'REMOVE_OFFER_BOOKMARK_CL'\n};\n\nexport enum ECLActions {\n RESET_ECL_STORE = 'RESET_ECL_STORE',\n UPDATE_API_CALL_STATUS_ECL = 'UPDATE_API_CALL_STATUS_ECL',\n SET_CHILD_NODE_SETTINGS_ECL = 'SET_CHILD_NODE_SETTINGS_ECL',\n FETCH_PAGE_SETTINGS_ECL = 'FETCH_PAGE_SETTINGS_ECL',\n SET_PAGE_SETTINGS_ECL = 'SET_PAGE_SETTINGS_ECL',\n SAVE_PAGE_SETTINGS_ECL = 'SAVE_PAGE_SETTINGS_ECL',\n FETCH_INFO_ECL = 'FETCH_INFO_ECL',\n SET_INFO_ECL = 'SET_INFO_ECL',\n FETCH_FEES_ECL = 'FETCH_FEES_ECL',\n SET_FEES_ECL = 'SET_FEES_ECL',\n FETCH_CHANNELS_ECL = 'FETCH_CHANNELS_ECL',\n SET_ACTIVE_CHANNELS_ECL = 'SET_ACTIVE_CHANNELS_ECL',\n SET_PENDING_CHANNELS_ECL = 'SET_PENDING_CHANNELS_ECL',\n SET_INACTIVE_CHANNELS_ECL = 'SET_INACTIVE_CHANNELS_ECL',\n FETCH_ONCHAIN_BALANCE_ECL = 'FETCH_ONCHAIN_BALANCE_ECL',\n SET_ONCHAIN_BALANCE_ECL = 'SET_ONCHAIN_BALANCE_ECL',\n FETCH_LIGHTNING_BALANCE_ECL = 'FETCH_LIGHTNING_BALANCE_ECL',\n SET_LIGHTNING_BALANCE_ECL = 'SET_LIGHTNING_BALANCE_ECL',\n SET_CHANNELS_STATUS_ECL = 'SET_CHANNELS_STATUS_ECL',\n FETCH_PEERS_ECL = 'FETCH_PEERS_ECL',\n SET_PEERS_ECL = 'SET_PEERS_ECL',\n SAVE_NEW_PEER_ECL = 'SAVE_NEW_PEER_ECL',\n NEWLY_ADDED_PEER_ECL = 'NEWLY_ADDED_PEER_ECL',\n ADD_PEER_ECL = 'ADD_PEER_ECL',\n DETACH_PEER_ECL = 'DETACH_PEER_ECL',\n REMOVE_PEER_ECL = 'REMOVE_PEER_ECL',\n GET_NEW_ADDRESS_ECL = 'GET_NEW_ADDRESS_ECL',\n SET_NEW_ADDRESS_ECL = 'SET_NEW_ADDRESS_ECL',\n SAVE_NEW_CHANNEL_ECL = 'SAVE_NEW_CHANNEL_ECL',\n UPDATE_CHANNEL_ECL = 'UPDATE_CHANNEL_ECL',\n CLOSE_CHANNEL_ECL = 'CLOSE_CHANNEL_ECL',\n REMOVE_CHANNEL_ECL = 'REMOVE_CHANNEL_ECL',\n FETCH_PAYMENTS_ECL = 'FETCH_PAYMENTS_ECL',\n SET_PAYMENTS_ECL = 'SET_PAYMENTS_ECL',\n GET_QUERY_ROUTES_ECL = 'GET_QUERY_ROUTES_ECL',\n SET_QUERY_ROUTES_ECL = 'SET_QUERY_ROUTES_ECL',\n SEND_PAYMENT_ECL = 'SEND_PAYMENT_ECL',\n SEND_PAYMENT_STATUS_ECL = 'SEND_PAYMENT_STATUS_ECL',\n FETCH_TRANSACTIONS_ECL = 'FETCH_TRANSACTIONS_ECL',\n SET_TRANSACTIONS_ECL = 'SET_TRANSACTIONS_ECL',\n SEND_ONCHAIN_FUNDS_ECL = 'SEND_ONCHAIN_FUNDS_ECL',\n SEND_ONCHAIN_FUNDS_RES_ECL = 'SEND_ONCHAIN_FUNDS_RES_ECL',\n FETCH_INVOICES_ECL = 'FETCH_INVOICES_ECL',\n SET_INVOICES_ECL = 'SET_INVOICES_ECL',\n SET_TOTAL_INVOICES_ECL = 'SET_TOTAL_INVOICES_ECL',\n CREATE_INVOICE_ECL = 'CREATE_INVOICE_ECL',\n ADD_INVOICE_ECL = 'ADD_INVOICE_ECL',\n UPDATE_INVOICE_ECL = 'UPDATE_INVOICE_ECL',\n PEER_LOOKUP_ECL = 'PEER_LOOKUP_ECL',\n INVOICE_LOOKUP_ECL = 'INVOICE_LOOKUP_ECL',\n SET_LOOKUP_ECL = 'SET_LOOKUP_ECL',\n UPDATE_CHANNEL_STATE_ECL = 'UPDATE_CHANNEL_STATE_ECL',\n UPDATE_RELAYED_PAYMENT_ECL = 'UPDATE_RELAYED_PAYMENT_ECL'\n};\n\nexport const NODE_FEATURES_CLN = [\n { range: { min: 0, max: 1 }, description: 'Requires or supports extra channel re-establish fields' },\n { range: { min: 4, max: 5 }, description: 'Commits to a shutdown script pubkey when opening channel' },\n { range: { min: 6, max: 7 }, description: 'More sophisticated gossip control' },\n { range: { min: 8, max: 9 }, description: 'Requires/supports variable-length routing onion payloads' },\n { range: { min: 10, max: 11 }, description: 'Gossip queries can include additional information' },\n { range: { min: 12, max: 13 }, description: 'Static key for remote output' },\n { range: { min: 14, max: 15 }, description: 'Node supports payment secret field' },\n { range: { min: 16, max: 17 }, description: 'Node can receive basic multi-part payments' },\n { range: { min: 18, max: 19 }, description: 'Node can create large channels' },\n { range: { min: 20, max: 21 }, description: 'Anchor outputs' },\n { range: { min: 22, max: 23 }, description: 'Anchor commitment type with zero fee HTLC transactions' },\n { range: { min: 26, max: 27 }, description: 'Future segwit versions allowed in shutdown' }\n];\n\nexport enum NodeFeaturesECL {\n gossip_queries_ex = 'Gossip queries including additional information',\n option_anchor_outputs = 'Anchor outputs',\n option_data_loss_protect = 'Extra channel re-establish fields',\n var_onion_optin = 'Variable-length routing onion payloads',\n option_static_remotekey = 'Static key for remote output',\n option_support_large_channel = 'Create large channels',\n option_anchors_zero_fee_htlc_tx = 'Anchor commitment type with zero fee HTLC transactions',\n payment_secret = 'Payment secret field',\n option_shutdown_anysegwit = 'Future segwit versions allowed in shutdown',\n basic_mpp = 'Basic multi-part payments',\n gossip_queries = 'More sophisticated gossip control',\n option_upfront_shutdown_script = 'Shutdown script pubkey when opening channel',\n anchors_zero_fee_htlc_tx = 'Anchor commitment type with zero fee HTLC transactions',\n amp = 'AMP'\n};\n\nexport enum NodeFeaturesLND {\n 'data-loss-protect' = 'Extra channel re-establish fields',\n 'upfront-shutdown-script' = 'Shutdown script pubkey when opening channel',\n 'gossip-queries' = 'More sophisticated gossip control',\n 'tlv-onion' = 'Variable-length routing onion payloads',\n 'ext-gossip-queries' = 'Gossip queries can include additional information',\n 'static-remote-key' = 'Static key for remote output',\n 'payment-addr' = 'Payment secret field',\n 'multi-path-payments' = 'Basic multi-part payments',\n 'wumbo-channels' = 'Wumbo Channels',\n 'anchors' = 'Anchor outputs',\n 'anchors-zero-fee-htlc-tx' = 'Anchor commitment type with zero fee HTLC transactions',\n 'amp' = 'AMP'\n};\n\nexport const LADS_POLICY = [\n { id: 'match', placeholder: 'Policy Match (%age)', min: 0, max: 200 },\n { id: 'available', placeholder: 'Policy Available (%age)', min: 0, max: 100 },\n { id: 'fixed', placeholder: 'Fixed Policy (Sats)', min: 0, max: 100 }\n];\n\nexport enum CLNForwardingEventsStatusEnum {\n OFFERED = 'offered',\n SETTLED = 'settled',\n FAILED = 'failed',\n LOCAL_FAILED = 'local_failed'\n}\n\nexport enum PeerswapTypes {\n SWAP_OUT = 'swap-out',\n SWAP_IN = 'swap-in'\n}\n\nexport enum PeerswapRoles {\n SENDER = 'sender',\n RECEIVER = 'receiver'\n}\n\nexport enum PeerswapStates {\n SWAP_CANCELED = 'State_SwapCanceled'\n}\n\nexport enum PeerswapPeersLists {\n ALLOWED = 'allowed',\n SUSPICIOUS = 'suspicious'\n}\n\nexport enum SortOrderEnum {\n ASCENDING = 'asc',\n DESCENDING = 'desc'\n}\n\nexport const SORT_ORDERS = ['asc', 'desc'];\n\nexport const CLN_DEFAULT_PAGE_SETTINGS: PageSettings[] = [\n { pageId: 'on_chain', tables: [\n { tableId: 'utxos', recordsPerPage: PAGE_SIZE, sortBy: 'blockheight', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['txid', 'value'],\n columnSelection: ['txid', 'output', 'value', 'blockheight'] },\n { tableId: 'dust_utxos', recordsPerPage: PAGE_SIZE, sortBy: 'blockheight', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['txid', 'value'],\n columnSelection: ['txid', 'output', 'value', 'blockheight'] }\n ] },\n { pageId: 'peers_channels', tables: [\n { tableId: 'open_channels', recordsPerPage: PAGE_SIZE, sortBy: 'msatoshi_to_us', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'msatoshi_to_us', 'msatoshi_to_them'],\n columnSelection: ['short_channel_id', 'alias', 'msatoshi_to_us', 'msatoshi_to_them', 'balancedness'] },\n { tableId: 'pending_inactive_channels', recordsPerPage: PAGE_SIZE, sortBy: 'state', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'state'],\n columnSelection: ['alias', 'connected', 'state', 'msatoshi_total'] },\n { tableId: 'peers', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.ASCENDING,\n columnSelectionSM: ['alias', 'id'],\n columnSelection: ['alias', 'id', 'netaddr'] }\n ] },\n { pageId: 'liquidity_ads', tables: [\n { tableId: 'liquidity_ads', recordsPerPage: PAGE_SIZE, sortBy: 'channel_opening_fee', sortOrder: SortOrderEnum.ASCENDING,\n columnSelectionSM: ['alias', 'channel_opening_fee'],\n columnSelection: ['alias', 'last_timestamp', 'lease_fee', 'routing_fee', 'channel_opening_fee'] }\n ] },\n { pageId: 'transactions', tables: [\n { tableId: 'payments', recordsPerPage: PAGE_SIZE, sortBy: 'created_at', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['created_at', 'msatoshi'],\n columnSelection: ['created_at', 'type', 'payment_hash', 'msatoshi_sent', 'msatoshi'] },\n { tableId: 'invoices', recordsPerPage: PAGE_SIZE, sortBy: 'expires_at', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['expires_at', 'msatoshi'],\n columnSelection: ['expires_at', 'paid_at', 'type', 'description', 'msatoshi', 'msatoshi_received'] },\n { tableId: 'offers', recordsPerPage: PAGE_SIZE, sortBy: 'offer_id', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['offer_id', 'single_use'],\n columnSelection: ['offer_id', 'single_use', 'used'] },\n { tableId: 'offer_bookmarks', recordsPerPage: PAGE_SIZE, sortBy: 'lastUpdatedAt', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['lastUpdatedAt', 'amountMSat'],\n columnSelection: ['lastUpdatedAt', 'title', 'description', 'amountMSat'] }\n ] },\n { pageId: 'routing', tables: [\n { tableId: 'forwarding_history', recordsPerPage: PAGE_SIZE, sortBy: 'received_time', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['received_time', 'in_msatoshi', 'out_msatoshi'],\n columnSelection: ['received_time', 'resolved_time', 'in_channel_alias', 'out_channel_alias', 'in_msatoshi', 'out_msatoshi', 'fee'] },\n { tableId: 'routing_peers', recordsPerPage: PAGE_SIZE, sortBy: 'total_fee', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'events', 'total_fee'],\n columnSelection: ['channel_id', 'alias', 'events', 'total_amount', 'total_fee'] },\n { tableId: 'failed', recordsPerPage: PAGE_SIZE, sortBy: 'received_time', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['received_time', 'in_channel_alias', 'in_msatoshi'],\n columnSelection: ['received_time', 'resolved_time', 'in_channel_alias', 'out_channel_alias', 'in_msatoshi', 'out_msatoshi', 'fee'] },\n { tableId: 'local_failed', recordsPerPage: PAGE_SIZE, sortBy: 'received_time', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['received_time', 'in_channel_alias', 'in_msatoshi'],\n columnSelection: ['received_time', 'in_channel_alias', 'in_msatoshi', 'style', 'failreason'] }\n ] },\n { pageId: 'reports', tables: [\n { tableId: 'routing', recordsPerPage: PAGE_SIZE, sortBy: 'received_time', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['received_time', 'in_msatoshi', 'out_msatoshi'],\n columnSelection: ['received_time', 'resolved_time', 'in_channel_alias', 'out_channel_alias', 'in_msatoshi', 'out_msatoshi', 'fee'] },\n { tableId: 'transactions', recordsPerPage: PAGE_SIZE, sortBy: 'date', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['date', 'amount_paid', 'amount_received'],\n columnSelection: ['date', 'amount_paid', 'num_payments', 'amount_received', 'num_invoices'] }\n ] },\n { pageId: 'graph_lookup', tables: [\n { tableId: 'query_routes', recordsPerPage: PAGE_SIZE, sortBy: 'msatoshi', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'direction', 'msatoshi'],\n columnSelection: ['alias', 'channel', 'direction', 'delay', 'msatoshi'] }\n ] },\n { pageId: 'peerswap', tables: [\n { tableId: 'swaps', recordsPerPage: PAGE_SIZE, sortBy: 'created_at', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['id', 'state', 'amount'],\n columnSelection: ['id', 'alias', 'short_channel_id', 'created_at', 'state', 'amount'] }\n ] }\n];\n\nexport const CLN_PAGE_DEFS: CLNPageDefinitions = {\n on_chain: {\n utxos: {\n maxColumns: 7,\n allowedColumns: [{ column:'txid', label: 'Transaction ID' }, { column:'address' }, { column:'scriptpubkey', label: 'Script Pubkey' }, { column:'output' }, { column:'value' }, { column:'blockheight' },\n { column:'reserved' }]\n },\n dust_utxos: {\n maxColumns: 7,\n allowedColumns: [{ column:'txid', label: 'Transaction ID' }, { column:'address' }, { column:'scriptpubkey', label: 'Script Pubkey' }, { column:'output' }, { column:'value' }, { column:'blockheight' },\n { column:'reserved' }]\n }\n },\n peers_channels: {\n open_channels: {\n maxColumns: 8,\n allowedColumns: [{ column:'short_channel_id' }, { column:'alias' }, { column:'id' }, { column:'channel_id' }, { column:'funding_txid', label: 'Funding Transaction ID' },\n { column:'connected' }, { column:'our_channel_reserve_satoshis', label: 'Local Reserve' }, { column:'their_channel_reserve_satoshis', label: 'Remote Reserve' }, { column:'msatoshi_total', label: 'Total' },\n { column:'spendable_msatoshi', label: 'Spendable' }, { column:'msatoshi_to_us', label: 'Local Balance' }, { column:'msatoshi_to_them', label: 'Remote Balance' }, { column:'balancedness', label: 'Balance Score' }]\n },\n pending_inactive_channels: {\n maxColumns: 8,\n allowedColumns: [{ column:'alias' }, { column:'id' }, { column:'channel_id' }, { column:'funding_txid', label: 'Funding Transaction ID' }, { column:'connected' }, { column:'state' },\n { column:'our_channel_reserve_satoshis', label: 'Local Reserve' }, { column:'their_channel_reserve_satoshis', label: 'Remote Reserve' }, { column:'msatoshi_total', label: 'Total' }, { column:'spendable_msatoshi', label: 'Spendable' },\n { column:'msatoshi_to_us', label: 'Local Balance' }, { column:'msatoshi_to_them', label: 'Remote Balance' }]\n },\n peers: {\n maxColumns: 3,\n allowedColumns: [{ column:'alias' }, { column:'id' }, { column:'netaddr', label: 'Network Address' }]\n }\n },\n liquidity_ads: {\n liquidity_ads: {\n maxColumns: 8,\n allowedColumns: [{ column:'alias' }, { column:'nodeid', label: 'Node ID' }, { column:'last_timestamp', label: 'Last Announcement At' }, { column:'compact_lease' }, { column:'lease_fee' },\n { column:'routing_fee' }, { column:'channel_opening_fee' }, { column:'funding_weight' }]\n }\n },\n transactions: {\n payments: {\n maxColumns: 7,\n allowedColumns: [{ column:'created_at', label: 'Created At' }, { column:'type' }, { column:'payment_hash' }, { column:'bolt11', label: 'Invoice' }, { column:'destination' }, { column:'memo' },\n { column:'label' }, { column:'msatoshi_sent', label: 'Sats Sent' }, { column:'msatoshi', label: 'Sats Received' }]\n },\n invoices: {\n maxColumns: 7,\n allowedColumns: [{ column:'expires_at', label: 'Expiry Date' }, { column:'paid_at', label: 'Date Settled' }, { column:'type' }, { column:'description' }, { column:'label' },\n { column:'payment_hash' }, { column:'bolt11', label: 'Invoice' }, { column:'msatoshi', label: 'Amount' }, { column:'msatoshi_received', label: 'Amount Settled' }]\n },\n offers: {\n maxColumns: 4,\n allowedColumns: [{ column:'offer_id', label: 'Offer ID' }, { column:'single_use' }, { column:'used' }, { column:'bolt12', label: 'Invoice' }]\n },\n offer_bookmarks: {\n maxColumns: 6,\n allowedColumns: [{ column:'lastUpdatedAt', label: 'Updated At' }, { column:'title' }, { column:'description' }, { column:'vendor' }, { column:'bolt12', label: 'Invoice' },\n { column:'amountMSat', label: 'Amount' }]\n }\n },\n routing: {\n forwarding_history: {\n maxColumns: 8,\n allowedColumns: [{ column:'received_time' }, { column:'resolved_time' }, { column:'in_channel', label: 'In Channel ID' }, { column:'in_channel_alias', label: 'In Channel' },\n { column:'out_channel', label: 'Out Channel ID' }, { column:'out_channel_alias', label: 'Out Channel' }, { column:'payment_hash' }, { column:'in_msatoshi', label: 'Amount In' }, { column:'out_msatoshi', label: 'Amount Out' },\n { column:'fee' }]\n },\n routing_peers: {\n maxColumns: 5,\n allowedColumns: [{ column:'channel_id' }, { column:'alias', label: 'Peer Alias' }, { column:'events' }, { column:'total_amount', label: 'Amount' }, { column:'total_fee', label: 'Fee' }]\n },\n failed: {\n maxColumns: 7,\n allowedColumns: [{ column:'received_time' }, { column:'resolved_time' }, { column:'in_channel', label: 'In Channel ID' }, { column:'in_channel_alias', label: 'In Channel' },\n { column:'out_channel', label: 'Out Channel ID' }, { column:'out_channel_alias', label: 'Out Channel' }, { column:'in_msatoshi', label: 'Amount In' }, { column:'out_msatoshi', label: 'Amount Out' }, { column:'fee' }]\n },\n local_failed: {\n maxColumns: 6,\n allowedColumns: [{ column:'received_time' }, { column:'in_channel', label: 'In Channel ID' }, { column:'in_channel_alias', label: 'In Channel' }, { column:'out_channel', label: 'Out Channel ID' },\n { column:'out_channel_alias', label: 'Out Channel' }, { column:'in_msatoshi', label: 'Amount In' }, { column:'style' }, { column:'failreason', label: 'Fail Reason' }]\n }\n },\n reports: {\n routing: {\n maxColumns: 8,\n allowedColumns: [{ column:'received_time' }, { column:'resolved_time' }, { column:'in_channel', label: 'In Channel ID' }, { column:'in_channel_alias', label: 'In Channel' },\n { column:'out_channel', label: 'Out Channel ID' }, { column:'out_channel_alias', label: 'Out Channel' }, { column:'payment_hash' }, { column:'in_msatoshi', label: 'Amount In' }, { column:'out_msatoshi', label: 'Amount Out' },\n { column:'fee' }]\n },\n transactions: {\n maxColumns: 5,\n allowedColumns: [{ column:'date' }, { column:'amount_paid' }, { column:'num_payments', label: '# Payments' }, { column:'amount_received' }, { column:'num_invoices', label: '# Invoices' }]\n }\n },\n graph_lookup: {\n query_routes: {\n maxColumns: 6,\n allowedColumns: [{ column:'id' }, { column:'alias' }, { column:'channel' }, { column:'direction' }, { column:'delay' }, { column:'msatoshi', label: 'Amount' }]\n }\n },\n peerswap: {\n swaps: {\n maxColumns: 6,\n allowedColumns: [{ column:'id' }, { column:'alias' }, { column:'short_channel_id' }, { column:'created_at' }, { column:'state' }, { column:'amount' }]\n }\n }\n};\n\nexport const LND_DEFAULT_PAGE_SETTINGS: PageSettings[] = [\n { pageId: 'on_chain', tables: [\n { tableId: 'utxos', recordsPerPage: PAGE_SIZE, sortBy: 'tx_id', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['output', 'amount_sat', 'confirmations'],\n columnSelection: ['tx_id', 'output', 'label', 'amount_sat', 'confirmations'] },\n { tableId: 'transactions', recordsPerPage: PAGE_SIZE, sortBy: 'time_stamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['time_stamp', 'amount', 'num_confirmations'],\n columnSelection: ['time_stamp', 'label', 'amount', 'total_fees', 'block_height', 'num_confirmations'] },\n { tableId: 'dust_utxos', recordsPerPage: PAGE_SIZE, sortBy: 'tx_id', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['output', 'amount_sat', 'confirmations'],\n columnSelection: ['tx_id', 'output', 'label', 'amount_sat', 'confirmations'] }\n ] },\n { pageId: 'peers_channels', tables: [\n { tableId: 'open', recordsPerPage: PAGE_SIZE, sortBy: 'balancedness', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'local_balance'],\n columnSelection: ['remote_alias', 'uptime_str', 'total_satoshis_sent', 'total_satoshis_received', 'local_balance', 'remote_balance', 'balancedness'] },\n { tableId: 'pending_open', sortBy: 'capacity', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'capacity'],\n columnSelection: ['remote_alias', 'commit_fee', 'commit_weight', 'capacity'] },\n { tableId: 'pending_force_closing', sortBy: 'limbo_balance', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'limbo_balance'],\n columnSelection: ['remote_alias', 'recovered_balance', 'limbo_balance', 'capacity'] },\n { tableId: 'pending_closing', sortBy: 'capacity', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'capacity'],\n columnSelection: ['remote_alias', 'local_balance', 'remote_balance', 'capacity'] },\n { tableId: 'pending_waiting_close', sortBy: 'limbo_balance', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'limbo_balance'],\n columnSelection: ['remote_alias', 'limbo_balance', 'local_balance', 'remote_balance'] },\n { tableId: 'closed', recordsPerPage: PAGE_SIZE, sortBy: 'close_type', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'settled_balance'],\n columnSelection: ['close_type', 'remote_alias', 'capacity', 'close_height', 'settled_balance'] },\n { tableId: 'active_HTLCs', recordsPerPage: PAGE_SIZE, sortBy: 'expiration_height', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['amount', 'incoming', 'expiration_height'],\n columnSelection: ['amount', 'incoming', 'expiration_height', 'hash_lock'] },\n { tableId: 'peers', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'sat_sent', 'sat_recv'],\n columnSelection: ['alias', 'pub_key', 'sat_sent', 'sat_recv', 'ping_time'] }\n ] },\n { pageId: 'transactions', tables: [\n { tableId: 'payments', recordsPerPage: PAGE_SIZE, sortBy: 'creation_date', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['creation_date', 'fee', 'value'],\n columnSelection: ['creation_date', 'payment_hash', 'fee', 'value', 'hops'] },\n { tableId: 'invoices', recordsPerPage: PAGE_SIZE, sortBy: 'creation_date', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['creation_date', 'settle_date', 'value'],\n columnSelection: ['creation_date', 'settle_date', 'memo', 'value', 'amt_paid_sat'] }\n ] },\n { pageId: 'routing', tables: [\n { tableId: 'forwarding_history', recordsPerPage: PAGE_SIZE, sortBy: 'timestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amt_in', 'amt_out'],\n columnSelection: ['timestamp', 'alias_in', 'alias_out', 'amt_in', 'amt_out', 'fee_msat'] },\n { tableId: 'routing_peers', recordsPerPage: PAGE_SIZE, sortBy: 'total_amount', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'events', 'total_amount'],\n columnSelection: ['chan_id', 'alias', 'events', 'total_amount'] },\n { tableId: 'non_routing_peers', recordsPerPage: PAGE_SIZE, sortBy: 'remote_alias', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['remote_alias', 'local_balance', 'remote_balance'],\n columnSelection: ['chan_id', 'remote_alias', 'total_satoshis_received', 'total_satoshis_sent', 'local_balance', 'remote_balance'] }\n ] },\n { pageId: 'reports', tables: [\n { tableId: 'routing', recordsPerPage: PAGE_SIZE, sortBy: 'timestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amt_in', 'amt_out'],\n columnSelection: ['timestamp', 'alias_in', 'alias_out', 'amt_in', 'amt_out', 'fee_msat'] },\n { tableId: 'transactions', recordsPerPage: PAGE_SIZE, sortBy: 'date', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['date', 'amount_paid', 'amount_received'],\n columnSelection: ['date', 'amount_paid', 'num_payments', 'amount_received', 'num_invoices'] }\n ] },\n { pageId: 'graph_lookup', tables: [\n { tableId: 'query_routes', recordsPerPage: PAGE_SIZE, sortBy: 'hop_sequence', sortOrder: SortOrderEnum.ASCENDING,\n columnSelectionSM: ['hop_sequence', 'pubkey_alias', 'fee_msat'],\n columnSelection: ['hop_sequence', 'pubkey_alias', 'chan_capacity', 'amt_to_forward_msat', 'fee_msat'] }\n ] },\n { pageId: 'loop', tables: [\n { tableId: 'loop', recordsPerPage: PAGE_SIZE, sortBy: 'initiation_time', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['state', 'amt'],\n columnSelection: ['state', 'initiation_time', 'amt', 'cost_server', 'cost_offchain', 'cost_onchain'] }\n ] },\n { pageId: 'boltz', tables: [\n { tableId: 'swap_out', recordsPerPage: PAGE_SIZE, sortBy: 'status', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['status', 'id', 'onchainAmount'],\n columnSelection: ['status', 'id', 'claimAddress', 'onchainAmount', 'timeoutBlockHeight'] },\n { tableId: 'swap_in', recordsPerPage: PAGE_SIZE, sortBy: 'status', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['status', 'id', 'expectedAmount'],\n columnSelection: ['status', 'id', 'lockupAddress', 'expectedAmount', 'timeoutBlockHeight'] }\n ] }\n];\n\nexport const LND_PAGE_DEFS: LNDPageDefinitions = {\n on_chain: {\n utxos: {\n maxColumns: 7,\n allowedColumns: [{ column:'tx_id', label: 'Transaction ID' }, { column:'output' }, { column:'label' }, { column:'address_type' }, { column:'address' }, { column:'amount_sat', label: 'Amount' },\n { column:'confirmations' }]\n },\n transactions: {\n maxColumns: 7,\n allowedColumns: [{ column:'time_stamp', label: 'Date/Time' }, { column:'label' }, { column:'block_hash' }, { column:'tx_hash', label: 'Transaction Hash' }, { column:'amount' }, { column:'total_fees', label: 'Fees' },\n { column:'block_height' }, { column:'num_confirmations', label: 'Confirmations' }]\n },\n dust_utxos: {\n maxColumns: 7,\n allowedColumns: [{ column:'tx_id', label: 'Transaction ID' }, { column:'output' }, { column:'label' }, { column:'address_type' }, { column:'address' }, { column:'amount_sat' },\n { column:'confirmations' }]\n }\n },\n peers_channels: {\n open: {\n maxColumns: 8,\n allowedColumns: [{ column:'remote_alias', label: 'Peer' }, { column:'remote_pubkey', label: 'Pubkey' }, { column:'channel_point' }, { column:'chan_id', label: 'Channel ID' }, { column:'initiator' },\n { column:'static_remote_key' }, { column:'uptime_str', label: 'Uptime' }, { column:'lifetime_str', label: 'Lifetime' }, { column:'commit_fee' }, { column:'commit_weight' }, { column:'fee_per_kw', label: 'Fee/KW' },\n { column:'num_updates', label: 'Updates' }, { column:'unsettled_balance' }, { column:'capacity' }, { column:'local_chan_reserve_sat', label: 'Local Reserve' },\n { column:'remote_chan_reserve_sat', label: 'Remote Reserve' }, { column:'total_satoshis_sent', label: 'Sats Sent' }, { column:'total_satoshis_received', label: 'Sats Received' }, { column:'local_balance' },\n { column:'remote_balance' }, { column:'balancedness', label: 'Balance Score' }]\n },\n pending_open: {\n maxColumns: 7,\n disablePageSize: true,\n allowedColumns: [{ column:'remote_alias', label: 'Peer' }, { column:'remote_node_pub', label: 'Pubkey' }, { column:'channel_point' }, { column:'initiator' },\n { column:'commitment_type' }, { column:'confirmation_height' }, { column:'commit_fee' }, { column:'commit_weight' }, { column:'fee_per_kw', label: 'Fee/KW' },\n { column:'capacity' }, { column:'local_balance' }, { column:'remote_balance' }]\n },\n pending_force_closing: {\n maxColumns: 7,\n disablePageSize: true,\n allowedColumns: [{ column:'closing_txid', label: 'Closing Tx ID' }, { column:'remote_alias', label: 'Peer' }, { column:'remote_node_pub', label: 'Pubkey' }, { column:'channel_point' }, { column:'initiator' },\n { column:'commitment_type' }, { column:'limbo_balance' }, { column:'maturity_height' }, { column:'blocks_til_maturity', label: 'Blocks till Maturity' }, { column:'recovered_balance' },\n { column:'capacity' }, { column:'local_balance' }, { column:'remote_balance' }]\n },\n pending_closing: {\n maxColumns: 7,\n disablePageSize: true,\n allowedColumns: [{ column:'closing_txid', label: 'Closing Tx ID' }, { column:'remote_alias', label: 'Peer' }, { column:'remote_node_pub', label: 'Pubkey' }, { column:'channel_point' }, { column:'initiator' },\n { column:'commitment_type' }, { column:'capacity' }, { column:'local_balance' }, { column:'remote_balance' }]\n },\n pending_waiting_close: {\n maxColumns: 7,\n disablePageSize: true,\n allowedColumns: [{ column:'closing_txid', label: 'Closing Tx ID' }, { column:'remote_alias', label: 'Peer' }, { column:'remote_node_pub', label: 'Pubkey' }, { column:'channel_point' }, { column:'initiator' },\n { column:'commitment_type' }, { column:'limbo_balance' }, { column:'capacity' }, { column:'local_balance' }, { column:'remote_balance' }]\n },\n closed: {\n maxColumns: 7,\n allowedColumns: [{ column:'close_type' }, { column:'remote_alias', label: 'Peer' }, { column:'remote_pubkey', label: 'Pubkey' }, { column:'channel_point' }, { column:'chan_id', label: 'Channel ID' },\n { column:'closing_tx_hash', label: 'Closing Tx Hash' }, { column:'chain_hash' }, { column:'open_initiator' }, { column:'close_initiator' }, { column:'time_locked_balance', label: 'Timelocked Balance' },\n { column:'capacity' }, { column:'close_height' }, { column:'settled_balance' }]\n },\n active_HTLCs: {\n maxColumns: 7,\n allowedColumns: [{ column:'amount' }, { column:'incoming' }, { column:'forwarding_channel' }, { column:'htlc_index' }, { column:'forwarding_htlc_index' },\n { column:'expiration_height' }, { column:'hash_lock' }]\n },\n peers: {\n maxColumns: 8,\n allowedColumns: [{ column:'alias' }, { column:'pub_key', label: 'Public Key' }, { column:'address' }, { column:'sync_type' }, { column:'inbound' }, { column:'bytes_sent' },\n { column:'bytes_recv', label: 'Bytes Received' }, { column:'sat_sent', label: 'Sats Sent' }, { column:'sat_recv', label: 'Sats Received' }, { column:'ping_time' }]\n }\n },\n transactions: {\n payments: {\n maxColumns: 8,\n allowedColumns: [{ column:'creation_date' }, { column:'payment_hash' }, { column:'payment_request' }, { column:'payment_preimage' },\n { column:'description' }, { column:'description_hash' }, { column:'failure_reason' }, { column:'payment_index' }, { column:'fee' }, { column:'value' },\n { column:'hops' }]\n },\n invoices: {\n maxColumns: 9,\n allowedColumns: [{ column:'private' }, { column:'is_keysend', label: 'Keysend' }, { column:'is_amp', label: 'AMP' }, { column:'creation_date', label: 'Date Created' }, { column:'settle_date', label: 'Date Settled' },\n { column:'memo' }, { column:'r_preimage', label: 'Preimage' }, { column:'r_hash', label: 'Preimage Hash' }, { column:'payment_addr', label: 'Payment Address' }, { column:'payment_request' }, { column:'description_hash' },\n { column:'expiry' }, { column:'cltv_expiry' }, { column:'add_index' }, { column:'settle_index' }, { column:'value', label: 'Amount' }, { column:'amt_paid_sat', label: 'Amount Settled' }]\n }\n },\n routing: {\n forwarding_history: {\n maxColumns: 6,\n allowedColumns: [{ column:'timestamp' }, { column:'alias_in', label: 'Inbound Alias' }, { column:'chan_id_in', label: 'Inbound Channel' }, { column:'alias_out', label: 'Outbound Alias' }, { column:'chan_id_out', label: 'Outbound Channel' },\n { column:'amt_in', label: 'Inbound Amount' }, { column:'amt_out', label: 'Outbound Amount' }, { column:'fee_msat', label: 'Fee' }]\n },\n routing_peers: {\n maxColumns: 4,\n allowedColumns: [{ column:'chan_id', label: 'Channel ID' }, { column:'alias', label: 'Peer Alias' }, { column:'events' }, { column:'total_amount' }]\n },\n non_routing_peers: {\n maxColumns: 8,\n allowedColumns: [{ column:'chan_id', label: 'Channel ID' }, { column:'remote_alias', label: 'Peer Alias' }, { column:'remote_pubkey', label: 'Peer Pubkey' }, { column:'channel_point' }, { column:'uptime_str', label: 'Uptime' },\n { column:'lifetime_str', label: 'Lifetime' }, { column:'commit_fee' }, { column:'commit_weight' }, { column:'fee_per_kw', label: 'Fee/KW' }, { column:'num_updates', label: 'Updates' },\n { column:'unsettled_balance' }, { column:'capacity' }, { column:'local_chan_reserve_sat', label: 'Local Reserve' }, { column:'remote_chan_reserve_sat', label: 'Remote Reserve' },\n { column:'total_satoshis_sent', label: 'Sats Sent' }, { column:'total_satoshis_received', label: 'Sats Received' }, { column:'local_balance' }, { column:'remote_balance' }]\n }\n },\n reports: {\n routing: {\n maxColumns: 6,\n allowedColumns: [{ column:'timestamp' }, { column:'alias_in', label: 'Inbound Alias' }, { column:'chan_id_in', label: 'Inbound Channel' }, { column:'alias_out', label: 'Outbound Alias' }, { column:'chan_id_out', label: 'Outbound Channel' },\n { column:'amt_in', label: 'Inbound Amount' }, { column:'amt_out', label: 'Outbound Amount' }, { column:'fee_msat', label: 'Fee' }]\n },\n transactions: {\n maxColumns: 5,\n allowedColumns: [{ column:'date' }, { column:'amount_paid' }, { column:'num_payments', label: '# Payments' }, { column:'amount_received' }, { column:'num_invoices', label: '# Invoices' }]\n }\n },\n graph_lookup: {\n query_routes: {\n maxColumns: 8,\n disablePageSize: true,\n allowedColumns: [{ column:'hop_sequence', label: 'Hop' }, { column:'pubkey_alias', label: 'Peer' }, { column:'pub_key', label: 'Peer Pubkey' }, { column:'chan_id', label: 'Channel ID' }, { column:'tlv_payload' },\n { column:'expiry' }, { column:'chan_capacity', label: 'Capacity' }, { column:'amt_to_forward_msat', label: 'Amount To Fwd' }, { column:'fee_msat', label: 'Fee' }]\n }\n },\n loop: {\n loop: {\n maxColumns: 8,\n allowedColumns: [{ column:'state' }, { column:'initiation_time' }, { column:'last_update_time' }, { column:'amt', label: 'Amount' }, { column:'cost_server' },\n { column:'cost_offchain' }, { column:'cost_onchain' }, { column:'htlc_address' }, { column:'id' }, { column:'id_bytes', label: 'ID (Bytes)' }]\n }\n },\n boltz: {\n swap_out: {\n maxColumns: 7,\n allowedColumns: [{ column:'status' }, { column:'id', label: 'Swap ID' }, { column:'claimAddress', label: 'Claim Address' },\n { column:'onchainAmount', label: 'Onchain Amount' }, { column:'error' }, { column:'privateKey', label: 'Private Key' }, { column:'preimage' }, { column:'redeemScript', label: 'Redeem Script' }, { column:'invoice' },\n { column:'timeoutBlockHeight', label: 'Timeout Block Height' }, { column:'lockupTransactionId', label: 'Lockup Tx ID' }, { column:'claimTransactionId', label: 'Claim Tx ID' }]\n },\n swap_in: {\n maxColumns: 7,\n allowedColumns: [{ column:'status' }, { column:'id', label: 'Swap ID' }, { column:'lockupAddress', label: 'Lockup Address' }, { column:'expectedAmount', label: 'Expected Amount' }, { column:'error' },\n { column:'privateKey', label: 'Private Key' }, { column:'preimage' }, { column:'redeemScript', label: 'Redeem Script' }, { column:'invoice' }, { column:'timeoutBlockHeight', label: 'Timeout Block Height' },\n { column:'lockupTransactionId', label: 'Lockup Tx ID' }, { column:'refundTransactionId', label: 'Refund Tx ID' }]\n }\n }\n};\n\nexport const ECL_DEFAULT_PAGE_SETTINGS: PageSettings[] = [\n { pageId: 'on_chain', tables: [\n { tableId: 'transaction', recordsPerPage: PAGE_SIZE, sortBy: 'timestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amount'],\n columnSelection: ['timestamp', 'address', 'amount', 'fees', 'confirmations'] }\n ] },\n { pageId: 'peers_channels', tables: [\n { tableId: 'open_channels', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'toLocal', 'toRemote'],\n columnSelection: ['shortChannelId', 'alias', 'feeBaseMsat', 'feeProportionalMillionths', 'toLocal', 'toRemote', 'balancedness'] },\n { tableId: 'pending_channels', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['state', 'alias', 'toLocal'],\n columnSelection: ['state', 'alias', 'toLocal', 'toRemote'] },\n { tableId: 'inactive_channels', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['state', 'alias', 'toLocal'],\n columnSelection: ['state', 'shortChannelId', 'alias', 'toLocal', 'toRemote', 'balancedness'] },\n { tableId: 'peers', recordsPerPage: PAGE_SIZE, sortBy: 'alias', sortOrder: SortOrderEnum.ASCENDING,\n columnSelectionSM: ['alias', 'nodeId'],\n columnSelection: ['alias', 'nodeId', 'address', 'channels'] }\n ] },\n { pageId: 'transactions', tables: [\n { tableId: 'payments', recordsPerPage: PAGE_SIZE, sortBy: 'firstPartTimestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['firstPartTimestamp', 'recipientAmount'],\n columnSelection: ['firstPartTimestamp', 'id', 'recipientNodeAlias', 'recipientAmount'] },\n { tableId: 'invoices', recordsPerPage: PAGE_SIZE, sortBy: 'receivedAt', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amount', 'amountSettled'],\n columnSelection: ['timestamp', 'receivedAt', 'description', 'amount', 'amountSettled'] }\n ] },\n { pageId: 'routing', tables: [\n { tableId: 'forwarding_history', recordsPerPage: PAGE_SIZE, sortBy: 'timestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amountIn', 'fee'],\n columnSelection: ['timestamp', 'fromChannelAlias', 'toChannelAlias', 'amountIn', 'amountOut', 'fee'] },\n { tableId: 'routing_peers', recordsPerPage: PAGE_SIZE, sortBy: 'totalFee', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['alias', 'events', 'totalFee'],\n columnSelection: ['channelId', 'alias', 'events', 'totalAmount', 'totalFee'] }\n ] },\n { pageId: 'reports', tables: [\n { tableId: 'routing', recordsPerPage: PAGE_SIZE, sortBy: 'timestamp', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['timestamp', 'amountIn', 'fee'],\n columnSelection: ['timestamp', 'fromChannelAlias', 'toChannelAlias', 'amountIn', 'amountOut', 'fee'] },\n { tableId: 'transactions', recordsPerPage: PAGE_SIZE, sortBy: 'date', sortOrder: SortOrderEnum.DESCENDING,\n columnSelectionSM: ['date', 'amount_paid', 'amount_received'],\n columnSelection: ['date', 'amount_paid', 'num_payments', 'amount_received', 'num_invoices'] }\n ] }\n];\n\nexport const ECL_PAGE_DEFS: ECLPageDefinitions = {\n on_chain: {\n transaction: {\n maxColumns: 6,\n allowedColumns: [{ column:'timestamp', label: 'Date/Time' }, { column:'address' }, { column:'blockHash' }, { column:'txid', label: 'Transaction ID' }, { column:'amount' },\n { column:'fees' }, { column:'confirmations' }]\n }\n },\n peers_channels: {\n open_channels: {\n maxColumns: 8,\n allowedColumns: [{ column:'shortChannelId' }, { column:'channelId' }, { column:'alias' }, { column:'nodeId' }, { column:'isFunder', label: 'Funder' },\n { column:'buried' }, { column:'feeBaseMsat', label: 'Base Fee' }, { column:'feeProportionalMillionths', label: 'Fee Rate' }, { column:'toLocal', label: 'Local Balance' }, { column:'toRemote', label: 'Remote Balance' },\n { column:'feeRatePerKw', label: 'Fee/KW' }, { column:'balancedness', label: 'Balance Score' }]\n },\n pending_channels: {\n maxColumns: 7,\n allowedColumns: [{ column:'state' }, { column:'channelId' }, { column:'alias' }, { column:'nodeId' }, { column:'isFunder', label: 'Funder' },\n { column:'buried' }, { column:'toLocal', label: 'Local Balance' }, { column:'toRemote', label: 'Remote Balance' }, { column:'feeRatePerKw', label: 'Fee/KW' }]\n },\n inactive_channels: {\n maxColumns: 8,\n allowedColumns: [{ column:'state' }, { column:'shortChannelId' }, { column:'channelId' }, { column:'alias' }, { column:'nodeId' },\n { column:'isFunder', label: 'Funder' }, { column:'buried' }, { column:'toLocal', label: 'Local Balance' },\n { column:'toRemote', label: 'Remote Balance' }, { column:'feeRatePerKw', label: 'Fee/KW' }, { column:'balancedness', label: 'Balance Score' }]\n },\n peers: {\n maxColumns: 4,\n allowedColumns: [{ column:'alias' }, { column:'nodeId' }, { column:'address', label: 'Netwrok Address' }, { column:'channels' }]\n }\n },\n transactions: {\n payments: {\n maxColumns: 7,\n allowedColumns: [{ column:'firstPartTimestamp', label: 'Date/Time' }, { column:'id' }, { column:'recipientNodeId', label: 'Destination Node ID' }, { column:'recipientNodeAlias', label: 'Destination' },\n { column:'description' }, { column:'paymentHash' }, { column:'paymentPreimage', label: 'Preimage' }, { column:'recipientAmount', label: 'Amount' }]\n },\n invoices: {\n maxColumns: 7,\n allowedColumns: [{ column:'timestamp', label: 'Date Created' }, { column:'expiresAt', label: 'Date Expiry' }, { column:'receivedAt', label: 'Date Settled' }, { column:'nodeId', label: 'Node ID' }, { column:'description' },\n { column:'paymentHash' }, { column:'amount' }, { column:'amountSettled', label: 'Amount Settled' }]\n }\n },\n routing: {\n forwarding_history: {\n maxColumns: 7,\n allowedColumns: [{ column:'timestamp', label: 'Date/Time' }, { column:'fromChannelId', label: 'In Channel ID' }, { column:'fromShortChannelId', label: 'In Channel Short ID' }, { column:'fromChannelAlias', label: 'In Channel' },\n { column:'toChannelId', label: 'Out Channel ID' }, { column:'toShortChannelId', label: 'Out Channel Short ID' }, { column:'toChannelAlias', label: 'Out Channel' }, { column:'paymentHash' }, { column:'amountIn' },\n { column:'amountOut' }, { column:'fee', label: 'Fee Earned' }]\n },\n routing_peers: {\n maxColumns: 5,\n allowedColumns: [{ column:'channelId' }, { column:'alias', label: 'Peer Alias' }, { column:'events' }, { column:'totalAmount', label: 'Amount' }, { column:'totalFee', label: 'Fee' }]\n }\n },\n reports: {\n routing: {\n maxColumns: 7,\n allowedColumns: [{ column:'timestamp', label: 'Date/Time' }, { column:'fromChannelId', label: 'In Channel ID' }, { column:'fromShortChannelId', label: 'In Channel Short ID' }, { column:'fromChannelAlias', label: 'In Channel' },\n { column:'toChannelId', label: 'Out Channel ID' }, { column:'toShortChannelId', label: 'Out Channel Short ID' }, { column:'toChannelAlias', label: 'Out Channel' }, { column:'paymentHash' }, { column:'amountIn' },\n { column:'amountOut' }, { column:'fee', label: 'Fee Earned' }]\n },\n transactions: {\n maxColumns: 5,\n allowedColumns: [{ column:'date' }, { column:'amount_paid' }, { column:'num_payments', label: '# Payments' }, { column:'amount_received' }, { column:'num_invoices', label: '# Invoices' }]\n }\n }\n};\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { TitleCasePipe } from '@angular/common';\nimport { Subject, throwError, of, BehaviorSubject } from 'rxjs';\nimport { map, takeUntil, catchError, mergeMap, withLatestFrom, first } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { environment, API_URL } from '../../../environments/environment';\nimport { APICallStatusEnum, UI_MESSAGES } from './consts-enums-functions';\nimport { Channel, ClosedChannel, PendingChannels, SwitchReq } from '../models/lndModels';\nimport { ErrorMessageComponent } from '../components/data-modal/error-message/error-message.component';\nimport { closeAllDialogs, closeSpinner, logout, openAlert, openSnackBar, openSpinner, updateRootAPICallStatus } from '../../store/rtl.actions';\nimport { fetchTransactions, fetchUTXOs } from '../../lnd/store/lnd.actions';\n\nimport { RTLState } from '../../store/rtl.state';\nimport { allChannels } from '../../lnd/store/lnd.selector';\nimport { Channel as ChannelCLN } from '../models/clnModels';\nimport { channels } from '../../cln/store/cln.selector';\nimport { ApiCallStatusPayload } from '../models/apiCallsPayload';\n\n@Injectable()\nexport class DataService implements OnDestroy {\n\n private APIUrl = API_URL;\n private lnImplementation = '';\n public lnImplementationUpdated: BehaviorSubject = new BehaviorSubject(null);\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private httpClient: HttpClient, private store: Store, private logger: LoggerService, private snackBar: MatSnackBar, private titleCasePipe: TitleCasePipe) { }\n\n setLnImplementation(lnImplementation: string) {\n this.lnImplementation = lnImplementation.toLowerCase();\n this.lnImplementationUpdated.next(this.lnImplementation);\n }\n\n getFiatRates() {\n return this.httpClient.get(environment.CONF_API + '/rates');\n }\n\n decodePayment(payment: string, fromDialog: boolean) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n let url = this.APIUrl + '/' + updatedLnImplementation + environment.PAYMENTS_API + '/decode/' + payment;\n if (updatedLnImplementation === 'cln') {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.UTILITY_API + '/decode/' + payment;\n }\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DECODE_PAYMENT }));\n return this.httpClient.get(url).pipe(\n takeUntil(this.unSubs[0]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DECODE_PAYMENT }));\n return res;\n }),\n catchError((err) => {\n if (fromDialog) {\n this.handleErrorWithoutAlert('Decode Payment', UI_MESSAGES.DECODE_PAYMENT, err);\n } else {\n this.handleErrorWithAlert('decodePaymentData', UI_MESSAGES.DECODE_PAYMENT, 'Decode Payment Failed', url, err);\n }\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n decodePayments(payments: string) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n let url = '';\n let msg = '';\n if (updatedLnImplementation === 'ecl') {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.PAYMENTS_API + '/getsentinfos';\n msg = UI_MESSAGES.GET_SENT_PAYMENTS;\n } else if (updatedLnImplementation === 'cln') {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.UTILITY_API;\n msg = UI_MESSAGES.DECODE_PAYMENTS;\n } else {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.PAYMENTS_API;\n msg = UI_MESSAGES.DECODE_PAYMENTS;\n }\n this.store.dispatch(openSpinner({ payload: msg }));\n return this.httpClient.post(url, { payments: payments }).pipe(\n takeUntil(this.unSubs[1]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: msg }));\n return res;\n }),\n catchError((err) => {\n this.handleErrorWithAlert('decodePaymentsData', msg, msg + ' Failed', url, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n getAliasesFromPubkeys(pubkey: string, multiple: boolean) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n if (multiple) {\n const pubkey_params = new HttpParams().set('pubkeys', pubkey);\n return this.httpClient.get(this.APIUrl + '/' + updatedLnImplementation + environment.NETWORK_API + '/nodes', { params: pubkey_params });\n } else {\n return this.httpClient.get(this.APIUrl + '/' + updatedLnImplementation + environment.NETWORK_API + '/node/' + pubkey);\n }\n }));\n }\n\n signMessage(msg: string) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n let url = this.APIUrl + '/' + updatedLnImplementation + environment.MESSAGE_API + '/sign';\n if (updatedLnImplementation === 'cln') {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.UTILITY_API + '/sign';\n }\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SIGN_MESSAGE }));\n return this.httpClient.post(url, { message: msg }).pipe(\n takeUntil(this.unSubs[2]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.SIGN_MESSAGE }));\n return res;\n }),\n catchError((err) => {\n this.handleErrorWithAlert('signMessageData', UI_MESSAGES.SIGN_MESSAGE, 'Sign Message Failed', url, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n verifyMessage(msg: string, sign: string) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n let url = this.APIUrl + '/' + updatedLnImplementation + environment.MESSAGE_API + '/verify';\n if (updatedLnImplementation === 'cln') {\n url = this.APIUrl + '/' + updatedLnImplementation + environment.UTILITY_API + '/verify';\n }\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.VERIFY_MESSAGE }));\n return this.httpClient.post(url, { message: msg, signature: sign }).pipe(\n takeUntil(this.unSubs[3]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.VERIFY_MESSAGE }));\n return res;\n }),\n catchError((err) => {\n this.handleErrorWithAlert('verifyMessageData', UI_MESSAGES.VERIFY_MESSAGE, 'Verify Message Failed', url, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n bumpFee(txid: string, outputIndex: number, targetConf: number | null, satPerByte: number | null) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n const bumpFeeBody: any = { txid: txid, outputIndex: outputIndex };\n if (targetConf) {\n bumpFeeBody.targetConf = targetConf;\n }\n if (satPerByte) {\n bumpFeeBody.satPerByte = satPerByte;\n }\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.BUMP_FEE }));\n return this.httpClient.post(this.APIUrl + '/' + updatedLnImplementation + environment.WALLET_API + '/bumpfee', bumpFeeBody).pipe(\n takeUntil(this.unSubs[4]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.BUMP_FEE }));\n this.snackBar.open('Successfully bumped the fee. Use the block explorer to verify transaction.');\n return res;\n }),\n catchError((err) => {\n this.handleErrorWithoutAlert('Bump Fee', UI_MESSAGES.BUMP_FEE, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n labelUTXO(txid: string, label: string, overwrite: boolean = true) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n const labelBody = { txid: txid, label: label, overwrite: overwrite };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.LABEL_UTXO }));\n return this.httpClient.post(this.APIUrl + '/' + updatedLnImplementation + environment.WALLET_API + '/label', labelBody).pipe(\n takeUntil(this.unSubs[5]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.LABEL_UTXO }));\n return res;\n }), catchError((err) => {\n this.handleErrorWithoutAlert('Lease UTXO', UI_MESSAGES.LABEL_UTXO, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n leaseUTXO(txid: string, output_index: number) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n const leaseBody: any = { txid: txid, outputIndex: output_index };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.LEASE_UTXO }));\n return this.httpClient.post(this.APIUrl + '/' + updatedLnImplementation + environment.WALLET_API + '/lease', leaseBody).pipe(\n takeUntil(this.unSubs[6]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.LEASE_UTXO }));\n this.store.dispatch(fetchTransactions());\n this.store.dispatch(fetchUTXOs());\n const expirationDate = new Date(res.expiration * 1000);\n const expiryDateInSeconds = Math.round(expirationDate.getTime()) - (expirationDate.getTimezoneOffset() * 60);\n this.snackBar.open('The UTXO has been leased till ' + new Date(expiryDateInSeconds).toString().\n substring(4, 21).\n replace(' ', '/').\n replace(' ', '/').\n toUpperCase() + '.');\n }), catchError((err) => {\n this.handleErrorWithoutAlert('Lease UTXO', UI_MESSAGES.LEASE_UTXO, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n getForwardingHistory(implementation: string, start: string, end: string, status?: string) {\n if (implementation === 'LND') {\n const queryHeaders: SwitchReq = { end_time: end, start_time: start };\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_FORWARDING_HISTORY }));\n return this.httpClient.post(this.APIUrl + '/lnd' + environment.SWITCH_API, queryHeaders).pipe(\n takeUntil(this.unSubs[7]),\n withLatestFrom(this.store.select(allChannels)),\n mergeMap(([res, allChannelsSelector]: [any, { channels: Channel[], pendingChannels: PendingChannels, closedChannels: ClosedChannel[] }]) => {\n if (res.forwarding_events) {\n const storedChannels = [...allChannelsSelector.channels, ...allChannelsSelector.closedChannels];\n res.forwarding_events.forEach((event) => {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n if (storedChannels[idx].chan_id?.toString() === event.chan_id_in) {\n event.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_in;\n if (event.alias_out) {\n return;\n }\n }\n if (storedChannels[idx].chan_id?.toString() === event.chan_id_out) {\n event.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : event.chan_id_out;\n if (event.alias_in) {\n return;\n }\n }\n if (idx === storedChannels.length - 1) {\n if (!event.alias_in) {\n event.alias_in = event.chan_id_in;\n }\n if (!event.alias_out) {\n event.alias_out = event.chan_id_out;\n }\n }\n }\n } else {\n event.alias_in = event.chan_id_in;\n event.alias_out = event.chan_id_out;\n }\n });\n } else {\n res = {};\n }\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_FORWARDING_HISTORY }));\n return of(res);\n }),\n catchError((err) => {\n this.handleErrorWithAlert('getForwardingHistoryData', UI_MESSAGES.GET_FORWARDING_HISTORY, 'Forwarding History Failed', this.APIUrl + '/lnd' + environment.SWITCH_API, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n }));\n } else if (implementation === 'CLN') {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_FORWARDING_HISTORY }));\n return this.httpClient.get(this.APIUrl + '/cln' + environment.CHANNELS_API + '/listForwards?status=' + status).pipe(\n takeUntil(this.unSubs[8]),\n withLatestFrom(this.store.select(channels)),\n mergeMap(([res, channelsSelector]: [any, { activeChannels: ChannelCLN[], pendingChannels: ChannelCLN[], inactiveChannels: ChannelCLN[], apiCallStatus: ApiCallStatusPayload }]) => {\n const forwardsWithAlias = this.mapAliases(res, [...channelsSelector.activeChannels, ...channelsSelector.pendingChannels, ...channelsSelector.inactiveChannels]);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_FORWARDING_HISTORY }));\n return of(forwardsWithAlias);\n }),\n catchError((err) => {\n this.handleErrorWithAlert('getForwardingHistoryData', UI_MESSAGES.GET_FORWARDING_HISTORY, 'Forwarding History Failed', this.APIUrl + '/cln' + environment.CHANNELS_API + '/listForwards?status=' + status + '&start=' + start + '&end=' + end, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n }));\n } else {\n return of({});\n }\n }\n\n listNetworkNodes(queryParams: string = '') {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.LIST_NETWORK_NODES }));\n return this.httpClient.get(this.APIUrl + '/' + updatedLnImplementation + environment.NETWORK_API + '/listNodes' + queryParams).pipe(\n takeUntil(this.unSubs[9]),\n mergeMap((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.LIST_NETWORK_NODES }));\n return of(res);\n }), catchError((err) => {\n this.handleErrorWithoutAlert('List Network Nodes', UI_MESSAGES.LIST_NETWORK_NODES, err);\n return throwError(() => this.extractErrorMessage(err));\n })\n );\n }));\n }\n\n listConfigs() {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_LIST_CONFIGS }));\n return this.httpClient.get(this.APIUrl + '/' + updatedLnImplementation + environment.UTILITY_API + '/listConfigs').pipe(\n takeUntil(this.unSubs[10]),\n mergeMap((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_LIST_CONFIGS }));\n return of(res);\n }), catchError((err) => {\n this.handleErrorWithoutAlert('List Configurations', UI_MESSAGES.GET_LIST_CONFIGS, err);\n return throwError(() => this.extractErrorMessage(err));\n })\n );\n }));\n }\n\n getOrUpdateFunderPolicy(policy?: any, policyMod?: any, lease_feeBaseMsat?: any, lease_fee_basis?: any, channelFeeMaxBaseMsat?: any, channelFeeMaxProportional?: any) {\n return this.lnImplementationUpdated.pipe(first((val) => val !== null), mergeMap((updatedLnImplementation) => {\n const postParams = policy ? { policy: policy, policy_mod: policyMod, lease_fee_base_msat: lease_feeBaseMsat, lease_fee_basis: lease_fee_basis, channel_fee_max_base_msat: channelFeeMaxBaseMsat, channel_fee_max_proportional_thousandths: channelFeeMaxProportional } : null;\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_FUNDER_POLICY }));\n return this.httpClient.post(this.APIUrl + '/' + updatedLnImplementation + environment.CHANNELS_API + '/funderUpdate', postParams).pipe(\n takeUntil(this.unSubs[11]),\n map((res: any) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_FUNDER_POLICY }));\n if (postParams) {\n this.store.dispatch(openSnackBar({ payload: 'Funder Policy Updated Successfully with Compact Lease: ' + res.compact_lease + '!' }));\n }\n return res;\n }), catchError((err) => {\n this.handleErrorWithoutAlert('Funder Policy', UI_MESSAGES.GET_FUNDER_POLICY, err);\n return throwError(() => new Error(this.extractErrorMessage(err)));\n })\n );\n }));\n }\n\n mapAliases = (payload: any, storedChannels: ChannelCLN[]) => {\n if (payload && payload.length > 0) {\n payload.forEach((fhEvent, i) => {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id === fhEvent.in_channel) {\n fhEvent.in_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.in_channel;\n if (fhEvent.out_channel_alias) { return; }\n }\n if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id?.toString() === fhEvent.out_channel) {\n fhEvent.out_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.out_channel;\n if (fhEvent.in_channel_alias) { return; }\n }\n if (idx === storedChannels.length - 1) {\n if (!fhEvent.in_channel_alias) { fhEvent.in_channel_alias = fhEvent.in_channel ? fhEvent.in_channel : '-'; }\n if (!fhEvent.out_channel_alias) { fhEvent.out_channel_alias = fhEvent.out_channel ? fhEvent.out_channel : '-'; }\n }\n }\n } else {\n fhEvent.in_channel_alias = fhEvent.in_channel ? fhEvent.in_channel : '-';\n fhEvent.out_channel_alias = fhEvent.out_channel ? fhEvent.out_channel : '-';\n }\n });\n } else {\n payload = [];\n }\n return payload;\n };\n\n extractErrorMessage(err: any, genericErrorMessage: string = 'Unknown Error.') {\n return this.titleCasePipe.transform(\n (err.error.text && typeof err.error.text === 'string' && err.error.text.includes('')) ? 'API Route Does Not Exist.' :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.error && typeof err.error.error.error.error.error === 'string') ? err.error.error.error.error.error :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && typeof err.error.error.error.error === 'string') ? err.error.error.error.error :\n (err.error && err.error.error && err.error.error.error && typeof err.error.error.error === 'string') ? err.error.error.error :\n (err.error && err.error.error && typeof err.error.error === 'string') ? err.error.error :\n (err.error && typeof err.error === 'string') ? err.error :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.error && err.error.error.error.error.message && typeof err.error.error.error.error.message === 'string') ? err.error.error.error.error.message :\n (err.error && err.error.error && err.error.error.error && err.error.error.error.message && typeof err.error.error.error.message === 'string') ? err.error.error.error.message :\n (err.error && err.error.error && err.error.error.message && typeof err.error.error.message === 'string') ? err.error.error.message :\n (err.error && err.error.message && typeof err.error.message === 'string') ? err.error.message :\n (err.message && typeof err.message === 'string') ? err.message : genericErrorMessage);\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) {\n if (err.error.text && typeof err.error.text === 'string' && err.error.text.includes('')) {\n err = { status: 403, error: { message: 'API Route Does Not Exist.' } };\n }\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: this.extractErrorMessage(err) } }));\n }\n }\n\n handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any }) {\n this.logger.error(err);\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.extractErrorMessage(err);\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: alertTitle,\n message: { code: err.status ? err.status : 'Unknown Error', message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status.toString(), message: errMsg, URL: errURL } }));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","/* eslint-disable no-console */\nimport { Injectable } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nexport const { isDebugMode } = environment;\nconst noop = (): any => null;\n\nexport abstract class Logger {\n\n info: any;\n warn: any;\n error: any;\n\n}\n\n@Injectable()\nexport class LoggerService implements Logger {\n\n info: any;\n warn: any;\n error: any;\n invokeConsoleMethod(type: string, args?: any): void { }\n\n}\n\n@Injectable()\nexport class ConsoleLoggerService implements Logger {\n\n get info() {\n if (isDebugMode) {\n return console.log.bind(console);\n } else {\n return noop;\n }\n }\n\n get warn() {\n if (isDebugMode) {\n return console.warn.bind(console);\n } else {\n return noop;\n }\n }\n\n get error() {\n if (isDebugMode) {\n return console.error.bind(console);\n } else {\n return noop;\n }\n }\n\n invokeConsoleMethod(type: string, args?: any): void {\n const logFn: Function = (console)[type] || console.log || noop;\n logFn.apply(console, [args]);\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { BehaviorSubject, Subject, throwError, of } from 'rxjs';\nimport { catchError, takeUntil, map } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { environment, API_URL } from '../../../environments/environment';\nimport { AlertTypeEnum, UI_MESSAGES } from '../../shared/services/consts-enums-functions';\nimport { LoopSwapStatus } from '../models/loopModels';\nimport { CommonService } from './common.service';\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { ErrorMessageComponent } from '../../shared/components/data-modal/error-message/error-message.component';\n\nimport { RTLState } from '../../store/rtl.state';\nimport { closeSpinner, logout, openAlert, openSpinner } from '../../store/rtl.actions';\n\n@Injectable()\nexport class LoopService implements OnDestroy {\n\n private loopUrl = '';\n private swaps: LoopSwapStatus[] = [];\n public swapsChanged = new BehaviorSubject([]);\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store, private commonService: CommonService) { }\n\n getSwapsList() {\n return this.swaps;\n }\n\n listSwaps() {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_LOOP_SWAPS }));\n this.loopUrl = API_URL + environment.LOOP_API + '/swaps';\n this.httpClient.get(this.loopUrl).pipe(takeUntil(this.unSubs[0])).\n subscribe({\n next: (swapResponse: LoopSwapStatus[]) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_LOOP_SWAPS }));\n this.swaps = swapResponse;\n this.swapsChanged.next(this.swaps);\n },\n error: (err) => this.swapsChanged.error(this.handleErrorWithAlert(UI_MESSAGES.GET_LOOP_SWAPS, this.loopUrl, err))\n });\n }\n\n loopOut(amount: number, chanId: string, targetConf: number, swapRoutingFee: number, minerFee: number, prepayRoutingFee: number, prepayAmt: number, swapFee: number, swapPublicationDeadline: number, destAddress: string) {\n const requestBody = { amount: amount, targetConf: targetConf, swapRoutingFee: swapRoutingFee, minerFee: minerFee, prepayRoutingFee: prepayRoutingFee, prepayAmt: prepayAmt, swapFee: swapFee, swapPublicationDeadline: swapPublicationDeadline, destAddress: destAddress };\n if (chanId !== '') {\n requestBody['chanId'] = chanId;\n }\n this.loopUrl = API_URL + environment.LOOP_API + '/out';\n return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Out for Channel: ' + chanId, UI_MESSAGES.NO_SPINNER, err)));\n }\n\n getLoopOutTerms() {\n this.loopUrl = API_URL + environment.LOOP_API + '/out/terms';\n return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Out Terms', UI_MESSAGES.NO_SPINNER, err)));\n }\n\n getLoopOutQuote(amount: number, targetConf: number, swapPublicationDeadline: number) {\n let params = new HttpParams();\n params = params.append('targetConf', targetConf.toString());\n params = params.append('swapPublicationDeadline', swapPublicationDeadline.toString());\n this.loopUrl = API_URL + environment.LOOP_API + '/out/quote/' + amount;\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_QUOTE }));\n return this.httpClient.get(this.loopUrl, { params: params }).pipe(\n takeUntil(this.unSubs[1]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_QUOTE }));\n return res;\n }),\n catchError((err) => this.handleErrorWithoutAlert('Loop Out Quote', UI_MESSAGES.GET_QUOTE, err))\n );\n }\n\n getLoopOutTermsAndQuotes(targetConf: number) {\n let params = new HttpParams();\n params = params.append('targetConf', targetConf.toString());\n params = params.append('swapPublicationDeadline', (new Date().getTime() + (30 * 60000)).toString());\n this.loopUrl = API_URL + environment.LOOP_API + '/out/termsAndQuotes';\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_TERMS_QUOTES }));\n return this.httpClient.get(this.loopUrl, { params: params }).pipe(\n takeUntil(this.unSubs[2]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_TERMS_QUOTES }));\n return res;\n }), catchError((err) => of(this.handleErrorWithAlert(UI_MESSAGES.GET_TERMS_QUOTES, this.loopUrl, err)))\n );\n }\n\n loopIn(amount: number, swapFee: number, minerFee: number, lastHop: string, externalHtlc: boolean) {\n const requestBody = { amount: amount, swapFee: swapFee, minerFee: minerFee, lastHop: lastHop, externalHtlc: externalHtlc };\n this.loopUrl = API_URL + environment.LOOP_API + '/in';\n return this.httpClient.post(this.loopUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop In', UI_MESSAGES.NO_SPINNER, err)));\n }\n\n getLoopInTerms() {\n this.loopUrl = API_URL + environment.LOOP_API + '/in/terms';\n return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop In Terms', UI_MESSAGES.NO_SPINNER, err)));\n }\n\n getLoopInQuote(amount: number, targetConf: string, swapPublicationDeadline: number) {\n let params = new HttpParams();\n params = params.append('targetConf', targetConf.toString());\n params = params.append('swapPublicationDeadline', swapPublicationDeadline.toString());\n this.loopUrl = API_URL + environment.LOOP_API + '/in/quote/' + amount;\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_QUOTE }));\n return this.httpClient.get(this.loopUrl, { params: params }).pipe(\n takeUntil(this.unSubs[3]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_QUOTE }));\n return res;\n }),\n catchError((err) => this.handleErrorWithoutAlert('Loop In Qoute', UI_MESSAGES.GET_QUOTE, err))\n );\n }\n\n getLoopInTermsAndQuotes(targetConf: number) {\n let params = new HttpParams();\n params = params.append('targetConf', targetConf.toString());\n params = params.append('swapPublicationDeadline', (new Date().getTime() + (30 * 60000)).toString());\n this.loopUrl = API_URL + environment.LOOP_API + '/in/termsAndQuotes';\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_TERMS_QUOTES }));\n return this.httpClient.get(this.loopUrl, { params: params }).pipe(\n takeUntil(this.unSubs[4]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_TERMS_QUOTES }));\n return res;\n }), catchError((err) => of(this.handleErrorWithAlert(UI_MESSAGES.GET_TERMS_QUOTES, this.loopUrl, err)))\n );\n }\n\n getSwap(id: string) {\n this.loopUrl = API_URL + environment.LOOP_API + '/swap/' + id;\n return this.httpClient.get(this.loopUrl).pipe(catchError((err) => this.handleErrorWithoutAlert('Loop Get Swap for ID: ' + id, UI_MESSAGES.NO_SPINNER, err)));\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) {\n let errMsg = '';\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n if (err.status === 401) {\n errMsg = 'Unauthorized User.';\n this.logger.info('Redirecting to Login');\n this.store.dispatch(logout());\n } else if (err.status === 503) {\n errMsg = 'Unable to Connect to Loop Server.';\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: 'Loop Not Connected',\n message: { code: err.status, message: 'Unable to Connect to Loop Server', URL: actionName },\n component: ErrorMessageComponent\n }\n }\n }));\n } else {\n errMsg = this.commonService.extractErrorMessage(err);\n }\n return throwError(() => new Error(errMsg));\n }\n\n handleErrorWithAlert(uiMessage: string, errURL: string, err: any) {\n let errMsg = '';\n this.logger.error(err);\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n if (err.status === 401) {\n errMsg = 'Unauthorized User.';\n this.logger.info('Redirecting to Login');\n this.store.dispatch(logout());\n } else if (err.status === 503) {\n errMsg = 'Unable to Connect to Loop Server.';\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: 'Loop Not Connected',\n message: { code: err.status, message: 'Unable to Connect to Loop Server', URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n }, 100);\n } else {\n errMsg = this.commonService.extractErrorMessage(err);\n const errCode = (err.error && err.error.error && err.error.error.code) ? err.error.error.code : (err.error && err.error.code) ? err.error.code : err.code ? err.code : err.status;\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.ERROR,\n alertTitle: 'ERROR',\n message: { code: errCode, message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n }, 100);\n }\n return { message: errMsg };\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\n\n@Injectable()\nexport class SessionService {\n\n private sessionSub = new Subject();\n\n watchSession(): Observable {\n return this.sessionSub.asObservable();\n }\n\n getItem(key) {\n return sessionStorage.getItem(key);\n }\n\n getAllItems() {\n return sessionStorage;\n }\n\n setItem(key: string, data: any) {\n sessionStorage.setItem(key, data);\n this.sessionSub.next(sessionStorage);\n }\n\n removeItem(key) {\n sessionStorage.removeItem(key);\n this.sessionSub.next(sessionStorage);\n }\n\n clearAll() {\n sessionStorage.clear();\n this.sessionSub.next(sessionStorage);\n }\n\n}\n","import { Subject, AnonymousSubject } from '../../Subject';\nimport { Subscriber } from '../../Subscriber';\nimport { Observable } from '../../Observable';\nimport { Subscription } from '../../Subscription';\nimport { ReplaySubject } from '../../ReplaySubject';\nconst DEFAULT_WEBSOCKET_CONFIG = {\n url: '',\n deserializer: (e) => JSON.parse(e.data),\n serializer: (value) => JSON.stringify(value),\n};\nconst WEBSOCKETSUBJECT_INVALID_ERROR_OBJECT = 'WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }';\nexport class WebSocketSubject extends AnonymousSubject {\n constructor(urlConfigOrSource, destination) {\n super();\n this._socket = null;\n if (urlConfigOrSource instanceof Observable) {\n this.destination = destination;\n this.source = urlConfigOrSource;\n }\n else {\n const config = (this._config = Object.assign({}, DEFAULT_WEBSOCKET_CONFIG));\n this._output = new Subject();\n if (typeof urlConfigOrSource === 'string') {\n config.url = urlConfigOrSource;\n }\n else {\n for (const key in urlConfigOrSource) {\n if (urlConfigOrSource.hasOwnProperty(key)) {\n config[key] = urlConfigOrSource[key];\n }\n }\n }\n if (!config.WebSocketCtor && WebSocket) {\n config.WebSocketCtor = WebSocket;\n }\n else if (!config.WebSocketCtor) {\n throw new Error('no WebSocket constructor can be found');\n }\n this.destination = new ReplaySubject();\n }\n }\n lift(operator) {\n const sock = new WebSocketSubject(this._config, this.destination);\n sock.operator = operator;\n sock.source = this;\n return sock;\n }\n _resetState() {\n this._socket = null;\n if (!this.source) {\n this.destination = new ReplaySubject();\n }\n this._output = new Subject();\n }\n multiplex(subMsg, unsubMsg, messageFilter) {\n const self = this;\n return new Observable((observer) => {\n try {\n self.next(subMsg());\n }\n catch (err) {\n observer.error(err);\n }\n const subscription = self.subscribe({\n next: (x) => {\n try {\n if (messageFilter(x)) {\n observer.next(x);\n }\n }\n catch (err) {\n observer.error(err);\n }\n },\n error: (err) => observer.error(err),\n complete: () => observer.complete(),\n });\n return () => {\n try {\n self.next(unsubMsg());\n }\n catch (err) {\n observer.error(err);\n }\n subscription.unsubscribe();\n };\n });\n }\n _connectSocket() {\n const { WebSocketCtor, protocol, url, binaryType } = this._config;\n const observer = this._output;\n let socket = null;\n try {\n socket = protocol ? new WebSocketCtor(url, protocol) : new WebSocketCtor(url);\n this._socket = socket;\n if (binaryType) {\n this._socket.binaryType = binaryType;\n }\n }\n catch (e) {\n observer.error(e);\n return;\n }\n const subscription = new Subscription(() => {\n this._socket = null;\n if (socket && socket.readyState === 1) {\n socket.close();\n }\n });\n socket.onopen = (evt) => {\n const { _socket } = this;\n if (!_socket) {\n socket.close();\n this._resetState();\n return;\n }\n const { openObserver } = this._config;\n if (openObserver) {\n openObserver.next(evt);\n }\n const queue = this.destination;\n this.destination = Subscriber.create((x) => {\n if (socket.readyState === 1) {\n try {\n const { serializer } = this._config;\n socket.send(serializer(x));\n }\n catch (e) {\n this.destination.error(e);\n }\n }\n }, (err) => {\n const { closingObserver } = this._config;\n if (closingObserver) {\n closingObserver.next(undefined);\n }\n if (err && err.code) {\n socket.close(err.code, err.reason);\n }\n else {\n observer.error(new TypeError(WEBSOCKETSUBJECT_INVALID_ERROR_OBJECT));\n }\n this._resetState();\n }, () => {\n const { closingObserver } = this._config;\n if (closingObserver) {\n closingObserver.next(undefined);\n }\n socket.close();\n this._resetState();\n });\n if (queue && queue instanceof ReplaySubject) {\n subscription.add(queue.subscribe(this.destination));\n }\n };\n socket.onerror = (e) => {\n this._resetState();\n observer.error(e);\n };\n socket.onclose = (e) => {\n if (socket === this._socket) {\n this._resetState();\n }\n const { closeObserver } = this._config;\n if (closeObserver) {\n closeObserver.next(e);\n }\n if (e.wasClean) {\n observer.complete();\n }\n else {\n observer.error(e);\n }\n };\n socket.onmessage = (e) => {\n try {\n const { deserializer } = this._config;\n observer.next(deserializer(e));\n }\n catch (err) {\n observer.error(err);\n }\n };\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return source.subscribe(subscriber);\n }\n if (!this._socket) {\n this._connectSocket();\n }\n this._output.subscribe(subscriber);\n subscriber.add(() => {\n const { _socket } = this;\n if (this._output.observers.length === 0) {\n if (_socket && (_socket.readyState === 1 || _socket.readyState === 0)) {\n _socket.close();\n }\n this._resetState();\n }\n });\n return subscriber;\n }\n unsubscribe() {\n const { _socket } = this;\n if (_socket && (_socket.readyState === 1 || _socket.readyState === 0)) {\n _socket.close();\n }\n this._resetState();\n super.unsubscribe();\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { WebSocketSubject } from 'rxjs/webSocket';\n\nimport { LoggerService } from '../../shared/services/logger.service';\nimport { SessionService } from './session.service';\n\n@Injectable()\nexport class WebSocketClientService implements OnDestroy {\n\n public clWSMessages: BehaviorSubject = new BehaviorSubject(null);\n public eclWSMessages: BehaviorSubject = new BehaviorSubject(null);\n public lndWSMessages: BehaviorSubject = new BehaviorSubject(null);\n private wsUrl = '';\n private nodeIndex = '';\n private socket: WebSocketSubject | null;\n private RETRY_SECONDS = 5;\n private RECONNECT_TIMEOUT: any = null;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private sessionService: SessionService) { }\n\n connectWebSocket(finalWSUrl: string, nodeIndex: string) {\n if (!this.socket || this.socket.closed) {\n this.wsUrl = finalWSUrl;\n this.nodeIndex = nodeIndex;\n this.logger.info('Websocket Url: ' + this.wsUrl);\n this.socket = new WebSocketSubject({\n url: finalWSUrl,\n protocol: [(this.sessionService.getItem('token') || ''), nodeIndex]\n });\n this.subscribeToMessages();\n }\n }\n\n reconnectOnError() {\n if (this.RECONNECT_TIMEOUT || (this.socket && !this.socket.closed)) { return; }\n this.RETRY_SECONDS = (this.RETRY_SECONDS >= 160) ? 160 : (this.RETRY_SECONDS * 2);\n this.RECONNECT_TIMEOUT = setTimeout(() => {\n this.logger.info('Reconnecting Web Socket.');\n this.connectWebSocket(this.wsUrl, this.nodeIndex);\n this.RECONNECT_TIMEOUT = null;\n }, this.RETRY_SECONDS * 1000);\n }\n\n closeConnection() {\n if (this.socket) {\n this.socket.complete();\n this.socket = null;\n }\n }\n\n private subscribeToMessages() {\n this.socket?.pipe(takeUntil(this.unSubs[1])).subscribe({\n next: (msg) => {\n msg = (typeof msg === 'string') ? JSON.parse(msg) : msg;\n if (msg.error) {\n this.handleError(msg.error);\n } else {\n this.logger.info('Next Message from WS:' + JSON.stringify(msg));\n switch (msg.source) {\n case 'LND':\n this.lndWSMessages.next(msg);\n break;\n case 'CLN':\n this.clWSMessages.next(msg);\n break;\n case 'ECL':\n this.eclWSMessages.next(msg);\n break;\n default:\n break;\n }\n }\n },\n error: (err) => this.handleError(err),\n complete: () => { this.logger.info('Web Socket Closed'); }\n });\n }\n\n private handleError(err) {\n this.logger.error(err);\n this.clWSMessages.error(err);\n this.eclWSMessages.error(err);\n this.lndWSMessages.error(err);\n this.reconnectOnError();\n }\n\n ngOnDestroy() {\n this.closeConnection();\n this.clWSMessages.next(null);\n this.clWSMessages.complete();\n this.eclWSMessages.next(null);\n this.eclWSMessages.complete();\n this.lndWSMessages.next(null);\n this.lndWSMessages.complete();\n }\n\n}\n","import * as i0 from '@angular/core';\nimport { Injectable, Directive, Input, NgModule } from '@angular/core';\nimport * as i1 from '@angular/flex-layout/core';\nimport { StyleBuilder, BaseDirective2, CoreModule } from '@angular/flex-layout/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ROW_DEFAULT = 'stretch';\nconst COL_DEFAULT = 'stretch';\nclass GridAlignStyleBuilder extends StyleBuilder {\n buildStyles(input) {\n return buildCss$2(input || ROW_DEFAULT);\n }\n}\nGridAlignStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAlignStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAlignDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align';\n this.styleCache = alignCache;\n this.init();\n }\n}\nGridAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignDirective, deps: [{ token: i0.ElementRef }, { token: GridAlignStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAlignDirective, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridAlignStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; } });\nconst alignCache = new Map();\nconst inputs$a = [\n 'gdGridAlign',\n 'gdGridAlign.xs', 'gdGridAlign.sm', 'gdGridAlign.md', 'gdGridAlign.lg', 'gdGridAlign.xl',\n 'gdGridAlign.lt-sm', 'gdGridAlign.lt-md', 'gdGridAlign.lt-lg', 'gdGridAlign.lt-xl',\n 'gdGridAlign.gt-xs', 'gdGridAlign.gt-sm', 'gdGridAlign.gt-md', 'gdGridAlign.gt-lg'\n];\nconst selector$a = `\n [gdGridAlign],\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\n`;\n/**\n * 'align' CSS Grid styling directive for grid children\n * Defines positioning of child elements along row and column axis in a grid container\n * Optional values: {row-axis} values or {row-axis column-axis} value pairs\n *\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-self\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-self\n */\nclass DefaultGridAlignDirective extends GridAlignDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$a;\n }\n}\nDefaultGridAlignDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAlignDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAlignDirective, selector: \"\\n [gdGridAlign],\\n [gdGridAlign.xs], [gdGridAlign.sm], [gdGridAlign.md], [gdGridAlign.lg],[gdGridAlign.xl],\\n [gdGridAlign.lt-sm], [gdGridAlign.lt-md], [gdGridAlign.lt-lg], [gdGridAlign.lt-xl],\\n [gdGridAlign.gt-xs], [gdGridAlign.gt-sm], [gdGridAlign.gt-md], [gdGridAlign.gt-lg]\\n\", inputs: { gdGridAlign: \"gdGridAlign\", \"gdGridAlign.xs\": \"gdGridAlign.xs\", \"gdGridAlign.sm\": \"gdGridAlign.sm\", \"gdGridAlign.md\": \"gdGridAlign.md\", \"gdGridAlign.lg\": \"gdGridAlign.lg\", \"gdGridAlign.xl\": \"gdGridAlign.xl\", \"gdGridAlign.lt-sm\": \"gdGridAlign.lt-sm\", \"gdGridAlign.lt-md\": \"gdGridAlign.lt-md\", \"gdGridAlign.lt-lg\": \"gdGridAlign.lt-lg\", \"gdGridAlign.lt-xl\": \"gdGridAlign.lt-xl\", \"gdGridAlign.gt-xs\": \"gdGridAlign.gt-xs\", \"gdGridAlign.gt-sm\": \"gdGridAlign.gt-sm\", \"gdGridAlign.gt-md\": \"gdGridAlign.gt-md\", \"gdGridAlign.gt-lg\": \"gdGridAlign.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$a, inputs: inputs$a }]\n }] });\nfunction buildCss$2(align = '') {\n const css = {}, [rowAxis, columnAxis] = align.split(' ');\n // Row axis\n switch (rowAxis) {\n case 'end':\n css['justify-self'] = 'end';\n break;\n case 'center':\n css['justify-self'] = 'center';\n break;\n case 'stretch':\n css['justify-self'] = 'stretch';\n break;\n case 'start':\n css['justify-self'] = 'start';\n break;\n default:\n css['justify-self'] = ROW_DEFAULT; // default row axis\n break;\n }\n // Column axis\n switch (columnAxis) {\n case 'end':\n css['align-self'] = 'end';\n break;\n case 'center':\n css['align-self'] = 'center';\n break;\n case 'stretch':\n css['align-self'] = 'stretch';\n break;\n case 'start':\n css['align-self'] = 'start';\n break;\n default:\n css['align-self'] = COL_DEFAULT; // default column axis\n break;\n }\n return css;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_MAIN$1 = 'start';\nconst DEFAULT_CROSS$1 = 'stretch';\nclass GridAlignColumnsStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n return buildCss$1(input || `${DEFAULT_MAIN$1} ${DEFAULT_CROSS$1}`, parent.inline);\n }\n}\nGridAlignColumnsStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignColumnsStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAlignColumnsStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignColumnsStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignColumnsStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAlignColumnsDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align-columns';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? alignColumnsInlineCache : alignColumnsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAlignColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignColumnsDirective, deps: [{ token: i0.ElementRef }, { token: GridAlignColumnsStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAlignColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAlignColumnsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignColumnsDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridAlignColumnsStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst alignColumnsCache = new Map();\nconst alignColumnsInlineCache = new Map();\nconst inputs$9 = [\n 'gdAlignColumns',\n 'gdAlignColumns.xs', 'gdAlignColumns.sm', 'gdAlignColumns.md',\n 'gdAlignColumns.lg', 'gdAlignColumns.xl', 'gdAlignColumns.lt-sm',\n 'gdAlignColumns.lt-md', 'gdAlignColumns.lt-lg', 'gdAlignColumns.lt-xl',\n 'gdAlignColumns.gt-xs', 'gdAlignColumns.gt-sm', 'gdAlignColumns.gt-md',\n 'gdAlignColumns.gt-lg'\n];\nconst selector$9 = `\n [gdAlignColumns],\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\n [gdAlignColumns.gt-lg]\n`;\n/**\n * 'column alignment' CSS Grid styling directive\n * Configures the alignment in the column direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-19\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-21\n */\nclass DefaultGridAlignColumnsDirective extends GridAlignColumnsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$9;\n }\n}\nDefaultGridAlignColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignColumnsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAlignColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAlignColumnsDirective, selector: \"\\n [gdAlignColumns],\\n [gdAlignColumns.xs], [gdAlignColumns.sm], [gdAlignColumns.md],\\n [gdAlignColumns.lg], [gdAlignColumns.xl], [gdAlignColumns.lt-sm],\\n [gdAlignColumns.lt-md], [gdAlignColumns.lt-lg], [gdAlignColumns.lt-xl],\\n [gdAlignColumns.gt-xs], [gdAlignColumns.gt-sm], [gdAlignColumns.gt-md],\\n [gdAlignColumns.gt-lg]\\n\", inputs: { gdAlignColumns: \"gdAlignColumns\", \"gdAlignColumns.xs\": \"gdAlignColumns.xs\", \"gdAlignColumns.sm\": \"gdAlignColumns.sm\", \"gdAlignColumns.md\": \"gdAlignColumns.md\", \"gdAlignColumns.lg\": \"gdAlignColumns.lg\", \"gdAlignColumns.xl\": \"gdAlignColumns.xl\", \"gdAlignColumns.lt-sm\": \"gdAlignColumns.lt-sm\", \"gdAlignColumns.lt-md\": \"gdAlignColumns.lt-md\", \"gdAlignColumns.lt-lg\": \"gdAlignColumns.lt-lg\", \"gdAlignColumns.lt-xl\": \"gdAlignColumns.lt-xl\", \"gdAlignColumns.gt-xs\": \"gdAlignColumns.gt-xs\", \"gdAlignColumns.gt-sm\": \"gdAlignColumns.gt-sm\", \"gdAlignColumns.gt-md\": \"gdAlignColumns.gt-md\", \"gdAlignColumns.gt-lg\": \"gdAlignColumns.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignColumnsDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$9, inputs: inputs$9 }]\n }] });\nfunction buildCss$1(align, inline) {\n const css = {}, [mainAxis, crossAxis] = align.split(' ');\n // Main axis\n switch (mainAxis) {\n case 'center':\n css['align-content'] = 'center';\n break;\n case 'space-around':\n css['align-content'] = 'space-around';\n break;\n case 'space-between':\n css['align-content'] = 'space-between';\n break;\n case 'space-evenly':\n css['align-content'] = 'space-evenly';\n break;\n case 'end':\n css['align-content'] = 'end';\n break;\n case 'start':\n css['align-content'] = 'start';\n break;\n case 'stretch':\n css['align-content'] = 'stretch';\n break;\n default:\n css['align-content'] = DEFAULT_MAIN$1; // default main axis\n break;\n }\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n css['align-items'] = 'start';\n break;\n case 'center':\n css['align-items'] = 'center';\n break;\n case 'end':\n css['align-items'] = 'end';\n break;\n case 'stretch':\n css['align-items'] = 'stretch';\n break;\n default: // 'stretch'\n css['align-items'] = DEFAULT_CROSS$1; // default cross axis\n break;\n }\n css['display'] = inline ? 'inline-grid' : 'grid';\n return css;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_MAIN = 'start';\nconst DEFAULT_CROSS = 'stretch';\nclass GridAlignRowsStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n return buildCss(input || `${DEFAULT_MAIN} ${DEFAULT_CROSS}`, parent.inline);\n }\n}\nGridAlignRowsStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignRowsStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAlignRowsStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignRowsStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignRowsStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAlignRowsDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-align-rows';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? alignRowsInlineCache : alignRowsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAlignRowsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignRowsDirective, deps: [{ token: i0.ElementRef }, { token: GridAlignRowsStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAlignRowsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAlignRowsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAlignRowsDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridAlignRowsStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst alignRowsCache = new Map();\nconst alignRowsInlineCache = new Map();\nconst inputs$8 = [\n 'gdAlignRows',\n 'gdAlignRows.xs', 'gdAlignRows.sm', 'gdAlignRows.md',\n 'gdAlignRows.lg', 'gdAlignRows.xl', 'gdAlignRows.lt-sm',\n 'gdAlignRows.lt-md', 'gdAlignRows.lt-lg', 'gdAlignRows.lt-xl',\n 'gdAlignRows.gt-xs', 'gdAlignRows.gt-sm', 'gdAlignRows.gt-md',\n 'gdAlignRows.gt-lg'\n];\nconst selector$8 = `\n [gdAlignRows],\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\n [gdAlignRows.gt-lg]\n`;\n/**\n * 'row alignment' CSS Grid styling directive\n * Configures the alignment in the row direction\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-18\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-20\n */\nclass DefaultGridAlignRowsDirective extends GridAlignRowsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$8;\n }\n}\nDefaultGridAlignRowsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignRowsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAlignRowsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAlignRowsDirective, selector: \"\\n [gdAlignRows],\\n [gdAlignRows.xs], [gdAlignRows.sm], [gdAlignRows.md],\\n [gdAlignRows.lg], [gdAlignRows.xl], [gdAlignRows.lt-sm],\\n [gdAlignRows.lt-md], [gdAlignRows.lt-lg], [gdAlignRows.lt-xl],\\n [gdAlignRows.gt-xs], [gdAlignRows.gt-sm], [gdAlignRows.gt-md],\\n [gdAlignRows.gt-lg]\\n\", inputs: { gdAlignRows: \"gdAlignRows\", \"gdAlignRows.xs\": \"gdAlignRows.xs\", \"gdAlignRows.sm\": \"gdAlignRows.sm\", \"gdAlignRows.md\": \"gdAlignRows.md\", \"gdAlignRows.lg\": \"gdAlignRows.lg\", \"gdAlignRows.xl\": \"gdAlignRows.xl\", \"gdAlignRows.lt-sm\": \"gdAlignRows.lt-sm\", \"gdAlignRows.lt-md\": \"gdAlignRows.lt-md\", \"gdAlignRows.lt-lg\": \"gdAlignRows.lt-lg\", \"gdAlignRows.lt-xl\": \"gdAlignRows.lt-xl\", \"gdAlignRows.gt-xs\": \"gdAlignRows.gt-xs\", \"gdAlignRows.gt-sm\": \"gdAlignRows.gt-sm\", \"gdAlignRows.gt-md\": \"gdAlignRows.gt-md\", \"gdAlignRows.gt-lg\": \"gdAlignRows.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAlignRowsDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$8, inputs: inputs$8 }]\n }] });\nfunction buildCss(align, inline) {\n const css = {}, [mainAxis, crossAxis] = align.split(' ');\n // Main axis\n switch (mainAxis) {\n case 'center':\n case 'space-around':\n case 'space-between':\n case 'space-evenly':\n case 'end':\n case 'start':\n case 'stretch':\n css['justify-content'] = mainAxis;\n break;\n default:\n css['justify-content'] = DEFAULT_MAIN; // default main axis\n break;\n }\n // Cross-axis\n switch (crossAxis) {\n case 'start':\n case 'center':\n case 'end':\n case 'stretch':\n css['justify-items'] = crossAxis;\n break;\n default: // 'stretch'\n css['justify-items'] = DEFAULT_CROSS; // default cross axis\n break;\n }\n css['display'] = inline ? 'inline-grid' : 'grid';\n return css;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$7 = 'auto';\nclass GridAreaStyleBuilder extends StyleBuilder {\n buildStyles(input) {\n return { 'grid-area': input || DEFAULT_VALUE$7 };\n }\n}\nGridAreaStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreaStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAreaStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreaStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreaStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAreaDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-area';\n this.styleCache = gridAreaCache;\n this.init();\n }\n}\nGridAreaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreaDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: GridAreaStyleBuilder }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAreaDirective, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreaDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: GridAreaStyleBuilder }, { type: i1.MediaMarshaller }]; } });\nconst gridAreaCache = new Map();\nconst inputs$7 = [\n 'gdArea',\n 'gdArea.xs', 'gdArea.sm', 'gdArea.md', 'gdArea.lg', 'gdArea.xl',\n 'gdArea.lt-sm', 'gdArea.lt-md', 'gdArea.lt-lg', 'gdArea.lt-xl',\n 'gdArea.gt-xs', 'gdArea.gt-sm', 'gdArea.gt-md', 'gdArea.gt-lg'\n];\nconst selector$7 = `\n [gdArea],\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\n`;\n/**\n * 'grid-area' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-27\n */\nclass DefaultGridAreaDirective extends GridAreaDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$7;\n }\n}\nDefaultGridAreaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAreaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAreaDirective, selector: \"\\n [gdArea],\\n [gdArea.xs], [gdArea.sm], [gdArea.md], [gdArea.lg], [gdArea.xl],\\n [gdArea.lt-sm], [gdArea.lt-md], [gdArea.lt-lg], [gdArea.lt-xl],\\n [gdArea.gt-xs], [gdArea.gt-sm], [gdArea.gt-md], [gdArea.gt-lg]\\n\", inputs: { gdArea: \"gdArea\", \"gdArea.xs\": \"gdArea.xs\", \"gdArea.sm\": \"gdArea.sm\", \"gdArea.md\": \"gdArea.md\", \"gdArea.lg\": \"gdArea.lg\", \"gdArea.xl\": \"gdArea.xl\", \"gdArea.lt-sm\": \"gdArea.lt-sm\", \"gdArea.lt-md\": \"gdArea.lt-md\", \"gdArea.lt-lg\": \"gdArea.lt-lg\", \"gdArea.lt-xl\": \"gdArea.lt-xl\", \"gdArea.gt-xs\": \"gdArea.gt-xs\", \"gdArea.gt-sm\": \"gdArea.gt-sm\", \"gdArea.gt-md\": \"gdArea.gt-md\", \"gdArea.gt-lg\": \"gdArea.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAreaDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$7, inputs: inputs$7 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$6 = 'none';\nconst DELIMETER = '|';\nclass GridAreasStyleBuiler extends StyleBuilder {\n buildStyles(input, parent) {\n const areas = (input || DEFAULT_VALUE$6).split(DELIMETER).map(v => `\"${v.trim()}\"`);\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-template-areas': areas.join(' ')\n };\n }\n}\nGridAreasStyleBuiler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreasStyleBuiler, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAreasStyleBuiler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreasStyleBuiler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreasStyleBuiler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAreasDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-areas';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? areasInlineCache : areasCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAreasDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreasDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: GridAreasStyleBuiler }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAreasDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAreasDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAreasDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: GridAreasStyleBuiler }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst areasCache = new Map();\nconst areasInlineCache = new Map();\nconst inputs$6 = [\n 'gdAreas',\n 'gdAreas.xs', 'gdAreas.sm', 'gdAreas.md', 'gdAreas.lg', 'gdAreas.xl',\n 'gdAreas.lt-sm', 'gdAreas.lt-md', 'gdAreas.lt-lg', 'gdAreas.lt-xl',\n 'gdAreas.gt-xs', 'gdAreas.gt-sm', 'gdAreas.gt-md', 'gdAreas.gt-lg'\n];\nconst selector$6 = `\n [gdAreas],\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\n`;\n/**\n * 'grid-template-areas' CSS Grid styling directive\n * Configures the names of elements within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-14\n */\nclass DefaultGridAreasDirective extends GridAreasDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$6;\n }\n}\nDefaultGridAreasDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAreasDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAreasDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAreasDirective, selector: \"\\n [gdAreas],\\n [gdAreas.xs], [gdAreas.sm], [gdAreas.md], [gdAreas.lg], [gdAreas.xl],\\n [gdAreas.lt-sm], [gdAreas.lt-md], [gdAreas.lt-lg], [gdAreas.lt-xl],\\n [gdAreas.gt-xs], [gdAreas.gt-sm], [gdAreas.gt-md], [gdAreas.gt-lg]\\n\", inputs: { gdAreas: \"gdAreas\", \"gdAreas.xs\": \"gdAreas.xs\", \"gdAreas.sm\": \"gdAreas.sm\", \"gdAreas.md\": \"gdAreas.md\", \"gdAreas.lg\": \"gdAreas.lg\", \"gdAreas.xl\": \"gdAreas.xl\", \"gdAreas.lt-sm\": \"gdAreas.lt-sm\", \"gdAreas.lt-md\": \"gdAreas.lt-md\", \"gdAreas.lt-lg\": \"gdAreas.lt-lg\", \"gdAreas.lt-xl\": \"gdAreas.lt-xl\", \"gdAreas.gt-xs\": \"gdAreas.gt-xs\", \"gdAreas.gt-sm\": \"gdAreas.gt-sm\", \"gdAreas.gt-md\": \"gdAreas.gt-md\", \"gdAreas.gt-lg\": \"gdAreas.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAreasDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$6, inputs: inputs$6 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$5 = 'initial';\nclass GridAutoStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n let [direction, dense] = (input || DEFAULT_VALUE$5).split(' ');\n if (direction !== 'column' && direction !== 'row' && direction !== 'dense') {\n direction = 'row';\n }\n dense = (dense === 'dense' && direction !== 'dense') ? ' dense' : '';\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-flow': direction + dense\n };\n }\n}\nGridAutoStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAutoStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridAutoStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAutoStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAutoStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridAutoDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this._inline = false;\n this.DIRECTIVE_KEY = 'grid-auto';\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? autoInlineCache : autoCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridAutoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAutoDirective, deps: [{ token: i0.ElementRef }, { token: GridAutoStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridAutoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridAutoDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridAutoDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridAutoStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst autoCache = new Map();\nconst autoInlineCache = new Map();\nconst inputs$5 = [\n 'gdAuto',\n 'gdAuto.xs', 'gdAuto.sm', 'gdAuto.md', 'gdAuto.lg', 'gdAuto.xl',\n 'gdAuto.lt-sm', 'gdAuto.lt-md', 'gdAuto.lt-lg', 'gdAuto.lt-xl',\n 'gdAuto.gt-xs', 'gdAuto.gt-sm', 'gdAuto.gt-md', 'gdAuto.gt-lg'\n];\nconst selector$5 = `\n [gdAuto],\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\n`;\n/**\n * 'grid-auto-flow' CSS Grid styling directive\n * Configures the auto placement algorithm for the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-23\n */\nclass DefaultGridAutoDirective extends GridAutoDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$5;\n }\n}\nDefaultGridAutoDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAutoDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridAutoDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridAutoDirective, selector: \"\\n [gdAuto],\\n [gdAuto.xs], [gdAuto.sm], [gdAuto.md], [gdAuto.lg], [gdAuto.xl],\\n [gdAuto.lt-sm], [gdAuto.lt-md], [gdAuto.lt-lg], [gdAuto.lt-xl],\\n [gdAuto.gt-xs], [gdAuto.gt-sm], [gdAuto.gt-md], [gdAuto.gt-lg]\\n\", inputs: { gdAuto: \"gdAuto\", \"gdAuto.xs\": \"gdAuto.xs\", \"gdAuto.sm\": \"gdAuto.sm\", \"gdAuto.md\": \"gdAuto.md\", \"gdAuto.lg\": \"gdAuto.lg\", \"gdAuto.xl\": \"gdAuto.xl\", \"gdAuto.lt-sm\": \"gdAuto.lt-sm\", \"gdAuto.lt-md\": \"gdAuto.lt-md\", \"gdAuto.lt-lg\": \"gdAuto.lt-lg\", \"gdAuto.lt-xl\": \"gdAuto.lt-xl\", \"gdAuto.gt-xs\": \"gdAuto.gt-xs\", \"gdAuto.gt-sm\": \"gdAuto.gt-sm\", \"gdAuto.gt-md\": \"gdAuto.gt-md\", \"gdAuto.gt-lg\": \"gdAuto.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridAutoDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$5, inputs: inputs$5 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$4 = 'auto';\nclass GridColumnStyleBuilder extends StyleBuilder {\n buildStyles(input) {\n return { 'grid-column': input || DEFAULT_VALUE$4 };\n }\n}\nGridColumnStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridColumnStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridColumnDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-column';\n this.styleCache = columnCache;\n this.init();\n }\n}\nGridColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnDirective, deps: [{ token: i0.ElementRef }, { token: GridColumnStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridColumnDirective, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridColumnStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; } });\nconst columnCache = new Map();\nconst inputs$4 = [\n 'gdColumn',\n 'gdColumn.xs', 'gdColumn.sm', 'gdColumn.md', 'gdColumn.lg', 'gdColumn.xl',\n 'gdColumn.lt-sm', 'gdColumn.lt-md', 'gdColumn.lt-lg', 'gdColumn.lt-xl',\n 'gdColumn.gt-xs', 'gdColumn.gt-sm', 'gdColumn.gt-md', 'gdColumn.gt-lg'\n];\nconst selector$4 = `\n [gdColumn],\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\n`;\n/**\n * 'grid-column' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\nclass DefaultGridColumnDirective extends GridColumnDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$4;\n }\n}\nDefaultGridColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridColumnDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridColumnDirective, selector: \"\\n [gdColumn],\\n [gdColumn.xs], [gdColumn.sm], [gdColumn.md], [gdColumn.lg], [gdColumn.xl],\\n [gdColumn.lt-sm], [gdColumn.lt-md], [gdColumn.lt-lg], [gdColumn.lt-xl],\\n [gdColumn.gt-xs], [gdColumn.gt-sm], [gdColumn.gt-md], [gdColumn.gt-lg]\\n\", inputs: { gdColumn: \"gdColumn\", \"gdColumn.xs\": \"gdColumn.xs\", \"gdColumn.sm\": \"gdColumn.sm\", \"gdColumn.md\": \"gdColumn.md\", \"gdColumn.lg\": \"gdColumn.lg\", \"gdColumn.xl\": \"gdColumn.xl\", \"gdColumn.lt-sm\": \"gdColumn.lt-sm\", \"gdColumn.lt-md\": \"gdColumn.lt-md\", \"gdColumn.lt-lg\": \"gdColumn.lt-lg\", \"gdColumn.lt-xl\": \"gdColumn.lt-xl\", \"gdColumn.gt-xs\": \"gdColumn.gt-xs\", \"gdColumn.gt-sm\": \"gdColumn.gt-sm\", \"gdColumn.gt-md\": \"gdColumn.gt-md\", \"gdColumn.gt-lg\": \"gdColumn.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridColumnDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$4, inputs: inputs$4 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$3 = 'none';\nconst AUTO_SPECIFIER$1 = '!';\nclass GridColumnsStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n input = input || DEFAULT_VALUE$3;\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER$1)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER$1));\n auto = true;\n }\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-columns': '',\n 'grid-template-columns': '',\n };\n const key = (auto ? 'grid-auto-columns' : 'grid-template-columns');\n css[key] = input;\n return css;\n }\n}\nGridColumnsStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnsStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridColumnsStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnsStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnsStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridColumnsDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-columns';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? columnsInlineCache : columnsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnsDirective, deps: [{ token: i0.ElementRef }, { token: GridColumnsStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridColumnsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridColumnsDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridColumnsStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst columnsCache = new Map();\nconst columnsInlineCache = new Map();\nconst inputs$3 = [\n 'gdColumns',\n 'gdColumns.xs', 'gdColumns.sm', 'gdColumns.md', 'gdColumns.lg', 'gdColumns.xl',\n 'gdColumns.lt-sm', 'gdColumns.lt-md', 'gdColumns.lt-lg', 'gdColumns.lt-xl',\n 'gdColumns.gt-xs', 'gdColumns.gt-sm', 'gdColumns.gt-md', 'gdColumns.gt-lg'\n];\nconst selector$3 = `\n [gdColumns],\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\n`;\n/**\n * 'grid-template-columns' CSS Grid styling directive\n * Configures the sizing for the columns in the grid\n * Syntax: [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\nclass DefaultGridColumnsDirective extends GridColumnsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$3;\n }\n}\nDefaultGridColumnsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridColumnsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridColumnsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridColumnsDirective, selector: \"\\n [gdColumns],\\n [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl],\\n [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl],\\n [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]\\n\", inputs: { gdColumns: \"gdColumns\", \"gdColumns.xs\": \"gdColumns.xs\", \"gdColumns.sm\": \"gdColumns.sm\", \"gdColumns.md\": \"gdColumns.md\", \"gdColumns.lg\": \"gdColumns.lg\", \"gdColumns.xl\": \"gdColumns.xl\", \"gdColumns.lt-sm\": \"gdColumns.lt-sm\", \"gdColumns.lt-md\": \"gdColumns.lt-md\", \"gdColumns.lt-lg\": \"gdColumns.lt-lg\", \"gdColumns.lt-xl\": \"gdColumns.lt-xl\", \"gdColumns.gt-xs\": \"gdColumns.gt-xs\", \"gdColumns.gt-sm\": \"gdColumns.gt-sm\", \"gdColumns.gt-md\": \"gdColumns.gt-md\", \"gdColumns.gt-lg\": \"gdColumns.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridColumnsDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$3, inputs: inputs$3 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$2 = '0';\nclass GridGapStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n return {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-gap': input || DEFAULT_VALUE$2\n };\n }\n}\nGridGapStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridGapStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridGapStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridGapStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridGapStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridGapDirective extends BaseDirective2 {\n constructor(elRef, styleUtils, styleBuilder, marshal) {\n super(elRef, styleBuilder, styleUtils, marshal);\n this.DIRECTIVE_KEY = 'grid-gap';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? gapInlineCache : gapCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridGapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridGapDirective, deps: [{ token: i0.ElementRef }, { token: i1.StyleUtils }, { token: GridGapStyleBuilder }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridGapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridGapDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridGapDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StyleUtils }, { type: GridGapStyleBuilder }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst gapCache = new Map();\nconst gapInlineCache = new Map();\nconst inputs$2 = [\n 'gdGap',\n 'gdGap.xs', 'gdGap.sm', 'gdGap.md', 'gdGap.lg', 'gdGap.xl',\n 'gdGap.lt-sm', 'gdGap.lt-md', 'gdGap.lt-lg', 'gdGap.lt-xl',\n 'gdGap.gt-xs', 'gdGap.gt-sm', 'gdGap.gt-md', 'gdGap.gt-lg'\n];\nconst selector$2 = `\n [gdGap],\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\n`;\n/**\n * 'grid-gap' CSS Grid styling directive\n * Configures the gap between items in the grid\n * Syntax: []\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-17\n */\nclass DefaultGridGapDirective extends GridGapDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$2;\n }\n}\nDefaultGridGapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridGapDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridGapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridGapDirective, selector: \"\\n [gdGap],\\n [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl],\\n [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl],\\n [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]\\n\", inputs: { gdGap: \"gdGap\", \"gdGap.xs\": \"gdGap.xs\", \"gdGap.sm\": \"gdGap.sm\", \"gdGap.md\": \"gdGap.md\", \"gdGap.lg\": \"gdGap.lg\", \"gdGap.xl\": \"gdGap.xl\", \"gdGap.lt-sm\": \"gdGap.lt-sm\", \"gdGap.lt-md\": \"gdGap.lt-md\", \"gdGap.lt-lg\": \"gdGap.lt-lg\", \"gdGap.lt-xl\": \"gdGap.lt-xl\", \"gdGap.gt-xs\": \"gdGap.gt-xs\", \"gdGap.gt-sm\": \"gdGap.gt-sm\", \"gdGap.gt-md\": \"gdGap.gt-md\", \"gdGap.gt-lg\": \"gdGap.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridGapDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$2, inputs: inputs$2 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE$1 = 'auto';\nclass GridRowStyleBuilder extends StyleBuilder {\n buildStyles(input) {\n return { 'grid-row': input || DEFAULT_VALUE$1 };\n }\n}\nGridRowStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridRowStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridRowDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-row';\n this.styleCache = rowCache;\n this.init();\n }\n}\nGridRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowDirective, deps: [{ token: i0.ElementRef }, { token: GridRowStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridRowDirective, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridRowStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; } });\nconst rowCache = new Map();\nconst inputs$1 = [\n 'gdRow',\n 'gdRow.xs', 'gdRow.sm', 'gdRow.md', 'gdRow.lg', 'gdRow.xl',\n 'gdRow.lt-sm', 'gdRow.lt-md', 'gdRow.lt-lg', 'gdRow.lt-xl',\n 'gdRow.gt-xs', 'gdRow.gt-sm', 'gdRow.gt-md', 'gdRow.gt-lg'\n];\nconst selector$1 = `\n [gdRow],\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\n`;\n/**\n * 'grid-row' CSS Grid styling directive\n * Configures the name or position of an element within the grid\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-26\n */\nclass DefaultGridRowDirective extends GridRowDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs$1;\n }\n}\nDefaultGridRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridRowDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridRowDirective, selector: \"\\n [gdRow],\\n [gdRow.xs], [gdRow.sm], [gdRow.md], [gdRow.lg], [gdRow.xl],\\n [gdRow.lt-sm], [gdRow.lt-md], [gdRow.lt-lg], [gdRow.lt-xl],\\n [gdRow.gt-xs], [gdRow.gt-sm], [gdRow.gt-md], [gdRow.gt-lg]\\n\", inputs: { gdRow: \"gdRow\", \"gdRow.xs\": \"gdRow.xs\", \"gdRow.sm\": \"gdRow.sm\", \"gdRow.md\": \"gdRow.md\", \"gdRow.lg\": \"gdRow.lg\", \"gdRow.xl\": \"gdRow.xl\", \"gdRow.lt-sm\": \"gdRow.lt-sm\", \"gdRow.lt-md\": \"gdRow.lt-md\", \"gdRow.lt-lg\": \"gdRow.lt-lg\", \"gdRow.lt-xl\": \"gdRow.lt-xl\", \"gdRow.gt-xs\": \"gdRow.gt-xs\", \"gdRow.gt-sm\": \"gdRow.gt-sm\", \"gdRow.gt-md\": \"gdRow.gt-md\", \"gdRow.gt-lg\": \"gdRow.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridRowDirective, decorators: [{\n type: Directive,\n args: [{ selector: selector$1, inputs: inputs$1 }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DEFAULT_VALUE = 'none';\nconst AUTO_SPECIFIER = '!';\nclass GridRowsStyleBuilder extends StyleBuilder {\n buildStyles(input, parent) {\n input = input || DEFAULT_VALUE;\n let auto = false;\n if (input.endsWith(AUTO_SPECIFIER)) {\n input = input.substring(0, input.indexOf(AUTO_SPECIFIER));\n auto = true;\n }\n const css = {\n 'display': parent.inline ? 'inline-grid' : 'grid',\n 'grid-auto-rows': '',\n 'grid-template-rows': '',\n };\n const key = (auto ? 'grid-auto-rows' : 'grid-template-rows');\n css[key] = input;\n return css;\n }\n}\nGridRowsStyleBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowsStyleBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\nGridRowsStyleBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowsStyleBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowsStyleBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nclass GridRowsDirective extends BaseDirective2 {\n constructor(elementRef, styleBuilder, styler, marshal) {\n super(elementRef, styleBuilder, styler, marshal);\n this.DIRECTIVE_KEY = 'grid-rows';\n this._inline = false;\n this.init();\n }\n get inline() { return this._inline; }\n set inline(val) { this._inline = coerceBooleanProperty(val); }\n // *********************************************\n // Protected methods\n // *********************************************\n updateWithValue(value) {\n this.styleCache = this.inline ? rowsInlineCache : rowsCache;\n this.addStyles(value, { inline: this.inline });\n }\n}\nGridRowsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowsDirective, deps: [{ token: i0.ElementRef }, { token: GridRowsStyleBuilder }, { token: i1.StyleUtils }, { token: i1.MediaMarshaller }], target: i0.ɵɵFactoryTarget.Directive });\nGridRowsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: GridRowsDirective, inputs: { inline: [\"gdInline\", \"inline\"] }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridRowsDirective, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: GridRowsStyleBuilder }, { type: i1.StyleUtils }, { type: i1.MediaMarshaller }]; }, propDecorators: { inline: [{\n type: Input,\n args: ['gdInline']\n }] } });\nconst rowsCache = new Map();\nconst rowsInlineCache = new Map();\nconst inputs = [\n 'gdRows',\n 'gdRows.xs', 'gdRows.sm', 'gdRows.md', 'gdRows.lg', 'gdRows.xl',\n 'gdRows.lt-sm', 'gdRows.lt-md', 'gdRows.lt-lg', 'gdRows.lt-xl',\n 'gdRows.gt-xs', 'gdRows.gt-sm', 'gdRows.gt-md', 'gdRows.gt-lg'\n];\nconst selector = `\n [gdRows],\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\n`;\n/**\n * 'grid-template-rows' CSS Grid styling directive\n * Configures the sizing for the rows in the grid\n * Syntax: [auto]\n * @see https://css-tricks.com/snippets/css/complete-guide-grid/#article-header-id-13\n */\nclass DefaultGridRowsDirective extends GridRowsDirective {\n constructor() {\n super(...arguments);\n this.inputs = inputs;\n }\n}\nDefaultGridRowsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridRowsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nDefaultGridRowsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.0.7\", type: DefaultGridRowsDirective, selector: \"\\n [gdRows],\\n [gdRows.xs], [gdRows.sm], [gdRows.md], [gdRows.lg], [gdRows.xl],\\n [gdRows.lt-sm], [gdRows.lt-md], [gdRows.lt-lg], [gdRows.lt-xl],\\n [gdRows.gt-xs], [gdRows.gt-sm], [gdRows.gt-md], [gdRows.gt-lg]\\n\", inputs: { gdRows: \"gdRows\", \"gdRows.xs\": \"gdRows.xs\", \"gdRows.sm\": \"gdRows.sm\", \"gdRows.md\": \"gdRows.md\", \"gdRows.lg\": \"gdRows.lg\", \"gdRows.xl\": \"gdRows.xl\", \"gdRows.lt-sm\": \"gdRows.lt-sm\", \"gdRows.lt-md\": \"gdRows.lt-md\", \"gdRows.lt-lg\": \"gdRows.lt-lg\", \"gdRows.lt-xl\": \"gdRows.lt-xl\", \"gdRows.gt-xs\": \"gdRows.gt-xs\", \"gdRows.gt-sm\": \"gdRows.gt-sm\", \"gdRows.gt-md\": \"gdRows.gt-md\", \"gdRows.gt-lg\": \"gdRows.gt-lg\" }, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: DefaultGridRowsDirective, decorators: [{\n type: Directive,\n args: [{ selector, inputs }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ALL_DIRECTIVES = [\n DefaultGridAlignDirective,\n DefaultGridAlignColumnsDirective,\n DefaultGridAlignRowsDirective,\n DefaultGridAreaDirective,\n DefaultGridAreasDirective,\n DefaultGridAutoDirective,\n DefaultGridColumnDirective,\n DefaultGridColumnsDirective,\n DefaultGridGapDirective,\n DefaultGridRowDirective,\n DefaultGridRowsDirective,\n];\n/**\n * *****************************************************************\n * Define module for the CSS Grid API\n * *****************************************************************\n */\nclass GridModule {\n}\nGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.7\", ngImport: i0, type: GridModule, declarations: [DefaultGridAlignDirective,\n DefaultGridAlignColumnsDirective,\n DefaultGridAlignRowsDirective,\n DefaultGridAreaDirective,\n DefaultGridAreasDirective,\n DefaultGridAutoDirective,\n DefaultGridColumnDirective,\n DefaultGridColumnsDirective,\n DefaultGridGapDirective,\n DefaultGridRowDirective,\n DefaultGridRowsDirective], imports: [CoreModule], exports: [DefaultGridAlignDirective,\n DefaultGridAlignColumnsDirective,\n DefaultGridAlignRowsDirective,\n DefaultGridAreaDirective,\n DefaultGridAreasDirective,\n DefaultGridAutoDirective,\n DefaultGridColumnDirective,\n DefaultGridColumnsDirective,\n DefaultGridGapDirective,\n DefaultGridRowDirective,\n DefaultGridRowsDirective] });\nGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridModule, imports: [CoreModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: GridModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CoreModule],\n declarations: [...ALL_DIRECTIVES],\n exports: [...ALL_DIRECTIVES]\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DefaultGridAlignColumnsDirective, DefaultGridAlignDirective, DefaultGridAlignRowsDirective, DefaultGridAreaDirective, DefaultGridAreasDirective, DefaultGridAutoDirective, DefaultGridColumnDirective, DefaultGridColumnsDirective, DefaultGridGapDirective, DefaultGridRowDirective, DefaultGridRowsDirective, GridAlignColumnsDirective, GridAlignColumnsStyleBuilder, GridAlignDirective, GridAlignRowsDirective, GridAlignRowsStyleBuilder, GridAlignStyleBuilder, GridAreaDirective, GridAreaStyleBuilder, GridAreasDirective, GridAreasStyleBuiler, GridAutoDirective, GridAutoStyleBuilder, GridColumnDirective, GridColumnStyleBuilder, GridColumnsDirective, GridColumnsStyleBuilder, GridGapDirective, GridGapStyleBuilder, GridModule, GridRowDirective, GridRowStyleBuilder, GridRowsDirective, GridRowsStyleBuilder };\n","import * as i0 from '@angular/core';\nimport { Version, PLATFORM_ID, NgModule, Inject } from '@angular/core';\nimport { LAYOUT_CONFIG, DEFAULT_CONFIG, BREAKPOINT, SERVER_TOKEN } from '@angular/flex-layout/core';\nexport * from '@angular/flex-layout/core';\nimport { ExtendedModule } from '@angular/flex-layout/extended';\nexport * from '@angular/flex-layout/extended';\nimport { FlexModule } from '@angular/flex-layout/flex';\nexport * from '@angular/flex-layout/flex';\nimport { GridModule } from '@angular/flex-layout/grid';\nexport * from '@angular/flex-layout/grid';\nimport { isPlatformServer } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of Angular Flex-Layout. */\nconst VERSION = new Version('14.0.0-beta.41');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * FlexLayoutModule -- the main import for all utilities in the Angular Layout library\n * * Will automatically provide Flex, Grid, and Extended modules for use in the application\n * * Can be configured using the static withConfig method, options viewable on the Wiki's\n * Configuration page\n */\nclass FlexLayoutModule {\n constructor(serverModuleLoaded, platformId) {\n if (isPlatformServer(platformId) && !serverModuleLoaded) {\n console.warn('Warning: Flex Layout loaded on the server without FlexLayoutServerModule');\n }\n }\n /**\n * Initialize the FlexLayoutModule with a set of config options,\n * which sets the corresponding tokens accordingly\n */\n static withConfig(configOptions, \n // tslint:disable-next-line:max-line-length\n breakpoints = []) {\n return {\n ngModule: FlexLayoutModule,\n providers: configOptions.serverLoaded ?\n [\n { provide: LAYOUT_CONFIG, useValue: { ...DEFAULT_CONFIG, ...configOptions } },\n { provide: BREAKPOINT, useValue: breakpoints, multi: true },\n { provide: SERVER_TOKEN, useValue: true },\n ] : [\n { provide: LAYOUT_CONFIG, useValue: { ...DEFAULT_CONFIG, ...configOptions } },\n { provide: BREAKPOINT, useValue: breakpoints, multi: true },\n ]\n };\n }\n}\nFlexLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: FlexLayoutModule, deps: [{ token: SERVER_TOKEN }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule });\nFlexLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.7\", ngImport: i0, type: FlexLayoutModule, imports: [FlexModule, ExtendedModule, GridModule], exports: [FlexModule, ExtendedModule, GridModule] });\nFlexLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: FlexLayoutModule, imports: [FlexModule, ExtendedModule, GridModule, FlexModule, ExtendedModule, GridModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.7\", ngImport: i0, type: FlexLayoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [FlexModule, ExtendedModule, GridModule],\n exports: [FlexModule, ExtendedModule, GridModule]\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [SERVER_TOKEN]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FlexLayoutModule, VERSION };\n","import * as i1 from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Optional, Inject, ContentChildren, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, Attribute, ViewChild, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i2 from '@angular/material/core';\nimport { mixinDisableRipple, MatCommonModule, MatRippleModule } from '@angular/material/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to configure the\n * default options for all button toggles within an app.\n */\nconst MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken('MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS');\n/**\n * Injection token that can be used to reference instances of `MatButtonToggleGroup`.\n * It serves as alternative token to the actual `MatButtonToggleGroup` class which\n * could cause unnecessary retention of the class and its component metadata.\n */\nconst MAT_BUTTON_TOGGLE_GROUP = new InjectionToken('MatButtonToggleGroup');\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nconst MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true,\n};\n// Counter used to generate unique IDs.\nlet uniqueIdCounter = 0;\n/** Change event object emitted by MatButtonToggle. */\nclass MatButtonToggleChange {\n constructor(\n /** The MatButtonToggle that emits the event. */\n source, \n /** The value assigned to the MatButtonToggle. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\nclass MatButtonToggleGroup {\n constructor(_changeDetector, defaultOptions) {\n this._changeDetector = _changeDetector;\n this._vertical = false;\n this._multiple = false;\n this._disabled = false;\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n this._controlValueAccessorChangeFn = () => { };\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n this._onTouched = () => { };\n this._name = `mat-button-toggle-group-${uniqueIdCounter++}`;\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n this.valueChange = new EventEmitter();\n /** Event emitted when the group's value changes. */\n this.change = new EventEmitter();\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n }\n /** `name` attribute for the underlying `input` element. */\n get name() {\n return this._name;\n }\n set name(value) {\n this._name = value;\n this._markButtonsForCheck();\n }\n /** Whether the toggle group is vertical. */\n get vertical() {\n return this._vertical;\n }\n set vertical(value) {\n this._vertical = coerceBooleanProperty(value);\n }\n /** Value of the toggle group. */\n get value() {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n /** Selected button toggles in the group. */\n get selected() {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n return this.multiple ? selected : selected[0] || null;\n }\n /** Whether multiple button toggles can be selected. */\n get multiple() {\n return this._multiple;\n }\n set multiple(value) {\n this._multiple = coerceBooleanProperty(value);\n this._markButtonsForCheck();\n }\n /** Whether multiple button toggle group is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._markButtonsForCheck();\n }\n ngOnInit() {\n this._selectionModel = new SelectionModel(this.multiple, undefined, false);\n }\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent(toggle) {\n const event = new MatButtonToggleChange(toggle, this.value);\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n * @param deferEvents Whether to defer emitting the change events.\n */\n _syncButtonToggle(toggle, select, isUserInput = false, deferEvents = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n this.selected.checked = false;\n }\n if (this._selectionModel) {\n if (select) {\n this._selectionModel.select(toggle);\n }\n else {\n this._selectionModel.deselect(toggle);\n }\n }\n else {\n deferEvents = true;\n }\n // We need to defer in some cases in order to avoid \"changed after checked errors\", however\n // the side-effect is that we may end up updating the model value out of sequence in others\n // The `deferEvents` flag allows us to decide whether to do it on a case-by-case basis.\n if (deferEvents) {\n Promise.resolve().then(() => this._updateModelValue(toggle, isUserInput));\n }\n else {\n this._updateModelValue(toggle, isUserInput);\n }\n }\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle) {\n return this._selectionModel && this._selectionModel.isSelected(toggle);\n }\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n return toggle.value === this._rawValue;\n }\n /** Updates the selection state of the toggles in the group based on a value. */\n _setSelectionByValue(value) {\n this._rawValue = value;\n if (!this._buttonToggles) {\n return;\n }\n if (this.multiple && value) {\n if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n this._clearSelection();\n value.forEach((currentValue) => this._selectValue(currentValue));\n }\n else {\n this._clearSelection();\n this._selectValue(value);\n }\n }\n /** Clears the selected toggles. */\n _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => (toggle.checked = false));\n }\n /** Selects a value if there's a toggle that corresponds to it. */\n _selectValue(value) {\n const correspondingOption = this._buttonToggles.find(toggle => {\n return toggle.value != null && toggle.value === value;\n });\n if (correspondingOption) {\n correspondingOption.checked = true;\n this._selectionModel.select(correspondingOption);\n }\n }\n /** Syncs up the group's value with the model and emits the change event. */\n _updateModelValue(toggle, isUserInput) {\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent(toggle);\n }\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n /** Marks all of the child button toggles to be checked. */\n _markButtonsForCheck() {\n this._buttonToggles?.forEach(toggle => toggle._markForCheck());\n }\n}\nMatButtonToggleGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nMatButtonToggleGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatButtonToggleGroup, selector: \"mat-button-toggle-group\", inputs: { appearance: \"appearance\", name: \"name\", vertical: \"vertical\", value: \"value\", multiple: \"multiple\", disabled: \"disabled\" }, outputs: { valueChange: \"valueChange\", change: \"change\" }, host: { attributes: { \"role\": \"group\" }, properties: { \"attr.aria-disabled\": \"disabled\", \"class.mat-button-toggle-vertical\": \"vertical\", \"class.mat-button-toggle-group-appearance-standard\": \"appearance === \\\"standard\\\"\" }, classAttribute: \"mat-button-toggle-group\" }, providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n { provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup },\n ], queries: [{ propertyName: \"_buttonToggles\", predicate: i0.forwardRef(function () { return MatButtonToggle; }), descendants: true }], exportAs: [\"matButtonToggleGroup\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleGroup, decorators: [{\n type: Directive,\n args: [{\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n { provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup },\n ],\n host: {\n 'role': 'group',\n 'class': 'mat-button-toggle-group',\n '[attr.aria-disabled]': 'disabled',\n '[class.mat-button-toggle-vertical]': 'vertical',\n '[class.mat-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\n },\n exportAs: 'matButtonToggleGroup',\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]\n }] }]; }, propDecorators: { _buttonToggles: [{\n type: ContentChildren,\n args: [forwardRef(() => MatButtonToggle), {\n // Note that this would technically pick up toggles\n // from nested groups, but that's not a case that we support.\n descendants: true,\n }]\n }], appearance: [{\n type: Input\n }], name: [{\n type: Input\n }], vertical: [{\n type: Input\n }], value: [{\n type: Input\n }], valueChange: [{\n type: Output\n }], multiple: [{\n type: Input\n }], disabled: [{\n type: Input\n }], change: [{\n type: Output\n }] } });\n// Boilerplate for applying mixins to the MatButtonToggle class.\n/** @docs-private */\nconst _MatButtonToggleBase = mixinDisableRipple(class {\n});\n/** Single button inside of a toggle group. */\nclass MatButtonToggle extends _MatButtonToggleBase {\n constructor(toggleGroup, _changeDetectorRef, _elementRef, _focusMonitor, defaultTabIndex, defaultOptions) {\n super();\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this._checked = false;\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n this.ariaLabelledby = null;\n this._disabled = false;\n /** Event emitted when the group value changes. */\n this.change = new EventEmitter();\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = parsedTabIndex || parsedTabIndex === 0 ? parsedTabIndex : null;\n this.buttonToggleGroup = toggleGroup;\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n }\n /** Unique ID for the underlying `button` element. */\n get buttonId() {\n return `${this.id}-button`;\n }\n /** The appearance style of the button. */\n get appearance() {\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\n }\n set appearance(value) {\n this._appearance = value;\n }\n /** Whether the button is checked. */\n get checked() {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._checked) {\n this._checked = newValue;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the button is disabled. */\n get disabled() {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n ngOnInit() {\n const group = this.buttonToggleGroup;\n this.id = this.id || `mat-button-toggle-${uniqueIdCounter++}`;\n if (group) {\n if (group._isPrechecked(this)) {\n this.checked = true;\n }\n else if (group._isSelected(this) !== this._checked) {\n // As as side effect of the circular dependency between the toggle group and the button,\n // we may end up in a state where the button is supposed to be checked on init, but it\n // isn't, because the checked value was assigned too early. This can happen when Ivy\n // assigns the static input value before the `ngOnInit` has run.\n group._syncButtonToggle(this, this._checked);\n }\n }\n }\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n this._focusMonitor.stopMonitoring(this._elementRef);\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group._isSelected(this)) {\n group._syncButtonToggle(this, false, false, true);\n }\n }\n /** Focuses the button. */\n focus(options) {\n this._buttonElement.nativeElement.focus(options);\n }\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n const newChecked = this._isSingleSelector() ? true : !this._checked;\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n /** Gets the name that should be assigned to the inner DOM node. */\n _getButtonName() {\n if (this._isSingleSelector()) {\n return this.buttonToggleGroup.name;\n }\n return this.name || null;\n }\n /** Whether the toggle is in single selection mode. */\n _isSingleSelector() {\n return this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n }\n}\nMatButtonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggle, deps: [{ token: MAT_BUTTON_TOGGLE_GROUP, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: 'tabindex', attribute: true }, { token: MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nMatButtonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatButtonToggle, selector: \"mat-button-toggle\", inputs: { disableRipple: \"disableRipple\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], id: \"id\", name: \"name\", value: \"value\", tabIndex: \"tabIndex\", appearance: \"appearance\", checked: \"checked\", disabled: \"disabled\" }, outputs: { change: \"change\" }, host: { attributes: { \"role\": \"presentation\" }, listeners: { \"focus\": \"focus()\" }, properties: { \"class.mat-button-toggle-standalone\": \"!buttonToggleGroup\", \"class.mat-button-toggle-checked\": \"checked\", \"class.mat-button-toggle-disabled\": \"disabled\", \"class.mat-button-toggle-appearance-standard\": \"appearance === \\\"standard\\\"\", \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.id\": \"id\", \"attr.name\": \"null\" }, classAttribute: \"mat-button-toggle\" }, viewQueries: [{ propertyName: \"_buttonElement\", first: true, predicate: [\"button\"], descendants: true }], exportAs: [\"matButtonToggle\"], usesInheritance: true, ngImport: i0, template: \"\\n\\n\\n\\n\\n\", styles: [\".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}\"], dependencies: [{ kind: \"directive\", type: i2.MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggle, decorators: [{\n type: Component,\n args: [{ selector: 'mat-button-toggle', encapsulation: ViewEncapsulation.None, exportAs: 'matButtonToggle', changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disableRipple'], host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n '[class.mat-button-toggle-appearance-standard]': 'appearance === \"standard\"',\n 'class': 'mat-button-toggle',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.id]': 'id',\n '[attr.name]': 'null',\n '(focus)': 'focus()',\n 'role': 'presentation',\n }, template: \"\\n\\n\\n\\n\\n\", styles: [\".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;border-radius:2px;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:4px}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:1}.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{opacity:.04}.mat-button-toggle-appearance-standard.cdk-keyboard-focused:not(.mat-button-toggle-disabled) .mat-button-toggle-focus-overlay{opacity:.12}@media(hover: none){.mat-button-toggle-appearance-standard:not(.mat-button-toggle-disabled):hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;line-height:36px;padding:0 16px;position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 36px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}\"] }]\n }], ctorParameters: function () { return [{ type: MatButtonToggleGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_GROUP]\n }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]\n }] }]; }, propDecorators: { ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], _buttonElement: [{\n type: ViewChild,\n args: ['button']\n }], id: [{\n type: Input\n }], name: [{\n type: Input\n }], value: [{\n type: Input\n }], tabIndex: [{\n type: Input\n }], appearance: [{\n type: Input\n }], checked: [{\n type: Input\n }], disabled: [{\n type: Input\n }], change: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatButtonToggleModule {\n}\nMatButtonToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatButtonToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleModule, declarations: [MatButtonToggleGroup, MatButtonToggle], imports: [MatCommonModule, MatRippleModule], exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle] });\nMatButtonToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleModule, imports: [MatCommonModule, MatRippleModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatButtonToggleModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatCommonModule, MatRippleModule],\n exports: [MatCommonModule, MatButtonToggleGroup, MatButtonToggle],\n declarations: [MatButtonToggleGroup, MatButtonToggle],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS, MAT_BUTTON_TOGGLE_GROUP, MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR, MatButtonToggle, MatButtonToggleChange, MatButtonToggleGroup, MatButtonToggleModule };\n","import * as i3 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Attribute, Inject, Input, Output, ViewChild, NgModule } from '@angular/core';\nimport { mixinTabIndex, mixinColor, mixinDisabled, MatCommonModule } from '@angular/material/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport * as i2 from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW, HOME, END, PAGE_DOWN, PAGE_UP } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst activeEventOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nconst MAT_SLIDER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlider),\n multi: true,\n};\n/** A simple change event emitted by the MatSlider component. */\nclass MatSliderChange {\n}\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nconst _MatSliderBase = mixinTabIndex(mixinColor(mixinDisabled(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}), 'accent'));\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `` element.\n */\nclass MatSlider extends _MatSliderBase {\n constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex, _ngZone, _document, _animationMode) {\n super(elementRef);\n this._focusMonitor = _focusMonitor;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._ngZone = _ngZone;\n this._animationMode = _animationMode;\n this._invert = false;\n this._max = 100;\n this._min = 0;\n this._step = 1;\n this._thumbLabel = false;\n this._tickInterval = 0;\n this._value = null;\n this._vertical = false;\n /** Event emitted when the slider value has changed. */\n this.change = new EventEmitter();\n /** Event emitted when the slider thumb moves. */\n this.input = new EventEmitter();\n /**\n * Emits when the raw value of the slider changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n this.valueChange = new EventEmitter();\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n this.onTouched = () => { };\n this._percent = 0;\n /**\n * Whether or not the thumb is sliding and what the user is using to slide it with.\n * Used to determine if there should be a transition for the thumb and fill track.\n */\n this._isSliding = null;\n /**\n * Whether or not the slider is active (clicked or sliding).\n * Used to shrink and grow the thumb as according to the Material Design spec.\n */\n this._isActive = false;\n /** The size of a tick interval as a percentage of the size of the track. */\n this._tickIntervalPercent = 0;\n /** The dimensions of the slider. */\n this._sliderDimensions = null;\n this._controlValueAccessorChangeFn = () => { };\n /** Subscription to the Directionality change EventEmitter. */\n this._dirChangeSubscription = Subscription.EMPTY;\n /** Called when the user has put their pointer down on the slider. */\n this._pointerDown = (event) => {\n // Don't do anything if the slider is disabled or the\n // user is using anything other than the main mouse button.\n if (this.disabled || this._isSliding || (!isTouchEvent(event) && event.button !== 0)) {\n return;\n }\n this._ngZone.run(() => {\n this._touchId = isTouchEvent(event)\n ? getTouchIdForSlider(event, this._elementRef.nativeElement)\n : undefined;\n const pointerPosition = getPointerPositionOnPage(event, this._touchId);\n if (pointerPosition) {\n const oldValue = this.value;\n this._isSliding = 'pointer';\n this._lastPointerEvent = event;\n this._focusHostElement();\n this._onMouseenter(); // Simulate mouseenter in case this is a mobile device.\n this._bindGlobalEvents(event);\n this._focusHostElement();\n this._updateValueFromPosition(pointerPosition);\n this._valueOnSlideStart = oldValue;\n // Despite the fact that we explicitly bind active events, in some cases the browser\n // still dispatches non-cancelable events which cause this call to throw an error.\n // There doesn't appear to be a good way of avoiding them. See #23820.\n if (event.cancelable) {\n event.preventDefault();\n }\n // Emit a change and input event if the value changed.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n });\n };\n /**\n * Called when the user has moved their pointer after\n * starting to drag. Bound on the document level.\n */\n this._pointerMove = (event) => {\n if (this._isSliding === 'pointer') {\n const pointerPosition = getPointerPositionOnPage(event, this._touchId);\n if (pointerPosition) {\n // Prevent the slide from selecting anything else.\n if (event.cancelable) {\n event.preventDefault();\n }\n const oldValue = this.value;\n this._lastPointerEvent = event;\n this._updateValueFromPosition(pointerPosition);\n // Native range elements always emit `input` events when the value changed while sliding.\n if (oldValue != this.value) {\n this._emitInputEvent();\n }\n }\n }\n };\n /** Called when the user has lifted their pointer. Bound on the document level. */\n this._pointerUp = (event) => {\n if (this._isSliding === 'pointer') {\n if (!isTouchEvent(event) ||\n typeof this._touchId !== 'number' ||\n // Note that we use `changedTouches`, rather than `touches` because it\n // seems like in most cases `touches` is empty for `touchend` events.\n findMatchingTouch(event.changedTouches, this._touchId)) {\n if (event.cancelable) {\n event.preventDefault();\n }\n this._removeGlobalEvents();\n this._isSliding = null;\n this._touchId = undefined;\n if (this._valueOnSlideStart != this.value && !this.disabled) {\n this._emitChangeEvent();\n }\n this._valueOnSlideStart = this._lastPointerEvent = null;\n }\n }\n };\n /** Called when the window has lost focus. */\n this._windowBlur = () => {\n // If the window is blurred while dragging we need to stop dragging because the\n // browser won't dispatch the `mouseup` and `touchend` events anymore.\n if (this._lastPointerEvent) {\n this._pointerUp(this._lastPointerEvent);\n }\n };\n this._document = _document;\n this.tabIndex = parseInt(tabIndex) || 0;\n _ngZone.runOutsideAngular(() => {\n const element = elementRef.nativeElement;\n element.addEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.addEventListener('touchstart', this._pointerDown, activeEventOptions);\n });\n }\n /** Whether the slider is inverted. */\n get invert() {\n return this._invert;\n }\n set invert(value) {\n this._invert = coerceBooleanProperty(value);\n }\n /** The maximum value that the slider can have. */\n get max() {\n return this._max;\n }\n set max(v) {\n this._max = coerceNumberProperty(v, this._max);\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The minimum value that the slider can have. */\n get min() {\n return this._min;\n }\n set min(v) {\n this._min = coerceNumberProperty(v, this._min);\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n /** The values at which the thumb will snap. */\n get step() {\n return this._step;\n }\n set step(v) {\n this._step = coerceNumberProperty(v, this._step);\n if (this._step % 1 !== 0) {\n this._roundToDecimal = this._step.toString().split('.').pop().length;\n }\n // Since this could modify the label, we need to notify the change detection.\n this._changeDetectorRef.markForCheck();\n }\n /** Whether or not to show the thumb label. */\n get thumbLabel() {\n return this._thumbLabel;\n }\n set thumbLabel(value) {\n this._thumbLabel = coerceBooleanProperty(value);\n }\n /**\n * How often to show ticks. Relative to the step so that a tick always appears on a step.\n * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n */\n get tickInterval() {\n return this._tickInterval;\n }\n set tickInterval(value) {\n if (value === 'auto') {\n this._tickInterval = 'auto';\n }\n else if (typeof value === 'number' || typeof value === 'string') {\n this._tickInterval = coerceNumberProperty(value, this._tickInterval);\n }\n else {\n this._tickInterval = 0;\n }\n }\n /** Value of the slider. */\n get value() {\n // If the value needs to be read and it is still uninitialized, initialize it to the min.\n if (this._value === null) {\n this.value = this._min;\n }\n return this._value;\n }\n set value(v) {\n if (v !== this._value) {\n let value = coerceNumberProperty(v, 0);\n // While incrementing by a decimal we can end up with values like 33.300000000000004.\n // Truncate it to ensure that it matches the label and to make it easier to work with.\n if (this._roundToDecimal && value !== this.min && value !== this.max) {\n value = parseFloat(value.toFixed(this._roundToDecimal));\n }\n this._value = value;\n this._percent = this._calculatePercentage(this._value);\n // Since this also modifies the percentage, we need to let the change detection know.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the slider is vertical. */\n get vertical() {\n return this._vertical;\n }\n set vertical(value) {\n this._vertical = coerceBooleanProperty(value);\n }\n /** The value to be used for display purposes. */\n get displayValue() {\n if (this.displayWith) {\n // Value is never null but since setters and getters cannot have\n // different types, the value getter is also typed to return null.\n return this.displayWith(this.value);\n }\n // Note that this could be improved further by rounding something like 0.999 to 1 or\n // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n // every change detection cycle.\n if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n return this.value.toFixed(this._roundToDecimal);\n }\n return this.value || 0;\n }\n /** set focus to the host element */\n focus(options) {\n this._focusHostElement(options);\n }\n /** blur the host element */\n blur() {\n this._blurHostElement();\n }\n /** The percentage of the slider that coincides with the value. */\n get percent() {\n return this._clamp(this._percent);\n }\n /**\n * Whether the axis of the slider is inverted.\n * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n */\n _shouldInvertAxis() {\n // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n // top. However from a y-axis standpoint this is inverted.\n return this.vertical ? !this.invert : this.invert;\n }\n /** Whether the slider is at its minimum value. */\n _isMinValue() {\n return this.percent === 0;\n }\n /**\n * The amount of space to leave between the slider thumb and the track fill & track background\n * elements.\n */\n _getThumbGap() {\n if (this.disabled) {\n return DISABLED_THUMB_GAP;\n }\n if (this._isMinValue() && !this.thumbLabel) {\n return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n }\n return 0;\n }\n /** CSS styles for the track background element. */\n _getTrackBackgroundStyles() {\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '-' : '';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`,\n };\n }\n /** CSS styles for the track fill element. */\n _getTrackFillStyles() {\n const percent = this.percent;\n const axis = this.vertical ? 'Y' : 'X';\n const scale = this.vertical ? `1, ${percent}, 1` : `${percent}, 1, 1`;\n const sign = this._shouldInvertMouseCoords() ? '' : '-';\n return {\n // scale3d avoids some rendering issues in Chrome. See #12071.\n transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`,\n // iOS Safari has a bug where it won't re-render elements which start of as `scale(0)` until\n // something forces a style recalculation on it. Since we'll end up with `scale(0)` when\n // the value of the slider is 0, we can easily get into this situation. We force a\n // recalculation by changing the element's `display` when it goes from 0 to any other value.\n display: percent === 0 ? 'none' : '',\n };\n }\n /** CSS styles for the ticks container element. */\n _getTicksContainerStyles() {\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the ticks container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n let offset = (this._tickIntervalPercent / 2) * 100;\n return {\n 'transform': `translate${axis}(${sign}${offset}%)`,\n };\n }\n /** CSS styles for the ticks element. */\n _getTicksStyles() {\n let tickSize = this._tickIntervalPercent * 100;\n let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n let axis = this.vertical ? 'Y' : 'X';\n // Depending on the direction we pushed the ticks container, push the ticks the opposite\n // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n let styles = {\n 'backgroundSize': backgroundSize,\n // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n 'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`,\n };\n if (this._isMinValue() && this._getThumbGap()) {\n const shouldInvertAxis = this._shouldInvertAxis();\n let side;\n if (this.vertical) {\n side = shouldInvertAxis ? 'Bottom' : 'Top';\n }\n else {\n side = shouldInvertAxis ? 'Right' : 'Left';\n }\n styles[`padding${side}`] = `${this._getThumbGap()}px`;\n }\n return styles;\n }\n _getThumbContainerStyles() {\n const shouldInvertAxis = this._shouldInvertAxis();\n let axis = this.vertical ? 'Y' : 'X';\n // For a horizontal slider in RTL languages we push the thumb container off the left edge\n // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n let invertOffset = this._getDirection() == 'rtl' && !this.vertical ? !shouldInvertAxis : shouldInvertAxis;\n let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n return {\n 'transform': `translate${axis}(-${offset}%)`,\n };\n }\n /**\n * Whether mouse events should be converted to a slider position by calculating their distance\n * from the right or bottom edge of the slider as opposed to the top or left.\n */\n _shouldInvertMouseCoords() {\n const shouldInvertAxis = this._shouldInvertAxis();\n return this._getDirection() == 'rtl' && !this.vertical ? !shouldInvertAxis : shouldInvertAxis;\n }\n /** The language direction for this slider element. */\n _getDirection() {\n return this._dir && this._dir.value == 'rtl' ? 'rtl' : 'ltr';\n }\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true).subscribe((origin) => {\n this._isActive = !!origin && origin !== 'keyboard';\n this._changeDetectorRef.detectChanges();\n });\n if (this._dir) {\n this._dirChangeSubscription = this._dir.change.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n const element = this._elementRef.nativeElement;\n element.removeEventListener('mousedown', this._pointerDown, activeEventOptions);\n element.removeEventListener('touchstart', this._pointerDown, activeEventOptions);\n this._lastPointerEvent = null;\n this._removeGlobalEvents();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._dirChangeSubscription.unsubscribe();\n }\n _onMouseenter() {\n if (this.disabled) {\n return;\n }\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onFocus() {\n // We save the dimensions of the slider here so we can use them to update the spacing of the\n // ticks and determine where on the slider click and slide events happen.\n this._sliderDimensions = this._getSliderDimensions();\n this._updateTickIntervalPercent();\n }\n _onBlur() {\n this.onTouched();\n }\n _onKeydown(event) {\n if (this.disabled ||\n hasModifierKey(event) ||\n (this._isSliding && this._isSliding !== 'keyboard')) {\n return;\n }\n const oldValue = this.value;\n switch (event.keyCode) {\n case PAGE_UP:\n this._increment(10);\n break;\n case PAGE_DOWN:\n this._increment(-10);\n break;\n case END:\n this.value = this.max;\n break;\n case HOME:\n this.value = this.min;\n break;\n case LEFT_ARROW:\n // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n // inverted slider the thumb moves in that direction. However for a blind user, nothing\n // about the slider indicates that it is inverted. They will expect left to be decrement,\n // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n // sighted users, therefore we do not swap the meaning.\n this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n break;\n case UP_ARROW:\n this._increment(1);\n break;\n case RIGHT_ARROW:\n // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n break;\n case DOWN_ARROW:\n this._increment(-1);\n break;\n default:\n // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n // it.\n return;\n }\n if (oldValue != this.value) {\n this._emitInputEvent();\n this._emitChangeEvent();\n }\n this._isSliding = 'keyboard';\n event.preventDefault();\n }\n _onKeyup() {\n if (this._isSliding === 'keyboard') {\n this._isSliding = null;\n }\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /**\n * Binds our global move and end events. They're bound at the document level and only while\n * dragging so that the user doesn't have to keep their pointer exactly over the slider\n * as they're swiping across the screen.\n */\n _bindGlobalEvents(triggerEvent) {\n // Note that we bind the events to the `document`, because it allows us to capture\n // drag cancel events where the user's pointer is outside the browser window.\n const document = this._document;\n const isTouch = isTouchEvent(triggerEvent);\n const moveEventName = isTouch ? 'touchmove' : 'mousemove';\n const endEventName = isTouch ? 'touchend' : 'mouseup';\n document.addEventListener(moveEventName, this._pointerMove, activeEventOptions);\n document.addEventListener(endEventName, this._pointerUp, activeEventOptions);\n if (isTouch) {\n document.addEventListener('touchcancel', this._pointerUp, activeEventOptions);\n }\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.addEventListener('blur', this._windowBlur);\n }\n }\n /** Removes any global event listeners that we may have added. */\n _removeGlobalEvents() {\n const document = this._document;\n document.removeEventListener('mousemove', this._pointerMove, activeEventOptions);\n document.removeEventListener('mouseup', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchmove', this._pointerMove, activeEventOptions);\n document.removeEventListener('touchend', this._pointerUp, activeEventOptions);\n document.removeEventListener('touchcancel', this._pointerUp, activeEventOptions);\n const window = this._getWindow();\n if (typeof window !== 'undefined' && window) {\n window.removeEventListener('blur', this._windowBlur);\n }\n }\n /** Increments the slider by the given number of steps (negative number decrements). */\n _increment(numSteps) {\n // Pre-clamp the current value since it's allowed to be\n // out of bounds when assigned programmatically.\n const clampedValue = this._clamp(this.value || 0, this.min, this.max);\n this.value = this._clamp(clampedValue + this.step * numSteps, this.min, this.max);\n }\n /** Calculate the new value from the new physical location. The value will always be snapped. */\n _updateValueFromPosition(pos) {\n if (!this._sliderDimensions) {\n return;\n }\n let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let posComponent = this.vertical ? pos.y : pos.x;\n // The exact value is calculated from the event and used to find the closest snap value.\n let percent = this._clamp((posComponent - offset) / size);\n if (this._shouldInvertMouseCoords()) {\n percent = 1 - percent;\n }\n // Since the steps may not divide cleanly into the max value, if the user\n // slid to 0 or 100 percent, we jump to the min/max value. This approach\n // is slightly more intuitive than using `Math.ceil` below, because it\n // follows the user's pointer closer.\n if (percent === 0) {\n this.value = this.min;\n }\n else if (percent === 1) {\n this.value = this.max;\n }\n else {\n const exactValue = this._calculateValue(percent);\n // This calculation finds the closest step by finding the closest\n // whole number divisible by the step relative to the min.\n const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n // The value needs to snap to the min and max.\n this.value = this._clamp(closestValue, this.min, this.max);\n }\n }\n /** Emits a change event if the current value is different from the last emitted value. */\n _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.value);\n this.valueChange.emit(this.value);\n this.change.emit(this._createChangeEvent());\n }\n /** Emits an input event when the current value is different from the last emitted value. */\n _emitInputEvent() {\n this.input.emit(this._createChangeEvent());\n }\n /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n _updateTickIntervalPercent() {\n if (!this.tickInterval || !this._sliderDimensions) {\n return;\n }\n let tickIntervalPercent;\n if (this.tickInterval == 'auto') {\n let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n let pixelsPerStep = (trackSize * this.step) / (this.max - this.min);\n let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n let pixelsPerTick = stepsPerTick * this.step;\n tickIntervalPercent = pixelsPerTick / trackSize;\n }\n else {\n tickIntervalPercent = (this.tickInterval * this.step) / (this.max - this.min);\n }\n this._tickIntervalPercent = isSafeNumber(tickIntervalPercent) ? tickIntervalPercent : 0;\n }\n /** Creates a slider change object from the specified value. */\n _createChangeEvent(value = this.value) {\n let event = new MatSliderChange();\n event.source = this;\n event.value = value;\n return event;\n }\n /** Calculates the percentage of the slider that a value is. */\n _calculatePercentage(value) {\n const percentage = ((value || 0) - this.min) / (this.max - this.min);\n return isSafeNumber(percentage) ? percentage : 0;\n }\n /** Calculates the value a percentage of the slider corresponds to. */\n _calculateValue(percentage) {\n return this.min + percentage * (this.max - this.min);\n }\n /** Return a number between two numbers. */\n _clamp(value, min = 0, max = 1) {\n return Math.max(min, Math.min(value, max));\n }\n /**\n * Get the bounding client rect of the slider track element.\n * The track is used rather than the native element to ignore the extra space that the thumb can\n * take up.\n */\n _getSliderDimensions() {\n return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n }\n /**\n * Focuses the native element.\n * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n */\n _focusHostElement(options) {\n this._elementRef.nativeElement.focus(options);\n }\n /** Blurs the native element. */\n _blurHostElement() {\n this._elementRef.nativeElement.blur();\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n }\n /**\n * Registers a callback to be triggered when the value has changed.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the component is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets whether the component should be disabled.\n * Implemented as part of ControlValueAccessor.\n * @param isDisabled\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n}\nMatSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSlider, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i2.Directionality, optional: true }, { token: 'tabindex', attribute: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nMatSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatSlider, selector: \"mat-slider\", inputs: { disabled: \"disabled\", color: \"color\", tabIndex: \"tabIndex\", invert: \"invert\", max: \"max\", min: \"min\", step: \"step\", thumbLabel: \"thumbLabel\", tickInterval: \"tickInterval\", value: \"value\", displayWith: \"displayWith\", valueText: \"valueText\", vertical: \"vertical\" }, outputs: { change: \"change\", input: \"input\", valueChange: \"valueChange\" }, host: { attributes: { \"role\": \"slider\" }, listeners: { \"focus\": \"_onFocus()\", \"blur\": \"_onBlur()\", \"keydown\": \"_onKeydown($event)\", \"keyup\": \"_onKeyup()\", \"mouseenter\": \"_onMouseenter()\", \"selectstart\": \"$event.preventDefault()\" }, properties: { \"tabIndex\": \"tabIndex\", \"attr.aria-disabled\": \"disabled\", \"attr.aria-valuemax\": \"max\", \"attr.aria-valuemin\": \"min\", \"attr.aria-valuenow\": \"value\", \"attr.aria-valuetext\": \"valueText == null ? displayValue : valueText\", \"attr.aria-orientation\": \"vertical ? \\\"vertical\\\" : \\\"horizontal\\\"\", \"class.mat-slider-disabled\": \"disabled\", \"class.mat-slider-has-ticks\": \"tickInterval\", \"class.mat-slider-horizontal\": \"!vertical\", \"class.mat-slider-axis-inverted\": \"_shouldInvertAxis()\", \"class.mat-slider-invert-mouse-coords\": \"_shouldInvertMouseCoords()\", \"class.mat-slider-sliding\": \"_isSliding\", \"class.mat-slider-thumb-label-showing\": \"thumbLabel\", \"class.mat-slider-vertical\": \"vertical\", \"class.mat-slider-min-value\": \"_isMinValue()\", \"class.mat-slider-hide-last-tick\": \"disabled || _isMinValue() && _getThumbGap() && _shouldInvertAxis()\", \"class._mat-animation-noopable\": \"_animationMode === \\\"NoopAnimations\\\"\" }, classAttribute: \"mat-slider mat-focus-indicator\" }, providers: [MAT_SLIDER_VALUE_ACCESSOR], viewQueries: [{ propertyName: \"_sliderWrapper\", first: true, predicate: [\"sliderWrapper\"], descendants: true }], exportAs: [\"matSlider\"], usesInheritance: true, ngImport: i0, template: \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{displayValue}}\\n
\\n
\\n
\\n\", styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid rgba(0,0,0,0);border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\"], dependencies: [{ kind: \"directive\", type: i3.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSlider, decorators: [{\n type: Component,\n args: [{ selector: 'mat-slider', exportAs: 'matSlider', providers: [MAT_SLIDER_VALUE_ACCESSOR], host: {\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n '(keydown)': '_onKeydown($event)',\n '(keyup)': '_onKeyup()',\n '(mouseenter)': '_onMouseenter()',\n // On Safari starting to slide temporarily triggers text selection mode which\n // show the wrong cursor. We prevent it by stopping the `selectstart` event.\n '(selectstart)': '$event.preventDefault()',\n 'class': 'mat-slider mat-focus-indicator',\n 'role': 'slider',\n '[tabIndex]': 'tabIndex',\n '[attr.aria-disabled]': 'disabled',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuenow]': 'value',\n // NVDA and Jaws appear to announce the `aria-valuenow` by calculating its percentage based\n // on its value between `aria-valuemin` and `aria-valuemax`. Due to how decimals are handled,\n // it can cause the slider to read out a very long value like 0.20000068 if the current value\n // is 0.2 with a min of 0 and max of 1. We work around the issue by setting `aria-valuetext`\n // to the same value that we set on the slider's thumb which will be truncated.\n '[attr.aria-valuetext]': 'valueText == null ? displayValue : valueText',\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n '[class.mat-slider-disabled]': 'disabled',\n '[class.mat-slider-has-ticks]': 'tickInterval',\n '[class.mat-slider-horizontal]': '!vertical',\n '[class.mat-slider-axis-inverted]': '_shouldInvertAxis()',\n // Class binding which is only used by the test harness as there is no other\n // way for the harness to detect if mouse coordinates need to be inverted.\n '[class.mat-slider-invert-mouse-coords]': '_shouldInvertMouseCoords()',\n '[class.mat-slider-sliding]': '_isSliding',\n '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n '[class.mat-slider-vertical]': 'vertical',\n '[class.mat-slider-min-value]': '_isMinValue()',\n '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue() && _getThumbGap() && _shouldInvertAxis()',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n }, inputs: ['disabled', 'color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{displayValue}}\\n
\\n
\\n
\\n\", styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:grabbing}.mat-slider-wrapper{-webkit-print-color-adjust:exact;color-adjust:exact;position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{-webkit-background-clip:content-box;background-clip:content-box;background-repeat:repeat;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid rgba(0,0,0,0);border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, propDecorators: { invert: [{\n type: Input\n }], max: [{\n type: Input\n }], min: [{\n type: Input\n }], step: [{\n type: Input\n }], thumbLabel: [{\n type: Input\n }], tickInterval: [{\n type: Input\n }], value: [{\n type: Input\n }], displayWith: [{\n type: Input\n }], valueText: [{\n type: Input\n }], vertical: [{\n type: Input\n }], change: [{\n type: Output\n }], input: [{\n type: Output\n }], valueChange: [{\n type: Output\n }], _sliderWrapper: [{\n type: ViewChild,\n args: ['sliderWrapper']\n }] } });\n/** Checks if number is safe for calculation */\nfunction isSafeNumber(value) {\n return !isNaN(value) && isFinite(value);\n}\n/** Returns whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/** Gets the coordinates of a touch or mouse event relative to the viewport. */\nfunction getPointerPositionOnPage(event, id) {\n let point;\n if (isTouchEvent(event)) {\n // The `identifier` could be undefined if the browser doesn't support `TouchEvent.identifier`.\n // If that's the case, attribute the first touch to all active sliders. This should still cover\n // the most common case while only breaking multi-touch.\n if (typeof id === 'number') {\n point = findMatchingTouch(event.touches, id) || findMatchingTouch(event.changedTouches, id);\n }\n else {\n // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n point = event.touches[0] || event.changedTouches[0];\n }\n }\n else {\n point = event;\n }\n return point ? { x: point.clientX, y: point.clientY } : undefined;\n}\n/** Finds a `Touch` with a specific ID in a `TouchList`. */\nfunction findMatchingTouch(touches, id) {\n for (let i = 0; i < touches.length; i++) {\n if (touches[i].identifier === id) {\n return touches[i];\n }\n }\n return undefined;\n}\n/** Gets the unique ID of a touch that matches a specific slider. */\nfunction getTouchIdForSlider(event, sliderHost) {\n for (let i = 0; i < event.touches.length; i++) {\n const target = event.touches[i].target;\n if (sliderHost === target || sliderHost.contains(target)) {\n return event.touches[i].identifier;\n }\n }\n return undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSliderModule {\n}\nMatSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSliderModule, declarations: [MatSlider], imports: [CommonModule, MatCommonModule], exports: [MatSlider, MatCommonModule] });\nMatSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSliderModule, imports: [CommonModule, MatCommonModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatSliderModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, MatCommonModule],\n exports: [MatSlider, MatCommonModule],\n declarations: [MatSlider],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_SLIDER_VALUE_ACCESSOR, MatSlider, MatSliderChange, MatSliderModule };\n","import { OverlayContainer } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Directive, Inject, OnDestroy } from '@angular/core';\n\n@Directive()\nexport class ThemeOverlay extends OverlayContainer implements OnDestroy {\n\n constructor(@Inject(DOCUMENT) document: Document, _platform: Platform) {\n super(document, _platform);\n }\n\n protected _createContainer(): void {\n super._createContainer();\n if (!this._containerElement) { return; }\n const parent = document.querySelector('#rtl-container') || document.body;\n parent.appendChild(this._containerElement);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n}\n","import { NgModule, Injectable, Inject, Optional } from '@angular/core';\nimport { CommonModule, DecimalPipe, TitleCasePipe, DatePipe } from '@angular/common';\n\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { MatNativeDateModule, DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, NativeDateAdapter, MatDateFormats } from '@angular/material/core';\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\nimport { MatChipsModule } from '@angular/material/chips';\n\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\nimport { QrCodeModule } from 'ng-qrcode';\nimport { PerfectScrollbarModule, PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar-next';\n\nimport { ThemeOverlay } from './theme/overlay-container/theme-overlay';\nimport { OverlayContainer } from '@angular/cdk/overlay';\nimport { LoggerService, ConsoleLoggerService } from './services/logger.service';\nimport { MONTHS } from './services/consts-enums-functions';\n\nimport { NotFoundComponent } from './components/not-found/not-found.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { HelpComponent } from './components/help/help.component';\nimport { SideNavigationComponent } from './components/navigation/side-navigation/side-navigation.component';\nimport { TopMenuComponent } from './components/navigation/top-menu/top-menu.component';\nimport { SettingsComponent } from './components/settings/settings.component';\nimport { BitcoinConfigComponent } from './components/settings/bitcoin-config/bitcoin-config.component';\nimport { AuthSettingsComponent } from './components/settings/auth-settings/auth-settings.component';\nimport { AppSettingsComponent } from './components/settings/app-settings/app-settings.component';\nimport { NodeConfigComponent } from './components/node-config/node-config.component';\nimport { LNPConfigComponent } from './components/node-config/lnp-config/lnp-config.component';\nimport { NodeSettingsComponent } from './components/node-config/node-settings/node-settings.component';\nimport { PageSettingsComponent } from './components/node-config/page-settings/page-settings.component';\nimport { ServicesSettingsComponent } from './components/node-config/services-settings/services-settings.component';\nimport { LoopServiceSettingsComponent } from './components/node-config/services-settings/loop-service-settings/loop-service-settings.component';\nimport { BoltzServiceSettingsComponent } from './components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component';\nimport { PeerswapServiceSettingsComponent } from './components/node-config/services-settings/peerswap-service-settings/peerswap-service-settings.component';\nimport { ExperimentalSettingsComponent } from './components/node-config/experimental-settings/experimental-settings.component';\nimport { ErrorComponent } from './components/error/error.component';\nimport { CurrencyUnitConverterComponent } from './components/currency-unit-converter/currency-unit-converter.component';\nimport { HorizontalScrollerComponent } from './components/horizontal-scroller/horizontal-scroller.component';\nimport { TransactionsReportTableComponent } from './components/transactions-report-table/transactions-report-table.component';\nimport { ShowPubkeyComponent } from './components/data-modal/show-pubkey/show-pubkey.component';\nimport { OnChainGeneratedAddressComponent } from './components/data-modal/on-chain-generated-address/on-chain-generated-address.component';\nimport { SpinnerDialogComponent } from './components/data-modal/spinner-dialog/spinner-dialog.component';\nimport { AlertMessageComponent } from './components/data-modal/alert-message/alert-message.component';\nimport { ConfirmationMessageComponent } from './components/data-modal/confirmation-message/confirmation-message.component';\nimport { ErrorMessageComponent } from './components/data-modal/error-message/error-message.component';\nimport { IsAuthorizedComponent } from './components/data-modal/is-authorized/is-authorized.component';\nimport { TwoFactorAuthComponent } from './components/data-modal/two-factor-auth/two-factor-auth.component';\nimport { LoginTokenComponent } from './components/data-modal/login-2fa-token/login-2fa-token.component';\n\nimport { LNServicesComponent } from './components/ln-services/ln-services.component';\nimport { LoopComponent } from '../shared/components/ln-services/loop/loop.component';\nimport { SwapsComponent } from '../shared/components/ln-services/loop/swaps/swaps.component';\nimport { LoopModalComponent } from '../shared/components/ln-services/loop/loop-modal/loop-modal.component';\nimport { LoopQuoteComponent } from '../shared/components/ln-services/loop/loop-quote/loop-quote.component';\nimport { LoopStatusComponent } from '../shared/components/ln-services/loop/loop-status/loop-status.component';\nimport { LoopOutInfoGraphicsComponent } from '../shared/components/ln-services/loop/loop-out-info-graphics/info-graphics.component';\nimport { LoopInInfoGraphicsComponent } from '../shared/components/ln-services/loop/loop-in-info-graphics/info-graphics.component';\nimport { BoltzRootComponent } from './components/ln-services/boltz/boltz-root.component';\nimport { BoltzSwapsComponent } from './components/ln-services/boltz/swaps/swaps.component';\nimport { SwapStatusComponent } from './components/ln-services/boltz/swap-status/swap-status.component';\nimport { SwapServiceInfoComponent } from './components/ln-services/boltz/swap-service-info/swap-service-info.component';\nimport { SwapModalComponent } from './components/ln-services/boltz/swap-modal/swap-modal.component';\nimport { SwapInInfoGraphicsComponent } from './components/ln-services/boltz/swap-in-info-graphics/info-graphics.component';\nimport { SwapOutInfoGraphicsComponent } from './components/ln-services/boltz/swap-out-info-graphics/info-graphics.component';\n\nimport { ClipboardDirective } from './directive/clipboard.directive';\nimport { AutoFocusDirective } from './directive/auto-focus.directive';\nimport { MonthlyDateDirective, YearlyDateDirective } from './directive/date-formats.directive';\nimport { MaxValidator } from './directive/max-amount.directive';\nimport { MinValidator } from './directive/min-amount.directive';\nimport { RemoveLeadingZerosPipe, CamelCasePipe, CamelCaseWithReplacePipe, CamelCaseWithSpacesPipe } from './pipes/app.pipe';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: false,\n suppressScrollY: false\n};\n\n@Injectable() class DefaultDateAdapter extends NativeDateAdapter {\n\n constructor(@Optional() @Inject(MAT_DATE_LOCALE) matDateLocale: string, platform: Platform) {\n super(matDateLocale, platform);\n }\n\n format(date: Date, displayFormat: Object): string {\n if (displayFormat === 'input') {\n let day: string = date.getDate().toString();\n day = +day < 10 ? '0' + day : day;\n return day + '/' + MONTHS[date.getMonth()].name.toUpperCase() + '/' + date.getFullYear();\n }\n return MONTHS[date.getMonth()].name.toUpperCase() + ' ' + date.getFullYear();\n }\n\n}\n\nexport const DEFAULT_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: { day: 'numeric', month: 'short', year: 'numeric' }\n },\n display: {\n dateInput: 'input',\n monthYearLabel: { month: 'short', year: 'numeric' },\n dateA11yLabel: { day: 'numeric', month: 'short', year: 'numeric' },\n monthYearA11yLabel: { month: 'short', year: 'numeric' }\n }\n};\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FontAwesomeModule,\n FlexLayoutModule,\n LayoutModule,\n MatDialogModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatExpansionModule,\n MatGridListModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatTreeModule,\n MatChipsModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSortModule,\n MatTableModule,\n MatToolbarModule,\n MatTooltipModule,\n MatBadgeModule,\n MatPaginatorModule,\n MatStepperModule,\n MatSliderModule,\n MatTabsModule,\n MatSnackBarModule,\n MatAutocompleteModule,\n NgxChartsModule,\n QrCodeModule,\n RouterModule,\n HttpClientModule,\n PerfectScrollbarModule\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n FontAwesomeModule,\n FlexLayoutModule,\n LayoutModule,\n MatDialogModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatExpansionModule,\n MatGridListModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatTreeModule,\n MatChipsModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSortModule,\n MatTableModule,\n MatToolbarModule,\n MatTooltipModule,\n MatBadgeModule,\n MatPaginatorModule,\n MatStepperModule,\n MatSliderModule,\n MatTabsModule,\n MatSnackBarModule,\n MatAutocompleteModule,\n NgxChartsModule,\n QrCodeModule,\n PerfectScrollbarModule,\n ClipboardDirective,\n AutoFocusDirective,\n MonthlyDateDirective,\n YearlyDateDirective,\n RemoveLeadingZerosPipe,\n CamelCasePipe,\n CamelCaseWithReplacePipe,\n CamelCaseWithSpacesPipe,\n MaxValidator,\n MinValidator,\n AppSettingsComponent,\n SettingsComponent,\n NotFoundComponent,\n SideNavigationComponent,\n TopMenuComponent,\n LoginComponent,\n HelpComponent,\n SettingsComponent,\n BitcoinConfigComponent,\n AuthSettingsComponent,\n AppSettingsComponent,\n NodeConfigComponent,\n LNPConfigComponent,\n NodeSettingsComponent,\n PageSettingsComponent,\n ServicesSettingsComponent,\n LoopServiceSettingsComponent,\n BoltzServiceSettingsComponent,\n PeerswapServiceSettingsComponent,\n ExperimentalSettingsComponent,\n CurrencyUnitConverterComponent,\n HorizontalScrollerComponent,\n TransactionsReportTableComponent,\n LNServicesComponent,\n LoopComponent,\n SwapsComponent,\n LoopModalComponent,\n LoopQuoteComponent,\n LoopStatusComponent,\n LoopInInfoGraphicsComponent,\n LoopOutInfoGraphicsComponent,\n BoltzRootComponent,\n BoltzSwapsComponent,\n SwapStatusComponent,\n SwapServiceInfoComponent,\n SwapModalComponent,\n SwapInInfoGraphicsComponent,\n SwapOutInfoGraphicsComponent\n ],\n declarations: [\n AppSettingsComponent,\n SettingsComponent,\n NotFoundComponent,\n SideNavigationComponent,\n TopMenuComponent,\n LoginComponent,\n HelpComponent,\n SettingsComponent,\n BitcoinConfigComponent,\n AuthSettingsComponent,\n AppSettingsComponent,\n NodeConfigComponent,\n LNPConfigComponent,\n NodeSettingsComponent,\n PageSettingsComponent,\n ServicesSettingsComponent,\n LoopServiceSettingsComponent,\n BoltzServiceSettingsComponent,\n PeerswapServiceSettingsComponent,\n ExperimentalSettingsComponent,\n CurrencyUnitConverterComponent,\n HorizontalScrollerComponent,\n ErrorComponent,\n ClipboardDirective,\n AutoFocusDirective,\n MonthlyDateDirective,\n YearlyDateDirective,\n MaxValidator,\n MinValidator,\n RemoveLeadingZerosPipe,\n CamelCasePipe,\n CamelCaseWithReplacePipe,\n CamelCaseWithSpacesPipe,\n AuthSettingsComponent,\n TransactionsReportTableComponent,\n OnChainGeneratedAddressComponent,\n ShowPubkeyComponent,\n SpinnerDialogComponent,\n AlertMessageComponent,\n ConfirmationMessageComponent,\n ErrorMessageComponent,\n IsAuthorizedComponent,\n TwoFactorAuthComponent,\n LoginTokenComponent,\n TransactionsReportTableComponent,\n LNServicesComponent,\n LoopComponent,\n SwapsComponent,\n LoopModalComponent,\n LoopQuoteComponent,\n LoopStatusComponent,\n LoopInInfoGraphicsComponent,\n LoopOutInfoGraphicsComponent,\n BoltzRootComponent,\n BoltzSwapsComponent,\n SwapStatusComponent,\n SwapServiceInfoComponent,\n SwapModalComponent,\n SwapInInfoGraphicsComponent,\n SwapOutInfoGraphicsComponent\n ],\n providers: [\n { provide: LoggerService, useClass: ConsoleLoggerService },\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG },\n { provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 2000, verticalPosition: 'bottom', panelClass: 'rtl-snack-bar' } },\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { hasBackdrop: true, autoFocus: true, disableClose: true, role: 'dialog', width: '45%' } },\n { provide: DateAdapter, useClass: DefaultDateAdapter },\n { provide: MAT_DATE_FORMATS, useValue: DEFAULT_DATE_FORMAT },\n { provide: OverlayContainer, useClass: ThemeOverlay },\n DecimalPipe, TitleCasePipe, DatePipe, RemoveLeadingZerosPipe, CamelCasePipe, CamelCaseWithReplacePipe, CamelCaseWithSpacesPipe\n ]\n})\nexport class SharedModule { }\n","import { createAction, props } from '@ngrx/store';\n\nimport { DialogConfig } from '../shared/models/alertData';\nimport { ApiCallStatusPayload } from '../shared/models/apiCallsPayload';\nimport { RTLConfiguration, ConfigSettingsNode, GetInfoRoot, SSO } from '../shared/models/RTLconfig';\nimport { FetchFile, Login, OpenSnackBar, ResetPassword, SaveSettings, SetSelectedNode, UpdateServiceSetting, VerifyTwoFA } from '../shared/models/rtlModels';\nimport { RTLActions } from '../shared/services/consts-enums-functions';\n\nexport const voidAction = createAction(RTLActions.VOID);\n\nexport const setApiUrl = createAction(RTLActions.SET_API_URL_ECL, props<{ payload: string }>());\n\nexport const updateRootAPICallStatus = createAction(RTLActions.UPDATE_API_CALL_STATUS_ROOT, props<{ payload: ApiCallStatusPayload }>());\n\nexport const closeAllDialogs = createAction(RTLActions.CLOSE_ALL_DIALOGS);\n\nexport const openSnackBar = createAction(RTLActions.OPEN_SNACK_BAR, props<{ payload: string | OpenSnackBar }>());\n\nexport const openSpinner = createAction(RTLActions.OPEN_SPINNER, props<{ payload: string }>());\n\nexport const closeSpinner = createAction(RTLActions.CLOSE_SPINNER, props<{ payload: string }>());\n\nexport const openAlert = createAction(RTLActions.OPEN_ALERT, props<{ payload: DialogConfig }>());\n\nexport const closeAlert = createAction(RTLActions.CLOSE_ALERT, props<{ payload: any }>());\n\nexport const openConfirmation = createAction(RTLActions.OPEN_CONFIRMATION, props<{ payload: DialogConfig }>());\n\nexport const closeConfirmation = createAction(RTLActions.CLOSE_CONFIRMATION, props<{ payload: boolean | any[] }>());\n\nexport const showPubkey = createAction(RTLActions.SHOW_PUBKEY);\n\nexport const fetchConfig = createAction(RTLActions.FETCH_CONFIG, props<{ payload: string }>());\n\nexport const showConfig = createAction(RTLActions.SHOW_CONFIG, props<{ payload: any }>());\n\nexport const updateSelectedNodeOptions = createAction(RTLActions.UPDATE_SELECTED_NODE_OPTIONS);\n\nexport const resetRootStore = createAction(RTLActions.RESET_ROOT_STORE, props<{ payload: ConfigSettingsNode }>());\n\nexport const fetchRTLConfig = createAction(RTLActions.FETCH_RTL_CONFIG);\n\nexport const setRTLConfig = createAction(RTLActions.SET_RTL_CONFIG, props<{ payload: RTLConfiguration }>());\n\nexport const saveSettings = createAction(RTLActions.SAVE_SETTINGS, props<{ payload: SaveSettings }>());\n\nexport const twoFASaveSettings = createAction(RTLActions.TWO_FA_SAVE_SETTINGS, props<{ payload: { secret2fa: string } }>());\n\nexport const setSelectedNode = createAction(RTLActions.SET_SELECTED_NODE, props<{ payload: SetSelectedNode }>());\n\nexport const updateRootNodeSettings = createAction(RTLActions.UPDATE_ROOT_NODE_SETTINGS, props<{ payload: UpdateServiceSetting }>());\n\nexport const updateServiceSettings = createAction(RTLActions.UPDATE_SERVICE_SETTINGS, props<{ payload: UpdateServiceSetting }>());\n\nexport const setNodeData = createAction(RTLActions.SET_NODE_DATA, props<{ payload: GetInfoRoot }>());\n\nexport const saveSSO = createAction(RTLActions.SAVE_SSO, props<{ payload: SSO }>());\n\nexport const logout = createAction(RTLActions.LOGOUT);\n\nexport const resetPassword = createAction(RTLActions.RESET_PASSWORD, props<{ payload: ResetPassword }>());\n\nexport const resetPasswordRes = createAction(RTLActions.RESET_PASSWORD_RES, props<{ payload: { token: string } }>());\n\nexport const isAuthorized = createAction(RTLActions.IS_AUTHORIZED, props<{ payload: string }>());\n\nexport const isAuthorizedRes = createAction(RTLActions.IS_AUTHORIZED_RES, props<{ payload: any }>());\n\nexport const login = createAction(RTLActions.LOGIN, props<{ payload: Login }>());\n\nexport const verifyTwoFA = createAction(RTLActions.VERIFY_TWO_FA, props<{ payload: VerifyTwoFA }>());\n\nexport const fetchFile = createAction(RTLActions.FETCH_FILE, props<{ payload: FetchFile }>());\n\nexport const showFile = createAction(RTLActions.SHOW_FILE, props<{ payload: any }>());\n","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'rtl-spinner-dialog',\n templateUrl: './spinner-dialog.component.html',\n styleUrls: ['./spinner-dialog.component.scss']\n})\nexport class SpinnerDialogComponent {\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n}\n","
\n
\n \n

{{data.titleMessage}}

\n
\n
\n","
\n
\n \n
\n
\n \n
\n {{data.alertTitle || alertTypeEnum[data.type]}}\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n \n \n \n \n
\n
\n
\n\n\n
\n
\n \n
\n
\n

{{data.titleMessage}}

\n
0\" fxFlex=\"100\">\n
\n
\n
\n

{{obj.title}}

\n \n \n \n \n \n {{(obj.value * 1000) | date:'dd/MMM/y HH:mm'}}\n {{obj.value | number: obj.digitsInfo ? obj.digitsInfo : '1.0-3'}}\n {{obj.value ? 'True' : 'False'}}\n \n

\n {{obj.value}}\n info\n

\n {{obj.value}}\n
\n
\n
\n \n  \n \n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, AfterViewChecked, Inject, ViewChild, ElementRef, OnDestroy, Renderer2 } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { CommonService } from '../../../services/common.service';\nimport { LoggerService } from '../../../services/logger.service';\nimport { AlertData } from '../../../models/alertData';\nimport { AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, LoopStateEnum } from '../../../services/consts-enums-functions';\n\n@Component({\n selector: 'rtl-alert-message',\n templateUrl: './alert-message.component.html',\n styleUrls: ['./alert-message.component.scss']\n})\nexport class AlertMessageComponent implements OnInit, AfterViewChecked, OnDestroy {\n\n private scrollContainer: ElementRef;\n @ViewChild('scrollContainer') set container(containerContent: ElementRef) {\n if (containerContent) {\n this.scrollContainer = containerContent;\n if (this.scrollContainer && this.scrollContainer.nativeElement) {\n this.unlistenEnd = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-end', (event) => {\n this.scrollDirection = 'UP';\n });\n this.unlistenStart = this.renderer.listen(this.scrollContainer.nativeElement, 'ps-y-reach-start', (event) => {\n this.scrollDirection = 'DOWN';\n });\n }\n }\n }\n private unlistenStart: () => void;\n private unlistenEnd: () => void;\n public LoopStateEnum = LoopStateEnum;\n public showQRField = '';\n public showQRName = '';\n public showCopyName = '';\n public showCopyField = '';\n public errorMessage = '';\n public messageObjs: any[] = [];\n public alertTypeEnum = AlertTypeEnum;\n public dataTypeEnum = DataTypeEnum;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public scrollDirection = 'DOWN';\n public shouldScroll = true;\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: AlertData, private logger: LoggerService, private snackBar: MatSnackBar, private commonService: CommonService, private renderer: Renderer2) { }\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n this.messageObjs = this.data.message || [];\n this.showQRField = this.data.showQRField ? this.data.showQRField : '';\n this.showQRName = this.data.showQRName ? this.data.showQRName : '';\n this.showCopyName = this.data.showCopyName ? this.data.showCopyName : '';\n this.showCopyField = this.data.showCopyField ? this.data.showCopyField : '';\n if (this.data.type === AlertTypeEnum.ERROR) {\n if (!this.data.message && !this.data.titleMessage && this.messageObjs.length <= 0) {\n this.data.titleMessage = 'Please Check Server Connection';\n }\n }\n this.logger.info(this.messageObjs);\n }\n\n ngAfterViewChecked() {\n setTimeout(() => {\n this.shouldScroll = this.scrollContainer && this.scrollContainer.nativeElement && this.scrollContainer.nativeElement.classList.value.includes('ps--active-y');\n }, 500);\n }\n\n onScroll() {\n if (this.scrollDirection === 'DOWN') {\n this.scrollContainer.nativeElement.scrollTop = this.scrollContainer.nativeElement.scrollTop + 62.6;\n } else {\n this.scrollContainer.nativeElement.scrollTop = this.scrollContainer.nativeElement.scrollTop - 62.6;\n }\n }\n\n onCopyField(payload: string) {\n this.snackBar.open((this.showQRName ? this.showQRName : this.showCopyName) + ' copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n ngOnDestroy() {\n if (this.unlistenStart) {\n this.unlistenStart();\n }\n if (this.unlistenEnd) {\n this.unlistenEnd();\n }\n }\n\n}\n","
\n
\n \n
\n {{data.alertTitle || alertTypeEnum[data.type]}}\n
\n \n
\n \n
\n
\n \n {{warningMessage}}\n
\n
\n \n {{informationMessage}}\n
\n

{{data.titleMessage}}

\n
0\">\n
\n
\n
\n

{{obj.title}}

\n \n \n \n
\n
\n {{(obj.value * 1000) | date:'dd/MMM/y HH:mm'}}\n {{obj.value | number:'1.0-3'}}\n {{obj.value === true ? 'True' : 'False'}}\n {{obj.value}}\n
\n
\n \n  \n \n \n
\n
\n
\n
\n
\n

{{data.titleMessage}}

\n
\n \n \n \n {{getInput.placeholder}} is required.\n {{getInput.hintFunction ? getInput.hintFunction(getInput.inputValue) : getInput.hintText}}\n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { faInfoCircle, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\n\nimport { LoggerService } from '../../../services/logger.service';\nimport { InputData, ConfirmationData } from '../../../models/alertData';\nimport { AlertTypeEnum, DataTypeEnum } from '../../../services/consts-enums-functions';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { closeConfirmation } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-confirmation-message',\n templateUrl: './confirmation-message.component.html',\n styleUrls: ['./confirmation-message.component.scss']\n})\nexport class ConfirmationMessageComponent implements OnInit {\n\n public faInfoCircle = faInfoCircle;\n public faExclamationTriangle = faExclamationTriangle;\n public informationMessage = '';\n public warningMessage = '';\n public noBtnText = 'No';\n public yesBtnText = 'Yes';\n public messageObjs = [];\n public flgShowInput = false;\n public hasAdvanced = false;\n public alertTypeEnum = AlertTypeEnum;\n public dataTypeEnum = DataTypeEnum;\n public getInputs: Array = [{ placeholder: '', inputType: DataTypeEnum.STRING, inputValue: '', hintText: '', hintFunction: null, advancedField: false }];\n\n private showAdvanced = false;\n\n constructor(\n public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ConfirmationData, private logger: LoggerService,\n private store: Store\n ) { }\n\n ngOnInit() {\n this.informationMessage = this.data.informationMessage || '';\n this.warningMessage = this.data.warningMessage || '';\n this.flgShowInput = !!this.data.flgShowInput;\n this.getInputs = this.data.getInputs || [];\n this.noBtnText = (this.data.noBtnText) ? this.data.noBtnText : 'No';\n this.yesBtnText = (this.data.yesBtnText) ? this.data.yesBtnText : 'Yes';\n this.hasAdvanced = (this.data.hasAdvanced) ? this.data.hasAdvanced : false;\n this.messageObjs = this.data.message;\n if (this.data.type === AlertTypeEnum.ERROR) {\n if (!this.data.message && !this.data.titleMessage && this.messageObjs.length <= 0) {\n this.data.titleMessage = 'Please Check Server Connection';\n }\n }\n }\n\n onShowAdvanced() {\n this.showAdvanced = !this.showAdvanced;\n }\n\n onClose(dialogRes: any): boolean | any[] | void {\n if (dialogRes && this.getInputs && this.getInputs.some((input) => typeof input.inputValue === 'undefined')) {\n return true;\n }\n if (!this.showAdvanced && dialogRes.length) {\n dialogRes = dialogRes?.reduce((accumulator, current) => {\n if (!current.advancedField) {\n accumulator.push(current);\n }\n return accumulator;\n }, []);\n }\n this.store.dispatch(closeConfirmation({ payload: dialogRes }));\n }\n\n}\n","
\n
\n \n
\n
\n \n
\n \n {{selInfoType.infoName}}\n
\n \n
\n \n
\n
\n \n
\n
0\" fxLayout=\"row\">\n \n \n \n {{infoType.infoName}}\n \n \n \n
\n
\n
\n

{{selInfoType.infoName}}

\n {{selInfoType.infoID === 0 ? information.identity_pubkey : information.uris[(selInfoType.infoID - 1)]}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { faReceipt } from '@fortawesome/free-solid-svg-icons';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { LoggerService } from '../../../services/logger.service';\nimport { CommonService } from '../../../services/common.service';\nimport { ShowPubkeyData } from '../../../models/alertData';\nimport { GetInfoRoot } from '../../../models/RTLconfig';\nimport { ScreenSizeEnum } from '../../../services/consts-enums-functions';\n\n@Component({\n selector: 'rtl-show-pubkey',\n templateUrl: './show-pubkey.component.html',\n styleUrls: ['./show-pubkey.component.scss']\n})\nexport class ShowPubkeyComponent implements OnInit {\n\n public faReceipt = faReceipt;\n public information: GetInfoRoot;\n public infoTypes = [{ infoID: 0, infoKey: 'node pubkey', infoName: 'Node pubkey' }];\n public selInfoType = this.infoTypes[0];\n public qrWidth = 210;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ShowPubkeyData, private logger: LoggerService, private snackBar: MatSnackBar, private commonService: CommonService) { }\n\n ngOnInit() {\n this.information = this.data.information;\n if (this.information.uris) {\n if (this.information.uris.length === 1) {\n this.infoTypes.push({ infoID: 1, infoKey: 'node URI', infoName: 'Node URI' });\n } else if (this.information.uris.length > 1) {\n this.information.uris.forEach((uri, idx) => {\n this.infoTypes.push({ infoID: (idx + 1), infoKey: 'node URI ' + (idx + 1), infoName: 'Node URI ' + (idx + 1) });\n });\n }\n }\n this.screenSize = this.commonService.getScreenSize();\n }\n\n onClose() {\n this.dialogRef.close(false);\n }\n\n onCopyPubkey(payload: string) {\n this.snackBar.open(this.selInfoType.infoName + ' copied.');\n this.logger.info('Copied Text: ' + payload);\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { of, Subject, forkJoin, Observable } from 'rxjs';\nimport { map, mergeMap, catchError, take, withLatestFrom, takeUntil } from 'rxjs/operators';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nimport { environment, API_URL } from '../../environments/environment';\nimport { WebSocketClientService } from '../shared/services/web-socket.service';\nimport { LoggerService } from '../shared/services/logger.service';\nimport { SessionService } from '../shared/services/session.service';\nimport { CommonService } from '../shared/services/common.service';\nimport { DataService } from '../shared/services/data.service';\nimport { RTLConfiguration, Settings, ConfigSettingsNode, GetInfoRoot } from '../shared/models/RTLconfig';\nimport { RTLActions, APICallStatusEnum, AuthenticateWith, CURRENCY_UNITS, ScreenSizeEnum, UI_MESSAGES } from '../shared/services/consts-enums-functions';\nimport { DialogConfig } from '../shared/models/alertData';\nimport { FetchFile, Login, OpenSnackBar, ResetPassword, SaveSettings, SetSelectedNode, UpdateServiceSetting, VerifyTwoFA } from '../shared/models/rtlModels';\n\nimport { SpinnerDialogComponent } from '../shared/components/data-modal/spinner-dialog/spinner-dialog.component';\nimport { AlertMessageComponent } from '../shared/components/data-modal/alert-message/alert-message.component';\nimport { ConfirmationMessageComponent } from '../shared/components/data-modal/confirmation-message/confirmation-message.component';\nimport { ErrorMessageComponent } from '../shared/components/data-modal/error-message/error-message.component';\nimport { ShowPubkeyComponent } from '../shared/components/data-modal/show-pubkey/show-pubkey.component';\n\nimport { RTLState } from './rtl.state';\nimport { resetRootStore, setNodeData, setSelectedNode, updateRootAPICallStatus, closeSpinner, openAlert, openSpinner, openSnackBar, fetchRTLConfig, closeAllDialogs, logout, updateRootNodeSettings, setRTLConfig } from './rtl.actions';\nimport { fetchInfoLND, resetLNDStore } from '../lnd/store/lnd.actions';\nimport { fetchInfoCL, resetCLStore } from '../cln/store/cln.actions';\nimport { fetchInfoECL, resetECLStore } from '../eclair/store/ecl.actions';\nimport { rootAppConfig, rootNodeData } from './rtl.selector';\n\n@Injectable()\nexport class RTLEffects implements OnDestroy {\n\n dialogRef: any;\n screenSize = '';\n alertWidth = '55%';\n confirmWidth = '70%';\n private unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(\n private actions: Actions,\n private httpClient: HttpClient,\n private store: Store,\n private logger: LoggerService,\n private wsService: WebSocketClientService,\n private sessionService: SessionService,\n private commonService: CommonService,\n private dataService: DataService,\n public dialog: MatDialog,\n private snackBar: MatSnackBar,\n private router: Router\n ) { }\n\n closeAllDialogs = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.CLOSE_ALL_DIALOGS),\n map(() => {\n this.dialog.closeAll();\n })),\n { dispatch: false }\n );\n\n openSnackBar = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.OPEN_SNACK_BAR),\n map((action: { type: string, payload: string | OpenSnackBar }) => {\n if (typeof action.payload === 'string') {\n this.snackBar.open(action.payload);\n } else {\n if (action.payload.type === 'ERROR') {\n this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-warn-snack-bar' });\n } else if (action.payload.type === 'WARN') {\n this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-accent-snack-bar' });\n } else {\n this.snackBar.open(action.payload.message, '', { duration: action.payload.duration ? action.payload.duration : 2000, panelClass: 'rtl-snack-bar' });\n }\n }\n })),\n { dispatch: false }\n );\n\n openSpinner = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.OPEN_SPINNER),\n map((action: { type: string, payload: string }) => {\n if (action.payload !== UI_MESSAGES.NO_SPINNER) {\n this.dialogRef = this.dialog.open(SpinnerDialogComponent, { data: { titleMessage: action.payload } });\n }\n })),\n { dispatch: false }\n );\n\n closeSpinner = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.CLOSE_SPINNER),\n map((action: { type: string, payload: string }) => {\n if (action.payload !== UI_MESSAGES.NO_SPINNER) {\n try {\n if (this.dialogRef && (this.dialogRef.componentInstance && this.dialogRef.componentInstance.data && this.dialogRef.componentInstance.data.titleMessage && this.dialogRef.componentInstance.data.titleMessage === action.payload)) {\n this.dialogRef.close();\n } else {\n this.dialog.openDialogs.forEach((localDialog) => {\n if (localDialog.componentInstance && localDialog.componentInstance.data && localDialog.componentInstance.data.titleMessage && localDialog.componentInstance.data.titleMessage === action.payload) {\n localDialog.close();\n }\n });\n }\n } catch (err) {\n this.logger.error(err);\n }\n }\n })),\n { dispatch: false }\n );\n\n openAlert = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.OPEN_ALERT),\n map((action: { type: string, payload: DialogConfig }) => {\n const updatedPayload = JSON.parse(JSON.stringify(action.payload));\n if (!updatedPayload.width) {\n updatedPayload.width = this.alertWidth;\n }\n if (action.payload.data.component) {\n this.dialogRef = this.dialog.open(action.payload.data.component, updatedPayload);\n } else {\n this.dialogRef = this.dialog.open(AlertMessageComponent, updatedPayload);\n }\n })),\n { dispatch: false }\n );\n\n closeAlert = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.CLOSE_ALERT),\n map((action: { type: string, payload: any }) => {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n openConfirm = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.OPEN_CONFIRMATION),\n map((action: { type: string, payload: DialogConfig }) => {\n const updatedPayload = JSON.parse(JSON.stringify(action.payload));\n if (!updatedPayload.width) {\n updatedPayload.width = this.confirmWidth;\n }\n this.dialogRef = this.dialog.open(ConfirmationMessageComponent, updatedPayload);\n })),\n { dispatch: false }\n );\n\n closeConfirm = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.CLOSE_CONFIRMATION),\n take(1),\n map((action: { type: string, payload: boolean | any[] }) => {\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n this.logger.info(action.payload);\n return action.payload;\n })),\n { dispatch: false }\n );\n\n showNodePubkey = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.SHOW_PUBKEY),\n withLatestFrom(this.store.select(rootNodeData)),\n mergeMap(([action, nodeData]: [{ type: string, payload: any }, GetInfoRoot]) => {\n if (!this.sessionService.getItem('token') || !nodeData.identity_pubkey) {\n this.snackBar.open('Node Pubkey does not exist.');\n } else {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n information: nodeData,\n component: ShowPubkeyComponent\n }\n }\n }));\n }\n return of({ type: RTLActions.VOID });\n }))\n );\n\n appConfigFetch = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.FETCH_RTL_CONFIG),\n mergeMap(() => {\n this.screenSize = this.commonService.getScreenSize();\n if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) {\n this.alertWidth = '95%';\n this.confirmWidth = '95%';\n } else if (this.screenSize === ScreenSizeEnum.MD) {\n this.alertWidth = '80%';\n this.confirmWidth = '80%';\n } else {\n this.alertWidth = '45%';\n this.confirmWidth = '50%';\n }\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_RTL_CONFIG }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'FetchRTLConfig', status: APICallStatusEnum.INITIATED } }));\n if (this.sessionService.getItem('token')) {\n return this.httpClient.get(environment.CONF_API + '/rtlconf');\n } else {\n return this.httpClient.get(environment.CONF_API + '/rtlconfinit');\n }\n }),\n map((rtlConfig: RTLConfiguration) => {\n this.logger.info(rtlConfig);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_RTL_CONFIG }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'FetchRTLConfig', status: APICallStatusEnum.COMPLETED } }));\n let searchNode: ConfigSettingsNode | null = null;\n rtlConfig.nodes.forEach((node) => {\n node.settings.currencyUnits = [...CURRENCY_UNITS, (node.settings?.currencyUnit ? node.settings?.currencyUnit : '')];\n if (+(node.index || -1) === rtlConfig.selectedNodeIndex) {\n searchNode = node;\n }\n });\n if (searchNode) {\n this.store.dispatch(setSelectedNode({ payload: { uiMessage: UI_MESSAGES.NO_SPINNER, prevLnNodeIndex: -1, currentLnNode: searchNode, isInitialSetup: true } }));\n return {\n type: RTLActions.SET_RTL_CONFIG,\n payload: rtlConfig\n };\n } else {\n return {\n type: RTLActions.VOID\n };\n }\n }),\n catchError((err) => {\n this.handleErrorWithAlert('FetchRTLConfig', UI_MESSAGES.GET_RTL_CONFIG, 'Fetch RTL Config Failed!', environment.CONF_API, err);\n return of({ type: RTLActions.VOID });\n }))\n );\n\n settingSave = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.SAVE_SETTINGS),\n mergeMap((action: { type: string, payload: SaveSettings }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateSettings', status: APICallStatusEnum.INITIATED } }));\n let updateSettingReq = new Observable();\n if (action.payload.settings && action.payload.defaultNodeIndex) {\n const settingsRes = this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings });\n const defaultNodeRes = this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex });\n updateSettingReq = forkJoin([settingsRes, defaultNodeRes]);\n } else if (action.payload.settings && !action.payload.defaultNodeIndex) {\n updateSettingReq = this.httpClient.post(environment.CONF_API, { updatedSettings: action.payload.settings });\n } else if (!action.payload.settings && action.payload.defaultNodeIndex) {\n updateSettingReq = this.httpClient.post(environment.CONF_API + '/updateDefaultNode', { defaultNodeIndex: action.payload.defaultNodeIndex });\n }\n return updateSettingReq.pipe(map((updateStatus: any) => {\n this.logger.info(updateStatus);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateSettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n return {\n type: RTLActions.OPEN_SNACK_BAR,\n payload: (!updateStatus.length) ? updateStatus.message + '.' : updateStatus[0].message + '.'\n };\n }), catchError((err) => {\n this.handleErrorWithAlert('UpdateSettings', action.payload.uiMessage, 'Update Settings Failed!', environment.CONF_API, (!err.length) ? err : err[0]);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n updateServicesettings = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.UPDATE_SERVICE_SETTINGS),\n mergeMap((action: { type: string, payload: UpdateServiceSetting }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateServiceSettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.CONF_API + '/updateServiceSettings', action.payload).pipe(\n map((updateStatus: any) => {\n this.logger.info(updateStatus);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateServiceSettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateRootNodeSettings({ payload: action.payload }));\n return {\n type: RTLActions.OPEN_SNACK_BAR,\n payload: updateStatus.message + '.'\n };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('UpdateServiceSettings', action.payload.uiMessage, 'Update Service Settings Failed!', environment.CONF_API, err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n twoFASettingSave = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.TWO_FA_SAVE_SETTINGS),\n mergeMap((action: { type: string, payload: { secret2fa: string } }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.UPDATE_UI_SETTINGS }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'Update2FASettings', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.CONF_API + '/update2FA', { secret2fa: action.payload.secret2fa });\n }),\n withLatestFrom(this.store.select(rootAppConfig)),\n map(([updateStatus, appConfig]: [any, RTLConfiguration]) => {\n this.logger.info(updateStatus);\n appConfig.enable2FA = !appConfig.enable2FA;\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'Update2FASettings', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.UPDATE_UI_SETTINGS }));\n this.store.dispatch(setRTLConfig({ payload: appConfig }));\n }),\n catchError((err) => {\n this.handleErrorWithAlert('Update2FASettings', UI_MESSAGES.UPDATE_UI_SETTINGS, 'Update 2FA Settings Failed!', environment.CONF_API, err);\n return of({ type: RTLActions.VOID });\n })),\n { dispatch: false }\n );\n\n configFetch = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.FETCH_CONFIG),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.OPEN_CONFIG_FILE }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'fetchConfig', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(environment.CONF_API + '/config/' + action.payload).\n pipe(map((configFile: any) => {\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'fetchConfig', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.OPEN_CONFIG_FILE }));\n return {\n type: RTLActions.SHOW_CONFIG,\n payload: configFile\n };\n }), catchError((err: any) => {\n this.handleErrorWithAlert('fetchConfig', UI_MESSAGES.OPEN_CONFIG_FILE, 'Fetch Config Failed!', environment.CONF_API + '/config/' + action.payload, err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n showLnConfig = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.SHOW_CONFIG),\n map((action: { type: string, payload: any }) => action.payload)),\n { dispatch: false }\n );\n\n isAuthorized = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.IS_AUTHORIZED),\n mergeMap((action: { type: string, payload: string }) => {\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'IsAuthorized', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.AUTHENTICATE_API, {\n authenticateWith: (!action.payload || action.payload.trim() === '') ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD,\n authenticationValue: (!action.payload || action.payload.trim() === '') ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload\n }).pipe(map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'IsAuthorized', status: APICallStatusEnum.COMPLETED } }));\n this.logger.info('Successfully Authorized!');\n return {\n type: RTLActions.IS_AUTHORIZED_RES,\n payload: postRes\n };\n }), catchError((err) => {\n this.handleErrorWithAlert('IsAuthorized', UI_MESSAGES.NO_SPINNER, 'Authorization Failed', environment.AUTHENTICATE_API, err);\n return of({\n type: RTLActions.IS_AUTHORIZED_RES,\n payload: 'ERROR'\n });\n }));\n }))\n );\n\n isAuthorizedRes = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.IS_AUTHORIZED_RES),\n map((action: { type: string, payload: any }) => action.payload)),\n { dispatch: false }\n );\n\n authLogin = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.LOGIN),\n withLatestFrom(this.store.select(rootAppConfig)),\n mergeMap(([action, appConfig]: [{ type: string, payload: Login }, RTLConfiguration]) => {\n this.store.dispatch(resetLNDStore({ payload: null }));\n this.store.dispatch(resetCLStore({ payload: null }));\n this.store.dispatch(resetECLStore({ payload: null }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'Login', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.AUTHENTICATE_API, {\n authenticateWith: (!action.payload.password) ? AuthenticateWith.JWT : AuthenticateWith.PASSWORD,\n authenticationValue: (!action.payload.password) ? (this.sessionService.getItem('token') ? this.sessionService.getItem('token') : '') : action.payload.password,\n twoFAToken: (action.payload.twoFAToken) ? action.payload.twoFAToken : ''\n }).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'Login', status: APICallStatusEnum.COMPLETED } }));\n this.setLoggedInDetails(action.payload.defaultPassword, postRes);\n }),\n catchError((err) => {\n this.logger.info('Redirecting to Login Error Page');\n this.handleErrorWithoutAlert('Login', UI_MESSAGES.NO_SPINNER, err);\n if (+appConfig.sso.rtlSSO) {\n this.router.navigate(['/error'], { state: { errorCode: '406', errorMessage: err.error && err.error.error ? err.error.error : 'Single Sign On Failed!' } });\n } else {\n this.router.navigate(['./login']);\n }\n return of({ type: RTLActions.VOID });\n }));\n })),\n { dispatch: false }\n );\n\n tokenVerify = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.VERIFY_TWO_FA),\n mergeMap((action: { type: string, payload: VerifyTwoFA }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.VERIFY_TOKEN }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'VerifyToken', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.AUTHENTICATE_API + '/token', { authentication2FA: action.payload.token }).\n pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.VERIFY_TOKEN }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'VerifyToken', status: APICallStatusEnum.COMPLETED } }));\n this.logger.info('Token Successfully Verified!');\n this.setLoggedInDetails(false, action.payload.authResponse);\n }),\n catchError((err) => {\n this.handleErrorWithAlert('VerifyToken', UI_MESSAGES.VERIFY_TOKEN, 'Authorization Failed!', environment.AUTHENTICATE_API + '/token', err);\n return of({ type: RTLActions.VOID });\n })\n );\n })),\n { dispatch: false }\n );\n\n logOut = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.LOGOUT),\n mergeMap((appConfig: RTLConfiguration) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.LOG_OUT }));\n if (appConfig.sso && +appConfig.sso.rtlSSO) {\n window.location.href = appConfig.sso.logoutRedirectLink;\n } else {\n this.router.navigate(['./login']);\n }\n this.sessionService.clearAll();\n this.store.dispatch(setNodeData({ payload: {} }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.LOG_OUT }));\n this.logger.info('Logged out from browser');\n return this.httpClient.get(environment.AUTHENTICATE_API + '/logout').\n pipe(map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.LOG_OUT }));\n this.logger.info('Logged out from server');\n }));\n })),\n { dispatch: false }\n );\n\n resetPassword = createEffect(\n () => this.actions.pipe(takeUntil(this.unSubs[1]),\n ofType(RTLActions.RESET_PASSWORD),\n mergeMap((action: { type: string, payload: ResetPassword }) => {\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'ResetPassword', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.post(environment.AUTHENTICATE_API + '/reset', { currPassword: action.payload.currPassword, newPassword: action.payload.newPassword }).pipe(\n takeUntil(this.unSubs[0]),\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'ResetPassword', status: APICallStatusEnum.COMPLETED } }));\n this.sessionService.setItem('defaultPassword', false);\n this.logger.info('Password Reset Successful!');\n this.store.dispatch(openSnackBar({ payload: 'Password Reset Successful!' }));\n this.SetToken(postRes.token);\n return {\n type: RTLActions.RESET_PASSWORD_RES,\n payload: postRes.token\n };\n }),\n catchError((err) => {\n this.handleErrorWithAlert('ResetPassword', UI_MESSAGES.NO_SPINNER, 'Password Reset Failed!', environment.AUTHENTICATE_API + '/reset', err);\n return of({ type: RTLActions.VOID });\n }));\n }))\n );\n\n setSelectedNode = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.SET_SELECTED_NODE),\n mergeMap((action: { type: string, payload: SetSelectedNode }) => {\n this.store.dispatch(openSpinner({ payload: action.payload.uiMessage }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateSelNode', status: APICallStatusEnum.INITIATED } }));\n return this.httpClient.get(environment.CONF_API + '/updateSelNode/' + action.payload.currentLnNode?.index + '/' + action.payload.prevLnNodeIndex).pipe(\n map((postRes: any) => {\n this.logger.info(postRes);\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'UpdateSelNode', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: action.payload.uiMessage }));\n this.initializeNode(action.payload.currentLnNode!, action.payload.isInitialSetup);\n return { type: RTLActions.VOID };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('UpdateSelNode', action.payload.uiMessage, 'Update Selected Node Failed!', environment.CONF_API + '/updateSelNode', err);\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n fetchFile = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.FETCH_FILE),\n mergeMap((action: { type: string, payload: FetchFile }) => {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.DOWNLOAD_BACKUP_FILE }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'FetchFile', status: APICallStatusEnum.INITIATED } }));\n const query = '?channel=' + action.payload.channelPoint + (action.payload.path ? '&path=' + action.payload.path : '');\n return this.httpClient.get(environment.CONF_API + '/file' + query).pipe(\n map((fetchedFile: any) => {\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: 'FetchFile', status: APICallStatusEnum.COMPLETED } }));\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.DOWNLOAD_BACKUP_FILE }));\n return {\n type: RTLActions.SHOW_FILE,\n payload: fetchedFile\n };\n }),\n catchError((err: any) => {\n this.handleErrorWithAlert('fetchFile', UI_MESSAGES.DOWNLOAD_BACKUP_FILE, 'Download Backup File Failed!', environment.CONF_API + '/file' + query, { status: this.commonService.extractErrorNumber(err), error: { error: this.commonService.extractErrorCode(err) } });\n return of({ type: RTLActions.VOID });\n })\n );\n }))\n );\n\n showFile = createEffect(\n () => this.actions.pipe(\n ofType(RTLActions.SHOW_FILE),\n map((action: { type: string, payload: any }) => action.payload)),\n { dispatch: false }\n );\n\n initializeNode(node: ConfigSettingsNode, isInitialSetup: boolean) {\n this.logger.info('Initializing node from RTL Effects.');\n const landingPage = isInitialSetup ? '' : 'HOME';\n const selNode = { userPersona: node.settings.userPersona, channelBackupPath: node.settings.channelBackupPath, unannouncedChannels: !!node.settings.unannouncedChannels,\n selCurrencyUnit: node.settings.currencyUnit, currencyUnits: CURRENCY_UNITS, fiatConversion: node.settings.fiatConversion, lnImplementation: node.lnImplementation,\n swapServerUrl: node.settings.swapServerUrl, boltzServerUrl: node.settings.boltzServerUrl, enableOffers: node.settings.enableOffers, enablePeerswap: node.settings.enablePeerswap };\n if (node.settings.fiatConversion && node.settings.currencyUnit) {\n selNode['currencyUnits'] = [...CURRENCY_UNITS, node.settings.currencyUnit];\n }\n this.sessionService.removeItem('lndUnlocked');\n this.sessionService.removeItem('clUnlocked');\n this.sessionService.removeItem('eclUnlocked');\n this.store.dispatch(resetRootStore({ payload: node }));\n this.store.dispatch(resetLNDStore({ payload: selNode }));\n this.store.dispatch(resetCLStore({ payload: selNode }));\n this.store.dispatch(resetECLStore({ payload: selNode }));\n if (this.sessionService.getItem('token')) {\n const nodeLnImplementation = node.lnImplementation ? node.lnImplementation.toUpperCase() : 'LND';\n this.dataService.setLnImplementation(nodeLnImplementation);\n const apiUrl = (environment.production && window.location.origin) ? (window.location.origin + '/rtl/api') : API_URL;\n this.wsService.connectWebSocket(apiUrl?.replace(/^http/, 'ws') + environment.Web_SOCKET_API, (node.index ? node.index.toString() : '-1'));\n switch (nodeLnImplementation) {\n case 'CLN':\n this.store.dispatch(fetchInfoCL({ payload: { loadPage: landingPage } }));\n break;\n\n case 'ECL':\n this.store.dispatch(fetchInfoECL({ payload: { loadPage: landingPage } }));\n break;\n\n default:\n this.store.dispatch(fetchInfoLND({ payload: { loadPage: landingPage } }));\n break;\n }\n }\n }\n\n SetToken(token: string) {\n if (token) {\n this.sessionService.setItem('lndUnlocked', 'true');\n this.sessionService.setItem('token', token);\n } else {\n this.sessionService.removeItem('lndUnlocked');\n this.sessionService.removeItem('token');\n }\n }\n\n setLoggedInDetails(defaultPassword: boolean, postRes: any) {\n this.logger.info('Successfully Authorized!');\n this.SetToken(postRes.token);\n this.sessionService.setItem('defaultPassword', defaultPassword);\n if (defaultPassword) {\n this.store.dispatch(openSnackBar({ payload: 'Reset your password.' }));\n this.router.navigate(['/settings/auth']);\n } else {\n this.store.dispatch(fetchRTLConfig());\n }\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) {\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n if (err.status === 401 && actionName !== 'Login') {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status ? err.status.toString() : '', message: this.commonService.extractErrorMessage(err) } }));\n }\n }\n\n handleErrorWithAlert(actionName: string, uiMessage: string, alertTitle: string, errURL: string, err: { status: number, error: any, statusText?: string }) {\n this.logger.error(err);\n if (err.status === 0 && err.statusText && err.statusText === 'Unknown Error') {\n err = { status: 400, error: { message: 'Unknown Error / CORS Origin Not Allowed' } };\n }\n if (err.status === 401 && actionName !== 'Login') {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(logout());\n this.store.dispatch(openSnackBar({ payload: 'Authentication Failed. Redirecting to Login.' }));\n } else {\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n const errMsg = this.commonService.extractErrorMessage(err);\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: alertTitle,\n message: { code: err.status ? err.status : 'Unknown Error', message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n this.store.dispatch(updateRootAPICallStatus({ payload: { action: actionName, status: APICallStatusEnum.ERROR, statusCode: err.status ? err.status.toString() : '', message: errMsg, URL: errURL } }));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { RootState } from './rtl.state';\n\nexport const rootState = createFeatureSelector('root');\nexport const rootAPIUrl = createSelector(rootState, (state: RootState) => state.apiURL);\nexport const rootSelectedNode = createSelector(rootState, (state: RootState) => state.selNode);\nexport const rootAppConfig = createSelector(rootState, (state: RootState) => state.appConfig);\nexport const rootNodeData = createSelector(rootState, (state: RootState) => state.nodeData);\nexport const loginStatus = createSelector(rootState, (state: RootState) => state.apisCallStatus.Login);\nexport const authorizedStatus = createSelector(rootState, (state: RootState) => state.apisCallStatus.IsAuthorized);\nexport const rootSelNodeAndNodeData = createSelector(rootState, (state: RootState) => ({ nodeDate: state.nodeData, selNode: state.selNode }));\n","export const API_URL = './api';\n\nexport const environment = {\n production: true,\n isDebugMode: false,\n AUTHENTICATE_API: API_URL + '/authenticate',\n CONF_API: API_URL + '/conf',\n PAGE_SETTINGS_API: API_URL + '/pagesettings',\n BALANCE_API: '/balance',\n FEES_API: '/fees',\n PEERS_API: '/peers',\n CHANNELS_API: '/channels',\n CHANNELS_BACKUP_API: '/channels/backup',\n GETINFO_API: '/getinfo',\n WALLET_API: '/wallet',\n NETWORK_API: '/network',\n NEW_ADDRESS_API: '/newaddress',\n TRANSACTIONS_API: '/transactions',\n PAYMENTS_API: '/payments',\n INVOICES_API: '/invoices',\n SWITCH_API: '/switch',\n ON_CHAIN_API: '/onchain',\n MESSAGE_API: '/message',\n OFFERS_API: '/offers',\n UTILITY_API: '/utility',\n LOOP_API: '/loop',\n BOLTZ_API: '/boltz',\n Web_SOCKET_API: '/ws'\n};\n\nexport const VERSION = '0.13.3-beta';\n","/**\n * @license Angular v15.0.2\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(driver, normalizer, element, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction convertToMap(obj) {\n const styleMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => convertToMap(kf));\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n }\n else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, destination = new Map(), backfill) {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* AnimationMetadataType.Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* AnimationMetadataType.State */:\n return visitor.visitState(node, context);\n case 1 /* AnimationMetadataType.Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* AnimationMetadataType.Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* AnimationMetadataType.Group */:\n return visitor.visitGroup(node, context);\n case 4 /* AnimationMetadataType.Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* AnimationMetadataType.Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* AnimationMetadataType.Style */:\n return visitor.visitStyle(node, context);\n case 8 /* AnimationMetadataType.Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimationMetadataType.AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimationMetadataType.AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* AnimationMetadataType.Query */:\n return visitor.visitQuery(node, context);\n case 12 /* AnimationMetadataType.Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* AnimationMetadataType.State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* AnimationMetadataType.Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* AnimationMetadataType.Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* AnimationMetadataType.State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* AnimationMetadataType.Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* AnimationMetadataType.Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* AnimationMetadataType.Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* AnimationMetadataType.Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* AnimationMetadataType.Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(convertToMap(styleTuple));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* AnimationMetadataType.Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string')\n return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, { startTime, endTime });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* AnimationMetadataType.Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* AnimationMetadataType.Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimationMetadataType.AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimationMetadataType.AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* AnimationMetadataType.Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* AnimationMetadataType.Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = new Map();\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n }\n else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map. The `copyStyles` method in util.ts\n * handles propagating that backfill map to the styles object.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ?\n timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ?\n animationDelay :\n resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* AnimationMetadataType.Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* AnimationMetadataType.Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* AnimationMetadataType.Style */ ||\n (startTime == 0 && context.currentTimeline.hasCurrentStyleProperties()))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = new Map();\n this._currentKeyframe = new Map();\n this._keyframes = new Map();\n this._styleSummary = new Map();\n this._localTimelineStyles = new Map();\n this._pendingStyles = new Map();\n this._backFill = new Map();\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, { time: this.currentTime, value });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0)\n return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, new Map(), this._backFill);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n copyStyles(token, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DIMENSIONAL_PROP_SET = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'left',\n 'top',\n 'bottom',\n 'right',\n 'fontSize',\n 'outlineWidth',\n 'outlineOffset',\n 'paddingTop',\n 'paddingLeft',\n 'paddingBottom',\n 'paddingRight',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'borderRadius',\n 'borderWidth',\n 'borderTopWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'textIndent',\n 'perspective'\n]);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay,\n };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n for (const [prop, value] of keyframe.entries()) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n }\n else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` +\n ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' +\n '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = copyObj(defaults);\n for (const key in userParams) {\n if (userParams.hasOwnProperty(key) && userParams[key] != null) {\n result[key] = userParams[key];\n }\n }\n return result;\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value !== null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(normalizedProp, val);\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = new Map();\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* AnimationMetadataType.Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* AnimationMetadataType.Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n }\n else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = new Map();\n this._playersById = new Map();\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = new Map();\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n }\n else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...Array.from(post?.entries() ?? []), ...Array.from(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = new Map();\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* SpecialCasedStylesState.Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = new Map();\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => copyStyles(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty };\n","/**\n * @license Angular v15.0.2\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { ViewEncapsulation, Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport { AnimationBuilder, sequence, AnimationFactory } from '@angular/animations';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, ɵNoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BrowserAnimationBuilder extends AnimationBuilder {\n constructor(rootRenderer, doc) {\n super();\n this._nextAnimationId = 0;\n const typeData = { id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: { animation: [] } };\n this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n }\n build(animation) {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n}\nBrowserAnimationBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationBuilder, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserAnimationBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationBuilder });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationBuilder, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nclass BrowserAnimationFactory extends AnimationFactory {\n constructor(_id, _renderer) {\n super();\n this._id = _id;\n this._renderer = _renderer;\n }\n create(element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\nclass RendererAnimationPlayer {\n constructor(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n _listen(eventName, callback) {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n _command(command, ...args) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n onDone(fn) {\n this._listen('done', fn);\n }\n onStart(fn) {\n this._listen('start', fn);\n }\n onDestroy(fn) {\n this._listen('destroy', fn);\n }\n init() {\n this._command('init');\n }\n hasStarted() {\n return this._started;\n }\n play() {\n this._command('play');\n this._started = true;\n }\n pause() {\n this._command('pause');\n }\n restart() {\n this._command('restart');\n }\n finish() {\n this._command('finish');\n }\n destroy() {\n this._command('destroy');\n }\n reset() {\n this._command('reset');\n this._started = false;\n }\n setPosition(p) {\n this._command('setPosition', p);\n }\n getPosition() {\n return this._renderer.engine.players[+this.id]?.getPosition() ?? 0;\n }\n}\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass AnimationRendererFactory {\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n this.promise = Promise.resolve(0);\n engine.onRemovalComplete = (element, delegate) => {\n // Note: if a component element has a leave animation, and a host leave animation,\n // the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n const parentNode = delegate?.parentNode(element);\n if (parentNode) {\n delegate.removeChild(parentNode, element);\n }\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer = this._rendererCache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => this._rendererCache.delete(delegate);\n renderer =\n new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = (trigger) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n }\n else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n // always use promise to schedule microtask instead of use Zone\n this.promise.then(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n if (this._animationCallbacksBuffer.length == 0) {\n Promise.resolve(null).then(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n this._animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n}\nAnimationRendererFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: AnimationRendererFactory, deps: [{ token: i0.RendererFactory2 }, { token: i1.ɵAnimationEngine }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nAnimationRendererFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: AnimationRendererFactory });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: AnimationRendererFactory, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }, { type: i1.ɵAnimationEngine }, { type: i0.NgZone }]; } });\nclass BaseAnimationRenderer {\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode(n) : null;\n }\n get data() {\n return this.delegate.data;\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n }\n else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer, appRef) {\n super(doc.body, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n}\nInjectableAnimationEngine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: InjectableAnimationEngine, deps: [{ token: DOCUMENT }, { token: i1.AnimationDriver }, { token: i1.ɵAnimationStyleNormalizer }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });\nInjectableAnimationEngine.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: InjectableAnimationEngine });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: InjectableAnimationEngine, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.AnimationDriver }, { type: i1.ɵAnimationStyleNormalizer }, { type: i0.ApplicationRef }]; } });\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [\n { provide: AnimationBuilder, useClass: BrowserAnimationBuilder },\n { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },\n { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n }\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useFactory: () => new ɵWebAnimationsDriver() },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useClass: ɵNoopAnimationDriver },\n { provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations' }, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see `BrowserAnimationsModuleConfig`\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS :\n BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n}\nBrowserAnimationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBrowserAnimationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationsModule, exports: [BrowserModule] });\nBrowserAnimationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationsModule, providers: BROWSER_ANIMATIONS_PROVIDERS, imports: [BrowserModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n}\nNoopAnimationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNoopAnimationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationsModule, exports: [BrowserModule] });\nNoopAnimationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationsModule, providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS, imports: [BrowserModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NoopAnimationsModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n }]\n }] });\n/**\n * Returns the set of [dependency-injection providers](guide/glossary#provider)\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import { asyncScheduler } from '../scheduler/async';\nimport { timer } from './timer';\nexport function interval(period = 0, scheduler = asyncScheduler) {\n if (period < 0) {\n period = 0;\n }\n return timer(period, period, scheduler);\n}\n","import * as i0 from '@angular/core';\nimport { Injectable, Optional, NgModule } from '@angular/core';\nimport { Subject, merge, fromEvent, from, interval, timer, of } from 'rxjs';\nimport { bufferTime, filter, tap, switchMap, takeUntil, finalize, distinctUntilChanged, map } from 'rxjs/operators';\n\nclass UserIdleConfig {\n}\n\n/**\n * User's idle service.\n */\nclass UserIdleService {\n constructor(config, _ngZone) {\n this._ngZone = _ngZone;\n this.timerStart$ = new Subject();\n this.idleDetected$ = new Subject();\n this.timeout$ = new Subject();\n /**\n * Idle value in milliseconds.\n * Default equals to 10 minutes.\n */\n this.idleMillisec = 600 * 1000;\n /**\n * Idle buffer wait time milliseconds to collect user action\n * Default equals to 1 Sec.\n */\n this.idleSensitivityMillisec = 1000;\n /**\n * Timeout value in seconds.\n * Default equals to 5 minutes.\n */\n this.timeout = 300;\n /**\n * Ping value in milliseconds.\n * Default equals to 2 minutes.\n */\n this.pingMillisec = 120 * 1000;\n /**\n * Timeout status.\n */\n this.isTimeout = false;\n /**\n * Timer of user's inactivity is in progress.\n */\n this.isInactivityTimer = false;\n this.isIdleDetected = false;\n if (config) {\n this.setConfig(config);\n }\n }\n /**\n * Start watching for user idle and setup timer and ping.\n */\n startWatching() {\n if (!this.activityEvents$) {\n this.activityEvents$ = merge(fromEvent(window, 'mousemove'), fromEvent(window, 'resize'), fromEvent(document, 'keydown'));\n }\n this.idle$ = from(this.activityEvents$);\n if (this.idleSubscription) {\n this.idleSubscription.unsubscribe();\n }\n // If any of user events is not active for idle-seconds when start timer.\n this.idleSubscription = this.idle$\n .pipe(bufferTime(this.idleSensitivityMillisec), // Starting point of detecting of user's inactivity\n filter((arr) => !arr.length && !this.isIdleDetected && !this.isInactivityTimer), tap(() => {\n this.isIdleDetected = true;\n this.idleDetected$.next(true);\n }), switchMap(() => this._ngZone.runOutsideAngular(() => interval(1000).pipe(takeUntil(merge(this.activityEvents$, timer(this.idleMillisec).pipe(tap(() => {\n this.isInactivityTimer = true;\n this.timerStart$.next(true);\n })))), finalize(() => {\n this.isIdleDetected = false;\n this.idleDetected$.next(false);\n })))))\n .subscribe();\n this.setupTimer(this.timeout);\n this.setupPing(this.pingMillisec);\n }\n stopWatching() {\n this.stopTimer();\n if (this.idleSubscription) {\n this.idleSubscription.unsubscribe();\n }\n }\n stopTimer() {\n this.isInactivityTimer = false;\n this.timerStart$.next(false);\n }\n resetTimer() {\n this.stopTimer();\n this.isTimeout = false;\n }\n /**\n * Return observable for timer's countdown number that emits after idle.\n */\n onTimerStart() {\n return this.timerStart$.pipe(distinctUntilChanged(), switchMap((start) => (start ? this.timer$ : of(null))));\n }\n /**\n * Return observable for idle status changed\n */\n onIdleStatusChanged() {\n return this.idleDetected$.asObservable();\n }\n /**\n * Return observable for timeout is fired.\n */\n onTimeout() {\n return this.timeout$.pipe(filter((timeout) => !!timeout), tap(() => (this.isTimeout = true)), map(() => true));\n }\n getConfigValue() {\n return {\n idle: this.idleMillisec / 1000,\n idleSensitivity: this.idleSensitivityMillisec / 1000,\n timeout: this.timeout,\n ping: this.pingMillisec / 1000,\n };\n }\n /**\n * Set config values.\n * @param config\n */\n setConfigValues(config) {\n if (this.idleSubscription && !this.idleSubscription.closed) {\n console.error('Call stopWatching() before set config values');\n return;\n }\n this.setConfig(config);\n }\n setConfig(config) {\n if (config.idle) {\n this.idleMillisec = config.idle * 1000;\n }\n if (config.ping) {\n this.pingMillisec = config.ping * 1000;\n }\n if (config.idleSensitivity) {\n this.idleSensitivityMillisec = config.idleSensitivity * 1000;\n }\n if (config.timeout) {\n this.timeout = config.timeout;\n }\n }\n /**\n * Set custom activity events\n *\n * @param customEvents Example: merge(\n * fromEvent(window, 'mousemove'),\n * fromEvent(window, 'resize'),\n * fromEvent(document, 'keydown'),\n * fromEvent(document, 'touchstart'),\n * fromEvent(document, 'touchend')\n * )\n */\n setCustomActivityEvents(customEvents) {\n if (this.idleSubscription && !this.idleSubscription.closed) {\n console.error('Call stopWatching() before set custom activity events');\n return;\n }\n this.activityEvents$ = customEvents;\n }\n /**\n * Setup timer.\n *\n * Counts every seconds and return n+1 and fire timeout for last count.\n * @param timeout Timeout in seconds.\n */\n setupTimer(timeout) {\n this._ngZone.runOutsideAngular(() => {\n this.timer$ = of(() => new Date()).pipe(map((fn) => fn()), switchMap((startDate) => interval(1000).pipe(map(() => Math.round((new Date().valueOf() - startDate.valueOf()) / 1000)), // convert elapsed count to seconds\n tap((elapsed) => {\n if (elapsed >= timeout) {\n this.timeout$.next(true);\n }\n }))));\n });\n }\n /**\n * Setup ping.\n *\n * Pings every ping-seconds only if is not timeout.\n * @param pingMillisec\n */\n setupPing(pingMillisec) {\n this.ping$ = interval(pingMillisec).pipe(filter(() => !this.isTimeout));\n }\n}\nUserIdleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleService, deps: [{ token: UserIdleConfig, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nUserIdleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: UserIdleConfig, decorators: [{\n type: Optional\n }] }, { type: i0.NgZone }]; } });\n\nclass UserIdleModule {\n static forRoot(config) {\n return {\n ngModule: UserIdleModule,\n providers: [{ provide: UserIdleConfig, useValue: config }],\n };\n }\n}\nUserIdleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nUserIdleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleModule });\nUserIdleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleModule, imports: [[]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.11\", ngImport: i0, type: UserIdleModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n }]\n }] });\n\n/*\n * Public API Surface of angular-user-idle\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { UserIdleConfig, UserIdleModule, UserIdleService };\n","import { Subscription } from '../Subscription';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { arrRemove } from '../util/arrRemove';\nimport { asyncScheduler } from '../scheduler/async';\nimport { popScheduler } from '../util/args';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function bufferTime(bufferTimeSpan, ...otherArgs) {\n var _a, _b;\n const scheduler = (_a = popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : asyncScheduler;\n const bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;\n const maxBufferSize = otherArgs[1] || Infinity;\n return operate((source, subscriber) => {\n let bufferRecords = [];\n let restartOnEmit = false;\n const emit = (record) => {\n const { buffer, subs } = record;\n subs.unsubscribe();\n arrRemove(bufferRecords, record);\n subscriber.next(buffer);\n restartOnEmit && startBuffer();\n };\n const startBuffer = () => {\n if (bufferRecords) {\n const subs = new Subscription();\n subscriber.add(subs);\n const buffer = [];\n const record = {\n buffer,\n subs,\n };\n bufferRecords.push(record);\n executeSchedule(subs, scheduler, () => emit(record), bufferTimeSpan);\n }\n };\n if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {\n executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true);\n }\n else {\n restartOnEmit = true;\n }\n startBuffer();\n const bufferTimeSubscriber = createOperatorSubscriber(subscriber, (value) => {\n const recordsCopy = bufferRecords.slice();\n for (const record of recordsCopy) {\n const { buffer } = record;\n buffer.push(value);\n maxBufferSize <= buffer.length && emit(record);\n }\n }, () => {\n while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {\n subscriber.next(bufferRecords.shift().buffer);\n }\n bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();\n subscriber.complete();\n subscriber.unsubscribe();\n }, undefined, () => (bufferRecords = null));\n source.subscribe(bufferTimeSubscriber);\n });\n}\n","
\n \n Settings\n
\n
\n \n \n \n \n \n
\n \n
\n
\n
\n
\n ","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faUserCog } from '@fortawesome/free-solid-svg-icons';\n\nimport { ConfigSettingsNode, RTLConfiguration } from '../../models/RTLconfig';\nimport { RTLState } from '../../../store/rtl.state';\nimport { rootSelectedNode, rootAppConfig } from '../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss']\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n\n public faUserCog = faUserCog;\n public showBitcoind = false;\n public selNode: ConfigSettingsNode | any;\n public appConfig: RTLConfiguration;\n public links = [{ link: 'app', name: 'Application' }, { link: 'auth', name: 'Authentication' }, { link: 'bconfig', name: 'BitcoinD Config' }];\n public activeLink = '';\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private store: Store, private router: Router) { }\n\n ngOnInit() {\n const linkFound = this.links.find((link) => this.router.url.includes(link.link));\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)).\n subscribe({\n next: (value: ResolveEnd | Event) => {\n const linkFound = this.links.find((link) => (value).urlAfterRedirects.includes(link.link));\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n }\n });\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[1])).subscribe((appConfig) => {\n this.appConfig = appConfig;\n });\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[2])).subscribe((selNode) => {\n this.showBitcoind = false;\n this.selNode = selNode;\n if (this.selNode.settings && this.selNode.settings.bitcoindConfigPath && this.selNode.settings.bitcoindConfigPath.trim() !== '') {\n this.showBitcoind = true;\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
0\" #form=\"ngForm\" fxLayout=\"column\" fxFlex=\"100\" fxLayoutAlign=\"start stretch\" class=\"settings-container page-sub-title-container mt-1\">\n
\n \n Default Node\n
\n
\n
\n \n The setting will apply after RTL server restarts.\n
\n
\n \n \n \n {{node.lnNode}} ({{node.lnImplementation}})\n \n \n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n \n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faWindowRestore, faPlus, faInfoCircle } from '@fortawesome/free-solid-svg-icons';\n\nimport { UI_MESSAGES } from '../../../services/consts-enums-functions';\nimport { RTLConfiguration } from '../../../models/RTLconfig';\nimport { LoggerService } from '../../../services/logger.service';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { saveSettings } from '../../../../store/rtl.actions';\nimport { rootAppConfig } from '../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-app-settings',\n templateUrl: './app-settings.component.html',\n styleUrls: ['./app-settings.component.scss']\n})\nexport class AppSettingsComponent implements OnInit, OnDestroy {\n\n public faInfoCircle = faInfoCircle;\n public faWindowRestore = faWindowRestore;\n public faPlus = faPlus;\n public appConfig: RTLConfiguration;\n public previousDefaultNode = 0;\n unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private store: Store) { }\n\n ngOnInit() {\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[0])).subscribe((appConfig) => {\n this.appConfig = appConfig;\n this.previousDefaultNode = this.appConfig.defaultNodeIndex;\n this.logger.info(appConfig);\n });\n }\n\n onAddNewNode() {\n this.logger.warn('ADD NEW NODE');\n }\n\n onUpdateSettings(): boolean | void {\n const defaultNodeIndex = (this.appConfig.defaultNodeIndex) ? this.appConfig.defaultNodeIndex : (this.appConfig && this.appConfig.nodes && this.appConfig.nodes.length && this.appConfig.nodes.length > 0 && this.appConfig.nodes[0].index) ? +this.appConfig.nodes[0].index : -1;\n this.store.dispatch(saveSettings({ payload: { uiMessage: UI_MESSAGES.UPDATE_DEFAULT_NODE_SETTING, defaultNodeIndex: defaultNodeIndex } }));\n }\n\n onResetSettings() {\n this.appConfig.defaultNodeIndex = this.previousDefaultNode;\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n \n
Setup Two Factor Authentication
\n \n
\n \n
\n \n \n
\n {{passwordFormLabel}}\n
\n \n \n Password is required.\n \n
\n
\n \n
\n
\n
\n \n
\n {{secretFormLabel}}\n
\n \n
\n
\n \n You can use a compatible authentication app to get an authentication code when you log in to RTL. e.g.: Google Authenticator.\n
\n
\n \n \n \n Secret Code is required.\n \n
\n
\n \n
\n
\n
\n \n
\n {{tokenFormLabel}}\n
\n
\n \n \n Token is required.\n Token is invalid.\n \n
\n
\n \n
\n
\n
\n Success! You are all set.\n
\n
\n
\n \n
\n {{disableFormLabel}}\n
\n
\n \n You are about to disable two-factor authentication security from RTL. Are you sure you want to turn it off?\n
\n
\n \n
\n
\n
\n Two factor authentication removed from RTL.\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy, Inject, ViewChild } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatStepper } from '@angular/material/stepper';\nimport { faInfoCircle, faCopy, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\nimport { authenticator } from 'otplib';\nimport * as sha256 from 'sha256';\n\nimport { RTLConfiguration } from '../../../models/RTLconfig';\nimport { AuthConfig } from '../../../models/alertData';\n\nimport { RTLEffects } from '../../../../store/rtl.effects';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { isAuthorized, twoFASaveSettings } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-two-factor-auth',\n templateUrl: './two-factor-auth.component.html',\n styleUrls: ['./two-factor-auth.component.scss']\n})\nexport class TwoFactorAuthComponent implements OnInit, OnDestroy {\n\n @ViewChild('stepper', { static: false }) stepper: MatStepper;\n public faExclamationTriangle = faExclamationTriangle;\n public faCopy = faCopy;\n public faInfoCircle = faInfoCircle;\n public flgValidated = false;\n public isTokenValid = true;\n public otpauth = '';\n public appConfig: RTLConfiguration | null = null;\n public flgEditable = true;\n public showDisableStepper = false;\n public passwordFormLabel = 'Authenticate with your RTL password';\n public secretFormLabel = 'Scan or copy the secret';\n public tokenFormLabel = 'Verify your authentication is working';\n public disableFormLabel = 'Disable two factor authentication';\n passwordFormGroup: UntypedFormGroup = this.formBuilder.group({\n hiddenPassword: ['', [Validators.required]],\n password: ['', [Validators.required]]\n });\n secretFormGroup: UntypedFormGroup = this.formBuilder.group({\n secret: [{ value: '', disabled: true }, Validators.required]\n });\n tokenFormGroup: UntypedFormGroup = this.formBuilder.group({\n token: ['', Validators.required]\n });\n disableFormGroup: UntypedFormGroup = this.formBuilder.group({});\n unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: AuthConfig, private store: Store, private formBuilder: UntypedFormBuilder, private rtlEffects: RTLEffects, private snackBar: MatSnackBar) { }\n\n ngOnInit() {\n this.appConfig = this.data.appConfig || null;\n this.showDisableStepper = !!this.appConfig?.enable2FA;\n this.secretFormGroup = this.formBuilder.group({\n secret: [{ value: !this.appConfig?.enable2FA ? this.generateSecret() : '', disabled: true }, Validators.required]\n });\n }\n\n generateSecret() {\n const secret2fa = authenticator.generateSecret();\n this.otpauth = authenticator.keyuri('', 'Ride The Lightning (RTL)', secret2fa);\n return secret2fa;\n }\n\n onAuthenticate(): boolean | void {\n if (!this.passwordFormGroup.controls.password.value) {\n return true;\n }\n this.flgValidated = false;\n this.store.dispatch(isAuthorized({ payload: sha256(this.passwordFormGroup.controls.password.value).toString() }));\n this.rtlEffects.isAuthorizedRes.\n pipe(take(1)).\n subscribe((authRes) => {\n if (authRes !== 'ERROR') {\n this.passwordFormGroup.controls.hiddenPassword.setValue(this.passwordFormGroup.controls.password.value);\n this.stepper.next();\n } else {\n this.dialogRef.close();\n this.snackBar.open('Unauthorized User. Logging out from RTL.');\n }\n });\n }\n\n onCopySecret(payload: string) {\n this.snackBar.open('Secret code ' + this.secretFormGroup.controls.secret.value + ' copied.');\n }\n\n onVerifyToken(): boolean | void {\n if (this.appConfig?.enable2FA) {\n this.store.dispatch(twoFASaveSettings({ payload: { secret2fa: '' } }));\n this.generateSecret();\n this.isTokenValid = true;\n } else {\n if (!this.tokenFormGroup.controls.token.value) {\n return true;\n }\n this.isTokenValid = authenticator.check(this.tokenFormGroup.controls.token.value, this.secretFormGroup.controls.secret.value);\n if (!this.isTokenValid) {\n this.tokenFormGroup.controls.token.setErrors({ notValid: true });\n return true;\n }\n this.store.dispatch(twoFASaveSettings({ payload: { secret2fa: this.secretFormGroup.controls.secret.value } }));\n this.tokenFormGroup.controls.token.setValue('');\n }\n this.flgValidated = true;\n if (this.appConfig) {\n this.appConfig.enable2FA = !this.appConfig?.enable2FA;\n }\n }\n\n stepSelectionChanged(event: any) {\n switch (event.selectedIndex) {\n case 0:\n this.passwordFormLabel = 'Authenticate with your RTL password';\n break;\n\n case 1:\n this.passwordFormLabel = 'User authenticated successfully';\n break;\n\n case 2:\n this.passwordFormLabel = 'User authenticated successfully';\n break;\n\n default:\n this.passwordFormLabel = 'Authenticate with your RTL password';\n break;\n }\n if (event.selectedIndex < event.previouslySelectedIndex) {\n if (event.selectedIndex === 0) {\n this.passwordFormGroup.controls.hiddenPassword.setValue('');\n }\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n
\n \n Password\n
\n \n \n Current password is required.\n \n \n \n {{errorMsg}}\n \n \n \n {{errorConfirmMsg}}\n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n Two Factor Authentication\n
\n
\n \n Protect your account from unauthorized access by requiring a second authentication method in addition to your password.\n
\n
\n \n
\n
\n
\n","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { Actions } from '@ngrx/effects';\nimport { faUserLock, faUserClock, faInfoCircle, faLock } from '@fortawesome/free-solid-svg-icons';\nimport * as sha256 from 'sha256';\n\nimport { TwoFactorAuthComponent } from '../../data-modal/two-factor-auth/two-factor-auth.component';\nimport { RTLConfiguration, ConfigSettingsNode } from '../../../models/RTLconfig';\nimport { PASSWORD_BLACKLIST, RTLActions, UI_MESSAGES } from '../../../services/consts-enums-functions';\nimport { SessionService } from '../../../services/session.service';\nimport { openAlert, resetPassword, setSelectedNode } from '../../../../store/rtl.actions';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { rootAppConfig, rootSelectedNode } from '../../../../store/rtl.selector';\nimport { LoggerService } from '../../../services/logger.service';\n\n@Component({\n selector: 'rtl-auth-settings',\n templateUrl: './auth-settings.component.html',\n styleUrls: ['./auth-settings.component.scss']\n})\nexport class AuthSettingsComponent implements OnInit, OnDestroy {\n\n @ViewChild('authForm', { static: false }) form: any;\n public faInfoCircle = faInfoCircle;\n public faUserLock = faUserLock;\n public faUserClock = faUserClock;\n public faLock = faLock;\n public currPassword = '';\n public newPassword = '';\n public confirmPassword = '';\n public errorMsg = '';\n public errorConfirmMsg = '';\n public initializeNodeData = false;\n public appConfig: RTLConfiguration;\n public selNode: ConfigSettingsNode | any;\n unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private store: Store, private actions: Actions, private router: Router, private sessionService: SessionService) { }\n\n ngOnInit() {\n this.initializeNodeData = this.sessionService.getItem('defaultPassword') === 'true';\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[0])).subscribe((appConfig) => {\n this.appConfig = appConfig;\n this.logger.info(this.appConfig);\n });\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[1])).subscribe((selNode) => {\n this.selNode = selNode;\n });\n this.actions.pipe(\n takeUntil(this.unSubs[2]),\n filter((action) => action.type === RTLActions.RESET_PASSWORD_RES)).\n subscribe((action: any) => {\n if (PASSWORD_BLACKLIST.includes(this.currPassword.toLowerCase())) { // To redirect after initial password reset is done\n switch (this.selNode.lnImplementation?.toUpperCase()) {\n case 'CLN':\n this.router.navigate(['/cln/home']);\n break;\n\n case 'ECL':\n this.router.navigate(['/ecl/home']);\n break;\n\n default:\n this.router.navigate(['/lnd/home']);\n break;\n }\n }\n if (this.form) { this.form.resetForm(); }\n });\n }\n\n onChangePassword(): boolean | void {\n if (!this.currPassword || !this.newPassword || !this.confirmPassword || this.currPassword === this.newPassword || this.newPassword !== this.confirmPassword || PASSWORD_BLACKLIST.includes(this.newPassword.toLowerCase())) {\n return true;\n }\n this.store.dispatch(resetPassword({ payload: { currPassword: sha256(this.currPassword).toString(), newPassword: sha256(this.newPassword).toString() } }));\n }\n\n matchOldAndNewPasswords(): boolean {\n let invalid = false;\n if (this.form && this.form.controls && this.form.controls.newpassword) {\n if (!this.newPassword) {\n this.form.controls.newpassword.setErrors({ invalid: true });\n this.errorMsg = 'New password is required.';\n invalid = true;\n } else if (this.currPassword !== '' && this.newPassword !== '' && this.currPassword === this.newPassword) {\n this.form.controls.newpassword.setErrors({ invalid: true });\n this.errorMsg = 'Old and New password cannot be same.';\n invalid = true;\n } else if (PASSWORD_BLACKLIST.includes(this.newPassword.toLowerCase())) {\n this.form.controls.newpassword.setErrors({ invalid: true });\n this.errorMsg = PASSWORD_BLACKLIST?.reduce((totalList, currentPass, i) => ((i < (PASSWORD_BLACKLIST.length - 1)) ? (totalList + currentPass + '\" / \"') : (totalList + currentPass + '\".')), 'Password cannot be \"');\n invalid = true;\n } else {\n this.form.controls.newpassword.setErrors(null);\n this.errorMsg = '';\n invalid = false;\n }\n }\n return invalid;\n }\n\n matchNewPasswords(): boolean {\n let invalid = false;\n if (this.form && this.form.controls && this.form.controls.confirmpassword) {\n if (!this.confirmPassword) {\n this.form.controls.confirmpassword.setErrors({ invalid: true });\n this.errorConfirmMsg = 'Confirm password is required.';\n invalid = true;\n } else if (this.newPassword !== '' && this.confirmPassword !== '' && this.newPassword !== this.confirmPassword) {\n this.form.controls.confirmpassword.setErrors({ invalid: true });\n this.errorConfirmMsg = 'New and confirm passwords do not match.';\n invalid = true;\n } else {\n this.form.controls.confirmpassword.setErrors(null);\n this.errorConfirmMsg = '';\n invalid = false;\n }\n }\n return invalid;\n }\n\n on2FAuth() {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n appConfig: this.appConfig,\n component: TwoFactorAuthComponent\n }\n }\n }));\n }\n\n onResetPassword() {\n this.form.resetForm();\n }\n\n ngOnDestroy() {\n if (this.initializeNodeData) {\n this.store.dispatch(setSelectedNode({ payload: { uiMessage: UI_MESSAGES.NO_SPINNER, prevLnNodeIndex: -1, currentLnNode: this.selNode, isInitialSetup: true } }));\n }\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n
\n
{{configData | json}}
\n \n
\n
\n \n \n \n

= 0\">{{conf}}

\n
\n \n

{{conf}}

\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faCog } from '@fortawesome/free-solid-svg-icons';\n\nimport { RTLEffects } from '../../../../store/rtl.effects';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { fetchConfig } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-bitcoin-config',\n templateUrl: './bitcoin-config.component.html',\n styleUrls: ['./bitcoin-config.component.scss']\n})\nexport class BitcoinConfigComponent implements OnInit, OnDestroy {\n\n public configData = '';\n public fileFormat = 'INI';\n public faCog = faCog;\n private unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) { }\n\n ngOnInit() {\n this.store.dispatch(fetchConfig({ payload: 'bitcoind' }));\n this.rtlEffects.showLnConfig.\n pipe(takeUntil(this.unSubs[1])).\n subscribe((config: any) => {\n const configFile = config.data;\n this.fileFormat = config.format;\n if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) {\n this.configData = configFile.split('\\n');\n } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') {\n this.configData = configFile;\n } else {\n this.configData = '';\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n \n
\n Authenticate with your RTL Password\n
\n \n
\n \n
\n \n \n Password is required.\n \n
\n \n
\n
\n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport * as sha256 from 'sha256';\n\nimport { RTLEffects } from '../../../../store/rtl.effects';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { isAuthorized, closeAlert } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-is-authorized',\n templateUrl: './is-authorized.component.html',\n styleUrls: ['./is-authorized.component.scss']\n})\nexport class IsAuthorizedComponent implements OnInit, OnDestroy {\n\n public password = '';\n public isAuthenticated = false;\n private unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, private store: Store, private rtlEffects: RTLEffects) { }\n\n ngOnInit(): void {\n this.rtlEffects.isAuthorizedRes.\n pipe(take(1)).\n subscribe((authRes) => {\n if (authRes !== 'ERROR') {\n this.isAuthenticated = true;\n this.store.dispatch(closeAlert({ payload: this.isAuthenticated }));\n } else {\n this.isAuthenticated = false;\n }\n });\n }\n\n onAuthenticate(): boolean | void {\n if (!this.password) { return true; }\n this.store.dispatch(isAuthorized({ payload: sha256(this.password) }));\n }\n\n onClose() {\n this.store.dispatch(closeAlert({ payload: this.isAuthenticated }));\n }\n\n ngOnDestroy(): void {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n \n Node Config\n
\n
\n \n \n \n \n \n
\n \n
\n
\n
\n
\n ","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event, ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { openAlert } from '../../../store/rtl.actions';\n\nimport { RTLEffects } from '../../../store/rtl.effects';\nimport { IsAuthorizedComponent } from '../../components/data-modal/is-authorized/is-authorized.component';\nimport { ConfigSettingsNode } from '../../models/RTLconfig';\nimport { RTLState } from '../../../store/rtl.state';\nimport { rootSelectedNode } from '../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-node-config',\n templateUrl: './node-config.component.html',\n styleUrls: ['./node-config.component.scss']\n})\nexport class NodeConfigComponent implements OnInit, OnDestroy {\n\n public faTools = faTools;\n public showLnConfig = false;\n public selNode: ConfigSettingsNode | any;\n public lnImplementationStr = '';\n public links = [{ link: 'nodesettings', name: 'Node Settings' }, { link: 'pglayout', name: 'Page Layout' }, { link: 'services', name: 'Services' }, { link: 'experimental', name: 'Experimental' }, { link: 'lnconfig', name: this.lnImplementationStr }];\n public activeLink = '';\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private store: Store, private router: Router, private rtlEffects: RTLEffects, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n const linkFound = this.links.find((link) => this.router.url.includes(link.link));\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)).\n subscribe({\n next: (value: ResolveEnd | Event) => {\n const linkFound = this.links.find((link) => (value).urlAfterRedirects.includes(link.link));\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n }\n });\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[1])).subscribe((selNode) => {\n this.showLnConfig = false;\n this.selNode = selNode;\n switch (this.selNode.lnImplementation?.toUpperCase()) {\n case 'CLN':\n this.lnImplementationStr = 'Core Lightning Config';\n break;\n\n case 'ECL':\n this.lnImplementationStr = 'Eclair Config';\n break;\n\n default:\n this.lnImplementationStr = 'LND Config';\n break;\n }\n if (this.selNode.authentication && this.selNode.authentication.configPath && this.selNode.authentication.configPath.trim() !== '') {\n this.links[4].name = this.lnImplementationStr;\n this.showLnConfig = true;\n }\n });\n }\n\n showLnConfigClicked() {\n this.store.dispatch(openAlert({\n payload: {\n maxWidth: '50rem',\n data: {\n component: IsAuthorizedComponent\n }\n }\n }));\n this.rtlEffects.closeAlert.pipe(takeUntil(this.unSubs[1])).subscribe((alertRes) => {\n if (alertRes) {\n this.activeLink = this.links[4].link;\n this.router.navigate(['./' + this.activeLink], { relativeTo: this.activatedRoute });\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n
\n
{{configData | json}}
\n \n
\n
\n \n \n \n

= 0\">{{conf}}

\n
\n \n

{{conf}}

\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faCog } from '@fortawesome/free-solid-svg-icons';\n\nimport { RTLEffects } from '../../../../store/rtl.effects';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { fetchConfig } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-lnp-config',\n templateUrl: './lnp-config.component.html',\n styleUrls: ['./lnp-config.component.scss']\n})\nexport class LNPConfigComponent implements OnInit, OnDestroy {\n\n public configData = '';\n public fileFormat = 'INI';\n public faCog = faCog;\n private unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private store: Store, private rtlEffects: RTLEffects, private router: Router) { }\n\n ngOnInit() {\n this.store.dispatch(fetchConfig({ payload: 'ln' }));\n this.rtlEffects.showLnConfig.\n pipe(takeUntil(this.unSubs[1])).\n subscribe((config: any) => {\n const configFile = config.data;\n this.fileFormat = config.format;\n if (configFile !== '' && configFile && (this.fileFormat === 'INI' || this.fileFormat === 'HOCON')) {\n this.configData = configFile.split('\\n');\n } else if (configFile !== '' && configFile && this.fileFormat === 'JSON') {\n this.configData = configFile;\n } else {\n this.configData = '';\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n \n \n \n \n \n Open Unannounced Channels\n \n \n
\n
\n \n Use this control to toggle setting which defaults to opening unannounced channels only.\n
\n
\n Open Unannounced Channels\n
\n
\n
\n \n \n \n \n Balance Display\n \n \n
\n
\n \n Fiat conversion calls Blockchain.com API to get conversion rates.\n
\n
\n Enable Fiat Conversion\n \n \n \n {{currencyUnit.id}}\n \n \n Currency unit is required.\n \n
\n
\n
\n \n \n \n \n Customization\n \n \n
\n
\n \n Dashboard layout will be tailored based on the role selected to better serve its needs.\n
\n
\n

Dashboard Layout

\n \n \n {{userPersona | titlecase}}\n \n \n
\n \n
\n

Mode

\n \n {{themeMode.name}}\n \n \n
\n \n
\n
\n

Themes

\n
\n \n
\n {{themeColor.name}}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faMoneyBillAlt, faPaintBrush, faInfoCircle, faExclamationTriangle, faEyeSlash } from '@fortawesome/free-solid-svg-icons';\n\nimport { CURRENCY_UNITS, UserPersonaEnum, ScreenSizeEnum, FIAT_CURRENCY_UNITS, NODE_SETTINGS, UI_MESSAGES } from '../../../services/consts-enums-functions';\nimport { ConfigSettingsNode, Settings } from '../../../models/RTLconfig';\nimport { LoggerService } from '../../../services/logger.service';\nimport { CommonService } from '../../../services/common.service';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { saveSettings, setSelectedNode } from '../../../../store/rtl.actions';\nimport { setChildNodeSettingsECL } from '../../../../eclair/store/ecl.actions';\nimport { setChildNodeSettingsCL } from '../../../../cln/store/cln.actions';\nimport { setChildNodeSettingsLND } from '../../../../lnd/store/lnd.actions';\nimport { rootSelectedNode } from '../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-node-settings',\n templateUrl: './node-settings.component.html',\n styleUrls: ['./node-settings.component.scss']\n})\nexport class NodeSettingsComponent implements OnInit, OnDestroy {\n\n public faExclamationTriangle = faExclamationTriangle;\n public faMoneyBillAlt = faMoneyBillAlt;\n public faPaintBrush = faPaintBrush;\n public faInfoCircle = faInfoCircle;\n public faEyeSlash = faEyeSlash;\n public selNode: ConfigSettingsNode | any;\n public userPersonas = [UserPersonaEnum.OPERATOR, UserPersonaEnum.MERCHANT];\n public currencyUnits = FIAT_CURRENCY_UNITS;\n public themeModes = NODE_SETTINGS.modes;\n public themeColors = NODE_SETTINGS.themes;\n public selectedThemeMode = NODE_SETTINGS.modes[0];\n public selectedThemeColor = NODE_SETTINGS.themes[0].id;\n public currencyUnit = 'BTC';\n public smallerCurrencyUnit = 'Sats';\n public showSettingOption = true;\n public previousSettings: Settings;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private commonService: CommonService, private store: Store) {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n ngOnInit() {\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[0])).subscribe((selNode) => {\n this.selNode = selNode;\n this.selectedThemeMode = this.themeModes.find((themeMode) => this.selNode.settings.themeMode === themeMode.id) || this.themeModes[0];\n this.selectedThemeColor = this.selNode.settings.themeColor;\n if (!this.selNode.settings.fiatConversion) {\n this.selNode.settings.currencyUnit = '';\n }\n this.previousSettings = JSON.parse(JSON.stringify(this.selNode.settings));\n this.logger.info(selNode);\n });\n }\n\n onCurrencyChange(event: any) {\n this.selNode.settings.currencyUnits = [...CURRENCY_UNITS, event.value];\n this.store.dispatch(setChildNodeSettingsLND({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value,\n currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels,\n lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n this.store.dispatch(setChildNodeSettingsCL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value,\n currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels,\n lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n this.store.dispatch(setChildNodeSettingsECL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: event.value,\n currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels,\n lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n }\n\n toggleSettings(toggleField: string, event?: any) {\n this.selNode.settings[toggleField] = !this.selNode.settings[toggleField];\n }\n\n changeThemeColor(newThemeColor: string) {\n this.selectedThemeColor = newThemeColor;\n this.selNode.settings.themeColor = newThemeColor;\n }\n\n chooseThemeMode() {\n this.selNode.settings.themeMode = this.selectedThemeMode.id;\n }\n\n onUpdateSettings(): boolean | void {\n if (this.selNode.settings.fiatConversion && !this.selNode.settings.currencyUnit) {\n return true;\n }\n this.logger.info(this.selNode.settings);\n this.store.dispatch(saveSettings({ payload: { uiMessage: UI_MESSAGES.UPDATE_NODE_SETTINGS, settings: this.selNode.settings } }));\n this.store.dispatch(setChildNodeSettingsLND({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath,\n selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits,\n fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation,\n swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n this.store.dispatch(setChildNodeSettingsCL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath,\n selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits,\n fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation,\n swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n this.store.dispatch(setChildNodeSettingsECL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath,\n selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits,\n fiatConversion: this.selNode.settings.fiatConversion, unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation,\n swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl\n }\n }));\n }\n\n onResetSettings() {\n const prevIndex = this.selNode.index || -1;\n this.selNode.settings = this.previousSettings;\n this.selectedThemeMode = this.themeModes.find((themeMode) => themeMode.id === this.previousSettings.themeMode) || this.themeModes[0];\n this.selectedThemeColor = this.previousSettings.themeColor;\n this.store.dispatch(setSelectedNode({ payload: { uiMessage: UI_MESSAGES.NO_SPINNER, prevLnNodeIndex: +prevIndex, currentLnNode: this.selNode, isInitialSetup: true } }));\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n
\n \n Grid Settings\n
\n \n \n \n \n {{page.pageId | camelcaseWithReplace:'_'}}\n \n
\n
\n {{table.tableId | camelcaseWithReplace:'_'}}:\n \n \n \n {{pageSizeOption}}\n \n \n \n \n \n \n {{selNode.lnImplementation === 'ECL' ? (field | camelCaseWithSpaces) : (field | camelcaseWithReplace:'_')}}\n \n \n \n \n \n \n {{so === 'desc' ? 'Descending' : 'Ascending'}}\n \n \n \n \n \n \n {{field.label ? field.label : (selNode.lnImplementation === 'ECL' ? (field.column | camelCaseWithSpaces) : (field.column | camelcaseWithReplace:'_'))}}\n \n \n \n \n \n = 3 && !table.columnSelectionSM.includes(field.column))\">\n {{field.label ? field.label : (selNode.lnImplementation === 'ECL' ? (field.column | camelCaseWithSpaces) : (field.column | camelcaseWithReplace:'_'))}}\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n Page {{error.page | titlecase}}\n \n \n close\n {{error.message}} \n \n \n close\n Table {{table.table | titlecase}} {{table.message}}\n \n \n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil, withLatestFrom } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { Actions } from '@ngrx/effects';\nimport { faPenRuler, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\n\nimport { APICallStatusEnum, CLNActions, CLN_DEFAULT_PAGE_SETTINGS, CLN_PAGE_DEFS, LNDActions, LND_DEFAULT_PAGE_SETTINGS, LND_PAGE_DEFS, ECLActions, ECL_DEFAULT_PAGE_SETTINGS, ECL_PAGE_DEFS, PAGE_SIZE_OPTIONS, ScreenSizeEnum, SORT_ORDERS } from '../../../services/consts-enums-functions';\nimport { LoggerService } from '../../../services/logger.service';\nimport { CommonService } from '../../../services/common.service';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { ApiCallStatusPayload } from '../../../models/apiCallsPayload';\nimport { rootSelectedNode } from '../../../../store/rtl.selector';\nimport { SelNodeChild, ConfigSettingsNode } from '../../../models/RTLconfig';\nimport { TableSetting, PageSettings } from '../../../models/pageSettings';\nimport { clnNodeSettings, clnPageSettings } from '../../../../cln/store/cln.selector';\nimport { lndNodeSettings, lndPageSettings } from '../../../../lnd/store/lnd.selector';\nimport { savePageSettings as savePageSettingsCLN } from '../../../../cln/store/cln.actions';\nimport { savePageSettings as savePageSettingsLND } from '../../../../lnd/store/lnd.actions';\nimport { eclNodeSettings, eclPageSettings } from '../../../../eclair/store/ecl.selector';\nimport { savePageSettings as savePageSettingsECL } from '../../../../eclair/store/ecl.actions';\n\n@Component({\n selector: 'rtl-page-settings',\n templateUrl: './page-settings.component.html',\n styleUrls: ['./page-settings.component.scss']\n})\nexport class PageSettingsComponent implements OnInit, OnDestroy {\n\n public faPenRuler = faPenRuler;\n public faExclamationTriangle = faExclamationTriangle;\n public selNode: ConfigSettingsNode;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public pageSizeOptions = PAGE_SIZE_OPTIONS;\n public pageSettings: PageSettings[] = [];\n public initialPageSettings: PageSettings[] = [];\n public defaultSettings: PageSettings[] = [];\n public nodePageDefs = {};\n public sortOrders = SORT_ORDERS;\n public apiCallStatus: ApiCallStatusPayload | null = null;\n public apiCallStatusEnum = APICallStatusEnum;\n public errorMessage: any = null;\n unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions) {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n ngOnInit() {\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[0])).subscribe((selNode) => {\n this.selNode = selNode;\n this.logger.info(this.selNode);\n switch (this.selNode.lnImplementation) {\n case 'CLN':\n this.initialPageSettings = Object.assign([], CLN_DEFAULT_PAGE_SETTINGS);\n this.defaultSettings = Object.assign([], CLN_DEFAULT_PAGE_SETTINGS);\n this.nodePageDefs = CLN_PAGE_DEFS;\n this.store.select(clnPageSettings).pipe(takeUntil(this.unSubs[1]),\n withLatestFrom(this.store.select(clnNodeSettings))).\n subscribe(([settings, nodeSettings]: [{ pageSettings: PageSettings[], apiCallStatus: ApiCallStatusPayload }, (SelNodeChild | null)]) => {\n const updatedPageSettings = JSON.parse(JSON.stringify(settings.pageSettings));\n this.errorMessage = null;\n this.apiCallStatus = settings.apiCallStatus;\n if (this.apiCallStatus.status === APICallStatusEnum.ERROR) {\n this.errorMessage = this.apiCallStatus.message || null;\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n } else {\n if (!nodeSettings?.enableOffers) {\n const transactionsPage = updatedPageSettings.find((pg) => pg.pageId === 'transactions');\n const offerIdx = transactionsPage?.tables.findIndex((tb) => tb.tableId === 'offers');\n const offerBookmarkIdx = transactionsPage?.tables.findIndex((tb) => tb.tableId === 'offer_bookmarks');\n if (offerIdx > -1) { transactionsPage?.tables.splice(offerIdx, 1); }\n if (offerBookmarkIdx > -1) { transactionsPage?.tables.splice(offerBookmarkIdx, 1); }\n }\n if (!nodeSettings?.enablePeerswap) {\n const psIdx = updatedPageSettings.findIndex((pg) => pg.pageId === 'peerswap');\n if (psIdx > -1) { updatedPageSettings.splice(psIdx, 1); }\n }\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n }\n this.logger.info(updatedPageSettings);\n });\n this.actions.pipe(takeUntil(this.unSubs[2]), filter((action) => action.type === CLNActions.UPDATE_API_CALL_STATUS_CLN || action.type === CLNActions.SAVE_PAGE_SETTINGS_CLN)).\n subscribe((action: any) => {\n if (action.type === CLNActions.UPDATE_API_CALL_STATUS_CLN && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SavePageSettings') {\n this.errorMessage = JSON.parse(action.payload.message);\n }\n });\n break;\n\n case 'ECL':\n this.initialPageSettings = Object.assign([], ECL_DEFAULT_PAGE_SETTINGS);\n this.defaultSettings = Object.assign([], ECL_DEFAULT_PAGE_SETTINGS);\n this.nodePageDefs = ECL_PAGE_DEFS;\n this.store.select(eclPageSettings).pipe(takeUntil(this.unSubs[1]),\n withLatestFrom(this.store.select(eclNodeSettings))).\n subscribe(([settings, nodeSettings]: [{ pageSettings: PageSettings[], apiCallStatus: ApiCallStatusPayload }, (SelNodeChild | null)]) => {\n const updatedPageSettings = JSON.parse(JSON.stringify(settings.pageSettings));\n this.errorMessage = null;\n this.apiCallStatus = settings.apiCallStatus;\n if (this.apiCallStatus.status === APICallStatusEnum.ERROR) {\n this.errorMessage = this.apiCallStatus.message || null;\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n } else {\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n }\n this.logger.info(updatedPageSettings);\n });\n this.actions.pipe(takeUntil(this.unSubs[2]), filter((action) => action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL || action.type === ECLActions.SAVE_PAGE_SETTINGS_ECL)).\n subscribe((action: any) => {\n if (action.type === ECLActions.UPDATE_API_CALL_STATUS_ECL && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SavePageSettings') {\n this.errorMessage = JSON.parse(action.payload.message);\n }\n });\n break;\n\n default:\n this.initialPageSettings = Object.assign([], LND_DEFAULT_PAGE_SETTINGS);\n this.defaultSettings = Object.assign([], LND_DEFAULT_PAGE_SETTINGS);\n this.nodePageDefs = LND_PAGE_DEFS;\n this.store.select(lndPageSettings).pipe(takeUntil(this.unSubs[1]),\n withLatestFrom(this.store.select(lndNodeSettings))).\n subscribe(([settings, nodeSettings]: [{ pageSettings: PageSettings[], apiCallStatus: ApiCallStatusPayload }, (SelNodeChild | null)]) => {\n const updatedPageSettings: PageSettings[] = JSON.parse(JSON.stringify(settings.pageSettings));\n this.errorMessage = null;\n this.apiCallStatus = settings.apiCallStatus;\n if (this.apiCallStatus.status === APICallStatusEnum.ERROR) {\n this.errorMessage = this.apiCallStatus.message || null;\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n } else {\n if (!nodeSettings?.swapServerUrl || nodeSettings.swapServerUrl.trim() === '') {\n const loopIdx = updatedPageSettings.findIndex((pg) => pg.pageId === 'loop');\n if (loopIdx > -1) { updatedPageSettings.splice(loopIdx, 1); }\n }\n if (!nodeSettings?.boltzServerUrl || nodeSettings.boltzServerUrl.trim() === '') {\n const boltzIdx = updatedPageSettings.findIndex((pg) => pg.pageId === 'boltz');\n if (boltzIdx > -1) { updatedPageSettings.splice(boltzIdx, 1); }\n }\n if (!nodeSettings?.enablePeerswap) {\n const psIdx = updatedPageSettings.findIndex((pg) => pg.pageId === 'peerswap');\n if (psIdx > -1) { updatedPageSettings.splice(psIdx, 1); }\n }\n this.pageSettings = updatedPageSettings;\n this.initialPageSettings = updatedPageSettings;\n }\n this.logger.info(updatedPageSettings);\n });\n this.actions.pipe(takeUntil(this.unSubs[2]), filter((action) => action.type === LNDActions.UPDATE_API_CALL_STATUS_LND || action.type === LNDActions.SAVE_PAGE_SETTINGS_LND)).\n subscribe((action: any) => {\n if (action.type === LNDActions.UPDATE_API_CALL_STATUS_LND && action.payload.status === APICallStatusEnum.ERROR && action.payload.action === 'SavePageSettings') {\n this.errorMessage = JSON.parse(action.payload.message);\n }\n });\n break;\n }\n });\n }\n\n oncolumnSelectionChange(table: TableSetting) {\n if (table.columnSelection && (!table.sortBy || !table.columnSelection.includes(table.sortBy))) {\n table.sortBy = table.columnSelection[0];\n }\n }\n\n onUpdatePageSettings(): boolean | void {\n if (this.pageSettings.reduce((pacc, page) => (pacc || (page.tables.reduce((acc, table) => !(table.recordsPerPage && table.sortBy && table.sortOrder && table.columnSelection && table.columnSelection.length >= 2), false))), false)) {\n return true;\n }\n this.errorMessage = '';\n switch (this.selNode.lnImplementation) {\n case 'CLN':\n this.store.dispatch(savePageSettingsCLN({ payload: this.pageSettings }));\n break;\n\n case 'ECL':\n this.store.dispatch(savePageSettingsECL({ payload: this.pageSettings }));\n break;\n\n default:\n this.store.dispatch(savePageSettingsLND({ payload: this.pageSettings }));\n break;\n }\n }\n\n onTableReset(currPageId: string, currTable: TableSetting) {\n const pageIdx = this.pageSettings.findIndex((page) => page.pageId === currPageId);\n const tableIdx = this.pageSettings[pageIdx].tables.findIndex((table) => table.tableId === currTable.tableId);\n const tableToReplace = this.defaultSettings.find((page) => page.pageId === currPageId)?.tables.find((table) => table.tableId === currTable.tableId) || this.pageSettings.find((page) => page.pageId === currPageId)?.tables.find((table) => table.tableId === currTable.tableId);\n this.pageSettings[pageIdx].tables.splice(tableIdx, 1, tableToReplace!);\n }\n\n onResetPageSettings(prev: string) {\n if (prev === 'current') {\n this.errorMessage = null;\n this.pageSettings = JSON.parse(JSON.stringify(this.initialPageSettings));\n } else {\n this.errorMessage = null;\n this.pageSettings = JSON.parse(JSON.stringify(this.defaultSettings));\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n \n Services\n
\n
\n
\n \n \n \n \n \n
\n \n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event, ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { faLayerGroup } from '@fortawesome/free-solid-svg-icons';\nimport { ConfigSettingsNode } from '../../../models/RTLconfig';\nimport { Store } from '@ngrx/store';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { rootSelectedNode } from '../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-services-settings',\n templateUrl: './services-settings.component.html',\n styleUrls: ['./services-settings.component.scss']\n})\nexport class ServicesSettingsComponent implements OnInit, OnDestroy {\n\n public faLayerGroup = faLayerGroup;\n public links = [{ link: 'loop', name: 'Loop' }, { link: 'boltz', name: 'Boltz' }, { link: 'peerswap', name: 'Peerswap' }];\n public activeLink = '';\n public selNode: ConfigSettingsNode | any;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private store: Store, private router: Router, private activatedRoute: ActivatedRoute) { }\n\n ngOnInit() {\n const linkFound = this.links.find((link) => this.router.url.includes(link.link));\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)).\n subscribe({\n next: (value: ResolveEnd | Event) => {\n const linkFound = this.links.find((link) => (value).urlAfterRedirects.includes(link.link));\n if (this.selNode.lnImplementation.toUpperCase() === 'CLN') {\n this.activeLink = this.links[2].link;\n } else {\n this.activeLink = linkFound ? linkFound.link : this.links[0].link;\n }\n }\n });\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[1])).subscribe((selNode) => {\n this.selNode = selNode;\n if (this.selNode.lnImplementation.toUpperCase() === 'CLN') {\n this.activeLink = this.links[2].link;\n this.router.navigate(['./' + this.activeLink], { relativeTo: this.activatedRoute });\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n \n Please ensure that loopd is running and accessible to RTL before enabling this service. Click here to learn more about the installation.\n
\n
\n
\n Enable Loop Service\n \n \n Service url for loop server REST APIs, eg. https://localhost:8081\n Loop server URL is required.\n Specify the loop server url with 'https://'.\n \n \n \n Path for the folder containing service 'loop.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Local\\\\Loop\\\\testnet\n Loop macaroon path is required.\n \n
\n
\n
\n \n \n
\n
\n","import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { ServicesEnum, UI_MESSAGES } from '../../../../services/consts-enums-functions';\nimport { ConfigSettingsNode } from '../../../../models/RTLconfig';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\nimport { updateServiceSettings } from '../../../../../store/rtl.actions';\nimport { RTLState } from '../../../../../store/rtl.state';\nimport { setChildNodeSettingsLND } from '../../../../../lnd/store/lnd.actions';\nimport { setChildNodeSettingsCL } from '../../../../../cln/store/cln.actions';\nimport { setChildNodeSettingsECL } from '../../../../../eclair/store/ecl.actions';\nimport { rootSelectedNode } from '../../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-loop-service-settings',\n templateUrl: './loop-service-settings.component.html',\n styleUrls: ['./loop-service-settings.component.scss']\n})\nexport class LoopServiceSettingsComponent implements OnInit, OnDestroy {\n\n @ViewChild('form', { static: true }) form: any;\n public faInfoCircle = faInfoCircle;\n public selNode: ConfigSettingsNode | any;\n public previousSelNode: ConfigSettingsNode | any;\n public enableLoop = false;\n unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private store: Store) { }\n\n ngOnInit() {\n this.store.select(rootSelectedNode).\n pipe(takeUntil(this.unSubs[0])).\n subscribe((selNode) => {\n this.selNode = selNode;\n this.enableLoop = !!(selNode.settings.swapServerUrl && selNode.settings.swapServerUrl.trim() !== '');\n this.previousSelNode = JSON.parse(JSON.stringify(this.selNode));\n this.logger.info(selNode);\n });\n }\n\n onEnableServiceChanged(event) {\n this.enableLoop = event.checked;\n if (!this.enableLoop) {\n this.selNode.authentication.swapMacaroonPath = '';\n this.selNode.settings.swapServerUrl = '';\n }\n }\n\n onUpdateService(): boolean | void {\n if (this.selNode.settings.swapServerUrl && this.selNode.settings.swapServerUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) {\n this.form.controls.srvrUrl.setErrors({ invalid: true });\n }\n if (this.enableLoop && (!this.selNode.settings.swapServerUrl || this.selNode.settings.swapServerUrl.trim() === '' || !this.selNode.authentication.swapMacaroonPath || this.selNode.authentication.swapMacaroonPath.trim() === '')) {\n return true;\n }\n this.logger.info(this.selNode);\n this.store.dispatch(updateServiceSettings({ payload: { uiMessage: UI_MESSAGES.UPDATE_LOOP_SETTINGS, service: ServicesEnum.LOOP, settings: { enable: this.enableLoop, serverUrl: this.selNode.settings.swapServerUrl, macaroonPath: this.selNode.authentication.swapMacaroonPath } } }));\n this.store.dispatch(setChildNodeSettingsLND({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsCL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsECL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n }\n\n onReset() {\n this.selNode = JSON.parse(JSON.stringify(this.previousSelNode));\n this.enableLoop = !!(this.selNode.settings.swapServerUrl && this.selNode.settings.swapServerUrl.trim() !== '');\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","
\n
\n \n Please ensure that boltzd is running and accessible to RTL before enabling this service. Click here to learn more about the installation.\n
\n
\n
\n Enable Boltz Service\n \n \n Service url for boltz server REST APIs, eg. https://localhost:9003\n Boltz server URL is required.\n Specify the boltz server url with 'https://'.\n \n \n \n Path for the folder containing boltz 'admin.macaroon', eg. D:\\\\xyz\\\\AppData\\\\Boltz\\\\testnet\n Boltz macaroon path is required.\n \n
\n
\n
\n \n \n
\n
\n","import { Component, ViewChild, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { ServicesEnum, UI_MESSAGES } from '../../../../services/consts-enums-functions';\nimport { ConfigSettingsNode } from '../../../../models/RTLconfig';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\nimport { updateServiceSettings } from '../../../../../store/rtl.actions';\nimport { RTLState } from '../../../../../store/rtl.state';\nimport { setChildNodeSettingsLND } from '../../../../../lnd/store/lnd.actions';\nimport { setChildNodeSettingsCL } from '../../../../../cln/store/cln.actions';\nimport { setChildNodeSettingsECL } from '../../../../../eclair/store/ecl.actions';\nimport { rootSelectedNode } from '../../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-boltz-service-settings',\n templateUrl: './boltz-service-settings.component.html',\n styleUrls: ['./boltz-service-settings.component.scss']\n})\nexport class BoltzServiceSettingsComponent implements OnInit, OnDestroy {\n\n @ViewChild('form', { static: true }) form: any;\n public faInfoCircle = faInfoCircle;\n public selNode: ConfigSettingsNode | any;\n public previousSelNode: ConfigSettingsNode | any;\n public enableBoltz = false;\n public serverUrl = '';\n public macaroonPath = '';\n unSubs: Array> = [new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private store: Store) { }\n\n ngOnInit() {\n this.store.select(rootSelectedNode).\n pipe(takeUntil(this.unSubs[0])).\n subscribe((selNode) => {\n this.selNode = selNode;\n this.enableBoltz = !!(selNode.settings.boltzServerUrl && selNode.settings.boltzServerUrl.trim() !== '');\n this.serverUrl = this.selNode.settings.boltzServerUrl || '';\n this.macaroonPath = this.selNode.authentication.boltzMacaroonPath;\n this.previousSelNode = JSON.parse(JSON.stringify(this.selNode));\n this.logger.info(selNode);\n });\n }\n\n onEnableServiceChanged(event) {\n this.enableBoltz = event.checked;\n if (!this.enableBoltz) {\n this.macaroonPath = '';\n this.serverUrl = '';\n }\n }\n\n onUpdateService(): boolean | void {\n if (this.serverUrl && this.serverUrl.trim() !== '' && !this.form.controls.srvrUrl.value.includes('https://')) {\n this.form.controls.srvrUrl.setErrors({ invalid: true });\n }\n if (this.enableBoltz &&\n (!this.serverUrl ||\n this.serverUrl.trim() === '' ||\n !this.serverUrl.includes('https://') ||\n !this.macaroonPath ||\n this.macaroonPath.trim() === '')\n ) {\n return true;\n }\n this.logger.info(this.selNode);\n this.selNode.settings.boltzServerUrl = this.serverUrl;\n this.selNode.authentication.boltzMacaroonPath = this.macaroonPath;\n this.store.dispatch(updateServiceSettings({ payload: { uiMessage: UI_MESSAGES.UPDATE_BOLTZ_SETTINGS, service: ServicesEnum.BOLTZ, settings: { enable: this.enableBoltz, serverUrl: this.serverUrl, macaroonPath: this.macaroonPath } } }));\n this.store.dispatch(setChildNodeSettingsLND({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsCL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsECL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.serverUrl, enableOffers: this.selNode.settings.enableOffers\n }\n }));\n }\n\n onReset() {\n this.selNode = JSON.parse(JSON.stringify(this.previousSelNode));\n this.serverUrl = this.selNode.settings.boltzServerUrl || '';\n this.macaroonPath = this.selNode.authentication.boltzMacaroonPath;\n this.enableBoltz = !!(this.serverUrl && this.serverUrl.trim() !== '');\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rtl-ln-services',\n templateUrl: './ln-services.component.html',\n styleUrls: ['./ln-services.component.scss']\n})\nexport class LNServicesComponent {\n\n constructor() {}\n\n}\n","\n","
\n
\n
\n \n {{swapCaption}} History\n
\n
\n \n \n {{getLabel(column)}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 0}\">\n \n \n
State{{LoopStateEnum[swap?.state]}}Initiation Time{{(swap?.initiation_time/1000000) | date:'dd/MMM/y HH:mm'}}Last Update Time{{(swap?.last_update_time/1000000) | date:'dd/MMM/y HH:mm'}}Amount (Sats)\n {{swap?.amt | number}}\n Cost Server (Sats){{swap?.cost_server | number}}Cost Offchain (Sats){{swap?.cost_offchain | number}}Cost Onchain (Sats)\n {{swap?.cost_onchain | number}} HTLC Address\n \n {{swap?.htlc_address}}\n \n ID\n \n {{swap?.id}}\n \n ID (Bytes)\n \n {{swap?.id_bytes}}\n \n \n
\n \n \n Download CSV\n \n
\n
\n \n \n

{{emptyTableMessage}}

\n
\n \n
\n
\n
\n","import { Component, OnChanges, OnDestroy, ViewChild, Input, AfterViewInit, SimpleChanges, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faHistory } from '@fortawesome/free-solid-svg-icons';\n\nimport { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LoopSwapStatus } from '../../../../models/loopModels';\nimport { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, LoopTypeEnum, LoopStateEnum, SortOrderEnum, LND_DEFAULT_PAGE_SETTINGS, LND_PAGE_DEFS } from '../../../../services/consts-enums-functions';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { CommonService } from '../../../../services/common.service';\nimport { LoopService } from '../../../../services/loop.service';\n\nimport { RTLState } from '../../../../../store/rtl.state';\nimport { openAlert } from '../../../../../store/rtl.actions';\nimport { ColumnDefinition, PageSettings, TableSetting } from '../../../../models/pageSettings';\nimport { lndPageSettings } from '../../../../../lnd/store/lnd.selector';\nimport { ApiCallStatusPayload } from '../../../../models/apiCallsPayload';\nimport { CamelCaseWithReplacePipe } from '../../../../pipes/app.pipe';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'rtl-swaps',\n templateUrl: './swaps.component.html',\n styleUrls: ['./swaps.component.scss'],\n providers: [\n { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Swaps') }\n ]\n})\nexport class SwapsComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n\n @Input() selectedSwapType: LoopTypeEnum = LoopTypeEnum.LOOP_OUT;\n @Input() swapsData: LoopSwapStatus[] = [];\n @Input() flgLoading: Array = [true];\n @Input() emptyTableMessage = 'No swaps available.';\n @ViewChild(MatSort, { static: false }) sort: MatSort | undefined;\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined;\n public nodePageDefs = LND_PAGE_DEFS;\n public selFilterBy = 'all';\n public colWidth = '20rem';\n public PAGE_ID = 'loop';\n public tableSetting: TableSetting = { tableId: 'loop', recordsPerPage: PAGE_SIZE, sortBy: 'initiation_time', sortOrder: SortOrderEnum.DESCENDING };\n public LoopStateEnum = LoopStateEnum;\n public faHistory = faHistory;\n public swapCaption = 'Loop Out';\n public displayedColumns: any[] = [];\n public listSwaps: any = new MatTableDataSource([]);\n public selFilter = '';\n public pageSize = PAGE_SIZE;\n public pageSizeOptions = PAGE_SIZE_OPTIONS;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private loopService: LoopService, private datePipe: DatePipe, private camelCaseWithReplace: CamelCaseWithReplacePipe) {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n ngOnInit() {\n this.store.select(lndPageSettings).pipe(takeUntil(this.unSubs[0])).\n subscribe((settings: { pageSettings: PageSettings[], apiCallStatus: ApiCallStatusPayload }) => {\n this.tableSetting = settings.pageSettings.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSetting.tableId) || LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSetting.tableId)!;\n if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSetting.columnSelectionSM));\n } else {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSetting.columnSelection));\n }\n this.displayedColumns.push('actions');\n this.pageSize = this.tableSetting.recordsPerPage ? +this.tableSetting.recordsPerPage : PAGE_SIZE;\n if (this.swapsData && this.swapsData.length > 0 && this.sort && this.paginator && this.displayedColumns.length > 0) {\n this.loadSwapsTable(this.swapsData);\n }\n this.colWidth = this.displayedColumns.length ? ((this.commonService.getContainerSize().width / this.displayedColumns.length) / 10) + 'rem' : '20rem';\n this.logger.info(this.displayedColumns);\n });\n }\n\n ngAfterViewInit() {\n if (this.swapsData && this.swapsData.length > 0) {\n this.loadSwapsTable(this.swapsData);\n }\n }\n\n ngOnChanges(change: SimpleChanges) {\n this.swapCaption = (this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'Loop In' : 'Loop Out';\n this.loadSwapsTable(this.swapsData);\n }\n\n applyFilter() {\n this.listSwaps.filter = this.selFilter.trim().toLowerCase();\n }\n\n getLabel(column: string) {\n const returnColumn: ColumnDefinition = this.nodePageDefs[this.PAGE_ID][this.tableSetting.tableId].allowedColumns.find((col) => col.column === column);\n return returnColumn ? returnColumn.label ? returnColumn.label : this.camelCaseWithReplace.transform(returnColumn.column, '_') : this.commonService.titleCase(column);\n }\n\n setFilterPredicate() {\n this.listSwaps.filterPredicate = (rowData: LoopSwapStatus, fltr: string) => {\n let rowToFilter = '';\n switch (this.selFilterBy) {\n case 'all':\n rowToFilter = JSON.stringify(rowData).toLowerCase();\n break;\n\n case 'state':\n rowToFilter = rowData?.state ? this.LoopStateEnum[rowData?.state] : '';\n break;\n\n case 'initiation_time':\n case 'last_update_time':\n rowToFilter = this.datePipe.transform(new Date((rowData[this.selFilterBy] || 0) / 1000000), 'dd/MMM/y HH:mm')?.toLowerCase() || '';\n break;\n\n default:\n rowToFilter = typeof rowData[this.selFilterBy] === 'undefined' ? '' : typeof rowData[this.selFilterBy] === 'string' ? rowData[this.selFilterBy].toLowerCase() : typeof rowData[this.selFilterBy] === 'boolean' ? (rowData[this.selFilterBy] ? 'yes' : 'no') : rowData[this.selFilterBy].toString();\n break;\n }\n return this.selFilterBy === 'state' ? rowToFilter.indexOf(fltr) === 0 : rowToFilter.includes(fltr);\n };\n }\n\n onSwapClick(selSwap: LoopSwapStatus, event: any) {\n this.loopService.getSwap(selSwap.id_bytes?.replace(/\\//g, '_')?.replace(/\\+/g, '-') || '').pipe(takeUntil(this.unSubs[1])).\n subscribe((fetchedSwap: LoopSwapStatus) => {\n const reorderedSwap = [\n [{ key: 'state', value: LoopStateEnum[fetchedSwap.state || ''], title: 'Status', width: 50, type: DataTypeEnum.STRING },\n { key: 'amt', value: fetchedSwap.amt, title: 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER }],\n [{ key: 'initiation_time', value: (fetchedSwap.initiation_time || 0) / 1000000000, title: 'Initiation Time', width: 50, type: DataTypeEnum.DATE_TIME },\n { key: 'last_update_time', value: (fetchedSwap.last_update_time || 0) / 1000000000, title: 'Last Update Time', width: 50, type: DataTypeEnum.DATE_TIME }],\n [{ key: 'cost_server', value: fetchedSwap.cost_server, title: 'Server Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER },\n { key: 'cost_offchain', value: fetchedSwap.cost_offchain, title: 'Offchain Cost (Sats)', width: 33, type: DataTypeEnum.NUMBER },\n { key: 'cost_onchain', value: fetchedSwap.cost_onchain, title: 'Onchain Cost (Sats)', width: 34, type: DataTypeEnum.NUMBER }],\n [{ key: 'id_bytes', value: fetchedSwap.id_bytes, title: 'ID', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'htlc_address', value: fetchedSwap.htlc_address, title: 'HTLC Address', width: 100, type: DataTypeEnum.STRING }]\n ];\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.INFORMATION,\n alertTitle: this.swapCaption + ' Status',\n message: reorderedSwap,\n openedBy: 'SWAP'\n }\n }\n }));\n });\n }\n\n loadSwapsTable(swaps) {\n this.listSwaps = new MatTableDataSource([...swaps]);\n this.listSwaps.sort = this.sort;\n this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null);\n this.listSwaps.sort?.sort({ id: this.tableSetting.sortBy, start: this.tableSetting.sortOrder, disableClear: true });\n this.listSwaps.paginator = this.paginator;\n this.setFilterPredicate();\n this.applyFilter();\n this.logger.info(this.listSwaps);\n }\n\n onDownloadCSV() {\n if (this.listSwaps.data && this.listSwaps.data.length > 0) {\n this.commonService.downloadFile(this.listSwaps.data, (this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'Loop in' : 'Loop out');\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n \n Loop\n
\n
\n \n \n \n \n \n
\n \n
\n \n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router, ResolveEnd, Event } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faInfinity } from '@fortawesome/free-solid-svg-icons';\n\nimport { LoopTypeEnum } from '../../../services/consts-enums-functions';\nimport { LoopModalComponent } from './loop-modal/loop-modal.component';\nimport { LoopQuote, LoopSwapStatus } from '../../../models/loopModels';\nimport { LoopService } from '../../../services/loop.service';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { openAlert } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-loop',\n templateUrl: './loop.component.html',\n styleUrls: ['./loop.component.scss']\n})\nexport class LoopComponent implements OnInit, OnDestroy {\n\n public faInfinity = faInfinity;\n private targetConf = 2;\n public inAmount = 250000;\n public quotes: LoopQuote[] = [];\n public LoopTypeEnum = LoopTypeEnum;\n public selectedSwapType: LoopTypeEnum = LoopTypeEnum.LOOP_OUT;\n public storedSwaps: LoopSwapStatus[] = [];\n public filteredSwaps: LoopSwapStatus[] = [];\n public emptyTableMessage = 'No swap data available.';\n public flgLoading: Array = [true];\n public links = [{ link: 'loopout', name: 'Loop Out' }, { link: 'loopin', name: 'Loop In' }];\n public activeTab = this.links[0];\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private router: Router, private loopService: LoopService, private store: Store) { }\n\n ngOnInit() {\n this.loopService.listSwaps();\n const linkFound = this.links.find((link) => this.router.url.includes(link.link));\n this.activeTab = linkFound ? linkFound : this.links[0];\n this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT;\n this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)).\n subscribe({\n next: (value: ResolveEnd | Event) => {\n const linkFound = this.links.find((link) => (value).urlAfterRedirects.includes(link.link));\n this.activeTab = linkFound ? linkFound : this.links[0];\n this.selectedSwapType = linkFound && linkFound.link === 'loopin' ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT;\n }\n });\n this.loopService.swapsChanged.\n pipe(takeUntil(this.unSubs[1])).\n subscribe({\n next: (swaps: LoopSwapStatus[]) => {\n this.flgLoading[0] = false;\n this.storedSwaps = swaps;\n this.filteredSwaps = this.storedSwaps?.filter((swap) => swap.type === this.selectedSwapType);\n }, error: (err) => {\n this.flgLoading[0] = 'error';\n this.emptyTableMessage = err.message ? err.message : 'No loop ' + ((this.selectedSwapType === LoopTypeEnum.LOOP_IN) ? 'in' : 'out') + ' available.';\n }\n });\n }\n\n onSelectedIndexChange(activeTab: any) {\n this.selectedSwapType = (activeTab.link === 'loopin') ? LoopTypeEnum.LOOP_IN : LoopTypeEnum.LOOP_OUT;\n this.filteredSwaps = this.storedSwaps?.filter((swap) => swap.type === this.selectedSwapType);\n }\n\n onLoop(direction: LoopTypeEnum) {\n if (direction === LoopTypeEnum.LOOP_IN) {\n this.loopService.getLoopInTermsAndQuotes(this.targetConf).\n pipe(takeUntil(this.unSubs[2])).\n subscribe({\n next: (response) => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n minQuote: response[0],\n maxQuote: response[1],\n direction: direction,\n component: LoopModalComponent\n }\n }\n }));\n }\n });\n } else {\n this.loopService.getLoopOutTermsAndQuotes(this.targetConf).\n pipe(takeUntil(this.unSubs[3])).\n subscribe({\n next: (response) => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n minQuote: response[0],\n maxQuote: response[1],\n direction: direction,\n component: LoopModalComponent\n }\n }\n }));\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Subject, throwError, of } from 'rxjs';\nimport { catchError, takeUntil, map } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { environment, API_URL } from '../../../environments/environment';\nimport { ErrorMessageComponent } from '../components/data-modal/error-message/error-message.component';\nimport { CommonService } from './common.service';\nimport { LoggerService } from './logger.service';\nimport { AlertTypeEnum, UI_MESSAGES } from './consts-enums-functions';\nimport { ListSwaps } from '../models/boltzModels';\nimport { closeSpinner, logout, openAlert, openSpinner } from '../../store/rtl.actions';\n\nimport { RTLState } from '../../store/rtl.state';\n\n@Injectable()\nexport class BoltzService implements OnDestroy {\n\n private swapUrl = '';\n private swaps: ListSwaps = {};\n public swapsChanged = new BehaviorSubject({});\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private httpClient: HttpClient, private logger: LoggerService, private store: Store, private commonService: CommonService) { }\n\n getSwapsList() {\n return this.swaps;\n }\n\n listSwaps() {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_BOLTZ_SWAPS }));\n this.swapUrl = API_URL + environment.BOLTZ_API + '/listSwaps';\n this.httpClient.get(this.swapUrl).\n pipe(takeUntil(this.unSubs[0])).\n subscribe({\n next: (swapResponse: ListSwaps) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_BOLTZ_SWAPS }));\n this.swaps = swapResponse;\n this.swapsChanged.next(this.swaps);\n }, error: (err) => this.swapsChanged.error(this.handleErrorWithAlert(UI_MESSAGES.GET_BOLTZ_SWAPS, this.swapUrl, err))\n });\n }\n\n swapInfo(id: string) {\n this.swapUrl = API_URL + environment.BOLTZ_API + '/swapInfo/' + id;\n return this.httpClient.get(this.swapUrl).pipe(catchError((err) => of(this.handleErrorWithAlert(UI_MESSAGES.NO_SPINNER, this.swapUrl, err))));\n }\n\n serviceInfo() {\n this.store.dispatch(openSpinner({ payload: UI_MESSAGES.GET_SERVICE_INFO }));\n this.swapUrl = API_URL + environment.BOLTZ_API + '/serviceInfo';\n return this.httpClient.get(this.swapUrl).pipe(\n takeUntil(this.unSubs[1]),\n map((res) => {\n this.store.dispatch(closeSpinner({ payload: UI_MESSAGES.GET_SERVICE_INFO }));\n return res;\n }),\n catchError((err) => of(this.handleErrorWithAlert(UI_MESSAGES.GET_SERVICE_INFO, this.swapUrl, err)))\n );\n }\n\n swapOut(amount: number, address: string) {\n const requestBody = { amount: amount, address: address };\n this.swapUrl = API_URL + environment.BOLTZ_API + '/createreverseswap';\n return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Swap Out for Address: ' + address, UI_MESSAGES.NO_SPINNER, err)));\n }\n\n swapIn(amount: number) {\n const requestBody = { amount: amount };\n this.swapUrl = API_URL + environment.BOLTZ_API + '/createswap';\n return this.httpClient.post(this.swapUrl, requestBody).pipe(catchError((err) => this.handleErrorWithoutAlert('Swap In for Amount: ' + amount, UI_MESSAGES.NO_SPINNER, err)));\n }\n\n handleErrorWithoutAlert(actionName: string, uiMessage: string, err: { status: number, error: any }) {\n let errMsg = '';\n this.logger.error('ERROR IN: ' + actionName + '\\n' + JSON.stringify(err));\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n if (err.status === 401) {\n errMsg = 'Unauthorized User.';\n this.logger.info('Redirecting to Login');\n this.store.dispatch(logout());\n } else if (err.status === 503) {\n errMsg = 'Unable to Connect to Boltz Server.';\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: 'Boltz Not Connected',\n message: { code: err.status, message: 'Unable to Connect to Boltz Server', URL: actionName },\n component: ErrorMessageComponent\n }\n }\n }));\n } else {\n errMsg = this.commonService.extractErrorMessage(err);\n }\n return throwError(() => new Error(errMsg));\n }\n\n handleErrorWithAlert(uiMessage: string, errURL: string, err: any) {\n let errMsg = '';\n if (err.status === 401) {\n this.logger.info('Redirecting to Login');\n this.store.dispatch(logout());\n }\n this.logger.error(err);\n this.store.dispatch(closeSpinner({ payload: uiMessage }));\n if (err.status === 401) {\n errMsg = 'Unauthorized User.';\n this.logger.info('Redirecting to Login');\n this.store.dispatch(logout());\n } else if (err.status === 503) {\n errMsg = 'Unable to Connect to Boltz Server.';\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: 'ERROR',\n alertTitle: 'Boltz Not Connected',\n message: { code: err.status, message: 'Unable to Connect to Boltz Server', URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n }, 100);\n } else {\n errMsg = this.commonService.extractErrorMessage(err);\n const errCode = (err.error && err.error.error && err.error.error.code) ? err.error.error.code : (err.error && err.error.code) ? err.error.code : err.code ? err.code : err.status;\n setTimeout(() => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.ERROR,\n alertTitle: 'ERROR',\n message: { code: errCode, message: errMsg, URL: errURL },\n component: ErrorMessageComponent\n }\n }\n }));\n }, 100);\n }\n return { message: errMsg };\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","\n\n
{{swapStatus?.error ? swapStatus?.error : 'Unknown Error.'}}\n
\n
\n\n
\n
\n
\n

ID

\n {{swapStatus?.id}}\n
\n
\n

Routing Fee (mSats)

\n {{swapStatus?.routingFeeMilliSat | number}}\n
\n
\n \n
\n
\n

Claim Transaction ID

\n {{swapStatus?.claimTransactionId}}\n
\n
\n

Lockup Address

\n {{swapStatus?.lockupAddress}}\n
\n
\n
\n
\n\n
\n
\n
\n

ID

\n {{swapStatus?.id}}\n
\n
\n

Expected Amount (Sats)

\n {{swapStatus?.expectedAmount | number}}\n
\n
\n \n
\n
\n

Address

\n {{swapStatus?.address}}\n
\n
\n \n
\n
\n

BIP 21

\n {{swapStatus?.bip21}}\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\n\nimport { SwapTypeEnum } from '../../../../services/consts-enums-functions';\n\n@Component({\n selector: 'rtl-boltz-swap-status',\n templateUrl: './swap-status.component.html',\n styleUrls: ['./swap-status.component.scss']\n})\nexport class SwapStatusComponent {\n\n @Input() swapStatus: any = null;\n @Input() direction = SwapTypeEnum.SWAP_OUT;\n public swapTypeEnum = SwapTypeEnum;\n\n constructor() {}\n\n}\n","import { Component, Input } from '@angular/core';\nimport { SwapTypeEnum } from '../../../../services/consts-enums-functions';\nimport { ServiceInfo } from '../../../../models/boltzModels';\n\n@Component({\n selector: 'rtl-boltz-service-info',\n templateUrl: './swap-service-info.component.html',\n styleUrls: ['./swap-service-info.component.scss']\n})\nexport class SwapServiceInfoComponent {\n\n @Input() serviceInfo: ServiceInfo = {};\n @Input() direction = SwapTypeEnum.SWAP_OUT;\n public swapTypeEnum = SwapTypeEnum;\n\n constructor() {}\n\n}\n","\n \n \n Service Information\n \n \n
\n
\n
\n

Minimum Amount (Sats)

\n {{serviceInfo?.limits?.minimal | number}}\n
\n
\n

Maximum Amount (Sats)

\n {{serviceInfo?.limits?.maximal | number}}\n
\n
\n \n
\n
\n

Fee Percentage

\n {{serviceInfo?.fees?.percentage | number}}\n
\n
\n

Miner Fee (Sats)

\n {{(direction === swapTypeEnum.SWAP_OUT ? serviceInfo?.fees?.miner?.reverse : serviceInfo?.fees?.miner?.normal) | number}}\n
\n
\n
\n
\n","\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n Boltz Submarine Swaps explained.\n
\n
\n \n Boltz is a privacy-first account free exchange and a Lightning service provider. By doing a Submarine Swap on Boltz, you can swap your on-chain Bitcoin for Lightning Bitcoin.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n Step 1: Deciding to Submarine Swap\n
\n
\n \n You have one or more Lightning channels that are running low on outbound liquidity and you want to fund it using your on-chain Bitcoin.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 2: Sending the on-chain funds\n
\n
\n \n You send the on-chain funds to an address which can only be spent by Boltz when it pays a Lightning invoice to your node.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 3: Receiving the funds on Lightning\n
\n
\n \n Boltz pays the Lightning invoice to your node and claims the on-chain funds locked in the previous step.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n
\n Done!\n
\n
\n \n You swapped your on-chain Bitcoin for Lightning Bitcoin, while also adding outbound capacity for your channels in the process - all in a non-custodial manner.\n \n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ScreenSizeEnum } from '../../../../services/consts-enums-functions';\n\nimport { sliderAnimation } from '../../../../animation/slider-animation';\nimport { CommonService } from '../../../../services/common.service';\n\n@Component({\n selector: 'rtl-boltz-swapin-info-graphics',\n templateUrl: './info-graphics.component.html',\n styleUrls: ['./info-graphics.component.scss'],\n animations: [sliderAnimation]\n})\nexport class SwapInInfoGraphicsComponent implements OnInit {\n\n @Input() animationDirection = 'forward';\n @Input() stepNumber = 1;\n @Output() readonly stepNumberChange = new EventEmitter();\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n\n constructor(private commonService: CommonService) {}\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n onSwipe(event: any) {\n if (event.direction === 2 && this.stepNumber < 5) {\n this.stepNumber++;\n this.animationDirection = 'forward';\n this.stepNumberChange.emit(this.stepNumber);\n } else if (event.direction === 4 && this.stepNumber > 1) {\n this.stepNumber--;\n this.animationDirection = 'backward';\n this.stepNumberChange.emit(this.stepNumber);\n }\n }\n\n}\n","\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n Boltz Reverse Submarine Swap explained.\n
\n
\n \n Boltz is a privacy-first account free exchange and a Lightning Service Provider. By doing a Reverse Submarine Swap on Boltz, you can swap your Lightning Bitcoin for on-chain Bitcoin.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 1: Deciding to Reverse Submarine Swap \n
\n
\n \n You have one or more channels that are running low on inbound capacity or you want to move some of your Lightning Bitcoin to your onchain wallet.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 2: Paying the Lightning Invoice\n
\n
\n \n Your Boltz client generates a secret which is sent to Boltz. In return Boltz sends a Lightning invoice based on that secret. Your Lightning node pays that invoice which moves some of your local balance to the other side of the channel.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Step 3: Receiving the funds on-chain\n
\n
\n \n In return for paying the invoice, Boltz locks on-chain BTC. Your node claims that onchain BTC to your wallet and by doing that, reveals the secret. With that secret Boltz can settle the Lightning invoice paid by your node.\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n
\n Done!\n
\n
\n \n You have now successfully received your funds in your on-chain wallet and also spent your local balance to increase the inbound capacity of your node - all in a non-custodial manner.\n \n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ScreenSizeEnum } from '../../../../services/consts-enums-functions';\n\nimport { sliderAnimation } from '../../../../animation/slider-animation';\nimport { CommonService } from '../../../../services/common.service';\n\n@Component({\n selector: 'rtl-boltz-swapout-info-graphics',\n templateUrl: './info-graphics.component.html',\n styleUrls: ['./info-graphics.component.scss'],\n animations: [sliderAnimation]\n})\nexport class SwapOutInfoGraphicsComponent implements OnInit {\n\n @Input() animationDirection = 'forward';\n @Input() stepNumber = 1;\n @Output() readonly stepNumberChange = new EventEmitter();\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n\n constructor(private commonService: CommonService) {}\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n onSwipe(event: any) {\n if (event.direction === 2 && this.stepNumber < 5) {\n this.stepNumber++;\n this.animationDirection = 'forward';\n this.stepNumberChange.emit(this.stepNumber);\n } else if (event.direction === 4 && this.stepNumber > 1) {\n this.stepNumber--;\n this.animationDirection = 'backward';\n this.stepNumberChange.emit(this.stepNumber);\n }\n }\n\n}\n","
\n
\n \n
{{swapDirectionCaption}}
\n
\n \n \n
\n
\n \n
\n \n \n
\n {{inputFormLabel}}\n
\n \n
\n
\n \n \n Range: {{serviceInfo?.limits?.minimal | number}}-{{serviceInfo?.limits?.maximal | number}}\n Sats\n Amount is required.\n Amount must be greater than or equal to {{serviceInfo?.limits?.minimal | number}}.\n Amount must be less than or equal to {{serviceInfo?.limits?.maximal | number}}.\n \n
\n
\n \n \n
\n
\n
\n \n
\n {{addressFormLabel}}\n
\n \n Node Local Address\n External Address\n \n \n \n Address is required.\n \n
\n
\n \n
\n
\n
\n \n
\n {{swapDirectionCaption}} Status\n
\n \n \n \n {{(!swapStatus) ? ('Waiting for ' + swapDirectionCaption + ' request...') : (swapStatus.id) ? (swapDirectionCaption + ' request details') : (swapDirectionCaption + ' error details')}}{{(swapStatus && swapStatus?.id) ? 'check' : 'close'}}\n \n \n
\n
\n \n
\n

{{(swapStatus && swapStatus.error) ? (swapDirectionCaption + ' failed.') : (swapStatus && swapStatus.id) ? (swapDirectionCaption + ' request placed successfully. You can check the status of the request on the \\'Boltz\\' menu.') : (swapDirectionCaption + ' request placed successfully.')}}

\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n \n\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n
\n \n

\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n","import { Component, OnInit, Inject, OnDestroy, ViewChild, AfterViewInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { DecimalPipe } from '@angular/common';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatStepper } from '@angular/material/stepper';\nimport { Store } from '@ngrx/store';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\n\nimport { opacityAnimation } from '../../../../animation/opacity-animation';\nimport { ScreenSizeEnum, SwapTypeEnum } from '../../../../services/consts-enums-functions';\nimport { ServiceInfo, CreateSwapResponse, CreateReverseSwapResponse } from '../../../../models/boltzModels';\nimport { SwapAlert } from '../../../../models/alertData';\nimport { BoltzService } from '../../../../services/boltz.service';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { CommonService } from '../../../../services/common.service';\n\nimport { RTLState } from '../../../../../store/rtl.state';\n\n@Component({\n selector: 'rtl-boltz-swap-modal',\n templateUrl: './swap-modal.component.html',\n styleUrls: ['./swap-modal.component.scss'],\n animations: [opacityAnimation]\n})\nexport class SwapModalComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild('stepper', { static: false }) stepper: MatStepper;\n public faInfoCircle = faInfoCircle;\n public serviceInfo: ServiceInfo = { fees: { percentage: null, miner: { normal: null, reverse: null } }, limits: { minimal: 10000, maximal: 50000000 } };\n public swapTypeEnum = SwapTypeEnum;\n public direction = SwapTypeEnum.SWAP_OUT;\n public swapDirectionCaption = 'Swap out';\n public swapStatus: CreateSwapResponse | CreateReverseSwapResponse | { error: any } | null = null;\n public inputFormLabel = 'Amount to swap out';\n public addressFormLabel = 'Withdrawal Address';\n public flgShowInfo = false;\n public stepNumber = 1;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public animationDirection = 'forward';\n public flgEditable = true;\n inputFormGroup: UntypedFormGroup;\n addressFormGroup: UntypedFormGroup;\n statusFormGroup: UntypedFormGroup;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: SwapAlert, private boltzService: BoltzService, private formBuilder: UntypedFormBuilder, private decimalPipe: DecimalPipe, private logger: LoggerService, private commonService: CommonService) { }\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n this.serviceInfo = this.data.serviceInfo;\n this.direction = this.data.direction || SwapTypeEnum.SWAP_OUT;\n this.swapDirectionCaption = this.direction === SwapTypeEnum.SWAP_OUT ? 'Swap Out' : 'Swap in';\n this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption;\n this.inputFormGroup = this.formBuilder.group({\n amount: [this.serviceInfo.limits?.minimal, [Validators.required, Validators.min(this.serviceInfo.limits?.minimal || 0), Validators.max(this.serviceInfo.limits?.maximal || 0)]]\n });\n this.addressFormGroup = this.formBuilder.group({\n addressType: ['local', [Validators.required]],\n address: [{ value: '', disabled: true }]\n });\n this.statusFormGroup = this.formBuilder.group({});\n this.onFormValueChanges();\n }\n\n ngAfterViewInit() {\n if (this.direction === SwapTypeEnum.SWAP_OUT) {\n this.addressFormGroup.setErrors({ Invalid: true });\n }\n }\n\n onFormValueChanges() {\n if (this.direction === SwapTypeEnum.SWAP_OUT) {\n this.addressFormGroup.valueChanges.pipe(takeUntil(this.unSubs[2])).subscribe((changedValues) => {\n this.addressFormGroup.setErrors({ Invalid: true });\n });\n }\n }\n\n onAddressTypeChange(event: any) {\n if (event.value === 'external') {\n this.addressFormGroup.controls.address.setValidators([Validators.required]);\n this.addressFormGroup.controls.address.markAsTouched();\n this.addressFormGroup.controls.address.enable();\n } else {\n this.addressFormGroup.controls.address.setValidators(null);\n this.addressFormGroup.controls.address.markAsPristine();\n this.addressFormGroup.controls.address.disable();\n this.addressFormGroup.controls.address.setValue('');\n }\n this.addressFormGroup.setErrors({ Invalid: true });\n }\n\n onSwap(): boolean | void {\n if (!this.inputFormGroup.controls.amount.value || (this.serviceInfo.limits?.minimal && this.inputFormGroup.controls.amount.value < +this.serviceInfo.limits.minimal) || (this.serviceInfo.limits?.maximal && this.inputFormGroup.controls.amount.value > +this.serviceInfo.limits.maximal) ||\n (this.direction === SwapTypeEnum.SWAP_OUT && this.addressFormGroup.controls.addressType.value === 'external' &&\n (!this.addressFormGroup.controls.address.value || this.addressFormGroup.controls.address.value.trim() === ''))) {\n return true;\n }\n this.flgEditable = false;\n this.stepper.selected?.stepControl.setErrors(null);\n this.stepper.next();\n if (this.direction === SwapTypeEnum.SWAP_IN) {\n this.boltzService.swapIn(this.inputFormGroup.controls.amount.value).pipe(takeUntil(this.unSubs[3])).\n subscribe({\n next: (swapStatus: CreateSwapResponse) => {\n this.swapStatus = swapStatus;\n this.boltzService.listSwaps();\n this.flgEditable = true;\n },\n error: (err) => {\n this.swapStatus = { error: err };\n this.flgEditable = true;\n this.logger.error(err);\n }\n });\n } else {\n const destAddress = this.addressFormGroup.controls.addressType.value === 'external' ? this.addressFormGroup.controls.address.value : '';\n this.boltzService.swapOut(this.inputFormGroup.controls.amount.value, destAddress).pipe(takeUntil(this.unSubs[4])).\n subscribe({\n next: (swapStatus: CreateReverseSwapResponse) => {\n this.swapStatus = swapStatus;\n this.boltzService.listSwaps();\n this.flgEditable = true;\n },\n error: (err) => {\n this.swapStatus = { error: err };\n this.flgEditable = true;\n this.logger.error(err);\n }\n });\n }\n }\n\n stepSelectionChanged(event: any) {\n switch (event.selectedIndex) {\n case 0:\n this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption;\n this.addressFormLabel = 'Withdrawal Address';\n break;\n\n case 1:\n if (this.inputFormGroup.controls.amount.value) {\n if (this.direction === SwapTypeEnum.SWAP_IN) {\n this.inputFormLabel = this.swapDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats';\n } else {\n this.inputFormLabel = this.swapDirectionCaption + ' Amount: ' + (this.decimalPipe.transform(this.inputFormGroup.controls.amount.value ? this.inputFormGroup.controls.amount.value : 0)) + ' Sats';\n }\n } else {\n this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption;\n }\n this.addressFormLabel = 'Withdrawal Address';\n break;\n\n default:\n this.inputFormLabel = 'Amount to ' + this.swapDirectionCaption;\n this.addressFormLabel = 'Withdrawal Address';\n break;\n }\n if (event.selectedIndex < event.previouslySelectedIndex) {\n event.selectedStep.stepControl.setErrors({ Invalid: true });\n }\n }\n\n onClose() {\n this.dialogRef.close(true);\n }\n\n showInfo() {\n this.flgShowInfo = true;\n }\n\n onReadMore() {\n if (this.direction === SwapTypeEnum.SWAP_IN) {\n window.open('https://docs.boltz.exchange/en/latest/lifecycle/#normal-submarine-swaps', '_blank');\n } else {\n window.open('https://docs.boltz.exchange/en/latest/lifecycle/#reverse-submarine-swaps', '_blank');\n }\n this.onClose();\n }\n\n onStepChanged(index: number) {\n this.animationDirection = index < this.stepNumber ? 'backward' : 'forward';\n this.stepNumber = index;\n }\n\n onRestart() {\n this.stepper.reset();\n this.flgEditable = true;\n this.inputFormGroup.reset({ amount: this.serviceInfo.limits?.minimal });\n this.statusFormGroup.reset();\n this.addressFormGroup.reset({ addressType: 'local', address: '' });\n this.addressFormGroup.controls.address.disable();\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n
\n \n {{swapCaption}} History\n
\n
\n \n \n {{getLabel(column)}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 0}\">\n \n \n
Status{{swapStateEnum[swap?.status]}}Swap ID{{swap?.id}}Claim Address\n \n {{swap?.claimAddress}}\n \n Lockup Address\n \n {{swap?.lockupAddress}}\n \n Onchain Amount (Sats)\n {{swap?.onchainAmount | number}}\n Expected Amount (Sats)\n {{swap?.expectedAmount | number}}\n Error\n \n {{swap?.error}}\n \n Private Key\n \n {{swap?.privateKey}}\n \n Preimage\n \n {{swap?.preimage}}\n \n Redeem Script\n \n {{swap?.redeemScript}}\n \n Invoice\n \n {{swap?.invoice}}\n \n Timeout Block Height\n {{swap?.timeoutBlockHeight | number}}\n Lockup Tx ID{{swap?.lockupTransactionId}}Claim Tx ID{{swap?.claimTransactionId}}Refund Tx ID{{swap?.refundTransactionId}}\n
\n \n \n Download CSV\n \n
\n
\n \n \n

{{emptyTableMessage}}

\n
\n \n
\n
\n
\n","import { Component, OnChanges, OnDestroy, ViewChild, Input, AfterViewInit, SimpleChanges, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faHistory } from '@fortawesome/free-solid-svg-icons';\n\nimport { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Swap, ReverseSwap } from '../../../../models/boltzModels';\nimport { PAGE_SIZE, PAGE_SIZE_OPTIONS, getPaginatorLabel, AlertTypeEnum, DataTypeEnum, ScreenSizeEnum, SwapTypeEnum, SwapStateEnum, SortOrderEnum, LND_DEFAULT_PAGE_SETTINGS, LND_PAGE_DEFS } from '../../../../services/consts-enums-functions';\nimport { LoggerService } from '../../../../services/logger.service';\nimport { CommonService } from '../../../../services/common.service';\nimport { BoltzService } from '../../../../services/boltz.service';\n\nimport { openAlert } from '../../../../../store/rtl.actions';\nimport { RTLState } from '../../../../../store/rtl.state';\nimport { ColumnDefinition, PageSettings, TableSetting } from '../../../../models/pageSettings';\nimport { lndPageSettings } from '../../../../../lnd/store/lnd.selector';\nimport { ApiCallStatusPayload } from '../../../../models/apiCallsPayload';\nimport { CamelCaseWithReplacePipe } from '../../../../pipes/app.pipe';\n\n@Component({\n selector: 'rtl-boltz-swaps',\n templateUrl: './swaps.component.html',\n styleUrls: ['./swaps.component.scss'],\n providers: [\n { provide: MatPaginatorIntl, useValue: getPaginatorLabel('Swaps') }\n ]\n})\nexport class BoltzSwapsComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n\n @Input() selectedSwapType: SwapTypeEnum = SwapTypeEnum.SWAP_OUT;\n @Input() swapsData: Swap[] | ReverseSwap[] = [];\n @Input() flgLoading: Array = [true];\n @Input() emptyTableMessage = 'No swaps available.';\n @ViewChild(MatSort, { static: false }) sort: MatSort | undefined;\n @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator | undefined;\n public nodePageDefs = LND_PAGE_DEFS;\n public selFilterBy = 'all';\n public colWidth = '20rem';\n public PAGE_ID = 'boltz';\n public tableSettingSwapOut: TableSetting = { tableId: 'swap_out', recordsPerPage: PAGE_SIZE, sortBy: 'status', sortOrder: SortOrderEnum.DESCENDING };\n public tableSettingSwapIn: TableSetting = { tableId: 'swap_in', recordsPerPage: PAGE_SIZE, sortBy: 'status', sortOrder: SortOrderEnum.DESCENDING };\n public swapStateEnum = SwapStateEnum;\n public faHistory = faHistory;\n public swapCaption = 'Swap Out';\n public displayedColumns: any[] = [];\n public listSwaps: any = new MatTableDataSource([]);\n public selFilter = '';\n public pageSize = PAGE_SIZE;\n public pageSizeOptions = PAGE_SIZE_OPTIONS;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private commonService: CommonService, private store: Store, private boltzService: BoltzService, private camelCaseWithReplace: CamelCaseWithReplacePipe) {\n this.screenSize = this.commonService.getScreenSize();\n }\n\n ngOnInit() {\n this.store.select(lndPageSettings).pipe(takeUntil(this.unSubs[0])).\n subscribe((settings: { pageSettings: PageSettings[], apiCallStatus: ApiCallStatusPayload }) => {\n this.tableSettingSwapOut = settings.pageSettings.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSettingSwapOut.tableId) ||\n LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSettingSwapOut.tableId)!;\n this.tableSettingSwapIn = settings.pageSettings.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSettingSwapIn.tableId) ||\n LND_DEFAULT_PAGE_SETTINGS.find((page) => page.pageId === this.PAGE_ID)?.tables.find((table) => table.tableId === this.tableSettingSwapIn.tableId)!;\n this.setTableColumns();\n if (this.swapsData && this.swapsData.length > 0 && this.sort && this.paginator && this.displayedColumns.length > 0) {\n this.loadSwapsTable(this.swapsData);\n }\n this.colWidth = this.displayedColumns.length ? ((this.commonService.getContainerSize().width / this.displayedColumns.length) / 10) + 'rem' : '20rem';\n this.logger.info(this.displayedColumns);\n });\n }\n\n ngAfterViewInit() {\n if (this.swapsData && this.swapsData.length > 0) {\n this.loadSwapsTable(this.swapsData);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.selectedSwapType && !changes.selectedSwapType.firstChange) {\n this.setTableColumns();\n }\n this.swapCaption = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'Swap In' : 'Swap Out';\n this.loadSwapsTable(this.swapsData);\n }\n\n setTableColumns() {\n if (this.selectedSwapType === SwapTypeEnum.SWAP_IN) {\n if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelectionSM));\n } else {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSettingSwapIn.columnSelection));\n }\n this.displayedColumns.push('actions');\n this.pageSize = this.tableSettingSwapIn.recordsPerPage ? +this.tableSettingSwapIn.recordsPerPage : PAGE_SIZE;\n } else {\n if (this.screenSize === ScreenSizeEnum.XS || this.screenSize === ScreenSizeEnum.SM) {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelectionSM));\n } else {\n this.displayedColumns = JSON.parse(JSON.stringify(this.tableSettingSwapOut.columnSelection));\n }\n this.displayedColumns.push('actions');\n this.pageSize = this.tableSettingSwapOut.recordsPerPage ? +this.tableSettingSwapOut.recordsPerPage : PAGE_SIZE;\n }\n }\n\n applyFilter() {\n if (this.listSwaps && this.selFilter !== '') {\n this.listSwaps.filter = this.selFilter.trim().toLowerCase();\n }\n }\n\n getLabel(column: string) {\n const tableId = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? this.tableSettingSwapIn.tableId : this.tableSettingSwapOut.tableId;\n const returnColumn: ColumnDefinition = this.nodePageDefs[this.PAGE_ID][tableId].allowedColumns.find((col) => col.column === column);\n return returnColumn ? returnColumn.label ? returnColumn.label : this.camelCaseWithReplace.transform(returnColumn.column, '_') : this.commonService.titleCase(column);\n }\n\n setFilterPredicate() {\n this.listSwaps.filterPredicate = (rowData: Swap, fltr: string) => {\n let rowToFilter = '';\n switch (this.selFilterBy) {\n case 'all':\n rowToFilter = JSON.stringify(rowData).toLowerCase();\n break;\n\n case 'status':\n rowToFilter = rowData?.status ? this.swapStateEnum[rowData?.status] : '';\n break;\n\n default:\n rowToFilter = typeof rowData[this.selFilterBy] === 'undefined' ? '' : typeof rowData[this.selFilterBy] === 'string' ? rowData[this.selFilterBy].toLowerCase() : typeof rowData[this.selFilterBy] === 'boolean' ? (rowData[this.selFilterBy] ? 'yes' : 'no') : rowData[this.selFilterBy].toString();\n break;\n }\n return this.selFilterBy === 'status' ? rowToFilter.indexOf(fltr) === 0 : rowToFilter.includes(fltr);\n };\n }\n\n onSwapClick(selSwap: Swap | ReverseSwap, event: any) {\n this.boltzService.swapInfo(selSwap.id || '').pipe(takeUntil(this.unSubs[1])).\n subscribe((fetchedSwap: any) => {\n fetchedSwap = (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? fetchedSwap.swap : fetchedSwap.reverseSwap;\n const reorderedSwap = [\n [{ key: 'status', value: SwapStateEnum[fetchedSwap.status], title: 'Status', width: 50, type: DataTypeEnum.STRING },\n { key: 'id', value: fetchedSwap.id, title: 'ID', width: 50, type: DataTypeEnum.STRING }],\n [{ key: 'amount', value: fetchedSwap.onchainAmount ? fetchedSwap.onchainAmount : fetchedSwap.expectedAmount ? fetchedSwap.expectedAmount : 0,\n title: fetchedSwap.onchainAmount ? 'Onchain Amount (Sats)' : fetchedSwap.expectedAmount ? 'Expected Amount (Sats)' : 'Amount (Sats)', width: 50, type: DataTypeEnum.NUMBER },\n { key: 'timeoutBlockHeight', value: fetchedSwap.timeoutBlockHeight, title: 'Timeout Block Height', width: 50, type: DataTypeEnum.NUMBER }],\n [{ key: 'address', value: fetchedSwap.claimAddress ? fetchedSwap.claimAddress : fetchedSwap.lockupAddress ? fetchedSwap.lockupAddress : '', title: fetchedSwap.claimAddress ? 'Claim Address' : fetchedSwap.lockupAddress ? 'Lockup Address' : 'Address', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'invoice', value: fetchedSwap.invoice, title: 'Invoice', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'privateKey', value: fetchedSwap.privateKey, title: 'Private Key', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'preimage', value: fetchedSwap.preimage, title: 'Preimage', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'redeemScript', value: fetchedSwap.redeemScript, title: 'Redeem Script', width: 100, type: DataTypeEnum.STRING }],\n [{ key: 'lockupTransactionId', value: fetchedSwap.lockupTransactionId, title: 'Lockup Transaction ID', width: 50, type: DataTypeEnum.STRING },\n { key: 'transactionId', value: fetchedSwap.claimTransactionId ? fetchedSwap.claimTransactionId : fetchedSwap.refundTransactionId ?\n fetchedSwap.refundTransactionId : '', title: fetchedSwap.claimTransactionId ? 'Claim Transaction ID' :\n fetchedSwap.refundTransactionId ? 'Refund Transaction ID' : 'Transaction ID', width: 50, type: DataTypeEnum.STRING }]\n ];\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.INFORMATION,\n alertTitle: this.swapCaption + ' Status',\n message: reorderedSwap,\n openedBy: 'SWAP'\n }\n }\n }));\n });\n }\n\n loadSwapsTable(swaps) {\n this.listSwaps = swaps ? new MatTableDataSource([...swaps]) : new MatTableDataSource([]);\n this.listSwaps.sort = this.sort;\n this.listSwaps.sortingDataAccessor = (data: any, sortHeaderId: string) => ((data[sortHeaderId] && isNaN(data[sortHeaderId])) ? data[sortHeaderId].toLocaleLowerCase() : data[sortHeaderId] ? +data[sortHeaderId] : null);\n if (this.selectedSwapType === SwapTypeEnum.SWAP_IN) {\n this.listSwaps.sort?.sort({ id: this.tableSettingSwapIn.sortBy, start: this.tableSettingSwapIn.sortOrder, disableClear: true });\n } else {\n this.listSwaps.sort?.sort({ id: this.tableSettingSwapOut.sortBy, start: this.tableSettingSwapOut.sortOrder, disableClear: true });\n }\n if (this.paginator) {\n this.paginator.firstPage();\n }\n this.listSwaps.paginator = this.paginator;\n this.setFilterPredicate();\n this.applyFilter();\n this.logger.info(this.listSwaps);\n }\n\n onDownloadCSV() {\n if (this.listSwaps.data && this.listSwaps.data.length > 0) {\n this.commonService.downloadFile(this.listSwaps.data, (this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'Swap in' : 'Swap out');\n }\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n \n \n \n \n \n \n \n \n \n Boltz\n
\n
\n \n \n \n \n \n
\n \n
\n \n
\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router, ResolveEnd, Event } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\n\nimport { SwapTypeEnum } from '../../../services/consts-enums-functions';\nimport { SwapModalComponent } from './swap-modal/swap-modal.component';\nimport { ReverseSwap, Swap, ListSwaps } from '../../../models/boltzModels';\nimport { BoltzService } from '../../../services/boltz.service';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { openAlert } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-boltz-root',\n templateUrl: './boltz-root.component.html',\n styleUrls: ['./boltz-root.component.scss']\n})\nexport class BoltzRootComponent implements OnInit, OnDestroy {\n\n public swapTypeEnum = SwapTypeEnum;\n public selectedSwapType: SwapTypeEnum = SwapTypeEnum.SWAP_OUT;\n public swaps: ListSwaps = {};\n public swapsData: Swap[] | ReverseSwap[] = [];\n public emptyTableMessage = 'No swap data available.';\n public flgLoading: Array = [true];\n public links = [{ link: 'swapout', name: 'Swap Out' }, { link: 'swapin', name: 'Swap In' }];\n public activeTab = this.links[0];\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private router: Router, private store: Store, private boltzService: BoltzService) { }\n\n ngOnInit() {\n this.boltzService.listSwaps();\n const linkFound = this.links.find((link) => this.router.url.includes(link.link));\n this.activeTab = linkFound ? linkFound : this.links[0];\n this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT;\n this.router.events.pipe(takeUntil(this.unSubs[0]), filter((e) => e instanceof ResolveEnd)).\n subscribe({\n next: (value: ResolveEnd | Event) => {\n const linkFound = this.links.find((link) => (value).urlAfterRedirects.includes(link.link));\n this.activeTab = linkFound ? linkFound : this.links[0];\n this.selectedSwapType = linkFound && linkFound.link === 'swapin' ? SwapTypeEnum.SWAP_IN : SwapTypeEnum.SWAP_OUT;\n }\n });\n this.boltzService.swapsChanged.\n pipe(takeUntil(this.unSubs[1])).\n subscribe({\n next: (swaps: ListSwaps) => {\n this.swaps = swaps;\n this.swapsData = (this.selectedSwapType === SwapTypeEnum.SWAP_IN && swaps.swaps) ? swaps.swaps : (this.selectedSwapType === SwapTypeEnum.SWAP_OUT && swaps.reverseSwaps) ? swaps.reverseSwaps : [];\n this.flgLoading[0] = false;\n }, error: (err) => {\n this.flgLoading[0] = 'error';\n this.emptyTableMessage = err.message ? err.message : 'No swap ' + ((this.selectedSwapType === SwapTypeEnum.SWAP_IN) ? 'in' : 'out') + ' available.';\n }\n });\n }\n\n onSelectedIndexChange(activeTab: any) {\n if (activeTab.link === 'swapin') {\n this.selectedSwapType = SwapTypeEnum.SWAP_IN;\n this.swapsData = this.swaps.swaps || [];\n } else {\n this.selectedSwapType = SwapTypeEnum.SWAP_OUT;\n this.swapsData = this.swaps.reverseSwaps || [];\n }\n }\n\n onSwap(direction: SwapTypeEnum) {\n this.boltzService.serviceInfo().\n pipe(takeUntil(this.unSubs[2])).\n subscribe({\n next: (response: any) => {\n this.store.dispatch(openAlert({\n payload: {\n data: {\n serviceInfo: response,\n direction: direction,\n component: SwapModalComponent\n }\n }\n }));\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { GetInfoChain } from './lndModels';\n\nexport class SSO {\n\n constructor(\n public rtlSSO: number,\n public logoutRedirectLink: string\n ) { }\n\n}\n\nexport class Settings {\n\n constructor(\n public userPersona: string,\n public themeMode: string,\n public themeColor: string,\n public unannouncedChannels: boolean,\n public fiatConversion: boolean,\n public currencyUnits: Array,\n public bitcoindConfigPath?: string,\n public logLevel?: string,\n public lnServerUrl?: string,\n public swapServerUrl?: string,\n public boltzServerUrl?: string,\n public channelBackupPath?: string,\n public currencyUnit?: string,\n public enableOffers?: boolean,\n public enablePeerswap?: boolean\n ) { }\n\n}\n\nexport class Authentication {\n\n constructor(\n public swapMacaroonPath: string,\n public boltzMacaroonPath: string,\n public configPath?: string\n ) { }\n\n}\n\nexport class ConfigSettingsNode {\n\n constructor(\n public settings: Settings,\n public authentication: Authentication,\n public index?: number,\n public lnNode?: string,\n public lnImplementation?: string\n ) { }\n\n}\n\nexport class RTLConfiguration {\n\n constructor(\n public defaultNodeIndex: number,\n public selectedNodeIndex: number,\n public sso: SSO,\n public enable2FA: boolean,\n public allowPasswordUpdate: boolean,\n public nodes: ConfigSettingsNode[]\n ) { }\n\n}\n\nexport interface GetInfoRoot {\n identity_pubkey?: string;\n alias?: string;\n testnet?: boolean;\n chains?: GetInfoChain[] | string[];\n uris?: string[];\n version?: string;\n api_version?: string;\n}\n\nexport interface SelNodeChild {\n userPersona?: string;\n channelBackupPath?: string;\n selCurrencyUnit?: string;\n currencyUnits?: string[];\n fiatConversion?: boolean;\n unannouncedChannels?: boolean;\n lnImplementation?: string;\n swapServerUrl?: string;\n boltzServerUrl?: string;\n enableOffers?: boolean;\n enablePeerswap?: boolean;\n}\n\nexport class HelpTopic {\n\n constructor(public help: { question: string, answer: string, link?: string, linkCaption?: string, lnImplementation?: string }) { }\n\n}\n","
\n
\n \n Help\n
\n
\n
\n
\n \n \n {{helpTopic.help.question}}\n \n \n \n {{!flgLoggedIn ? 'Login to go to the page' : helpTopic.help.linkCaption}}\n \n \n
\n
\n
\n
\n ","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faQuestion } from '@fortawesome/free-solid-svg-icons';\n\nimport { HelpTopic, ConfigSettingsNode } from '../../models/RTLconfig';\nimport { SessionService } from '../../services/session.service';\n\nimport { RTLState } from '../../../store/rtl.state';\nimport { rootSelectedNode } from '../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-help',\n templateUrl: './help.component.html',\n styleUrls: ['./help.component.scss']\n})\nexport class HelpComponent implements OnInit, OnDestroy {\n\n public helpTopics: Array = [];\n public faQuestion = faQuestion;\n public selNode: ConfigSettingsNode | any;\n public LNPLink = '/lnd/';\n public flgLoggedIn = false;\n private unSubs = [new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private store: Store, private sessionService: SessionService) {}\n\n ngOnInit() {\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[0])).subscribe((selNode) => {\n this.selNode = selNode;\n if (this.selNode.lnImplementation && this.selNode.lnImplementation.trim() !== '') {\n this.LNPLink = '/' + this.selNode.lnImplementation.toLowerCase() + '/';\n this.addHelpTopics();\n }\n });\n this.sessionService.watchSession().\n pipe(takeUntil(this.unSubs[1])).\n subscribe((session) => {\n this.flgLoggedIn = !!session.token;\n });\n if (this.sessionService.getItem('token')) {\n this.flgLoggedIn = true;\n }\n }\n\n addHelpTopics() {\n this.helpTopics = [];\n this.helpTopics.push(new HelpTopic({\n question: 'Getting started',\n answer: 'Funding your node is the first step to get started.\\n' +\n 'Go to the \"On-chain\" page of the app:\\n' +\n '1. Generate a new address on the \"Recieve\" tab.\\n' +\n '2. Send funds to the address.\\n' +\n '3. Wait for the balance to be confirmed on-chain before proceeding further.\\n' +\n '3. Connecting with network peers and opening channels is next.\\n',\n link: this.LNPLink + 'onchain/receive/utxos',\n linkCaption: 'On-Chain',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Connect with peers',\n answer: 'Connect with network peers to open channels with them.\\n' +\n 'Go to \"Peer/Channels\" page under the \"Lightning\" menu :\\n' +\n '1. Get the peer pubkey and host address in the pubkey@ip:port format.\\n' +\n '2. On the \"Peers\" enter the peer address and connect.\\n' +\n '3. Once the peer is connected, you can open channel with the peer.\\n' +\n '4. A variety of actions can be performed on the connected peers page for each peer:\\n' +\n ' a. View Info - View the peer details.\\n' +\n ' b. Open Channel - Open channel with the peer.\\n' +\n ' c. Disconnect - Disconnect from the peer.\\n',\n link: this.LNPLink + 'connections/peers',\n linkCaption: 'Peers',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Opening Channels',\n answer: 'Open channels with a connected peer.\\n' +\n 'Go to \"Peer/Channels\" page under the \"Lightning\" menu:\\n' +\n '1. On the \"Channels\" section, click on \"Open Channel\"\\n' +\n '2. On the \"Open Channel\" modal, select the alias of the connected peer from the drop-down\\n' +\n '2. Specify the amount to commit to the channel and click on \"Open Channel\".\\n' +\n '3. There are a variety of options available while opening a channel. \\n' +\n ' a. Private Channel - When this option is selected, a private channel is opened with the peer. \\n' +\n ' b. Priority (advanced option) - Specify either Target confirmation Block or Fee in Sat/vByte. \\n' +\n ' c. Spend Unconfirmd Output (advanced option) - Allow channels to be opened with unconfirmed UTXOs.\\n' +\n '4. Track the pending open channels under the \"Pending\" tab. \\n' +\n '5. Wait for the channel to be confirmed. Only a confimed channel can be used for payments or routing. \\n',\n link: this.LNPLink + 'connections/channels/open',\n linkCaption: 'Channels',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Channel Management',\n answer: 'Channel maintenance and balance score.\\n' +\n 'Go to \"Peer/Channels\" page under the \"Lightning\" menu:\\n' +\n '1. A variety of actions can be perfomed on the open channels under the \"Open\" tab, with the \"Actions\" button:\\n' +\n ' a. View Info - View the channel details.\\n' +\n ' b. View Remote Fee - View the fee policy on the channel of the remote peer.\\n' +\n ' c. Update Fee Policy - Modify the fee policy on the channel.\\n' +\n ' d. Circular Rebalance - Off-chain rebalance channels by making a payment to yourself across a circular path of chained payment channels.\\n' +\n ' e. Close Channel - Close the channel.\\n' +\n '2. Balance Score is a \"balancedness\" metric score for the channel. \\n' +\n ' a. It helps measure how balanced the remote and local balances are, on a channel.\\n' +\n ' b. A perfectly balanced channel has a score of one, where as a completely lopsided one has a score of zero.\\n' +\n ' c. The formula for calculating the score is \"1 - abs((local bal - remote bal)/total bal)\".\\n',\n link: this.LNPLink + 'connections/channels/open',\n linkCaption: 'Channels',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Buying Liquidity',\n answer: 'Buying liquidity for your node.\\n' +\n 'Go to \"Liquidity Ads\" page under the \"Lightning\" menu:\\n' +\n ' 1. Filter ads by liquidity amount and channel opening fee rate.\\n' +\n ' 2. Research additionally on liquidity provider nodes before selecting.\\n' +\n ' 3. Select the best liquidity node peer for your need and click on \"Open Channel\" from \"Actions\" drop-down.\\n' +\n ' 4. Confirm amount, rates and total cost on the modal and click on \"Execute\" to buy liquidity.\\n',\n link: this.LNPLink + 'liquidityads',\n linkCaption: 'Liquidity Ads',\n lnImplementation: 'CLN'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Payments',\n answer: 'Sending Payments from your node.\\n' +\n 'Go to the \"Transactions\" page under the \"Lightning\" menu :\\n' +\n 'Payments tab is for making payments via your node\\n' +\n ' 1. Input a non-expired lightning invoice (Bolt11 format) in the \"Payment Request\" field and click on \"Send Payment\" to send.\\n' +\n ' 2. Advanced option # 1 (LND only) - Specify a limit on the routing fee which you are willing to pay, for the payment.\\n' +\n ' 3. Advanced option # 2 (LND only) - Specify the outgoing channel which you want the payment to go through.\\n',\n link: this.LNPLink + 'transactions/payments',\n linkCaption: 'Payments',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Invoices',\n answer: 'Receiving Payments on your node.\\n' +\n 'Go to the \"Transactions\" page under the \"Lightning\" menu :\\n' +\n 'Invoices tab is for receiving payments on your node.\\n' +\n ' 1. Memo - Description you want to provide on the invoice.\\n' +\n ' 2. Expiry - The time period, after which the invoice will be invalid.\\n' +\n ' 3. Private Routing Hints - Generate an invoice with routing hints for private channels.\\n',\n link: this.LNPLink + 'transactions/invoices',\n linkCaption: 'Invoices',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Offers',\n answer: 'Send offer payments, create offer invoices and bookmark paid offers on your node.\\n' +\n 'Go to the \"Transactions\" page under the \"Lightning\" menu :\\n' +\n 'Payment for bolt12 offer invoice can be done on \"Payments\" tab:\\n' +\n ' 1. Click on \"Send Payment\" button.\\n' +\n ' 2. Select \"Offer\" option on the modal.\\n' +\n ' 2. Offer Request - Input offer request (Bolt12 format) in the input box.\\n' +\n ' 3. Bookmark - Select the checkbox to bookmark this offer for future use.\\n' +\n 'Offers tab is for creating bolt12 offer invoice on your node:\\n' +\n ' 1. Click on \"Create Offer\" button.\\n' +\n ' 2. Description - Description you want to provide on the offer invoice.\\n' +\n ' 3. Amount - Amount for the offer invoice.\\n' +\n ' 4. Vendor - Vendor of the offer.\\n' +\n 'Paid offer bookmarks shows the list of paid offers saved for future payments.\\n',\n link: this.LNPLink + 'transactions/offers',\n linkCaption: 'Offers',\n lnImplementation: 'CLN'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Channel Backups',\n answer: 'Channel Backups are important to ensure that you have means to recover funds in case of node failures.\\n' +\n 'Backup folder location can be customized in the RTL config file with the channelBackupPath field.\\n' +\n 'RTL automatically creates all channel backup on server startup, as well as everytime a channel is opened or closed\\n' +\n 'You can verify the all channel backup file by clicking on \"Verify All\" Button on the backup page.\\n' +\n 'You can also backup each channel individually and verify them.\\n' +\n '** Keep taking backups of your channels regularly and store them in redundant locations **.\\n',\n link: this.LNPLink + 'channelbackup/bckup',\n linkCaption: 'Channel Backups',\n lnImplementation: 'LND'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Channel Restore',\n answer: 'Channel Restore is used to recover funds from the channel backup files in case of node failures.\\n' +\n 'Follow the below steps to perform fund restoration.\\n\\n' +\n 'Prerequisite:\\n' +\n '1. The node has been restored with the LND recovery seed.\\n' +\n '2. RTL generated channel backup file/s is available (all channel backup file is channel-all.bak).\\n\\n' +\n 'Recovery:\\n' +\n '1. Create a restore folder in your folder backup location, as specified in the RTL config file.\\n' +\n '2. Place the channel backup file in the restore folder.\\n' +\n '3. Go to the \"Restore\" tab under the \"Backup\" page of RTL.\\n' +\n '4. RTL will list the options to restore funds from the all channel file or individual channel backup file.\\n' +\n '5. Click on the Restore icon on the grid to restore the funds.\\n' +\n '6. Once the restore function is executed successfully, RTL will rename the backup file and it will not be accessible from the UI.\\n' +\n '7. Restore function will force close the channels and recover the funds from them.\\n' +\n '8. The pending close channels can be viewed under the \"Pending\" tab on the \"Peer/Channels\" page.\\n' +\n '9. Once the channel is closed, the corresponding pending on-chain transactions can be viewed on the \"On-Chain\" page.\\n' +\n '10. Once the transactions are confirmed, the channels funds will be restored to your LND Wallet.\\n',\n link: this.LNPLink + 'channelbackup/restore',\n linkCaption: 'Channel Restore',\n lnImplementation: 'LND'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Forwarding History',\n answer: 'Transactions routed by the node.\\n' +\n 'Go to \"Routing\" page under the \"Lightning\" menu :\\n' +\n 'Transactions routed by the node are listed on this page along with channels and the fee earned by transaction.\\n',\n link: this.LNPLink + 'routing/forwardinghistory',\n linkCaption: 'Forwarding History',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Lightning Reports',\n answer: 'Routing and transactions data reports.\\n' +\n 'Go to \"Reports\" page under the \"Lightning\" menu :\\n' +\n 'Report can be generated on monthly/yearly basis by selecting the reporting period, month, and year.\\n',\n link: this.LNPLink + 'reports/routingreport',\n linkCaption: 'Reports',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Graph Lookup',\n answer: 'Querying your node graph for network node and channel information.\\n' +\n 'Go to \"Graph Lookup\" page under the \"Lightning\" menu :\\n' +\n 'Each node maintains a network graph for the information on all the nodes and channels on the network.\\n' +\n 'You can lookup information on nodes and channels from your graph:\\n' +\n ' 1. Node Lookup - Enter the pubkey to perform the lookup.\\n' +\n ' 2. Channel Lookup - Enter the short channel ID to perform the lookup.\\n',\n link: this.LNPLink + 'graph/lookups',\n linkCaption: 'Graph Lookup',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Query Route',\n answer: 'Querying Payment Routes.\\n' +\n 'Go to the \"Graph Lookup\" page under the \"Lightning\" menu :\\n' +\n 'Query Routes tab is for querying a potential path to a node and a routing fee estimate for a payment amount.\\n' +\n ' 1. Destination Pubkey - Pubkey of the node, you want to send the payment to.\\n' +\n ' 2. Amount - Amount in Sats, which you want to send to the node.\\n',\n link: this.LNPLink + 'graph/queryroutes',\n linkCaption: 'Query Routes',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Sign & Verify Messages',\n answer: 'Messages signing and verification.\\n' +\n 'Go to the \"Sign/Verify\" page under the \"Lightning\" menu :\\n' +\n ' 1. Sign your message on \"Sign\" tab.\\n' +\n ' 2. Go to \"Verify\" tab to verify a message.\\n',\n link: this.LNPLink + 'messages/sign',\n linkCaption: 'Messages',\n lnImplementation: 'LND'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Sign & Verify Messages',\n answer: 'Messages signing and verification.\\n' +\n 'Go to the \"Sign/Verify\" page under the \"Lightning\" menu :\\n' +\n ' 1. Sign your message on \"Sign\" tab.\\n' +\n ' 2. Go to \"Verify\" tab to verify a message.\\n',\n link: this.LNPLink + 'messages/sign',\n linkCaption: 'Messages',\n lnImplementation: 'CLN'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Node Settings',\n answer: 'RTL offers certain customizations on the UI to personalize your experience on the app\\n' +\n 'Go to \"Node Config\" page to access the customization options.\\n' +\n 'Node Layout Options\\n' +\n ' 1. User Persona - Two options are available to change the dashboard based on the persona.\\n' +\n ' 2. Currency Unit - You can choose your preferred fiat currency, to view the onchain and channel balances in the choosen fiat currency.\\n' +\n ' 3. Other customizations include day and night mode and a choice of color themes to select from.\\n' +\n 'Services Options\\n' +\n ' Loop (LND only), Boltz (LND only) & Peerswap (CLN only) services can be configured.\\n' +\n 'Experimental Options (CLN only)\\n' +\n ' Offers and Liquidity Ads can be enabled/disabled.\\n' +\n 'Show LN Config (if configured)\\n' +\n ' Shows lightning config file.\\n',\n link: '../config/layout',\n linkCaption: 'Node Settings',\n lnImplementation: 'ALL'\n }));\n this.helpTopics.push(new HelpTopic({\n question: 'Application Settings',\n answer: 'RTL also offers certain customizations on the application level\\n' +\n 'Go to top right menu \"Settings\" page to access these options.\\n' +\n 'Default Node Option\\n' +\n 'If you are managing multiple nodes via RTL UI, you can select the default node to load upon login.\\n' +\n 'Authentication Option\\n' +\n 'Password and 2FA update options are available here.\\n' +\n 'Show Bitcoin Config (if configured)\\n' +\n ' Shows bitcoin config file.\\n',\n link: '../settings/app',\n linkCaption: 'Application Settings',\n lnImplementation: 'ALL'\n }));\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n
\n \n
\n Two Factor Token\n
\n \n
\n \n
\n \n \n Token is required.\n \n
\n \n
\n
\n
\n
\n
","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { MatDialogRef } from '@angular/material/dialog';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { closeAlert } from '../../../../store/rtl.actions';\n\n@Component({\n selector: 'rtl-login-token',\n templateUrl: './login-2fa-token.component.html',\n styleUrls: ['./login-2fa-token.component.scss']\n})\nexport class LoginTokenComponent {\n\n public token = '';\n\n constructor(public dialogRef: MatDialogRef, private store: Store) { }\n\n onClose() {\n this.dialogRef.close(null);\n }\n\n onVerifyToken(): boolean | void {\n if (!this.token) {\n return true;\n }\n this.dialogRef.close();\n this.store.dispatch(closeAlert({ payload: { twoFAToken: this.token } }));\n }\n\n}\n","
\n
\n \n
\n
\n \"RTL\n
\n
\n \n \n Welcome\n \n \n \n
\n \n \n {{flgShow ? 'visibility_off' : 'visibility'}}\n Password is required.\n \n

\n close\n {{loginErrorMessage}}\n

\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject, combineLatest } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport * as sha256 from 'sha256';\nimport { Store } from '@ngrx/store';\nimport { faUnlockAlt } from '@fortawesome/free-solid-svg-icons';\n\nimport { LoginTokenComponent } from '../data-modal/login-2fa-token/login-2fa-token.component';\nimport { RTLConfiguration } from '../../models/RTLconfig';\nimport { APICallStatusEnum, PASSWORD_BLACKLIST, ScreenSizeEnum } from '../../services/consts-enums-functions';\nimport { CommonService } from '../../services/common.service';\nimport { LoggerService } from '../../services/logger.service';\n\nimport { RTLEffects } from '../../../store/rtl.effects';\nimport { RTLState } from '../../../store/rtl.state';\nimport { login, openAlert } from '../../../store/rtl.actions';\nimport { rootAppConfig, authorizedStatus, loginStatus } from '../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n\n public faUnlockAlt = faUnlockAlt;\n public appConfig: RTLConfiguration;\n public password = '';\n public rtlSSO = 0;\n public rtlCookiePath = '';\n public accessKey = '';\n public flgShow = false;\n public screenSize = '';\n public screenSizeEnum = ScreenSizeEnum;\n public loginErrorMessage = '';\n public apiCallStatusEnum = APICallStatusEnum;\n private unSubs: Array> = [new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private store: Store, private rtlEffects: RTLEffects, private commonService: CommonService) { }\n\n ngOnInit() {\n this.screenSize = this.commonService.getScreenSize();\n combineLatest([this.store.select(loginStatus), this.store.select(authorizedStatus)]).pipe(takeUntil(this.unSubs[0])).\n subscribe(([loginCallRes, isAuthorizedCallRes]) => {\n this.loginErrorMessage = '';\n if (loginCallRes.status === APICallStatusEnum.ERROR) {\n this.loginErrorMessage = this.loginErrorMessage + ((typeof (loginCallRes.message) === 'object') ? JSON.stringify(loginCallRes.message) : loginCallRes.message);\n this.logger.error(loginCallRes.message);\n }\n if (isAuthorizedCallRes.status === APICallStatusEnum.ERROR) {\n this.loginErrorMessage = this.loginErrorMessage + ((typeof (isAuthorizedCallRes.message) === 'object') ? JSON.stringify(isAuthorizedCallRes.message) : isAuthorizedCallRes.message);\n this.logger.error(isAuthorizedCallRes.message);\n }\n });\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[1])).subscribe((appConfig) => {\n this.appConfig = appConfig;\n this.logger.info(appConfig);\n });\n }\n\n onLogin(): boolean | void {\n if (!this.password) {\n return true;\n }\n this.loginErrorMessage = '';\n if (this.appConfig.enable2FA) {\n this.store.dispatch(openAlert({\n payload: {\n maxWidth: '35rem',\n data: {\n component: LoginTokenComponent\n }\n }\n }));\n this.rtlEffects.closeAlert.\n pipe(take(1)).\n subscribe((alertRes) => {\n if (alertRes) {\n this.store.dispatch(login({ payload: { password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase()), twoFAToken: alertRes.twoFAToken } }));\n }\n });\n } else {\n this.store.dispatch(login({ payload: { password: sha256(this.password), defaultPassword: PASSWORD_BLACKLIST.includes(this.password.toLowerCase()) } }));\n }\n }\n\n resetData() {\n this.password = '';\n this.loginErrorMessage = '';\n this.flgShow = false;\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'rtl-error',\n templateUrl: './error.component.html'\n})\nexport class ErrorComponent implements OnInit {\n\n error = { errorCode: '', errorMessage: '' };\n public faTimes = faTimes;\n private unsubs: Array> = [new Subject(), new Subject()];\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n this.router.onSameUrlNavigation = 'reload';\n this.activatedRoute.paramMap.\n pipe(takeUntil(this.unsubs[0])).\n subscribe((data) => {\n this.error = window.history.state;\n });\n }\n\n goToHelp(): void {\n this.router.navigate(['/help']);\n }\n\n}\n","
\n \n \n \n \n Error {{error.errorCode}}\n \n \n \n
{{error.errorMessage}}
\n \n \n \n
\n
\n
\n","
\n
\n \n Experimental features should be enabled with caution. Many such features may be implementation specific and not ratified for the BOLT spec. Enabling these may still result in a broken experience. Referencing relevant feature documentation is highly advised before enabling.\n
\n
\n
\n \n Features\n
\n \n \n \n \n

{{feature.name}}

\n

\n \n \n {{feature.enabled ? 'Enabled' : 'Disabled'}}\n

\n
\n
\n
\n \n
\n \n Please ensure that experimental-offers flag is set to true in the Core Lightning config before enabling it in RTL. Click here to learn more about Core Lightning offers.\n
\n

Description

\n Offers is a draft specification (also referred as BOLT12) for Lightning nodes and wallets, with experimental support in Core Lightning.\n

Links

\n Core lightning Bolt12\n \n
\n \n Do not get an Offer tattoo until spec is fully ratified!\n
\n Enable Offers {{enableOffers ? '(You can find Offers under Lightning -> Transactions -> Offers)' : ''}}\n \n
\n
\n
\n \n Please ensure that experimental-dual-fund flag is set to true in the Core Lightning config before enabling it in RTL. Click here to learn more about Core Lightning Liquidity Ads.\n
\n
\n
\n
\n \n These config changes should be configured permanently via the config file on your CLN node otherwise the policy would need to be configured again, if your node restarts.\n
\n
\n \n \n \n {{policyType.id | titlecase}}\n \n \n \n \n \n {{selPolicyType.placeholder}} should be between {{selPolicyType.min}} and {{selPolicyType.max}}\n {{selPolicyType.placeholder}} is required.\n {{selPolicyType.placeholder}} must be greater than or equal to {{selPolicyType.min}}.\n selPolicyType.max\">{{selPolicyType.placeholder}} must be less than or equal to {{selPolicyType.max}}.\n \n
\n
\n \n \n Lease base fee is required.\n \n \n \n Lease base basis is required.\n \n
\n
\n \n \n Max channel routing base fee is required.\n \n \n \n Max channel routing fee rate is required.\n \n
\n

\n \n {{(updateMsg.error && updateMsg.error !== '') ? (('Error: ' + updateMsg.error) || 'Unknown Error') : (updateMsg.data && updateMsg.data !== '') ? updateMsg.data : 'Successfully Updated the Funding Policy!'}}\n \n

\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { faInfoCircle, faCode, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';\n\nimport { LoggerService } from '../../../services/logger.service';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { rootSelectedNode } from '../../../../store/rtl.selector';\nimport { ConfigSettingsNode } from '../../../models/RTLconfig';\nimport { updateServiceSettings } from '../../../../store/rtl.actions';\nimport { setChildNodeSettingsLND } from '../../../../lnd/store/lnd.actions';\nimport { setChildNodeSettingsCL } from '../../../../cln/store/cln.actions';\nimport { setChildNodeSettingsECL } from '../../../../eclair/store/ecl.actions';\nimport { DataService } from '../../../services/data.service';\nimport { CommonService } from '../../../services/common.service';\nimport { ServicesEnum, UI_MESSAGES, LADS_POLICY } from '../../../services/consts-enums-functions';\nimport { balance } from '../../../../cln/store/cln.selector';\nimport { Balance, FunderPolicy } from '../../../models/clnModels';\nimport { ApiCallStatusPayload } from '../../../models/apiCallsPayload';\n\n@Component({\n selector: 'rtl-experimental-settings',\n templateUrl: './experimental-settings.component.html',\n styleUrls: ['./experimental-settings.component.scss']\n})\nexport class ExperimentalSettingsComponent implements OnInit, OnDestroy {\n\n public faInfoCircle = faInfoCircle;\n public faExclamationTriangle = faExclamationTriangle;\n public faCode = faCode;\n public features = [{ name: 'Offers', enabled: false }, { name: 'Channel Funding Policy', enabled: false }];\n public enableOffers = false;\n public selNode: ConfigSettingsNode;\n public fundingPolicy: FunderPolicy = {};\n public policyTypes = LADS_POLICY;\n public selPolicyType = LADS_POLICY[0];\n public policyMod: number | null;\n public lease_fee_base_sat: number | null;\n public lease_fee_basis: number | null;\n public channelFeeMaxBaseSat: number | null;\n public channelFeeMaxProportional: number | null;\n public flgUpdateCalled = false;\n public updateMsg: { error?: string } | { data?: string } = {};\n private unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n\n constructor(private logger: LoggerService, private store: Store, private dataService: DataService, private commonService: CommonService) { }\n\n ngOnInit() {\n this.dataService.listConfigs().pipe(takeUntil(this.unSubs[0])).subscribe({\n next: (res: any) => {\n this.logger.info('Received List Configs: ' + JSON.stringify(res));\n this.features[1].enabled = !!res['experimental-dual-fund'];\n }, error: (err) => {\n this.logger.error('List Configs Error: ' + JSON.stringify(err));\n this.features[1].enabled = false;\n }\n });\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[1])).\n subscribe((selNode) => {\n this.selNode = selNode;\n this.enableOffers = this.selNode.settings.enableOffers || false;\n this.features[0].enabled = this.enableOffers;\n this.logger.info(this.selNode);\n });\n this.store.select(balance).pipe(takeUntil(this.unSubs[2])).\n subscribe((balanceSeletor: { balance: Balance, apiCallStatus: ApiCallStatusPayload }) => {\n this.policyTypes[2].max = balanceSeletor.balance.totalBalance || 1000;\n });\n }\n\n onPanelExpanded(panelId: number) {\n if (panelId === 1 && !this.fundingPolicy.policy) {\n this.dataService.getOrUpdateFunderPolicy().pipe(takeUntil(this.unSubs[3])).subscribe((res: any) => {\n this.logger.info('Received Funder Update Policy: ' + JSON.stringify(res));\n this.fundingPolicy = res;\n if (this.fundingPolicy.policy) {\n this.selPolicyType = LADS_POLICY.find((policy) => policy.id === this.fundingPolicy.policy) || this.policyTypes[0];\n }\n this.policyMod = this.fundingPolicy.policy_mod || this.fundingPolicy.policy_mod === 0 ? this.fundingPolicy.policy_mod : null;\n this.lease_fee_base_sat = this.fundingPolicy.lease_fee_base_msat ? this.fundingPolicy.lease_fee_base_msat / 1000 : this.fundingPolicy.lease_fee_base_msat === 0 ? 0 : null;\n this.lease_fee_basis = this.fundingPolicy.lease_fee_basis || this.fundingPolicy.lease_fee_basis === 0 ? this.fundingPolicy.lease_fee_basis : null;\n this.channelFeeMaxBaseSat = this.fundingPolicy.channel_fee_max_base_msat ? this.fundingPolicy.channel_fee_max_base_msat / 1000 : this.fundingPolicy.channel_fee_max_base_msat === 0 ? 0 : null;\n this.channelFeeMaxProportional = this.fundingPolicy.channel_fee_max_proportional_thousandths || this.fundingPolicy.channel_fee_max_proportional_thousandths === 0 ? (this.fundingPolicy.channel_fee_max_proportional_thousandths * 1000) : null;\n });\n }\n }\n\n onUpdateFeature(): boolean | void {\n this.logger.info(this.selNode);\n this.selNode.settings.enableOffers = this.enableOffers;\n this.features[0].enabled = this.enableOffers;\n this.store.dispatch(updateServiceSettings({ payload: { uiMessage: UI_MESSAGES.UPDATE_SETTING, service: ServicesEnum.OFFERS, settings: { enableOffers: this.enableOffers } } }));\n this.store.dispatch(setChildNodeSettingsLND({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsCL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.enableOffers\n }\n }));\n this.store.dispatch(setChildNodeSettingsECL({\n payload: {\n userPersona: this.selNode.settings.userPersona, channelBackupPath: this.selNode.settings.channelBackupPath, selCurrencyUnit: this.selNode.settings.currencyUnit, currencyUnits: this.selNode.settings.currencyUnits, fiatConversion: this.selNode.settings.fiatConversion,\n unannouncedChannels: this.selNode.settings.unannouncedChannels, lnImplementation: this.selNode.lnImplementation, swapServerUrl: this.selNode.settings.swapServerUrl, boltzServerUrl: this.selNode.settings.boltzServerUrl, enableOffers: this.enableOffers\n }\n }));\n }\n\n onUpdateFundingPolicy() {\n this.flgUpdateCalled = true;\n this.updateMsg = {};\n this.dataService.getOrUpdateFunderPolicy(this.selPolicyType.id, this.policyMod, ((this.lease_fee_base_sat || 0) * 1000), this.lease_fee_basis, (this.channelFeeMaxBaseSat || 0) * 1000, this.channelFeeMaxProportional ? this.channelFeeMaxProportional / 1000 : 0).\n pipe(takeUntil(this.unSubs[4])).\n subscribe({\n next: (updatePolicyRes: any) => {\n this.logger.info(updatePolicyRes);\n this.fundingPolicy = updatePolicyRes;\n this.updateMsg = { data: 'Compact Lease: ' + updatePolicyRes.compact_lease };\n setTimeout(() => { this.flgUpdateCalled = false; }, 5000);\n }, error: (err) => {\n this.logger.error(err);\n this.updateMsg = { error: this.commonService.extractErrorMessage(err, 'Error in updating funder policy') };\n setTimeout(() => { this.flgUpdateCalled = false; }, 5000);\n }\n });\n }\n\n onResetPolicy() {\n this.flgUpdateCalled = false;\n this.updateMsg = {};\n if (this.fundingPolicy.policy) {\n this.selPolicyType = LADS_POLICY.find((policy) => policy.id === this.fundingPolicy.policy) || this.policyTypes[0];\n } else {\n this.selPolicyType = LADS_POLICY[0];\n }\n this.policyMod = this.fundingPolicy.policy_mod || this.fundingPolicy.policy_mod === 0 ? this.fundingPolicy.policy_mod : null;\n this.lease_fee_base_sat = this.fundingPolicy.lease_fee_base_msat ? this.fundingPolicy.lease_fee_base_msat / 1000 : this.fundingPolicy.lease_fee_base_msat === 0 ? 0 : null;\n this.lease_fee_basis = this.fundingPolicy.lease_fee_basis || this.fundingPolicy.lease_fee_basis === 0 ? this.fundingPolicy.lease_fee_basis : null;\n this.channelFeeMaxBaseSat = this.fundingPolicy.channel_fee_max_base_msat ? this.fundingPolicy.channel_fee_max_base_msat / 1000 : this.fundingPolicy.channel_fee_max_base_msat === 0 ? 0 : null;\n this.channelFeeMaxProportional = this.fundingPolicy.channel_fee_max_proportional_thousandths || this.fundingPolicy.channel_fee_max_proportional_thousandths === 0 ? (this.fundingPolicy.channel_fee_max_proportional_thousandths * 1000) : null;\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","import { Routes, RouterModule } from '@angular/router';\nimport { ModuleWithProviders } from '@angular/core';\n\nimport { SettingsComponent } from './shared/components/settings/settings.component';\nimport { AppSettingsComponent } from './shared/components/settings/app-settings/app-settings.component';\nimport { AuthSettingsComponent } from './shared/components/settings/auth-settings/auth-settings.component';\nimport { BitcoinConfigComponent } from './shared/components/settings/bitcoin-config/bitcoin-config.component';\nimport { NodeConfigComponent } from './shared/components/node-config/node-config.component';\nimport { LNPConfigComponent } from './shared/components/node-config/lnp-config/lnp-config.component';\nimport { NodeSettingsComponent } from './shared/components/node-config/node-settings/node-settings.component';\nimport { PageSettingsComponent } from './shared/components/node-config/page-settings/page-settings.component';\nimport { ServicesSettingsComponent } from './shared/components/node-config/services-settings/services-settings.component';\nimport { LoopServiceSettingsComponent } from './shared/components/node-config/services-settings/loop-service-settings/loop-service-settings.component';\nimport { BoltzServiceSettingsComponent } from './shared/components/node-config/services-settings/boltz-service-settings/boltz-service-settings.component';\nimport { LNServicesComponent } from './shared/components/ln-services/ln-services.component';\nimport { LoopComponent } from './shared/components/ln-services/loop/loop.component';\nimport { BoltzRootComponent } from './shared/components/ln-services/boltz/boltz-root.component';\nimport { HelpComponent } from './shared/components/help/help.component';\nimport { LoginComponent } from './shared/components/login/login.component';\nimport { NotFoundComponent } from './shared/components/not-found/not-found.component';\nimport { ErrorComponent } from './shared/components/error/error.component';\nimport { AuthGuard } from './shared/services/auth.guard';\nimport { ExperimentalSettingsComponent } from './shared/components/node-config/experimental-settings/experimental-settings.component';\n\ntype PathMatch = 'full' | 'prefix' | undefined;\n\nexport const routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: 'login' },\n { path: 'lnd', loadChildren: () => import('./lnd/lnd.module').then((childModule) => childModule.LNDModule), canActivate: [AuthGuard] },\n { path: 'cln', loadChildren: () => import('./cln/cln.module').then((childModule) => childModule.CLNModule), canActivate: [AuthGuard] },\n { path: 'ecl', loadChildren: () => import('./eclair/ecl.module').then((childModule) => childModule.ECLModule), canActivate: [AuthGuard] },\n {\n path: 'settings', component: SettingsComponent, canActivate: [AuthGuard], children: [\n { path: '', pathMatch: 'full', redirectTo: 'app' },\n { path: 'app', component: AppSettingsComponent, canActivate: [AuthGuard] },\n { path: 'auth', component: AuthSettingsComponent, canActivate: [AuthGuard] },\n { path: 'bconfig', component: BitcoinConfigComponent, canActivate: [AuthGuard] }\n ]\n },\n {\n path: 'config', component: NodeConfigComponent, canActivate: [AuthGuard], children: [\n { path: '', pathMatch: 'full', redirectTo: 'nodesettings' },\n { path: 'nodesettings', component: NodeSettingsComponent, canActivate: [AuthGuard] },\n { path: 'pglayout', component: PageSettingsComponent, canActivate: [AuthGuard] },\n {\n path: 'services', component: ServicesSettingsComponent, canActivate: [AuthGuard], children: [\n { path: '', pathMatch: 'full', redirectTo: 'loop' },\n { path: 'loop', component: LoopServiceSettingsComponent, canActivate: [AuthGuard] },\n { path: 'boltz', component: BoltzServiceSettingsComponent, canActivate: [AuthGuard] }\n ]\n },\n { path: 'experimental', component: ExperimentalSettingsComponent, canActivate: [AuthGuard] },\n { path: 'lnconfig', component: LNPConfigComponent, canActivate: [AuthGuard] }\n ]\n },\n {\n path: 'services', component: LNServicesComponent, canActivate: [AuthGuard], children: [\n { path: '', pathMatch: 'full', redirectTo: 'loop' },\n { path: 'loop', pathMatch: 'full', redirectTo: 'loop/loopout' },\n { path: 'loop/:selTab', component: LoopComponent },\n { path: 'boltz', pathMatch: 'full', redirectTo: 'boltz/swapout' },\n { path: 'boltz/:selTab', component: BoltzRootComponent }\n ]\n },\n { path: 'help', component: HelpComponent },\n { path: 'login', component: LoginComponent },\n { path: 'error', component: ErrorComponent },\n { path: '**', component: NotFoundComponent }\n];\n\n// Export const routing: ModuleWithProviders = RouterModule.forRoot(routes, { enableTracing: true });\nexport const routing: ModuleWithProviders = RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled' });\n","import { faTachometerAlt, faLink, faBolt, faExchangeAlt, faUsers, faMapSigns, faQuestion, faSearch, faChartBar, faTools, faProjectDiagram, faDownload, faServer, faPercentage, faInfinity, faUserCheck, faLayerGroup, faBullhorn, faHandshake } from '@fortawesome/free-solid-svg-icons';\nimport { UserPersonaEnum } from '../services/consts-enums-functions';\n\nexport class MenuChildNode {\n\n id: number;\n parentId: number;\n name?: string;\n iconType?: string;\n icon?: any | string;\n link?: any;\n userPersona?: string;\n children?: MenuChildNode[];\n\n}\n\nexport class MenuRootNode {\n\n LNDChildren?: MenuChildNode[];\n CLNChildren?: MenuChildNode[];\n ECLChildren?: MenuChildNode[];\n\n}\n\nexport const MENU_DATA: MenuRootNode = {\n LNDChildren: [\n { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/lnd/home', userPersona: UserPersonaEnum.ALL },\n { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/lnd/onchain', userPersona: UserPersonaEnum.ALL },\n {\n id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL, children: [\n { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/lnd/connections', userPersona: UserPersonaEnum.ALL },\n { id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/lnd/transactions', userPersona: UserPersonaEnum.ALL },\n { id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/lnd/routing', userPersona: UserPersonaEnum.ALL },\n { id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/lnd/reports', userPersona: UserPersonaEnum.ALL },\n { id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/lnd/graph', userPersona: UserPersonaEnum.ALL },\n { id: 36, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/lnd/messages', userPersona: UserPersonaEnum.ALL },\n { id: 37, parentId: 3, name: 'Backup', iconType: 'FA', icon: faDownload, link: '/lnd/channelbackup', userPersona: UserPersonaEnum.ALL },\n { id: 38, parentId: 3, name: 'Network', iconType: 'FA', icon: faProjectDiagram, link: '/lnd/network', userPersona: UserPersonaEnum.OPERATOR },\n { id: 39, parentId: 3, name: 'Node/Network', iconType: 'FA', icon: faServer, link: '/lnd/network', userPersona: UserPersonaEnum.MERCHANT }\n ]\n },\n {\n id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/services/loop', userPersona: UserPersonaEnum.ALL, children: [\n { id: 41, parentId: 4, name: 'Loop', iconType: 'FA', icon: faInfinity, link: '/services/loop', userPersona: UserPersonaEnum.ALL },\n { id: 42, parentId: 4, name: 'Boltz', iconType: 'SVG', icon: 'boltzIconBlock', link: '/services/boltz', userPersona: UserPersonaEnum.ALL }\n ]\n },\n { id: 5, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL },\n { id: 6, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL }\n ],\n CLNChildren: [\n { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/cln/home', userPersona: UserPersonaEnum.ALL },\n { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/cln/onchain', userPersona: UserPersonaEnum.ALL },\n {\n id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/cln/connections', userPersona: UserPersonaEnum.ALL, children: [\n { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/cln/connections', userPersona: UserPersonaEnum.ALL },\n { id: 32, parentId: 3, name: 'Liquidity Ads', iconType: 'FA', icon: faBullhorn, link: '/cln/liquidityads', userPersona: UserPersonaEnum.ALL },\n { id: 33, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/cln/transactions', userPersona: UserPersonaEnum.ALL },\n { id: 34, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/cln/routing', userPersona: UserPersonaEnum.ALL },\n { id: 35, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/cln/reports', userPersona: UserPersonaEnum.ALL },\n { id: 36, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/cln/graph', userPersona: UserPersonaEnum.ALL },\n { id: 37, parentId: 3, name: 'Sign/Verify', iconType: 'FA', icon: faUserCheck, link: '/cln/messages', userPersona: UserPersonaEnum.ALL },\n { id: 38, parentId: 3, name: 'Fee Rates', iconType: 'FA', icon: faPercentage, link: '/cln/rates', userPersona: UserPersonaEnum.OPERATOR },\n { id: 39, parentId: 3, name: 'Node/Fee Rates', iconType: 'FA', icon: faServer, link: '/cln/rates', userPersona: UserPersonaEnum.MERCHANT }\n ]\n },\n // {\n // id: 4, parentId: 0, name: 'Services', iconType: 'FA', icon: faLayerGroup, link: '/services/peerswap', userPersona: UserPersonaEnum.ALL, children: [\n // { id: 41, parentId: 4, name: 'Peerswap', iconType: 'FA', icon: faHandshake, link: '/services/peerswap', userPersona: UserPersonaEnum.ALL },\n // ]\n // },\n { id: 5, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL },\n { id: 6, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL }\n ],\n ECLChildren: [\n { id: 1, parentId: 0, name: 'Dashboard', iconType: 'FA', icon: faTachometerAlt, link: '/ecl/home', userPersona: UserPersonaEnum.ALL },\n { id: 2, parentId: 0, name: 'On-chain', iconType: 'FA', icon: faLink, link: '/ecl/onchain', userPersona: UserPersonaEnum.ALL },\n {\n id: 3, parentId: 0, name: 'Lightning', iconType: 'FA', icon: faBolt, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL, children: [\n { id: 31, parentId: 3, name: 'Peers/Channels', iconType: 'FA', icon: faUsers, link: '/ecl/connections', userPersona: UserPersonaEnum.ALL },\n { id: 32, parentId: 3, name: 'Transactions', iconType: 'FA', icon: faExchangeAlt, link: '/ecl/transactions', userPersona: UserPersonaEnum.ALL },\n { id: 33, parentId: 3, name: 'Routing', iconType: 'FA', icon: faMapSigns, link: '/ecl/routing', userPersona: UserPersonaEnum.ALL },\n { id: 34, parentId: 3, name: 'Reports', iconType: 'FA', icon: faChartBar, link: '/ecl/reports', userPersona: UserPersonaEnum.ALL },\n { id: 35, parentId: 3, name: 'Graph Lookup', iconType: 'FA', icon: faSearch, link: '/ecl/graph', userPersona: UserPersonaEnum.ALL }\n ]\n },\n { id: 4, parentId: 0, name: 'Node Config', iconType: 'FA', icon: faTools, link: '/config', userPersona: UserPersonaEnum.ALL },\n { id: 5, parentId: 0, name: 'Help', iconType: 'FA', icon: faQuestion, link: '/help', userPersona: UserPersonaEnum.ALL }\n ]\n};\n","
\n
\n 1\" class=\"m-2 multi-node-select\" [value]=\"selConfigNodeIndex\" (selectionChange)=\"onNodeSelectionChange($event.value)\">\n \n {{node.lnNode}} ({{node.lnImplementation}})\n \n \n \n \n \n
\n
\n \n \n {{node.icon}}\n {{node.name}}\n
\n
\n
\n \n
\n
\n \n \n {{node.icon}}\n {{node.name}}\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n {{node.icon}}\n {{node.name}}\n \n \n
\n
\n \n \n \n \n {{node.name}}\n \n \n
\n
\n\n \n \n \n \n \n \n \n \n \n","import { Component, OnInit, OnDestroy, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { Actions } from '@ngrx/effects';\nimport { VERSION } from '../../../../../environments/environment';\n\nimport { NestedTreeControl } from '@angular/cdk/tree';\nimport { MatTreeNestedDataSource, MatTree } from '@angular/material/tree';\nimport { faEject, faEye } from '@fortawesome/free-solid-svg-icons';\n\nimport { RTLConfiguration, ConfigSettingsNode, Settings, GetInfoRoot } from '../../../models/RTLconfig';\nimport { LoggerService } from '../../../services/logger.service';\nimport { SessionService } from '../../../services/session.service';\nimport { GetInfoChain } from '../../../models/lndModels';\nimport { MenuChildNode, MENU_DATA } from '../../../models/navMenu';\n\nimport { RTLEffects } from '../../../../store/rtl.effects';\nimport { RTLState } from '../../../../store/rtl.state';\nimport { AlertTypeEnum, RTLActions, UI_MESSAGES, UserPersonaEnum } from '../../../services/consts-enums-functions';\nimport { CommonService } from '../../../services/common.service';\nimport { logout, openConfirmation, setSelectedNode, showPubkey } from '../../../../store/rtl.actions';\nimport { rootAppConfig, rootSelNodeAndNodeData } from '../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-side-navigation',\n templateUrl: './side-navigation.component.html',\n styleUrls: ['./side-navigation.component.scss']\n})\nexport class SideNavigationComponent implements OnInit, OnDestroy {\n\n @ViewChild(MatTree, { static: false }) tree: any;\n @Output() readonly ChildNavClicked = new EventEmitter();\n faEject = faEject;\n faEye = faEye;\n public appConfig: RTLConfiguration;\n public selConfigNodeIndex: Number;\n public selNode: ConfigSettingsNode | any;\n public settings: Settings | null;\n public version = '';\n public information: GetInfoRoot = {};\n public informationChain: GetInfoChain = {};\n public flgLoading = true;\n public logoutNode = [{ id: 200, parentId: 0, name: 'Logout', iconType: 'FA', icon: faEject }];\n public showDataNodes = [{ id: 1000, parentId: 0, name: 'Public Key', iconType: 'FA', icon: faEye }];\n public showLogout = false;\n public numPendingChannels = 0;\n public smallScreen = false;\n public childRootRoute = '';\n public userPersonaEnum = UserPersonaEnum;\n private unSubs = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n treeControlNested = new NestedTreeControl((node) => node.children);\n treeControlLogout = new NestedTreeControl((node) => node.children);\n treeControlShowData = new NestedTreeControl((node) => node.children);\n navMenus = new MatTreeNestedDataSource();\n navMenusLogout = new MatTreeNestedDataSource();\n navMenusShowData = new MatTreeNestedDataSource();\n\n constructor(private logger: LoggerService, private commonService: CommonService, private sessionService: SessionService, private store: Store, private actions: Actions, private rtlEffects: RTLEffects) {\n this.version = VERSION;\n if (MENU_DATA.LNDChildren && MENU_DATA.LNDChildren[MENU_DATA.LNDChildren.length - 1].id === 200) {\n MENU_DATA.LNDChildren.pop();\n }\n this.navMenus.data = MENU_DATA.LNDChildren || [];\n this.navMenusLogout.data = this.logoutNode;\n this.navMenusShowData.data = this.showDataNodes;\n }\n\n ngOnInit() {\n const token = this.sessionService.getItem('token');\n this.showLogout = !!token;\n this.flgLoading = !!token;\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[0])).subscribe((appConfig) => {\n this.appConfig = appConfig;\n });\n this.store.select(rootSelNodeAndNodeData).pipe(takeUntil(this.unSubs[1])).\n subscribe((rootData: { nodeDate: GetInfoRoot, selNode: ConfigSettingsNode | null }) => {\n this.information = rootData.nodeDate;\n if (this.information.identity_pubkey) {\n if (this.information.chains && typeof this.information.chains[0] === 'string') {\n this.informationChain.chain = this.information.chains[0].toString();\n this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet';\n } else if (this.information && this.information.chains && this.information.chains.length && this.information.chains.length > 0 && typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) {\n const getInfoChain = this.information.chains[0];\n this.informationChain.chain = getInfoChain.chain;\n this.informationChain.network = getInfoChain.network;\n }\n } else {\n this.informationChain.chain = '';\n this.informationChain.network = '';\n }\n this.flgLoading = !(this.information.identity_pubkey);\n if (window.innerWidth <= 414) {\n this.smallScreen = true;\n }\n this.selNode = rootData.selNode;\n this.settings = this.selNode?.settings || null;\n this.selConfigNodeIndex = +(rootData.selNode?.index || 0);\n if (this.selNode && this.selNode.lnImplementation) {\n this.filterSideMenuNodes();\n }\n this.logger.info(rootData);\n });\n this.sessionService.watchSession().\n pipe(takeUntil(this.unSubs[2])).\n subscribe((session) => {\n this.showLogout = !!session.token;\n this.flgLoading = !!session.token;\n });\n this.actions.pipe(\n takeUntil(this.unSubs[3]),\n filter((action) => action.type === RTLActions.LOGOUT)).\n subscribe((action: any) => {\n this.showLogout = false;\n });\n }\n\n hasChild = (_: number, node: MenuChildNode) => !!node.children && node.children.length > 0;\n\n onClick(node: MenuChildNode) {\n if (node.name === 'Logout') {\n this.store.dispatch(openConfirmation({\n payload: {\n data: {\n type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout'\n }\n }\n }));\n this.rtlEffects.closeConfirm.\n pipe(takeUntil(this.unSubs[4])).\n subscribe((confirmRes) => {\n if (confirmRes) {\n this.showLogout = false;\n this.store.dispatch(logout());\n }\n });\n }\n this.ChildNavClicked.emit(node);\n }\n\n onChildNavClicked(node) {\n this.ChildNavClicked.emit(node);\n }\n\n filterSideMenuNodes() {\n switch (this.selNode?.lnImplementation?.toUpperCase()) {\n case 'CLN':\n this.loadCLNMenu();\n break;\n\n case 'ECL':\n this.loadECLMenu();\n break;\n\n default:\n this.loadLNDMenu();\n break;\n }\n }\n\n loadLNDMenu() {\n let clonedMenu = [];\n clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.LNDChildren));\n this.navMenus.data = clonedMenu?.filter((navMenuData: any) => {\n if (navMenuData.children && navMenuData.children.length) {\n navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/services/loop' && navMenuChild.link !== '/services/boltz') ||\n (navMenuChild.link === '/services/loop' && this.settings?.swapServerUrl && this.settings.swapServerUrl.trim() !== '') ||\n (navMenuChild.link === '/services/boltz' && this.settings?.boltzServerUrl && this.settings.boltzServerUrl.trim() !== ''));\n return navMenuData.children.length > 0;\n }\n return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings?.userPersona;\n });\n }\n\n loadCLNMenu() {\n let clonedMenu = [];\n clonedMenu = JSON.parse(JSON.stringify(MENU_DATA.CLNChildren));\n this.navMenus.data = clonedMenu?.filter((navMenuData: any) => {\n if (navMenuData.children && navMenuData.children.length) {\n navMenuData.children = navMenuData.children?.filter((navMenuChild) => ((navMenuChild.userPersona === UserPersonaEnum.ALL || navMenuChild.userPersona === this.settings?.userPersona) && navMenuChild.link !== '/services/peerswap') ||\n (navMenuChild.link === '/services/peerswap' && this.settings?.enablePeerswap));\n return navMenuData.children.length > 0;\n }\n return navMenuData.userPersona === UserPersonaEnum.ALL || navMenuData.userPersona === this.settings?.userPersona;\n });\n }\n\n loadECLMenu() {\n this.navMenus.data = JSON.parse(JSON.stringify(MENU_DATA.ECLChildren));\n }\n\n onShowData(node: MenuChildNode) {\n this.store.dispatch(showPubkey());\n this.ChildNavClicked.emit('showData');\n }\n\n onNodeSelectionChange(selNodeValue: Number) {\n const prevIndex = this.selConfigNodeIndex;\n this.selConfigNodeIndex = selNodeValue;\n const foundNode = this.appConfig.nodes.find((node: any) => +node.index === selNodeValue);\n this.store.dispatch(setSelectedNode({ payload: { uiMessage: UI_MESSAGES.UPDATE_SELECTED_NODE, prevLnNodeIndex: +prevIndex, currentLnNode: (foundNode || null), isInitialSetup: false } }));\n this.ChildNavClicked.emit('selectNode');\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","\n

\n \n Version: {{version}}\n

\n

\n \n API Version: {{information?.api_version}}\n

\n

\n \n Settings\n

\n

\n \n Help\n

\n

\n \n Logout\n

\n
\n\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { Actions } from '@ngrx/effects';\nimport { faCodeBranch, faCode, faCog, faQuestion, faEject, faUserCog } from '@fortawesome/free-solid-svg-icons';\n\nimport { GetInfoRoot } from '../../../models/RTLconfig';\nimport { LoggerService } from '../../../services/logger.service';\nimport { SessionService } from '../../../services/session.service';\nimport { GetInfoChain } from '../../../models/lndModels';\nimport { VERSION } from '../../../../../environments/environment';\nimport { AlertTypeEnum, RTLActions } from '../../../services/consts-enums-functions';\nimport { RTLEffects } from '../../../../store/rtl.effects';\n\nimport { RTLState } from '../../../../store/rtl.state';\nimport { logout, openConfirmation } from '../../../../store/rtl.actions';\nimport { rootNodeData } from '../../../../store/rtl.selector';\n\n@Component({\n selector: 'rtl-top-menu',\n templateUrl: './top-menu.component.html',\n styleUrls: ['./top-menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TopMenuComponent implements OnInit, OnDestroy {\n\n public faUserCog = faUserCog;\n public faCodeBranch = faCodeBranch;\n public faCode = faCode;\n public faCog = faCog;\n public faQuestion = faQuestion;\n public faEject = faEject;\n public version = '';\n public information: GetInfoRoot = {};\n public informationChain: GetInfoChain = {};\n public flgLoading = true;\n public showLogout = false;\n private unSubs = [new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(private logger: LoggerService, private sessionService: SessionService, private store: Store, private rtlEffects: RTLEffects, private actions: Actions) {\n this.version = VERSION;\n }\n\n ngOnInit() {\n this.store.select(rootNodeData).\n pipe(takeUntil(this.unSubs[0])).\n subscribe((nodeData: GetInfoRoot) => {\n this.information = nodeData;\n this.flgLoading = !(this.information.identity_pubkey);\n if (this.information.identity_pubkey) {\n if (this.information.chains && typeof this.information.chains[0] === 'string') {\n this.informationChain.chain = this.information.chains[0].toString();\n this.informationChain.network = (this.information.testnet) ? 'Testnet' : 'Mainnet';\n } else if (this.information && this.information.chains && this.information.chains.length && this.information.chains.length > 0 && typeof this.information.chains[0] === 'object' && this.information.chains[0].hasOwnProperty('chain')) {\n const getInfoChain = this.information.chains[0];\n this.informationChain.chain = getInfoChain.chain;\n this.informationChain.network = getInfoChain.network;\n }\n } else {\n this.informationChain.chain = '';\n this.informationChain.network = '';\n }\n this.logger.info(nodeData);\n });\n this.sessionService.watchSession().\n pipe(takeUntil(this.unSubs[1])).\n subscribe((session) => {\n this.showLogout = !!session.token;\n this.flgLoading = !!session.token;\n });\n this.actions.\n pipe(\n takeUntil(this.unSubs[2]),\n filter((action) => action.type === RTLActions.LOGOUT)\n ).subscribe(() => {\n this.showLogout = false;\n });\n }\n\n onClick() {\n this.store.dispatch(openConfirmation({\n payload: {\n data: {\n type: AlertTypeEnum.CONFIRM, alertTitle: 'Logout', titleMessage: 'Logout from this device?', noBtnText: 'Cancel', yesBtnText: 'Logout'\n }\n }\n }));\n this.rtlEffects.closeConfirm.\n pipe(takeUntil(this.unSubs[3])).\n subscribe((confirmRes) => {\n if (confirmRes) {\n this.showLogout = false;\n this.store.dispatch(logout());\n }\n });\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((completeSub) => {\n completeSub.next(null);\n completeSub.complete();\n });\n }\n\n}\n","
\n \n
\n \n \n
\n
\n {{information.alias ? 'RTL - ' + information.alias : 'RTL'}}\n {{information.alias ? 'Ride The Lightning - ' + information.alias : 'Ride The Lightning'}}\n
\n
\n \n
\n
\n \n \n \n \n \n
\n \n
\n
>\n
\n
\n \n

Loading RTL...

\n
\n
\n","import { Component, OnInit, AfterViewInit, OnDestroy, ViewChild, Renderer2 } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\n\nimport { Store } from '@ngrx/store';\nimport { Actions } from '@ngrx/effects';\nimport { UserIdleService } from 'angular-user-idle';\nimport * as sha256 from 'sha256';\n\nimport { LoggerService } from './shared/services/logger.service';\nimport { CommonService } from './shared/services/common.service';\nimport { SessionService } from './shared/services/session.service';\nimport { AlertTypeEnum, RTLActions, ScreenSizeEnum } from './shared/services/consts-enums-functions';\nimport { rootAppConfig, rootNodeData, rootSelectedNode } from './store/rtl.selector';\nimport { RTLConfiguration, Settings, GetInfoRoot } from './shared/models/RTLconfig';\nimport { closeAllDialogs, fetchRTLConfig, login, logout, openAlert } from './store/rtl.actions';\nimport { routeAnimation } from './shared/animation/route-animation';\n\nimport { RTLState } from './store/rtl.state';\n\n@Component({\n selector: 'rtl-app',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n animations: [routeAnimation]\n})\nexport class AppComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild('sideNavigation', { static: false }) sideNavigation: any;\n @ViewChild('sideNavContent', { static: false }) sideNavContent: any;\n public settings: Settings;\n public information: GetInfoRoot = {};\n public flgLoading: Array = [true]; // 0: Info\n public flgSideNavOpened = true;\n public flgCopied = false;\n public appConfig: RTLConfiguration;\n public accessKey = '';\n public xSmallScreen = false;\n public smallScreen = false;\n public flgSidenavPinned = true;\n public flgLoggedIn = false;\n unSubs: Array> = [new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject(), new Subject()];\n\n constructor(\n private logger: LoggerService, private commonService: CommonService, private store: Store, private actions: Actions,\n private userIdle: UserIdleService, private router: Router, private sessionService: SessionService, private breakpointObserver: BreakpointObserver, private renderer: Renderer2\n ) { }\n\n ngOnInit() {\n this.router.events.subscribe((evt) => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n document.getElementsByTagName('mat-sidenav-content')[0].scrollTo(0, 0);\n });\n this.breakpointObserver.observe([Breakpoints.XSmall, Breakpoints.TabletPortrait, Breakpoints.Small, Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge]).\n pipe(takeUntil(this.unSubs[0])).\n subscribe((matches) => {\n if (matches.breakpoints[Breakpoints.XSmall]) {\n this.commonService.setScreenSize(ScreenSizeEnum.XS);\n this.smallScreen = true;\n } else if (matches.breakpoints[Breakpoints.TabletPortrait]) {\n this.commonService.setScreenSize(ScreenSizeEnum.SM);\n this.smallScreen = true;\n } else if (matches.breakpoints[Breakpoints.Small] || matches.breakpoints[Breakpoints.Medium]) {\n this.commonService.setScreenSize(ScreenSizeEnum.MD);\n this.smallScreen = false;\n } else if (matches.breakpoints[Breakpoints.Large]) {\n this.commonService.setScreenSize(ScreenSizeEnum.LG);\n this.smallScreen = false;\n } else {\n this.commonService.setScreenSize(ScreenSizeEnum.XL);\n this.smallScreen = false;\n }\n });\n this.store.dispatch(fetchRTLConfig());\n this.accessKey = this.readAccessKey() || '';\n this.store.select(rootSelectedNode).pipe(takeUntil(this.unSubs[1])).subscribe((selNode) => {\n this.settings = selNode.settings;\n if (!this.sessionService.getItem('token')) {\n this.flgLoggedIn = false;\n this.flgLoading[0] = false;\n } else {\n this.flgLoggedIn = true;\n this.userIdle.startWatching();\n }\n });\n this.store.select(rootAppConfig).pipe(takeUntil(this.unSubs[2])).subscribe((appConfig) => { this.appConfig = appConfig; });\n this.store.select(rootNodeData).pipe(takeUntil(this.unSubs[3])).subscribe((nodeData) => {\n this.information = nodeData;\n this.flgLoading[0] = !(this.information.identity_pubkey);\n this.logger.info(this.information);\n });\n if (this.sessionService.getItem('defaultPassword') === 'true') {\n this.flgSideNavOpened = false;\n }\n this.actions.pipe(\n takeUntil(this.unSubs[4]),\n filter((action) => action.type === RTLActions.SET_RTL_CONFIG || action.type === RTLActions.LOGIN || action.type === RTLActions.LOGOUT)).\n subscribe((action: (any)) => {\n if (action.type === RTLActions.SET_RTL_CONFIG) {\n if (!this.sessionService.getItem('token')) {\n if (+action.payload.sso.rtlSSO) {\n if (!this.accessKey || this.accessKey.trim().length < 32) {\n this.router.navigate(['./error'], { state: { errorCode: '406', errorMessage: 'Access key too short. It should be at least 32 characters long.' } });\n } else {\n this.store.dispatch(login({ payload: { password: sha256(this.accessKey).toString(), defaultPassword: false } }));\n }\n } else {\n this.router.navigate(['./login']);\n }\n }\n }\n if (action.type === RTLActions.LOGIN) {\n this.flgLoggedIn = true;\n this.userIdle.startWatching();\n this.userIdle.resetTimer();\n setTimeout(() => {\n this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth, this.sideNavContent.elementRef.nativeElement.clientHeight);\n }, 1000);\n }\n if (action.type === RTLActions.LOGOUT) {\n this.flgLoggedIn = false;\n this.userIdle.stopWatching();\n this.userIdle.stopTimer();\n }\n });\n this.userIdle.onTimerStart().pipe(takeUntil(this.unSubs[5])).subscribe((count) => {\n this.logger.info('Counting Down: ' + (11 - count));\n });\n this.userIdle.onTimeout().pipe(takeUntil(this.unSubs[6])).subscribe(() => {\n this.logger.info('Time Out!');\n if (this.sessionService.getItem('token')) {\n this.flgLoggedIn = false;\n this.logger.warn('Time limit exceeded for session inactivity.');\n this.store.dispatch(closeAllDialogs());\n this.store.dispatch(openAlert({\n payload: {\n data: {\n type: AlertTypeEnum.WARNING,\n alertTitle: 'Logging out',\n titleMessage: 'Time limit exceeded for session inactivity.'\n }\n }\n }));\n this.store.dispatch(logout());\n }\n });\n if (this.sessionService.getItem('defaultPassword') === 'true') {\n this.flgSideNavOpened = false;\n }\n }\n\n private readAccessKey() {\n const url = window.location.href;\n return url.includes('access-key=') ? url.substring(url.lastIndexOf('access-key=') + 11).trim() : null;\n }\n\n ngAfterViewInit() {\n if (this.smallScreen || !this.flgLoggedIn) { this.sideNavigation.close(); }\n this.commonService.setContainerSize(this.sideNavContent.elementRef.nativeElement.clientWidth, this.sideNavContent.elementRef.nativeElement.clientHeight);\n }\n\n sideNavToggle() {\n this.flgSideNavOpened = !this.flgSideNavOpened;\n this.sideNavigation.toggle();\n }\n\n onNavigationClicked(event: any) {\n if (this.smallScreen) {\n this.sideNavigation.close();\n }\n }\n\n copiedText(payload: string) {\n this.flgCopied = true;\n setTimeout(() => {\n this.flgCopied = false;\n }, 5000);\n this.logger.info('Copied Text: ' + payload);\n }\n\n ngOnDestroy() {\n this.unSubs.forEach((unsub) => {\n unsub.next();\n unsub.complete();\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { SessionService } from './session.service';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n\n constructor(private sessionService: SessionService) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n if (this.sessionService.getItem('token')) {\n const cloned = req.clone({\n headers: req.headers.set('Authorization', 'Bearer ' + this.sessionService.getItem('token')),\n withCredentials: true\n });\n return next.handle(cloned);\n } else {\n return next.handle(req);\n }\n }\n\n}\n","import { ApiCallsListRoot } from '../shared/models/apiCallsPayload';\nimport { APICallStatusEnum } from '../shared/services/consts-enums-functions';\nimport { RTLConfiguration, ConfigSettingsNode, GetInfoRoot } from '../shared/models/RTLconfig';\n\nimport { LNDState } from '../lnd/store/lnd.state';\nimport { CLNState } from '../cln/store/cln.state';\nimport { ECLState } from '../eclair/store/ecl.state';\n\nexport interface RootState {\n apiURL: string;\n apisCallStatus: ApiCallsListRoot;\n selNode: ConfigSettingsNode | any;\n appConfig: RTLConfiguration;\n nodeData: GetInfoRoot;\n}\n\nconst initNodeSettings = { userPersona: 'OPERATOR', themeMode: 'DAY', themeColor: 'PURPLE', channelBackupPath: '', selCurrencyUnit: 'USD', unannouncedChannels: false, fiatConversion: false, currencyUnits: ['Sats', 'BTC', 'USD'], bitcoindConfigPath: '', enableOffers: false, enablePeerswap: false };\nconst initNodeAuthentication = { configPath: '', swapMacaroonPath: '', boltzMacaroonPath: '' };\n\nexport const initRootState: RootState = {\n apiURL: '',\n apisCallStatus: { Login: { status: APICallStatusEnum.UN_INITIATED }, IsAuthorized: { status: APICallStatusEnum.UN_INITIATED } },\n selNode: { index: 1, lnNode: 'Node 1', settings: initNodeSettings, authentication: initNodeAuthentication, lnImplementation: 'LND' },\n appConfig: {\n defaultNodeIndex: -1,\n selectedNodeIndex: -1,\n sso: { rtlSSO: 0, logoutRedirectLink: '' },\n enable2FA: false,\n allowPasswordUpdate: true,\n nodes: [{ settings: initNodeSettings, authentication: initNodeAuthentication }]\n },\n nodeData: {}\n};\n\nexport interface RTLState {\n root: RootState;\n lnd: LNDState;\n cln: CLNState;\n ecl: ECLState;\n}\n","import { createReducer, on } from '@ngrx/store';\nimport { initRootState } from './rtl.state';\n\nimport { resetRootStore, setNodeData, setRTLConfig, setSelectedNode, updateRootAPICallStatus, updateRootNodeSettings } from './rtl.actions';\nimport { ServicesEnum } from '../shared/services/consts-enums-functions';\nimport { ConfigSettingsNode } from '../shared/models/RTLconfig';\n\nexport const RootReducer = createReducer(initRootState,\n on(updateRootAPICallStatus, (state, { payload }) => {\n const updatedApisCallStatus = JSON.parse(JSON.stringify(state.apisCallStatus));\n if (payload.action) {\n updatedApisCallStatus[payload.action] = {\n status: payload.status,\n statusCode: payload.statusCode,\n message: payload.message,\n URL: payload.URL,\n filePath: payload.filePath\n };\n }\n return {\n ...state,\n apisCallStatus: updatedApisCallStatus\n };\n }),\n on(resetRootStore, (state, { payload }) => ({\n ...initRootState,\n apisCallStatus: state.apisCallStatus,\n appConfig: state.appConfig,\n selNode: payload\n })),\n on(setSelectedNode, (state, { payload }) => ({\n ...state,\n selNode: payload.currentLnNode\n })),\n on(updateRootNodeSettings, (state, { payload }) => {\n const updatedSelNode: ConfigSettingsNode = JSON.parse(JSON.stringify(state.selNode));\n switch (payload.service) {\n case ServicesEnum.BOLTZ:\n updatedSelNode.settings.boltzServerUrl = payload.settings.boltzServerUrl;\n break;\n case ServicesEnum.LOOP:\n updatedSelNode.settings.swapServerUrl = payload.settings.swapServerUrl;\n break;\n case ServicesEnum.OFFERS:\n updatedSelNode.settings.enableOffers = payload.settings.enableOffers;\n break;\n case ServicesEnum.PEERSWAP:\n updatedSelNode.settings.enablePeerswap = payload.settings.enablePeerswap;\n break;\n\n default:\n break;\n }\n return {\n ...state,\n selNode: updatedSelNode\n };\n }),\n on(setNodeData, (state, { payload }) => ({\n ...state,\n nodeData: payload\n })),\n on(setRTLConfig, (state, { payload }) => ({\n ...state,\n appConfig: payload\n }))\n);\n","import { SelNodeChild } from '../../shared/models/RTLconfig';\nimport { ApiCallsListLND } from '../../shared/models/apiCallsPayload';\nimport { APICallStatusEnum, LND_DEFAULT_PAGE_SETTINGS, UserPersonaEnum } from '../../shared/services/consts-enums-functions';\nimport { GetInfo, Peer, Fees, NetworkInfo, BlockchainBalance, Channel, ListInvoices, PendingChannels, ClosedChannel, Transaction, SwitchRes, PendingChannelsSummary, UTXO, ListPayments, LightningBalance, ChannelsSummary } from '../../shared/models/lndModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport interface LNDState {\n apisCallStatus: ApiCallsListLND;\n nodeSettings: SelNodeChild | null;\n pageSettings: PageSettings[];\n information: GetInfo;\n peers: Peer[];\n fees: Fees;\n networkInfo: NetworkInfo;\n blockchainBalance: BlockchainBalance;\n lightningBalance: LightningBalance;\n channels: Channel[];\n channelsSummary: ChannelsSummary;\n closedChannels: ClosedChannel[];\n pendingChannels: PendingChannels;\n pendingChannelsSummary: PendingChannelsSummary;\n transactions: Transaction[];\n utxos: UTXO[];\n listPayments: ListPayments;\n listInvoices: ListInvoices;\n allLightningTransactions: { listPaymentsAll: ListPayments, listInvoicesAll: ListInvoices };\n forwardingHistory: SwitchRes;\n}\n\nexport const initLNDState: LNDState = {\n apisCallStatus: {\n FetchPageSettings: { status: APICallStatusEnum.UN_INITIATED },\n FetchInfo: { status: APICallStatusEnum.UN_INITIATED },\n FetchFees: { status: APICallStatusEnum.UN_INITIATED },\n FetchPeers: { status: APICallStatusEnum.UN_INITIATED },\n FetchClosedChannels: { status: APICallStatusEnum.UN_INITIATED },\n FetchPendingChannels: { status: APICallStatusEnum.UN_INITIATED },\n FetchAllChannels: { status: APICallStatusEnum.UN_INITIATED },\n FetchBalanceBlockchain: { status: APICallStatusEnum.UN_INITIATED },\n FetchInvoices: { status: APICallStatusEnum.UN_INITIATED },\n FetchPayments: { status: APICallStatusEnum.UN_INITIATED },\n FetchForwardingHistory: { status: APICallStatusEnum.UN_INITIATED },\n FetchUTXOs: { status: APICallStatusEnum.UN_INITIATED },\n FetchTransactions: { status: APICallStatusEnum.UN_INITIATED },\n FetchLightningTransactions: { status: APICallStatusEnum.UN_INITIATED },\n FetchNetwork: { status: APICallStatusEnum.UN_INITIATED }\n },\n nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, unannouncedChannels: false, fiatConversion: false, channelBackupPath: '', currencyUnits: [], selCurrencyUnit: '', lnImplementation: '', swapServerUrl: '' },\n pageSettings: LND_DEFAULT_PAGE_SETTINGS,\n information: {},\n peers: [],\n fees: {\n channel_fees: [],\n day_fee_sum: 0,\n week_fee_sum: 0,\n month_fee_sum: 0,\n daily_tx_count: 0,\n weekly_tx_count: 0,\n monthly_tx_count: 0,\n forwarding_events_history: {}\n },\n networkInfo: {},\n blockchainBalance: { total_balance: -1 },\n lightningBalance: { local: -1, remote: -1 },\n channels: [],\n channelsSummary: { active: { num_channels: 0, capacity: 0 }, inactive: { num_channels: 0, capacity: 0 } },\n closedChannels: [],\n pendingChannels: {},\n pendingChannelsSummary: { open: { num_channels: 0, limbo_balance: 0 }, closing: { num_channels: 0, limbo_balance: 0 }, force_closing: { num_channels: 0, limbo_balance: 0 }, waiting_close: { num_channels: 0, limbo_balance: 0 }, total_channels: 0, total_limbo_balance: 0 },\n transactions: [],\n utxos: [],\n listPayments: { payments: [] },\n listInvoices: { invoices: [] },\n allLightningTransactions: {\n listPaymentsAll: {\n payments: [],\n first_index_offset: '',\n last_index_offset: ''\n }, listInvoicesAll: {\n invoices: [],\n total_invoices: 0,\n last_index_offset: '',\n first_index_offset: ''\n }\n },\n forwardingHistory: {\n last_offset_index: 0,\n total_fee_msat: 0,\n forwarding_events: []\n }\n};\n","import { createReducer, on } from '@ngrx/store';\n\nimport { initLNDState } from './lnd.state';\nimport { addInvoice, removeChannel, removePeer, resetLNDStore, setChannels, setAllLightningTransactions, setBalanceBlockchain,\n setChildNodeSettingsLND, setClosedChannels, setFees, setForwardingHistory, setInfo, setInvoices, setNetwork, setPayments, setPeers,\n setPendingChannels, setTransactions, setUTXOs, updateLNDAPICallStatus, updateInvoice, updatePayment, setPageSettings } from './lnd.actions';\nimport { Channel, ClosedChannel, SetAllLightningTransactions } from '../../shared/models/lndModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\nimport { LND_DEFAULT_PAGE_SETTINGS } from '../../shared/services/consts-enums-functions';\n\nlet flgTransactionsSet = false;\nlet flgUTXOsSet = false;\n\nexport const LNDReducer = createReducer(initLNDState,\n on(updateLNDAPICallStatus, (state, { payload }) => {\n const updatedApisCallStatus = JSON.parse(JSON.stringify(state.apisCallStatus));\n if (payload.action) {\n updatedApisCallStatus[payload.action] = {\n status: payload.status,\n statusCode: payload.statusCode,\n message: payload.message,\n URL: payload.URL,\n filePath: payload.filePath\n };\n }\n return {\n ...state,\n apisCallStatus: updatedApisCallStatus\n };\n }),\n on(setChildNodeSettingsLND, (state, { payload }) => ({\n ...state,\n nodeSettings: payload\n })),\n on(resetLNDStore, (state, { payload }) => ({\n ...initLNDState,\n nodeSettings: payload\n })),\n on(setInfo, (state, { payload }) => ({\n ...state,\n information: payload\n })),\n on(setPeers, (state, { payload }) => ({\n ...state,\n peers: payload\n })),\n on(removePeer, (state, { payload }) => {\n const modifiedPeers = [...state.peers];\n const removePeerIdx = state.peers.findIndex((peer) => peer.pub_key === payload.pubkey);\n if (removePeerIdx > -1) {\n modifiedPeers.splice(removePeerIdx, 1);\n }\n return {\n ...state,\n peers: modifiedPeers\n };\n }),\n on(addInvoice, (state, { payload }) => {\n const newListInvoices = state.listInvoices;\n newListInvoices.invoices?.unshift(payload);\n return {\n ...state,\n listInvoices: newListInvoices\n };\n }),\n on(updateInvoice, (state, { payload }) => {\n const modifiedListInvoices = state.listInvoices;\n modifiedListInvoices.invoices = modifiedListInvoices.invoices?.map((invoice) => ((invoice.payment_request === payload.payment_request) ? payload : invoice));\n return {\n ...state,\n listInvoices: modifiedListInvoices\n };\n }),\n on(updatePayment, (state, { payload }) => {\n const modifiedListPayments = state.listPayments;\n modifiedListPayments.payments = modifiedListPayments.payments?.map((payment) => ((payment.payment_hash === payload.payment_hash) ? payload : payment));\n return {\n ...state,\n listPayments: modifiedListPayments\n };\n }),\n on(setFees, (state, { payload }) => ({\n ...state,\n fees: payload\n })),\n on(setClosedChannels, (state, { payload }) => ({\n ...state,\n closedChannels: payload\n })),\n on(setPendingChannels, (state, { payload }) => ({\n ...state,\n pendingChannels: payload.pendingChannels,\n pendingChannelsSummary: payload.pendingChannelsSummary\n })),\n on(setChannels, (state, { payload }) => {\n let localBal = 0;\n let remoteBal = 0;\n let activeChannels = 0;\n let inactiveChannels = 0;\n let totalCapacityActive = 0;\n let totalCapacityInactive = 0;\n if (payload) {\n payload.forEach((channel) => {\n if (!channel.local_balance) {\n channel.local_balance = 0;\n }\n if (channel.active === true) {\n totalCapacityActive = totalCapacityActive + +channel.local_balance;\n activeChannels = activeChannels + 1;\n if (channel.local_balance) {\n localBal = +localBal + +channel.local_balance;\n } else {\n channel.local_balance = 0;\n }\n if (channel.remote_balance) {\n remoteBal = +remoteBal + +channel.remote_balance;\n } else {\n channel.remote_balance = 0;\n }\n } else {\n totalCapacityInactive = totalCapacityInactive + +channel.local_balance;\n inactiveChannels = inactiveChannels + 1;\n }\n });\n }\n return {\n ...state,\n channels: payload,\n channelsSummary: { active: { num_channels: activeChannels, capacity: totalCapacityActive }, inactive: { num_channels: inactiveChannels, capacity: totalCapacityInactive } },\n lightningBalance: { local: localBal, remote: remoteBal }\n };\n }),\n on(removeChannel, (state, { payload }) => {\n const modifiedChannels = [...state.channels];\n const removeChannelIdx = state.channels.findIndex((channel) => channel.channel_point === payload.channelPoint);\n if (removeChannelIdx > -1) {\n modifiedChannels.splice(removeChannelIdx, 1);\n }\n return {\n ...state,\n channels: modifiedChannels\n };\n }),\n on(setBalanceBlockchain, (state, { payload }) => ({\n ...state,\n blockchainBalance: payload\n })),\n on(setNetwork, (state, { payload }) => ({\n ...state,\n networkInfo: payload\n })),\n on(setInvoices, (state, { payload }) => {\n if (!payload.total_invoices) {\n payload.total_invoices = state.listInvoices.total_invoices;\n }\n return {\n ...state,\n listInvoices: payload\n };\n }),\n on(setTransactions, (state, { payload }) => {\n flgTransactionsSet = true;\n if (payload.length && flgUTXOsSet) {\n const modifiedUTXOs = [...state.utxos];\n modifiedUTXOs.forEach((utxo) => {\n const foundTransaction = payload.find((transaction) => transaction.tx_hash === utxo.outpoint?.txid_str);\n utxo.label = foundTransaction && foundTransaction.label ? foundTransaction.label : '';\n });\n return {\n ...state,\n utxos: modifiedUTXOs,\n transactions: payload\n };\n }\n return {\n ...state,\n transactions: payload\n };\n }),\n on(setUTXOs, (state, { payload }) => {\n flgUTXOsSet = true;\n if (payload.length && flgTransactionsSet) {\n const transactions = [...state.transactions];\n payload.forEach((utxo) => {\n const foundTransaction = transactions.find((transaction) => transaction.tx_hash === utxo.outpoint?.txid_str);\n utxo.label = foundTransaction && foundTransaction.label ? foundTransaction.label : '';\n });\n }\n return {\n ...state,\n utxos: payload\n };\n }),\n // on(setPayments, (state, { payload }) => ({\n // ...state,\n // listPayments: payload\n // })),\n // on(setAllLightningTransactions, (state, { payload }) => ({\n // ...state,\n // allLightningTransactions: payload\n // })),\n on(setPayments, (state, { payload }) => {\n const allLtTrans: SetAllLightningTransactions = { listInvoicesAll: state.allLightningTransactions.listInvoicesAll, listPaymentsAll: payload };\n return {\n ...state,\n listPayments: payload,\n allLightningTransactions: allLtTrans\n };\n }),\n on(setAllLightningTransactions, (state, { payload }) => {\n const allLtTrans: SetAllLightningTransactions = { listInvoicesAll: payload.listInvoicesAll, listPaymentsAll: state.listPayments };\n return {\n ...state,\n allLightningTransactions: allLtTrans\n };\n }),\n on(setForwardingHistory, (state, { payload }) => {\n const storedChannels = [...state.channels, ...state.closedChannels];\n let updatedPayload = !payload.forwarding_events ? {} : JSON.parse(JSON.stringify(payload));\n if (updatedPayload.forwarding_events) {\n updatedPayload = mapAliases(updatedPayload, storedChannels);\n }\n return {\n ...state,\n forwardingHistory: updatedPayload\n };\n }),\n on(setPageSettings, (state, { payload }) => {\n const newPageSettings: PageSettings[] = [];\n LND_DEFAULT_PAGE_SETTINGS.forEach((defaultPage) => {\n const pageSetting = payload && payload.length && payload.length > 0 ? payload.find((p) => p.pageId === defaultPage.pageId) : null;\n if (pageSetting) {\n const tablesSettings = JSON.parse(JSON.stringify(pageSetting.tables));\n pageSetting.tables = []; // To maintain settings order\n defaultPage.tables.forEach((defaultTable) => {\n const tableSetting = tablesSettings.find((t) => t.tableId === defaultTable.tableId) || null;\n if (tableSetting) {\n pageSetting.tables.push(tableSetting);\n } else {\n pageSetting.tables.push(JSON.parse(JSON.stringify(defaultTable)));\n }\n });\n newPageSettings.push(pageSetting);\n } else {\n newPageSettings.push(JSON.parse(JSON.stringify(defaultPage)));\n }\n });\n return {\n ...state,\n pageSettings: newPageSettings\n };\n })\n);\n\nconst mapAliases = (payload: any, storedChannels: (Channel | ClosedChannel)[]) => {\n payload.forwarding_events.forEach((fhEvent) => {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n if (storedChannels[idx].chan_id?.toString() === fhEvent.chan_id_in) {\n fhEvent.alias_in = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : fhEvent.chan_id_in;\n if (fhEvent.alias_out) {\n return;\n }\n }\n if (storedChannels[idx].chan_id?.toString() === fhEvent.chan_id_out) {\n fhEvent.alias_out = storedChannels[idx].remote_alias ? storedChannels[idx].remote_alias : fhEvent.chan_id_out;\n if (fhEvent.alias_in) {\n return;\n }\n }\n if (idx === storedChannels.length - 1) {\n if (!fhEvent.alias_in) {\n fhEvent.alias_in = fhEvent.chan_id_in;\n }\n if (!fhEvent.alias_out) {\n fhEvent.alias_out = fhEvent.chan_id_out;\n }\n }\n }\n } else {\n fhEvent.alias_in = fhEvent.chan_id_in;\n fhEvent.alias_out = fhEvent.chan_id_out;\n }\n });\n return payload;\n};\n","import { SelNodeChild } from '../../shared/models/RTLconfig';\nimport { APICallStatusEnum, CLN_DEFAULT_PAGE_SETTINGS, UserPersonaEnum } from '../../shared/services/consts-enums-functions';\nimport { GetInfo, Fees, Balance, LocalRemoteBalance, Peer, Payment, Channel, FeeRates, ListInvoices, UTXO, Offer, OfferBookmark, ListForwards } from '../../shared/models/clnModels';\nimport { ApiCallsListCL } from '../../shared/models/apiCallsPayload';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport interface CLNState {\n apisCallStatus: ApiCallsListCL;\n nodeSettings: SelNodeChild | null;\n pageSettings: PageSettings[];\n information: GetInfo;\n fees: Fees;\n feeRatesPerKB: FeeRates;\n feeRatesPerKW: FeeRates;\n balance: Balance;\n localRemoteBalance: LocalRemoteBalance;\n peers: Peer[];\n activeChannels: Channel[];\n pendingChannels: Channel[];\n inactiveChannels: Channel[];\n payments: Payment[];\n forwardingHistory: ListForwards;\n failedForwardingHistory: ListForwards;\n localFailedForwardingHistory: ListForwards;\n invoices: ListInvoices;\n utxos: UTXO[];\n offers: Offer[];\n offersBookmarks: OfferBookmark[];\n}\n\nexport const initCLNState: CLNState = {\n apisCallStatus: {\n FetchPageSettings: { status: APICallStatusEnum.UN_INITIATED },\n FetchInfo: { status: APICallStatusEnum.UN_INITIATED },\n FetchInvoices: { status: APICallStatusEnum.UN_INITIATED },\n FetchFees: { status: APICallStatusEnum.UN_INITIATED },\n FetchChannels: { status: APICallStatusEnum.UN_INITIATED },\n FetchBalance: { status: APICallStatusEnum.UN_INITIATED },\n FetchLocalRemoteBalance: { status: APICallStatusEnum.UN_INITIATED },\n FetchFeeRatesperkb: { status: APICallStatusEnum.UN_INITIATED },\n FetchFeeRatesperkw: { status: APICallStatusEnum.UN_INITIATED },\n FetchPeers: { status: APICallStatusEnum.UN_INITIATED },\n FetchUTXOs: { status: APICallStatusEnum.UN_INITIATED },\n FetchPayments: { status: APICallStatusEnum.UN_INITIATED },\n FetchForwardingHistoryS: { status: APICallStatusEnum.UN_INITIATED },\n FetchForwardingHistoryF: { status: APICallStatusEnum.UN_INITIATED },\n FetchForwardingHistoryL: { status: APICallStatusEnum.UN_INITIATED },\n FetchOffers: { status: APICallStatusEnum.UN_INITIATED },\n FetchOfferBookmarks: { status: APICallStatusEnum.UN_INITIATED }\n },\n nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, unannouncedChannels: false, selCurrencyUnit: 'USD', fiatConversion: false, channelBackupPath: '', currencyUnits: [], enableOffers: false, enablePeerswap: false },\n pageSettings: CLN_DEFAULT_PAGE_SETTINGS,\n information: {},\n fees: {},\n feeRatesPerKB: {},\n feeRatesPerKW: {},\n balance: {},\n localRemoteBalance: { localBalance: -1, remoteBalance: -1 },\n peers: [],\n activeChannels: [],\n pendingChannels: [],\n inactiveChannels: [],\n payments: [],\n forwardingHistory: {},\n failedForwardingHistory: {},\n localFailedForwardingHistory: {},\n invoices: { invoices: [] },\n utxos: [],\n offers: [],\n offersBookmarks: []\n};\n","import { createReducer, on } from '@ngrx/store';\nimport { initCLNState } from './cln.state';\nimport {\n addInvoice, addPeer, removeChannel, removePeer, resetCLStore, setBalance, setChannels,\n setChildNodeSettingsCL, setFeeRates, setFees, setForwardingHistory,\n setInfo, setInvoices, setLocalRemoteBalance, setOffers, addOffer, setPayments, setPeers, setUTXOs,\n updateCLAPICallStatus, updateInvoice, updateOffer, setOfferBookmarks, addUpdateOfferBookmark, removeOfferBookmark, setPageSettings\n} from './cln.actions';\nimport { Channel, OfferBookmark } from '../../shared/models/clnModels';\nimport { CLNForwardingEventsStatusEnum, CLN_DEFAULT_PAGE_SETTINGS } from '../../shared/services/consts-enums-functions';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport const CLNReducer = createReducer(initCLNState,\n on(updateCLAPICallStatus, (state, { payload }) => {\n const updatedApisCallStatus = JSON.parse(JSON.stringify(state.apisCallStatus));\n if (payload.action) {\n updatedApisCallStatus[payload.action] = {\n status: payload.status,\n statusCode: payload.statusCode,\n message: payload.message,\n URL: payload.URL,\n filePath: payload.filePath\n };\n }\n return {\n ...state,\n apisCallStatus: updatedApisCallStatus\n };\n }),\n on(setChildNodeSettingsCL, (state, { payload }) => ({\n ...state,\n nodeSettings: payload\n })),\n on(resetCLStore, (state, { payload }) => ({\n ...initCLNState,\n nodeSettings: payload\n })),\n on(setInfo, (state, { payload }) => ({\n ...state,\n information: payload\n })),\n on(setFees, (state, { payload }) => ({\n ...state,\n fees: payload\n })),\n on(setFeeRates, (state, { payload }) => {\n if (payload.perkb) {\n return {\n ...state,\n feeRatesPerKB: payload\n };\n } else if (payload.perkw) {\n return {\n ...state,\n feeRatesPerKW: payload\n };\n } else {\n return {\n ...state\n };\n }\n }),\n on(setBalance, (state, { payload }) => ({\n ...state,\n balance: payload\n })),\n on(setLocalRemoteBalance, (state, { payload }) => ({\n ...state,\n localRemoteBalance: payload\n })),\n on(setPeers, (state, { payload }) => ({\n ...state,\n peers: payload\n })),\n on(addPeer, (state, { payload }) => ({\n ...state,\n peers: [...state.peers, payload]\n })),\n on(removePeer, (state, { payload }) => {\n const modifiedPeers = [...state.peers];\n const removePeerIdx = state.peers.findIndex((peer) => peer.id === payload.id);\n if (removePeerIdx > -1) {\n modifiedPeers.splice(removePeerIdx, 1);\n }\n return {\n ...state,\n peers: modifiedPeers\n };\n }),\n on(setChannels, (state, { payload }) => ({\n ...state,\n activeChannels: payload.activeChannels,\n pendingChannels: payload.pendingChannels,\n inactiveChannels: payload.inactiveChannels\n })),\n on(removeChannel, (state, { payload }) => {\n const modifiedPeers = [...state.peers];\n modifiedPeers.forEach((peer) => {\n if (peer.id === payload.id) {\n peer.connected = false;\n delete peer.netaddr;\n }\n });\n return {\n ...state,\n peers: modifiedPeers\n };\n }),\n on(setPayments, (state, { payload }) => ({\n ...state,\n payments: payload\n })),\n on(setForwardingHistory, (state, { payload }) => {\n const storedChannels = [...state.activeChannels, ...state.pendingChannels, ...state.inactiveChannels];\n const forwardsWithAlias = mapAliases(payload.listForwards, storedChannels);\n payload.listForwards = forwardsWithAlias;\n switch (payload.status) {\n case CLNForwardingEventsStatusEnum.SETTLED:\n const modifiedFeeWithTxCount = state.fees;\n modifiedFeeWithTxCount.totalTxCount = payload.totalForwards || 0;\n return {\n ...state,\n fees: modifiedFeeWithTxCount,\n forwardingHistory: payload\n };\n case CLNForwardingEventsStatusEnum.FAILED:\n return {\n ...state,\n failedForwardingHistory: payload\n };\n case CLNForwardingEventsStatusEnum.LOCAL_FAILED:\n return {\n ...state,\n localFailedForwardingHistory: payload\n };\n default:\n return { ...state };\n }\n }),\n on(addInvoice, (state, { payload }) => {\n const newInvoices = state.invoices;\n newInvoices.invoices?.unshift(payload);\n return {\n ...state,\n invoices: newInvoices\n };\n }),\n on(setInvoices, (state, { payload }) => ({\n ...state,\n invoices: payload\n })),\n on(updateInvoice, (state, { payload }) => {\n const modifiedInvoices = state.invoices;\n modifiedInvoices.invoices = modifiedInvoices.invoices?.map((invoice) => ((invoice.label === payload.label) ? payload : invoice));\n return {\n ...state,\n invoices: modifiedInvoices\n };\n }),\n on(setUTXOs, (state, { payload }) => ({\n ...state,\n utxos: payload\n })),\n on(setOffers, (state, { payload }) => ({\n ...state,\n offers: payload\n })),\n on(addOffer, (state, { payload }) => {\n const newOffers = state.offers;\n newOffers?.unshift(payload);\n return {\n ...state,\n offers: newOffers\n };\n }),\n on(updateOffer, (state, { payload }) => {\n const modifiedOffers = [...state.offers];\n const updateOfferIdx = state.offers.findIndex((offer) => offer.offer_id === payload.offer.offer_id);\n if (updateOfferIdx > -1) {\n modifiedOffers.splice(updateOfferIdx, 1, payload.offer);\n }\n return {\n ...state,\n offers: modifiedOffers\n };\n }),\n on(setOfferBookmarks, (state, { payload }) => ({\n ...state,\n offersBookmarks: payload\n })),\n on(addUpdateOfferBookmark, (state, { payload }) => {\n const newOfferBMs: OfferBookmark[] = [...state.offersBookmarks];\n const offerBMExistsIdx = newOfferBMs.findIndex((offer: OfferBookmark) => offer.bolt12 === payload.bolt12);\n if (offerBMExistsIdx < 0) {\n newOfferBMs?.unshift(payload);\n } else {\n const updatedOffer = { ...newOfferBMs[offerBMExistsIdx] };\n updatedOffer.title = payload.title;\n updatedOffer.amountMSat = payload.amountMSat;\n updatedOffer.lastUpdatedAt = payload.lastUpdatedAt;\n updatedOffer.description = payload.description;\n updatedOffer.vendor = payload.vendor;\n newOfferBMs.splice(offerBMExistsIdx, 1, updatedOffer);\n }\n return {\n ...state,\n offersBookmarks: newOfferBMs\n };\n }),\n on(removeOfferBookmark, (state, { payload }) => {\n const modifiedOfferBookmarks = [...state.offersBookmarks];\n const removeOfferBookmarkIdx = state.offersBookmarks.findIndex((ob) => ob.bolt12 === payload.bolt12);\n if (removeOfferBookmarkIdx > -1) {\n modifiedOfferBookmarks.splice(removeOfferBookmarkIdx, 1);\n }\n return {\n ...state,\n offersBookmarks: modifiedOfferBookmarks\n };\n }),\n on(setPageSettings, (state, { payload }) => {\n const newPageSettings: PageSettings[] = [];\n CLN_DEFAULT_PAGE_SETTINGS.forEach((defaultPage) => {\n const pageSetting = payload && payload.length && payload.length > 0 ? payload.find((p) => p.pageId === defaultPage.pageId) : null;\n if (pageSetting) {\n const tablesSettings = JSON.parse(JSON.stringify(pageSetting.tables));\n pageSetting.tables = []; // To maintain settings order\n defaultPage.tables.forEach((defaultTable) => {\n const tableSetting = tablesSettings.find((t) => t.tableId === defaultTable.tableId) || null;\n if (tableSetting) {\n pageSetting.tables.push(tableSetting);\n } else {\n pageSetting.tables.push(JSON.parse(JSON.stringify(defaultTable)));\n }\n });\n newPageSettings.push(pageSetting);\n } else {\n newPageSettings.push(JSON.parse(JSON.stringify(defaultPage)));\n }\n });\n return {\n ...state,\n pageSettings: newPageSettings\n };\n })\n);\n\nconst mapAliases = (payload: any, storedChannels: Channel[]) => {\n if (payload && payload.length > 0) {\n payload.forEach((fhEvent, i) => {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id === fhEvent.in_channel) {\n fhEvent.in_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.in_channel;\n if (fhEvent.out_channel_alias) { return; }\n }\n if (storedChannels[idx].short_channel_id && storedChannels[idx].short_channel_id?.toString() === fhEvent.out_channel) {\n fhEvent.out_channel_alias = storedChannels[idx].alias ? storedChannels[idx].alias : fhEvent.out_channel;\n if (fhEvent.in_channel_alias) { return; }\n }\n if (idx === storedChannels.length - 1) {\n if (!fhEvent.in_channel_alias) { fhEvent.in_channel_alias = fhEvent.in_channel ? fhEvent.in_channel : '-'; }\n if (!fhEvent.out_channel_alias) { fhEvent.out_channel_alias = fhEvent.out_channel ? fhEvent.out_channel : '-'; }\n }\n }\n } else {\n fhEvent.in_channel_alias = fhEvent.in_channel ? fhEvent.in_channel : '-';\n fhEvent.out_channel_alias = fhEvent.out_channel ? fhEvent.out_channel : '-';\n }\n });\n } else {\n payload = [];\n }\n return payload;\n};\n","import { SelNodeChild } from '../../shared/models/RTLconfig';\nimport { GetInfo, Channel, Fees, OnChainBalance, LightningBalance, Peer, ChannelsStatus, Payments, Transaction, Invoice } from '../../shared/models/eclModels';\nimport { ApiCallsListECL } from '../../shared/models/apiCallsPayload';\nimport { APICallStatusEnum, ECL_DEFAULT_PAGE_SETTINGS, UserPersonaEnum } from '../../shared/services/consts-enums-functions';\nimport { PageSettings } from '../../shared/models/pageSettings';\n\nexport interface ECLState {\n apisCallStatus: ApiCallsListECL;\n nodeSettings: SelNodeChild | null;\n pageSettings: PageSettings[];\n information: GetInfo;\n fees: Fees;\n activeChannels: Channel[];\n pendingChannels: Channel[];\n inactiveChannels: Channel[];\n channelsStatus: ChannelsStatus;\n onchainBalance: OnChainBalance;\n lightningBalance: LightningBalance;\n peers: Peer[];\n payments: Payments;\n transactions: Transaction[];\n invoices: Invoice[];\n}\n\nexport const initECLState: ECLState = {\n apisCallStatus: {\n FetchPageSettings: { status: APICallStatusEnum.UN_INITIATED },\n FetchInfo: { status: APICallStatusEnum.UN_INITIATED },\n FetchFees: { status: APICallStatusEnum.UN_INITIATED },\n FetchChannels: { status: APICallStatusEnum.UN_INITIATED },\n FetchOnchainBalance: { status: APICallStatusEnum.UN_INITIATED },\n FetchPeers: { status: APICallStatusEnum.UN_INITIATED },\n FetchPayments: { status: APICallStatusEnum.UN_INITIATED },\n FetchInvoices: { status: APICallStatusEnum.UN_INITIATED },\n FetchTransactions: { status: APICallStatusEnum.UN_INITIATED }\n },\n nodeSettings: { userPersona: UserPersonaEnum.OPERATOR, unannouncedChannels: false, selCurrencyUnit: 'USD', fiatConversion: false, channelBackupPath: '', currencyUnits: [] },\n pageSettings: ECL_DEFAULT_PAGE_SETTINGS,\n information: {},\n fees: {},\n activeChannels: [],\n pendingChannels: [],\n inactiveChannels: [],\n channelsStatus: {\n active: { channels: 0, capacity: 0 },\n inactive: { channels: 0, capacity: 0 },\n pending: { channels: 0, capacity: 0 },\n closing: { channels: 0, capacity: 0 }\n },\n onchainBalance: { total: 0, confirmed: 0, unconfirmed: 0 },\n lightningBalance: { localBalance: -1, remoteBalance: -1 },\n peers: [],\n payments: {},\n transactions: [],\n invoices: []\n};\n","import { createReducer, on } from '@ngrx/store';\n\nimport { initECLState } from './ecl.state';\nimport { addInvoice, removeChannel, removePeer, resetECLStore, setActiveChannels, setChannelsStatus, setChildNodeSettingsECL,\n setFees, setInactiveChannels, setInfo, setInvoices, setLightningBalance, setOnchainBalance, setPayments, setPeers, setPendingChannels,\n setTransactions, updateECLAPICallStatus, updateChannelState, updateInvoice, updateRelayedPayment, setPageSettings } from './ecl.actions';\nimport { Channel, PaymentReceived, PaymentRelayed } from '../../shared/models/eclModels';\nimport { PageSettings } from '../../shared/models/pageSettings';\nimport { ECL_DEFAULT_PAGE_SETTINGS } from '../../shared/services/consts-enums-functions';\n\nexport const ECLReducer = createReducer(initECLState,\n on(updateECLAPICallStatus, (state, { payload }) => {\n const updatedApisCallStatus = JSON.parse(JSON.stringify(state.apisCallStatus));\n if (payload.action) {\n updatedApisCallStatus[payload.action] = {\n status: payload.status,\n statusCode: payload.statusCode,\n message: payload.message,\n URL: payload.URL,\n filePath: payload.filePath\n };\n }\n return {\n ...state,\n apisCallStatus: updatedApisCallStatus\n };\n }),\n on(setChildNodeSettingsECL, (state, { payload }) => ({\n ...state,\n nodeSettings: payload\n })),\n on(resetECLStore, (state, { payload }) => ({\n ...initECLState,\n nodeSettings: payload\n })),\n on(setInfo, (state, { payload }) => ({\n ...state,\n information: payload\n })),\n on(setFees, (state, { payload }) => ({\n ...state,\n fees: payload\n })),\n on(setActiveChannels, (state, { payload }) => ({\n ...state,\n activeChannels: payload\n })),\n on(setPendingChannels, (state, { payload }) => ({\n ...state,\n pendingChannels: payload\n })),\n on(setInactiveChannels, (state, { payload }) => ({\n ...state,\n inactiveChannels: payload\n })),\n on(setChannelsStatus, (state, { payload }) => ({\n ...state,\n channelsStatus: payload\n })),\n on(setOnchainBalance, (state, { payload }) => ({\n ...state,\n onchainBalance: payload\n })),\n on(setLightningBalance, (state, { payload }) => ({\n ...state,\n lightningBalance: payload\n })),\n on(setPeers, (state, { payload }) => ({\n ...state,\n peers: payload\n })),\n on(removePeer, (state, { payload }) => {\n const modifiedPeers = [...state.peers];\n const removePeerIdx = state.peers.findIndex((peer) => peer.nodeId === payload.nodeId);\n if (removePeerIdx > -1) {\n modifiedPeers.splice(removePeerIdx, 1);\n }\n return {\n ...state,\n peers: modifiedPeers\n };\n }),\n on(removeChannel, (state, { payload }) => {\n const modifiedChannels = [...state.activeChannels];\n const removeChannelIdx = state.activeChannels.findIndex((channel) => channel.channelId === payload.channelId);\n if (removeChannelIdx > -1) {\n modifiedChannels.splice(removeChannelIdx, 1);\n }\n return {\n ...state,\n activeChannels: modifiedChannels\n };\n }),\n on(setPayments, (state, { payload }) => {\n if (payload && payload.sent) {\n const storedChannels = [...state.activeChannels, ...state.pendingChannels, ...state.inactiveChannels];\n payload.sent?.map((sentPayment) => {\n const peerFound = state.peers.find((peer) => peer.nodeId === sentPayment.recipientNodeId);\n sentPayment.recipientNodeAlias = peerFound ? peerFound.alias : sentPayment.recipientNodeId;\n if (sentPayment.parts) {\n sentPayment.parts?.map((part) => {\n const channelFound = storedChannels.find((channel) => channel.channelId === part.toChannelId);\n part.toChannelAlias = channelFound ? channelFound.alias : part.toChannelId;\n return sentPayment.parts;\n });\n }\n return payload.sent;\n });\n }\n if (payload && payload.relayed) {\n const storedChannels = [...state.activeChannels, ...state.pendingChannels, ...state.inactiveChannels];\n payload.relayed.forEach((rlEvent) => {\n rlEvent = mapAliases(rlEvent, storedChannels);\n });\n }\n return {\n ...state,\n payments: payload\n };\n }),\n on(setTransactions, (state, { payload }) => ({\n ...state,\n transactions: payload\n })),\n on(addInvoice, (state, { payload }) => {\n const newInvoices = state.invoices;\n newInvoices?.unshift(payload);\n return {\n ...state,\n invoices: newInvoices\n };\n }),\n on(setInvoices, (state, { payload }) => ({\n ...state,\n invoices: payload\n })),\n on(updateInvoice, (state, { payload }) => {\n let modifiedInvoices = state.invoices;\n modifiedInvoices = modifiedInvoices?.map((invoice) => {\n if (invoice.paymentHash === payload.paymentHash) {\n if (payload.hasOwnProperty('type')) {\n const updatedInvoice = JSON.parse(JSON.stringify(invoice));\n updatedInvoice.amountSettled = ((payload).parts && (payload).parts.length && (payload).parts.length > 0 && (payload).parts[0].amount) ? ((payload).parts[0].amount || 0) / 1000 : 0;\n updatedInvoice.receivedAt = ((payload).parts && (payload).parts.length && (payload).parts.length > 0 && (payload).parts[0].timestamp) ? Math.round(((payload).parts[0].timestamp || 0) / 1000) : 0;\n updatedInvoice.status = 'received';\n return updatedInvoice;\n } else {\n return payload;\n }\n }\n return invoice;\n });\n return {\n ...state,\n invoices: modifiedInvoices\n };\n }),\n on(updateChannelState, (state, { payload }) => {\n let modifiedPendingChannels = state.pendingChannels;\n modifiedPendingChannels = modifiedPendingChannels?.map((pendingChannel) => {\n if (pendingChannel.channelId === payload.channelId && pendingChannel.nodeId === payload.remoteNodeId) {\n payload.currentState = payload.currentState?.replace(/_/g, ' ');\n pendingChannel.state = payload.currentState;\n }\n return pendingChannel;\n });\n return {\n ...state,\n pendingChannels: modifiedPendingChannels\n };\n }),\n on(updateRelayedPayment, (state, { payload }) => {\n const modifiedPayments = state.payments;\n const updatedPayload = mapAliases(payload, [...state.activeChannels, ...state.pendingChannels, ...state.inactiveChannels]);\n updatedPayload.amountIn = Math.round((payload.amountIn || 0) / 1000);\n updatedPayload.amountOut = Math.round((payload.amountOut || 0) / 1000);\n modifiedPayments.relayed?.unshift(updatedPayload);\n const feeSats = (payload.amountIn || 0) - (payload.amountOut || 0);\n const modifiedLightningBalance = { localBalance: (state.lightningBalance.localBalance + feeSats), remoteBalance: (state.lightningBalance.remoteBalance - feeSats) };\n const modifiedChannelStatus = state.channelsStatus;\n if (modifiedChannelStatus.active) {\n modifiedChannelStatus.active.capacity = (state.channelsStatus?.active?.capacity || 0) + feeSats;\n }\n const modifiedFees = {\n daily_fee: ((state.fees.daily_fee || 0) + feeSats), daily_txs: ((state.fees.daily_txs || 0) + 1),\n weekly_fee: ((state.fees.weekly_fee || 0) + feeSats), weekly_txs: ((state.fees.weekly_txs || 0) + 1),\n monthly_fee: ((state.fees.monthly_fee || 0) + feeSats), monthly_txs: ((state.fees.monthly_txs || 0) + 1)\n };\n const modifiedActiveChannels = state.activeChannels;\n let foundFrom = false;\n let foundTo = false;\n for (const channel of modifiedActiveChannels) {\n if (channel.channelId === payload.fromChannelId) {\n foundFrom = true;\n const channelTotal = (channel.toLocal || 0) + (channel.toRemote || 0);\n channel.toLocal = (channel.toLocal || 0) + updatedPayload.amountIn;\n channel.toRemote = (channel.toRemote || 0) - updatedPayload.amountIn;\n channel.balancedness = (channelTotal === 0) ? 1 : +(1 - Math.abs((channel.toLocal - channel.toRemote) / channelTotal)).toFixed(3);\n }\n if (channel.channelId === payload.toChannelId) {\n foundTo = true;\n const channelTotal = (channel.toLocal || 0) + (channel.toRemote || 0);\n channel.toLocal = (channel.toLocal || 0) - updatedPayload.amountOut;\n channel.toRemote = (channel.toRemote || 0) + updatedPayload.amountOut;\n channel.balancedness = (channelTotal === 0) ? 1 : +(1 - Math.abs((channel.toLocal - channel.toRemote) / channelTotal)).toFixed(3);\n }\n if (foundTo && foundFrom) {\n break;\n }\n };\n return {\n ...state,\n payments: modifiedPayments,\n lightningBalance: modifiedLightningBalance,\n channelStatus: modifiedChannelStatus,\n fees: modifiedFees,\n activeChannels: modifiedActiveChannels\n };\n }),\n on(setPageSettings, (state, { payload }) => {\n const newPageSettings: PageSettings[] = [];\n ECL_DEFAULT_PAGE_SETTINGS.forEach((defaultPage) => {\n const pageSetting = payload && payload.length && payload.length > 0 ? payload.find((p) => p.pageId === defaultPage.pageId) : null;\n if (pageSetting) {\n const tablesSettings = JSON.parse(JSON.stringify(pageSetting.tables));\n pageSetting.tables = []; // To maintain settings order\n defaultPage.tables.forEach((defaultTable) => {\n const tableSetting = tablesSettings.find((t) => t.tableId === defaultTable.tableId) || null;\n if (tableSetting) {\n pageSetting.tables.push(tableSetting);\n } else {\n pageSetting.tables.push(JSON.parse(JSON.stringify(defaultTable)));\n }\n });\n newPageSettings.push(pageSetting);\n } else {\n newPageSettings.push(JSON.parse(JSON.stringify(defaultPage)));\n }\n });\n return {\n ...state,\n pageSettings: newPageSettings\n };\n })\n);\n\nconst mapAliases = (rlEvent: PaymentRelayed, storedChannels: Channel[]) => {\n if (rlEvent.type === 'payment-relayed') {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n if (storedChannels[idx].channelId?.toString() === rlEvent.fromChannelId) {\n rlEvent.fromChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : rlEvent.fromChannelId;\n rlEvent.fromShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : '';\n if (rlEvent.toChannelAlias) {\n return rlEvent;\n }\n }\n if (storedChannels[idx].channelId?.toString() === rlEvent.toChannelId) {\n rlEvent.toChannelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : rlEvent.toChannelId;\n rlEvent.toShortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : '';\n if (rlEvent.fromChannelAlias) {\n return rlEvent;\n }\n }\n if (idx === storedChannels.length - 1) {\n if (!rlEvent.fromChannelAlias) {\n rlEvent.fromChannelAlias = rlEvent.fromChannelId?.substring(0, 17) + '...';\n rlEvent.fromShortChannelId = '';\n }\n if (!rlEvent.toChannelAlias) {\n rlEvent.toChannelAlias = rlEvent.toChannelId?.substring(0, 17) + '...';\n rlEvent.toShortChannelId = '';\n }\n }\n }\n } else {\n rlEvent.fromChannelAlias = rlEvent.fromChannelId?.substring(0, 17) + '...';\n rlEvent.fromShortChannelId = '';\n rlEvent.toChannelAlias = rlEvent.toChannelId?.substring(0, 17) + '...';\n rlEvent.toShortChannelId = '';\n }\n } else if (rlEvent.type = 'trampoline-payment-relayed') {\n if (storedChannels && storedChannels.length > 0) {\n for (let idx = 0; idx < storedChannels.length; idx++) {\n rlEvent.incoming?.forEach((incomingEvent) => {\n if (storedChannels[idx].channelId?.toString() === incomingEvent.channelId) {\n incomingEvent.channelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : incomingEvent.channelId;\n incomingEvent.shortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : '';\n }\n });\n rlEvent.outgoing?.forEach((outgoingEvent) => {\n if (storedChannels[idx].channelId?.toString() === outgoingEvent.channelId) {\n outgoingEvent.channelAlias = storedChannels[idx].alias ? storedChannels[idx].alias : outgoingEvent.channelId;\n outgoingEvent.shortChannelId = storedChannels[idx].shortChannelId ? storedChannels[idx].shortChannelId : '';\n }\n });\n if (idx === storedChannels.length - 1) {\n if (rlEvent.incoming && rlEvent.incoming.length && rlEvent.incoming.length > 0 && !rlEvent.incoming[0].channelAlias) {\n rlEvent.incoming?.forEach((incomingEvent) => {\n incomingEvent.channelAlias = incomingEvent.channelId?.substring(0, 17) + '...';\n incomingEvent.shortChannelId = '';\n });\n }\n if (rlEvent.outgoing && rlEvent.outgoing.length && rlEvent.outgoing.length > 0 && !rlEvent.outgoing[0].channelAlias) {\n rlEvent.outgoing?.forEach((outgoingEvent) => {\n outgoingEvent.channelAlias = outgoingEvent.channelId?.substring(0, 17) + '...';\n outgoingEvent.shortChannelId = '';\n });\n }\n }\n }\n } else {\n rlEvent.incoming?.forEach((incomingEvent) => {\n incomingEvent.channelAlias = incomingEvent.channelId?.substring(0, 17) + '...';\n incomingEvent.shortChannelId = '';\n });\n rlEvent.outgoing?.forEach((outgoingEvent) => {\n outgoingEvent.channelAlias = outgoingEvent.channelId?.substring(0, 17) + '...';\n outgoingEvent.shortChannelId = '';\n });\n }\n rlEvent.amountIn = rlEvent.incoming?.reduce((acc, curr) => acc + curr.amount, 0) || 0;\n rlEvent.fromChannelId = rlEvent.incoming && rlEvent.incoming.length ? rlEvent.incoming[0].channelId : '';\n rlEvent.fromChannelAlias = rlEvent.incoming && rlEvent.incoming.length ? rlEvent.incoming[0].channelAlias : '';\n rlEvent.fromShortChannelId = rlEvent.incoming && rlEvent.incoming.length ? rlEvent.incoming[0].shortChannelId : '';\n\n rlEvent.amountOut = rlEvent.outgoing?.reduce((acc, curr) => acc + curr.amount, 0) || 0;\n rlEvent.toChannelId = rlEvent.outgoing && rlEvent.outgoing.length ? rlEvent.outgoing[0].channelId : '';\n rlEvent.toChannelAlias = rlEvent.outgoing && rlEvent.outgoing.length ? rlEvent.outgoing[0].channelAlias : '';\n rlEvent.toShortChannelId = rlEvent.outgoing && rlEvent.outgoing.length ? rlEvent.outgoing[0].shortChannelId : '';\n }\n return rlEvent;\n};\n","import { HammerModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { LayoutModule } from '@angular/cdk/layout';\n\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\n\nimport { UserIdleModule } from 'angular-user-idle';\nimport { routing } from './app.routing';\nimport { SharedModule } from './shared/shared.module';\nimport { AppComponent } from './app.component';\n\nimport { environment } from '../environments/environment';\nimport { AuthGuard } from './shared/services/auth.guard';\nimport { AuthInterceptor } from './shared/services/auth.interceptor';\nimport { SessionService } from './shared/services/session.service';\nimport { LoopService } from './shared/services/loop.service';\nimport { DataService } from './shared/services/data.service';\nimport { WebSocketClientService } from './shared/services/web-socket.service';\nimport { CommonService } from './shared/services/common.service';\nimport { BoltzService } from './shared/services/boltz.service';\n\nimport { RTLEffects } from './store/rtl.effects';\nimport { LNDEffects } from './lnd/store/lnd.effects';\nimport { CLNEffects } from './cln/store/cln.effects';\nimport { ECLEffects } from './eclair/store/ecl.effects';\nimport { RootReducer } from './store/rtl.reducers';\nimport { LNDReducer } from './lnd/store/lnd.reducers';\nimport { CLNReducer } from './cln/store/cln.reducers';\nimport { ECLReducer } from './eclair/store/ecl.reducers';\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n SharedModule,\n routing,\n LayoutModule,\n HammerModule,\n UserIdleModule.forRoot({ idle: 3590, timeout: 10, ping: 12000 }), // One hour => 3590 + 10 = 3600\n StoreModule.forRoot(\n { root: RootReducer, lnd: LNDReducer, cln: CLNReducer, ecl: ECLReducer },\n {\n runtimeChecks: {\n strictStateImmutability: false,\n strictActionImmutability: false\n }\n }),\n EffectsModule.forRoot([RTLEffects, LNDEffects, CLNEffects, ECLEffects]),\n !environment.production ? StoreDevtoolsModule.instrument() : []\n ],\n declarations: [AppComponent],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n AuthGuard, SessionService, DataService, WebSocketClientService, LoopService, CommonService, BoltzService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","/* eslint-disable no-console */\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule).\n catch((err) => console.log(err));\n","/**\n * @otplib/core\n *\n * @author Gerald Yeo \n * @version: 12.0.1\n * @license: MIT\n **/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction objectValues(value) {\n return Object.keys(value).map(key => value[key]);\n}\n(function (HashAlgorithms) {\n HashAlgorithms[\"SHA1\"] = \"sha1\";\n HashAlgorithms[\"SHA256\"] = \"sha256\";\n HashAlgorithms[\"SHA512\"] = \"sha512\";\n})(exports.HashAlgorithms || (exports.HashAlgorithms = {}));\nconst HASH_ALGORITHMS = objectValues(exports.HashAlgorithms);\n(function (KeyEncodings) {\n KeyEncodings[\"ASCII\"] = \"ascii\";\n KeyEncodings[\"BASE64\"] = \"base64\";\n KeyEncodings[\"HEX\"] = \"hex\";\n KeyEncodings[\"LATIN1\"] = \"latin1\";\n KeyEncodings[\"UTF8\"] = \"utf8\";\n})(exports.KeyEncodings || (exports.KeyEncodings = {}));\nconst KEY_ENCODINGS = objectValues(exports.KeyEncodings);\n(function (Strategy) {\n Strategy[\"HOTP\"] = \"hotp\";\n Strategy[\"TOTP\"] = \"totp\";\n})(exports.Strategy || (exports.Strategy = {}));\nconst STRATEGY = objectValues(exports.Strategy);\nconst createDigestPlaceholder = () => {\n throw new Error('Please provide an options.createDigest implementation.');\n};\nfunction isTokenValid(value) {\n return /^(\\d+)$/.test(value);\n}\nfunction padStart(value, maxLength, fillString) {\n if (value.length >= maxLength) {\n return value;\n }\n const padding = Array(maxLength + 1).join(fillString);\n return `${padding}${value}`.slice(-1 * maxLength);\n}\nfunction keyuri(options) {\n const tmpl = `otpauth://${options.type}/{labelPrefix}:{accountName}?secret={secret}{query}`;\n const params = [];\n if (STRATEGY.indexOf(options.type) < 0) {\n throw new Error(`Expecting options.type to be one of ${STRATEGY.join(', ')}. Received ${options.type}.`);\n }\n if (options.type === 'hotp') {\n if (options.counter == null || typeof options.counter !== 'number') {\n throw new Error('Expecting options.counter to be a number when options.type is \"hotp\".');\n }\n params.push(`&counter=${options.counter}`);\n }\n if (options.type === 'totp' && options.step) {\n params.push(`&period=${options.step}`);\n }\n if (options.digits) {\n params.push(`&digits=${options.digits}`);\n }\n if (options.algorithm) {\n params.push(`&algorithm=${options.algorithm.toUpperCase()}`);\n }\n if (options.issuer) {\n params.push(`&issuer=${encodeURIComponent(options.issuer)}`);\n }\n return tmpl.replace('{labelPrefix}', encodeURIComponent(options.issuer || options.accountName)).replace('{accountName}', encodeURIComponent(options.accountName)).replace('{secret}', options.secret).replace('{query}', params.join(''));\n}\nclass OTP {\n constructor(defaultOptions = {}) {\n this._defaultOptions = Object.freeze({ ...defaultOptions\n });\n this._options = Object.freeze({});\n }\n create(defaultOptions = {}) {\n return new OTP(defaultOptions);\n }\n clone(defaultOptions = {}) {\n const instance = this.create({ ...this._defaultOptions,\n ...defaultOptions\n });\n instance.options = this._options;\n return instance;\n }\n get options() {\n return Object.freeze({ ...this._defaultOptions,\n ...this._options\n });\n }\n set options(options) {\n this._options = Object.freeze({ ...this._options,\n ...options\n });\n }\n allOptions() {\n return this.options;\n }\n resetOptions() {\n this._options = Object.freeze({});\n }\n}\n\nfunction hotpOptionsValidator(options) {\n if (typeof options.createDigest !== 'function') {\n throw new Error('Expecting options.createDigest to be a function.');\n }\n if (typeof options.createHmacKey !== 'function') {\n throw new Error('Expecting options.createHmacKey to be a function.');\n }\n if (typeof options.digits !== 'number') {\n throw new Error('Expecting options.digits to be a number.');\n }\n if (!options.algorithm || HASH_ALGORITHMS.indexOf(options.algorithm) < 0) {\n throw new Error(`Expecting options.algorithm to be one of ${HASH_ALGORITHMS.join(', ')}. Received ${options.algorithm}.`);\n }\n if (!options.encoding || KEY_ENCODINGS.indexOf(options.encoding) < 0) {\n throw new Error(`Expecting options.encoding to be one of ${KEY_ENCODINGS.join(', ')}. Received ${options.encoding}.`);\n }\n}\nconst hotpCreateHmacKey = (algorithm, secret, encoding) => {\n return Buffer.from(secret, encoding).toString('hex');\n};\nfunction hotpDefaultOptions() {\n const options = {\n algorithm: exports.HashAlgorithms.SHA1,\n createHmacKey: hotpCreateHmacKey,\n createDigest: createDigestPlaceholder,\n digits: 6,\n encoding: exports.KeyEncodings.ASCII\n };\n return options;\n}\nfunction hotpOptions(opt) {\n const options = { ...hotpDefaultOptions(),\n ...opt\n };\n hotpOptionsValidator(options);\n return Object.freeze(options);\n}\nfunction hotpCounter(counter) {\n const hexCounter = counter.toString(16);\n return padStart(hexCounter, 16, '0');\n}\nfunction hotpDigestToToken(hexDigest, digits) {\n const digest = Buffer.from(hexDigest, 'hex');\n const offset = digest[digest.length - 1] & 0xf;\n const binary = (digest[offset] & 0x7f) << 24 | (digest[offset + 1] & 0xff) << 16 | (digest[offset + 2] & 0xff) << 8 | digest[offset + 3] & 0xff;\n const token = binary % Math.pow(10, digits);\n return padStart(String(token), digits, '0');\n}\nfunction hotpDigest(secret, counter, options) {\n const hexCounter = hotpCounter(counter);\n const hmacKey = options.createHmacKey(options.algorithm, secret, options.encoding);\n return options.createDigest(options.algorithm, hmacKey, hexCounter);\n}\nfunction hotpToken(secret, counter, options) {\n const hexDigest = options.digest || hotpDigest(secret, counter, options);\n return hotpDigestToToken(hexDigest, options.digits);\n}\nfunction hotpCheck(token, secret, counter, options) {\n if (!isTokenValid(token)) {\n return false;\n }\n const systemToken = hotpToken(secret, counter, options);\n return token === systemToken;\n}\nfunction hotpKeyuri(accountName, issuer, secret, counter, options) {\n return keyuri({\n algorithm: options.algorithm,\n digits: options.digits,\n type: exports.Strategy.HOTP,\n accountName,\n counter,\n issuer,\n secret\n });\n}\nclass HOTP extends OTP {\n create(defaultOptions = {}) {\n return new HOTP(defaultOptions);\n }\n allOptions() {\n return hotpOptions(this.options);\n }\n generate(secret, counter) {\n return hotpToken(secret, counter, this.allOptions());\n }\n check(token, secret, counter) {\n return hotpCheck(token, secret, counter, this.allOptions());\n }\n verify(opts) {\n if (typeof opts !== 'object') {\n throw new Error('Expecting argument 0 of verify to be an object');\n }\n return this.check(opts.token, opts.secret, opts.counter);\n }\n keyuri(accountName, issuer, secret, counter) {\n return hotpKeyuri(accountName, issuer, secret, counter, this.allOptions());\n }\n}\n\nfunction parseWindowBounds(win) {\n if (typeof win === 'number') {\n return [Math.abs(win), Math.abs(win)];\n }\n if (Array.isArray(win)) {\n const [past, future] = win;\n if (typeof past === 'number' && typeof future === 'number') {\n return [Math.abs(past), Math.abs(future)];\n }\n }\n throw new Error('Expecting options.window to be an number or [number, number].');\n}\nfunction totpOptionsValidator(options) {\n hotpOptionsValidator(options);\n parseWindowBounds(options.window);\n if (typeof options.epoch !== 'number') {\n throw new Error('Expecting options.epoch to be a number.');\n }\n if (typeof options.step !== 'number') {\n throw new Error('Expecting options.step to be a number.');\n }\n}\nconst totpPadSecret = (secret, encoding, minLength) => {\n const currentLength = secret.length;\n const hexSecret = Buffer.from(secret, encoding).toString('hex');\n if (currentLength < minLength) {\n const newSecret = new Array(minLength - currentLength + 1).join(hexSecret);\n return Buffer.from(newSecret, 'hex').slice(0, minLength).toString('hex');\n }\n return hexSecret;\n};\nconst totpCreateHmacKey = (algorithm, secret, encoding) => {\n switch (algorithm) {\n case exports.HashAlgorithms.SHA1:\n return totpPadSecret(secret, encoding, 20);\n case exports.HashAlgorithms.SHA256:\n return totpPadSecret(secret, encoding, 32);\n case exports.HashAlgorithms.SHA512:\n return totpPadSecret(secret, encoding, 64);\n default:\n throw new Error(`Expecting algorithm to be one of ${HASH_ALGORITHMS.join(', ')}. Received ${algorithm}.`);\n }\n};\nfunction totpDefaultOptions() {\n const options = {\n algorithm: exports.HashAlgorithms.SHA1,\n createDigest: createDigestPlaceholder,\n createHmacKey: totpCreateHmacKey,\n digits: 6,\n encoding: exports.KeyEncodings.ASCII,\n epoch: Date.now(),\n step: 30,\n window: 0\n };\n return options;\n}\nfunction totpOptions(opt) {\n const options = { ...totpDefaultOptions(),\n ...opt\n };\n totpOptionsValidator(options);\n return Object.freeze(options);\n}\nfunction totpCounter(epoch, step) {\n return Math.floor(epoch / step / 1000);\n}\nfunction totpToken(secret, options) {\n const counter = totpCounter(options.epoch, options.step);\n return hotpToken(secret, counter, options);\n}\nfunction totpEpochsInWindow(epoch, direction, deltaPerEpoch, numOfEpoches) {\n const result = [];\n if (numOfEpoches === 0) {\n return result;\n }\n for (let i = 1; i <= numOfEpoches; i++) {\n const delta = direction * i * deltaPerEpoch;\n result.push(epoch + delta);\n }\n return result;\n}\nfunction totpEpochAvailable(epoch, step, win) {\n const bounds = parseWindowBounds(win);\n const delta = step * 1000;\n return {\n current: epoch,\n past: totpEpochsInWindow(epoch, -1, delta, bounds[0]),\n future: totpEpochsInWindow(epoch, 1, delta, bounds[1])\n };\n}\nfunction totpCheck(token, secret, options) {\n if (!isTokenValid(token)) {\n return false;\n }\n const systemToken = totpToken(secret, options);\n return token === systemToken;\n}\nfunction totpCheckByEpoch(epochs, token, secret, options) {\n let position = null;\n epochs.some((epoch, idx) => {\n if (totpCheck(token, secret, { ...options,\n epoch\n })) {\n position = idx + 1;\n return true;\n }\n return false;\n });\n return position;\n}\nfunction totpCheckWithWindow(token, secret, options) {\n if (totpCheck(token, secret, options)) {\n return 0;\n }\n const epochs = totpEpochAvailable(options.epoch, options.step, options.window);\n const backward = totpCheckByEpoch(epochs.past, token, secret, options);\n if (backward !== null) {\n return backward * -1;\n }\n return totpCheckByEpoch(epochs.future, token, secret, options);\n}\nfunction totpTimeUsed(epoch, step) {\n return Math.floor(epoch / 1000) % step;\n}\nfunction totpTimeRemaining(epoch, step) {\n return step - totpTimeUsed(epoch, step);\n}\nfunction totpKeyuri(accountName, issuer, secret, options) {\n return keyuri({\n algorithm: options.algorithm,\n digits: options.digits,\n step: options.step,\n type: exports.Strategy.TOTP,\n accountName,\n issuer,\n secret\n });\n}\nclass TOTP extends HOTP {\n create(defaultOptions = {}) {\n return new TOTP(defaultOptions);\n }\n allOptions() {\n return totpOptions(this.options);\n }\n generate(secret) {\n return totpToken(secret, this.allOptions());\n }\n checkDelta(token, secret) {\n return totpCheckWithWindow(token, secret, this.allOptions());\n }\n check(token, secret) {\n const delta = this.checkDelta(token, secret);\n return typeof delta === 'number';\n }\n verify(opts) {\n if (typeof opts !== 'object') {\n throw new Error('Expecting argument 0 of verify to be an object');\n }\n return this.check(opts.token, opts.secret);\n }\n timeRemaining() {\n const options = this.allOptions();\n return totpTimeRemaining(options.epoch, options.step);\n }\n timeUsed() {\n const options = this.allOptions();\n return totpTimeUsed(options.epoch, options.step);\n }\n keyuri(accountName, issuer, secret) {\n return totpKeyuri(accountName, issuer, secret, this.allOptions());\n }\n}\n\nfunction authenticatorOptionValidator(options) {\n totpOptionsValidator(options);\n if (typeof options.keyDecoder !== 'function') {\n throw new Error('Expecting options.keyDecoder to be a function.');\n }\n if (options.keyEncoder && typeof options.keyEncoder !== 'function') {\n throw new Error('Expecting options.keyEncoder to be a function.');\n }\n}\nfunction authenticatorDefaultOptions() {\n const options = {\n algorithm: exports.HashAlgorithms.SHA1,\n createDigest: createDigestPlaceholder,\n createHmacKey: totpCreateHmacKey,\n digits: 6,\n encoding: exports.KeyEncodings.HEX,\n epoch: Date.now(),\n step: 30,\n window: 0\n };\n return options;\n}\nfunction authenticatorOptions(opt) {\n const options = { ...authenticatorDefaultOptions(),\n ...opt\n };\n authenticatorOptionValidator(options);\n return Object.freeze(options);\n}\nfunction authenticatorEncoder(secret, options) {\n return options.keyEncoder(secret, options.encoding);\n}\nfunction authenticatorDecoder(secret, options) {\n return options.keyDecoder(secret, options.encoding);\n}\nfunction authenticatorGenerateSecret(numberOfBytes, options) {\n const key = options.createRandomBytes(numberOfBytes, options.encoding);\n return authenticatorEncoder(key, options);\n}\nfunction authenticatorToken(secret, options) {\n return totpToken(authenticatorDecoder(secret, options), options);\n}\nfunction authenticatorCheckWithWindow(token, secret, options) {\n return totpCheckWithWindow(token, authenticatorDecoder(secret, options), options);\n}\nclass Authenticator extends TOTP {\n create(defaultOptions = {}) {\n return new Authenticator(defaultOptions);\n }\n allOptions() {\n return authenticatorOptions(this.options);\n }\n generate(secret) {\n return authenticatorToken(secret, this.allOptions());\n }\n checkDelta(token, secret) {\n return authenticatorCheckWithWindow(token, secret, this.allOptions());\n }\n encode(secret) {\n return authenticatorEncoder(secret, this.allOptions());\n }\n decode(secret) {\n return authenticatorDecoder(secret, this.allOptions());\n }\n generateSecret(numberOfBytes = 10) {\n return authenticatorGenerateSecret(numberOfBytes, this.allOptions());\n }\n}\n\nexports.Authenticator = Authenticator;\nexports.HASH_ALGORITHMS = HASH_ALGORITHMS;\nexports.HOTP = HOTP;\nexports.KEY_ENCODINGS = KEY_ENCODINGS;\nexports.OTP = OTP;\nexports.STRATEGY = STRATEGY;\nexports.TOTP = TOTP;\nexports.authenticatorCheckWithWindow = authenticatorCheckWithWindow;\nexports.authenticatorDecoder = authenticatorDecoder;\nexports.authenticatorDefaultOptions = authenticatorDefaultOptions;\nexports.authenticatorEncoder = authenticatorEncoder;\nexports.authenticatorGenerateSecret = authenticatorGenerateSecret;\nexports.authenticatorOptionValidator = authenticatorOptionValidator;\nexports.authenticatorOptions = authenticatorOptions;\nexports.authenticatorToken = authenticatorToken;\nexports.createDigestPlaceholder = createDigestPlaceholder;\nexports.hotpCheck = hotpCheck;\nexports.hotpCounter = hotpCounter;\nexports.hotpCreateHmacKey = hotpCreateHmacKey;\nexports.hotpDefaultOptions = hotpDefaultOptions;\nexports.hotpDigestToToken = hotpDigestToToken;\nexports.hotpKeyuri = hotpKeyuri;\nexports.hotpOptions = hotpOptions;\nexports.hotpOptionsValidator = hotpOptionsValidator;\nexports.hotpToken = hotpToken;\nexports.isTokenValid = isTokenValid;\nexports.keyuri = keyuri;\nexports.objectValues = objectValues;\nexports.padStart = padStart;\nexports.totpCheck = totpCheck;\nexports.totpCheckByEpoch = totpCheckByEpoch;\nexports.totpCheckWithWindow = totpCheckWithWindow;\nexports.totpCounter = totpCounter;\nexports.totpCreateHmacKey = totpCreateHmacKey;\nexports.totpDefaultOptions = totpDefaultOptions;\nexports.totpEpochAvailable = totpEpochAvailable;\nexports.totpKeyuri = totpKeyuri;\nexports.totpOptions = totpOptions;\nexports.totpOptionsValidator = totpOptionsValidator;\nexports.totpPadSecret = totpPadSecret;\nexports.totpTimeRemaining = totpTimeRemaining;\nexports.totpTimeUsed = totpTimeUsed;\nexports.totpToken = totpToken;\n","/**\n * @otplib/plugin-crypto\n *\n * @author Gerald Yeo \n * @version: 12.0.1\n * @license: MIT\n **/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar crypto = _interopDefault(require('crypto'));\n\nconst createDigest = (algorithm, hmacKey, counter) => {\n const hmac = crypto.createHmac(algorithm, Buffer.from(hmacKey, 'hex'));\n const digest = hmac.update(Buffer.from(counter, 'hex')).digest();\n return digest.toString('hex');\n};\nconst createRandomBytes = (size, encoding) => {\n return crypto.randomBytes(size).toString(encoding);\n};\n\nexports.createDigest = createDigest;\nexports.createRandomBytes = createRandomBytes;\n","/**\n * @otplib/plugin-thirty-two\n *\n * @author Gerald Yeo \n * @version: 12.0.1\n * @license: MIT\n **/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar thirtyTwo = _interopDefault(require('thirty-two'));\n\nconst keyDecoder = (encodedSecret, encoding) => {\n return thirtyTwo.decode(encodedSecret).toString(encoding);\n};\nconst keyEncoder = (secret, encoding) => {\n return thirtyTwo.encode(Buffer.from(secret, encoding).toString('ascii')).toString().replace(/=/g, '');\n};\n\nexports.keyDecoder = keyDecoder;\nexports.keyEncoder = keyEncoder;\n","/**\n * @otplib/preset-default\n *\n * @author Gerald Yeo \n * @version: 12.0.1\n * @license: MIT\n **/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar pluginCrypto = require('@otplib/plugin-crypto');\nvar pluginThirtyTwo = require('@otplib/plugin-thirty-two');\nvar core = require('@otplib/core');\n\nconst hotp = new core.HOTP({\n createDigest: pluginCrypto.createDigest\n});\nconst totp = new core.TOTP({\n createDigest: pluginCrypto.createDigest\n});\nconst authenticator = new core.Authenticator({\n createDigest: pluginCrypto.createDigest,\n createRandomBytes: pluginCrypto.createRandomBytes,\n keyDecoder: pluginThirtyTwo.keyDecoder,\n keyEncoder: pluginThirtyTwo.keyEncoder\n});\n\nexports.authenticator = authenticator;\nexports.hotp = hotp;\nexports.totp = totp;\n","'use strict';\n\nconst asn1 = exports;\n\nasn1.bignum = require('bn.js');\n\nasn1.define = require('./asn1/api').define;\nasn1.base = require('./asn1/base');\nasn1.constants = require('./asn1/constants');\nasn1.decoders = require('./asn1/decoders');\nasn1.encoders = require('./asn1/encoders');\n","'use strict';\n\nconst encoders = require('./encoders');\nconst decoders = require('./decoders');\nconst inherits = require('inherits');\n\nconst api = exports;\n\napi.define = function define(name, body) {\n return new Entity(name, body);\n};\n\nfunction Entity(name, body) {\n this.name = name;\n this.body = body;\n\n this.decoders = {};\n this.encoders = {};\n}\n\nEntity.prototype._createNamed = function createNamed(Base) {\n const name = this.name;\n\n function Generated(entity) {\n this._initNamed(entity, name);\n }\n inherits(Generated, Base);\n Generated.prototype._initNamed = function _initNamed(entity, name) {\n Base.call(this, entity, name);\n };\n\n return new Generated(this);\n};\n\nEntity.prototype._getDecoder = function _getDecoder(enc) {\n enc = enc || 'der';\n // Lazily create decoder\n if (!this.decoders.hasOwnProperty(enc))\n this.decoders[enc] = this._createNamed(decoders[enc]);\n return this.decoders[enc];\n};\n\nEntity.prototype.decode = function decode(data, enc, options) {\n return this._getDecoder(enc).decode(data, options);\n};\n\nEntity.prototype._getEncoder = function _getEncoder(enc) {\n enc = enc || 'der';\n // Lazily create encoder\n if (!this.encoders.hasOwnProperty(enc))\n this.encoders[enc] = this._createNamed(encoders[enc]);\n return this.encoders[enc];\n};\n\nEntity.prototype.encode = function encode(data, enc, /* internal */ reporter) {\n return this._getEncoder(enc).encode(data, reporter);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Reporter = require('../base/reporter').Reporter;\nconst Buffer = require('safer-buffer').Buffer;\n\nfunction DecoderBuffer(base, options) {\n Reporter.call(this, options);\n if (!Buffer.isBuffer(base)) {\n this.error('Input not Buffer');\n return;\n }\n\n this.base = base;\n this.offset = 0;\n this.length = base.length;\n}\ninherits(DecoderBuffer, Reporter);\nexports.DecoderBuffer = DecoderBuffer;\n\nDecoderBuffer.isDecoderBuffer = function isDecoderBuffer(data) {\n if (data instanceof DecoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n Buffer.isBuffer(data.base) &&\n data.constructor.name === 'DecoderBuffer' &&\n typeof data.offset === 'number' &&\n typeof data.length === 'number' &&\n typeof data.save === 'function' &&\n typeof data.restore === 'function' &&\n typeof data.isEmpty === 'function' &&\n typeof data.readUInt8 === 'function' &&\n typeof data.skip === 'function' &&\n typeof data.raw === 'function';\n\n return isCompatible;\n};\n\nDecoderBuffer.prototype.save = function save() {\n return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };\n};\n\nDecoderBuffer.prototype.restore = function restore(save) {\n // Return skipped data\n const res = new DecoderBuffer(this.base);\n res.offset = save.offset;\n res.length = this.offset;\n\n this.offset = save.offset;\n Reporter.prototype.restore.call(this, save.reporter);\n\n return res;\n};\n\nDecoderBuffer.prototype.isEmpty = function isEmpty() {\n return this.offset === this.length;\n};\n\nDecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {\n if (this.offset + 1 <= this.length)\n return this.base.readUInt8(this.offset++, true);\n else\n return this.error(fail || 'DecoderBuffer overrun');\n};\n\nDecoderBuffer.prototype.skip = function skip(bytes, fail) {\n if (!(this.offset + bytes <= this.length))\n return this.error(fail || 'DecoderBuffer overrun');\n\n const res = new DecoderBuffer(this.base);\n\n // Share reporter state\n res._reporterState = this._reporterState;\n\n res.offset = this.offset;\n res.length = this.offset + bytes;\n this.offset += bytes;\n return res;\n};\n\nDecoderBuffer.prototype.raw = function raw(save) {\n return this.base.slice(save ? save.offset : this.offset, this.length);\n};\n\nfunction EncoderBuffer(value, reporter) {\n if (Array.isArray(value)) {\n this.length = 0;\n this.value = value.map(function(item) {\n if (!EncoderBuffer.isEncoderBuffer(item))\n item = new EncoderBuffer(item, reporter);\n this.length += item.length;\n return item;\n }, this);\n } else if (typeof value === 'number') {\n if (!(0 <= value && value <= 0xff))\n return reporter.error('non-byte EncoderBuffer value');\n this.value = value;\n this.length = 1;\n } else if (typeof value === 'string') {\n this.value = value;\n this.length = Buffer.byteLength(value);\n } else if (Buffer.isBuffer(value)) {\n this.value = value;\n this.length = value.length;\n } else {\n return reporter.error('Unsupported type: ' + typeof value);\n }\n}\nexports.EncoderBuffer = EncoderBuffer;\n\nEncoderBuffer.isEncoderBuffer = function isEncoderBuffer(data) {\n if (data instanceof EncoderBuffer) {\n return true;\n }\n\n // Or accept compatible API\n const isCompatible = typeof data === 'object' &&\n data.constructor.name === 'EncoderBuffer' &&\n typeof data.length === 'number' &&\n typeof data.join === 'function';\n\n return isCompatible;\n};\n\nEncoderBuffer.prototype.join = function join(out, offset) {\n if (!out)\n out = Buffer.alloc(this.length);\n if (!offset)\n offset = 0;\n\n if (this.length === 0)\n return out;\n\n if (Array.isArray(this.value)) {\n this.value.forEach(function(item) {\n item.join(out, offset);\n offset += item.length;\n });\n } else {\n if (typeof this.value === 'number')\n out[offset] = this.value;\n else if (typeof this.value === 'string')\n out.write(this.value, offset);\n else if (Buffer.isBuffer(this.value))\n this.value.copy(out, offset);\n offset += this.length;\n }\n\n return out;\n};\n","'use strict';\n\nconst base = exports;\n\nbase.Reporter = require('./reporter').Reporter;\nbase.DecoderBuffer = require('./buffer').DecoderBuffer;\nbase.EncoderBuffer = require('./buffer').EncoderBuffer;\nbase.Node = require('./node');\n","'use strict';\n\nconst Reporter = require('../base/reporter').Reporter;\nconst EncoderBuffer = require('../base/buffer').EncoderBuffer;\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst assert = require('minimalistic-assert');\n\n// Supported tags\nconst tags = [\n 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',\n 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',\n 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',\n 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'\n];\n\n// Public methods list\nconst methods = [\n 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',\n 'any', 'contains'\n].concat(tags);\n\n// Overrided methods list\nconst overrided = [\n '_peekTag', '_decodeTag', '_use',\n '_decodeStr', '_decodeObjid', '_decodeTime',\n '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',\n\n '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',\n '_encodeNull', '_encodeInt', '_encodeBool'\n];\n\nfunction Node(enc, parent, name) {\n const state = {};\n this._baseState = state;\n\n state.name = name;\n state.enc = enc;\n\n state.parent = parent || null;\n state.children = null;\n\n // State\n state.tag = null;\n state.args = null;\n state.reverseArgs = null;\n state.choice = null;\n state.optional = false;\n state.any = false;\n state.obj = false;\n state.use = null;\n state.useDecoder = null;\n state.key = null;\n state['default'] = null;\n state.explicit = null;\n state.implicit = null;\n state.contains = null;\n\n // Should create new instance on each method\n if (!state.parent) {\n state.children = [];\n this._wrap();\n }\n}\nmodule.exports = Node;\n\nconst stateProps = [\n 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',\n 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',\n 'implicit', 'contains'\n];\n\nNode.prototype.clone = function clone() {\n const state = this._baseState;\n const cstate = {};\n stateProps.forEach(function(prop) {\n cstate[prop] = state[prop];\n });\n const res = new this.constructor(cstate.parent);\n res._baseState = cstate;\n return res;\n};\n\nNode.prototype._wrap = function wrap() {\n const state = this._baseState;\n methods.forEach(function(method) {\n this[method] = function _wrappedMethod() {\n const clone = new this.constructor(this);\n state.children.push(clone);\n return clone[method].apply(clone, arguments);\n };\n }, this);\n};\n\nNode.prototype._init = function init(body) {\n const state = this._baseState;\n\n assert(state.parent === null);\n body.call(this);\n\n // Filter children\n state.children = state.children.filter(function(child) {\n return child._baseState.parent === this;\n }, this);\n assert.equal(state.children.length, 1, 'Root node can have only one child');\n};\n\nNode.prototype._useArgs = function useArgs(args) {\n const state = this._baseState;\n\n // Filter children and args\n const children = args.filter(function(arg) {\n return arg instanceof this.constructor;\n }, this);\n args = args.filter(function(arg) {\n return !(arg instanceof this.constructor);\n }, this);\n\n if (children.length !== 0) {\n assert(state.children === null);\n state.children = children;\n\n // Replace parent to maintain backward link\n children.forEach(function(child) {\n child._baseState.parent = this;\n }, this);\n }\n if (args.length !== 0) {\n assert(state.args === null);\n state.args = args;\n state.reverseArgs = args.map(function(arg) {\n if (typeof arg !== 'object' || arg.constructor !== Object)\n return arg;\n\n const res = {};\n Object.keys(arg).forEach(function(key) {\n if (key == (key | 0))\n key |= 0;\n const value = arg[key];\n res[value] = key;\n });\n return res;\n });\n }\n};\n\n//\n// Overrided methods\n//\n\noverrided.forEach(function(method) {\n Node.prototype[method] = function _overrided() {\n const state = this._baseState;\n throw new Error(method + ' not implemented for encoding: ' + state.enc);\n };\n});\n\n//\n// Public methods\n//\n\ntags.forEach(function(tag) {\n Node.prototype[tag] = function _tagMethod() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n assert(state.tag === null);\n state.tag = tag;\n\n this._useArgs(args);\n\n return this;\n };\n});\n\nNode.prototype.use = function use(item) {\n assert(item);\n const state = this._baseState;\n\n assert(state.use === null);\n state.use = item;\n\n return this;\n};\n\nNode.prototype.optional = function optional() {\n const state = this._baseState;\n\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.def = function def(val) {\n const state = this._baseState;\n\n assert(state['default'] === null);\n state['default'] = val;\n state.optional = true;\n\n return this;\n};\n\nNode.prototype.explicit = function explicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.explicit = num;\n\n return this;\n};\n\nNode.prototype.implicit = function implicit(num) {\n const state = this._baseState;\n\n assert(state.explicit === null && state.implicit === null);\n state.implicit = num;\n\n return this;\n};\n\nNode.prototype.obj = function obj() {\n const state = this._baseState;\n const args = Array.prototype.slice.call(arguments);\n\n state.obj = true;\n\n if (args.length !== 0)\n this._useArgs(args);\n\n return this;\n};\n\nNode.prototype.key = function key(newKey) {\n const state = this._baseState;\n\n assert(state.key === null);\n state.key = newKey;\n\n return this;\n};\n\nNode.prototype.any = function any() {\n const state = this._baseState;\n\n state.any = true;\n\n return this;\n};\n\nNode.prototype.choice = function choice(obj) {\n const state = this._baseState;\n\n assert(state.choice === null);\n state.choice = obj;\n this._useArgs(Object.keys(obj).map(function(key) {\n return obj[key];\n }));\n\n return this;\n};\n\nNode.prototype.contains = function contains(item) {\n const state = this._baseState;\n\n assert(state.use === null);\n state.contains = item;\n\n return this;\n};\n\n//\n// Decoding\n//\n\nNode.prototype._decode = function decode(input, options) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return input.wrapResult(state.children[0]._decode(input, options));\n\n let result = state['default'];\n let present = true;\n\n let prevKey = null;\n if (state.key !== null)\n prevKey = input.enterKey(state.key);\n\n // Check if tag is there\n if (state.optional) {\n let tag = null;\n if (state.explicit !== null)\n tag = state.explicit;\n else if (state.implicit !== null)\n tag = state.implicit;\n else if (state.tag !== null)\n tag = state.tag;\n\n if (tag === null && !state.any) {\n // Trial and Error\n const save = input.save();\n try {\n if (state.choice === null)\n this._decodeGeneric(state.tag, input, options);\n else\n this._decodeChoice(input, options);\n present = true;\n } catch (e) {\n present = false;\n }\n input.restore(save);\n } else {\n present = this._peekTag(input, tag, state.any);\n\n if (input.isError(present))\n return present;\n }\n }\n\n // Push object on stack\n let prevObj;\n if (state.obj && present)\n prevObj = input.enterObject();\n\n if (present) {\n // Unwrap explicit values\n if (state.explicit !== null) {\n const explicit = this._decodeTag(input, state.explicit);\n if (input.isError(explicit))\n return explicit;\n input = explicit;\n }\n\n const start = input.offset;\n\n // Unwrap implicit and normal values\n if (state.use === null && state.choice === null) {\n let save;\n if (state.any)\n save = input.save();\n const body = this._decodeTag(\n input,\n state.implicit !== null ? state.implicit : state.tag,\n state.any\n );\n if (input.isError(body))\n return body;\n\n if (state.any)\n result = input.raw(save);\n else\n input = body;\n }\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), start, input.length, 'tagged');\n\n if (options && options.track && state.tag !== null)\n options.track(input.path(), input.offset, input.length, 'content');\n\n // Select proper method for tag\n if (state.any) {\n // no-op\n } else if (state.choice === null) {\n result = this._decodeGeneric(state.tag, input, options);\n } else {\n result = this._decodeChoice(input, options);\n }\n\n if (input.isError(result))\n return result;\n\n // Decode children\n if (!state.any && state.choice === null && state.children !== null) {\n state.children.forEach(function decodeChildren(child) {\n // NOTE: We are ignoring errors here, to let parser continue with other\n // parts of encoded data\n child._decode(input, options);\n });\n }\n\n // Decode contained/encoded by schema, only in bit or octet strings\n if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {\n const data = new DecoderBuffer(result);\n result = this._getUse(state.contains, input._reporterState.obj)\n ._decode(data, options);\n }\n }\n\n // Pop object\n if (state.obj && present)\n result = input.leaveObject(prevObj);\n\n // Set key\n if (state.key !== null && (result !== null || present === true))\n input.leaveKey(prevKey, state.key, result);\n else if (prevKey !== null)\n input.exitKey(prevKey);\n\n return result;\n};\n\nNode.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {\n const state = this._baseState;\n\n if (tag === 'seq' || tag === 'set')\n return null;\n if (tag === 'seqof' || tag === 'setof')\n return this._decodeList(input, tag, state.args[0], options);\n else if (/str$/.test(tag))\n return this._decodeStr(input, tag, options);\n else if (tag === 'objid' && state.args)\n return this._decodeObjid(input, state.args[0], state.args[1], options);\n else if (tag === 'objid')\n return this._decodeObjid(input, null, null, options);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._decodeTime(input, tag, options);\n else if (tag === 'null_')\n return this._decodeNull(input, options);\n else if (tag === 'bool')\n return this._decodeBool(input, options);\n else if (tag === 'objDesc')\n return this._decodeStr(input, tag, options);\n else if (tag === 'int' || tag === 'enum')\n return this._decodeInt(input, state.args && state.args[0], options);\n\n if (state.use !== null) {\n return this._getUse(state.use, input._reporterState.obj)\n ._decode(input, options);\n } else {\n return input.error('unknown tag: ' + tag);\n }\n};\n\nNode.prototype._getUse = function _getUse(entity, obj) {\n\n const state = this._baseState;\n // Create altered use decoder if implicit is set\n state.useDecoder = this._use(entity, obj);\n assert(state.useDecoder._baseState.parent === null);\n state.useDecoder = state.useDecoder._baseState.children[0];\n if (state.implicit !== state.useDecoder._baseState.implicit) {\n state.useDecoder = state.useDecoder.clone();\n state.useDecoder._baseState.implicit = state.implicit;\n }\n return state.useDecoder;\n};\n\nNode.prototype._decodeChoice = function decodeChoice(input, options) {\n const state = this._baseState;\n let result = null;\n let match = false;\n\n Object.keys(state.choice).some(function(key) {\n const save = input.save();\n const node = state.choice[key];\n try {\n const value = node._decode(input, options);\n if (input.isError(value))\n return false;\n\n result = { type: key, value: value };\n match = true;\n } catch (e) {\n input.restore(save);\n return false;\n }\n return true;\n }, this);\n\n if (!match)\n return input.error('Choice not matched');\n\n return result;\n};\n\n//\n// Encoding\n//\n\nNode.prototype._createEncoderBuffer = function createEncoderBuffer(data) {\n return new EncoderBuffer(data, this.reporter);\n};\n\nNode.prototype._encode = function encode(data, reporter, parent) {\n const state = this._baseState;\n if (state['default'] !== null && state['default'] === data)\n return;\n\n const result = this._encodeValue(data, reporter, parent);\n if (result === undefined)\n return;\n\n if (this._skipDefault(result, reporter, parent))\n return;\n\n return result;\n};\n\nNode.prototype._encodeValue = function encode(data, reporter, parent) {\n const state = this._baseState;\n\n // Decode root node\n if (state.parent === null)\n return state.children[0]._encode(data, reporter || new Reporter());\n\n let result = null;\n\n // Set reporter to share it with a child class\n this.reporter = reporter;\n\n // Check if data is there\n if (state.optional && data === undefined) {\n if (state['default'] !== null)\n data = state['default'];\n else\n return;\n }\n\n // Encode children first\n let content = null;\n let primitive = false;\n if (state.any) {\n // Anything that was given is translated to buffer\n result = this._createEncoderBuffer(data);\n } else if (state.choice) {\n result = this._encodeChoice(data, reporter);\n } else if (state.contains) {\n content = this._getUse(state.contains, parent)._encode(data, reporter);\n primitive = true;\n } else if (state.children) {\n content = state.children.map(function(child) {\n if (child._baseState.tag === 'null_')\n return child._encode(null, reporter, data);\n\n if (child._baseState.key === null)\n return reporter.error('Child should have a key');\n const prevKey = reporter.enterKey(child._baseState.key);\n\n if (typeof data !== 'object')\n return reporter.error('Child expected, but input is not object');\n\n const res = child._encode(data[child._baseState.key], reporter, data);\n reporter.leaveKey(prevKey);\n\n return res;\n }, this).filter(function(child) {\n return child;\n });\n content = this._createEncoderBuffer(content);\n } else {\n if (state.tag === 'seqof' || state.tag === 'setof') {\n // TODO(indutny): this should be thrown on DSL level\n if (!(state.args && state.args.length === 1))\n return reporter.error('Too many args for : ' + state.tag);\n\n if (!Array.isArray(data))\n return reporter.error('seqof/setof, but data is not Array');\n\n const child = this.clone();\n child._baseState.implicit = null;\n content = this._createEncoderBuffer(data.map(function(item) {\n const state = this._baseState;\n\n return this._getUse(state.args[0], data)._encode(item, reporter);\n }, child));\n } else if (state.use !== null) {\n result = this._getUse(state.use, parent)._encode(data, reporter);\n } else {\n content = this._encodePrimitive(state.tag, data);\n primitive = true;\n }\n }\n\n // Encode data itself\n if (!state.any && state.choice === null) {\n const tag = state.implicit !== null ? state.implicit : state.tag;\n const cls = state.implicit === null ? 'universal' : 'context';\n\n if (tag === null) {\n if (state.use === null)\n reporter.error('Tag could be omitted only for .use()');\n } else {\n if (state.use === null)\n result = this._encodeComposite(tag, primitive, cls, content);\n }\n }\n\n // Wrap in explicit\n if (state.explicit !== null)\n result = this._encodeComposite(state.explicit, false, 'context', result);\n\n return result;\n};\n\nNode.prototype._encodeChoice = function encodeChoice(data, reporter) {\n const state = this._baseState;\n\n const node = state.choice[data.type];\n if (!node) {\n assert(\n false,\n data.type + ' not found in ' +\n JSON.stringify(Object.keys(state.choice)));\n }\n return node._encode(data.value, reporter);\n};\n\nNode.prototype._encodePrimitive = function encodePrimitive(tag, data) {\n const state = this._baseState;\n\n if (/str$/.test(tag))\n return this._encodeStr(data, tag);\n else if (tag === 'objid' && state.args)\n return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);\n else if (tag === 'objid')\n return this._encodeObjid(data, null, null);\n else if (tag === 'gentime' || tag === 'utctime')\n return this._encodeTime(data, tag);\n else if (tag === 'null_')\n return this._encodeNull();\n else if (tag === 'int' || tag === 'enum')\n return this._encodeInt(data, state.args && state.reverseArgs[0]);\n else if (tag === 'bool')\n return this._encodeBool(data);\n else if (tag === 'objDesc')\n return this._encodeStr(data, tag);\n else\n throw new Error('Unsupported tag: ' + tag);\n};\n\nNode.prototype._isNumstr = function isNumstr(str) {\n return /^[0-9 ]*$/.test(str);\n};\n\nNode.prototype._isPrintstr = function isPrintstr(str) {\n return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);\n};\n","'use strict';\n\nconst inherits = require('inherits');\n\nfunction Reporter(options) {\n this._reporterState = {\n obj: null,\n path: [],\n options: options || {},\n errors: []\n };\n}\nexports.Reporter = Reporter;\n\nReporter.prototype.isError = function isError(obj) {\n return obj instanceof ReporterError;\n};\n\nReporter.prototype.save = function save() {\n const state = this._reporterState;\n\n return { obj: state.obj, pathLen: state.path.length };\n};\n\nReporter.prototype.restore = function restore(data) {\n const state = this._reporterState;\n\n state.obj = data.obj;\n state.path = state.path.slice(0, data.pathLen);\n};\n\nReporter.prototype.enterKey = function enterKey(key) {\n return this._reporterState.path.push(key);\n};\n\nReporter.prototype.exitKey = function exitKey(index) {\n const state = this._reporterState;\n\n state.path = state.path.slice(0, index - 1);\n};\n\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n const state = this._reporterState;\n\n this.exitKey(index);\n if (state.obj !== null)\n state.obj[key] = value;\n};\n\nReporter.prototype.path = function path() {\n return this._reporterState.path.join('/');\n};\n\nReporter.prototype.enterObject = function enterObject() {\n const state = this._reporterState;\n\n const prev = state.obj;\n state.obj = {};\n return prev;\n};\n\nReporter.prototype.leaveObject = function leaveObject(prev) {\n const state = this._reporterState;\n\n const now = state.obj;\n state.obj = prev;\n return now;\n};\n\nReporter.prototype.error = function error(msg) {\n let err;\n const state = this._reporterState;\n\n const inherited = msg instanceof ReporterError;\n if (inherited) {\n err = msg;\n } else {\n err = new ReporterError(state.path.map(function(elem) {\n return '[' + JSON.stringify(elem) + ']';\n }).join(''), msg.message || msg, msg.stack);\n }\n\n if (!state.options.partial)\n throw err;\n\n if (!inherited)\n state.errors.push(err);\n\n return err;\n};\n\nReporter.prototype.wrapResult = function wrapResult(result) {\n const state = this._reporterState;\n if (!state.options.partial)\n return result;\n\n return {\n result: this.isError(result) ? null : result,\n errors: state.errors\n };\n};\n\nfunction ReporterError(path, msg) {\n this.path = path;\n this.rethrow(msg);\n}\ninherits(ReporterError, Error);\n\nReporterError.prototype.rethrow = function rethrow(msg) {\n this.message = msg + ' at: ' + (this.path || '(shallow)');\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ReporterError);\n\n if (!this.stack) {\n try {\n // IE only adds stack when thrown\n throw new Error(this.message);\n } catch (e) {\n this.stack = e.stack;\n }\n }\n return this;\n};\n","'use strict';\n\n// Helper\nfunction reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n}\n\nexports.tagClass = {\n 0: 'universal',\n 1: 'application',\n 2: 'context',\n 3: 'private'\n};\nexports.tagClassByName = reverse(exports.tagClass);\n\nexports.tag = {\n 0x00: 'end',\n 0x01: 'bool',\n 0x02: 'int',\n 0x03: 'bitstr',\n 0x04: 'octstr',\n 0x05: 'null_',\n 0x06: 'objid',\n 0x07: 'objDesc',\n 0x08: 'external',\n 0x09: 'real',\n 0x0a: 'enum',\n 0x0b: 'embed',\n 0x0c: 'utf8str',\n 0x0d: 'relativeOid',\n 0x10: 'seq',\n 0x11: 'set',\n 0x12: 'numstr',\n 0x13: 'printstr',\n 0x14: 't61str',\n 0x15: 'videostr',\n 0x16: 'ia5str',\n 0x17: 'utctime',\n 0x18: 'gentime',\n 0x19: 'graphstr',\n 0x1a: 'iso646str',\n 0x1b: 'genstr',\n 0x1c: 'unistr',\n 0x1d: 'charstr',\n 0x1e: 'bmpstr'\n};\nexports.tagByName = reverse(exports.tag);\n","'use strict';\n\nconst constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n const res = {};\n\n Object.keys(map).forEach(function(key) {\n // Convert key to integer if it is stringified\n if ((key | 0) == key)\n key = key | 0;\n\n const value = map[key];\n res[value] = key;\n });\n\n return res;\n};\n\nconstants.der = require('./der');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst bignum = require('bn.js');\nconst DecoderBuffer = require('../base/buffer').DecoderBuffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!DecoderBuffer.isDecoderBuffer(data)) {\n data = new DecoderBuffer(data, options);\n }\n\n return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty())\n return false;\n\n const state = buffer.save();\n const decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n buffer.restore(state);\n\n return decodedTag.tag === tag || decodedTag.tagStr === tag ||\n (decodedTag.tagStr + 'of') === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n const decodedTag = derDecodeTag(buffer,\n 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag))\n return decodedTag;\n\n let len = derDecodeLen(buffer,\n decodedTag.primitive,\n 'Failed to get length of \"' + tag + '\"');\n\n // Failure\n if (buffer.isError(len))\n return len;\n\n if (!any &&\n decodedTag.tag !== tag &&\n decodedTag.tagStr !== tag &&\n decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null)\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n // Indefinite length... find END tag\n const state = buffer.save();\n const res = this._skipUntilEnd(\n buffer,\n 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n if (buffer.isError(res))\n return res;\n\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n for (;;) {\n const tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag))\n return tag;\n const len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len))\n return len;\n\n let res;\n if (tag.primitive || len !== null)\n res = buffer.skip(len);\n else\n res = this._skipUntilEnd(buffer, fail);\n\n // Failure\n if (buffer.isError(res))\n return res;\n\n if (tag.tagStr === 'end')\n break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,\n options) {\n const result = [];\n while (!buffer.isEmpty()) {\n const possibleEnd = this._peekTag(buffer, 'end');\n if (buffer.isError(possibleEnd))\n return possibleEnd;\n\n const res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd)\n break;\n result.push(res);\n }\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n const unused = buffer.readUInt8();\n if (buffer.isError(unused))\n return unused;\n return { unused: unused, data: buffer.raw() };\n } else if (tag === 'bmpstr') {\n const raw = buffer.raw();\n if (raw.length % 2 === 1)\n return buffer.error('Decoding of string type: bmpstr length mismatch');\n\n let str = '';\n for (let i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n return str;\n } else if (tag === 'numstr') {\n const numstr = buffer.raw().toString('ascii');\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decoding of string type: ' +\n 'numstr unsupported characters');\n }\n return numstr;\n } else if (tag === 'octstr') {\n return buffer.raw();\n } else if (tag === 'objDesc') {\n return buffer.raw();\n } else if (tag === 'printstr') {\n const printstr = buffer.raw().toString('ascii');\n if (!this._isPrintstr(printstr)) {\n return buffer.error('Decoding of string type: ' +\n 'printstr unsupported characters');\n }\n return printstr;\n } else if (/str$/.test(tag)) {\n return buffer.raw().toString();\n } else {\n return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n }\n};\n\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n let result;\n const identifiers = [];\n let ident = 0;\n let subident = 0;\n while (!buffer.isEmpty()) {\n subident = buffer.readUInt8();\n ident <<= 7;\n ident |= subident & 0x7f;\n if ((subident & 0x80) === 0) {\n identifiers.push(ident);\n ident = 0;\n }\n }\n if (subident & 0x80)\n identifiers.push(ident);\n\n const first = (identifiers[0] / 40) | 0;\n const second = identifiers[0] % 40;\n\n if (relative)\n result = identifiers;\n else\n result = [first, second].concat(identifiers.slice(1));\n\n if (values) {\n let tmp = values[result.join(' ')];\n if (tmp === undefined)\n tmp = values[result.join('.')];\n if (tmp !== undefined)\n result = tmp;\n }\n\n return result;\n};\n\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n const str = buffer.raw().toString();\n\n let year;\n let mon;\n let day;\n let hour;\n let min;\n let sec;\n if (tag === 'gentime') {\n year = str.slice(0, 4) | 0;\n mon = str.slice(4, 6) | 0;\n day = str.slice(6, 8) | 0;\n hour = str.slice(8, 10) | 0;\n min = str.slice(10, 12) | 0;\n sec = str.slice(12, 14) | 0;\n } else if (tag === 'utctime') {\n year = str.slice(0, 2) | 0;\n mon = str.slice(2, 4) | 0;\n day = str.slice(4, 6) | 0;\n hour = str.slice(6, 8) | 0;\n min = str.slice(8, 10) | 0;\n sec = str.slice(10, 12) | 0;\n if (year < 70)\n year = 2000 + year;\n else\n year = 1900 + year;\n } else {\n return buffer.error('Decoding ' + tag + ' time is not supported yet');\n }\n\n return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\n\nDERNode.prototype._decodeNull = function decodeNull() {\n return null;\n};\n\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n const res = buffer.readUInt8();\n if (buffer.isError(res))\n return res;\n else\n return res !== 0;\n};\n\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n // Bigint, return as it is (assume big endian)\n const raw = buffer.raw();\n let res = new bignum(raw);\n\n if (values)\n res = values[res.toString(10)] || res;\n\n return res;\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n let tag = buf.readUInt8(fail);\n if (buf.isError(tag))\n return tag;\n\n const cls = der.tagClass[tag >> 6];\n const primitive = (tag & 0x20) === 0;\n\n // Multi-octet tag - load\n if ((tag & 0x1f) === 0x1f) {\n let oct = tag;\n tag = 0;\n while ((oct & 0x80) === 0x80) {\n oct = buf.readUInt8(fail);\n if (buf.isError(oct))\n return oct;\n\n tag <<= 7;\n tag |= oct & 0x7f;\n }\n } else {\n tag &= 0x1f;\n }\n const tagStr = der.tag[tag];\n\n return {\n cls: cls,\n primitive: primitive,\n tag: tag,\n tagStr: tagStr\n };\n}\n\nfunction derDecodeLen(buf, primitive, fail) {\n let len = buf.readUInt8(fail);\n if (buf.isError(len))\n return len;\n\n // Indefinite form\n if (!primitive && len === 0x80)\n return null;\n\n // Definite form\n if ((len & 0x80) === 0) {\n // Short form\n return len;\n }\n\n // Long form\n const num = len & 0x7f;\n if (num > 4)\n return buf.error('length octect is too long');\n\n len = 0;\n for (let i = 0; i < num; i++) {\n len <<= 8;\n const j = buf.readUInt8(fail);\n if (buf.isError(j))\n return j;\n len |= j;\n }\n\n return len;\n}\n","'use strict';\n\nconst decoders = exports;\n\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\n\nconst DERDecoder = require('./der');\n\nfunction PEMDecoder(entity) {\n DERDecoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\n\nPEMDecoder.prototype.decode = function decode(data, options) {\n const lines = data.toString().split(/[\\r\\n]+/g);\n\n const label = options.label.toUpperCase();\n\n const re = /^-----(BEGIN|END) ([^-]+)-----$/;\n let start = -1;\n let end = -1;\n for (let i = 0; i < lines.length; i++) {\n const match = lines[i].match(re);\n if (match === null)\n continue;\n\n if (match[2] !== label)\n continue;\n\n if (start === -1) {\n if (match[1] !== 'BEGIN')\n break;\n start = i;\n } else {\n if (match[1] !== 'END')\n break;\n end = i;\n break;\n }\n }\n if (start === -1 || end === -1)\n throw new Error('PEM section not found for: ' + label);\n\n const base64 = lines.slice(start + 1, end).join('');\n // Remove excessive symbols\n base64.replace(/[^a-z0-9+/=]+/gi, '');\n\n const input = Buffer.from(base64, 'base64');\n return DERDecoder.prototype.decode.call(this, input, options);\n};\n","'use strict';\n\nconst inherits = require('inherits');\nconst Buffer = require('safer-buffer').Buffer;\nconst Node = require('../base/node');\n\n// Import DER constants\nconst der = require('../constants/der');\n\nfunction DEREncoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity;\n\n // Construct base tree\n this.tree = new DERNode();\n this.tree._init(entity.body);\n}\nmodule.exports = DEREncoder;\n\nDEREncoder.prototype.encode = function encode(data, reporter) {\n return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n Node.call(this, 'der', parent);\n}\ninherits(DERNode, Node);\n\nDERNode.prototype._encodeComposite = function encodeComposite(tag,\n primitive,\n cls,\n content) {\n const encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n // Short form\n if (content.length < 0x80) {\n const header = Buffer.alloc(2);\n header[0] = encodedTag;\n header[1] = content.length;\n return this._createEncoderBuffer([ header, content ]);\n }\n\n // Long form\n // Count octets required to store length\n let lenOctets = 1;\n for (let i = content.length; i >= 0x100; i >>= 8)\n lenOctets++;\n\n const header = Buffer.alloc(1 + 1 + lenOctets);\n header[0] = encodedTag;\n header[1] = 0x80 | lenOctets;\n\n for (let i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)\n header[i] = j & 0xff;\n\n return this._createEncoderBuffer([ header, content ]);\n};\n\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n if (tag === 'bitstr') {\n return this._createEncoderBuffer([ str.unused | 0, str.data ]);\n } else if (tag === 'bmpstr') {\n const buf = Buffer.alloc(str.length * 2);\n for (let i = 0; i < str.length; i++) {\n buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n }\n return this._createEncoderBuffer(buf);\n } else if (tag === 'numstr') {\n if (!this._isNumstr(str)) {\n return this.reporter.error('Encoding of string type: numstr supports ' +\n 'only digits and space');\n }\n return this._createEncoderBuffer(str);\n } else if (tag === 'printstr') {\n if (!this._isPrintstr(str)) {\n return this.reporter.error('Encoding of string type: printstr supports ' +\n 'only latin upper and lower case letters, ' +\n 'digits, space, apostrophe, left and rigth ' +\n 'parenthesis, plus sign, comma, hyphen, ' +\n 'dot, slash, colon, equal sign, ' +\n 'question mark');\n }\n return this._createEncoderBuffer(str);\n } else if (/str$/.test(tag)) {\n return this._createEncoderBuffer(str);\n } else if (tag === 'objDesc') {\n return this._createEncoderBuffer(str);\n } else {\n return this.reporter.error('Encoding of string type: ' + tag +\n ' unsupported');\n }\n};\n\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n if (typeof id === 'string') {\n if (!values)\n return this.reporter.error('string objid given, but no values map found');\n if (!values.hasOwnProperty(id))\n return this.reporter.error('objid not found in values map');\n id = values[id].split(/[\\s.]+/g);\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n } else if (Array.isArray(id)) {\n id = id.slice();\n for (let i = 0; i < id.length; i++)\n id[i] |= 0;\n }\n\n if (!Array.isArray(id)) {\n return this.reporter.error('objid() should be either array or string, ' +\n 'got: ' + JSON.stringify(id));\n }\n\n if (!relative) {\n if (id[1] >= 40)\n return this.reporter.error('Second objid identifier OOB');\n id.splice(0, 2, id[0] * 40 + id[1]);\n }\n\n // Count number of octets\n let size = 0;\n for (let i = 0; i < id.length; i++) {\n let ident = id[i];\n for (size++; ident >= 0x80; ident >>= 7)\n size++;\n }\n\n const objid = Buffer.alloc(size);\n let offset = objid.length - 1;\n for (let i = id.length - 1; i >= 0; i--) {\n let ident = id[i];\n objid[offset--] = ident & 0x7f;\n while ((ident >>= 7) > 0)\n objid[offset--] = 0x80 | (ident & 0x7f);\n }\n\n return this._createEncoderBuffer(objid);\n};\n\nfunction two(num) {\n if (num < 10)\n return '0' + num;\n else\n return num;\n}\n\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n let str;\n const date = new Date(time);\n\n if (tag === 'gentime') {\n str = [\n two(date.getUTCFullYear()),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else if (tag === 'utctime') {\n str = [\n two(date.getUTCFullYear() % 100),\n two(date.getUTCMonth() + 1),\n two(date.getUTCDate()),\n two(date.getUTCHours()),\n two(date.getUTCMinutes()),\n two(date.getUTCSeconds()),\n 'Z'\n ].join('');\n } else {\n this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n }\n\n return this._encodeStr(str, 'octstr');\n};\n\nDERNode.prototype._encodeNull = function encodeNull() {\n return this._createEncoderBuffer('');\n};\n\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n if (typeof num === 'string') {\n if (!values)\n return this.reporter.error('String int or enum given, but no values map');\n if (!values.hasOwnProperty(num)) {\n return this.reporter.error('Values map doesn\\'t contain: ' +\n JSON.stringify(num));\n }\n num = values[num];\n }\n\n // Bignum, assume big endian\n if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n const numArray = num.toArray();\n if (!num.sign && numArray[0] & 0x80) {\n numArray.unshift(0);\n }\n num = Buffer.from(numArray);\n }\n\n if (Buffer.isBuffer(num)) {\n let size = num.length;\n if (num.length === 0)\n size++;\n\n const out = Buffer.alloc(size);\n num.copy(out);\n if (num.length === 0)\n out[0] = 0;\n return this._createEncoderBuffer(out);\n }\n\n if (num < 0x80)\n return this._createEncoderBuffer(num);\n\n if (num < 0x100)\n return this._createEncoderBuffer([0, num]);\n\n let size = 1;\n for (let i = num; i >= 0x100; i >>= 8)\n size++;\n\n const out = new Array(size);\n for (let i = out.length - 1; i >= 0; i--) {\n out[i] = num & 0xff;\n num >>= 8;\n }\n if(out[0] & 0x80) {\n out.unshift(0);\n }\n\n return this._createEncoderBuffer(Buffer.from(out));\n};\n\nDERNode.prototype._encodeBool = function encodeBool(value) {\n return this._createEncoderBuffer(value ? 0xff : 0);\n};\n\nDERNode.prototype._use = function use(entity, obj) {\n if (typeof entity === 'function')\n entity = entity(obj);\n return entity._getEncoder('der').tree;\n};\n\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n const state = this._baseState;\n let i;\n if (state['default'] === null)\n return false;\n\n const data = dataBuffer.join();\n if (state.defaultBuffer === undefined)\n state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n\n if (data.length !== state.defaultBuffer.length)\n return false;\n\n for (i=0; i < data.length; i++)\n if (data[i] !== state.defaultBuffer[i])\n return false;\n\n return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n let res;\n\n if (tag === 'seqof')\n tag = 'seq';\n else if (tag === 'setof')\n tag = 'set';\n\n if (der.tagByName.hasOwnProperty(tag))\n res = der.tagByName[tag];\n else if (typeof tag === 'number' && (tag | 0) === tag)\n res = tag;\n else\n return reporter.error('Unknown tag: ' + tag);\n\n if (res >= 0x1f)\n return reporter.error('Multi-octet tag encoding unsupported');\n\n if (!primitive)\n res |= 0x20;\n\n res |= (der.tagClassByName[cls || 'universal'] << 6);\n\n return res;\n}\n","'use strict';\n\nconst encoders = exports;\n\nencoders.der = require('./der');\nencoders.pem = require('./pem');\n","'use strict';\n\nconst inherits = require('inherits');\n\nconst DEREncoder = require('./der');\n\nfunction PEMEncoder(entity) {\n DEREncoder.call(this, entity);\n this.enc = 'pem';\n}\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\n\nPEMEncoder.prototype.encode = function encode(data, options) {\n const buf = DEREncoder.prototype.encode.call(this, data);\n\n const p = buf.toString('base64');\n const out = [ '-----BEGIN ' + options.label + '-----' ];\n for (let i = 0; i < p.length; i += 64)\n out.push(p.slice(i, i + 64));\n out.push('-----END ' + options.label + '-----');\n return out.join('\\n');\n};\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n if (padded < 1 || padded > 16) {\n throw new Error('unable to decrypt data')\n }\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n","var DES = require('browserify-des')\nvar aes = require('browserify-aes/browser')\nvar aesModes = require('browserify-aes/modes')\nvar desModes = require('browserify-des/modes')\nvar ebtk = require('evp_bytestokey')\n\nfunction createCipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createDecipher (suite, password) {\n suite = suite.toLowerCase()\n\n var keyLen, ivLen\n if (aesModes[suite]) {\n keyLen = aesModes[suite].key\n ivLen = aesModes[suite].iv\n } else if (desModes[suite]) {\n keyLen = desModes[suite].key * 8\n ivLen = desModes[suite].iv\n } else {\n throw new TypeError('invalid suite type')\n }\n\n var keys = ebtk(password, false, keyLen, ivLen)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nfunction createCipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction createDecipheriv (suite, key, iv) {\n suite = suite.toLowerCase()\n if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)\n if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })\n\n throw new TypeError('invalid suite type')\n}\n\nfunction getCiphers () {\n return Object.keys(desModes).concat(aes.getCiphers())\n}\n\nexports.createCipher = exports.Cipher = createCipher\nexports.createCipheriv = exports.Cipheriv = createCipheriv\nexports.createDecipher = exports.Decipher = createDecipher\nexports.createDecipheriv = exports.Decipheriv = createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n","var CipherBase = require('cipher-base')\nvar des = require('des.js')\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar modes = {\n 'des-ede3-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede3': des.EDE,\n 'des-ede-cbc': des.CBC.instantiate(des.EDE),\n 'des-ede': des.EDE,\n 'des-cbc': des.CBC.instantiate(des.DES),\n 'des-ecb': des.DES\n}\nmodes.des = modes['des-cbc']\nmodes.des3 = modes['des-ede3-cbc']\nmodule.exports = DES\ninherits(DES, CipherBase)\nfunction DES (opts) {\n CipherBase.call(this)\n var modeName = opts.mode.toLowerCase()\n var mode = modes[modeName]\n var type\n if (opts.decrypt) {\n type = 'decrypt'\n } else {\n type = 'encrypt'\n }\n var key = opts.key\n if (!Buffer.isBuffer(key)) {\n key = Buffer.from(key)\n }\n if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {\n key = Buffer.concat([key, key.slice(0, 8)])\n }\n var iv = opts.iv\n if (!Buffer.isBuffer(iv)) {\n iv = Buffer.from(iv)\n }\n this._des = mode.create({\n key: key,\n iv: iv,\n type: type\n })\n}\nDES.prototype._update = function (data) {\n return Buffer.from(this._des.update(data))\n}\nDES.prototype._final = function () {\n return Buffer.from(this._des.final())\n}\n","exports['des-ecb'] = {\n key: 8,\n iv: 0\n}\nexports['des-cbc'] = exports.des = {\n key: 8,\n iv: 8\n}\nexports['des-ede3-cbc'] = exports.des3 = {\n key: 24,\n iv: 8\n}\nexports['des-ede3'] = {\n key: 24,\n iv: 0\n}\nexports['des-ede-cbc'] = {\n key: 16,\n iv: 8\n}\nexports['des-ede'] = {\n key: 16,\n iv: 0\n}\n","var BN = require('bn.js')\nvar randomBytes = require('randombytes')\n\nfunction blind (priv) {\n var r = getr(priv)\n var blinder = r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed()\n return { blinder: blinder, unblinder: r.invm(priv.modulus) }\n}\n\nfunction getr (priv) {\n var len = priv.modulus.byteLength()\n var r\n do {\n r = new BN(randomBytes(len))\n } while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2))\n return r\n}\n\nfunction crt (msg, priv) {\n var blinds = blind(priv)\n var len = priv.modulus.byteLength()\n var blinded = new BN(msg).mul(blinds.blinder).umod(priv.modulus)\n var c1 = blinded.toRed(BN.mont(priv.prime1))\n var c2 = blinded.toRed(BN.mont(priv.prime2))\n var qinv = priv.coefficient\n var p = priv.prime1\n var q = priv.prime2\n var m1 = c1.redPow(priv.exponent1).fromRed()\n var m2 = c2.redPow(priv.exponent2).fromRed()\n var h = m1.isub(m2).imul(qinv).umod(p).imul(q)\n return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer, 'be', len)\n}\ncrt.getr = getr\n\nmodule.exports = crt\n","module.exports = require('./browser/algorithms.json')\n","var Buffer = require('safe-buffer').Buffer\nvar createHash = require('create-hash')\nvar stream = require('readable-stream')\nvar inherits = require('inherits')\nvar sign = require('./sign')\nvar verify = require('./verify')\n\nvar algorithms = require('./algorithms.json')\nObject.keys(algorithms).forEach(function (key) {\n algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')\n algorithms[key.toLowerCase()] = algorithms[key]\n})\n\nfunction Sign (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hashType = data.hash\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Sign, stream.Writable)\n\nSign.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nSign.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nSign.prototype.sign = function signMethod (key, enc) {\n this.end()\n var hash = this._hash.digest()\n var sig = sign(hash, key, this._hashType, this._signType, this._tag)\n\n return enc ? sig.toString(enc) : sig\n}\n\nfunction Verify (algorithm) {\n stream.Writable.call(this)\n\n var data = algorithms[algorithm]\n if (!data) throw new Error('Unknown message digest')\n\n this._hash = createHash(data.hash)\n this._tag = data.id\n this._signType = data.sign\n}\ninherits(Verify, stream.Writable)\n\nVerify.prototype._write = function _write (data, _, done) {\n this._hash.update(data)\n done()\n}\n\nVerify.prototype.update = function update (data, enc) {\n if (typeof data === 'string') data = Buffer.from(data, enc)\n\n this._hash.update(data)\n return this\n}\n\nVerify.prototype.verify = function verifyMethod (key, sig, enc) {\n if (typeof sig === 'string') sig = Buffer.from(sig, enc)\n\n this.end()\n var hash = this._hash.digest()\n return verify(sig, hash, key, this._signType, this._tag)\n}\n\nfunction createSign (algorithm) {\n return new Sign(algorithm)\n}\n\nfunction createVerify (algorithm) {\n return new Verify(algorithm)\n}\n\nmodule.exports = {\n Sign: createSign,\n Verify: createVerify,\n createSign: createSign,\n createVerify: createVerify\n}\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar createHmac = require('create-hmac')\nvar crt = require('browserify-rsa')\nvar EC = require('elliptic').ec\nvar BN = require('bn.js')\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction sign (hash, key, hashType, signType, tag) {\n var priv = parseKeys(key)\n if (priv.curve) {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n return ecSign(hash, priv)\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type')\n return dsaSign(hash, priv, hashType)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = priv.modulus.byteLength()\n var pad = [0, 1]\n while (hash.length + pad.length + 1 < len) pad.push(0xff)\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) pad.push(hash[i])\n\n var out = crt(pad, priv)\n return out\n}\n\nfunction ecSign (hash, priv) {\n var curveId = curves[priv.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))\n\n var curve = new EC(curveId)\n var key = curve.keyFromPrivate(priv.privateKey)\n var out = key.sign(hash)\n\n return Buffer.from(out.toDER())\n}\n\nfunction dsaSign (hash, priv, algo) {\n var x = priv.params.priv_key\n var p = priv.params.p\n var q = priv.params.q\n var g = priv.params.g\n var r = new BN(0)\n var k\n var H = bits2int(hash, q).mod(q)\n var s = false\n var kv = getKey(x, q, hash, algo)\n while (s === false) {\n k = makeKey(q, kv, algo)\n r = makeR(g, k, p, q)\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q)\n if (s.cmpn(0) === 0) {\n s = false\n r = new BN(0)\n }\n }\n return toDER(r, s)\n}\n\nfunction toDER (r, s) {\n r = r.toArray()\n s = s.toArray()\n\n // Pad values\n if (r[0] & 0x80) r = [0].concat(r)\n if (s[0] & 0x80) s = [0].concat(s)\n\n var total = r.length + s.length + 4\n var res = [0x30, total, 0x02, r.length]\n res = res.concat(r, [0x02, s.length], s)\n return Buffer.from(res)\n}\n\nfunction getKey (x, q, hash, algo) {\n x = Buffer.from(x.toArray())\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length)\n x = Buffer.concat([zeros, x])\n }\n var hlen = hash.length\n var hbits = bits2octets(hash, q)\n var v = Buffer.alloc(hlen)\n v.fill(1)\n var k = Buffer.alloc(hlen)\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()\n v = createHmac(algo, k).update(v).digest()\n return { k: k, v: v }\n}\n\nfunction bits2int (obits, q) {\n var bits = new BN(obits)\n var shift = (obits.length << 3) - q.bitLength()\n if (shift > 0) bits.ishrn(shift)\n return bits\n}\n\nfunction bits2octets (bits, q) {\n bits = bits2int(bits, q)\n bits = bits.mod(q)\n var out = Buffer.from(bits.toArray())\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length)\n out = Buffer.concat([zeros, out])\n }\n return out\n}\n\nfunction makeKey (q, kv, algo) {\n var t\n var k\n\n do {\n t = Buffer.alloc(0)\n\n while (t.length * 8 < q.bitLength()) {\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n t = Buffer.concat([t, kv.v])\n }\n\n k = bits2int(t, q)\n kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()\n kv.v = createHmac(algo, kv.k).update(kv.v).digest()\n } while (k.cmp(q) !== -1)\n\n return k\n}\n\nfunction makeR (g, k, p, q) {\n return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)\n}\n\nmodule.exports = sign\nmodule.exports.getKey = getKey\nmodule.exports.makeKey = makeKey\n","// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = require('safe-buffer').Buffer\nvar BN = require('bn.js')\nvar EC = require('elliptic').ec\nvar parseKeys = require('parse-asn1')\nvar curves = require('./curves.json')\n\nfunction verify (sig, hash, key, signType, tag) {\n var pub = parseKeys(key)\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n return ecVerify(sig, hash, pub)\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type')\n return dsaVerify(sig, hash, pub)\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')\n }\n hash = Buffer.concat([tag, hash])\n var len = pub.modulus.byteLength()\n var pad = [1]\n var padNum = 0\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff)\n padNum++\n }\n pad.push(0x00)\n var i = -1\n while (++i < hash.length) {\n pad.push(hash[i])\n }\n pad = Buffer.from(pad)\n var red = BN.mont(pub.modulus)\n sig = new BN(sig).toRed(red)\n\n sig = sig.redPow(new BN(pub.publicExponent))\n sig = Buffer.from(sig.fromRed().toArray())\n var out = padNum < 8 ? 1 : 0\n len = Math.min(sig.length, pad.length)\n if (sig.length !== pad.length) out = 1\n\n i = -1\n while (++i < len) out |= sig[i] ^ pad[i]\n return out === 0\n}\n\nfunction ecVerify (sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')]\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))\n\n var curve = new EC(curveId)\n var pubkey = pub.data.subjectPrivateKey.data\n\n return curve.verify(hash, sig, pubkey)\n}\n\nfunction dsaVerify (sig, hash, pub) {\n var p = pub.data.p\n var q = pub.data.q\n var g = pub.data.g\n var y = pub.data.pub_key\n var unpacked = parseKeys.signature.decode(sig, 'der')\n var s = unpacked.s\n var r = unpacked.r\n checkValue(s, q)\n checkValue(r, q)\n var montp = BN.mont(p)\n var w = s.invm(q)\n var v = g.toRed(montp)\n .redPow(new BN(hash).mul(w).mod(q))\n .fromRed()\n .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())\n .mod(p)\n .mod(q)\n return v.cmp(r) === 0\n}\n\nfunction checkValue (b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig')\n if (b.cmp(q) >= q) throw new Error('invalid sig')\n}\n\nmodule.exports = verify\n","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","!function(globals) {\n'use strict'\n\nvar convertHex = {\n bytesToHex: function(bytes) {\n /*if (typeof bytes.byteLength != 'undefined') {\n var newBytes = []\n\n if (typeof bytes.buffer != 'undefined')\n bytes = new DataView(bytes.buffer)\n else\n bytes = new DataView(bytes)\n\n for (var i = 0; i < bytes.byteLength; ++i) {\n newBytes.push(bytes.getUint8(i))\n }\n bytes = newBytes\n }*/\n return arrBytesToHex(bytes)\n },\n hexToBytes: function(hex) {\n if (hex.length % 2 === 1) throw new Error(\"hexToBytes can't have a string with an odd number of characters.\")\n if (hex.indexOf('0x') === 0) hex = hex.slice(2)\n return hex.match(/../g).map(function(x) { return parseInt(x,16) })\n }\n}\n\n\n// PRIVATE\n\nfunction arrBytesToHex(bytes) {\n return bytes.map(function(x) { return padLeft(x.toString(16),2) }).join('')\n}\n\nfunction padLeft(orig, len) {\n if (orig.length > len) return orig\n return Array(len - orig.length + 1).join('0') + orig\n}\n\n\nif (typeof module !== 'undefined' && module.exports) { //CommonJS\n module.exports = convertHex\n} else {\n globals.convertHex = convertHex\n}\n\n}(this);","!function(globals) {\n'use strict'\n\nvar convertString = {\n bytesToString: function(bytes) {\n return bytes.map(function(x){ return String.fromCharCode(x) }).join('')\n },\n stringToBytes: function(str) {\n return str.split('').map(function(x) { return x.charCodeAt(0) })\n }\n}\n\n//http://hossa.in/2012/07/20/utf-8-in-javascript.html\nconvertString.UTF8 = {\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(convertString.bytesToString(bytes)))\n },\n stringToBytes: function(str) {\n return convertString.stringToBytes(unescape(encodeURIComponent(str)))\n }\n}\n\nif (typeof module !== 'undefined' && module.exports) { //CommonJS\n module.exports = convertString\n} else {\n globals.convertString = convertString\n}\n\n}(this);","var elliptic = require('elliptic')\nvar BN = require('bn.js')\n\nmodule.exports = function createECDH (curve) {\n return new ECDH(curve)\n}\n\nvar aliases = {\n secp256k1: {\n name: 'secp256k1',\n byteLength: 32\n },\n secp224r1: {\n name: 'p224',\n byteLength: 28\n },\n prime256v1: {\n name: 'p256',\n byteLength: 32\n },\n prime192v1: {\n name: 'p192',\n byteLength: 24\n },\n ed25519: {\n name: 'ed25519',\n byteLength: 32\n },\n secp384r1: {\n name: 'p384',\n byteLength: 48\n },\n secp521r1: {\n name: 'p521',\n byteLength: 66\n }\n}\n\naliases.p224 = aliases.secp224r1\naliases.p256 = aliases.secp256r1 = aliases.prime256v1\naliases.p192 = aliases.secp192r1 = aliases.prime192v1\naliases.p384 = aliases.secp384r1\naliases.p521 = aliases.secp521r1\n\nfunction ECDH (curve) {\n this.curveType = aliases[curve]\n if (!this.curveType) {\n this.curveType = {\n name: curve\n }\n }\n this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap\n this.keys = void 0\n}\n\nECDH.prototype.generateKeys = function (enc, format) {\n this.keys = this.curve.genKeyPair()\n return this.getPublicKey(enc, format)\n}\n\nECDH.prototype.computeSecret = function (other, inenc, enc) {\n inenc = inenc || 'utf8'\n if (!Buffer.isBuffer(other)) {\n other = new Buffer(other, inenc)\n }\n var otherPub = this.curve.keyFromPublic(other).getPublic()\n var out = otherPub.mul(this.keys.getPrivate()).getX()\n return formatReturnValue(out, enc, this.curveType.byteLength)\n}\n\nECDH.prototype.getPublicKey = function (enc, format) {\n var key = this.keys.getPublic(format === 'compressed', true)\n if (format === 'hybrid') {\n if (key[key.length - 1] % 2) {\n key[0] = 7\n } else {\n key[0] = 6\n }\n }\n return formatReturnValue(key, enc)\n}\n\nECDH.prototype.getPrivateKey = function (enc) {\n return formatReturnValue(this.keys.getPrivate(), enc)\n}\n\nECDH.prototype.setPublicKey = function (pub, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc)\n }\n this.keys._importPublic(pub)\n return this\n}\n\nECDH.prototype.setPrivateKey = function (priv, enc) {\n enc = enc || 'utf8'\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc)\n }\n\n var _priv = new BN(priv)\n _priv = _priv.toString(16)\n this.keys = this.curve.genKeyPair()\n this.keys._importPrivate(_priv)\n return this\n}\n\nfunction formatReturnValue (bn, enc, len) {\n if (!Array.isArray(bn)) {\n bn = bn.toArray()\n }\n var buf = new Buffer(bn)\n if (len && buf.length < len) {\n var zeros = new Buffer(len - buf.length)\n zeros.fill(0)\n buf = Buffer.concat([zeros, buf])\n }\n if (!enc) {\n return buf\n } else {\n return buf.toString(enc)\n }\n}\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","var MD5 = require('md5.js')\n\nmodule.exports = function (buffer) {\n return new MD5().update(buffer).digest()\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n","'use strict'\n\nexports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')\nexports.createHash = exports.Hash = require('create-hash')\nexports.createHmac = exports.Hmac = require('create-hmac')\n\nvar algos = require('browserify-sign/algos')\nvar algoKeys = Object.keys(algos)\nvar hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)\nexports.getHashes = function () {\n return hashes\n}\n\nvar p = require('pbkdf2')\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\n\nvar aes = require('browserify-cipher')\n\nexports.Cipher = aes.Cipher\nexports.createCipher = aes.createCipher\nexports.Cipheriv = aes.Cipheriv\nexports.createCipheriv = aes.createCipheriv\nexports.Decipher = aes.Decipher\nexports.createDecipher = aes.createDecipher\nexports.Decipheriv = aes.Decipheriv\nexports.createDecipheriv = aes.createDecipheriv\nexports.getCiphers = aes.getCiphers\nexports.listCiphers = aes.listCiphers\n\nvar dh = require('diffie-hellman')\n\nexports.DiffieHellmanGroup = dh.DiffieHellmanGroup\nexports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup\nexports.getDiffieHellman = dh.getDiffieHellman\nexports.createDiffieHellman = dh.createDiffieHellman\nexports.DiffieHellman = dh.DiffieHellman\n\nvar sign = require('browserify-sign')\n\nexports.createSign = sign.createSign\nexports.Sign = sign.Sign\nexports.createVerify = sign.createVerify\nexports.Verify = sign.Verify\n\nexports.createECDH = require('create-ecdh')\n\nvar publicEncrypt = require('public-encrypt')\n\nexports.publicEncrypt = publicEncrypt.publicEncrypt\nexports.privateEncrypt = publicEncrypt.privateEncrypt\nexports.publicDecrypt = publicEncrypt.publicDecrypt\nexports.privateDecrypt = publicEncrypt.privateDecrypt\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\n// ;[\n// 'createCredentials'\n// ].forEach(function (name) {\n// exports[name] = function () {\n// throw new Error([\n// 'sorry, ' + name + ' is not implemented yet',\n// 'we accept pull requests',\n// 'https://github.com/crypto-browserify/crypto-browserify'\n// ].join('\\n'))\n// }\n// })\n\nvar rf = require('randomfill')\n\nexports.randomFill = rf.randomFill\nexports.randomFillSync = rf.randomFillSync\n\nexports.createCredentials = function () {\n throw new Error([\n 'sorry, createCredentials is not implemented yet',\n 'we accept pull requests',\n 'https://github.com/crypto-browserify/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.constants = {\n 'DH_CHECK_P_NOT_SAFE_PRIME': 2,\n 'DH_CHECK_P_NOT_PRIME': 1,\n 'DH_UNABLE_TO_CHECK_GENERATOR': 4,\n 'DH_NOT_SUITABLE_GENERATOR': 8,\n 'NPN_ENABLED': 1,\n 'ALPN_ENABLED': 1,\n 'RSA_PKCS1_PADDING': 1,\n 'RSA_SSLV23_PADDING': 2,\n 'RSA_NO_PADDING': 3,\n 'RSA_PKCS1_OAEP_PADDING': 4,\n 'RSA_X931_PADDING': 5,\n 'RSA_PKCS1_PSS_PADDING': 6,\n 'POINT_CONVERSION_COMPRESSED': 2,\n 'POINT_CONVERSION_UNCOMPRESSED': 4,\n 'POINT_CONVERSION_HYBRID': 6\n}\n","'use strict';\n\nexports.utils = require('./des/utils');\nexports.Cipher = require('./des/cipher');\nexports.DES = require('./des/des');\nexports.CBC = require('./des/cbc');\nexports.EDE = require('./des/ede');\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar proto = {};\n\nfunction CBCState(iv) {\n assert.equal(iv.length, 8, 'Invalid IV length');\n\n this.iv = new Array(8);\n for (var i = 0; i < this.iv.length; i++)\n this.iv[i] = iv[i];\n}\n\nfunction instantiate(Base) {\n function CBC(options) {\n Base.call(this, options);\n this._cbcInit();\n }\n inherits(CBC, Base);\n\n var keys = Object.keys(proto);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n CBC.prototype[key] = proto[key];\n }\n\n CBC.create = function create(options) {\n return new CBC(options);\n };\n\n return CBC;\n}\n\nexports.instantiate = instantiate;\n\nproto._cbcInit = function _cbcInit() {\n var state = new CBCState(this.options.iv);\n this._cbcState = state;\n};\n\nproto._update = function _update(inp, inOff, out, outOff) {\n var state = this._cbcState;\n var superProto = this.constructor.super_.prototype;\n\n var iv = state.iv;\n if (this.type === 'encrypt') {\n for (var i = 0; i < this.blockSize; i++)\n iv[i] ^= inp[inOff + i];\n\n superProto._update.call(this, iv, 0, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = out[outOff + i];\n } else {\n superProto._update.call(this, inp, inOff, out, outOff);\n\n for (var i = 0; i < this.blockSize; i++)\n out[outOff + i] ^= iv[i];\n\n for (var i = 0; i < this.blockSize; i++)\n iv[i] = inp[inOff + i];\n }\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\n\nfunction Cipher(options) {\n this.options = options;\n\n this.type = this.options.type;\n this.blockSize = 8;\n this._init();\n\n this.buffer = new Array(this.blockSize);\n this.bufferOff = 0;\n}\nmodule.exports = Cipher;\n\nCipher.prototype._init = function _init() {\n // Might be overrided\n};\n\nCipher.prototype.update = function update(data) {\n if (data.length === 0)\n return [];\n\n if (this.type === 'decrypt')\n return this._updateDecrypt(data);\n else\n return this._updateEncrypt(data);\n};\n\nCipher.prototype._buffer = function _buffer(data, off) {\n // Append data to buffer\n var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);\n for (var i = 0; i < min; i++)\n this.buffer[this.bufferOff + i] = data[off + i];\n this.bufferOff += min;\n\n // Shift next\n return min;\n};\n\nCipher.prototype._flushBuffer = function _flushBuffer(out, off) {\n this._update(this.buffer, 0, out, off);\n this.bufferOff = 0;\n return this.blockSize;\n};\n\nCipher.prototype._updateEncrypt = function _updateEncrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = ((this.bufferOff + data.length) / this.blockSize) | 0;\n var out = new Array(count * this.blockSize);\n\n if (this.bufferOff !== 0) {\n inputOff += this._buffer(data, inputOff);\n\n if (this.bufferOff === this.buffer.length)\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Write blocks\n var max = data.length - ((data.length - inputOff) % this.blockSize);\n for (; inputOff < max; inputOff += this.blockSize) {\n this._update(data, inputOff, out, outputOff);\n outputOff += this.blockSize;\n }\n\n // Queue rest\n for (; inputOff < data.length; inputOff++, this.bufferOff++)\n this.buffer[this.bufferOff] = data[inputOff];\n\n return out;\n};\n\nCipher.prototype._updateDecrypt = function _updateDecrypt(data) {\n var inputOff = 0;\n var outputOff = 0;\n\n var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;\n var out = new Array(count * this.blockSize);\n\n // TODO(indutny): optimize it, this is far from optimal\n for (; count > 0; count--) {\n inputOff += this._buffer(data, inputOff);\n outputOff += this._flushBuffer(out, outputOff);\n }\n\n // Buffer rest of the input\n inputOff += this._buffer(data, inputOff);\n\n return out;\n};\n\nCipher.prototype.final = function final(buffer) {\n var first;\n if (buffer)\n first = this.update(buffer);\n\n var last;\n if (this.type === 'encrypt')\n last = this._finalEncrypt();\n else\n last = this._finalDecrypt();\n\n if (first)\n return first.concat(last);\n else\n return last;\n};\n\nCipher.prototype._pad = function _pad(buffer, off) {\n if (off === 0)\n return false;\n\n while (off < buffer.length)\n buffer[off++] = 0;\n\n return true;\n};\n\nCipher.prototype._finalEncrypt = function _finalEncrypt() {\n if (!this._pad(this.buffer, this.bufferOff))\n return [];\n\n var out = new Array(this.blockSize);\n this._update(this.buffer, 0, out, 0);\n return out;\n};\n\nCipher.prototype._unpad = function _unpad(buffer) {\n return buffer;\n};\n\nCipher.prototype._finalDecrypt = function _finalDecrypt() {\n assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');\n var out = new Array(this.blockSize);\n this._flushBuffer(out, 0);\n\n return this._unpad(out);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar utils = require('./utils');\nvar Cipher = require('./cipher');\n\nfunction DESState() {\n this.tmp = new Array(2);\n this.keys = null;\n}\n\nfunction DES(options) {\n Cipher.call(this, options);\n\n var state = new DESState();\n this._desState = state;\n\n this.deriveKeys(state, options.key);\n}\ninherits(DES, Cipher);\nmodule.exports = DES;\n\nDES.create = function create(options) {\n return new DES(options);\n};\n\nvar shiftTable = [\n 1, 1, 2, 2, 2, 2, 2, 2,\n 1, 2, 2, 2, 2, 2, 2, 1\n];\n\nDES.prototype.deriveKeys = function deriveKeys(state, key) {\n state.keys = new Array(16 * 2);\n\n assert.equal(key.length, this.blockSize, 'Invalid key length');\n\n var kL = utils.readUInt32BE(key, 0);\n var kR = utils.readUInt32BE(key, 4);\n\n utils.pc1(kL, kR, state.tmp, 0);\n kL = state.tmp[0];\n kR = state.tmp[1];\n for (var i = 0; i < state.keys.length; i += 2) {\n var shift = shiftTable[i >>> 1];\n kL = utils.r28shl(kL, shift);\n kR = utils.r28shl(kR, shift);\n utils.pc2(kL, kR, state.keys, i);\n }\n};\n\nDES.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._desState;\n\n var l = utils.readUInt32BE(inp, inOff);\n var r = utils.readUInt32BE(inp, inOff + 4);\n\n // Initial Permutation\n utils.ip(l, r, state.tmp, 0);\n l = state.tmp[0];\n r = state.tmp[1];\n\n if (this.type === 'encrypt')\n this._encrypt(state, l, r, state.tmp, 0);\n else\n this._decrypt(state, l, r, state.tmp, 0);\n\n l = state.tmp[0];\n r = state.tmp[1];\n\n utils.writeUInt32BE(out, l, outOff);\n utils.writeUInt32BE(out, r, outOff + 4);\n};\n\nDES.prototype._pad = function _pad(buffer, off) {\n var value = buffer.length - off;\n for (var i = off; i < buffer.length; i++)\n buffer[i] = value;\n\n return true;\n};\n\nDES.prototype._unpad = function _unpad(buffer) {\n var pad = buffer[buffer.length - 1];\n for (var i = buffer.length - pad; i < buffer.length; i++)\n assert.equal(buffer[i], pad);\n\n return buffer.slice(0, buffer.length - pad);\n};\n\nDES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {\n var l = lStart;\n var r = rStart;\n\n // Apply f() x16 times\n for (var i = 0; i < state.keys.length; i += 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(r, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = r;\n r = (l ^ f) >>> 0;\n l = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(r, l, out, off);\n};\n\nDES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {\n var l = rStart;\n var r = lStart;\n\n // Apply f() x16 times\n for (var i = state.keys.length - 2; i >= 0; i -= 2) {\n var keyL = state.keys[i];\n var keyR = state.keys[i + 1];\n\n // f(r, k)\n utils.expand(l, state.tmp, 0);\n\n keyL ^= state.tmp[0];\n keyR ^= state.tmp[1];\n var s = utils.substitute(keyL, keyR);\n var f = utils.permute(s);\n\n var t = l;\n l = (r ^ f) >>> 0;\n r = t;\n }\n\n // Reverse Initial Permutation\n utils.rip(l, r, out, off);\n};\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nvar Cipher = require('./cipher');\nvar DES = require('./des');\n\nfunction EDEState(type, key) {\n assert.equal(key.length, 24, 'Invalid key length');\n\n var k1 = key.slice(0, 8);\n var k2 = key.slice(8, 16);\n var k3 = key.slice(16, 24);\n\n if (type === 'encrypt') {\n this.ciphers = [\n DES.create({ type: 'encrypt', key: k1 }),\n DES.create({ type: 'decrypt', key: k2 }),\n DES.create({ type: 'encrypt', key: k3 })\n ];\n } else {\n this.ciphers = [\n DES.create({ type: 'decrypt', key: k3 }),\n DES.create({ type: 'encrypt', key: k2 }),\n DES.create({ type: 'decrypt', key: k1 })\n ];\n }\n}\n\nfunction EDE(options) {\n Cipher.call(this, options);\n\n var state = new EDEState(this.type, this.options.key);\n this._edeState = state;\n}\ninherits(EDE, Cipher);\n\nmodule.exports = EDE;\n\nEDE.create = function create(options) {\n return new EDE(options);\n};\n\nEDE.prototype._update = function _update(inp, inOff, out, outOff) {\n var state = this._edeState;\n\n state.ciphers[0]._update(inp, inOff, out, outOff);\n state.ciphers[1]._update(out, outOff, out, outOff);\n state.ciphers[2]._update(out, outOff, out, outOff);\n};\n\nEDE.prototype._pad = DES.prototype._pad;\nEDE.prototype._unpad = DES.prototype._unpad;\n","'use strict';\n\nexports.readUInt32BE = function readUInt32BE(bytes, off) {\n var res = (bytes[0 + off] << 24) |\n (bytes[1 + off] << 16) |\n (bytes[2 + off] << 8) |\n bytes[3 + off];\n return res >>> 0;\n};\n\nexports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {\n bytes[0 + off] = value >>> 24;\n bytes[1 + off] = (value >>> 16) & 0xff;\n bytes[2 + off] = (value >>> 8) & 0xff;\n bytes[3 + off] = value & 0xff;\n};\n\nexports.ip = function ip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n\n for (var i = 6; i >= 0; i -= 2) {\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n }\n for (var j = 1; j <= 25; j += 8) {\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.rip = function rip(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n for (var i = 0; i < 4; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outL <<= 1;\n outL |= (inR >>> (j + i)) & 1;\n outL <<= 1;\n outL |= (inL >>> (j + i)) & 1;\n }\n }\n for (var i = 4; i < 8; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n outR <<= 1;\n outR |= (inR >>> (j + i)) & 1;\n outR <<= 1;\n outR |= (inL >>> (j + i)) & 1;\n }\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.pc1 = function pc1(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n // 7, 15, 23, 31, 39, 47, 55, 63\n // 6, 14, 22, 30, 39, 47, 55, 63\n // 5, 13, 21, 29, 39, 47, 55, 63\n // 4, 12, 20, 28\n for (var i = 7; i >= 5; i--) {\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outL <<= 1;\n outL |= (inR >> (j + i)) & 1;\n }\n\n // 1, 9, 17, 25, 33, 41, 49, 57\n // 2, 10, 18, 26, 34, 42, 50, 58\n // 3, 11, 19, 27, 35, 43, 51, 59\n // 36, 44, 52, 60\n for (var i = 1; i <= 3; i++) {\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inR >> (j + i)) & 1;\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n }\n for (var j = 0; j <= 24; j += 8) {\n outR <<= 1;\n outR |= (inL >> (j + i)) & 1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.r28shl = function r28shl(num, shift) {\n return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));\n};\n\nvar pc2table = [\n // inL => outL\n 14, 11, 17, 4, 27, 23, 25, 0,\n 13, 22, 7, 18, 5, 9, 16, 24,\n 2, 20, 12, 21, 1, 8, 15, 26,\n\n // inR => outR\n 15, 4, 25, 19, 9, 1, 26, 16,\n 5, 11, 23, 8, 12, 7, 17, 0,\n 22, 3, 10, 14, 6, 20, 27, 24\n];\n\nexports.pc2 = function pc2(inL, inR, out, off) {\n var outL = 0;\n var outR = 0;\n\n var len = pc2table.length >>> 1;\n for (var i = 0; i < len; i++) {\n outL <<= 1;\n outL |= (inL >>> pc2table[i]) & 0x1;\n }\n for (var i = len; i < pc2table.length; i++) {\n outR <<= 1;\n outR |= (inR >>> pc2table[i]) & 0x1;\n }\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nexports.expand = function expand(r, out, off) {\n var outL = 0;\n var outR = 0;\n\n outL = ((r & 1) << 5) | (r >>> 27);\n for (var i = 23; i >= 15; i -= 4) {\n outL <<= 6;\n outL |= (r >>> i) & 0x3f;\n }\n for (var i = 11; i >= 3; i -= 4) {\n outR |= (r >>> i) & 0x3f;\n outR <<= 6;\n }\n outR |= ((r & 0x1f) << 1) | (r >>> 31);\n\n out[off + 0] = outL >>> 0;\n out[off + 1] = outR >>> 0;\n};\n\nvar sTable = [\n 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,\n 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,\n 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,\n 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,\n\n 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,\n 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,\n 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,\n 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,\n\n 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,\n 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,\n 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,\n 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,\n\n 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,\n 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,\n 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,\n 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,\n\n 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,\n 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,\n 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,\n 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,\n\n 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,\n 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,\n 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,\n 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,\n\n 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,\n 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,\n 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,\n 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,\n\n 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,\n 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,\n 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,\n 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11\n];\n\nexports.substitute = function substitute(inL, inR) {\n var out = 0;\n for (var i = 0; i < 4; i++) {\n var b = (inL >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n for (var i = 0; i < 4; i++) {\n var b = (inR >>> (18 - i * 6)) & 0x3f;\n var sb = sTable[4 * 0x40 + i * 0x40 + b];\n\n out <<= 4;\n out |= sb;\n }\n return out >>> 0;\n};\n\nvar permuteTable = [\n 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,\n 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7\n];\n\nexports.permute = function permute(num) {\n var out = 0;\n for (var i = 0; i < permuteTable.length; i++) {\n out <<= 1;\n out |= (num >>> permuteTable[i]) & 0x1;\n }\n return out >>> 0;\n};\n\nexports.padSplit = function padSplit(num, size, group) {\n var str = num.toString(2);\n while (str.length < size)\n str = '0' + str;\n\n var out = [];\n for (var i = 0; i < size; i += group)\n out.push(str.slice(i, i + group));\n return out.join(' ');\n};\n","var generatePrime = require('./lib/generatePrime')\nvar primes = require('./lib/primes.json')\n\nvar DH = require('./lib/dh')\n\nfunction getDiffieHellman (mod) {\n var prime = new Buffer(primes[mod].prime, 'hex')\n var gen = new Buffer(primes[mod].gen, 'hex')\n\n return new DH(prime, gen)\n}\n\nvar ENCODINGS = {\n 'binary': true, 'hex': true, 'base64': true\n}\n\nfunction createDiffieHellman (prime, enc, generator, genc) {\n if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {\n return createDiffieHellman(prime, 'binary', enc, generator)\n }\n\n enc = enc || 'binary'\n genc = genc || 'binary'\n generator = generator || new Buffer([2])\n\n if (!Buffer.isBuffer(generator)) {\n generator = new Buffer(generator, genc)\n }\n\n if (typeof prime === 'number') {\n return new DH(generatePrime(prime, generator), generator, true)\n }\n\n if (!Buffer.isBuffer(prime)) {\n prime = new Buffer(prime, enc)\n }\n\n return new DH(prime, generator, true)\n}\n\nexports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman\nexports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman\n","var BN = require('bn.js');\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar TWENTYFOUR = new BN(24);\nvar ELEVEN = new BN(11);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar primes = require('./generatePrime');\nvar randomBytes = require('randombytes');\nmodule.exports = DH;\n\nfunction setPublicKey(pub, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(pub)) {\n pub = new Buffer(pub, enc);\n }\n this._pub = new BN(pub);\n return this;\n}\n\nfunction setPrivateKey(priv, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(priv)) {\n priv = new Buffer(priv, enc);\n }\n this._priv = new BN(priv);\n return this;\n}\n\nvar primeCache = {};\nfunction checkPrime(prime, generator) {\n var gen = generator.toString('hex');\n var hex = [gen, prime.toString(16)].join('_');\n if (hex in primeCache) {\n return primeCache[hex];\n }\n var error = 0;\n\n if (prime.isEven() ||\n !primes.simpleSieve ||\n !primes.fermatTest(prime) ||\n !millerRabin.test(prime)) {\n //not a prime so +1\n error += 1;\n\n if (gen === '02' || gen === '05') {\n // we'd be able to check the generator\n // it would fail so +8\n error += 8;\n } else {\n //we wouldn't be able to test the generator\n // so +4\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n }\n if (!millerRabin.test(prime.shrn(1))) {\n //not a safe prime\n error += 2;\n }\n var rem;\n switch (gen) {\n case '02':\n if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {\n // unsuidable generator\n error += 8;\n }\n break;\n case '05':\n rem = prime.mod(TEN);\n if (rem.cmp(THREE) && rem.cmp(SEVEN)) {\n // prime mod 10 needs to equal 3 or 7\n error += 8;\n }\n break;\n default:\n error += 4;\n }\n primeCache[hex] = error;\n return error;\n}\n\nfunction DH(prime, generator, malleable) {\n this.setGenerator(generator);\n this.__prime = new BN(prime);\n this._prime = BN.mont(this.__prime);\n this._primeLen = prime.length;\n this._pub = undefined;\n this._priv = undefined;\n this._primeCode = undefined;\n if (malleable) {\n this.setPublicKey = setPublicKey;\n this.setPrivateKey = setPrivateKey;\n } else {\n this._primeCode = 8;\n }\n}\nObject.defineProperty(DH.prototype, 'verifyError', {\n enumerable: true,\n get: function () {\n if (typeof this._primeCode !== 'number') {\n this._primeCode = checkPrime(this.__prime, this.__gen);\n }\n return this._primeCode;\n }\n});\nDH.prototype.generateKeys = function () {\n if (!this._priv) {\n this._priv = new BN(randomBytes(this._primeLen));\n }\n this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();\n return this.getPublicKey();\n};\n\nDH.prototype.computeSecret = function (other) {\n other = new BN(other);\n other = other.toRed(this._prime);\n var secret = other.redPow(this._priv).fromRed();\n var out = new Buffer(secret.toArray());\n var prime = this.getPrime();\n if (out.length < prime.length) {\n var front = new Buffer(prime.length - out.length);\n front.fill(0);\n out = Buffer.concat([front, out]);\n }\n return out;\n};\n\nDH.prototype.getPublicKey = function getPublicKey(enc) {\n return formatReturnValue(this._pub, enc);\n};\n\nDH.prototype.getPrivateKey = function getPrivateKey(enc) {\n return formatReturnValue(this._priv, enc);\n};\n\nDH.prototype.getPrime = function (enc) {\n return formatReturnValue(this.__prime, enc);\n};\n\nDH.prototype.getGenerator = function (enc) {\n return formatReturnValue(this._gen, enc);\n};\n\nDH.prototype.setGenerator = function (gen, enc) {\n enc = enc || 'utf8';\n if (!Buffer.isBuffer(gen)) {\n gen = new Buffer(gen, enc);\n }\n this.__gen = gen;\n this._gen = new BN(gen);\n return this;\n};\n\nfunction formatReturnValue(bn, enc) {\n var buf = new Buffer(bn.toArray());\n if (!enc) {\n return buf;\n } else {\n return buf.toString(enc);\n }\n}\n","var randomBytes = require('randombytes');\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\nvar BN = require('bn.js');\nvar TWENTYFOUR = new BN(24);\nvar MillerRabin = require('miller-rabin');\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null)\n return primes;\n\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n for (var j = 0; j < i && res[j] <= sqrt; j++)\n if (k % res[j] === 0)\n break;\n\n if (i !== j && res[j] <= sqrt)\n continue;\n\n res[i++] = k;\n }\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++)\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n gen = new BN(gen);\n\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n if (num.isEven()) {\n num.iadd(ONE);\n }\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n n2 = num.shrn(1);\n if (simpleSieve(n2) && simpleSieve(num) &&\n fermatTest(n2) && fermatTest(num) &&\n millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n\n}\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","var bn = require('bn.js');\nvar brorand = require('brorand');\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8);\n\n // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n do\n var a = new bn(this.rand.generate(min_bytes));\n while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n var prime = true;\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n if (cb)\n cb(a);\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return false;\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s)\n return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n\n if (!k)\n k = Math.max(1, (len / 48) | 0);\n\n // Find d and s, (n - 1) = (2 ^ s) * d;\n var n1 = n.subn(1);\n for (var s = 0; !n1.testn(s); s++) {}\n var d = n.shrn(s);\n\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0)\n return g;\n\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)\n continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n\n if (x.cmp(rone) === 0)\n return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0)\n break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","/**\n * otplib\n *\n * @author Gerald Yeo \n * @version: 12.0.1\n * @license: MIT\n **/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar presetDefault = require('@otplib/preset-default');\n\n\n\nObject.keys(presetDefault).forEach(function (k) {\n\tif (k !== 'default') Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () {\n\t\t\treturn presetDefault[k];\n\t\t}\n\t});\n});\n","// from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js\n// Fedor, you are amazing.\n'use strict'\n\nvar asn1 = require('asn1.js')\n\nexports.certificate = require('./certificate')\n\nvar RSAPrivateKey = asn1.define('RSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('modulus').int(),\n this.key('publicExponent').int(),\n this.key('privateExponent').int(),\n this.key('prime1').int(),\n this.key('prime2').int(),\n this.key('exponent1').int(),\n this.key('exponent2').int(),\n this.key('coefficient').int()\n )\n})\nexports.RSAPrivateKey = RSAPrivateKey\n\nvar RSAPublicKey = asn1.define('RSAPublicKey', function () {\n this.seq().obj(\n this.key('modulus').int(),\n this.key('publicExponent').int()\n )\n})\nexports.RSAPublicKey = RSAPublicKey\n\nvar PublicKey = asn1.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\nexports.PublicKey = PublicKey\n\nvar AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('none').null_().optional(),\n this.key('curve').objid().optional(),\n this.key('params').seq().obj(\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int()\n ).optional()\n )\n})\n\nvar PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPrivateKey').octstr()\n )\n})\nexports.PrivateKey = PrivateKeyInfo\nvar EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').seq().obj(\n this.key('id').objid(),\n this.key('decrypt').seq().obj(\n this.key('kde').seq().obj(\n this.key('id').objid(),\n this.key('kdeparams').seq().obj(\n this.key('salt').octstr(),\n this.key('iters').int()\n )\n ),\n this.key('cipher').seq().obj(\n this.key('algo').objid(),\n this.key('iv').octstr()\n )\n )\n ),\n this.key('subjectPrivateKey').octstr()\n )\n})\n\nexports.EncryptedPrivateKey = EncryptedPrivateKeyInfo\n\nvar DSAPrivateKey = asn1.define('DSAPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('p').int(),\n this.key('q').int(),\n this.key('g').int(),\n this.key('pub_key').int(),\n this.key('priv_key').int()\n )\n})\nexports.DSAPrivateKey = DSAPrivateKey\n\nexports.DSAparam = asn1.define('DSAparam', function () {\n this.int()\n})\n\nvar ECPrivateKey = asn1.define('ECPrivateKey', function () {\n this.seq().obj(\n this.key('version').int(),\n this.key('privateKey').octstr(),\n this.key('parameters').optional().explicit(0).use(ECParameters),\n this.key('publicKey').optional().explicit(1).bitstr()\n )\n})\nexports.ECPrivateKey = ECPrivateKey\n\nvar ECParameters = asn1.define('ECParameters', function () {\n this.choice({\n namedCurve: this.objid()\n })\n})\n\nexports.signature = asn1.define('signature', function () {\n this.seq().obj(\n this.key('r').int(),\n this.key('s').int()\n )\n})\n","// from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js\n// thanks to @Rantanen\n\n'use strict'\n\nvar asn = require('asn1.js')\n\nvar Time = asn.define('Time', function () {\n this.choice({\n utcTime: this.utctime(),\n generalTime: this.gentime()\n })\n})\n\nvar AttributeTypeValue = asn.define('AttributeTypeValue', function () {\n this.seq().obj(\n this.key('type').objid(),\n this.key('value').any()\n )\n})\n\nvar AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {\n this.seq().obj(\n this.key('algorithm').objid(),\n this.key('parameters').optional(),\n this.key('curve').objid().optional()\n )\n})\n\nvar SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {\n this.seq().obj(\n this.key('algorithm').use(AlgorithmIdentifier),\n this.key('subjectPublicKey').bitstr()\n )\n})\n\nvar RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {\n this.setof(AttributeTypeValue)\n})\n\nvar RDNSequence = asn.define('RDNSequence', function () {\n this.seqof(RelativeDistinguishedName)\n})\n\nvar Name = asn.define('Name', function () {\n this.choice({\n rdnSequence: this.use(RDNSequence)\n })\n})\n\nvar Validity = asn.define('Validity', function () {\n this.seq().obj(\n this.key('notBefore').use(Time),\n this.key('notAfter').use(Time)\n )\n})\n\nvar Extension = asn.define('Extension', function () {\n this.seq().obj(\n this.key('extnID').objid(),\n this.key('critical').bool().def(false),\n this.key('extnValue').octstr()\n )\n})\n\nvar TBSCertificate = asn.define('TBSCertificate', function () {\n this.seq().obj(\n this.key('version').explicit(0).int().optional(),\n this.key('serialNumber').int(),\n this.key('signature').use(AlgorithmIdentifier),\n this.key('issuer').use(Name),\n this.key('validity').use(Validity),\n this.key('subject').use(Name),\n this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),\n this.key('issuerUniqueID').implicit(1).bitstr().optional(),\n this.key('subjectUniqueID').implicit(2).bitstr().optional(),\n this.key('extensions').explicit(3).seqof(Extension).optional()\n )\n})\n\nvar X509Certificate = asn.define('X509Certificate', function () {\n this.seq().obj(\n this.key('tbsCertificate').use(TBSCertificate),\n this.key('signatureAlgorithm').use(AlgorithmIdentifier),\n this.key('signatureValue').bitstr()\n )\n})\n\nmodule.exports = X509Certificate\n","// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n","var asn1 = require('./asn1')\nvar aesid = require('./aesid.json')\nvar fixProc = require('./fixProc')\nvar ciphers = require('browserify-aes')\nvar compat = require('pbkdf2')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = parseKeys\n\nfunction parseKeys (buffer) {\n var password\n if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {\n password = buffer.passphrase\n buffer = buffer.key\n }\n if (typeof buffer === 'string') {\n buffer = Buffer.from(buffer)\n }\n\n var stripped = fixProc(buffer, password)\n\n var type = stripped.tag\n var data = stripped.data\n var subtype, ndata\n switch (type) {\n case 'CERTIFICATE':\n ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo\n // falls through\n case 'PUBLIC KEY':\n if (!ndata) {\n ndata = asn1.PublicKey.decode(data, 'der')\n }\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')\n case '1.2.840.10045.2.1':\n ndata.subjectPrivateKey = ndata.subjectPublicKey\n return {\n type: 'ec',\n data: ndata\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')\n return {\n type: 'dsa',\n data: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'ENCRYPTED PRIVATE KEY':\n data = asn1.EncryptedPrivateKey.decode(data, 'der')\n data = decrypt(data, password)\n // falls through\n case 'PRIVATE KEY':\n ndata = asn1.PrivateKey.decode(data, 'der')\n subtype = ndata.algorithm.algorithm.join('.')\n switch (subtype) {\n case '1.2.840.113549.1.1.1':\n return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')\n case '1.2.840.10045.2.1':\n return {\n curve: ndata.algorithm.curve,\n privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey\n }\n case '1.2.840.10040.4.1':\n ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')\n return {\n type: 'dsa',\n params: ndata.algorithm.params\n }\n default: throw new Error('unknown key id ' + subtype)\n }\n // throw new Error('unknown key type ' + type)\n case 'RSA PUBLIC KEY':\n return asn1.RSAPublicKey.decode(data, 'der')\n case 'RSA PRIVATE KEY':\n return asn1.RSAPrivateKey.decode(data, 'der')\n case 'DSA PRIVATE KEY':\n return {\n type: 'dsa',\n params: asn1.DSAPrivateKey.decode(data, 'der')\n }\n case 'EC PRIVATE KEY':\n data = asn1.ECPrivateKey.decode(data, 'der')\n return {\n curve: data.parameters.value,\n privateKey: data.privateKey\n }\n default: throw new Error('unknown key type ' + type)\n }\n}\nparseKeys.signature = asn1.signature\nfunction decrypt (data, password) {\n var salt = data.algorithm.decrypt.kde.kdeparams.salt\n var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)\n var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]\n var iv = data.algorithm.decrypt.cipher.iv\n var cipherText = data.subjectPrivateKey\n var keylen = parseInt(algo.split('-')[1], 10) / 8\n var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')\n var cipher = ciphers.createDecipheriv(algo, key, iv)\n var out = []\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n return Buffer.concat(out)\n}\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","exports.publicEncrypt = require('./publicEncrypt')\nexports.privateDecrypt = require('./privateDecrypt')\n\nexports.privateEncrypt = function privateEncrypt (key, buf) {\n return exports.publicEncrypt(key, buf, true)\n}\n\nexports.publicDecrypt = function publicDecrypt (key, buf) {\n return exports.privateDecrypt(key, buf, true)\n}\n","var createHash = require('create-hash')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0)\n var i = 0\n var c\n while (t.length < len) {\n c = i2ops(i++)\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])\n }\n return t.slice(0, len)\n}\n\nfunction i2ops (c) {\n var out = Buffer.allocUnsafe(4)\n out.writeUInt32BE(c, 0)\n return out\n}\n","var parseKeys = require('parse-asn1')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar crt = require('browserify-rsa')\nvar createHash = require('create-hash')\nvar withPublic = require('./withPublic')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function privateDecrypt (privateKey, enc, reverse) {\n var padding\n if (privateKey.padding) {\n padding = privateKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n\n var key = parseKeys(privateKey)\n var k = key.modulus.byteLength()\n if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {\n throw new Error('decryption error')\n }\n var msg\n if (reverse) {\n msg = withPublic(new BN(enc), key)\n } else {\n msg = crt(enc, key)\n }\n var zBuffer = Buffer.alloc(k - msg.length)\n msg = Buffer.concat([zBuffer, msg], k)\n if (padding === 4) {\n return oaep(key, msg)\n } else if (padding === 1) {\n return pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n return msg\n } else {\n throw new Error('unknown padding')\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n if (msg[0] !== 0) {\n throw new Error('decryption error')\n }\n var maskedSeed = msg.slice(1, hLen + 1)\n var maskedDb = msg.slice(hLen + 1)\n var seed = xor(maskedSeed, mgf(maskedDb, hLen))\n var db = xor(maskedDb, mgf(seed, k - hLen - 1))\n if (compare(iHash, db.slice(0, hLen))) {\n throw new Error('decryption error')\n }\n var i = hLen\n while (db[i] === 0) {\n i++\n }\n if (db[i++] !== 1) {\n throw new Error('decryption error')\n }\n return db.slice(i)\n}\n\nfunction pkcs1 (key, msg, reverse) {\n var p1 = msg.slice(0, 2)\n var i = 2\n var status = 0\n while (msg[i++] !== 0) {\n if (i >= msg.length) {\n status++\n break\n }\n }\n var ps = msg.slice(2, i - 1)\n\n if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {\n status++\n }\n if (ps.length < 8) {\n status++\n }\n if (status) {\n throw new Error('decryption error')\n }\n return msg.slice(i)\n}\nfunction compare (a, b) {\n a = Buffer.from(a)\n b = Buffer.from(b)\n var dif = 0\n var len = a.length\n if (a.length !== b.length) {\n dif++\n len = Math.min(a.length, b.length)\n }\n var i = -1\n while (++i < len) {\n dif += (a[i] ^ b[i])\n }\n return dif\n}\n","var parseKeys = require('parse-asn1')\nvar randomBytes = require('randombytes')\nvar createHash = require('create-hash')\nvar mgf = require('./mgf')\nvar xor = require('./xor')\nvar BN = require('bn.js')\nvar withPublic = require('./withPublic')\nvar crt = require('browserify-rsa')\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function publicEncrypt (publicKey, msg, reverse) {\n var padding\n if (publicKey.padding) {\n padding = publicKey.padding\n } else if (reverse) {\n padding = 1\n } else {\n padding = 4\n }\n var key = parseKeys(publicKey)\n var paddedMsg\n if (padding === 4) {\n paddedMsg = oaep(key, msg)\n } else if (padding === 1) {\n paddedMsg = pkcs1(key, msg, reverse)\n } else if (padding === 3) {\n paddedMsg = new BN(msg)\n if (paddedMsg.cmp(key.modulus) >= 0) {\n throw new Error('data too long for modulus')\n }\n } else {\n throw new Error('unknown padding')\n }\n if (reverse) {\n return crt(paddedMsg, key)\n } else {\n return withPublic(paddedMsg, key)\n }\n}\n\nfunction oaep (key, msg) {\n var k = key.modulus.byteLength()\n var mLen = msg.length\n var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()\n var hLen = iHash.length\n var hLen2 = 2 * hLen\n if (mLen > k - hLen2 - 2) {\n throw new Error('message too long')\n }\n var ps = Buffer.alloc(k - mLen - hLen2 - 2)\n var dblen = k - hLen - 1\n var seed = randomBytes(hLen)\n var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))\n var maskedSeed = xor(seed, mgf(maskedDb, hLen))\n return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))\n}\nfunction pkcs1 (key, msg, reverse) {\n var mLen = msg.length\n var k = key.modulus.byteLength()\n if (mLen > k - 11) {\n throw new Error('message too long')\n }\n var ps\n if (reverse) {\n ps = Buffer.alloc(k - mLen - 3, 0xff)\n } else {\n ps = nonZero(k - mLen - 3)\n }\n return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))\n}\nfunction nonZero (len) {\n var out = Buffer.allocUnsafe(len)\n var i = 0\n var cache = randomBytes(len * 2)\n var cur = 0\n var num\n while (i < len) {\n if (cur === cache.length) {\n cache = randomBytes(len * 2)\n cur = 0\n }\n num = cache[cur++]\n if (num) {\n out[i++] = num\n }\n }\n return out\n}\n","var BN = require('bn.js')\nvar Buffer = require('safe-buffer').Buffer\n\nfunction withPublic (paddedMsg, key) {\n return Buffer.from(paddedMsg\n .toRed(BN.mont(key.modulus))\n .redPow(new BN(key.publicExponent))\n .fromRed()\n .toArray())\n}\n\nmodule.exports = withPublic\n","module.exports = function xor (a, b) {\n var len = a.length\n var i = -1\n while (++i < len) {\n a[i] ^= b[i]\n }\n return a\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\nvar safeBuffer = require('safe-buffer')\nvar randombytes = require('randombytes')\nvar Buffer = safeBuffer.Buffer\nvar kBufferMaxLength = safeBuffer.kMaxLength\nvar crypto = global.crypto || global.msCrypto\nvar kMaxUint32 = Math.pow(2, 32) - 1\nfunction assertOffset (offset, length) {\n if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare\n throw new TypeError('offset must be a number')\n }\n\n if (offset > kMaxUint32 || offset < 0) {\n throw new TypeError('offset must be a uint32')\n }\n\n if (offset > kBufferMaxLength || offset > length) {\n throw new RangeError('offset out of range')\n }\n}\n\nfunction assertSize (size, offset, length) {\n if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare\n throw new TypeError('size must be a number')\n }\n\n if (size > kMaxUint32 || size < 0) {\n throw new TypeError('size must be a uint32')\n }\n\n if (size + offset > length || size > kBufferMaxLength) {\n throw new RangeError('buffer too small')\n }\n}\nif ((crypto && crypto.getRandomValues) || !process.browser) {\n exports.randomFill = randomFill\n exports.randomFillSync = randomFillSync\n} else {\n exports.randomFill = oldBrowser\n exports.randomFillSync = oldBrowser\n}\nfunction randomFill (buf, offset, size, cb) {\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n if (typeof offset === 'function') {\n cb = offset\n offset = 0\n size = buf.length\n } else if (typeof size === 'function') {\n cb = size\n size = buf.length - offset\n } else if (typeof cb !== 'function') {\n throw new TypeError('\"cb\" argument must be a function')\n }\n assertOffset(offset, buf.length)\n assertSize(size, offset, buf.length)\n return actualFill(buf, offset, size, cb)\n}\n\nfunction actualFill (buf, offset, size, cb) {\n if (process.browser) {\n var ourBuf = buf.buffer\n var uint = new Uint8Array(ourBuf, offset, size)\n crypto.getRandomValues(uint)\n if (cb) {\n process.nextTick(function () {\n cb(null, buf)\n })\n return\n }\n return buf\n }\n if (cb) {\n randombytes(size, function (err, bytes) {\n if (err) {\n return cb(err)\n }\n bytes.copy(buf, offset)\n cb(null, buf)\n })\n return\n }\n var bytes = randombytes(size)\n bytes.copy(buf, offset)\n return buf\n}\nfunction randomFillSync (buf, offset, size) {\n if (typeof offset === 'undefined') {\n offset = 0\n }\n if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {\n throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')\n }\n\n assertOffset(offset, buf.length)\n\n if (size === undefined) size = buf.length - offset\n\n assertSize(size, offset, buf.length)\n\n return actualFill(buf, offset, size)\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","import { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class ReplaySubject extends Subject {\n constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider) {\n super();\n this._bufferSize = _bufferSize;\n this._windowTime = _windowTime;\n this._timestampProvider = _timestampProvider;\n this._buffer = [];\n this._infiniteTimeWindow = true;\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n next(value) {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n const subscription = this._innerSubscribe(subscriber);\n const { _infiniteTimeWindow, _buffer } = this;\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n }\n _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._subject = null;\n this._refCount = 0;\n this._connection = null;\n if (hasLift(source)) {\n this.lift = source.lift;\n }\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n _teardown() {\n this._refCount = 0;\n const { _connection } = this;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n const subject = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject, undefined, () => {\n this._teardown();\n subject.complete();\n }, (err) => {\n this._teardown();\n subject.error(err);\n }, () => this._teardown())));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => createObject(keys, values)\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n maybeSchedule(scheduler, () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n let remainingFirstValues = length;\n for (let i = 0; i < length; i++) {\n maybeSchedule(scheduler, () => {\n const source = from(observables[i], scheduler);\n let hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, () => {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat(...args) {\n return concatAll()(from(args, popScheduler(args)));\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin(...args) {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, () => remainingCompletions--, undefined, () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable((subscriber) => {\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nexport function throwError(errorOrErrorFactory, scheduler) {\n const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;\n const init = (subscriber) => subscriber.error(errorFactory());\n return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);\n}\n","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = asyncScheduler) {\n return audit(() => timer(duration, scheduler));\n}\n","import { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function audit(durationSelector) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n let durationSubscriber = null;\n let isComplete = false;\n const endDuration = () => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n isComplete && subscriber.complete();\n };\n const cleanupDuration = () => {\n durationSubscriber = null;\n isComplete && subscriber.complete();\n };\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n lastValue = value;\n if (!durationSubscriber) {\n innerFrom(durationSelector(value)).subscribe((durationSubscriber = createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));\n }\n }, () => {\n isComplete = true;\n (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();\n }));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, noop));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from './map';\nexport function mapTo(value) {\n return map(() => value);\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n const buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n let innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, () => {\n innerComplete = true;\n }, undefined, () => {\n if (innerComplete) {\n try {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));\n }\n else {\n doInnerSub(bufferedValue);\n }\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate((source, subscriber) => {\n let connection = null;\n source._refCount++;\n const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n const sharedConnection = source._connection;\n const conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n","import { createOperatorSubscriber } from './OperatorSubscriber';\nexport function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return (source, subscriber) => {\n let hasState = hasSeed;\n let state = seed;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, emitBeforeComplete &&\n (() => {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\n","import { operate } from '../util/lift';\nimport { scanInternals } from './scanInternals';\nexport function scan(accumulator, seed) {\n return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options = {}) {\n const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;\n return (wrapperSource) => {\n let connection;\n let resetConnection;\n let subject;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n const reset = () => {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: (value) => dest.next(value),\n error: (err) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on, ...args) {\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n const onSubscriber = new SafeSubscriber({\n next: () => {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return on(...args).subscribe(onSubscriber);\n}\n","import { filter } from './filter';\nexport function skip(count) {\n return filter((_, index) => count <= index);\n}\n","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error, complete }\n : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n let isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, () => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, (err) => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n});\nexport function timeout(config, schedulerArg) {\n const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate((source, subscriber) => {\n let originalSourceSubscription;\n let timerSubscription;\n let lastValue = null;\n let seen = 0;\n const startTimer = (delay) => {\n timerSubscription = executeSchedule(subscriber, scheduler, () => {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta,\n lastValue,\n seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, () => {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, noop));\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { Immediate } from '../util/Immediate';\nconst { setImmediate, clearImmediate } = Immediate;\nexport const immediateProvider = {\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n immediateProvider.clearImmediate(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nexport class QueueAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n execute(state, delay) {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.flush(this);\n return 0;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport const queueScheduler = new QueueScheduler(QueueAction);\nexport const queue = queueScheduler;\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","import { createErrorClass } from './createErrorClass';\nexport const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","export function identity(x) {\n return x;\n}\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n if (!buffer.hasOwnProperty(key)) continue\n if (key === 'SlowBuffer' || key === 'Buffer') continue\n safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n if (!Buffer.hasOwnProperty(key)) continue\n if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n Safer.from = function (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n }\n if (value && typeof value.length === 'undefined') {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n }\n return Buffer(value, encodingOrOffset, length)\n }\n}\n\nif (!Safer.alloc) {\n Safer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n }\n if (size < 0 || size >= 2 * (1 << 30)) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n var buf = Buffer(size)\n if (!fill || fill.length === 0) {\n buf.fill(0)\n } else if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n return buf\n }\n}\n\nif (!safer.kStringMaxLength) {\n try {\n safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n } catch (e) {\n // we can't determine kStringMaxLength in environments where process.binding\n // is unsupported, so let's not set it\n }\n}\n\nif (!safer.constants) {\n safer.constants = {\n MAX_LENGTH: safer.kMaxLength\n }\n if (safer.kStringMaxLength) {\n safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n }\n}\n\nmodule.exports = safer\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","!function(globals) {\n'use strict'\n\nvar _imports = {}\n\nif (typeof module !== 'undefined' && module.exports) { //CommonJS\n _imports.bytesToHex = require('convert-hex').bytesToHex\n _imports.convertString = require('convert-string')\n module.exports = sha256\n} else {\n _imports.bytesToHex = globals.convertHex.bytesToHex\n _imports.convertString = globals.convertString\n globals.sha256 = sha256\n}\n\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n\n// Initialization round constants tables\nvar K = []\n\n// Compute constants\n!function () {\n function isPrime(n) {\n var sqrtN = Math.sqrt(n);\n for (var factor = 2; factor <= sqrtN; factor++) {\n if (!(n % factor)) return false\n }\n\n return true\n }\n\n function getFractionalBits(n) {\n return ((n - (n | 0)) * 0x100000000) | 0\n }\n\n var n = 2\n var nPrime = 0\n while (nPrime < 64) {\n if (isPrime(n)) {\n K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3))\n nPrime++\n }\n\n n++\n }\n}()\n\nvar bytesToWords = function (bytes) {\n var words = []\n for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {\n words[b >>> 5] |= bytes[i] << (24 - b % 32)\n }\n return words\n}\n\nvar wordsToBytes = function (words) {\n var bytes = []\n for (var b = 0; b < words.length * 32; b += 8) {\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)\n }\n return bytes\n}\n\n// Reusable object\nvar W = []\n\nvar processBlock = function (H, M, offset) {\n // Working variables\n var a = H[0], b = H[1], c = H[2], d = H[3]\n var e = H[4], f = H[5], g = H[6], h = H[7]\n\n // Computation\n for (var i = 0; i < 64; i++) {\n if (i < 16) {\n W[i] = M[offset + i] | 0\n } else {\n var gamma0x = W[i - 15]\n var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n ((gamma0x << 14) | (gamma0x >>> 18)) ^\n (gamma0x >>> 3)\n\n var gamma1x = W[i - 2];\n var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n ((gamma1x << 13) | (gamma1x >>> 19)) ^\n (gamma1x >>> 10)\n\n W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n }\n\n var ch = (e & f) ^ (~e & g);\n var maj = (a & b) ^ (a & c) ^ (b & c);\n\n var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n var t1 = h + sigma1 + ch + K[i] + W[i];\n var t2 = sigma0 + maj;\n\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n\n // Intermediate hash value\n H[0] = (H[0] + a) | 0;\n H[1] = (H[1] + b) | 0;\n H[2] = (H[2] + c) | 0;\n H[3] = (H[3] + d) | 0;\n H[4] = (H[4] + e) | 0;\n H[5] = (H[5] + f) | 0;\n H[6] = (H[6] + g) | 0;\n H[7] = (H[7] + h) | 0;\n}\n\nfunction sha256(message, options) {;\n if (message.constructor === String) {\n message = _imports.convertString.UTF8.stringToBytes(message);\n }\n\n var H =[ 0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A,\n 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19 ];\n\n var m = bytesToWords(message);\n var l = message.length * 8;\n\n m[l >> 5] |= 0x80 << (24 - l % 32);\n m[((l + 64 >> 9) << 4) + 15] = l;\n\n for (var i=0 ; i\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/* \nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in \nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n*/\n\nvar base32 = require('./thirty-two');\n\nexports.encode = base32.encode;\nexports.decode = base32.decode;\n","/*\nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n'use strict';\n\nvar charTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nvar byteTable = [\n 0xff, 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff\n];\n\nfunction quintetCount(buff) {\n var quintets = Math.floor(buff.length / 5);\n return buff.length % 5 === 0 ? quintets: quintets + 1;\n}\n\nexports.encode = function(plain) {\n if(!Buffer.isBuffer(plain)){\n \tplain = new Buffer(plain);\n }\n var i = 0;\n var j = 0;\n var shiftIndex = 0;\n var digit = 0;\n var encoded = new Buffer(quintetCount(plain) * 8);\n\n /* byte by byte isn't as pretty as quintet by quintet but tests a bit\n faster. will have to revisit. */\n while(i < plain.length) {\n var current = plain[i];\n\n if(shiftIndex > 3) {\n digit = current & (0xff >> shiftIndex);\n shiftIndex = (shiftIndex + 5) % 8;\n digit = (digit << shiftIndex) | ((i + 1 < plain.length) ?\n plain[i + 1] : 0) >> (8 - shiftIndex);\n i++;\n } else {\n digit = (current >> (8 - (shiftIndex + 5))) & 0x1f;\n shiftIndex = (shiftIndex + 5) % 8;\n if(shiftIndex === 0) i++;\n }\n\n encoded[j] = charTable.charCodeAt(digit);\n j++;\n }\n\n for(i = j; i < encoded.length; i++) {\n encoded[i] = 0x3d; //'='.charCodeAt(0)\n }\n\n return encoded;\n};\n\nexports.decode = function(encoded) {\n var shiftIndex = 0;\n var plainDigit = 0;\n var plainChar;\n var plainPos = 0;\n if(!Buffer.isBuffer(encoded)){\n \tencoded = new Buffer(encoded);\n }\n var decoded = new Buffer(Math.ceil(encoded.length * 5 / 8));\n\n /* byte by byte isn't as pretty as octet by octet but tests a bit\n faster. will have to revisit. */\n for(var i = 0; i < encoded.length; i++) {\n \tif(encoded[i] === 0x3d){ //'='\n \t\tbreak;\n \t}\n\n var encodedByte = encoded[i] - 0x30;\n\n if(encodedByte < byteTable.length) {\n plainDigit = byteTable[encodedByte];\n\n if(shiftIndex <= 3) {\n shiftIndex = (shiftIndex + 5) % 8;\n\n if(shiftIndex === 0) {\n plainChar |= plainDigit;\n decoded[plainPos] = plainChar;\n plainPos++;\n plainChar = 0;\n } else {\n plainChar |= 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n shiftIndex = (shiftIndex + 5) % 8;\n plainChar |= 0xff & (plainDigit >>> shiftIndex);\n decoded[plainPos] = plainChar;\n plainPos++;\n\n plainChar = 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n \tthrow new Error('Invalid input - it is not base32 encoded string');\n }\n }\n\n return decoded.slice(0, plainPos);\n};\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/**\n * @license Angular v15.0.2\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the [AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* AnimationMetadataType.Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* AnimationMetadataType.Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* AnimationMetadataType.Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* AnimationMetadataType.Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* AnimationMetadataType.Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* AnimationMetadataType.State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* AnimationMetadataType.Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n *
\n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n *
\n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* AnimationMetadataType.Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* AnimationMetadataType.Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimationMetadataType.AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimationMetadataType.AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n *
\n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n *
\n *\n *
\n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n *
\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* AnimationMetadataType.Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* AnimationMetadataType.Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve().then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, APP_ID, Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document, \n /**\n * @deprecated To be turned into a required parameter.\n * @breaking-change 14.0.0\n */\n _platform) {\n this._platform = _platform;\n /** Map of all registered message elements that have been placed into the document. */\n this._messageRegistry = new Map();\n /** Container for all registered messages. */\n this._messagesContainer = null;\n /** Unique ID for the service. */\n this._id = `${nextId++}`;\n this._document = _document;\n this._id = inject(APP_ID) + '-' + nextId++;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message, this._id);\n this._messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!this._messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = this._messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (this._messagesContainer?.childNodes.length === 0) {\n this._messagesContainer.remove();\n this._messagesContainer = null;\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n this._messagesContainer?.remove();\n this._messagesContainer = null;\n this._messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement, this._id);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n this._messagesContainer.appendChild(messageElement);\n this._messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n this._messageRegistry.get(key)?.messageElement?.remove();\n this._messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (this._messagesContainer) {\n return;\n }\n const containerClassName = 'cdk-describedby-message-container';\n const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n for (let i = 0; i < serverContainers.length; i++) {\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n serverContainers[i].remove();\n }\n const messagesContainer = this._document.createElement('div');\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add(containerClassName);\n messagesContainer.classList.add('cdk-visually-hidden');\n // @breaking-change 14.0.0 Remove null check for `_platform`.\n if (this._platform && !this._platform.isBrowser) {\n messagesContainer.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(messagesContainer);\n this._messagesContainer = messagesContainer;\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = this._messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nAriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: AriaDescriber, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.Platform }]; } });\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element, serviceId) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${serviceId}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream\n .pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))\n .subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return (isPotentiallyFocusable(element) &&\n !this.isDisabled(element) &&\n (config?.ignoreVisibility || this.isVisible(element)));\n }\n}\nInteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nInteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InteractivityChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth ||\n element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return (nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea');\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return (inputType === 'text' ||\n inputType === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea');\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return (isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element));\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return (node.ownerDocument && node.ownerDocument.defaultView) || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length\n ? markers[markers.length - 1]\n : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild?.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getFirstTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getLastTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = coerceBooleanProperty(value);\n }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() {\n return this._autoCapture;\n }\n set autoCapture(value) {\n this._autoCapture = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange &&\n !autoCaptureChange.firstChange &&\n this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTrapFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusTrapManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero or `event.buttons` is zero, depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `offsetX` and `offsetY` work on Chrome, but fail on Firefox.\n // Note that there's an edge case where the user could click the 0x0 spot of the\n // screen themselves, but that is unlikely to contain interactive elements.\n return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (!!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = {\n ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n ...options,\n };\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nInputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: InputModalityDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n if (!this._currentPromise) {\n this._currentPromise = new Promise(resolve => (this._currentResolve = resolve));\n }\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n this._currentResolve();\n this._currentPromise = this._currentResolve = undefined;\n }, 100);\n return this._currentPromise;\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n this._liveElement?.remove();\n this._liveElement = null;\n this._currentResolve?.();\n this._currentPromise = this._currentResolve = undefined;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nLiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LiveAnnouncer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness, this.duration);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkAriaLive, selector: \"[cdkAriaLive]\", inputs: { politeness: [\"cdkAriaLive\", \"politeness\"], duration: [\"cdkAriaLiveDuration\", \"duration\"] }, exportAs: [\"cdkAriaLive\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkAriaLive, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }], duration: [{\n type: Input,\n args: ['cdkAriaLiveDuration']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = window.setTimeout(() => (this._windowFocused = false));\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n if (event.type === 'focus') {\n this._onFocus(event, element);\n }\n else {\n this._onBlur(event, element);\n }\n }\n };\n this._document = document;\n this._detectionMode = options?.detectionMode || 0 /* FocusMonitorDetectionMode.IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode,\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n if (this._windowFocused && this._lastFocusOrigin) {\n return this._lastFocusOrigin;\n }\n // If the interaction is coming from an input label, we consider it a mouse interactions.\n // This is a special case where focus moves on `click`, rather than `mousedown` which breaks\n // our detection, because all our assumptions are for `mousedown`. We need to handle this\n // special case, because it's very common for checkboxes and radio buttons.\n if (focusEventTarget && this._isLastInteractionFromInputLabel(focusEventTarget)) {\n return 'mouse';\n }\n return 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* FocusMonitorDetectionMode.EVENTUAL */ ||\n !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* FocusMonitorDetectionMode.IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => (this._origin = null), ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo ||\n (elementInfo.checkChildren &&\n event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo, null);\n }\n _emitOrigin(info, origin) {\n if (info.subject.observers.length) {\n this._ngZone.run(() => info.subject.next(origin));\n }\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n /**\n * Returns whether an interaction is likely to have come from the user clicking the `label` of\n * an `input` or `textarea` in order to focus it.\n * @param focusEventTarget Target currently receiving focus.\n */\n _isLastInteractionFromInputLabel(focusEventTarget) {\n const { _mostRecentTarget: mostRecentTarget, mostRecentModality } = this._inputModalityDetector;\n // If the last interaction used the mouse on an element contained by one of the labels\n // of an `input`/`textarea` that is currently focused, it is very likely that the\n // user redirected focus using the label.\n if (mostRecentModality !== 'mouse' ||\n !mostRecentTarget ||\n mostRecentTarget === focusEventTarget ||\n (focusEventTarget.nodeName !== 'INPUT' && focusEventTarget.nodeName !== 'TEXTAREA') ||\n focusEventTarget.disabled) {\n return false;\n }\n const labels = focusEventTarget.labels;\n if (labels) {\n for (let i = 0; i < labels.length; i++) {\n if (labels[i].contains(mostRecentTarget)) {\n return true;\n }\n }\n }\n return false;\n }\n}\nFocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FocusMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this._focusOrigin = null;\n this.cdkFocusChange = new EventEmitter();\n }\n get focusOrigin() {\n return this._focusOrigin;\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor\n .monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => {\n this._focusOrigin = origin;\n this.cdkFocusChange.emit(origin);\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: { cdkFocusChange: \"cdkFocusChange\" }, exportAs: [\"cdkMonitorFocus\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkMonitorFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n exportAs: 'cdkMonitorFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n this._breakpointSubscription = inject(BreakpointObserver)\n .observe('(forced-colors: active)')\n .subscribe(() => {\n if (this._hasCheckedHighContrastMode) {\n this._hasCheckedHighContrastMode = false;\n this._applyBodyHighContrastModeCssClasses();\n }\n });\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* HighContrastMode.NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle\n ? documentWindow.getComputedStyle(testElement)\n : null;\n const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n // Pre Windows 11 dark theme.\n case 'rgb(0,0,0)':\n // Windows 11 dark themes.\n case 'rgb(45,50,54)':\n case 'rgb(32,32,32)':\n return 2 /* HighContrastMode.WHITE_ON_BLACK */;\n // Pre Windows 11 light theme.\n case 'rgb(255,255,255)':\n // Windows 11 light theme.\n case 'rgb(255,250,239)':\n return 1 /* HighContrastMode.BLACK_ON_WHITE */;\n }\n return 0 /* HighContrastMode.NONE */;\n }\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* HighContrastMode.BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* HighContrastMode.WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nHighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: HighContrastModeDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });\nA11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });\nA11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, imports: [ObserversModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: A11yModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n }]\n }], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-browser because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n/** Resolves a string value to a specific direction. */\nfunction _resolveDirectionality(rawValue) {\n const value = rawValue?.toLowerCase() || '';\n if (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\n return RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n }\n return value === 'rtl' ? 'rtl' : 'ltr';\n}\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n this.value = _resolveDirectionality(bodyDir || htmlDir || 'ltr');\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nDirectionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Directionality, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() {\n return this._dir;\n }\n set dir(value) {\n const previousValue = this._dir;\n // Note: `_resolveDirectionality` resolves the language based on the browser's language,\n // whereas the browser does it based on the content of the element. Since doing so based\n // on the content can be expensive, for now we're doing the simpler matching.\n this._dir = _resolveDirectionality(value);\n this._rawDir = value;\n if (previousValue !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() {\n return this.dir;\n }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nDir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: Dir, selector: \"[dir]\", inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, host: { properties: { \"attr.dir\": \"_rawDir\" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: [\"dir\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Dir, decorators: [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir',\n }]\n }], propDecorators: { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });\nBidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BidiModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { ConnectableObservable, isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource. We also can't use `isObservable`\n // here, because of some internal apps.\n return value && typeof value.connect === 'function' && !(value instanceof ConnectableObservable);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* _ViewRepeaterOperation.INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* _ViewRepeaterOperation.INSERTED */ : 0 /* _ViewRepeaterOperation.REPLACED */;\n }\n else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n }\n else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true, compareWith) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n this.compareWith = compareWith;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n * @param values The values to select\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Deselects a value or an array of values.\n * @param values The values to deselect\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Sets the selected values\n * @param values The new selected values\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n setSelection(...values) {\n this._verifyValueAssignment(values);\n const oldValues = this.selected;\n const newSelectedSet = new Set(values);\n values.forEach(value => this._markSelected(value));\n oldValues\n .filter(value => !newSelectedSet.has(value))\n .forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Toggles a value between selected and deselected.\n * @param value The value to toggle\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n toggle(value) {\n return this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n * @param flushEvent Whether to flush the changes in an event.\n * If false, the changes to the selection will be flushed along with the next event.\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n clear(flushEvent = true) {\n this._unmarkAll();\n const changed = this._hasQueuedChanges();\n if (flushEvent) {\n this._emitChangeEvent();\n }\n return changed;\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n if (this.compareWith) {\n for (const otherValue of this._selection) {\n if (this.compareWith(otherValue, value)) {\n return true;\n }\n }\n return false;\n }\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit,\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n if (!this.isSelected(value)) {\n this._selection.add(value);\n }\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n /** Whether there are queued up change to be emitted. */\n _hasQueuedChanges() {\n return !!(this._deselectedToEmit.length || this._selectedToEmit.length);\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n","import * as i0 from '@angular/core';\nimport { NgModule, Injectable } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LayoutModule {\n}\nLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: LayoutModule });\nLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LayoutModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: LayoutModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform) {\n this._platform = _platform;\n this._matchMedia =\n this._platform.isBrowser && window.matchMedia\n ? // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window)\n : noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\nMediaMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MediaMatcher, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nMediaMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MediaMatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MediaMatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { },\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n}\nBreakpointObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BreakpointObserver, deps: [{ token: MediaMatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nBreakpointObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BreakpointObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BreakpointObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MediaMatcher }, { type: i0.NgZone }]; } });\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries\n .map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nMutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MutationObserverFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ContentObserver, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });\nContentObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ContentObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ContentObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() {\n return this._debounce;\n }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkObserveContent, deps: [{ token: ContentObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkObserveContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkObserveContent, selector: \"[cdkObserveContent]\", inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkObserveContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n }]\n }], ctorParameters: function () { return [{ type: ContentObserver }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] } });\nclass ObserversModule {\n}\nObserversModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nObserversModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: ObserversModule, declarations: [CdkObserveContent], exports: [CdkObserveContent] });\nObserversModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ObserversModule, providers: [MutationObserverFactory] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ObserversModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i6 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, Optional, ElementRef, ApplicationRef, ANIMATION_MODULE_TYPE, InjectionToken, Directive, EventEmitter, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, _isTestEnvironment } from '@angular/cdk/platform';\nimport * as i5 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollStrategyOptions, deps: [{ token: i1.ScrollDispatcher }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollStrategyOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollStrategyOptions, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ScrollDispatcher }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the possible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BaseOverlayDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBaseOverlayDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._ngZone = _ngZone;\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n const keydownEvents = overlays[i]._keydownEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => keydownEvents.next(event));\n }\n else {\n keydownEvents.next(event);\n }\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._document.body.addEventListener('keydown', this._keydownListener));\n }\n else {\n this._document.body.addEventListener('keydown', this._keydownListener);\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget\n : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n const outsidePointerEvents = overlayRef._outsidePointerEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => outsidePointerEvents.next(event));\n }\n else {\n outsidePointerEvents.next(event);\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._addEventListeners(body));\n }\n else {\n this._addEventListeners(body);\n }\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n _addEventListeners(body) {\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].remove();\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._animationsDisabled = _animationsDisabled;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n this._backdropTransitionendHandler = (event) => {\n this._disposeBackdrop(event.target);\n };\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n // Insert the host into the DOM before attaching the portal, otherwise\n // the animations module will skip animations on repeat attachments.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n const attachResult = this._portalOutlet.attach(portal);\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n // TODO(crisbeto): the null check is here, because the portal outlet returns `any`.\n // We should be guaranteed for the result to be `ComponentRef | EmbeddedViewRef`, but\n // `instanceof EmbeddedViewRef` doesn't appear to work at the moment.\n if (typeof attachResult?.onDestroy === 'function') {\n // In most cases we control the portal and we know when it is being detached so that\n // we can finish the disposal process. The exception is if the user passes in a custom\n // `ViewContainerRef` that isn't destroyed through the overlay API. Note that we use\n // `detach` here instead of `dispose`, because we don't know if the user intends to\n // reattach the overlay at a later point. It also has the advantage of waiting for animations.\n attachResult.onDestroy(() => {\n if (this.hasAttached()) {\n // We have to delay the `detach` call, because detaching immediately prevents\n // other destroy hooks from running. This is likely a framework bug similar to\n // https://github.com/angular/angular/issues/46119\n this._ngZone.runOutsideAngular(() => Promise.resolve().then(() => this.detach()));\n }\n });\n }\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n this._host?.remove();\n this._previousHostParent = this._pane = this._host = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = { ...this._config, ...sizeConfig };\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = { ...this._config, direction: dir };\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._animationsDisabled) {\n this._backdropElement.classList.add('cdk-overlay-backdrop-noop-animation');\n }\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (!this._animationsDisabled && typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n if (this._animationsDisabled) {\n this._disposeBackdrop(backdropToDetach);\n return;\n }\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', this._backdropTransitionendHandler);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n this._backdropTimeout = this._ngZone.runOutsideAngular(() => setTimeout(() => {\n this._disposeBackdrop(backdropToDetach);\n }, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classes = coerceArray(cssClasses || []).filter(c => !!c);\n if (classes.length) {\n isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n }\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._host.remove();\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n backdrop.removeEventListener('click', this._backdropClickHandler);\n backdrop.removeEventListener('transitionend', this._backdropTransitionendHandler);\n backdrop.remove();\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n if (this._backdropTimeout) {\n clearTimeout(this._backdropTimeout);\n this._backdropTimeout = undefined;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef &&\n overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satisfies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin, the overlay and the container to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n const containerRect = this._containerRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, containerRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos),\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n const lastPosition = this._lastPosition;\n if (lastPosition) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n else {\n this.apply();\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, containerRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + originRect.width / 2;\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n // When zooming in Safari the container rectangle contains negative values for the position\n // and we need to re-add them to the calculated coordinates.\n if (containerRect.left < 0) {\n x -= containerRect.left;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + originRect.height / 2;\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n // Normally the containerRect's top value would be zero, however when the overlay is attached to an input\n // (e.g. in an autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n // Additionally, when zooming in Safari this fixes the vertical position.\n if (containerRect.top < 0) {\n y -= containerRect.top;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = x + overlay.width - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = y + overlay.height - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlay at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically || (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally || (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occurring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param rawOverlayRect Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y,\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - previousHeight / 2;\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) || (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) || (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - previousWidth / 2;\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stretches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - 2 * this._viewportMargin,\n height: height - 2 * this._viewportMargin,\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breaking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width,\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return !units || units === 'px' ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height),\n };\n}\nconst STANDARD_DROPDOWN_BELOW_POSITIONS = [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\n { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' },\n { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom' },\n];\nconst STANDARD_DROPDOWN_ADJACENT_POSITIONS = [\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' },\n { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top' },\n { originX: 'start', originY: 'bottom', overlayX: 'end', overlayY: 'bottom' },\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._alignItems = '';\n this._xPosition = '';\n this._xOffset = '';\n this._width = '';\n this._height = '';\n this._isDisposed = false;\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._xOffset = value;\n this._xPosition = 'left';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._xOffset = value;\n this._xPosition = 'right';\n return this;\n }\n /**\n * Sets the overlay to the start of the viewport, depending on the overlay direction.\n * This will be to the left in LTR layouts and to the right in RTL.\n * @param offset Offset from the edge of the screen.\n */\n start(value = '') {\n this._xOffset = value;\n this._xPosition = 'start';\n return this;\n }\n /**\n * Sets the overlay to the end of the viewport, depending on the overlay direction.\n * This will be to the right in LTR layouts and to the left in RTL.\n * @param offset Offset from the edge of the screen.\n */\n end(value = '') {\n this._xOffset = value;\n this._xPosition = 'end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._xPosition = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n const xPosition = this._xPosition;\n const xOffset = this._xOffset;\n const isRtl = this._overlayRef.getConfig().direction === 'rtl';\n let marginLeft = '';\n let marginRight = '';\n let justifyContent = '';\n if (shouldBeFlushHorizontally) {\n justifyContent = 'flex-start';\n }\n else if (xPosition === 'center') {\n justifyContent = 'center';\n if (isRtl) {\n marginRight = xOffset;\n }\n else {\n marginLeft = xOffset;\n }\n }\n else if (isRtl) {\n if (xPosition === 'left' || xPosition === 'end') {\n justifyContent = 'flex-end';\n marginLeft = xOffset;\n }\n else if (xPosition === 'right' || xPosition === 'start') {\n justifyContent = 'flex-start';\n marginRight = xOffset;\n }\n }\n else if (xPosition === 'left' || xPosition === 'start') {\n justifyContent = 'flex-start';\n marginLeft = xOffset;\n }\n else if (xPosition === 'right' || xPosition === 'end') {\n justifyContent = 'flex-end';\n marginRight = xOffset;\n }\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : marginLeft;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = shouldBeFlushHorizontally ? '0' : marginRight;\n parentStyles.justifyContent = justifyContent;\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent =\n parentStyles.alignItems =\n styles.marginTop =\n styles.marginBottom =\n styles.marginLeft =\n styles.marginRight =\n styles.position =\n '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayPositionBuilder, deps: [{ token: i1.ViewportRuler }, { token: DOCUMENT }, { token: i1$1.Platform }, { token: OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayPositionBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayPositionBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: OverlayContainer }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher, _animationsModuleType) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._animationsModuleType = _animationsModuleType;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher, this._animationsModuleType === 'NoopAnimations');\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Overlay, deps: [{ token: ScrollStrategyOptions }, { token: OverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: OverlayPositionBuilder }, { token: OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i5.Directionality }, { token: i6.Location }, { token: OverlayOutsideClickDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlay.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Overlay });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Overlay, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i5.Directionality }, { type: i6.Location }, { type: OverlayOutsideClickDispatcher }, { type: undefined, decorators: [{\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkOverlayOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkOverlayOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkOverlayOrigin, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() {\n return this._offsetX;\n }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() {\n return this._offsetY;\n }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() {\n return this._hasBackdrop;\n }\n set hasBackdrop(value) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() {\n return this._lockPosition;\n }\n set lockPosition(value) {\n this._lockPosition = coerceBooleanProperty(value);\n }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() {\n return this._flexibleDimensions;\n }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() {\n return this._growAfterOpen;\n }\n set growAfterOpen(value) {\n this._growAfterOpen = coerceBooleanProperty(value);\n }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() {\n return this._push;\n }\n set push(value) {\n this._push = coerceBooleanProperty(value);\n }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = (this._overlayRef = this._overlay.create(this._buildConfig()));\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = (this._position =\n this.positionStrategy || this._createPositionStrategy());\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop,\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this._getFlexibleConnectedPositionStrategyOrigin())\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n _getFlexibleConnectedPositionStrategyOrigin() {\n if (this.origin instanceof CdkOverlayOrigin) {\n return this.origin.elementRef;\n }\n else {\n return this.origin;\n }\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkConnectedOverlay, deps: [{ token: Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkConnectedOverlay.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: { origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkConnectedOverlay, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay',\n }]\n }], ctorParameters: function () { return [{ type: Overlay }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: i5.Directionality, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }] } });\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass OverlayModule {\n}\nOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayModule, declarations: [CdkConnectedOverlay, CdkOverlayOrigin], imports: [BidiModule, PortalModule, ScrollingModule], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });\nOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: OverlayModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return (_document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null);\n }\n}\nFullscreenOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FullscreenOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nFullscreenOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, STANDARD_DROPDOWN_ADJACENT_POSITIONS, STANDARD_DROPDOWN_BELOW_POSITIONS, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };\n","import * as i0 from '@angular/core';\nimport { PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = typeof Intl !== 'undefined' && Intl.v8BreakIterator;\n}\ncatch {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId\n ? isPlatformBrowser(this._platformId)\n : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser &&\n !!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' &&\n !this.EDGE &&\n !this.TRIDENT;\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) &&\n !this.BLINK &&\n !this.EDGE &&\n !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Platform, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Platform, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: Platform, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PlatformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPlatformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: PlatformModule });\nPlatformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PlatformModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PlatformModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => (supportsPassiveEvents = true),\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* RtlScrollAxisType.NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* RtlScrollAxisType.NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* RtlScrollAxisType.NEGATED */ : 2 /* RtlScrollAxisType.INVERTED */;\n }\n scrollContainer.remove();\n }\n return rtlScrollAxisType;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document\n ? document.activeElement\n : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n","import * as i0 from '@angular/core';\nimport { ElementRef, Injector, Directive, EventEmitter, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n templateRef, \n /** Reference to the ViewContainer into which the template will be stamped out. */\n viewContainerRef, \n /** Contextual data to be passed in to the embedded view. */\n context, \n /** The injector to use for the embedded view. */\n injector) {\n super();\n this.templateRef = templateRef;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n this.injector = injector;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _componentFactoryResolver Used to resolve the component factory.\n * Only required when attaching component portals.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually\n * become a required parameter.\n */\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = (portal.componentFactoryResolver || this._componentFactoryResolver);\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !resolver) {\n throw Error('Cannot attach component portal to outlet without a ComponentFactoryResolver.');\n }\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n componentRef = componentFactory.create(portal.injector || this._defaultInjector || Injector.NULL);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (this._appRef.viewCount > 0) {\n this._appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n this.outletElement.remove();\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortal, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkPortal, selector: \"[cdkPortal]\", exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortal, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: TemplatePortalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nTemplatePortalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: TemplatePortalDirective, selector: \"[cdk-portal], [portal]\", providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ], exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: TemplatePortalDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ],\n }]\n }] });\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal || null;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector,\n });\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortalOutlet, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortalOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkPortalOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet'],\n }]\n }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { attached: [{\n type: Output\n }] } });\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalHostDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nPortalHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: PortalHostDirective, selector: \"[cdkPortalHost], [portalHost]\", inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ], exportAs: [\"cdkPortalHost\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ],\n }]\n }] });\nclass PortalModule {\n}\nPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] });\nPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: PortalModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, ElementRef, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior, Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkFixedSizeVirtualScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ],\n }]\n }], propDecorators: { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * De-registers a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0\n ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer)\n : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while ((element = element.parentElement));\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* RtlScrollAxisType.NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollable, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => (this._viewportSize = null));\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top ||\n document.body.scrollTop ||\n window.scrollY ||\n documentElement.scrollTop ||\n 0;\n const left = -documentRect.left ||\n document.body.scrollLeft ||\n window.scrollX ||\n documentElement.scrollLeft ||\n 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nViewportRuler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ViewportRuler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst VIRTUAL_SCROLLABLE = new InjectionToken('VIRTUAL_SCROLLABLE');\n/**\n * Extending the {@link CdkScrollable} to be used as scrolling container for virtual scrolling.\n */\nclass CdkVirtualScrollable extends CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n /**\n * Measure the viewport size for the provided orientation.\n *\n * @param orientation The orientation to measure the size from.\n */\n measureViewportSize(orientation) {\n const viewportEl = this.elementRef.nativeElement;\n return orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n}\nCdkVirtualScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollable, usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollable, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkVirtualScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler, scrollable) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n this.scrollable = scrollable;\n this._platform = inject(Platform);\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n if (!this.scrollable) {\n // No scrollable is provided, so the virtual-scroll-viewport needs to become a scrollable\n this.elementRef.nativeElement.classList.add('cdk-virtual-scrollable');\n this.scrollable = this;\n }\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n // Scrolling depends on the element dimensions which we can't get during SSR.\n if (!this._platform.isBrowser) {\n return;\n }\n if (this.scrollable === this) {\n super.ngOnInit();\n }\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.scrollable\n .elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next((this._renderedRange = range));\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // In appendOnly, we always start from the top\n offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollable.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the scrollable (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n // This is to break the call cycle\n let measureScrollOffset;\n if (this.scrollable == this) {\n measureScrollOffset = (_from) => super.measureScrollOffset(_from);\n }\n else {\n measureScrollOffset = (_from) => this.scrollable.measureScrollOffset(_from);\n }\n return Math.max(0, measureScrollOffset(from ?? (this.orientation === 'horizontal' ? 'start' : 'top')) -\n this.measureViewportOffset());\n }\n /**\n * Measures the offset of the viewport from the scrolling container\n * @param from The edge to measure from.\n */\n measureViewportOffset(from) {\n let fromRect;\n const LEFT = 'left';\n const RIGHT = 'right';\n const isRtl = this.dir?.value == 'rtl';\n if (from == 'start') {\n fromRect = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n fromRect = isRtl ? LEFT : RIGHT;\n }\n else if (from) {\n fromRect = from;\n }\n else {\n fromRect = this.orientation === 'horizontal' ? 'left' : 'top';\n }\n const scrollerClientRect = this.scrollable.measureBoundingClientRectWithScrollOffset(fromRect);\n const viewportClientRect = this.elementRef.nativeElement.getBoundingClientRect()[fromRect];\n return viewportClientRect - scrollerClientRect;\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n this._viewportSize = this.scrollable.measureViewportSize(this.orientation);\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }, { token: VIRTUAL_SCROLLABLE, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkVirtualScrollViewport.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, host: { properties: { \"class.cdk-virtual-scroll-orientation-horizontal\": \"orientation === \\\"horizontal\\\"\", \"class.cdk-virtual-scroll-orientation-vertical\": \"orientation !== \\\"horizontal\\\"\" }, classAttribute: \"cdk-virtual-scroll-viewport\" }, providers: [\n {\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport],\n },\n ], viewQueries: [{ propertyName: \"_contentWrapper\", first: true, predicate: [\"contentWrapper\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-virtual-scroll-viewport', host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport],\n },\n ], template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }, { type: CdkVirtualScrollable, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLLABLE]\n }] }]; }, propDecorators: { orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], scrolledIndexChange: [{\n type: Output\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n if (this.viewChange.observers.length) {\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n }\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn\n ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)\n : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode\n ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode)\n : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false,\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: i2$1._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: i0.NgZone }]; }, propDecorators: { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides a virtual scrollable for the element it is attached to.\n */\nclass CdkVirtualScrollableElement extends CdkVirtualScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return (this.getElementRef().nativeElement.getBoundingClientRect()[from] -\n this.measureScrollOffset(from));\n }\n}\nCdkVirtualScrollableElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableElement, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollableElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollableElement, selector: \"[cdkVirtualScrollingElement]\", host: { classAttribute: \"cdk-virtual-scrollable\" }, providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableElement, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualScrollingElement]',\n providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableElement }],\n host: {\n 'class': 'cdk-virtual-scrollable',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides as virtual scrollable for the global / window scrollbar.\n */\nclass CdkVirtualScrollableWindow extends CdkVirtualScrollable {\n constructor(scrollDispatcher, ngZone, dir) {\n super(new ElementRef(document.documentElement), scrollDispatcher, ngZone, dir);\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(document, 'scroll').pipe(takeUntil(this._destroyed)).subscribe(observer)));\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n}\nCdkVirtualScrollableWindow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableWindow, deps: [{ token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualScrollableWindow.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkVirtualScrollableWindow, selector: \"cdk-virtual-scroll-viewport[scrollWindow]\", providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkVirtualScrollableWindow, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[scrollWindow]',\n providers: [{ provide: VIRTUAL_SCROLLABLE, useExisting: CdkVirtualScrollableWindow }],\n }]\n }], ctorParameters: function () { return [{ type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, declarations: [CdkScrollable], exports: [CdkScrollable] });\nCdkScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkScrollableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable],\n }]\n }] });\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nScrollingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, declarations: [CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement], imports: [BidiModule, CdkScrollableModule], exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement] });\nScrollingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: ScrollingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, CdkScrollableModule],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n CdkVirtualScrollableWindow,\n CdkVirtualScrollableElement,\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollable, CdkVirtualScrollableElement, CdkVirtualScrollableWindow, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLLABLE, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function pairwise() {\n return operate((source, subscriber) => {\n let prev;\n let hasPrev = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const p = prev;\n prev = value;\n hasPrev && subscriber.next([p, value]);\n hasPrev = true;\n }));\n });\n}\n","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport * as i1 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport * as i0 from '@angular/core';\nimport { Directive, InjectionToken, EventEmitter, forwardRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ContentChild, ViewChild, Input, Output, QueryList, ContentChildren, NgModule } from '@angular/core';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { Subject, of } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepHeader {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\nCdkStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepHeader, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStepHeader, selector: \"[cdkStepHeader]\", host: { attributes: { \"role\": \"tab\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepHeader, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepLabel {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkStepLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStepLabel, selector: \"[cdkStepLabel]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepLabel]',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n/** Change event emitted on selection changes. */\nclass StepperSelectionEvent {\n}\n/** Enum to represent the different states of the steps. */\nconst STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error',\n};\n/** InjectionToken that can be used to specify the global stepper options. */\nconst STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\nclass CdkStep {\n constructor(_stepper, stepperOptions) {\n this._stepper = _stepper;\n /** Whether user has attempted to move away from the step. */\n this.interacted = false;\n /** Emits when the user has attempted to move away from the step. */\n this.interactedStream = new EventEmitter();\n this._editable = true;\n this._optional = false;\n this._completedOverride = null;\n this._customError = null;\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n /** Whether the user can return to this step once it has been marked as completed. */\n get editable() {\n return this._editable;\n }\n set editable(value) {\n this._editable = coerceBooleanProperty(value);\n }\n /** Whether the completion of step is optional. */\n get optional() {\n return this._optional;\n }\n set optional(value) {\n this._optional = coerceBooleanProperty(value);\n }\n /** Whether step is marked as completed. */\n get completed() {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n /** Whether step has an error. */\n get hasError() {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value) {\n this._customError = coerceBooleanProperty(value);\n }\n _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n /** Selects this step component. */\n select() {\n this._stepper.selected = this;\n }\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset() {\n this.interacted = false;\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n if (this._customError != null) {\n this._customError = false;\n }\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n /** Determines whether the error state can be shown. */\n _showError() {\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return this._stepperOptions.showError ?? this._customError != null;\n }\n}\nCdkStep.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStep, deps: [{ token: forwardRef(() => CdkStepper) }, { token: STEPPER_GLOBAL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStep, selector: \"cdk-step\", inputs: { stepControl: \"stepControl\", label: \"label\", errorMessage: \"errorMessage\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], state: \"state\", editable: \"editable\", optional: \"optional\", completed: \"completed\", hasError: \"hasError\" }, outputs: { interactedStream: \"interacted\" }, queries: [{ propertyName: \"stepLabel\", first: true, predicate: CdkStepLabel, descendants: true }], viewQueries: [{ propertyName: \"content\", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: [\"cdkStep\"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStep, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper, decorators: [{\n type: Inject,\n args: [forwardRef(() => CdkStepper)]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [STEPPER_GLOBAL_OPTIONS]\n }] }]; }, propDecorators: { stepLabel: [{\n type: ContentChild,\n args: [CdkStepLabel]\n }], content: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], stepControl: [{\n type: Input\n }], interactedStream: [{\n type: Output,\n args: ['interacted']\n }], label: [{\n type: Input\n }], errorMessage: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], state: [{\n type: Input\n }], editable: [{\n type: Input\n }], optional: [{\n type: Input\n }], completed: [{\n type: Input\n }], hasError: [{\n type: Input\n }] } });\nclass CdkStepper {\n constructor(_dir, _changeDetectorRef, _elementRef) {\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n this.steps = new QueryList();\n /** List of step headers sorted based on their DOM order. */\n this._sortedHeaders = new QueryList();\n this._linear = false;\n this._selectedIndex = 0;\n /** Event emitted when the selected step has changed. */\n this.selectionChange = new EventEmitter();\n this._orientation = 'horizontal';\n this._groupId = nextId++;\n }\n /** Whether the validity of previous steps should be checked or not. */\n get linear() {\n return this._linear;\n }\n set linear(value) {\n this._linear = coerceBooleanProperty(value);\n }\n /** The index of the selected step. */\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index) {\n const newIndex = coerceNumberProperty(index);\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(newIndex) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n this.selected?._markAsInteracted();\n if (this._selectedIndex !== newIndex &&\n !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(newIndex);\n }\n }\n else {\n this._selectedIndex = newIndex;\n }\n }\n /** The step that is selected. */\n get selected() {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step) {\n this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n /** Orientation of the stepper. */\n get orientation() {\n return this._orientation;\n }\n set orientation(value) {\n // This is a protected method so that `MatStepper` can hook into it.\n this._orientation = value;\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplication. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers) => {\n this._sortedHeaders.reset(headers.toArray().sort((a, b) => {\n const documentPosition = a._elementRef.nativeElement.compareDocumentPosition(b._elementRef.nativeElement);\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }));\n this._sortedHeaders.notifyOnChanges();\n });\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n (this._dir ? this._dir.change : of())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n this._keyManager.updateActiveItem(this._selectedIndex);\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Selects and focuses the next step in list. */\n next() {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n /** Selects and focuses the previous step in list. */\n previous() {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset() {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i) {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n /** Returns unique id for each step content element. */\n _getStepContentId(i) {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index) {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n }\n else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index, state = STEP_STATE.NUMBER) {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n return step._displayDefaultIndicatorType\n ? this._getDefaultIndicatorLogic(step, isCurrentStep)\n : this._getGuidelineLogic(step, isCurrentStep, state);\n }\n _getDefaultIndicatorLogic(step, isCurrentStep) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n }\n else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n _getGuidelineLogic(step, isCurrentStep, state = STEP_STATE.NUMBER) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n }\n else if (step.completed && isCurrentStep) {\n return state;\n }\n else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n }\n else {\n return state;\n }\n }\n _isCurrentStep(index) {\n return this._selectedIndex === index;\n }\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n _updateSelectedItemIndex(newIndex) {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus()\n ? this._keyManager.setActiveItem(newIndex)\n : this._keyManager.updateActiveItem(newIndex);\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n _onKeydown(event) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n if (manager.activeItemIndex != null &&\n !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n }\n else {\n manager.onKeydown(event);\n }\n }\n _anyControlsInvalidOrPending(index) {\n if (this._linear && index >= 0) {\n return this.steps\n .toArray()\n .slice(0, index)\n .some(step => {\n const control = step.stepControl;\n const isIncomplete = control\n ? control.invalid || control.pending || !step.interacted\n : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n return false;\n }\n _layoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Checks whether the stepper contains the focused element. */\n _containsFocus() {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n /** Checks whether the passed-in index is a valid step index. */\n _isValidIndex(index) {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n}\nCdkStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepper, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStepper, selector: \"[cdkStepper]\", inputs: { linear: \"linear\", selectedIndex: \"selectedIndex\", selected: \"selected\", orientation: \"orientation\" }, outputs: { selectionChange: \"selectionChange\" }, queries: [{ propertyName: \"_steps\", predicate: CdkStep, descendants: true }, { propertyName: \"_stepHeader\", predicate: CdkStepHeader, descendants: true }], exportAs: [\"cdkStepper\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepper, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n }]\n }], ctorParameters: function () { return [{ type: i1.Directionality, decorators: [{\n type: Optional\n }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { _steps: [{\n type: ContentChildren,\n args: [CdkStep, { descendants: true }]\n }], _stepHeader: [{\n type: ContentChildren,\n args: [CdkStepHeader, { descendants: true }]\n }], linear: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], selected: [{\n type: Input\n }], selectionChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Button that moves to the next step in a stepper workflow. */\nclass CdkStepperNext {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n this.type = 'submit';\n }\n}\nCdkStepperNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperNext, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperNext.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStepperNext, selector: \"button[cdkStepperNext]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.next()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperNext, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.next()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n/** Button that moves to the previous step in a stepper workflow. */\nclass CdkStepperPrevious {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n this.type = 'button';\n }\n}\nCdkStepperPrevious.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperPrevious, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperPrevious.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkStepperPrevious, selector: \"button[cdkStepperPrevious]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.previous()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperPrevious, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.previous()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepperModule {\n}\nCdkStepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperModule, declarations: [CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });\nCdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperModule, imports: [BidiModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkStepperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule],\n exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkStep, CdkStepHeader, CdkStepLabel, CdkStepper, CdkStepperModule, CdkStepperNext, CdkStepperPrevious, STEPPER_GLOBAL_OPTIONS, STEP_STATE, StepperSelectionEvent };\n","import { SelectionModel, isDataSource } from '@angular/cdk/collections';\nimport { isObservable, Subject, BehaviorSubject, of } from 'rxjs';\nimport { take, filter, takeUntil } from 'rxjs/operators';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Inject, Optional, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/bidi';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\nclass BaseTreeControl {\n constructor() {\n /** A selection model with multi-selection to track expansion status. */\n this.expansionModel = new SelectionModel(true);\n }\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode) {\n this.expansionModel.toggle(this._trackByValue(dataNode));\n }\n /** Expands one single data node. */\n expand(dataNode) {\n this.expansionModel.select(this._trackByValue(dataNode));\n }\n /** Collapses one single data node. */\n collapse(dataNode) {\n this.expansionModel.deselect(this._trackByValue(dataNode));\n }\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode) {\n return this.expansionModel.isSelected(this._trackByValue(dataNode));\n }\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode) {\n this.expansionModel.isSelected(this._trackByValue(dataNode))\n ? this.collapseDescendants(dataNode)\n : this.expandDescendants(dataNode);\n }\n /** Collapse all dataNodes in the tree. */\n collapseAll() {\n this.expansionModel.clear();\n }\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n _trackByValue(value) {\n return this.trackBy ? this.trackBy(value) : value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nclass FlatTreeControl extends BaseTreeControl {\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n constructor(getLevel, isExpandable, options) {\n super();\n this.getLevel = getLevel;\n this.isExpandable = isExpandable;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode) {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results = [];\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n }\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.select(...this.dataNodes.map(node => this._trackByValue(node)));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nclass NestedTreeControl extends BaseTreeControl {\n /** Construct with nested tree function getChildren. */\n constructor(getChildren, options) {\n super();\n this.getChildren = getChildren;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce((accumulator, dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode], []);\n this.expansionModel.select(...allNodes.map(node => this._trackByValue(node)));\n }\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode) {\n const descendants = [];\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n }\n /** A helper function to get descendants recursively. */\n _getDescendants(descendants, dataNode) {\n descendants.push(dataNode);\n const childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach((child) => this._getDescendants(descendants, child));\n }\n else if (isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(take(1), filter(Boolean)).subscribe(children => {\n for (const child of children) {\n this._getDescendants(descendants, child);\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\nconst CDK_TREE_NODE_OUTLET_NODE = new InjectionToken('CDK_TREE_NODE_OUTLET_NODE');\n/**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\nclass CdkTreeNodeOutlet {\n constructor(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n}\nCdkTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: CDK_TREE_NODE_OUTLET_NODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTreeNodeOutlet, selector: \"[cdkTreeNodeOutlet]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeOutlet]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TREE_NODE_OUTLET_NODE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Context provided to the tree node component. */\nclass CdkTreeNodeOutletContext {\n constructor(data) {\n this.$implicit = data;\n }\n}\n/**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\nclass CdkTreeNodeDef {\n /** @docs-private */\n constructor(template) {\n this.template = template;\n }\n}\nCdkTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTreeNodeDef, selector: \"[cdkTreeNodeDef]\", inputs: { when: [\"cdkTreeNodeDefWhen\", \"when\"] }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeDef, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeDef]',\n inputs: ['when: cdkTreeNodeDefWhen'],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nfunction getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nfunction getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nfunction getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nfunction getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nfunction getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\n}\n\n/**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\nclass CdkTree {\n constructor(_differs, _changeDetectorRef) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /** Level of nodes */\n this._levels = new Map();\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n this.viewChange = new BehaviorSubject({\n start: 0,\n end: Number.MAX_VALUE,\n });\n }\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n ngOnInit() {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlMissingError();\n }\n }\n ngOnDestroy() {\n this._nodeOutlet.viewContainer.clear();\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n }\n ngAfterContentChecked() {\n const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);\n if (defaultNodeDefs.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n }\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n let dataStream;\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n }\n else if (isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n }\n else if (Array.isArray(this._dataSource)) {\n dataStream = of(this._dataSource);\n }\n if (dataStream) {\n this._dataSubscription = dataStream\n .pipe(takeUntil(this._onDestroy))\n .subscribe(data => this.renderNodeChanges(data));\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTreeNoValidDataSourceError();\n }\n }\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(data, dataDiffer = this._dataDiffer, viewContainer = this._nodeOutlet.viewContainer, parentData) {\n const changes = dataDiffer.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n this._levels.delete(item.item);\n }\n else {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n this._changeDetectorRef.detectChanges();\n }\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n _getNodeDef(data, i) {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n const nodeDef = this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;\n if (!nodeDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMissingMatchingNodeDefError();\n }\n return nodeDef;\n }\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData, index, viewContainer, parentData) {\n const node = this._getNodeDef(nodeData, index);\n // Node context that will be provided to created embedded view\n const context = new CdkTreeNodeOutletContext(nodeData);\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n }\n else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData) + 1;\n }\n else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n}\nCdkTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTree, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });\nCdkTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTree, selector: \"cdk-tree\", inputs: { dataSource: \"dataSource\", treeControl: \"treeControl\", trackBy: \"trackBy\" }, host: { attributes: { \"role\": \"tree\" }, classAttribute: \"cdk-tree\" }, queries: [{ propertyName: \"_nodeDefs\", predicate: CdkTreeNodeDef, descendants: true }], viewQueries: [{ propertyName: \"_nodeOutlet\", first: true, predicate: CdkTreeNodeOutlet, descendants: true, static: true }], exportAs: [\"cdkTree\"], ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: \"directive\", type: CdkTreeNodeOutlet, selector: \"[cdkTreeNodeOutlet]\" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTree, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-tree',\n exportAs: 'cdkTree',\n template: ``,\n host: {\n 'class': 'cdk-tree',\n 'role': 'tree',\n },\n encapsulation: ViewEncapsulation.None,\n // The \"OnPush\" status for the `CdkTree` component is effectively a noop, so we are removing it.\n // The view for `CdkTree` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { dataSource: [{\n type: Input\n }], treeControl: [{\n type: Input\n }], trackBy: [{\n type: Input\n }], _nodeOutlet: [{\n type: ViewChild,\n args: [CdkTreeNodeOutlet, { static: true }]\n }], _nodeDefs: [{\n type: ContentChildren,\n args: [CdkTreeNodeDef, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }] } });\n/**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\nclass CdkTreeNode {\n constructor(_elementRef, _tree) {\n this._elementRef = _elementRef;\n this._tree = _tree;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** Emits when the node's data has changed. */\n this._dataChanges = new Subject();\n CdkTreeNode.mostRecentTreeNode = this;\n this.role = 'treeitem';\n }\n /**\n * The role of the tree node.\n * @deprecated The correct role is 'treeitem', 'group' should not be used. This input will be\n * removed in a future version.\n * @breaking-change 12.0.0 Remove this input\n */\n get role() {\n return 'treeitem';\n }\n set role(_role) {\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.setAttribute('role', _role);\n }\n /** The tree node's data. */\n get data() {\n return this._data;\n }\n set data(value) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n }\n get isExpanded() {\n return this._tree.treeControl.isExpanded(this._data);\n }\n get level() {\n // If the treeControl has a getLevel method, use it to get the level. Otherwise read the\n // aria-level off the parent node and use it as the level for this node (note aria-level is\n // 1-indexed, while this property is 0-indexed, so we don't need to increment).\n return this._tree.treeControl.getLevel\n ? this._tree.treeControl.getLevel(this._data)\n : this._parentNodeAriaLevel;\n }\n ngOnInit() {\n this._parentNodeAriaLevel = getParentNodeAriaLevel(this._elementRef.nativeElement);\n this._elementRef.nativeElement.setAttribute('aria-level', `${this.level + 1}`);\n }\n ngOnDestroy() {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Focuses the menu item. Implements for FocusableOption. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n // TODO: role should eventually just be set in the component host\n _setRoleFromData() {\n if (!this._tree.treeControl.isExpandable &&\n !this._tree.treeControl.getChildren &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n this.role = 'treeitem';\n }\n}\n/**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\nCdkTreeNode.mostRecentTreeNode = null;\nCdkTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTreeNode, selector: \"cdk-tree-node\", inputs: { role: \"role\" }, host: { properties: { \"attr.aria-expanded\": \"isExpanded\" }, classAttribute: \"cdk-tree-node\" }, exportAs: [\"cdkTreeNode\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNode, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-tree-node',\n exportAs: 'cdkTreeNode',\n host: {\n 'class': 'cdk-tree-node',\n '[attr.aria-expanded]': 'isExpanded',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }]; }, propDecorators: { role: [{\n type: Input\n }] } });\nfunction getParentNodeAriaLevel(nodeElement) {\n let parent = nodeElement.parentElement;\n while (parent && !isNodeElement(parent)) {\n parent = parent.parentElement;\n }\n if (!parent) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw Error('Incorrect tree structure containing detached node.');\n }\n else {\n return -1;\n }\n }\n else if (parent.classList.contains('cdk-nested-tree-node')) {\n return coerceNumberProperty(parent.getAttribute('aria-level'));\n }\n else {\n // The ancestor element is the cdk-tree itself\n return 0;\n }\n}\nfunction isNodeElement(element) {\n const classList = element.classList;\n return !!(classList?.contains('cdk-nested-tree-node') || classList?.contains('cdk-tree'));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Nested node is a child of ``. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\nclass CdkNestedTreeNode extends CdkTreeNode {\n constructor(elementRef, tree, _differs) {\n super(elementRef, tree);\n this._differs = _differs;\n }\n ngAfterContentInit() {\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes);\n }\n else if (isObservable(childrenNodes)) {\n childrenNodes\n .pipe(takeUntil(this._destroyed))\n .subscribe(result => this.updateChildrenNodes(result));\n }\n this.nodeOutlet.changes\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateChildrenNodes());\n }\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n this._clear();\n super.ngOnDestroy();\n }\n /** Add children dataNodes to the NodeOutlet */\n updateChildrenNodes(children) {\n const outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n const viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n }\n else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n }\n /** Clear the children dataNodes. */\n _clear() {\n const outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n }\n /** Gets the outlet for the current node. */\n _getNodeOutlet() {\n const outlets = this.nodeOutlet;\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);\n }\n}\nCdkNestedTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkNestedTreeNode, deps: [{ token: i0.ElementRef }, { token: CdkTree }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nCdkNestedTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkNestedTreeNode, selector: \"cdk-nested-tree-node\", inputs: { role: \"role\", disabled: \"disabled\", tabIndex: \"tabIndex\" }, host: { classAttribute: \"cdk-nested-tree-node\" }, providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },\n ], queries: [{ propertyName: \"nodeOutlet\", predicate: CdkTreeNodeOutlet, descendants: true }], exportAs: [\"cdkNestedTreeNode\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkNestedTreeNode, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-nested-tree-node',\n exportAs: 'cdkNestedTreeNode',\n inputs: ['role', 'disabled', 'tabIndex'],\n providers: [\n { provide: CdkTreeNode, useExisting: CdkNestedTreeNode },\n { provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CdkNestedTreeNode },\n ],\n host: {\n 'class': 'cdk-nested-tree-node',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: CdkTree }, { type: i0.IterableDiffers }]; }, propDecorators: { nodeOutlet: [{\n type: ContentChildren,\n args: [CdkTreeNodeOutlet, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\nclass CdkTreeNodePadding {\n constructor(_treeNode, _tree, _element, _dir) {\n this._treeNode = _treeNode;\n this._tree = _tree;\n this._element = _element;\n this._dir = _dir;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** CSS units used for the indentation value. */\n this.indentUnits = 'px';\n this._indent = 40;\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));\n }\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(() => this._setPadding());\n }\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get level() {\n return this._level;\n }\n set level(value) {\n this._setLevelInput(value);\n }\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n get indent() {\n return this._indent;\n }\n set indent(indent) {\n this._setIndentInput(indent);\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n _paddingIndent() {\n const nodeLevel = this._treeNode.data && this._tree.treeControl.getLevel\n ? this._tree.treeControl.getLevel(this._treeNode.data)\n : null;\n const level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;\n }\n _setPadding(forceChange = false) {\n const padding = this._paddingIndent();\n if (padding !== this._currentPadding || forceChange) {\n const element = this._element.nativeElement;\n const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setLevelInput(value) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = coerceNumberProperty(value, null);\n this._setPadding();\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setIndentInput(indent) {\n let value = indent;\n let units = 'px';\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n this.indentUnits = units;\n this._indent = coerceNumberProperty(value);\n this._setPadding();\n }\n}\nCdkTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodePadding, deps: [{ token: CdkTreeNode }, { token: CdkTree }, { token: i0.ElementRef }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTreeNodePadding, selector: \"[cdkTreeNodePadding]\", inputs: { level: [\"cdkTreeNodePadding\", \"level\"], indent: [\"cdkTreeNodePaddingIndent\", \"indent\"] }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodePadding, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodePadding]',\n }]\n }], ctorParameters: function () { return [{ type: CdkTreeNode }, { type: CdkTree }, { type: i0.ElementRef }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { level: [{\n type: Input,\n args: ['cdkTreeNodePadding']\n }], indent: [{\n type: Input,\n args: ['cdkTreeNodePaddingIndent']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Node toggle to expand/collapse the node.\n */\nclass CdkTreeNodeToggle {\n constructor(_tree, _treeNode) {\n this._tree = _tree;\n this._treeNode = _treeNode;\n this._recursive = false;\n }\n /** Whether expand/collapse the node recursively. */\n get recursive() {\n return this._recursive;\n }\n set recursive(value) {\n this._recursive = coerceBooleanProperty(value);\n }\n _toggle(event) {\n this.recursive\n ? this._tree.treeControl.toggleDescendants(this._treeNode.data)\n : this._tree.treeControl.toggle(this._treeNode.data);\n event.stopPropagation();\n }\n}\nCdkTreeNodeToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeToggle, deps: [{ token: CdkTree }, { token: CdkTreeNode }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTreeNodeToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: CdkTreeNodeToggle, selector: \"[cdkTreeNodeToggle]\", inputs: { recursive: [\"cdkTreeNodeToggleRecursive\", \"recursive\"] }, host: { listeners: { \"click\": \"_toggle($event)\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeNodeToggle, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTreeNodeToggle]',\n host: {\n '(click)': '_toggle($event)',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkTree }, { type: CdkTreeNode }]; }, propDecorators: { recursive: [{\n type: Input,\n args: ['cdkTreeNodeToggleRecursive']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EXPORTED_DECLARATIONS = [\n CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet,\n];\nclass CdkTreeModule {\n}\nCdkTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeModule, declarations: [CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet], exports: [CdkNestedTreeNode,\n CdkTreeNodeDef,\n CdkTreeNodePadding,\n CdkTreeNodeToggle,\n CdkTree,\n CdkTreeNode,\n CdkTreeNodeOutlet] });\nCdkTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: CdkTreeModule, decorators: [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseTreeControl, CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeModule, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutlet, CdkTreeNodeOutletContext, CdkTreeNodePadding, CdkTreeNodeToggle, FlatTreeControl, NestedTreeControl, getTreeControlFunctionsMissingError, getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError };\n","/**\n * @license Angular v15.0.2\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable, ɵformatRuntimeError, Renderer2, ElementRef, Injector, PLATFORM_ID, NgZone } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]\n }] });\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n this._baseHref = href ?? this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ?? '';\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(locationStrategy) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n /** @internal */\n this._urlChangeSubscription = null;\n this._locationStrategy = locationStrategy;\n const browserBaseHref = this._locationStrategy.getBaseHref();\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._locationStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /** @nodoc */\n ngOnDestroy() {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._locationStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._locationStrategy.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._locationStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._locationStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._locationStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._locationStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._locationStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n this._locationStrategy.historyGo?.(relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n * @returns A function that, when executed, unregisters a URL change listener.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\n }\n };\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, undefined, 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLE\": [undefined, undefined, 2], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ɵExtraLocaleDataIndex.ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ɵExtraLocaleDataIndex.ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* ɵCurrencyIndex.SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* ɵCurrencyIndex.Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* ɵCurrencyIndex.NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4,})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.slice(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substring(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is suppressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substring(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substring(0, pos).replace(/'/g, '');\n p.negSuf = negative.slice(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\n }] });\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngClass]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModule`: Optional NgModule class reference to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * * `ngComponentOutletNgModuleFactory`: Deprecated config option that allows providing optional\n * NgModule factory to allow loading another module dynamically, then loading a component from that\n * module. Use `ngComponentOutletNgModule` instead.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized NgModule reference\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this.ngComponentOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n const { _viewContainerRef: viewContainerRef, ngComponentOutletNgModule: ngModule, ngComponentOutletNgModuleFactory: ngModuleFactory, } = this;\n viewContainerRef.clear();\n this._componentRef = undefined;\n if (this.ngComponentOutlet) {\n const injector = this.ngComponentOutletInjector || viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModule'] || changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (ngModule) {\n this._moduleRef = createNgModule(ngModule, getParentInjector(injector));\n }\n else if (ngModuleFactory) {\n this._moduleRef = ngModuleFactory.create(getParentInjector(injector));\n }\n else {\n this._moduleRef = undefined;\n }\n }\n this._componentRef = viewContainerRef.createComponent(this.ngComponentOutlet, {\n index: viewContainerRef.length,\n injector,\n ngModuleRef: this._moduleRef,\n projectableNodes: this.ngComponentOutletContent,\n });\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgComponentOutlet, isStandalone: true, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModule: \"ngComponentOutletNgModule\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngComponentOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModule: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n// Helper function that returns an Injector instance of a parent NgModule.\nfunction getParentInjector(injector) {\n const parentNgModule = injector.get(NgModuleRef);\n return parentNgModule.injector;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For further discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if (NG_DEV_MODE && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n * @nodoc\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n if (NG_DEV_MODE) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n let errorMessage = `Cannot find a differ supporting object '${value}' of type '` +\n `${getTypeName(value)}'. NgFor only supports binding to Iterables, such as Arrays.`;\n if (typeof value === 'object') {\n errorMessage += ' Did you mean to use the keyvalue pipe?';\n }\n throw new ɵRuntimeError(-2200 /* RuntimeErrorCode.NG_FOR_MISSING_DIFFER */, errorMessage);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const viewContainer = this._viewContainer;\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgForOf, isStandalone: true, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngFor][ngForOf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngIf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitch]',\n standalone: true,\n }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchDefault]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(2000 /* RuntimeErrorCode.PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPlural]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPluralCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n const flags = name.indexOf('-') === -1 ? undefined : RendererStyleFlags2.DashCase;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, unit ? `${value}${unit}` : value, flags);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name, flags);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngStyle]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n /** Injector to be used within the embedded view. */\n this.ngTemplateOutletInjector = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet'] || changes['ngTemplateOutletInjector']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n if (this.ngTemplateOutlet) {\n const { ngTemplateOutlet: template, ngTemplateOutletContext: context, ngTemplateOutletInjector: injector } = this;\n this._viewRef = viewContainerRef.createEmbeddedView(template, context, injector ? { injector } : undefined);\n }\n else {\n this._viewRef = null;\n }\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgTemplateOutlet, isStandalone: true, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\", ngTemplateOutletInjector: \"ngTemplateOutletInjector\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngTemplateOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }], ngTemplateOutletInjector: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n return new ɵRuntimeError(2100 /* RuntimeErrorCode.INVALID_PIPE_ARGUMENT */, ngDevMode && `InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(ref) {\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor\n // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.\n this._ref = ref;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n // Clear the `ChangeDetectorRef` and its association with the view data, to mitigate\n // potential memory leaks in Observables that could otherwise cause the view data to\n // be retained.\n // https://github.com/angular/angular/issues/17624\n this._ref = null;\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n // Note: `dispose` is only called if a subscription has been initialized before, indicating\n // that `this._strategy` is also available.\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n // Note: `this._ref` is only cleared in `ngOnDestroy` so is known to be available when a\n // value is being updated.\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'async',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'lowercase',\n standalone: true,\n }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\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\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\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\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\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\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\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\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\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\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\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-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\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\\u2183\\u2184\\u2C00-\\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\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\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-\\uAB69\\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\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\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-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\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\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\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]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\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-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'titlecase',\n standalone: true,\n }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'uppercase',\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The default date format of Angular date pipe, which corresponds to the following format:\n * `'MMM d,y'` (e.g. `Jun 15, 2015`)\n */\nconst DEFAULT_DATE_FORMAT = 'mediumDate';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n *\n * @deprecated use DATE_PIPE_DEFAULT_OPTIONS token to configure DatePipe\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n/**\n * DI token that allows to provide default configuration for the `DatePipe` instances in an\n * application. The value is an object which can include the following fields:\n * - `dateFormat`: configures the default date format. If not provided, the `DatePipe`\n * will use the 'mediumDate' as a value.\n * - `timezone`: configures the default timezone. If not provided, the `DatePipe` will\n * use the end-user's local system timezone.\n *\n * @see `DatePipeConfig`\n *\n * @usageNotes\n *\n * Various date pipe default values can be overwritten by providing this token with\n * the value that has this interface.\n *\n * For example:\n *\n * Override the default date format by providing a value using the token:\n * ```typescript\n * providers: [\n * {provide: DATE_PIPE_DEFAULT_OPTIONS, useValue: {dateFormat: 'shortDate'}}\n * ]\n * ```\n *\n * Override the default timezone by providing a value using the token:\n * ```typescript\n * providers: [\n * {provide: DATE_PIPE_DEFAULT_OPTIONS, useValue: {timezone: '-1200'}}\n * ]\n * ```\n */\nconst DATE_PIPE_DEFAULT_OPTIONS = new InjectionToken('DATE_PIPE_DEFAULT_OPTIONS');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_OPTIONS`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone, defaultOptions) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n this.defaultOptions = defaultOptions;\n }\n transform(value, format, timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n const _format = format ?? this.defaultOptions?.dateFormat ?? DEFAULT_DATE_FORMAT;\n const _timezone = timezone ?? this.defaultOptions?.timezone ?? this.defaultTimezone ?? undefined;\n return formatDate(value, _format, locale || this.locale, _timezone);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }, { token: DATE_PIPE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'date',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_OPTIONS]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * https://unicode-org.github.io/icu/userguide/format_parse/messages/.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nPlural',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nSelect',\n pure: true,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'json',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'keyvalue',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'number',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'percent',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'slice',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.2\", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('15.0.2');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n //\n // @see https://html.spec.whatwg.org/#get-the-focusable-area\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n // @see https://html.spec.whatwg.org/#focusable-area\n elSelected.focus();\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Converts a string that represents a URL into a URL class instance.\nfunction getUrl(src, win) {\n // Don't use a base URL is the URL is absolute.\n return isAbsoluteUrl(src) ? new URL(src) : new URL(src, win.location.href);\n}\n// Checks whether a URL is absolute (i.e. starts with `http://` or `https://`).\nfunction isAbsoluteUrl(src) {\n return /^https?:\\/\\//.test(src);\n}\n// Given a URL, extract the hostname part.\n// If a URL is a relative one - the URL is returned as is.\nfunction extractHostname(url) {\n return isAbsoluteUrl(url) ? (new URL(url)).hostname : url;\n}\nfunction isValidPath(path) {\n const isString = typeof path === 'string';\n if (!isString || path.trim() === '') {\n return false;\n }\n // Calling new URL() will throw if the path string is malformed\n try {\n const url = new URL(path);\n return true;\n }\n catch {\n return false;\n }\n}\nfunction normalizePath(path) {\n return path.endsWith('/') ? path.slice(0, -1) : path;\n}\nfunction normalizeSrc(src) {\n return src.startsWith('/') ? src.slice(1) : src;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Noop image loader that does no transformation to the original src and just returns it as is.\n * This loader is used as a default one if more specific logic is not provided in an app config.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n */\nconst noopImageLoader = (config) => config.src;\n/**\n * Injection token that configures the image loader function.\n *\n * @see `ImageLoader`\n * @see `NgOptimizedImage`\n * @publicApi\n */\nconst IMAGE_LOADER = new InjectionToken('ImageLoader', {\n providedIn: 'root',\n factory: () => noopImageLoader,\n});\n/**\n * Internal helper function that makes it easier to introduce custom image loaders for the\n * `NgOptimizedImage` directive. It is enough to specify a URL builder function to obtain full DI\n * configuration for a given loader: a DI token corresponding to the actual loader function, plus DI\n * tokens managing preconnect check functionality.\n * @param buildUrlFn a function returning a full URL based on loader's configuration\n * @param exampleUrls example of full URLs for a given loader (used in error messages)\n * @returns a set of DI providers corresponding to the configured image loader\n */\nfunction createImageLoader(buildUrlFn, exampleUrls) {\n return function provideImageLoader(path) {\n if (!isValidPath(path)) {\n throwInvalidPathError(path, exampleUrls || []);\n }\n // The trailing / is stripped (if provided) to make URL construction (concatenation) easier in\n // the individual loader functions.\n path = normalizePath(path);\n const loaderFn = (config) => {\n if (isAbsoluteUrl(config.src)) {\n // Image loader functions expect an image file name (e.g. `my-image.png`)\n // or a relative path + a file name (e.g. `/a/b/c/my-image.png`) as an input,\n // so the final absolute URL can be constructed.\n // When an absolute URL is provided instead - the loader can not\n // build a final URL, thus the error is thrown to indicate that.\n throwUnexpectedAbsoluteUrlError(path, config.src);\n }\n return buildUrlFn(path, { ...config, src: normalizeSrc(config.src) });\n };\n const providers = [{ provide: IMAGE_LOADER, useValue: loaderFn }];\n return providers;\n };\n}\nfunction throwInvalidPathError(path, exampleUrls) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply a path using one of the following formats: ${exampleUrls.join(' or ')}`);\n}\nfunction throwUnexpectedAbsoluteUrlError(path, url) {\n throw new ɵRuntimeError(2959 /* RuntimeErrorCode.INVALID_LOADER_ARGUMENTS */, ngDevMode &&\n `Image loader has detected a \\`\\` tag with an invalid \\`ngSrc\\` attribute: ${url}. ` +\n `This image loader expects \\`ngSrc\\` to be a relative URL - ` +\n `however the provided value is an absolute URL. ` +\n `To fix this, provide \\`ngSrc\\` as a path relative to the base URL ` +\n `configured for this loader (\\`${path}\\`).`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Function that generates an ImageLoader for [Cloudflare Image\n * Resizing](https://developers.cloudflare.com/images/image-resizing/) and turns it into an Angular\n * provider. Note: Cloudflare has multiple image products - this provider is specifically for\n * Cloudflare Image Resizing; it will not work with Cloudflare Images or Cloudflare Polish.\n *\n * @param path Your domain name, e.g. https://mysite.com\n * @returns Provider that provides an ImageLoader function\n *\n * @publicApi\n */\nconst provideCloudflareLoader = createImageLoader(createCloudflareUrl, ngDevMode ? ['https:///cdn-cgi/image//'] : undefined);\nfunction createCloudflareUrl(path, config) {\n let params = `format=auto`;\n if (config.width) {\n params += `,width=${config.width}`;\n }\n // Cloudflare image URLs format:\n // https://developers.cloudflare.com/images/image-resizing/url-format/\n return `${path}/cdn-cgi/image/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for Cloudinary.\n */\nconst cloudinaryLoaderInfo = {\n name: 'Cloudinary',\n testUrl: isCloudinaryUrl\n};\nconst CLOUDINARY_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.cloudinary\\.com\\/.+/;\n/**\n * Tests whether a URL is from Cloudinary CDN.\n */\nfunction isCloudinaryUrl(url) {\n return CLOUDINARY_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Cloudinary and turns it into an Angular provider.\n *\n * @param path Base URL of your Cloudinary images\n * This URL should match one of the following formats:\n * https://res.cloudinary.com/mysite\n * https://mysite.cloudinary.com\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the Cloudinary loader.\n *\n * @publicApi\n */\nconst provideCloudinaryLoader = createImageLoader(createCloudinaryUrl, ngDevMode ?\n [\n 'https://res.cloudinary.com/mysite', 'https://mysite.cloudinary.com',\n 'https://subdomain.mysite.com'\n ] :\n undefined);\nfunction createCloudinaryUrl(path, config) {\n // Cloudinary image URLformat:\n // https://cloudinary.com/documentation/image_transformations#transformation_url_structure\n // Example of a Cloudinary image URL:\n // https://res.cloudinary.com/mysite/image/upload/c_scale,f_auto,q_auto,w_600/marketing/tile-topics-m.png\n let params = `f_auto,q_auto`; // sets image format and quality to \"auto\"\n if (config.width) {\n params += `,w_${config.width}`;\n }\n return `${path}/image/upload/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for ImageKit.\n */\nconst imageKitLoaderInfo = {\n name: 'ImageKit',\n testUrl: isImageKitUrl\n};\nconst IMAGE_KIT_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imagekit\\.io\\/.+/;\n/**\n * Tests whether a URL is from ImageKit CDN.\n */\nfunction isImageKitUrl(url) {\n return IMAGE_KIT_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for ImageKit and turns it into an Angular provider.\n *\n * @param path Base URL of your ImageKit images\n * This URL should match one of the following formats:\n * https://ik.imagekit.io/myaccount\n * https://subdomain.mysite.com\n * @returns Set of providers to configure the ImageKit loader.\n *\n * @publicApi\n */\nconst provideImageKitLoader = createImageLoader(createImagekitUrl, ngDevMode ? ['https://ik.imagekit.io/mysite', 'https://subdomain.mysite.com'] : undefined);\nfunction createImagekitUrl(path, config) {\n // Example of an ImageKit image URL:\n // https://ik.imagekit.io/demo/tr:w-300,h-300/medium_cafe_B1iTdD0C.jpg\n let params = `tr:q-auto`; // applies the \"auto quality\" transformation\n if (config.width) {\n params += `,w-${config.width}`;\n }\n return `${path}/${params}/${config.src}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Name and URL tester for Imgix.\n */\nconst imgixLoaderInfo = {\n name: 'Imgix',\n testUrl: isImgixUrl\n};\nconst IMGIX_LOADER_REGEX = /https?\\:\\/\\/[^\\/]+\\.imgix\\.net\\/.+/;\n/**\n * Tests whether a URL is from Imgix CDN.\n */\nfunction isImgixUrl(url) {\n return IMGIX_LOADER_REGEX.test(url);\n}\n/**\n * Function that generates an ImageLoader for Imgix and turns it into an Angular provider.\n *\n * @param path path to the desired Imgix origin,\n * e.g. https://somepath.imgix.net or https://images.mysite.com\n * @returns Set of providers to configure the Imgix loader.\n *\n * @publicApi\n */\nconst provideImgixLoader = createImageLoader(createImgixUrl, ngDevMode ? ['https://somepath.imgix.net/'] : undefined);\nfunction createImgixUrl(path, config) {\n const url = new URL(`${path}/${config.src}`);\n // This setting ensures the smallest allowable format is set.\n url.searchParams.set('auto', 'format');\n if (config.width) {\n url.searchParams.set('w', config.width.toString());\n }\n return url.href;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Assembles directive details string, useful for error messages.\nfunction imgDirectiveDetails(ngSrc, includeNgSrc = true) {\n const ngSrcInfo = includeNgSrc ? `(activated on an element with the \\`ngSrc=\"${ngSrc}\"\\`) ` : '';\n return `The NgOptimizedImage directive ${ngSrcInfo}has detected that`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Asserts that the application is in development mode. Throws an error if the application is in\n * production mode. This assert can be used to make sure that there is no dev-mode code invoked in\n * the prod mode accidentally.\n */\nfunction assertDevMode(checkName) {\n if (!ngDevMode) {\n throw new ɵRuntimeError(2958 /* RuntimeErrorCode.UNEXPECTED_DEV_MODE_CHECK_IN_PROD_MODE */, `Unexpected invocation of the ${checkName} in the prod mode. ` +\n `Please make sure that the prod mode is enabled for production builds.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Observer that detects whether an image with `NgOptimizedImage`\n * is treated as a Largest Contentful Paint (LCP) element. If so,\n * asserts that the image has the `priority` attribute.\n *\n * Note: this is a dev-mode only class and it does not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n *\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript.\n */\nclass LCPImageObserver {\n constructor() {\n // Map of full image URLs -> original `ngSrc` values.\n this.images = new Map();\n // Keep track of images for which `console.warn` was produced.\n this.alreadyWarned = new Set();\n this.window = null;\n this.observer = null;\n assertDevMode('LCP checker');\n const win = inject(DOCUMENT).defaultView;\n if (typeof win !== 'undefined' && typeof PerformanceObserver !== 'undefined') {\n this.window = win;\n this.observer = this.initPerformanceObserver();\n }\n }\n /**\n * Inits PerformanceObserver and subscribes to LCP events.\n * Based on https://web.dev/lcp/#measure-lcp-in-javascript\n */\n initPerformanceObserver() {\n const observer = new PerformanceObserver((entryList) => {\n const entries = entryList.getEntries();\n if (entries.length === 0)\n return;\n // We use the latest entry produced by the `PerformanceObserver` as the best\n // signal on which element is actually an LCP one. As an example, the first image to load on\n // a page, by virtue of being the only thing on the page so far, is often a LCP candidate\n // and gets reported by PerformanceObserver, but isn't necessarily the LCP element.\n const lcpElement = entries[entries.length - 1];\n // Cast to `any` due to missing `element` on the `LargestContentfulPaint` type of entry.\n // See https://developer.mozilla.org/en-US/docs/Web/API/LargestContentfulPaint\n const imgSrc = lcpElement.element?.src ?? '';\n // Exclude `data:` and `blob:` URLs, since they are not supported by the directive.\n if (imgSrc.startsWith('data:') || imgSrc.startsWith('blob:'))\n return;\n const imgNgSrc = this.images.get(imgSrc);\n if (imgNgSrc && !this.alreadyWarned.has(imgSrc)) {\n this.alreadyWarned.add(imgSrc);\n logMissingPriorityWarning(imgSrc);\n }\n });\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n return observer;\n }\n registerImage(rewrittenSrc, originalNgSrc) {\n if (!this.observer)\n return;\n this.images.set(getUrl(rewrittenSrc, this.window).href, originalNgSrc);\n }\n unregisterImage(rewrittenSrc) {\n if (!this.observer)\n return;\n this.images.delete(getUrl(rewrittenSrc, this.window).href);\n }\n ngOnDestroy() {\n if (!this.observer)\n return;\n this.observer.disconnect();\n this.images.clear();\n this.alreadyWarned.clear();\n }\n}\nLCPImageObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LCPImageObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLCPImageObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LCPImageObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: LCPImageObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\nfunction logMissingPriorityWarning(ngSrc) {\n const directiveDetails = imgDirectiveDetails(ngSrc);\n console.warn(ɵformatRuntimeError(2955 /* RuntimeErrorCode.LCP_IMG_MISSING_PRIORITY */, `${directiveDetails} this image is the Largest Contentful Paint (LCP) ` +\n `element but was not marked \"priority\". This image should be marked ` +\n `\"priority\" in order to prioritize its loading. ` +\n `To fix this, add the \"priority\" attribute.`));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Set of origins that are always excluded from the preconnect checks.\nconst INTERNAL_PRECONNECT_CHECK_BLOCKLIST = new Set(['localhost', '127.0.0.1', '0.0.0.0']);\n/**\n * Injection token to configure which origins should be excluded\n * from the preconnect checks. It can either be a single string or an array of strings\n * to represent a group of origins, for example:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST, useValue: 'https://your-domain.com'}\n * ```\n *\n * or:\n *\n * ```typescript\n * {provide: PRECONNECT_CHECK_BLOCKLIST,\n * useValue: ['https://your-domain-1.com', 'https://your-domain-2.com']}\n * ```\n *\n * @publicApi\n */\nconst PRECONNECT_CHECK_BLOCKLIST = new InjectionToken('PRECONNECT_CHECK_BLOCKLIST');\n/**\n * Contains the logic to detect whether an image, marked with the \"priority\" attribute\n * has a corresponding `` tag in the `document.head`.\n *\n * Note: this is a dev-mode only class, which should not appear in prod bundles,\n * thus there is no `ngDevMode` use in the code.\n */\nclass PreconnectLinkChecker {\n constructor() {\n this.document = inject(DOCUMENT);\n /**\n * Set of tags found on this page.\n * The `null` value indicates that there was no DOM query operation performed.\n */\n this.preconnectLinks = null;\n /*\n * Keep track of all already seen origin URLs to avoid repeating the same check.\n */\n this.alreadySeen = new Set();\n this.window = null;\n this.blocklist = new Set(INTERNAL_PRECONNECT_CHECK_BLOCKLIST);\n assertDevMode('preconnect link checker');\n const win = this.document.defaultView;\n if (typeof win !== 'undefined') {\n this.window = win;\n }\n const blocklist = inject(PRECONNECT_CHECK_BLOCKLIST, { optional: true });\n if (blocklist) {\n this.populateBlocklist(blocklist);\n }\n }\n populateBlocklist(origins) {\n if (Array.isArray(origins)) {\n deepForEach(origins, origin => {\n this.blocklist.add(extractHostname(origin));\n });\n }\n else {\n this.blocklist.add(extractHostname(origins));\n }\n }\n /**\n * Checks that a preconnect resource hint exists in the head fo rthe\n * given src.\n *\n * @param rewrittenSrc src formatted with loader\n * @param originalNgSrc ngSrc value\n */\n assertPreconnect(rewrittenSrc, originalNgSrc) {\n if (!this.window)\n return;\n const imgUrl = getUrl(rewrittenSrc, this.window);\n if (this.blocklist.has(imgUrl.hostname) || this.alreadySeen.has(imgUrl.origin))\n return;\n // Register this origin as seen, so we don't check it again later.\n this.alreadySeen.add(imgUrl.origin);\n if (!this.preconnectLinks) {\n // Note: we query for preconnect links only *once* and cache the results\n // for the entire lifespan of an application, since it's unlikely that the\n // list would change frequently. This allows to make sure there are no\n // performance implications of making extra DOM lookups for each image.\n this.preconnectLinks = this.queryPreconnectLinks();\n }\n if (!this.preconnectLinks.has(imgUrl.origin)) {\n console.warn(ɵformatRuntimeError(2956 /* RuntimeErrorCode.PRIORITY_IMG_MISSING_PRECONNECT_TAG */, `${imgDirectiveDetails(originalNgSrc)} there is no preconnect tag present for this ` +\n `image. Preconnecting to the origin(s) that serve priority images ensures that these ` +\n `images are delivered as soon as possible. To fix this, please add the following ` +\n `element into the of the document:\\n` +\n ` `));\n }\n }\n queryPreconnectLinks() {\n const preconnectUrls = new Set();\n const selector = 'link[rel=preconnect]';\n const links = Array.from(this.document.querySelectorAll(selector));\n for (let link of links) {\n const url = getUrl(link.href, this.window);\n preconnectUrls.add(url.origin);\n }\n return preconnectUrls;\n }\n ngOnDestroy() {\n this.preconnectLinks?.clear();\n this.alreadySeen.clear();\n }\n}\nPreconnectLinkChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreconnectLinkChecker, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreconnectLinkChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreconnectLinkChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreconnectLinkChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return []; } });\n/**\n * Invokes a callback for each element in the array. Also invokes a callback\n * recursively for each nested array.\n */\nfunction deepForEach(input, fn) {\n for (let value of input) {\n Array.isArray(value) ? deepForEach(value, fn) : fn(value);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * In SSR scenarios, a preload `` element is generated for priority images.\n * Having a large number of preload tags may negatively affect the performance,\n * so we warn developers (by throwing an error) if the number of preloaded images\n * is above a certain threshold. This const specifies this threshold.\n */\nconst DEFAULT_PRELOADED_IMAGES_LIMIT = 5;\n/**\n * Helps to keep track of priority images that already have a corresponding\n * preload tag (to avoid generating multiple preload tags with the same URL).\n *\n * This Set tracks the original src passed into the `ngSrc` input not the src after it has been\n * run through the specified `IMAGE_LOADER`.\n */\nconst PRELOADED_IMAGES = new InjectionToken('NG_OPTIMIZED_PRELOADED_IMAGES', { providedIn: 'root', factory: () => new Set() });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description Contains the logic needed to track and add preload link tags to the `` tag. It\n * will also track what images have already had preload link tags added so as to not duplicate link\n * tags.\n *\n * In dev mode this service will validate that the number of preloaded images does not exceed the\n * configured default preloaded images limit: {@link DEFAULT_PRELOADED_IMAGES_LIMIT}.\n */\nclass PreloadLinkCreator {\n constructor() {\n this.preloadedImages = inject(PRELOADED_IMAGES);\n this.document = inject(DOCUMENT);\n }\n /**\n * @description Add a preload `` to the `` of the `index.html` that is served from the\n * server while using Angular Universal and SSR to kick off image loads for high priority images.\n *\n * The `sizes` (passed in from the user) and `srcset` (parsed and formatted from `ngSrcset`)\n * properties used to set the corresponding attributes, `imagesizes` and `imagesrcset`\n * respectively, on the preload `` tag so that the correctly sized image is preloaded from\n * the CDN.\n *\n * {@link https://web.dev/preload-responsive-images/#imagesrcset-and-imagesizes}\n *\n * @param renderer The `Renderer2` passed in from the directive\n * @param src The original src of the image that is set on the `ngSrc` input.\n * @param srcset The parsed and formatted srcset created from the `ngSrcset` input\n * @param sizes The value of the `sizes` attribute passed in to the `` tag\n */\n createPreloadLinkTag(renderer, src, srcset, sizes) {\n if (ngDevMode) {\n if (this.preloadedImages.size >= DEFAULT_PRELOADED_IMAGES_LIMIT) {\n throw new ɵRuntimeError(2961 /* RuntimeErrorCode.TOO_MANY_PRELOADED_IMAGES */, ngDevMode &&\n `The \\`NgOptimizedImage\\` directive has detected that more than ` +\n `${DEFAULT_PRELOADED_IMAGES_LIMIT} images were marked as priority. ` +\n `This might negatively affect an overall performance of the page. ` +\n `To fix this, remove the \"priority\" attribute from images with less priority.`);\n }\n }\n if (this.preloadedImages.has(src)) {\n return;\n }\n this.preloadedImages.add(src);\n const preload = renderer.createElement('link');\n renderer.setAttribute(preload, 'as', 'image');\n renderer.setAttribute(preload, 'href', src);\n renderer.setAttribute(preload, 'rel', 'preload');\n renderer.setAttribute(preload, 'fetchpriority', 'high');\n if (sizes) {\n renderer.setAttribute(preload, 'imageSizes', sizes);\n }\n if (srcset) {\n renderer.setAttribute(preload, 'imageSrcset', srcset);\n }\n renderer.appendChild(this.document.head, preload);\n }\n}\nPreloadLinkCreator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreloadLinkCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPreloadLinkCreator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreloadLinkCreator, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: PreloadLinkCreator, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * When a Base64-encoded image is passed as an input to the `NgOptimizedImage` directive,\n * an error is thrown. The image content (as a string) might be very long, thus making\n * it hard to read an error message if the entire string is included. This const defines\n * the number of characters that should be included into the error message. The rest\n * of the content is truncated.\n */\nconst BASE64_IMG_MAX_LENGTH_IN_ERROR = 50;\n/**\n * RegExpr to determine whether a src in a srcset is using width descriptors.\n * Should match something like: \"100w, 200w\".\n */\nconst VALID_WIDTH_DESCRIPTOR_SRCSET = /^((\\s*\\d+w\\s*(,|$)){1,})$/;\n/**\n * RegExpr to determine whether a src in a srcset is using density descriptors.\n * Should match something like: \"1x, 2x, 50x\". Also supports decimals like \"1.5x, 1.50x\".\n */\nconst VALID_DENSITY_DESCRIPTOR_SRCSET = /^((\\s*\\d+(\\.\\d+)?x\\s*(,|$)){1,})$/;\n/**\n * Srcset values with a density descriptor higher than this value will actively\n * throw an error. Such densities are not permitted as they cause image sizes\n * to be unreasonably large and slow down LCP.\n */\nconst ABSOLUTE_SRCSET_DENSITY_CAP = 3;\n/**\n * Used only in error message text to communicate best practices, as we will\n * only throw based on the slightly more conservative ABSOLUTE_SRCSET_DENSITY_CAP.\n */\nconst RECOMMENDED_SRCSET_DENSITY_CAP = 2;\n/**\n * Used in generating automatic density-based srcsets\n */\nconst DENSITY_SRCSET_MULTIPLIERS = [1, 2];\n/**\n * Used to determine which breakpoints to use on full-width images\n */\nconst VIEWPORT_BREAKPOINT_CUTOFF = 640;\n/**\n * Used to determine whether two aspect ratios are similar in value.\n */\nconst ASPECT_RATIO_TOLERANCE = .1;\n/**\n * Used to determine whether the image has been requested at an overly\n * large size compared to the actual rendered image size (after taking\n * into account a typical device pixel ratio). In pixels.\n */\nconst OVERSIZED_IMAGE_TOLERANCE = 1000;\n/** Info about built-in loaders we can test for. */\nconst BUILT_IN_LOADERS = [imgixLoaderInfo, imageKitLoaderInfo, cloudinaryLoaderInfo];\nconst defaultConfig = {\n breakpoints: [16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n};\n/**\n * Injection token that configures the image optimized image functionality.\n *\n * @see `NgOptimizedImage`\n * @publicApi\n * @developerPreview\n */\nconst IMAGE_CONFIG = new InjectionToken('ImageConfig', { providedIn: 'root', factory: () => defaultConfig });\n/**\n * Directive that improves image loading performance by enforcing best practices.\n *\n * `NgOptimizedImage` ensures that the loading of the Largest Contentful Paint (LCP) image is\n * prioritized by:\n * - Automatically setting the `fetchpriority` attribute on the `` tag\n * - Lazy loading non-priority images by default\n * - Asserting that there is a corresponding preconnect link tag in the document head\n *\n * In addition, the directive:\n * - Generates appropriate asset URLs if a corresponding `ImageLoader` function is provided\n * - Automatically generates a srcset\n * - Requires that `width` and `height` are set\n * - Warns if `width` or `height` have been set incorrectly\n * - Warns if the image will be visually distorted when rendered\n *\n * @usageNotes\n * The `NgOptimizedImage` directive is marked as [standalone](guide/standalone-components) and can\n * be imported directly.\n *\n * Follow the steps below to enable and use the directive:\n * 1. Import it into the necessary NgModule or a standalone Component.\n * 2. Optionally provide an `ImageLoader` if you use an image hosting service.\n * 3. Update the necessary `` tags in templates and replace `src` attributes with `ngSrc`.\n * Using a `ngSrc` allows the directive to control when the `src` gets set, which triggers an image\n * download.\n *\n * Step 1: import the `NgOptimizedImage` directive.\n *\n * ```typescript\n * import { NgOptimizedImage } from '@angular/common';\n *\n * // Include it into the necessary NgModule\n * @NgModule({\n * imports: [NgOptimizedImage],\n * })\n * class AppModule {}\n *\n * // ... or a standalone Component\n * @Component({\n * standalone: true\n * imports: [NgOptimizedImage],\n * })\n * class MyStandaloneComponent {}\n * ```\n *\n * Step 2: configure a loader.\n *\n * To use the **default loader**: no additional code changes are necessary. The URL returned by the\n * generic loader will always match the value of \"src\". In other words, this loader applies no\n * transformations to the resource URL and the value of the `ngSrc` attribute will be used as is.\n *\n * To use an existing loader for a **third-party image service**: add the provider factory for your\n * chosen service to the `providers` array. In the example below, the Imgix loader is used:\n *\n * ```typescript\n * import {provideImgixLoader} from '@angular/common';\n *\n * // Call the function and add the result to the `providers` array:\n * providers: [\n * provideImgixLoader(\"https://my.base.url/\"),\n * ],\n * ```\n *\n * The `NgOptimizedImage` directive provides the following functions:\n * - `provideCloudflareLoader`\n * - `provideCloudinaryLoader`\n * - `provideImageKitLoader`\n * - `provideImgixLoader`\n *\n * If you use a different image provider, you can create a custom loader function as described\n * below.\n *\n * To use a **custom loader**: provide your loader function as a value for the `IMAGE_LOADER` DI\n * token.\n *\n * ```typescript\n * import {IMAGE_LOADER, ImageLoaderConfig} from '@angular/common';\n *\n * // Configure the loader using the `IMAGE_LOADER` token.\n * providers: [\n * {\n * provide: IMAGE_LOADER,\n * useValue: (config: ImageLoaderConfig) => {\n * return `https://example.com/${config.src}-${config.width}.jpg}`;\n * }\n * },\n * ],\n * ```\n *\n * Step 3: update `` tags in templates to use `ngSrc` instead of `src`.\n *\n * ```\n * \n * ```\n *\n * @publicApi\n */\nclass NgOptimizedImage {\n constructor() {\n this.imageLoader = inject(IMAGE_LOADER);\n this.config = processConfig(inject(IMAGE_CONFIG));\n this.renderer = inject(Renderer2);\n this.imgElement = inject(ElementRef).nativeElement;\n this.injector = inject(Injector);\n this.isServer = isPlatformServer(inject(PLATFORM_ID));\n this.preloadLinkChecker = inject(PreloadLinkCreator);\n // a LCP image observer - should be injected only in the dev mode\n this.lcpObserver = ngDevMode ? this.injector.get(LCPImageObserver) : null;\n /**\n * Calculate the rewritten `src` once and store it.\n * This is needed to avoid repetitive calculations and make sure the directive cleanup in the\n * `ngOnDestroy` does not rely on the `IMAGE_LOADER` logic (which in turn can rely on some other\n * instance that might be already destroyed).\n */\n this._renderedSrc = null;\n this._priority = false;\n this._disableOptimizedSrcset = false;\n this._fill = false;\n }\n /**\n * For responsive images: the intrinsic width of the image in pixels.\n * For fixed size images: the desired rendered width of the image in pixels.\n */\n set width(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'width');\n this._width = inputToInteger(value);\n }\n get width() {\n return this._width;\n }\n /**\n * For responsive images: the intrinsic height of the image in pixels.\n * For fixed size images: the desired rendered height of the image in pixels.* The intrinsic\n * height of the image in pixels.\n */\n set height(value) {\n ngDevMode && assertGreaterThanZero(this, value, 'height');\n this._height = inputToInteger(value);\n }\n get height() {\n return this._height;\n }\n /**\n * Indicates whether this image should have a high priority.\n */\n set priority(value) {\n this._priority = inputToBoolean(value);\n }\n get priority() {\n return this._priority;\n }\n /**\n * Disables automatic srcset generation for this image.\n */\n set disableOptimizedSrcset(value) {\n this._disableOptimizedSrcset = inputToBoolean(value);\n }\n get disableOptimizedSrcset() {\n return this._disableOptimizedSrcset;\n }\n /**\n * Sets the image to \"fill mode\", which eliminates the height/width requirement and adds\n * styles such that the image fills its containing element.\n *\n * @developerPreview\n */\n set fill(value) {\n this._fill = inputToBoolean(value);\n }\n get fill() {\n return this._fill;\n }\n /** @nodoc */\n ngOnInit() {\n if (ngDevMode) {\n assertNonEmptyInput(this, 'ngSrc', this.ngSrc);\n assertValidNgSrcset(this, this.ngSrcset);\n assertNoConflictingSrc(this);\n if (this.ngSrcset) {\n assertNoConflictingSrcset(this);\n }\n assertNotBase64Image(this);\n assertNotBlobUrl(this);\n if (this.fill) {\n assertEmptyWidthAndHeight(this);\n assertNonZeroRenderedHeight(this, this.imgElement, this.renderer);\n }\n else {\n assertNonEmptyWidthAndHeight(this);\n // Only check for distorted images when not in fill mode, where\n // images may be intentionally stretched, cropped or letterboxed.\n assertNoImageDistortion(this, this.imgElement, this.renderer);\n }\n assertValidLoadingInput(this);\n if (!this.ngSrcset) {\n assertNoComplexSizes(this);\n }\n assertNotMissingBuiltInLoader(this.ngSrc, this.imageLoader);\n if (this.priority) {\n const checker = this.injector.get(PreconnectLinkChecker);\n checker.assertPreconnect(this.getRewrittenSrc(), this.ngSrc);\n }\n else {\n // Monitor whether an image is an LCP element only in case\n // the `priority` attribute is missing. Otherwise, an image\n // has the necessary settings and no extra checks are required.\n if (this.lcpObserver !== null) {\n const ngZone = this.injector.get(NgZone);\n ngZone.runOutsideAngular(() => {\n this.lcpObserver.registerImage(this.getRewrittenSrc(), this.ngSrc);\n });\n }\n }\n }\n this.setHostAttributes();\n }\n setHostAttributes() {\n // Must set width/height explicitly in case they are bound (in which case they will\n // only be reflected and not found by the browser)\n if (this.fill) {\n if (!this.sizes) {\n this.sizes = '100vw';\n }\n }\n else {\n this.setHostAttribute('width', this.width.toString());\n this.setHostAttribute('height', this.height.toString());\n }\n this.setHostAttribute('loading', this.getLoadingBehavior());\n this.setHostAttribute('fetchpriority', this.getFetchPriority());\n // The `src` and `srcset` attributes should be set last since other attributes\n // could affect the image's loading behavior.\n const rewrittenSrc = this.getRewrittenSrc();\n this.setHostAttribute('src', rewrittenSrc);\n let rewrittenSrcset = undefined;\n if (this.sizes) {\n this.setHostAttribute('sizes', this.sizes);\n }\n if (this.ngSrcset) {\n rewrittenSrcset = this.getRewrittenSrcset();\n }\n else if (!this._disableOptimizedSrcset && !this.srcset && this.imageLoader !== noopImageLoader) {\n rewrittenSrcset = this.getAutomaticSrcset();\n }\n if (rewrittenSrcset) {\n this.setHostAttribute('srcset', rewrittenSrcset);\n }\n if (this.isServer && this.priority) {\n this.preloadLinkChecker.createPreloadLinkTag(this.renderer, rewrittenSrc, rewrittenSrcset, this.sizes);\n }\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (ngDevMode) {\n assertNoPostInitInputChange(this, changes, [\n 'ngSrc',\n 'ngSrcset',\n 'width',\n 'height',\n 'priority',\n 'fill',\n 'loading',\n 'sizes',\n 'disableOptimizedSrcset',\n ]);\n }\n }\n getLoadingBehavior() {\n if (!this.priority && this.loading !== undefined) {\n return this.loading;\n }\n return this.priority ? 'eager' : 'lazy';\n }\n getFetchPriority() {\n return this.priority ? 'high' : 'auto';\n }\n getRewrittenSrc() {\n // ImageLoaderConfig supports setting a width property. However, we're not setting width here\n // because if the developer uses rendered width instead of intrinsic width in the HTML width\n // attribute, the image requested may be too small for 2x+ screens.\n if (!this._renderedSrc) {\n const imgConfig = { src: this.ngSrc };\n // Cache calculated image src to reuse it later in the code.\n this._renderedSrc = this.imageLoader(imgConfig);\n }\n return this._renderedSrc;\n }\n getRewrittenSrcset() {\n const widthSrcSet = VALID_WIDTH_DESCRIPTOR_SRCSET.test(this.ngSrcset);\n const finalSrcs = this.ngSrcset.split(',').filter(src => src !== '').map(srcStr => {\n srcStr = srcStr.trim();\n const width = widthSrcSet ? parseFloat(srcStr) : parseFloat(srcStr) * this.width;\n return `${this.imageLoader({ src: this.ngSrc, width })} ${srcStr}`;\n });\n return finalSrcs.join(', ');\n }\n getAutomaticSrcset() {\n if (this.sizes) {\n return this.getResponsiveSrcset();\n }\n else {\n return this.getFixedSrcset();\n }\n }\n getResponsiveSrcset() {\n const { breakpoints } = this.config;\n let filteredBreakpoints = breakpoints;\n if (this.sizes?.trim() === '100vw') {\n // Since this is a full-screen-width image, our srcset only needs to include\n // breakpoints with full viewport widths.\n filteredBreakpoints = breakpoints.filter(bp => bp >= VIEWPORT_BREAKPOINT_CUTOFF);\n }\n const finalSrcs = filteredBreakpoints.map(bp => `${this.imageLoader({ src: this.ngSrc, width: bp })} ${bp}w`);\n return finalSrcs.join(', ');\n }\n getFixedSrcset() {\n const finalSrcs = DENSITY_SRCSET_MULTIPLIERS.map(multiplier => `${this.imageLoader({ src: this.ngSrc, width: this.width * multiplier })} ${multiplier}x`);\n return finalSrcs.join(', ');\n }\n /** @nodoc */\n ngOnDestroy() {\n if (ngDevMode) {\n if (!this.priority && this._renderedSrc !== null && this.lcpObserver !== null) {\n this.lcpObserver.unregisterImage(this._renderedSrc);\n }\n }\n }\n setHostAttribute(name, value) {\n this.renderer.setAttribute(this.imgElement, name, value);\n }\n}\nNgOptimizedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgOptimizedImage, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgOptimizedImage.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.0.2\", type: NgOptimizedImage, isStandalone: true, selector: \"img[ngSrc]\", inputs: { ngSrc: \"ngSrc\", ngSrcset: \"ngSrcset\", sizes: \"sizes\", width: \"width\", height: \"height\", loading: \"loading\", priority: \"priority\", disableOptimizedSrcset: \"disableOptimizedSrcset\", fill: \"fill\", src: \"src\", srcset: \"srcset\" }, host: { properties: { \"style.position\": \"fill ? \\\"absolute\\\" : null\", \"style.width\": \"fill ? \\\"100%\\\" : null\", \"style.height\": \"fill ? \\\"100%\\\" : null\", \"style.inset\": \"fill ? \\\"0px\\\" : null\" } }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: NgOptimizedImage, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n selector: 'img[ngSrc]',\n host: {\n '[style.position]': 'fill ? \"absolute\" : null',\n '[style.width]': 'fill ? \"100%\" : null',\n '[style.height]': 'fill ? \"100%\" : null',\n '[style.inset]': 'fill ? \"0px\" : null'\n }\n }]\n }], propDecorators: { ngSrc: [{\n type: Input\n }], ngSrcset: [{\n type: Input\n }], sizes: [{\n type: Input\n }], width: [{\n type: Input\n }], height: [{\n type: Input\n }], loading: [{\n type: Input\n }], priority: [{\n type: Input\n }], disableOptimizedSrcset: [{\n type: Input\n }], fill: [{\n type: Input\n }], src: [{\n type: Input\n }], srcset: [{\n type: Input\n }] } });\n/***** Helpers *****/\n/**\n * Convert input value to integer.\n */\nfunction inputToInteger(value) {\n return typeof value === 'string' ? parseInt(value, 10) : value;\n}\n/**\n * Convert input value to boolean.\n */\nfunction inputToBoolean(value) {\n return value != null && `${value}` !== 'false';\n}\n/**\n * Sorts provided config breakpoints and uses defaults.\n */\nfunction processConfig(config) {\n let sortedBreakpoints = {};\n if (config.breakpoints) {\n sortedBreakpoints.breakpoints = config.breakpoints.sort((a, b) => a - b);\n }\n return Object.assign({}, defaultConfig, config, sortedBreakpoints);\n}\n/***** Assert functions *****/\n/**\n * Verifies that there is no `src` set on a host element.\n */\nfunction assertNoConflictingSrc(dir) {\n if (dir.src) {\n throw new ɵRuntimeError(2950 /* RuntimeErrorCode.UNEXPECTED_SRC_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`src\\` and \\`ngSrc\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`src\\` itself based on the value of \\`ngSrc\\`. ` +\n `To fix this, please remove the \\`src\\` attribute.`);\n }\n}\n/**\n * Verifies that there is no `srcset` set on a host element.\n */\nfunction assertNoConflictingSrcset(dir) {\n if (dir.srcset) {\n throw new ɵRuntimeError(2951 /* RuntimeErrorCode.UNEXPECTED_SRCSET_ATTR */, `${imgDirectiveDetails(dir.ngSrc)} both \\`srcset\\` and \\`ngSrcset\\` have been set. ` +\n `Supplying both of these attributes breaks lazy loading. ` +\n `The NgOptimizedImage directive sets \\`srcset\\` itself based on the value of ` +\n `\\`ngSrcset\\`. To fix this, please remove the \\`srcset\\` attribute.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Base64-encoded image.\n */\nfunction assertNotBase64Image(dir) {\n let ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('data:')) {\n if (ngSrc.length > BASE64_IMG_MAX_LENGTH_IN_ERROR) {\n ngSrc = ngSrc.substring(0, BASE64_IMG_MAX_LENGTH_IN_ERROR) + '...';\n }\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`ngSrc\\` is a Base64-encoded string ` +\n `(${ngSrc}). NgOptimizedImage does not support Base64-encoded strings. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a standard \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the 'sizes' only includes responsive values.\n */\nfunction assertNoComplexSizes(dir) {\n let sizes = dir.sizes;\n if (sizes?.match(/((\\)|,)\\s|^)\\d+px/)) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc, false)} \\`sizes\\` was set to a string including ` +\n `pixel values. For automatic \\`srcset\\` generation, \\`sizes\\` must only include responsive ` +\n `values, such as \\`sizes=\"50vw\"\\` or \\`sizes=\"(min-width: 768px) 50vw, 100vw\"\\`. ` +\n `To fix this, modify the \\`sizes\\` attribute, or provide your own \\`ngSrcset\\` value directly.`);\n }\n}\n/**\n * Verifies that the `ngSrc` is not a Blob URL.\n */\nfunction assertNotBlobUrl(dir) {\n const ngSrc = dir.ngSrc.trim();\n if (ngSrc.startsWith('blob:')) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrc\\` was set to a blob URL (${ngSrc}). ` +\n `Blob URLs are not supported by the NgOptimizedImage directive. ` +\n `To fix this, disable the NgOptimizedImage directive for this element ` +\n `by removing \\`ngSrc\\` and using a regular \\`src\\` attribute instead.`);\n }\n}\n/**\n * Verifies that the input is set to a non-empty string.\n */\nfunction assertNonEmptyInput(dir, name, value) {\n const isString = typeof value === 'string';\n const isEmptyString = isString && value.trim() === '';\n if (!isString || isEmptyString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${name}\\` has an invalid value ` +\n `(\\`${value}\\`). To fix this, change the value to a non-empty string.`);\n }\n}\n/**\n * Verifies that the `ngSrcset` is in a valid format, e.g. \"100w, 200w\" or \"1x, 2x\".\n */\nfunction assertValidNgSrcset(dir, value) {\n if (value == null)\n return;\n assertNonEmptyInput(dir, 'ngSrcset', value);\n const stringVal = value;\n const isValidWidthDescriptor = VALID_WIDTH_DESCRIPTOR_SRCSET.test(stringVal);\n const isValidDensityDescriptor = VALID_DENSITY_DESCRIPTOR_SRCSET.test(stringVal);\n if (isValidDensityDescriptor) {\n assertUnderDensityCap(dir, stringVal);\n }\n const isValidSrcset = isValidWidthDescriptor || isValidDensityDescriptor;\n if (!isValidSrcset) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`ngSrcset\\` has an invalid value (\\`${value}\\`). ` +\n `To fix this, supply \\`ngSrcset\\` using a comma-separated list of one or more width ` +\n `descriptors (e.g. \"100w, 200w\") or density descriptors (e.g. \"1x, 2x\").`);\n }\n}\nfunction assertUnderDensityCap(dir, value) {\n const underDensityCap = value.split(',').every(num => num === '' || parseFloat(num) <= ABSOLUTE_SRCSET_DENSITY_CAP);\n if (!underDensityCap) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`ngSrcset\\` contains an unsupported image density:` +\n `\\`${value}\\`. NgOptimizedImage generally recommends a max image density of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}x but supports image densities up to ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x. The human eye cannot distinguish between image densities ` +\n `greater than ${RECOMMENDED_SRCSET_DENSITY_CAP}x - which makes them unnecessary for ` +\n `most use cases. Images that will be pinch-zoomed are typically the primary use case for ` +\n `${ABSOLUTE_SRCSET_DENSITY_CAP}x images. Please remove the high density descriptor and try again.`);\n }\n}\n/**\n * Creates a `RuntimeError` instance to represent a situation when an input is set after\n * the directive has initialized.\n */\nfunction postInitInputChangeError(dir, inputName) {\n let reason;\n if (inputName === 'width' || inputName === 'height') {\n reason = `Changing \\`${inputName}\\` may result in different attribute value ` +\n `applied to the underlying image element and cause layout shifts on a page.`;\n }\n else {\n reason = `Changing the \\`${inputName}\\` would have no effect on the underlying ` +\n `image element, because the resource loading has already occurred.`;\n }\n return new ɵRuntimeError(2953 /* RuntimeErrorCode.UNEXPECTED_INPUT_CHANGE */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` was updated after initialization. ` +\n `The NgOptimizedImage directive will not react to this input change. ${reason} ` +\n `To fix this, either switch \\`${inputName}\\` to a static value ` +\n `or wrap the image element in an *ngIf that is gated on the necessary value.`);\n}\n/**\n * Verify that none of the listed inputs has changed.\n */\nfunction assertNoPostInitInputChange(dir, changes, inputs) {\n inputs.forEach(input => {\n const isUpdated = changes.hasOwnProperty(input);\n if (isUpdated && !changes[input].isFirstChange()) {\n if (input === 'ngSrc') {\n // When the `ngSrc` input changes, we detect that only in the\n // `ngOnChanges` hook, thus the `ngSrc` is already set. We use\n // `ngSrc` in the error message, so we use a previous value, but\n // not the updated one in it.\n dir = { ngSrc: changes[input].previousValue };\n }\n throw postInitInputChangeError(dir, input);\n }\n });\n}\n/**\n * Verifies that a specified input is a number greater than 0.\n */\nfunction assertGreaterThanZero(dir, inputValue, inputName) {\n const validNumber = typeof inputValue === 'number' && inputValue > 0;\n const validString = typeof inputValue === 'string' && /^\\d+$/.test(inputValue.trim()) && parseInt(inputValue) > 0;\n if (!validNumber && !validString) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} \\`${inputName}\\` has an invalid value ` +\n `(\\`${inputValue}\\`). To fix this, provide \\`${inputName}\\` ` +\n `as a number greater than 0.`);\n }\n}\n/**\n * Verifies that the rendered image is not visually distorted. Effectively this is checking:\n * - Whether the \"width\" and \"height\" attributes reflect the actual dimensions of the image.\n * - Whether image styling is \"correct\" (see below for a longer explanation).\n */\nfunction assertNoImageDistortion(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n // TODO: `clientWidth`, `clientHeight`, `naturalWidth` and `naturalHeight`\n // are typed as number, but we run `parseFloat` (which accepts strings only).\n // Verify whether `parseFloat` is needed in the cases below.\n const renderedWidth = parseFloat(img.clientWidth);\n const renderedHeight = parseFloat(img.clientHeight);\n const renderedAspectRatio = renderedWidth / renderedHeight;\n const nonZeroRenderedDimensions = renderedWidth !== 0 && renderedHeight !== 0;\n const intrinsicWidth = parseFloat(img.naturalWidth);\n const intrinsicHeight = parseFloat(img.naturalHeight);\n const intrinsicAspectRatio = intrinsicWidth / intrinsicHeight;\n const suppliedWidth = dir.width;\n const suppliedHeight = dir.height;\n const suppliedAspectRatio = suppliedWidth / suppliedHeight;\n // Tolerance is used to account for the impact of subpixel rendering.\n // Due to subpixel rendering, the rendered, intrinsic, and supplied\n // aspect ratios of a correctly configured image may not exactly match.\n // For example, a `width=4030 height=3020` image might have a rendered\n // size of \"1062w, 796.48h\". (An aspect ratio of 1.334... vs. 1.333...)\n const inaccurateDimensions = Math.abs(suppliedAspectRatio - intrinsicAspectRatio) > ASPECT_RATIO_TOLERANCE;\n const stylingDistortion = nonZeroRenderedDimensions &&\n Math.abs(intrinsicAspectRatio - renderedAspectRatio) > ASPECT_RATIO_TOLERANCE;\n if (inaccurateDimensions) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the image does not match ` +\n `the aspect ratio indicated by the width and height attributes. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nSupplied width and height attributes: ` +\n `${suppliedWidth}w x ${suppliedHeight}h (aspect-ratio: ${suppliedAspectRatio}). ` +\n `\\nTo fix this, update the width and height attributes.`));\n }\n else if (stylingDistortion) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the aspect ratio of the rendered image ` +\n `does not match the image's intrinsic aspect ratio. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h ` +\n `(aspect-ratio: ${intrinsicAspectRatio}). \\nRendered image size: ` +\n `${renderedWidth}w x ${renderedHeight}h (aspect-ratio: ` +\n `${renderedAspectRatio}). \\nThis issue can occur if \"width\" and \"height\" ` +\n `attributes are added to an image without updating the corresponding ` +\n `image styling. To fix this, adjust image styling. In most cases, ` +\n `adding \"height: auto\" or \"width: auto\" to the image styling will fix ` +\n `this issue.`));\n }\n else if (!dir.ngSrcset && nonZeroRenderedDimensions) {\n // If `ngSrcset` hasn't been set, sanity check the intrinsic size.\n const recommendedWidth = RECOMMENDED_SRCSET_DENSITY_CAP * renderedWidth;\n const recommendedHeight = RECOMMENDED_SRCSET_DENSITY_CAP * renderedHeight;\n const oversizedWidth = (intrinsicWidth - recommendedWidth) >= OVERSIZED_IMAGE_TOLERANCE;\n const oversizedHeight = (intrinsicHeight - recommendedHeight) >= OVERSIZED_IMAGE_TOLERANCE;\n if (oversizedWidth || oversizedHeight) {\n console.warn(ɵformatRuntimeError(2960 /* RuntimeErrorCode.OVERSIZED_IMAGE */, `${imgDirectiveDetails(dir.ngSrc)} the intrinsic image is significantly ` +\n `larger than necessary. ` +\n `\\nRendered image size: ${renderedWidth}w x ${renderedHeight}h. ` +\n `\\nIntrinsic image size: ${intrinsicWidth}w x ${intrinsicHeight}h. ` +\n `\\nRecommended intrinsic image size: ${recommendedWidth}w x ${recommendedHeight}h. ` +\n `\\nNote: Recommended intrinsic image size is calculated assuming a maximum DPR of ` +\n `${RECOMMENDED_SRCSET_DENSITY_CAP}. To improve loading time, resize the image ` +\n `or consider using the \"ngSrcset\" and \"sizes\" attributes.`));\n }\n }\n });\n}\n/**\n * Verifies that a specified input is set.\n */\nfunction assertNonEmptyWidthAndHeight(dir) {\n let missingAttributes = [];\n if (dir.width === undefined)\n missingAttributes.push('width');\n if (dir.height === undefined)\n missingAttributes.push('height');\n if (missingAttributes.length > 0) {\n throw new ɵRuntimeError(2954 /* RuntimeErrorCode.REQUIRED_INPUT_MISSING */, `${imgDirectiveDetails(dir.ngSrc)} these required attributes ` +\n `are missing: ${missingAttributes.map(attr => `\"${attr}\"`).join(', ')}. ` +\n `Including \"width\" and \"height\" attributes will prevent image-related layout shifts. ` +\n `To fix this, include \"width\" and \"height\" attributes on the image tag or turn on ` +\n `\"fill\" mode with the \\`fill\\` attribute.`);\n }\n}\n/**\n * Verifies that width and height are not set. Used in fill mode, where those attributes don't make\n * sense.\n */\nfunction assertEmptyWidthAndHeight(dir) {\n if (dir.width || dir.height) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the attributes \\`height\\` and/or \\`width\\` are present ` +\n `along with the \\`fill\\` attribute. Because \\`fill\\` mode causes an image to fill its containing ` +\n `element, the size attributes have no effect and should be removed.`);\n }\n}\n/**\n * Verifies that the rendered image has a nonzero height. If the image is in fill mode, provides\n * guidance that this can be caused by the containing element's CSS position property.\n */\nfunction assertNonZeroRenderedHeight(dir, img, renderer) {\n const removeListenerFn = renderer.listen(img, 'load', () => {\n removeListenerFn();\n const renderedHeight = parseFloat(img.clientHeight);\n if (dir.fill && renderedHeight === 0) {\n console.warn(ɵformatRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the height of the fill-mode image is zero. ` +\n `This is likely because the containing element does not have the CSS 'position' ` +\n `property set to one of the following: \"relative\", \"fixed\", or \"absolute\". ` +\n `To fix this problem, make sure the container element has the CSS 'position' ` +\n `property defined and the height of the element is not zero.`));\n }\n });\n}\n/**\n * Verifies that the `loading` attribute is set to a valid input &\n * is not used on priority images.\n */\nfunction assertValidLoadingInput(dir) {\n if (dir.loading && dir.priority) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `was used on an image that was marked \"priority\". ` +\n `Setting \\`loading\\` on priority images is not allowed ` +\n `because these images will always be eagerly loaded. ` +\n `To fix this, remove the “loading” attribute from the priority image.`);\n }\n const validInputs = ['auto', 'eager', 'lazy'];\n if (typeof dir.loading === 'string' && !validInputs.includes(dir.loading)) {\n throw new ɵRuntimeError(2952 /* RuntimeErrorCode.INVALID_INPUT */, `${imgDirectiveDetails(dir.ngSrc)} the \\`loading\\` attribute ` +\n `has an invalid value (\\`${dir.loading}\\`). ` +\n `To fix this, provide a valid value (\"lazy\", \"eager\", or \"auto\").`);\n }\n}\n/**\n * Warns if NOT using a loader (falling back to the generic loader) and\n * the image appears to be hosted on one of the image CDNs for which\n * we do have a built-in image loader. Suggests switching to the\n * built-in loader.\n *\n * @param ngSrc Value of the ngSrc attribute\n * @param imageLoader ImageLoader provided\n */\nfunction assertNotMissingBuiltInLoader(ngSrc, imageLoader) {\n if (imageLoader === noopImageLoader) {\n let builtInLoaderName = '';\n for (const loader of BUILT_IN_LOADERS) {\n if (loader.testUrl(ngSrc)) {\n builtInLoaderName = loader.name;\n break;\n }\n }\n if (builtInLoaderName) {\n console.warn(ɵformatRuntimeError(2962 /* RuntimeErrorCode.MISSING_BUILTIN_LOADER */, `NgOptimizedImage: It looks like your images may be hosted on the ` +\n `${builtInLoaderName} CDN, but your app is not using Angular's ` +\n `built-in loader for that CDN. We recommend switching to use ` +\n `the built-in by calling \\`provide${builtInLoaderName}Loader()\\` ` +\n `in your \\`providers\\` and passing it your instance's base URL. ` +\n `If you don't want to use the built-in loader, define a custom ` +\n `loader function using IMAGE_LOADER to silence this warning.`));\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_OPTIONS, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, IMAGE_CONFIG, IMAGE_LOADER, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf as NgFor, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgOptimizedImage, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PRECONNECT_CHECK_BLOCKLIST, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, provideCloudflareLoader, provideCloudinaryLoader, provideImageKitLoader, provideImgixLoader, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v15.0.2\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, inject, Inject, PLATFORM_ID, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertValidHeaders(headers);\n }\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or override for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n/**\n * Verifies that the headers object has the right shape: the values\n * must be either strings or arrays. Throws an error if an invalid\n * header value is present.\n */\nfunction assertValidHeaders(headers) {\n for (const [key, value] of Object.entries(headers)) {\n if (typeof value !== 'string' && !Array.isArray(value)) {\n throw new Error(`Unexpected value of the \\`${key}\\` header provided. ` +\n `Expecting either a string or an array, but got: \\`${value}\\`.`);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n // convert the values to strings\n const values = Array.isArray(value) ? value.map(valueToString) : [valueToString(value)];\n this.map.set(key, values);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = update.context ?? this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* HttpStatusCode.Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction interceptorChainEndFn(req, finalHandlerFn) {\n return finalHandlerFn(req);\n}\n/**\n * Constructs a `ChainedInterceptorFn` which adapts a legacy `HttpInterceptor` to the\n * `ChainedInterceptorFn` interface.\n */\nfunction adaptLegacyInterceptorToChain(chainTailFn, interceptor) {\n return (initialRequest, finalHandlerFn) => interceptor.intercept(initialRequest, {\n handle: (downstreamRequest) => chainTailFn(downstreamRequest, finalHandlerFn),\n });\n}\n/**\n * Constructs a `ChainedInterceptorFn` which wraps and invokes a functional interceptor in the given\n * injector.\n */\nfunction chainedInterceptorFn(chainTailFn, interceptorFn, injector) {\n // clang-format off\n return (initialRequest, finalHandlerFn) => injector.runInContext(() => interceptorFn(initialRequest, downstreamRequest => chainTailFn(downstreamRequest, finalHandlerFn)));\n // clang-format on\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\n/**\n * A multi-provided token of `HttpInterceptorFn`s.\n */\nconst HTTP_INTERCEPTOR_FNS = new InjectionToken('HTTP_INTERCEPTOR_FNS');\n/**\n * Creates an `HttpInterceptorFn` which lazily initializes an interceptor chain from the legacy\n * class-based interceptors and runs the request through it.\n */\nfunction legacyInterceptorFnFactory() {\n let chain = null;\n return (req, handler) => {\n if (chain === null) {\n const interceptors = inject(HTTP_INTERCEPTORS, { optional: true }) ?? [];\n // Note: interceptors are wrapped right-to-left so that final execution order is\n // left-to-right. That is, if `interceptors` is the array `[a, b, c]`, we want to\n // produce a chain that is conceptually `c(b(a(end)))`, which we build from the inside\n // out.\n chain = interceptors.reduceRight(adaptLegacyInterceptorToChain, interceptorChainEndFn);\n }\n return chain(req, handler);\n };\n}\nclass HttpInterceptorHandler extends HttpHandler {\n constructor(backend, injector) {\n super();\n this.backend = backend;\n this.injector = injector;\n this.chain = null;\n }\n handle(initialRequest) {\n if (this.chain === null) {\n const dedupedInterceptorFns = Array.from(new Set(this.injector.get(HTTP_INTERCEPTOR_FNS)));\n // Note: interceptors are wrapped right-to-left so that final execution order is\n // left-to-right. That is, if `dedupedInterceptorFns` is the array `[a, b, c]`, we want to\n // produce a chain that is conceptually `c(b(a(end)))`, which we build from the inside\n // out.\n this.chain = dedupedInterceptorFns.reduceRight((nextSequencedFn, interceptorFn) => chainedInterceptorFn(nextSequencedFn, interceptorFn, this.injector), interceptorChainEndFn);\n }\n return this.chain(initialRequest, downstreamRequest => this.backend.handle(downstreamRequest));\n }\n}\nHttpInterceptorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpInterceptorHandler, deps: [{ token: HttpBackend }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpInterceptorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpInterceptorHandler });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.2\", ngImport: i0, type: HttpInterceptorHandler, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpBackend }, { type: i0.EnvironmentInjector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending